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.
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' } )
string
[REQUIRED]
The name of the domain of the deprecated activity type.
dict
[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.
None
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' )
string
[REQUIRED]
The name of the domain of the deprecated workflow type.
None
Remove a tag from a Amazon SWF domain.
See also: AWS API Documentation
Request Syntax
client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] )
string
[REQUIRED]
The Amazon Resource Name (ARN) for the Amazon SWF domain.
list
[REQUIRED]
The list of tags to remove from the Amazon SWF domain.
(string) --
None
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' } )
string
[REQUIRED]
The name of the domain of the deprecated workflow type.
dict
[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.
None
List tags for a given domain.
See also: AWS API Documentation
Request Syntax
client.list_tags_for_resource( resourceArn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) for the Amazon SWF domain.
dict
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.
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' }, ] )
string
[REQUIRED]
The Amazon Resource Name (ARN) for the Amazon SWF domain.
list
[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.
None
{'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' )
string
[REQUIRED]
The name of the domain to describe.
dict
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.
{'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 )
string
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.
string
[REQUIRED]
Specifies the registration status of the domains to list.
integer
The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.
boolean
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.
dict
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.
{'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' }, ] )
string
[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 .
string
A text description of the domain.
string
[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 .
list
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.
None