/AWS1/IF_OMX=>CREATEWORKFLOW()
¶
About CreateWorkflow¶
Creates a private workflow. Before you create a private workflow, you must create and configure these required resources:
-
Workflow definition files: Define your workflow in one or more workflow definition files, written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format.
-
(Optional) Parameter template: You can create a parameter template file that defines the run parameters, or Amazon Web Services HealthOmics can generate the parameter template for you.
-
ECR container images: Create container images for the workflow in a private ECR repository, or synchronize images from a supported upstream registry with your Amazon ECR private repository.
-
(Optional) Sentieon licenses: Request a Sentieon license if using the Sentieon software in a private workflow.
For more information, see Creating or updating a private workflow in Amazon Web Services HealthOmics in the Amazon Web Services HealthOmics User Guide.
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_requestid
TYPE /AWS1/OMXWORKFLOWREQUESTID
/AWS1/OMXWORKFLOWREQUESTID
¶
An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.
Optional arguments:¶
iv_name
TYPE /AWS1/OMXWORKFLOWNAME
/AWS1/OMXWORKFLOWNAME
¶
Name (optional but highly recommended) for the workflow to locate relevant information in the CloudWatch logs and Amazon Web Services HealthOmics console.
iv_description
TYPE /AWS1/OMXWORKFLOWDESCRIPTION
/AWS1/OMXWORKFLOWDESCRIPTION
¶
A description for the workflow.
iv_engine
TYPE /AWS1/OMXWORKFLOWENGINE
/AWS1/OMXWORKFLOWENGINE
¶
The workflow engine for the workflow. This is only required if you have workflow definition files from more than one engine in your zip file. Otherwise, the service can detect the engine automatically from your workflow definition.
iv_definitionzip
TYPE /AWS1/OMXBLOB
/AWS1/OMXBLOB
¶
A ZIP archive containing the main workflow definition file and dependencies that it imports for the workflow. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see Workflow definition requirements in the Amazon Web Services HealthOmics User Guide.
iv_definitionuri
TYPE /AWS1/OMXWORKFLOWDEFINITION
/AWS1/OMXWORKFLOWDEFINITION
¶
The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.
iv_main
TYPE /AWS1/OMXWORKFLOWMAIN
/AWS1/OMXWORKFLOWMAIN
¶
The path of the main definition file for the workflow. This parameter is not required if the ZIP archive contains only one workflow definition file, or if the main definition file is named “main”. An example path is:
workflow-definition/main-file.wdl
.
it_parametertemplate
TYPE /AWS1/CL_OMXWORKFLOWPARAMETER=>TT_WORKFLOWPARAMETERTEMPLATE
TT_WORKFLOWPARAMETERTEMPLATE
¶
A parameter template for the workflow. If this field is blank, Amazon Web Services HealthOmics will automatically parse the parameter template values from your workflow definition file. To override these service generated default values, provide a parameter template. To view an example of a parameter template, see Parameter template files in the Amazon Web Services HealthOmics User Guide.
iv_storagecapacity
TYPE /AWS1/OMXINTEGER
/AWS1/OMXINTEGER
¶
The default static storage capacity (in gibibytes) for runs that use this workflow or workflow version. The
storageCapacity
can be overwritten at run time. The storage capacity is not required for runs with aDYNAMIC
storage type.
it_tags
TYPE /AWS1/CL_OMXTAGMAP_W=>TT_TAGMAP
TT_TAGMAP
¶
Tags for the workflow. You can define up to 50 tags for the workflow. For more information, see Adding a tag in the Amazon Web Services HealthOmics User Guide.
iv_accelerators
TYPE /AWS1/OMXACCELERATORS
/AWS1/OMXACCELERATORS
¶
The computational accelerator specified to run the workflow.
iv_storagetype
TYPE /AWS1/OMXSTORAGETYPE
/AWS1/OMXSTORAGETYPE
¶
The default storage type for runs that use this workflow. The
storageType
can be overridden at run time.DYNAMIC
storage dynamically scales the storage up or down, based on file system utilization.STATIC
storage allocates a fixed amount of storage. For more information about dynamic and static storage types, see Run storage types in the Amazon Web Services HealthOmics User Guide.
io_containerregistrymap
TYPE REF TO /AWS1/CL_OMXCONTAINERREGMAP
/AWS1/CL_OMXCONTAINERREGMAP
¶
(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.
iv_containerregistrymapuri
TYPE /AWS1/OMXURI
/AWS1/OMXURI
¶
(Optional) URI of the S3 location for the registry mapping file.
iv_readmemarkdown
TYPE /AWS1/OMXREADMEMARKDOWN
/AWS1/OMXREADMEMARKDOWN
¶
The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.
iv_parametertemplatepath
TYPE /AWS1/OMXPARAMETERTEMPLATEPATH
/AWS1/OMXPARAMETERTEMPLATEPATH
¶
The path to the workflow parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow. If not specified, the workflow will be created without a parameter template.
iv_readmepath
TYPE /AWS1/OMXREADMEPATH
/AWS1/OMXREADMEPATH
¶
The path to the workflow README markdown file within the repository. This file provides documentation and usage information for the workflow. If not specified, the
README.md
file from the root directory of the repository will be used.
io_definitionrepository
TYPE REF TO /AWS1/CL_OMXDEFNREPOSITORY
/AWS1/CL_OMXDEFNREPOSITORY
¶
The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.
iv_workflowbucketownerid
TYPE /AWS1/OMXWORKFLOWBUCKETOWNERID
/AWS1/OMXWORKFLOWBUCKETOWNERID
¶
The Amazon Web Services account ID of the expected owner of the S3 bucket that contains the workflow definition. If not specified, the service skips the validation.
iv_readmeuri
TYPE /AWS1/OMXS3URIFOROBJECT
/AWS1/OMXS3URIFOROBJECT
¶
The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:
The S3 URI must begin with
s3://USER-OWNED-BUCKET/
The requester must have access to the S3 bucket and object.
The max README content length is 500 KiB.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_omxcreateworkflowrsp
/AWS1/CL_OMXCREATEWORKFLOWRSP
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->/aws1/if_omx~createworkflow(
io_containerregistrymap = new /aws1/cl_omxcontainerregmap(
it_imagemappings = VALUE /aws1/cl_omximagemapping=>tt_imagemappingslist(
(
new /aws1/cl_omximagemapping(
iv_destinationimage = |string|
iv_sourceimage = |string|
)
)
)
it_registrymappings = VALUE /aws1/cl_omxregistrymapping=>tt_registrymappingslist(
(
new /aws1/cl_omxregistrymapping(
iv_ecraccountid = |string|
iv_ecrrepositoryprefix = |string|
iv_upstreamregistryurl = |string|
iv_upstreamrepositoryprefix = |string|
)
)
)
)
io_definitionrepository = new /aws1/cl_omxdefnrepository(
io_sourcereference = new /aws1/cl_omxsourcereference(
iv_type = |string|
iv_value = |string|
)
it_excludefilepatterns = VALUE /aws1/cl_omxexcludefilepatls00=>tt_excludefilepatternlist(
( new /aws1/cl_omxexcludefilepatls00( |string| ) )
)
iv_connectionarn = |string|
iv_fullrepositoryid = |string|
)
it_parametertemplate = VALUE /aws1/cl_omxworkflowparameter=>tt_workflowparametertemplate(
(
VALUE /aws1/cl_omxworkflowparameter=>ts_workflowparamtmpl_maprow(
value = new /aws1/cl_omxworkflowparameter(
iv_description = |string|
iv_optional = ABAP_TRUE
)
key = |string|
)
)
)
it_tags = VALUE /aws1/cl_omxtagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_omxtagmap_w=>ts_tagmap_maprow(
value = new /aws1/cl_omxtagmap_w( |string| )
key = |string|
)
)
)
iv_accelerators = |string|
iv_containerregistrymapuri = |string|
iv_definitionuri = |string|
iv_definitionzip = '5347567362473873563239796247513D'
iv_description = |string|
iv_engine = |string|
iv_main = |string|
iv_name = |string|
iv_parametertemplatepath = |string|
iv_readmemarkdown = |string|
iv_readmepath = |string|
iv_readmeuri = |string|
iv_requestid = |string|
iv_storagecapacity = 123
iv_storagetype = |string|
iv_workflowbucketownerid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_workflowarn = lo_result->get_arn( ).
lv_workflowid = lo_result->get_id( ).
lv_workflowstatus = lo_result->get_status( ).
LOOP AT lo_result->get_tags( ) into ls_row.
lv_key = ls_row-key.
lo_value = ls_row-value.
IF lo_value IS NOT INITIAL.
lv_tagvalue = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lv_workflowuuid = lo_result->get_uuid( ).
ENDIF.