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

Represents the input of a CreateDeploymentConfig * operation.

See Also:

AWS * API Reference

*/ class CreateDeploymentConfigRequest : public CodeDeployRequest { public: AWS_CODEDEPLOY_API CreateDeploymentConfigRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDeploymentConfig"; } AWS_CODEDEPLOY_API Aws::String SerializePayload() const override; AWS_CODEDEPLOY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the deployment configuration to create.

*/ inline const Aws::String& GetDeploymentConfigName() const{ return m_deploymentConfigName; } /** *

The name of the deployment configuration to create.

*/ inline bool DeploymentConfigNameHasBeenSet() const { return m_deploymentConfigNameHasBeenSet; } /** *

The name of the deployment configuration to create.

*/ inline void SetDeploymentConfigName(const Aws::String& value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName = value; } /** *

The name of the deployment configuration to create.

*/ inline void SetDeploymentConfigName(Aws::String&& value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName = std::move(value); } /** *

The name of the deployment configuration to create.

*/ inline void SetDeploymentConfigName(const char* value) { m_deploymentConfigNameHasBeenSet = true; m_deploymentConfigName.assign(value); } /** *

The name of the deployment configuration to create.

*/ inline CreateDeploymentConfigRequest& WithDeploymentConfigName(const Aws::String& value) { SetDeploymentConfigName(value); return *this;} /** *

The name of the deployment configuration to create.

*/ inline CreateDeploymentConfigRequest& WithDeploymentConfigName(Aws::String&& value) { SetDeploymentConfigName(std::move(value)); return *this;} /** *

The name of the deployment configuration to create.

*/ inline CreateDeploymentConfigRequest& WithDeploymentConfigName(const char* value) { SetDeploymentConfigName(value); return *this;} /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline const MinimumHealthyHosts& GetMinimumHealthyHosts() const{ return m_minimumHealthyHosts; } /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline bool MinimumHealthyHostsHasBeenSet() const { return m_minimumHealthyHostsHasBeenSet; } /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline void SetMinimumHealthyHosts(const MinimumHealthyHosts& value) { m_minimumHealthyHostsHasBeenSet = true; m_minimumHealthyHosts = value; } /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline void SetMinimumHealthyHosts(MinimumHealthyHosts&& value) { m_minimumHealthyHostsHasBeenSet = true; m_minimumHealthyHosts = std::move(value); } /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline CreateDeploymentConfigRequest& WithMinimumHealthyHosts(const MinimumHealthyHosts& value) { SetMinimumHealthyHosts(value); return *this;} /** *

The minimum number of healthy instances that should be available at any time * during the deployment. There are two parameters expected in the input: type and * value.

The type parameter takes either of the following values:

    *
  • HOST_COUNT: The value parameter represents the minimum number of healthy * instances as an absolute value.

  • FLEET_PERCENT: The value * parameter represents the minimum number of healthy instances as a percentage of * the total number of instances in the deployment. If you specify FLEET_PERCENT, * at the start of the deployment, CodeDeploy converts the percentage to the * equivalent number of instances and rounds up fractional instances.

  • *

The value parameter takes an integer.

For example, to set a * minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of * 95.

*/ inline CreateDeploymentConfigRequest& WithMinimumHealthyHosts(MinimumHealthyHosts&& value) { SetMinimumHealthyHosts(std::move(value)); return *this;} /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline const TrafficRoutingConfig& GetTrafficRoutingConfig() const{ return m_trafficRoutingConfig; } /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline bool TrafficRoutingConfigHasBeenSet() const { return m_trafficRoutingConfigHasBeenSet; } /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline void SetTrafficRoutingConfig(const TrafficRoutingConfig& value) { m_trafficRoutingConfigHasBeenSet = true; m_trafficRoutingConfig = value; } /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline void SetTrafficRoutingConfig(TrafficRoutingConfig&& value) { m_trafficRoutingConfigHasBeenSet = true; m_trafficRoutingConfig = std::move(value); } /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline CreateDeploymentConfigRequest& WithTrafficRoutingConfig(const TrafficRoutingConfig& value) { SetTrafficRoutingConfig(value); return *this;} /** *

The configuration that specifies how the deployment traffic is routed.

*/ inline CreateDeploymentConfigRequest& WithTrafficRoutingConfig(TrafficRoutingConfig&& value) { SetTrafficRoutingConfig(std::move(value)); return *this;} /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline const ComputePlatform& GetComputePlatform() const{ return m_computePlatform; } /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline bool ComputePlatformHasBeenSet() const { return m_computePlatformHasBeenSet; } /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline void SetComputePlatform(const ComputePlatform& value) { m_computePlatformHasBeenSet = true; m_computePlatform = value; } /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline void SetComputePlatform(ComputePlatform&& value) { m_computePlatformHasBeenSet = true; m_computePlatform = std::move(value); } /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline CreateDeploymentConfigRequest& WithComputePlatform(const ComputePlatform& value) { SetComputePlatform(value); return *this;} /** *

The destination platform type for the deployment (Lambda, * Server, or ECS).

*/ inline CreateDeploymentConfigRequest& WithComputePlatform(ComputePlatform&& value) { SetComputePlatform(std::move(value)); return *this;} private: Aws::String m_deploymentConfigName; bool m_deploymentConfigNameHasBeenSet = false; MinimumHealthyHosts m_minimumHealthyHosts; bool m_minimumHealthyHostsHasBeenSet = false; TrafficRoutingConfig m_trafficRoutingConfig; bool m_trafficRoutingConfigHasBeenSet = false; ComputePlatform m_computePlatform; bool m_computePlatformHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws