def create( self, name: str = None, description: str = None, tags: Union[str, Sequence[str]] = None, content: Union[str, Dict, V1Operation] = None, ): """Creates a new run based on the data passed. N.B. Create methods are only useful if you want to create a run programmatically, if you run a component/operation from the CLI/UI an instance will be created automatically. This is a generic create function, you can check other methods for creating runs: * from yaml: `create_from_polyaxonfile` * from url: `create_from_url` * from hub: `create_from_hub` > Note that if you don't pass `content`, the creation will pass, and the run will be marked as non-managed. [Run API](/docs/api/#operation/CreateRun) Args: name: str, optional, it will override the name in the operation if provided. description: str, optional, it will override the description in the operation if provided. tags: str or List[str], optional, list of tags, it will override the tags in the operation if provided. content: str or Dict or V1Operation, optional. Returns: V1Run, run instance from the response. """ is_managed = True if not content: is_managed = False elif not isinstance(content, (str, Mapping, V1Operation)): raise PolyaxonClientException( "Received an invalid content: {}".format(content) ) if content: if isinstance(content, Mapping): content = V1Operation.from_dict(content) content = ( content if isinstance(content, str) else content.to_dict(dump=True) ) data = polyaxon_sdk.V1OperationBody( name=name, description=description, tags=tags, content=content, is_managed=is_managed, ) self._create(data=data, async_req=False) self._post_create() return self.run_data
def create( self, name: str = None, description: str = None, tags: Union[str, Sequence[str]] = None, content: Union[str, Dict, V1Operation] = None, ): """Creates a new run based on the data passed. This is a generic create function, you can check other methods for creating runs: * from yaml * from hub * from url Note that if you don't pass data, the creation will pass, and the run will be marked as non-managed. [Run API](/docs/api/#operation/CreateRun) Args: name: str, optional, name note it will override the name in the operation if available. description: str, optional, description note it will override the description in the operation if available. tags: str or List[str], optional, list of tags, note it will override the tags in the operation if available. content: str or Dict or V1Operation, optional. Returns: V1Run, run instance from the response. """ is_managed = True if not content: is_managed = False elif not isinstance(content, (str, Mapping, V1Operation)): raise PolyaxonClientException( "Received an invalid content: {}".format(content)) if content: if isinstance(content, Mapping): content = V1Operation.from_dict(content) content = (content if isinstance(content, str) else content.to_dict(dump=True)) data = polyaxon_sdk.V1OperationBody( name=name, description=description, tags=tags, content=content, is_managed=is_managed, ) self._create(data=data, async_req=False) self._post_create()