Class RolloutStrategy
Defines the rollout strategy for a deployment strategy and includes the growth factor, deployment duration, growth type, and optionally final bake time.
Inheritance
Namespace: Amazon.CDK.AWS.AppConfig
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public abstract class RolloutStrategy : DeputyBase
Syntax (vb)
Public MustInherit Class RolloutStrategy
Inherits DeputyBase
Remarks
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html
ExampleMetadata: infused
Examples
new DeploymentStrategy(this, "MyDeploymentStrategy", new DeploymentStrategyProps {
RolloutStrategy = RolloutStrategy.Linear(new RolloutStrategyProps {
GrowthFactor = 20,
DeploymentDuration = Duration.Minutes(30),
FinalBakeTime = Duration.Minutes(30)
})
});
Synopsis
Constructors
RolloutStrategy() | |
RolloutStrategy(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
RolloutStrategy(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
ALL_AT_ONCE | Quick. |
CANARY_10_PERCENT_20_MINUTES | AWS Recommended. |
DeploymentDuration | The deployment duration of the rollout strategy. |
FinalBakeTime | The final bake time of the deployment strategy. |
GrowthFactor | The growth factor of the rollout strategy. |
GrowthType | The growth type of the rollout strategy. |
LINEAR_20_PERCENT_EVERY_6_MINUTES | AWS Recommended. |
LINEAR_50_PERCENT_EVERY_30_SECONDS | Testing/Demonstration. |
Methods
Exponential(IRolloutStrategyProps) | Build your own exponential rollout strategy. |
Linear(IRolloutStrategyProps) | Build your own linear rollout strategy. |
Constructors
RolloutStrategy()
protected RolloutStrategy()
RolloutStrategy(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected RolloutStrategy(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
RolloutStrategy(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected RolloutStrategy(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
ALL_AT_ONCE
Quick.
public static RolloutStrategy ALL_AT_ONCE { get; }
Property Value
Remarks
This strategy deploys the configuration to all targets immediately.
CANARY_10_PERCENT_20_MINUTES
AWS Recommended.
public static RolloutStrategy CANARY_10_PERCENT_20_MINUTES { get; }
Property Value
Remarks
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.
DeploymentDuration
The deployment duration of the rollout strategy.
public abstract Duration DeploymentDuration { get; }
Property Value
FinalBakeTime
The final bake time of the deployment strategy.
public abstract Duration FinalBakeTime { get; }
Property Value
GrowthFactor
The growth factor of the rollout strategy.
public abstract double GrowthFactor { get; }
Property Value
System.Double
GrowthType
The growth type of the rollout strategy.
public abstract Nullable<GrowthType> GrowthType { get; }
Property Value
System.Nullable<GrowthType>
LINEAR_20_PERCENT_EVERY_6_MINUTES
AWS Recommended.
public static RolloutStrategy LINEAR_20_PERCENT_EVERY_6_MINUTES { get; }
Property Value
Remarks
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_SECONDS
Testing/Demonstration.
public static RolloutStrategy LINEAR_50_PERCENT_EVERY_30_SECONDS { get; }
Property Value
Remarks
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(IRolloutStrategyProps)
Build your own exponential rollout strategy.
public static RolloutStrategy Exponential(IRolloutStrategyProps props)
Parameters
- props IRolloutStrategyProps
Returns
Linear(IRolloutStrategyProps)
Build your own linear rollout strategy.
public static RolloutStrategy Linear(IRolloutStrategyProps props)
Parameters
- props IRolloutStrategyProps
Returns