idmtools.entities.iworkflow_item module

Defines our IWorkflowItem interface.

Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.

class idmtools.entities.iworkflow_item.IWorkflowItem(_uid: uuid.UUID = None, _IItem__pre_creation_hooks: typing.List[typing.Callable[[IItem, IPlatform], None]] = <factory>, _IItem__post_creation_hooks: typing.List[typing.Callable[[IItem, IPlatform], None]] = <factory>, platform_id: uuid.UUID = None, _platform: IPlatform = None, parent_id: uuid.UUID = None, _parent: IEntity = None, status: idmtools.core.enums.EntityStatus = None, tags: typing.Dict[str, typing.Any] = <factory>, _platform_object: typing.Any = None, _IRunnableEntity__pre_run_hooks: typing.List[typing.Callable[[IRunnableEntity, IPlatform], None]] = <factory>, _IRunnableEntity__post_run_hooks: typing.List[typing.Callable[[IRunnableEntity, IPlatform], None]] = <factory>, name: str = None, assets: idmtools.assets.asset_collection.AssetCollection = <factory>, item_name: dataclasses.InitVar = <property object>, asset_collection_id: dataclasses.InitVar = <property object>, transient_assets: idmtools.assets.asset_collection.AssetCollection = <factory>, asset_files: dataclasses.InitVar = <property object>, user_files: dataclasses.InitVar = <property object>, task: idmtools.entities.itask.ITask = None, related_experiments: list = <factory>, related_simulations: list = <factory>, related_suites: list = <factory>, related_work_items: list = <factory>, related_asset_collections: list = <factory>, work_item_type: str = None)

Bases: idmtools.core.interfaces.iassets_enabled.IAssetsEnabled, idmtools.core.interfaces.inamed_entity.INamedEntity, idmtools.core.interfaces.irunnable_entity.IRunnableEntity, abc.ABC

Interface of idmtools work item.

name: str = None

Name of the workflow step

tags: Dict[str, Any]

Tags associated with the work item

transient_assets: idmtools.assets.asset_collection.AssetCollection

Common Assets for the workitem

task: idmtools.entities.itask.ITask = None
related_experiments: list
related_simulations: list
related_suites: list
related_work_items: list
related_asset_collections: list
work_item_type: str = None
item_type: ItemType = 'WorkItem'

Item Type(Experiment, Suite, Asset, etc)

gather_assets() NoReturn

Function called at runtime to gather all assets in the collection.

add_file(af)

Methods used to add new file.

Parameters:

af – file to add

Returns: None

clear_user_files()

Clear all existing user files.

Returns: None

pre_creation(platform: IPlatform) None

Called before the actual creation of the entity.

to_dict() Dict

Convert IWorkflowItem to a dictionary.

Returns:

Dictionary of WorkflowItem

__init__(_uid: uuid.UUID = None, _IItem__pre_creation_hooks: typing.List[typing.Callable[[IItem, IPlatform], None]] = <factory>, _IItem__post_creation_hooks: typing.List[typing.Callable[[IItem, IPlatform], None]] = <factory>, platform_id: uuid.UUID = None, _platform: IPlatform = None, parent_id: uuid.UUID = None, _parent: IEntity = None, status: idmtools.core.enums.EntityStatus = None, tags: typing.Dict[str, typing.Any] = <factory>, _platform_object: typing.Any = None, _IRunnableEntity__pre_run_hooks: typing.List[typing.Callable[[IRunnableEntity, IPlatform], None]] = <factory>, _IRunnableEntity__post_run_hooks: typing.List[typing.Callable[[IRunnableEntity, IPlatform], None]] = <factory>, name: str = None, assets: idmtools.assets.asset_collection.AssetCollection = <factory>, item_name: dataclasses.InitVar = <property object>, asset_collection_id: dataclasses.InitVar = <property object>, transient_assets: idmtools.assets.asset_collection.AssetCollection = <factory>, asset_files: dataclasses.InitVar = <property object>, user_files: dataclasses.InitVar = <property object>, task: idmtools.entities.itask.ITask = None, related_experiments: list = <factory>, related_simulations: list = <factory>, related_suites: list = <factory>, related_work_items: list = <factory>, related_asset_collections: list = <factory>, work_item_type: str = None) None
property asset_collection_id: uuid.UUID

Legacy name. Set assets now

property asset_files: idmtools.assets.file_list.FileList

Legacy var. Going forward use assets

property item_name

Legacy name for workflow items

property user_files: idmtools.assets.file_list.FileList

Legacy var. Going forward use assets