/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeDeploy { namespace Model { /** *

Information about how traffic is rerouted to instances in a replacement * environment in a blue/green deployment.

See Also:

AWS * API Reference

*/ class DeploymentReadyOption { public: AWS_CODEDEPLOY_API DeploymentReadyOption(); AWS_CODEDEPLOY_API DeploymentReadyOption(Aws::Utils::Json::JsonView jsonValue); AWS_CODEDEPLOY_API DeploymentReadyOption& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline const DeploymentReadyAction& GetActionOnTimeout() const{ return m_actionOnTimeout; } /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline bool ActionOnTimeoutHasBeenSet() const { return m_actionOnTimeoutHasBeenSet; } /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline void SetActionOnTimeout(const DeploymentReadyAction& value) { m_actionOnTimeoutHasBeenSet = true; m_actionOnTimeout = value; } /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline void SetActionOnTimeout(DeploymentReadyAction&& value) { m_actionOnTimeoutHasBeenSet = true; m_actionOnTimeout = std::move(value); } /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline DeploymentReadyOption& WithActionOnTimeout(const DeploymentReadyAction& value) { SetActionOnTimeout(value); return *this;} /** *

Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

  • *

    CONTINUE_DEPLOYMENT: Register new instances with the load balancer * immediately after the new application revision is installed on the instances in * the replacement environment.

  • STOP_DEPLOYMENT: Do not register * new instances with a load balancer unless traffic rerouting is started using * ContinueDeployment. If traffic rerouting is not started before the end of * the specified wait period, the deployment status is changed to Stopped.

    *
*/ inline DeploymentReadyOption& WithActionOnTimeout(DeploymentReadyAction&& value) { SetActionOnTimeout(std::move(value)); return *this;} /** *

The number of minutes to wait before the status of a blue/green deployment is * changed to Stopped if rerouting is not started manually. Applies only to the * STOP_DEPLOYMENT option for actionOnTimeout.

*/ inline int GetWaitTimeInMinutes() const{ return m_waitTimeInMinutes; } /** *

The number of minutes to wait before the status of a blue/green deployment is * changed to Stopped if rerouting is not started manually. Applies only to the * STOP_DEPLOYMENT option for actionOnTimeout.

*/ inline bool WaitTimeInMinutesHasBeenSet() const { return m_waitTimeInMinutesHasBeenSet; } /** *

The number of minutes to wait before the status of a blue/green deployment is * changed to Stopped if rerouting is not started manually. Applies only to the * STOP_DEPLOYMENT option for actionOnTimeout.

*/ inline void SetWaitTimeInMinutes(int value) { m_waitTimeInMinutesHasBeenSet = true; m_waitTimeInMinutes = value; } /** *

The number of minutes to wait before the status of a blue/green deployment is * changed to Stopped if rerouting is not started manually. Applies only to the * STOP_DEPLOYMENT option for actionOnTimeout.

*/ inline DeploymentReadyOption& WithWaitTimeInMinutes(int value) { SetWaitTimeInMinutes(value); return *this;} private: DeploymentReadyAction m_actionOnTimeout; bool m_actionOnTimeoutHasBeenSet = false; int m_waitTimeInMinutes; bool m_waitTimeInMinutesHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws