Amazon Simple Workflow Service

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

Changes  This release adds APIs that allow adding and removing tags to a SWF domain, and viewing tags for a domain. It also enables adding tags when creating a domain.

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

UndeprecateWorkflowType (new) Link ¶

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

Note

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

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.

    Note

    The combination of workflow type name and version must be unique with in a domain.

  • version (string) -- [REQUIRED]

    The version of the workflow type.

    Note

    The combination of workflow type name and version must be unique with in a domain.

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.

Note

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

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.

    Note

    The combination of activity type name and version must be unique within a domain.

  • version (string) -- [REQUIRED]

    The version of this activity.

    Note

    The combination of activity type name and version must be unique with in a domain.

returns

None

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.

Note

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

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.

Note

Amazon SWF supports a maximum of 50 tags per resource.

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.

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.

Note

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

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