Class RolloutStrategy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.appconfig.RolloutStrategy
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-22T02:23:56.561Z") @Stability(Stable) public abstract class RolloutStrategy extends software.amazon.jsii.JsiiObject
Defines the rollout strategy for a deployment strategy and includes the growth factor, deployment duration, growth type, and optionally final bake time.

Example:

 DeploymentStrategy.Builder.create(this, "MyDeploymentStrategy")
         .rolloutStrategy(RolloutStrategy.linear(RolloutStrategyProps.builder()
                 .growthFactor(20)
                 .deploymentDuration(Duration.minutes(30))
                 .finalBakeTime(Duration.minutes(30))
                 .build()))
         .build();
 

See Also:
  • Field Details

    • ALL_AT_ONCE

      @Stability(Stable) public static final RolloutStrategy ALL_AT_ONCE
      Quick.

      This strategy deploys the configuration to all targets immediately.

    • CANARY_10_PERCENT_20_MINUTES

      @Stability(Stable) public static final RolloutStrategy CANARY_10_PERCENT_20_MINUTES
      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.

    • LINEAR_20_PERCENT_EVERY_6_MINUTES

      @Stability(Stable) public static final RolloutStrategy LINEAR_20_PERCENT_EVERY_6_MINUTES
      AWS Recommended.

      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

      @Stability(Stable) public static final RolloutStrategy LINEAR_50_PERCENT_EVERY_30_SECONDS
      Testing/Demonstration.

      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.

  • Constructor Details

    • RolloutStrategy

      protected RolloutStrategy(software.amazon.jsii.JsiiObjectRef objRef)
    • RolloutStrategy

      protected RolloutStrategy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • RolloutStrategy

      @Stability(Stable) protected RolloutStrategy()
  • Method Details

    • exponential

      @Stability(Stable) @NotNull public static RolloutStrategy exponential(@NotNull RolloutStrategyProps props)
      Build your own exponential rollout strategy.

      Parameters:
      props - This parameter is required.
    • linear

      @Stability(Stable) @NotNull public static RolloutStrategy linear(@NotNull RolloutStrategyProps props)
      Build your own linear rollout strategy.

      Parameters:
      props - This parameter is required.
    • getDeploymentDuration

      @Stability(Stable) @NotNull public abstract Duration getDeploymentDuration()
      The deployment duration of the rollout strategy.
    • getGrowthFactor

      @Stability(Stable) @NotNull public abstract Number getGrowthFactor()
      The growth factor of the rollout strategy.
    • getFinalBakeTime

      @Stability(Stable) @Nullable public abstract Duration getFinalBakeTime()
      The final bake time of the deployment strategy.
    • getGrowthType

      @Stability(Stable) @Nullable public abstract GrowthType getGrowthType()
      The growth type of the rollout strategy.