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

Information about blue/green deployment options for a deployment * group.

See Also:

AWS * API Reference

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

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline const BlueInstanceTerminationOption& GetTerminateBlueInstancesOnDeploymentSuccess() const{ return m_terminateBlueInstancesOnDeploymentSuccess; } /** *

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline bool TerminateBlueInstancesOnDeploymentSuccessHasBeenSet() const { return m_terminateBlueInstancesOnDeploymentSuccessHasBeenSet; } /** *

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline void SetTerminateBlueInstancesOnDeploymentSuccess(const BlueInstanceTerminationOption& value) { m_terminateBlueInstancesOnDeploymentSuccessHasBeenSet = true; m_terminateBlueInstancesOnDeploymentSuccess = value; } /** *

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline void SetTerminateBlueInstancesOnDeploymentSuccess(BlueInstanceTerminationOption&& value) { m_terminateBlueInstancesOnDeploymentSuccessHasBeenSet = true; m_terminateBlueInstancesOnDeploymentSuccess = std::move(value); } /** *

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithTerminateBlueInstancesOnDeploymentSuccess(const BlueInstanceTerminationOption& value) { SetTerminateBlueInstancesOnDeploymentSuccess(value); return *this;} /** *

Information about whether to terminate instances in the original fleet during * a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithTerminateBlueInstancesOnDeploymentSuccess(BlueInstanceTerminationOption&& value) { SetTerminateBlueInstancesOnDeploymentSuccess(std::move(value)); return *this;} /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline const DeploymentReadyOption& GetDeploymentReadyOption() const{ return m_deploymentReadyOption; } /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline bool DeploymentReadyOptionHasBeenSet() const { return m_deploymentReadyOptionHasBeenSet; } /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline void SetDeploymentReadyOption(const DeploymentReadyOption& value) { m_deploymentReadyOptionHasBeenSet = true; m_deploymentReadyOption = value; } /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline void SetDeploymentReadyOption(DeploymentReadyOption&& value) { m_deploymentReadyOptionHasBeenSet = true; m_deploymentReadyOption = std::move(value); } /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithDeploymentReadyOption(const DeploymentReadyOption& value) { SetDeploymentReadyOption(value); return *this;} /** *

Information about the action to take when newly provisioned instances are * ready to receive traffic in a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithDeploymentReadyOption(DeploymentReadyOption&& value) { SetDeploymentReadyOption(std::move(value)); return *this;} /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline const GreenFleetProvisioningOption& GetGreenFleetProvisioningOption() const{ return m_greenFleetProvisioningOption; } /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline bool GreenFleetProvisioningOptionHasBeenSet() const { return m_greenFleetProvisioningOptionHasBeenSet; } /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline void SetGreenFleetProvisioningOption(const GreenFleetProvisioningOption& value) { m_greenFleetProvisioningOptionHasBeenSet = true; m_greenFleetProvisioningOption = value; } /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline void SetGreenFleetProvisioningOption(GreenFleetProvisioningOption&& value) { m_greenFleetProvisioningOptionHasBeenSet = true; m_greenFleetProvisioningOption = std::move(value); } /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithGreenFleetProvisioningOption(const GreenFleetProvisioningOption& value) { SetGreenFleetProvisioningOption(value); return *this;} /** *

Information about how instances are provisioned for a replacement environment * in a blue/green deployment.

*/ inline BlueGreenDeploymentConfiguration& WithGreenFleetProvisioningOption(GreenFleetProvisioningOption&& value) { SetGreenFleetProvisioningOption(std::move(value)); return *this;} private: BlueInstanceTerminationOption m_terminateBlueInstancesOnDeploymentSuccess; bool m_terminateBlueInstancesOnDeploymentSuccessHasBeenSet = false; DeploymentReadyOption m_deploymentReadyOption; bool m_deploymentReadyOptionHasBeenSet = false; GreenFleetProvisioningOption m_greenFleetProvisioningOption; bool m_greenFleetProvisioningOptionHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws