From 5ecb337cf30f93a1927e4aa5b7b5933f7dfae44b Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Mon, 15 Jan 2024 14:36:14 +0100 Subject: [PATCH] Only allow 43 characters for stateMachineNamePrefix, updated doc too --- README-INPUT-OUTPUT.md | 2 +- README-SAR.md | 2 +- template.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README-INPUT-OUTPUT.md b/README-INPUT-OUTPUT.md index f686682..e11c1dc 100644 --- a/README-INPUT-OUTPUT.md +++ b/README-INPUT-OUTPUT.md @@ -39,7 +39,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 state machine. The last portion of the `AWS::StackId` will be appended to this value, so the state machine name will look like `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 (only alphanumeric characters, plus `-` and `_`). +* **stateMachineNamePrefix** (string, default=`powerTuningStateMachine`): Allows you to customize the name of the state machine. Maximum 43 characters, only alphanumeric (plus `-` and `_`). The last portion of the `AWS::StackId` will be appended to this value, so the full name will look like `powerTuningStateMachine-89549da0-a4f9-11ee-844d-12a2895ed91f`. Note: `StateMachineName` has a maximum of 80 characters and 36+1 from the `StackId` are appended, allowing 43 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. If you have a sleep between invocations set, you should include that in your timeout calculations. diff --git a/README-SAR.md b/README-SAR.md index 646dfea..5c274d3 100644 --- a/README-SAR.md +++ b/README-SAR.md @@ -72,7 +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 state machine. The last portion of the `AWS::StackId` will be appended to this value, so the state machine name will look like `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 (only alphanumeric characters, plus `-` and `_`). +* **stateMachineNamePrefix** (string, default=`powerTuningStateMachine`): Allows you to customize the name of the state machine. Maximum 43 characters, only alphanumeric (plus `-` and `_`). The last portion of the `AWS::StackId` will be appended to this value, so the full name will look like `powerTuningStateMachine-89549da0-a4f9-11ee-844d-12a2895ed91f`. Note: `StateMachineName` has a maximum of 80 characters and 36+1 from the `StackId` are appended, allowing 43 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. diff --git a/template.yml b/template.yml index 618d49e..0b9d451 100644 --- a/template.yml +++ b/template.yml @@ -64,7 +64,7 @@ Parameters: Description: List of Subnets to use in every Lambda function's VPC Configuration (optional). stateMachineNamePrefix: Type: String - MaxLength: 44 + MaxLength: 43 AllowedPattern: ^[a-zA-Z0-9\-_]*$ ConstraintDescription: Prefix must conform to StateMachineName requirements. Default: 'powerTuningStateMachine'