Skip to content

/AWS1/CL_OMX=>CREATEWORKFLOW()

About CreateWorkflow

Creates a private workflow.Private workflows depend on a variety of resources that you create and configure before creating the workflow:

  • Input data: Input data for the workflow, stored in an S3 bucket or a Amazon Web Services HealthOmics sequence store.

  • 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.

  • Parameter template files: Define run parameters using a parameter template file (written in JSON).

  • ECR container images: Create one or more container images for the workflow. Store the images in a private ECR repository.

  • (Optional) Sentieon licenses: Request a Sentieon license if you plan to use 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

To ensure that requests don't run multiple times, specify a unique ID for each request.

Optional arguments:

iv_name TYPE /AWS1/OMXWORKFLOWNAME /AWS1/OMXWORKFLOWNAME

A name for the workflow.

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.

iv_definitionzip TYPE /AWS1/OMXBLOB /AWS1/OMXBLOB

A ZIP archive for the workflow.

iv_definitionuri TYPE /AWS1/OMXWORKFLOWDEFINITION /AWS1/OMXWORKFLOWDEFINITION

The URI of a definition for the workflow.

iv_main TYPE /AWS1/OMXWORKFLOWMAIN /AWS1/OMXWORKFLOWMAIN

The path of the main definition file for the workflow.

it_parametertemplate TYPE /AWS1/CL_OMXWORKFLOWPARAMETER=>TT_WORKFLOWPARAMETERTEMPLATE TT_WORKFLOWPARAMETERTEMPLATE

A parameter template for the workflow.

iv_storagecapacity TYPE /AWS1/OMXINTEGER /AWS1/OMXINTEGER

The default static storage capacity (in gibibytes) for runs that use this workflow or workflow version.

it_tags TYPE /AWS1/CL_OMXTAGMAP_W=>TT_TAGMAP TT_TAGMAP

Tags for the workflow.

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. STATIC storage allocates a fixed amount of storage. DYNAMIC storage dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see Running workflows in the Amazon Web Services HealthOmics User Guide.

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(
  it_parametertemplate = VALUE /aws1/cl_omxworkflowparameter=>tt_workflowparametertemplate(
    (
      VALUE /aws1/cl_omxworkflowparameter=>ts_workflowparamtmpl_maprow(
        key = |string|
        value = new /aws1/cl_omxworkflowparameter(
          iv_description = |string|
          iv_optional = ABAP_TRUE
        )
      )
    )
  )
  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_definitionuri = |string|
  iv_definitionzip = '5347567362473873563239796247513D'
  iv_description = |string|
  iv_engine = |string|
  iv_main = |string|
  iv_name = |string|
  iv_requestid = |string|
  iv_storagecapacity = 123
  iv_storagetype = |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.