aws-cdk-lib.aws_stepfunctions.CfnStateMachineAlias.DeploymentPreferenceProperty

interface DeploymentPreferenceProperty

LanguageType name
.NETAmazon.CDK.AWS.StepFunctions.CfnStateMachineAlias.DeploymentPreferenceProperty
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsstepfunctions#CfnStateMachineAlias_DeploymentPreferenceProperty
Javasoftware.amazon.awscdk.services.stepfunctions.CfnStateMachineAlias.DeploymentPreferenceProperty
Pythonaws_cdk.aws_stepfunctions.CfnStateMachineAlias.DeploymentPreferenceProperty
TypeScript aws-cdk-lib » aws_stepfunctions » CfnStateMachineAlias » DeploymentPreferenceProperty

Enables gradual state machine deployments.

CloudFormation automatically shifts traffic from the version the alias currently points to, to a new state machine version that you specify.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';
const deploymentPreferenceProperty: stepfunctions.CfnStateMachineAlias.DeploymentPreferenceProperty = {
  stateMachineVersionArn: 'stateMachineVersionArn',
  type: 'type',

  // the properties below are optional
  alarms: ['alarms'],
  interval: 123,
  percentage: 123,
};

Properties

NameTypeDescription
stateMachineVersionArnstringThe Amazon Resource Name (ARN) of the AWS::StepFunctions::StateMachineVersion resource that will be the final version to which the alias points to when the traffic shifting is complete.
typestringThe type of deployment you want to perform. You can specify one of the following types:.
alarms?string[]A list of Amazon CloudWatch alarms to be monitored during the deployment.
interval?numberThe time in minutes between each traffic shifting increment.
percentage?numberThe percentage of traffic to shift to the new version in each increment.

stateMachineVersionArn

Type: string

The Amazon Resource Name (ARN) of the AWS::StepFunctions::StateMachineVersion resource that will be the final version to which the alias points to when the traffic shifting is complete.

While performing gradual deployments, you can only provide a single state machine version ARN. To explicitly set version weights in a CloudFormation template, use RoutingConfiguration instead.


type

Type: string

The type of deployment you want to perform. You can specify one of the following types:.

  • LINEAR - Shifts traffic to the new version in equal increments with an equal number of seconds between each increment.

For example, if you specify the increment percent as 20 with an interval of 600 seconds, this deployment increases traffic by 20 percent every 600 seconds until the new version receives 100 percent of the traffic. This deployment immediately rolls back the new version if any CloudWatch alarms are triggered.

  • ALL_AT_ONCE - Shifts 100 percent of traffic to the new version immediately. CloudFormation monitors the new version and rolls it back automatically to the previous version if any CloudWatch alarms are triggered.
  • CANARY - Shifts traffic in two increments.

In the first increment, a small percentage of traffic, for example, 10 percent is shifted to the new version. In the second increment, before a specified time interval in seconds gets over, the remaining traffic is shifted to the new version. The shift to the new version for the remaining traffic takes place only if no CloudWatch alarms are triggered during the specified time interval.


alarms?

Type: string[] (optional)

A list of Amazon CloudWatch alarms to be monitored during the deployment.

The deployment fails and rolls back if any of these alarms go into the ALARM state.


interval?

Type: number (optional)

The time in minutes between each traffic shifting increment.


percentage?

Type: number (optional)

The percentage of traffic to shift to the new version in each increment.