AWS::StepFunctions::Activity - AWS CloudFormation (original) (raw)
An activity is a task that you write in any programming language and host on any machine that has access to AWS Step Functions. Activities must poll Step Functions using theGetActivityTask
API action and respond using SendTask*
API actions. This function makes Step Functions aware of your activity and returns an identifier for use in a state machine and when polling from the activity.
For information about creating an activity, see Creating an Activity State Machine in the AWS Step Functions Developer Guide and CreateActivity in the AWS Step Functions API Reference.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
Properties
EncryptionConfiguration
Encryption configuration for the activity.
Activity configuration is immutable, and resource names must be unique. To set customer managed keys for encryption, you must create a new Activity. If you attempt to change the configuration in your CFN template for an existing activity, you will receive an ActivityAlreadyExists
exception.
To update your activity to include customer managed keys, set a new activity name within your AWS CloudFormation template.
Required: No
Type: EncryptionConfiguration
Update requires: Replacement
Name
The name of the activity.
A name must not contain:
- white space
- brackets
< > { } [ ]
- wildcard characters
? *
- special characters
" # % \ ^ | ~ ` $ & , ; : /
- control characters (
U+0000-001F
,U+007F-009F
,U+FFFE-FFFF
) - surrogates (
U+D800-DFFF
) - invalid characters (
U+10FFFF
)
To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.
Required: Yes
Type: String
Minimum: 1
Maximum: 80
Update requires: Replacement
Tags
The list of tags to add to a resource.
Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @
.
Required: No
Type: Array of TagsEntry
Update requires: No interruption
Return values
Ref
When you provide the logical ID of this resource to the Ref
intrinsic function, Ref
returns the ARN of the created activity. For example:
{ "Ref": "MyActivity" }
Returns a value similar to the following:
arn:aws:states:us-east-1:111122223333:activity:myActivity
For more information about using the Ref
function, see Ref.
Fn::GetAtt
Fn::GetAtt
returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
Arn
Returns the ARN of the resource.
Name
Returns the name of the activity. For example:
{ "Fn::GetAtt": ["MyActivity", "Name"] }
Returns a value similar to the following:
myActivity
For more information about using Fn::GetAtt
, see Fn::GetAtt.
Examples
The following examples create Step Functions activities.
Note that Activity configuration is immutable, and resource names must be unique. To set customer managed keys for encryption, you must create a new Activity. If you attempt to change the configuration in your CFN template for an existing activity, you will receive an ActivityAlreadyExists
exception.
To update your activity to include customer managed keys, set a new activity name within your CFN template. The following shows an example that creates a new activity with a customer managed key configuration:
Create an activity
YAML
AWSTemplateFormatVersion: '2010-09-09'
Description: An example template for a new Activity.
Resources:
Activity:
Type: AWS::StepFunctions::Activity
Properties:
Name: myActivity
EncryptionConfiguration:
Type: AWS_OWNED_KEY
Tags:
-
Key: "keyname1"
Value: "value1"
-
Key: "keyname2"
Value: "value2"
JSON
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "An example template for a Step Functions activity.",
"Resources" : {
"MyActivity" : {
"Type" : "AWS::StepFunctions::Activity",
"Properties" : {
"Name" : "myActivity",
"EncryptionConfiguration" : {
"Type": "AWS_OWNED_KEY",
}
"Tags": [
{
"Key": "keyname1",
"Value": "value1"
},
{
"Key": "keyname2",
"Value": "value2"
}
]
}
}
}
}
Create an activity with a customer managed AWS KMS key
YAML
AWSTemplateFormatVersion: '2010-09-09'
Description: An example template for an Activity with customer managed key encryption.
Resources:
Activity:
Type: AWS::StepFunctions::Activity
Properties:
Name: ActivityWithKmsEncryption
EncryptionConfiguration:
Type: CUSTOMER_MANAGED_KMS_KEY
KmsKeyId: !Ref MyKmsKey
KmsDataKeyReusePeriodSeconds: 100
Tags:
-
Key: "keyname1"
Value: "value1"
-
Key: "keyname2"
Value: "value2"
MyKmsKey:
Type: AWS::KMS::Key
Properties:
Description: Symmetric KMS key used for encryption/decryption