/** * 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 #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace CodeDeploy { namespace Model { /** *

Represents the input of an UpdateDeploymentGroup * operation.

See Also:

AWS * API Reference

*/ class UpdateDeploymentGroupRequest : public CodeDeployRequest { public: AWS_CODEDEPLOY_API UpdateDeploymentGroupRequest(); // 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 "UpdateDeploymentGroup"; } AWS_CODEDEPLOY_API Aws::String SerializePayload() const override; AWS_CODEDEPLOY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The application name that corresponds to the deployment group to update.

*/ inline const Aws::String& GetApplicationName() const{ return m_applicationName; } /** *

The application name that corresponds to the deployment group to update.

*/ inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; } /** *

The application name that corresponds to the deployment group to update.

*/ inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; } /** *

The application name that corresponds to the deployment group to update.

*/ inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); } /** *

The application name that corresponds to the deployment group to update.

*/ inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); } /** *

The application name that corresponds to the deployment group to update.

*/ inline UpdateDeploymentGroupRequest& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;} /** *

The application name that corresponds to the deployment group to update.

*/ inline UpdateDeploymentGroupRequest& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;} /** *

The application name that corresponds to the deployment group to update.

*/ inline UpdateDeploymentGroupRequest& WithApplicationName(const char* value) { SetApplicationName(value); return *this;} /** *

The current name of the deployment group.

*/ inline const Aws::String& GetCurrentDeploymentGroupName() const{ return m_currentDeploymentGroupName; } /** *

The current name of the deployment group.

*/ inline bool CurrentDeploymentGroupNameHasBeenSet() const { return m_currentDeploymentGroupNameHasBeenSet; } /** *

The current name of the deployment group.

*/ inline void SetCurrentDeploymentGroupName(const Aws::String& value) { m_currentDeploymentGroupNameHasBeenSet = true; m_currentDeploymentGroupName = value; } /** *

The current name of the deployment group.

*/ inline void SetCurrentDeploymentGroupName(Aws::String&& value) { m_currentDeploymentGroupNameHasBeenSet = true; m_currentDeploymentGroupName = std::move(value); } /** *

The current name of the deployment group.

*/ inline void SetCurrentDeploymentGroupName(const char* value) { m_currentDeploymentGroupNameHasBeenSet = true; m_currentDeploymentGroupName.assign(value); } /** *

The current name of the deployment group.

*/ inline UpdateDeploymentGroupRequest& WithCurrentDeploymentGroupName(const Aws::String& value) { SetCurrentDeploymentGroupName(value); return *this;} /** *

The current name of the deployment group.

*/ inline UpdateDeploymentGroupRequest& WithCurrentDeploymentGroupName(Aws::String&& value) { SetCurrentDeploymentGroupName(std::move(value)); return *this;} /** *

The current name of the deployment group.

*/ inline UpdateDeploymentGroupRequest& WithCurrentDeploymentGroupName(const char* value) { SetCurrentDeploymentGroupName(value); return *this;} /** *

The new name of the deployment group, if you want to change it.

*/ inline const Aws::String& GetNewDeploymentGroupName() const{ return m_newDeploymentGroupName; } /** *

The new name of the deployment group, if you want to change it.

*/ inline bool NewDeploymentGroupNameHasBeenSet() const { return m_newDeploymentGroupNameHasBeenSet; } /** *

The new name of the deployment group, if you want to change it.

*/ inline void SetNewDeploymentGroupName(const Aws::String& value) { m_newDeploymentGroupNameHasBeenSet = true; m_newDeploymentGroupName = value; } /** *

The new name of the deployment group, if you want to change it.

*/ inline void SetNewDeploymentGroupName(Aws::String&& value) { m_newDeploymentGroupNameHasBeenSet = true; m_newDeploymentGroupName = std::move(value); } /** *

The new name of the deployment group, if you want to change it.

*/ inline void SetNewDeploymentGroupName(const char* value) { m_newDeploymentGroupNameHasBeenSet = true; m_newDeploymentGroupName.assign(value); } /** *

The new name of the deployment group, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithNewDeploymentGroupName(const Aws::String& value) { SetNewDeploymentGroupName(value); return *this;} /** *

The new name of the deployment group, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithNewDeploymentGroupName(Aws::String&& value) { SetNewDeploymentGroupName(std::move(value)); return *this;} /** *

The new name of the deployment group, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithNewDeploymentGroupName(const char* value) { SetNewDeploymentGroupName(value); return *this;} /** *

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement deployment configuration name to use, if you want to change * it.

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

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline const Aws::Vector& GetEc2TagFilters() const{ return m_ec2TagFilters; } /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline bool Ec2TagFiltersHasBeenSet() const { return m_ec2TagFiltersHasBeenSet; } /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline void SetEc2TagFilters(const Aws::Vector& value) { m_ec2TagFiltersHasBeenSet = true; m_ec2TagFilters = value; } /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline void SetEc2TagFilters(Aws::Vector&& value) { m_ec2TagFiltersHasBeenSet = true; m_ec2TagFilters = std::move(value); } /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& WithEc2TagFilters(const Aws::Vector& value) { SetEc2TagFilters(value); return *this;} /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& WithEc2TagFilters(Aws::Vector&& value) { SetEc2TagFilters(std::move(value)); return *this;} /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& AddEc2TagFilters(const EC2TagFilter& value) { m_ec2TagFiltersHasBeenSet = true; m_ec2TagFilters.push_back(value); return *this; } /** *

The replacement set of Amazon EC2 tags on which to filter, if you want to * change them. To keep the existing tags, enter their names. To remove tags, do * not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& AddEc2TagFilters(EC2TagFilter&& value) { m_ec2TagFiltersHasBeenSet = true; m_ec2TagFilters.push_back(std::move(value)); return *this; } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline const Aws::Vector& GetOnPremisesInstanceTagFilters() const{ return m_onPremisesInstanceTagFilters; } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline bool OnPremisesInstanceTagFiltersHasBeenSet() const { return m_onPremisesInstanceTagFiltersHasBeenSet; } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline void SetOnPremisesInstanceTagFilters(const Aws::Vector& value) { m_onPremisesInstanceTagFiltersHasBeenSet = true; m_onPremisesInstanceTagFilters = value; } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline void SetOnPremisesInstanceTagFilters(Aws::Vector&& value) { m_onPremisesInstanceTagFiltersHasBeenSet = true; m_onPremisesInstanceTagFilters = std::move(value); } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& WithOnPremisesInstanceTagFilters(const Aws::Vector& value) { SetOnPremisesInstanceTagFilters(value); return *this;} /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& WithOnPremisesInstanceTagFilters(Aws::Vector&& value) { SetOnPremisesInstanceTagFilters(std::move(value)); return *this;} /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& AddOnPremisesInstanceTagFilters(const TagFilter& value) { m_onPremisesInstanceTagFiltersHasBeenSet = true; m_onPremisesInstanceTagFilters.push_back(value); return *this; } /** *

The replacement set of on-premises instance tags on which to filter, if you * want to change them. To keep the existing tags, enter their names. To remove * tags, do not enter any tag names.

*/ inline UpdateDeploymentGroupRequest& AddOnPremisesInstanceTagFilters(TagFilter&& value) { m_onPremisesInstanceTagFiltersHasBeenSet = true; m_onPremisesInstanceTagFilters.push_back(std::move(value)); return *this; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline const Aws::Vector& GetAutoScalingGroups() const{ return m_autoScalingGroups; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline bool AutoScalingGroupsHasBeenSet() const { return m_autoScalingGroupsHasBeenSet; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline void SetAutoScalingGroups(const Aws::Vector& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = value; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline void SetAutoScalingGroups(Aws::Vector&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = std::move(value); } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline UpdateDeploymentGroupRequest& WithAutoScalingGroups(const Aws::Vector& value) { SetAutoScalingGroups(value); return *this;} /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline UpdateDeploymentGroupRequest& WithAutoScalingGroups(Aws::Vector&& value) { SetAutoScalingGroups(std::move(value)); return *this;} /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline UpdateDeploymentGroupRequest& AddAutoScalingGroups(const Aws::String& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline UpdateDeploymentGroupRequest& AddAutoScalingGroups(Aws::String&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(std::move(value)); return *this; } /** *

The replacement list of Auto Scaling groups to be included in the deployment * group, if you want to change them.

*/ inline UpdateDeploymentGroupRequest& AddAutoScalingGroups(const char* value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } /** *

A replacement ARN for the service role, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} /** *

A replacement ARN for the service role, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} /** *

A replacement ARN for the service role, if you want to change it.

*/ inline UpdateDeploymentGroupRequest& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline const Aws::Vector& GetTriggerConfigurations() const{ return m_triggerConfigurations; } /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline bool TriggerConfigurationsHasBeenSet() const { return m_triggerConfigurationsHasBeenSet; } /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline void SetTriggerConfigurations(const Aws::Vector& value) { m_triggerConfigurationsHasBeenSet = true; m_triggerConfigurations = value; } /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline void SetTriggerConfigurations(Aws::Vector&& value) { m_triggerConfigurationsHasBeenSet = true; m_triggerConfigurations = std::move(value); } /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline UpdateDeploymentGroupRequest& WithTriggerConfigurations(const Aws::Vector& value) { SetTriggerConfigurations(value); return *this;} /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline UpdateDeploymentGroupRequest& WithTriggerConfigurations(Aws::Vector&& value) { SetTriggerConfigurations(std::move(value)); return *this;} /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline UpdateDeploymentGroupRequest& AddTriggerConfigurations(const TriggerConfig& value) { m_triggerConfigurationsHasBeenSet = true; m_triggerConfigurations.push_back(value); return *this; } /** *

Information about triggers to change when the deployment group is updated. * For examples, see Edit * a Trigger in a CodeDeploy Deployment Group in the CodeDeploy User * Guide.

*/ inline UpdateDeploymentGroupRequest& AddTriggerConfigurations(TriggerConfig&& value) { m_triggerConfigurationsHasBeenSet = true; m_triggerConfigurations.push_back(std::move(value)); return *this; } /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; } /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; } /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; } /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); } /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline UpdateDeploymentGroupRequest& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;} /** *

Information to add or change about Amazon CloudWatch alarms when the * deployment group is updated.

*/ inline UpdateDeploymentGroupRequest& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;} /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline const AutoRollbackConfiguration& GetAutoRollbackConfiguration() const{ return m_autoRollbackConfiguration; } /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline bool AutoRollbackConfigurationHasBeenSet() const { return m_autoRollbackConfigurationHasBeenSet; } /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline void SetAutoRollbackConfiguration(const AutoRollbackConfiguration& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = value; } /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline void SetAutoRollbackConfiguration(AutoRollbackConfiguration&& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = std::move(value); } /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline UpdateDeploymentGroupRequest& WithAutoRollbackConfiguration(const AutoRollbackConfiguration& value) { SetAutoRollbackConfiguration(value); return *this;} /** *

Information for an automatic rollback configuration that is added or changed * when a deployment group is updated.

*/ inline UpdateDeploymentGroupRequest& WithAutoRollbackConfiguration(AutoRollbackConfiguration&& value) { SetAutoRollbackConfiguration(std::move(value)); return *this;} /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline const OutdatedInstancesStrategy& GetOutdatedInstancesStrategy() const{ return m_outdatedInstancesStrategy; } /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline bool OutdatedInstancesStrategyHasBeenSet() const { return m_outdatedInstancesStrategyHasBeenSet; } /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline void SetOutdatedInstancesStrategy(const OutdatedInstancesStrategy& value) { m_outdatedInstancesStrategyHasBeenSet = true; m_outdatedInstancesStrategy = value; } /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline void SetOutdatedInstancesStrategy(OutdatedInstancesStrategy&& value) { m_outdatedInstancesStrategyHasBeenSet = true; m_outdatedInstancesStrategy = std::move(value); } /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline UpdateDeploymentGroupRequest& WithOutdatedInstancesStrategy(const OutdatedInstancesStrategy& value) { SetOutdatedInstancesStrategy(value); return *this;} /** *

Indicates what happens when new Amazon EC2 instances are launched * mid-deployment and do not receive the deployed application revision.

If * this option is set to UPDATE or is unspecified, CodeDeploy * initiates one or more 'auto-update outdated instances' deployments to apply the * deployed application revision to the new Amazon EC2 instances.

If this * option is set to IGNORE, CodeDeploy does not initiate a deployment * to update the new Amazon EC2 instances. This may result in instances having * different revisions.

*/ inline UpdateDeploymentGroupRequest& WithOutdatedInstancesStrategy(OutdatedInstancesStrategy&& value) { SetOutdatedInstancesStrategy(std::move(value)); return *this;} /** *

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.

*/ inline const DeploymentStyle& GetDeploymentStyle() const{ return m_deploymentStyle; } /** *

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.

*/ inline bool DeploymentStyleHasBeenSet() const { return m_deploymentStyleHasBeenSet; } /** *

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.

*/ inline void SetDeploymentStyle(const DeploymentStyle& value) { m_deploymentStyleHasBeenSet = true; m_deploymentStyle = value; } /** *

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.

*/ inline void SetDeploymentStyle(DeploymentStyle&& value) { m_deploymentStyleHasBeenSet = true; m_deploymentStyle = std::move(value); } /** *

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.

*/ inline UpdateDeploymentGroupRequest& WithDeploymentStyle(const DeploymentStyle& value) { SetDeploymentStyle(value); return *this;} /** *

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.

*/ inline UpdateDeploymentGroupRequest& WithDeploymentStyle(DeploymentStyle&& value) { SetDeploymentStyle(std::move(value)); return *this;} /** *

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

*/ inline const BlueGreenDeploymentConfiguration& GetBlueGreenDeploymentConfiguration() const{ return m_blueGreenDeploymentConfiguration; } /** *

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

*/ inline bool BlueGreenDeploymentConfigurationHasBeenSet() const { return m_blueGreenDeploymentConfigurationHasBeenSet; } /** *

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

*/ inline void SetBlueGreenDeploymentConfiguration(const BlueGreenDeploymentConfiguration& value) { m_blueGreenDeploymentConfigurationHasBeenSet = true; m_blueGreenDeploymentConfiguration = value; } /** *

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

*/ inline void SetBlueGreenDeploymentConfiguration(BlueGreenDeploymentConfiguration&& value) { m_blueGreenDeploymentConfigurationHasBeenSet = true; m_blueGreenDeploymentConfiguration = std::move(value); } /** *

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

*/ inline UpdateDeploymentGroupRequest& WithBlueGreenDeploymentConfiguration(const BlueGreenDeploymentConfiguration& value) { SetBlueGreenDeploymentConfiguration(value); return *this;} /** *

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

*/ inline UpdateDeploymentGroupRequest& WithBlueGreenDeploymentConfiguration(BlueGreenDeploymentConfiguration&& value) { SetBlueGreenDeploymentConfiguration(std::move(value)); return *this;} /** *

Information about the load balancer used in a deployment.

*/ inline const LoadBalancerInfo& GetLoadBalancerInfo() const{ return m_loadBalancerInfo; } /** *

Information about the load balancer used in a deployment.

*/ inline bool LoadBalancerInfoHasBeenSet() const { return m_loadBalancerInfoHasBeenSet; } /** *

Information about the load balancer used in a deployment.

*/ inline void SetLoadBalancerInfo(const LoadBalancerInfo& value) { m_loadBalancerInfoHasBeenSet = true; m_loadBalancerInfo = value; } /** *

Information about the load balancer used in a deployment.

*/ inline void SetLoadBalancerInfo(LoadBalancerInfo&& value) { m_loadBalancerInfoHasBeenSet = true; m_loadBalancerInfo = std::move(value); } /** *

Information about the load balancer used in a deployment.

*/ inline UpdateDeploymentGroupRequest& WithLoadBalancerInfo(const LoadBalancerInfo& value) { SetLoadBalancerInfo(value); return *this;} /** *

Information about the load balancer used in a deployment.

*/ inline UpdateDeploymentGroupRequest& WithLoadBalancerInfo(LoadBalancerInfo&& value) { SetLoadBalancerInfo(std::move(value)); return *this;} /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline const EC2TagSet& GetEc2TagSet() const{ return m_ec2TagSet; } /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline bool Ec2TagSetHasBeenSet() const { return m_ec2TagSetHasBeenSet; } /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline void SetEc2TagSet(const EC2TagSet& value) { m_ec2TagSetHasBeenSet = true; m_ec2TagSet = value; } /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline void SetEc2TagSet(EC2TagSet&& value) { m_ec2TagSetHasBeenSet = true; m_ec2TagSet = std::move(value); } /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline UpdateDeploymentGroupRequest& WithEc2TagSet(const EC2TagSet& value) { SetEc2TagSet(value); return *this;} /** *

Information about groups of tags applied to on-premises instances. The * deployment group includes only Amazon EC2 instances identified by all the tag * groups.

*/ inline UpdateDeploymentGroupRequest& WithEc2TagSet(EC2TagSet&& value) { SetEc2TagSet(std::move(value)); return *this;} /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline const Aws::Vector& GetEcsServices() const{ return m_ecsServices; } /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline bool EcsServicesHasBeenSet() const { return m_ecsServicesHasBeenSet; } /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline void SetEcsServices(const Aws::Vector& value) { m_ecsServicesHasBeenSet = true; m_ecsServices = value; } /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline void SetEcsServices(Aws::Vector&& value) { m_ecsServicesHasBeenSet = true; m_ecsServices = std::move(value); } /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline UpdateDeploymentGroupRequest& WithEcsServices(const Aws::Vector& value) { SetEcsServices(value); return *this;} /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline UpdateDeploymentGroupRequest& WithEcsServices(Aws::Vector&& value) { SetEcsServices(std::move(value)); return *this;} /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline UpdateDeploymentGroupRequest& AddEcsServices(const ECSService& value) { m_ecsServicesHasBeenSet = true; m_ecsServices.push_back(value); return *this; } /** *

The target Amazon ECS services in the deployment group. This applies only to * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS * service is specified as an Amazon ECS cluster and service name pair using the * format <clustername>:<servicename>.

*/ inline UpdateDeploymentGroupRequest& AddEcsServices(ECSService&& value) { m_ecsServicesHasBeenSet = true; m_ecsServices.push_back(std::move(value)); return *this; } /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline const OnPremisesTagSet& GetOnPremisesTagSet() const{ return m_onPremisesTagSet; } /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline bool OnPremisesTagSetHasBeenSet() const { return m_onPremisesTagSetHasBeenSet; } /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline void SetOnPremisesTagSet(const OnPremisesTagSet& value) { m_onPremisesTagSetHasBeenSet = true; m_onPremisesTagSet = value; } /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline void SetOnPremisesTagSet(OnPremisesTagSet&& value) { m_onPremisesTagSetHasBeenSet = true; m_onPremisesTagSet = std::move(value); } /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline UpdateDeploymentGroupRequest& WithOnPremisesTagSet(const OnPremisesTagSet& value) { SetOnPremisesTagSet(value); return *this;} /** *

Information about an on-premises instance tag set. The deployment group * includes only on-premises instances identified by all the tag groups.

*/ inline UpdateDeploymentGroupRequest& WithOnPremisesTagSet(OnPremisesTagSet&& value) { SetOnPremisesTagSet(std::move(value)); return *this;} private: Aws::String m_applicationName; bool m_applicationNameHasBeenSet = false; Aws::String m_currentDeploymentGroupName; bool m_currentDeploymentGroupNameHasBeenSet = false; Aws::String m_newDeploymentGroupName; bool m_newDeploymentGroupNameHasBeenSet = false; Aws::String m_deploymentConfigName; bool m_deploymentConfigNameHasBeenSet = false; Aws::Vector m_ec2TagFilters; bool m_ec2TagFiltersHasBeenSet = false; Aws::Vector m_onPremisesInstanceTagFilters; bool m_onPremisesInstanceTagFiltersHasBeenSet = false; Aws::Vector m_autoScalingGroups; bool m_autoScalingGroupsHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; Aws::Vector m_triggerConfigurations; bool m_triggerConfigurationsHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; AutoRollbackConfiguration m_autoRollbackConfiguration; bool m_autoRollbackConfigurationHasBeenSet = false; OutdatedInstancesStrategy m_outdatedInstancesStrategy; bool m_outdatedInstancesStrategyHasBeenSet = false; DeploymentStyle m_deploymentStyle; bool m_deploymentStyleHasBeenSet = false; BlueGreenDeploymentConfiguration m_blueGreenDeploymentConfiguration; bool m_blueGreenDeploymentConfigurationHasBeenSet = false; LoadBalancerInfo m_loadBalancerInfo; bool m_loadBalancerInfoHasBeenSet = false; EC2TagSet m_ec2TagSet; bool m_ec2TagSetHasBeenSet = false; Aws::Vector m_ecsServices; bool m_ecsServicesHasBeenSet = false; OnPremisesTagSet m_onPremisesTagSet; bool m_onPremisesTagSetHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws