Amazon Omics

2026/03/27 - Amazon Omics - 4 new2 updated api methods

Changes  AWS HealthOmics now supports VPC networking, allowing users to connect runs to external resources with NAT gateway, AWS VPC resources, and more. New Configuration APIs support configuring VPC settings. StartRun API now accepts networkingMode and configurationName parameters to enable VPC networking.

ListConfigurations (new) Link ¶

List all configurations for the account.

See also: AWS API Documentation

Request Syntax

client.list_configurations(
    maxResults=123,
    startingToken='string'
)
type maxResults:

integer

param maxResults:

Maximum number of results to return.

type startingToken:

string

param startingToken:

Pagination token for retrieving next page of results.

rtype:

dict

returns:

Response Syntax

{
    'items': [
        {
            'arn': 'string',
            'name': 'string',
            'description': 'string',
            'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED',
            'creationTime': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      List of configuration items.

      • (dict) --

        Configuration list item with summary information.

        • arn (string) --

          Unique resource identifier for the configuration.

        • name (string) --

          User-friendly name for the configuration.

        • description (string) --

          Description for the configuration.

        • status (string) --

          Current configuration status.

        • creationTime (datetime) --

          Configuration creation timestamp.

    • nextToken (string) --

      Token for retrieving next page of results.

CreateConfiguration (new) Link ¶

Create a new configuration.

See also: AWS API Documentation

Request Syntax

client.create_configuration(
    name='string',
    description='string',
    runConfigurations={
        'vpcConfig': {
            'securityGroupIds': [
                'string',
            ],
            'subnetIds': [
                'string',
            ]
        }
    },
    tags={
        'string': 'string'
    },
    requestId='string'
)
type name:

string

param name:

[REQUIRED]

User-friendly name for the configuration.

type description:

string

param description:

Optional description for the configuration.

type runConfigurations:

dict

param runConfigurations:

[REQUIRED]

Required run-specific configurations.

  • vpcConfig (dict) --

    VPC configuration for workflow runs.

    • securityGroupIds (list) --

      List of security group IDs. Maximum of 5 security groups allowed.

      • (string) --

    • subnetIds (list) --

      List of subnet IDs. Maximum of 16 subnets allowed.

      • (string) --

type tags:

dict

param tags:

Optional tags for the configuration.

  • (string) --

    • (string) --

type requestId:

string

param requestId:

[REQUIRED]

Optional request idempotency token. If not specified, a universally unique identifier (UUID) will be automatically generated for the request.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'arn': 'string',
    'uuid': 'string',
    'name': 'string',
    'description': 'string',
    'runConfigurations': {
        'vpcConfig': {
            'securityGroupIds': [
                'string',
            ],
            'subnetIds': [
                'string',
            ],
            'vpcId': 'string'
        }
    },
    'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED',
    'creationTime': datetime(2015, 1, 1),
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • arn (string) --

      Unique resource identifier for the configuration.

    • uuid (string) --

      Unique identifier for the configuration.

    • name (string) --

      User-friendly name for the configuration.

    • description (string) --

      Description for the configuration.

    • runConfigurations (dict) --

      Run-specific configurations.

      • vpcConfig (dict) --

        VPC configuration for workflow runs with computed VPC ID.

        • securityGroupIds (list) --

          List of security group IDs.

          • (string) --

        • subnetIds (list) --

          List of subnet IDs.

          • (string) --

        • vpcId (string) --

          VPC ID computed from the provided subnet IDs.

    • status (string) --

      Current configuration status.

    • creationTime (datetime) --

      Configuration creation timestamp.

    • tags (dict) --

      Tags for the configuration.

      • (string) --

        • (string) --

DeleteConfiguration (new) Link ¶

Delete an existing configuration.

See also: AWS API Documentation

Request Syntax

client.delete_configuration(
    name='string'
)
type name:

string

param name:

[REQUIRED]

Configuration name to delete.

returns:

None

GetConfiguration (new) Link ¶

Retrieve configuration details for specified name.

See also: AWS API Documentation

Request Syntax

client.get_configuration(
    name='string'
)
type name:

string

param name:

[REQUIRED]

Configuration name to retrieve.

rtype:

dict

returns:

Response Syntax

{
    'arn': 'string',
    'uuid': 'string',
    'name': 'string',
    'description': 'string',
    'runConfigurations': {
        'vpcConfig': {
            'securityGroupIds': [
                'string',
            ],
            'subnetIds': [
                'string',
            ],
            'vpcId': 'string'
        }
    },
    'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED',
    'creationTime': datetime(2015, 1, 1),
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • arn (string) --

      Unique resource identifier for the configuration.

    • uuid (string) --

      Unique identifier for the configuration.

    • name (string) --

      User-friendly name for the configuration.

    • description (string) --

      Description for the configuration.

    • runConfigurations (dict) --

      Run-specific configurations.

      • vpcConfig (dict) --

        VPC configuration for workflow runs with computed VPC ID.

        • securityGroupIds (list) --

          List of security group IDs.

          • (string) --

        • subnetIds (list) --

          List of subnet IDs.

          • (string) --

        • vpcId (string) --

          VPC ID computed from the provided subnet IDs.

    • status (string) --

      Current configuration status.

    • creationTime (datetime) --

      Configuration creation timestamp.

    • tags (dict) --

      Tags for the configuration.

      • (string) --

        • (string) --

GetRun (updated) Link ¶
Changes (response)
{'configuration': {'arn': 'string', 'name': 'string', 'uuid': 'string'},
 'networkingMode': 'RESTRICTED | VPC',
 'vpcConfig': {'securityGroupIds': ['string'],
               'subnetIds': ['string'],
               'vpcId': 'string'}}

Gets detailed information about a specific run using its ID.

Amazon Web Services HealthOmics stores a configurable number of runs, as determined by service limits, that are available to the console and API. If GetRun does not return the requested run, you can find all run logs in the CloudWatch logs. For more information about viewing the run logs, see CloudWatch logs in the Amazon Web Services HealthOmics User Guide.

See also: AWS API Documentation

Request Syntax

client.get_run(
    id='string',
    export=[
        'DEFINITION',
    ]
)
type id:

string

param id:

[REQUIRED]

The run's ID.

type export:

list

param export:

The run's export format.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'arn': 'string',
    'id': 'string',
    'cacheId': 'string',
    'cacheBehavior': 'CACHE_ON_FAILURE'|'CACHE_ALWAYS',
    'engineVersion': 'string',
    'status': 'PENDING'|'STARTING'|'RUNNING'|'STOPPING'|'COMPLETED'|'DELETED'|'CANCELLED'|'FAILED',
    'workflowId': 'string',
    'workflowType': 'PRIVATE'|'READY2RUN',
    'runId': 'string',
    'roleArn': 'string',
    'name': 'string',
    'runGroupId': 'string',
    'batchId': 'string',
    'priority': 123,
    'definition': 'string',
    'digest': 'string',
    'parameters': {...}|[...]|123|123.4|'string'|True|None,
    'storageCapacity': 123,
    'outputUri': 'string',
    'logLevel': 'OFF'|'FATAL'|'ERROR'|'ALL',
    'resourceDigests': {
        'string': 'string'
    },
    'startedBy': 'string',
    'creationTime': datetime(2015, 1, 1),
    'startTime': datetime(2015, 1, 1),
    'stopTime': datetime(2015, 1, 1),
    'statusMessage': 'string',
    'tags': {
        'string': 'string'
    },
    'accelerators': 'GPU',
    'retentionMode': 'RETAIN'|'REMOVE',
    'failureReason': 'string',
    'logLocation': {
        'engineLogStream': 'string',
        'runLogStream': 'string'
    },
    'uuid': 'string',
    'runOutputUri': 'string',
    'storageType': 'STATIC'|'DYNAMIC',
    'workflowOwnerId': 'string',
    'workflowVersionName': 'string',
    'workflowUuid': 'string',
    'networkingMode': 'RESTRICTED'|'VPC',
    'configuration': {
        'name': 'string',
        'arn': 'string',
        'uuid': 'string'
    },
    'vpcConfig': {
        'securityGroupIds': [
            'string',
        ],
        'subnetIds': [
            'string',
        ],
        'vpcId': 'string'
    }
}

Response Structure

  • (dict) --

    • arn (string) --

      The run's ARN.

    • id (string) --

      The run's ID.

    • cacheId (string) --

      The run cache associated with the run.

    • cacheBehavior (string) --

      The run cache behavior for the run.

    • engineVersion (string) --

      The actual Nextflow engine version that Amazon Web Services HealthOmics used for the run. The other workflow definition languages don't provide a value for this field.

    • status (string) --

      The run's status.

    • workflowId (string) --

      The run's workflow ID.

    • workflowType (string) --

      The run's workflow type.

    • runId (string) --

      The run's ID.

    • roleArn (string) --

      The run's service role ARN.

    • name (string) --

      The run's name.

    • runGroupId (string) --

      The run's group ID.

    • batchId (string) --

      The run's batch ID.

    • priority (integer) --

      The run's priority.

    • definition (string) --

      The run's definition.

    • digest (string) --

      The run's digest.

    • parameters (:ref:`document<document>`) --

      The run's parameters.

    • storageCapacity (integer) --

      The run's storage capacity in gibibytes. For dynamic storage, after the run has completed, this value is the maximum amount of storage used during the run.

    • outputUri (string) --

      The run's output URI.

    • logLevel (string) --

      The run's log level.

    • resourceDigests (dict) --

      The run's resource digests.

      • (string) --

        • (string) --

    • startedBy (string) --

      Who started the run.

    • creationTime (datetime) --

      When the run was created.

    • startTime (datetime) --

      When the run started.

    • stopTime (datetime) --

      The run's stop time.

    • statusMessage (string) --

      The run's status message.

    • tags (dict) --

      The run's tags.

      • (string) --

        • (string) --

    • accelerators (string) --

      The computational accelerator used to run the workflow.

    • retentionMode (string) --

      The run's retention mode.

    • failureReason (string) --

      The reason a run has failed.

    • logLocation (dict) --

      The location of the run log.

      • engineLogStream (string) --

        The log stream ARN for the engine log.

      • runLogStream (string) --

        The log stream ARN for the run log.

    • uuid (string) --

      The universally unique identifier for a run.

    • runOutputUri (string) --

      The destination for workflow outputs.

    • storageType (string) --

      The run's storage type.

    • workflowOwnerId (string) --

      The ID of the workflow owner.

    • workflowVersionName (string) --

      The workflow version name.

    • workflowUuid (string) --

      The universally unique identifier (UUID) value for the workflow.

    • networkingMode (string) --

      Configuration for run networking behavior. If absent, this will default to RESTRICTED.

    • configuration (dict) --

      Configuration details for the workflow run.

      • name (string) --

        User-friendly name for the configuration.

      • arn (string) --

        Unique resource identifier for the configuration.

      • uuid (string) --

        Unique identifier for the configuration.

    • vpcConfig (dict) --

      VPC configuration for the workflow run.

      • securityGroupIds (list) --

        List of security group IDs.

        • (string) --

      • subnetIds (list) --

        List of subnet IDs.

        • (string) --

      • vpcId (string) --

        VPC ID computed from the provided subnet IDs.

StartRun (updated) Link ¶
Changes (request, response)
Request
{'configurationName': 'string', 'networkingMode': 'RESTRICTED | VPC'}
Response
{'configuration': {'arn': 'string', 'name': 'string', 'uuid': 'string'},
 'networkingMode': 'string'}

Starts a new run and returns details about the run, or duplicates an existing run. A run is a single invocation of a workflow. If you provide request IDs, Amazon Web Services HealthOmics identifies duplicate requests and starts the run only once. Monitor the progress of the run by calling the GetRun API operation.

To start a new run, the following inputs are required:

  • A service role ARN ( roleArn).

  • The run's workflow ID ( workflowId, not the uuid or runId).

  • An Amazon S3 location ( outputUri) where the run outputs will be saved.

  • All required workflow parameters ( parameter), which can include optional parameters from the parameter template. The run cannot include any parameters that are not defined in the parameter template. To see all possible parameters, use the GetRun API operation.

  • For runs with a STATIC (default) storage type, specify the required storage capacity (in gibibytes). A storage capacity value is not required for runs that use DYNAMIC storage.

StartRun can also duplicate an existing run using the run's default values. You can modify these default values and/or add other optional inputs. To duplicate a run, the following inputs are required:

  • A service role ARN ( roleArn).

  • The ID of the run to duplicate ( runId).

  • An Amazon S3 location where the run outputs will be saved ( outputUri).

To learn more about the optional parameters for StartRun, see Starting a run in the Amazon Web Services HealthOmics User Guide.

Use the retentionMode input to control how long the metadata for each run is stored in CloudWatch. There are two retention modes:

  • Specify REMOVE to automatically remove the oldest runs when you reach the maximum service retention limit for runs. It is recommended that you use the REMOVE mode to initiate major run requests so that your runs do not fail when you reach the limit.

  • The retentionMode is set to the RETAIN mode by default, which allows you to manually remove runs after reaching the maximum service retention limit. Under this setting, you cannot create additional runs until you remove the excess runs.

To learn more about the retention modes, see Run retention mode in the Amazon Web Services HealthOmics User Guide.

You can use Amazon Q CLI to analyze run logs and make performance optimization recommendations. To get started, see the Amazon Web Services HealthOmics MCP server on GitHub.

See also: AWS API Documentation

Request Syntax

client.start_run(
    workflowId='string',
    workflowType='PRIVATE'|'READY2RUN',
    runId='string',
    roleArn='string',
    name='string',
    cacheId='string',
    cacheBehavior='CACHE_ON_FAILURE'|'CACHE_ALWAYS',
    runGroupId='string',
    priority=123,
    parameters={...}|[...]|123|123.4|'string'|True|None,
    storageCapacity=123,
    outputUri='string',
    logLevel='OFF'|'FATAL'|'ERROR'|'ALL',
    tags={
        'string': 'string'
    },
    requestId='string',
    retentionMode='RETAIN'|'REMOVE',
    storageType='STATIC'|'DYNAMIC',
    workflowOwnerId='string',
    workflowVersionName='string',
    networkingMode='RESTRICTED'|'VPC',
    configurationName='string'
)
type workflowId:

string

param workflowId:

The run's workflow ID. The workflowId is not the UUID.

type workflowType:

string

param workflowType:

The run's workflow type. The workflowType must be specified if you are running a READY2RUN workflow. If you are running a PRIVATE workflow (default), you do not need to include the workflow type.

type runId:

string

param runId:

The ID of a run to duplicate.

type roleArn:

string

param roleArn:

[REQUIRED]

A service role for the run. The roleArn requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example roleArn is arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ. In this example, the AWS account ID is 123456789012 and the role name is omics-service-role-serviceRole-W8O1XMPL7QZ.

type name:

string

param name:

A name for the run. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.

type cacheId:

string

param cacheId:

Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.

type cacheBehavior:

string

param cacheBehavior:

The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see Run cache behavior in the Amazon Web Services HealthOmics User Guide.

type runGroupId:

string

param runGroupId:

The run's group ID. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.

type priority:

integer

param priority:

Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see Run priority in the Amazon Web Services HealthOmics User Guide.

type parameters:

:ref:`document<document>`

param parameters:

Parameters for the run. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.

type storageCapacity:

integer

param storageCapacity:

The STATIC storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is DYNAMIC (the system ignores any value that you enter).

type outputUri:

string

param outputUri:

[REQUIRED]

An output S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.

type logLevel:

string

param logLevel:

A log level for the run.

type tags:

dict

param tags:

Tags for the run. You can add up to 50 tags per run. For more information, see Adding a tag in the Amazon Web Services HealthOmics User Guide.

  • (string) --

    • (string) --

type requestId:

string

param requestId:

[REQUIRED]

An idempotency token used to dedupe retry requests so that duplicate runs are not created.

This field is autopopulated if not provided.

type retentionMode:

string

param retentionMode:

The retention mode for the run. The default value is RETAIN.

Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode ( RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to REMOVE, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.

For more information about retention mode, see Specifying run retention mode in the Amazon Web Services HealthOmics User Guide.

type storageType:

string

param storageType:

The storage type for the run. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. For more information about DYNAMIC and STATIC storage, see Run storage types in the Amazon Web Services HealthOmics User Guide.

type workflowOwnerId:

string

param workflowOwnerId:

The 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the GetShare API operation. If you are the workflow owner, you do not need to include this ID.

type workflowVersionName:

string

param workflowVersionName:

The name of the workflow version. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see Workflow versioning in the Amazon Web Services HealthOmics User Guide.

type networkingMode:

string

param networkingMode:

Optional configuration for run networking behavior. If not specified, this will default to RESTRICTED.

type configurationName:

string

param configurationName:

Optional configuration name to use for the workflow run.

rtype:

dict

returns:

Response Syntax

{
    'arn': 'string',
    'id': 'string',
    'status': 'PENDING'|'STARTING'|'RUNNING'|'STOPPING'|'COMPLETED'|'DELETED'|'CANCELLED'|'FAILED',
    'tags': {
        'string': 'string'
    },
    'uuid': 'string',
    'runOutputUri': 'string',
    'configuration': {
        'name': 'string',
        'arn': 'string',
        'uuid': 'string'
    },
    'networkingMode': 'string'
}

Response Structure

  • (dict) --

    • arn (string) --

      Unique resource identifier for the run.

    • id (string) --

      The run's ID.

    • status (string) --

      The run's status.

    • tags (dict) --

      The run's tags.

      • (string) --

        • (string) --

    • uuid (string) --

      The universally unique identifier for a run.

    • runOutputUri (string) --

      The destination for workflow outputs.

    • configuration (dict) --

      Configuration details for the workflow run.

      • name (string) --

        User-friendly name for the configuration.

      • arn (string) --

        Unique resource identifier for the configuration.

      • uuid (string) --

        Unique identifier for the configuration.

    • networkingMode (string) --

      Networking mode for the workflow run.