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
new appconfig.DeploymentStrategy(this, 'MyDeploymentStrategy', {
rolloutStrategy: appconfig.RolloutStrategy.linear({
growthFactor: 20,
deploymentDuration: Duration.minutes(30),
finalBakeTime: Duration.minutes(30),
}),
});
Initializer
new RolloutStrategy()
RolloutStrategy()
new RolloutStrategy()
new RolloutStrategy()
NewRolloutStrategy()
Properties
ALL_AT_ONCERolloutStrategyall_at_onceRolloutStrategyALL_AT_ONCERolloutStrategyALL_AT_ONCERolloutStrategyALL_AT_ONCERolloutStrategyrequiredstatic#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#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#finalBakeTimemay be undefinedDurationfinal_bake_timemay be undefinedDurationfinalBakeTimemay be undefinedDurationFinalBakeTimemay be undefinedDurationFinalBakeTimemay be undefinedDuration#growthFactornumbergrowth_factorint | floatgrowthFactorNumberGrowthFactordoubleGrowthFactor*float64required#growthTypemay be undefinedGrowthTypegrowth_typemay be undefinedGrowthTypegrowthTypemay be undefinedGrowthTypeGrowthTypemay be undefinedGrowthTypeGrowthTypemay be undefinedGrowthType#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#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#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#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#