Skip to content
v2.274.0

RolloutStrategy Class ​

Defines the rollout strategy for a deployment strategy and includes the growth factor, deployment duration, growth type, and optionally final bake time.

Example ​

ts
new appconfig.DeploymentStrategy(this, 'MyDeploymentStrategy', {
  rolloutStrategy: appconfig.RolloutStrategy.linear({
    growthFactor: 20,
    deploymentDuration: Duration.minutes(30),
    finalBakeTime: Duration.minutes(30),
  }),
});

Initializer ​

ts
new RolloutStrategy()
python
RolloutStrategy()
java
new RolloutStrategy()
csharp
new RolloutStrategy()
go
NewRolloutStrategy()

Properties ​

ALL_AT_ONCERolloutStrategyall_at_onceRolloutStrategyALL_AT_ONCERolloutStrategyALL_AT_ONCERolloutStrategyALL_AT_ONCERolloutStrategyrequiredstatic#
**Quick**.

This strategy deploys the configuration to all targets immediately.

CANARY_10_PERCENT_20_MINUTESRolloutStrategycanary_10_percent_20_minutesRolloutStrategyCANARY_10_PERCENT_20_MINUTESRolloutStrategyCANARY_10_PERCENT_20_MINUTESRolloutStrategyCANARY_10_PERCENT_20_MINUTESRolloutStrategyrequiredstatic#
**AWS Recommended**.

This strategy processes the deployment exponentially using a 10% growth factor over 20 minutes. AWS AppConfig recommends using this strategy for production deployments because it aligns with AWS best practices for configuration deployments.

deploymentDurationDurationdeployment_durationDurationdeploymentDurationDurationDeploymentDurationDurationDeploymentDurationDurationrequired#
The deployment duration of the rollout strategy.
finalBakeTimemay be undefinedDurationfinal_bake_timemay be undefinedDurationfinalBakeTimemay be undefinedDurationFinalBakeTimemay be undefinedDurationFinalBakeTimemay be undefinedDuration#
The final bake time of the deployment strategy.
growthFactornumbergrowth_factorint | floatgrowthFactorNumberGrowthFactordoubleGrowthFactor*float64required#
The growth factor of the rollout strategy.
growthTypemay be undefinedGrowthTypegrowth_typemay be undefinedGrowthTypegrowthTypemay be undefinedGrowthTypeGrowthTypemay be undefinedGrowthTypeGrowthTypemay be undefinedGrowthType#
The growth type of the rollout strategy.
LINEAR_20_PERCENT_EVERY_6_MINUTESRolloutStrategylinear_20_percent_every_6_minutesRolloutStrategyLINEAR_20_PERCENT_EVERY_6_MINUTESRolloutStrategyLINEAR_20_PERCENT_EVERY_6_MINUTESRolloutStrategyLINEAR_20_PERCENT_EVERY_6_MINUTESRolloutStrategyrequiredstatic#
**AWS Recommended**.
notes

This strategy deploys the configuration to 20% of all targets every six minutes for a 30 minute deployment. AWS AppConfig recommends using this strategy for production deployments because it aligns with AWS best practices for configuration deployments.

LINEAR_50_PERCENT_EVERY_30_SECONDSRolloutStrategylinear_50_percent_every_30_secondsRolloutStrategyLINEAR_50_PERCENT_EVERY_30_SECONDSRolloutStrategyLINEAR_50_PERCENT_EVERY_30_SECONDSRolloutStrategyLINEAR_50_PERCENT_EVERY_30_SECONDSRolloutStrategyrequiredstatic#
**Testing/Demonstration**.
notes

This strategy deploys the configuration to half of all targets every 30 seconds for a one-minute deployment. AWS AppConfig recommends using this strategy only for testing or demonstration purposes because it has a short duration and bake time.

Methods ​

exponential(props: RolloutStrategyProps): RolloutStrategy // chainable@staticmethod def exponential(props: RolloutStrategyProps) -> RolloutStrategypublic static RolloutStrategy exponential(RolloutStrategyProps props)public static RolloutStrategy Exponential(RolloutStrategyProps props)func Exponential(Props RolloutStrategyProps) RolloutStrategystatic#
Build your own exponential rollout strategy.
linear(props: RolloutStrategyProps): RolloutStrategy // chainable@staticmethod def linear(props: RolloutStrategyProps) -> RolloutStrategypublic static RolloutStrategy linear(RolloutStrategyProps props)public static RolloutStrategy Linear(RolloutStrategyProps props)func Linear(Props RolloutStrategyProps) RolloutStrategystatic#
Build your own linear rollout strategy.