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

Information about the type of deployment, either in-place or blue/green, you * want to run and whether to route deployment traffic behind a load * balancer.

See Also:

AWS * API Reference

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

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline const DeploymentType& GetDeploymentType() const{ return m_deploymentType; } /** *

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; } /** *

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline void SetDeploymentType(const DeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; } /** *

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline void SetDeploymentType(DeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); } /** *

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline DeploymentStyle& WithDeploymentType(const DeploymentType& value) { SetDeploymentType(value); return *this;} /** *

Indicates whether to run an in-place deployment or a blue/green * deployment.

*/ inline DeploymentStyle& WithDeploymentType(DeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline const DeploymentOption& GetDeploymentOption() const{ return m_deploymentOption; } /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline bool DeploymentOptionHasBeenSet() const { return m_deploymentOptionHasBeenSet; } /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline void SetDeploymentOption(const DeploymentOption& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = value; } /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline void SetDeploymentOption(DeploymentOption&& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = std::move(value); } /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline DeploymentStyle& WithDeploymentOption(const DeploymentOption& value) { SetDeploymentOption(value); return *this;} /** *

Indicates whether to route deployment traffic behind a load balancer.

*/ inline DeploymentStyle& WithDeploymentOption(DeploymentOption&& value) { SetDeploymentOption(std::move(value)); return *this;} private: DeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; DeploymentOption m_deploymentOption; bool m_deploymentOptionHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws