Skip to content

Commit

Permalink
add ability to customize the prefix of the statemachine name
Browse files Browse the repository at this point in the history
  • Loading branch information
TonySherman committed Dec 27, 2023
1 parent 53e440a commit c701abd
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions README-SAR.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ The CloudFormation template accepts the following parameters:
* **logGroupRetentionInDays** (number, default=7): the number of days to retain log events in the Lambda log groups. Before this parameter existed, log events were retained indefinitely
* **securityGroupIds** (list of SecurityGroup IDs): List of Security Groups to use in every Lambda function's VPC Configuration (optional); please note that your VPC should be configured to allow public internet access (via NAT Gateway) or include VPC Endpoints to the Lambda service
* **subnetIds** (list of Subnet IDs): List of Subnets to use in every Lambda function's VPC Configuration (optional); please note that your VPC should be configured to allow public internet access (via NAT Gateway) or include VPC Endpoints to the Lambda service
* **stateMachineNamePrefix** (string, default=`powerTuningStateMachine`) Allows you to customize the name of the statemachine. The last portion of the `AWS::StackId` will be appended to this value: `powerTuningStateMachine-89549da0-a4f9-11ee-844d-12a2895ed91f` (The `StateMachineName` has a maximum of 80 characters and 36 from the `StackId` are appended, allowing 44 for a custom prefix.)

Please note that the total execution time should stay below 300 seconds (5 min), which is the default timeout. You can easily estimate the total execution timeout based on the average duration of your functions. For example, if your function's average execution time is 5 seconds and you haven't enabled `parallelInvocation`, you should set `totalExecutionTimeout` to at least `num * 5`: 50 seconds if `num=10`, 500 seconds if `num=100`, and so on. If you have enabled `parallelInvocation`, usually you don't need to tune the value of `totalExecutionTimeout` unless your average execution time is above 5 min.

Expand Down
9 changes: 9 additions & 0 deletions template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ Parameters:
Type: CommaDelimitedList
Default: ''
Description: List of Subnets to use in every Lambda function's VPC Configuration (optional).
stateMachineNamePrefix:
Type: String
Default: "powerTuningStateMachine"
Description: Prefix to the name of the StateMachine. The StackId will be appended to this value (optional).

Conditions:
UsePermissionsBoundary: !Not [!Equals [!Ref permissionsBoundary, '']]
Expand Down Expand Up @@ -262,6 +266,11 @@ Resources:
powerTuningStateMachine:
Type: AWS::StepFunctions::StateMachine
Properties:
StateMachineName:
Fn::Join:
- '-'
- - !Ref stateMachineNamePrefix
- !Select [2, !Split ['/', !Ref AWS::StackId]]
RoleArn: !GetAtt statemachineRole.Arn
DefinitionString:
!Sub
Expand Down

0 comments on commit c701abd

Please sign in to comment.