Amazon Simple Workflow Service

2019/07/03 - Amazon Simple Workflow Service - 6 new3 updated api methods

Changes  Update swf client to latest version

UndeprecateDomain (new) Link ¶

Undeprecates a previously deprecated domain. After a domain has been undeprecated it can be used to create new workflow executions or register new types.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

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

string

param name:

[REQUIRED]

The name of the domain of the deprecated workflow type.

returns:

None

TagResource (new) Link ¶

Add a tag to a Amazon SWF domain.

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    resourceArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ]
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) for the Amazon SWF domain.

type tags:

list

param tags:

[REQUIRED]

The list of tags to add to a domain.

Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

  • (dict) --

    Tags are key-value pairs that can be associated with Amazon SWF state machines and activities.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    • key (string) -- [REQUIRED]

      The key of a tag.

    • value (string) --

      The value of a tag.

returns:

None

ListTagsForResource (new) Link ¶

List tags for a given domain.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    resourceArn='string'
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) for the Amazon SWF domain.

rtype:

dict

returns:

Response Syntax

{
    'tags': [
        {
            'key': 'string',
            'value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • tags (list) --

      An array of tags associated with the domain.

      • (dict) --

        Tags are key-value pairs that can be associated with Amazon SWF state machines and activities.

        Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

        • key (string) --

          The key of a tag.

        • value (string) --

          The value of a tag.

UndeprecateWorkflowType (new) Link ¶

Undeprecates a previously deprecated workflow type. After a workflow type has been undeprecated, you can create new executions of that type.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • workflowType.name: String constraint. The key is swf:workflowType.name.

    • workflowType.version: String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

client.undeprecate_workflow_type(
    domain='string',
    workflowType={
        'name': 'string',
        'version': 'string'
    }
)
type domain:

string

param domain:

[REQUIRED]

The name of the domain of the deprecated workflow type.

type workflowType:

dict

param workflowType:

[REQUIRED]

The name of the domain of the deprecated workflow type.

  • name (string) -- [REQUIRED]

    The name of the workflow type.

  • version (string) -- [REQUIRED]

    The version of the workflow type.

returns:

None

UndeprecateActivityType (new) Link ¶

Undeprecates a previously deprecated activity type. After an activity type has been undeprecated, you can create new tasks of that activity type.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • activityType.name: String constraint. The key is swf:activityType.name.

    • activityType.version: String constraint. The key is swf:activityType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

client.undeprecate_activity_type(
    domain='string',
    activityType={
        'name': 'string',
        'version': 'string'
    }
)
type domain:

string

param domain:

[REQUIRED]

The name of the domain of the deprecated activity type.

type activityType:

dict

param activityType:

[REQUIRED]

The activity type to undeprecate.

  • name (string) -- [REQUIRED]

    The name of this activity.

  • version (string) -- [REQUIRED]

    The version of this activity.

returns:

None

UntagResource (new) Link ¶

Remove a tag from a Amazon SWF domain.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    resourceArn='string',
    tagKeys=[
        'string',
    ]
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) for the Amazon SWF domain.

type tagKeys:

list

param tagKeys:

[REQUIRED]

The list of tags to remove from the Amazon SWF domain.

  • (string) --

returns:

None

DescribeDomain (updated) Link ¶
Changes (response)
{'domainInfo': {'arn': 'string'}}

Returns information about the specified domain, including description and status.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

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

string

param name:

[REQUIRED]

The name of the domain to describe.

rtype:

dict

returns:

Response Syntax

{
    'domainInfo': {
        'name': 'string',
        'status': 'REGISTERED'|'DEPRECATED',
        'description': 'string',
        'arn': 'string'
    },
    'configuration': {
        'workflowExecutionRetentionPeriodInDays': 'string'
    }
}

Response Structure

  • (dict) --

    Contains details of a domain.

    • domainInfo (dict) --

      The basic information about a domain, such as its name, status, and description.

      • name (string) --

        The name of the domain. This name is unique within the account.

      • status (string) --

        The status of the domain:

        • REGISTERED – The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions.

        • DEPRECATED – The domain was deprecated using DeprecateDomain, but is still in use. You should not create new workflow executions in this domain.

      • description (string) --

        The description of the domain provided through RegisterDomain.

      • arn (string) --

        The ARN of the domain.

    • configuration (dict) --

      The domain configuration. Currently, this includes only the domain's retention period.

      • workflowExecutionRetentionPeriodInDays (string) --

        The retention period for workflow executions in this domain.

ListDomains (updated) Link ¶
Changes (response)
{'domainInfos': {'arn': 'string'}}

Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains. The element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID, with no dashes.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

client.list_domains(
    nextPageToken='string',
    registrationStatus='REGISTERED'|'DEPRECATED',
    maximumPageSize=123,
    reverseOrder=True|False
)
type nextPageToken:

string

param nextPageToken:

If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: " Specified token has exceeded its maximum lifetime".

The configured maximumPageSize determines how many results can be returned in a single call.

type registrationStatus:

string

param registrationStatus:

[REQUIRED]

Specifies the registration status of the domains to list.

type maximumPageSize:

integer

param maximumPageSize:

The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

type reverseOrder:

boolean

param reverseOrder:

When set to true, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by name of the domains.

rtype:

dict

returns:

Response Syntax

{
    'domainInfos': [
        {
            'name': 'string',
            'status': 'REGISTERED'|'DEPRECATED',
            'description': 'string',
            'arn': 'string'
        },
    ],
    'nextPageToken': 'string'
}

Response Structure

  • (dict) --

    Contains a paginated collection of DomainInfo structures.

    • domainInfos (list) --

      A list of DomainInfo structures.

      • (dict) --

        Contains general information about a domain.

        • name (string) --

          The name of the domain. This name is unique within the account.

        • status (string) --

          The status of the domain:

          • REGISTERED – The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions.

          • DEPRECATED – The domain was deprecated using DeprecateDomain, but is still in use. You should not create new workflow executions in this domain.

        • description (string) --

          The description of the domain provided through RegisterDomain.

        • arn (string) --

          The ARN of the domain.

    • nextPageToken (string) --

      If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

      The configured maximumPageSize determines how many results can be returned in a single call.

RegisterDomain (updated) Link ¶
Changes (request)
{'tags': [{'key': 'string', 'value': 'string'}]}

Registers a new domain.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See also: AWS API Documentation

Request Syntax

client.register_domain(
    name='string',
    description='string',
    workflowExecutionRetentionPeriodInDays='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ]
)
type name:

string

param name:

[REQUIRED]

Name of the domain to register. The name must be unique in the region that the domain is registered in.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( \u0000-\u001f | \u007f-\u009f). Also, it must not be the literal string arn.

type description:

string

param description:

A text description of the domain.

type workflowExecutionRetentionPeriodInDays:

string

param workflowExecutionRetentionPeriodInDays:

[REQUIRED]

The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution isn't available in the results of visibility calls.

If you pass the value NONE or 0 (zero), then the workflow execution history isn't retained. As soon as the workflow execution completes, the execution record and its history are deleted.

The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: Amazon SWF Service Limits in the Amazon SWF Developer Guide.

type tags:

list

param tags:

Tags to be added when registering a domain.

Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

  • (dict) --

    Tags are key-value pairs that can be associated with Amazon SWF state machines and activities.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    • key (string) -- [REQUIRED]

      The key of a tag.

    • value (string) --

      The value of a tag.

returns:

None