/** * 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 #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeDeploy { namespace Model { /** *

Information about a deployment group.

See Also:

AWS * API Reference

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

The application name.

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

The application name.

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

The application name.

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

The application name.

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

The application name.

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

The application name.

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

The application name.

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

The application name.

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

The deployment group ID.

*/ inline const Aws::String& GetDeploymentGroupId() const{ return m_deploymentGroupId; } /** *

The deployment group ID.

*/ inline bool DeploymentGroupIdHasBeenSet() const { return m_deploymentGroupIdHasBeenSet; } /** *

The deployment group ID.

*/ inline void SetDeploymentGroupId(const Aws::String& value) { m_deploymentGroupIdHasBeenSet = true; m_deploymentGroupId = value; } /** *

The deployment group ID.

*/ inline void SetDeploymentGroupId(Aws::String&& value) { m_deploymentGroupIdHasBeenSet = true; m_deploymentGroupId = std::move(value); } /** *

The deployment group ID.

*/ inline void SetDeploymentGroupId(const char* value) { m_deploymentGroupIdHasBeenSet = true; m_deploymentGroupId.assign(value); } /** *

The deployment group ID.

*/ inline DeploymentGroupInfo& WithDeploymentGroupId(const Aws::String& value) { SetDeploymentGroupId(value); return *this;} /** *

The deployment group ID.

*/ inline DeploymentGroupInfo& WithDeploymentGroupId(Aws::String&& value) { SetDeploymentGroupId(std::move(value)); return *this;} /** *

The deployment group ID.

*/ inline DeploymentGroupInfo& WithDeploymentGroupId(const char* value) { SetDeploymentGroupId(value); return *this;} /** *

The deployment group name.

*/ inline const Aws::String& GetDeploymentGroupName() const{ return m_deploymentGroupName; } /** *

The deployment group name.

*/ inline bool DeploymentGroupNameHasBeenSet() const { return m_deploymentGroupNameHasBeenSet; } /** *

The deployment group name.

*/ inline void SetDeploymentGroupName(const Aws::String& value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName = value; } /** *

The deployment group name.

*/ inline void SetDeploymentGroupName(Aws::String&& value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName = std::move(value); } /** *

The deployment group name.

*/ inline void SetDeploymentGroupName(const char* value) { m_deploymentGroupNameHasBeenSet = true; m_deploymentGroupName.assign(value); } /** *

The deployment group name.

*/ inline DeploymentGroupInfo& WithDeploymentGroupName(const Aws::String& value) { SetDeploymentGroupName(value); return *this;} /** *

The deployment group name.

*/ inline DeploymentGroupInfo& WithDeploymentGroupName(Aws::String&& value) { SetDeploymentGroupName(std::move(value)); return *this;} /** *

The deployment group name.

*/ inline DeploymentGroupInfo& WithDeploymentGroupName(const char* value) { SetDeploymentGroupName(value); return *this;} /** *

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The deployment configuration name.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The Amazon EC2 tags on which to filter. The deployment group includes EC2 * instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

The on-premises instance tags on which to filter. The deployment group * includes on-premises instances with any of the specified tags.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A list of associated Auto Scaling groups.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission * to make calls to Amazon Web Services services on your behalf. For more * information, see Create * a Service Role for CodeDeploy in the CodeDeploy User Guide.

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

Information about the deployment group's target revision, including type and * location.

*/ inline const RevisionLocation& GetTargetRevision() const{ return m_targetRevision; } /** *

Information about the deployment group's target revision, including type and * location.

*/ inline bool TargetRevisionHasBeenSet() const { return m_targetRevisionHasBeenSet; } /** *

Information about the deployment group's target revision, including type and * location.

*/ inline void SetTargetRevision(const RevisionLocation& value) { m_targetRevisionHasBeenSet = true; m_targetRevision = value; } /** *

Information about the deployment group's target revision, including type and * location.

*/ inline void SetTargetRevision(RevisionLocation&& value) { m_targetRevisionHasBeenSet = true; m_targetRevision = std::move(value); } /** *

Information about the deployment group's target revision, including type and * location.

*/ inline DeploymentGroupInfo& WithTargetRevision(const RevisionLocation& value) { SetTargetRevision(value); return *this;} /** *

Information about the deployment group's target revision, including type and * location.

*/ inline DeploymentGroupInfo& WithTargetRevision(RevisionLocation&& value) { SetTargetRevision(std::move(value)); return *this;} /** *

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

Information about triggers associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

A list of alarms associated with the deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

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

Information about the automatic rollback configuration associated with the * deployment group.

*/ inline DeploymentGroupInfo& WithAutoRollbackConfiguration(AutoRollbackConfiguration&& value) { SetAutoRollbackConfiguration(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 DeploymentGroupInfo& 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 DeploymentGroupInfo& WithDeploymentStyle(DeploymentStyle&& value) { SetDeploymentStyle(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 DeploymentGroupInfo& 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 DeploymentGroupInfo& WithOutdatedInstancesStrategy(OutdatedInstancesStrategy&& value) { SetOutdatedInstancesStrategy(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 DeploymentGroupInfo& WithBlueGreenDeploymentConfiguration(const BlueGreenDeploymentConfiguration& value) { SetBlueGreenDeploymentConfiguration(value); return *this;} /** *

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

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

Information about the load balancer to use in a deployment.

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

Information about the load balancer to use in a deployment.

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

Information about the load balancer to use in a deployment.

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

Information about the load balancer to use in a deployment.

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

Information about the load balancer to use in a deployment.

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

Information about the load balancer to use in a deployment.

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

Information about the most recent successful deployment to the deployment * group.

*/ inline const LastDeploymentInfo& GetLastSuccessfulDeployment() const{ return m_lastSuccessfulDeployment; } /** *

Information about the most recent successful deployment to the deployment * group.

*/ inline bool LastSuccessfulDeploymentHasBeenSet() const { return m_lastSuccessfulDeploymentHasBeenSet; } /** *

Information about the most recent successful deployment to the deployment * group.

*/ inline void SetLastSuccessfulDeployment(const LastDeploymentInfo& value) { m_lastSuccessfulDeploymentHasBeenSet = true; m_lastSuccessfulDeployment = value; } /** *

Information about the most recent successful deployment to the deployment * group.

*/ inline void SetLastSuccessfulDeployment(LastDeploymentInfo&& value) { m_lastSuccessfulDeploymentHasBeenSet = true; m_lastSuccessfulDeployment = std::move(value); } /** *

Information about the most recent successful deployment to the deployment * group.

*/ inline DeploymentGroupInfo& WithLastSuccessfulDeployment(const LastDeploymentInfo& value) { SetLastSuccessfulDeployment(value); return *this;} /** *

Information about the most recent successful deployment to the deployment * group.

*/ inline DeploymentGroupInfo& WithLastSuccessfulDeployment(LastDeploymentInfo&& value) { SetLastSuccessfulDeployment(std::move(value)); return *this;} /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline const LastDeploymentInfo& GetLastAttemptedDeployment() const{ return m_lastAttemptedDeployment; } /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline bool LastAttemptedDeploymentHasBeenSet() const { return m_lastAttemptedDeploymentHasBeenSet; } /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline void SetLastAttemptedDeployment(const LastDeploymentInfo& value) { m_lastAttemptedDeploymentHasBeenSet = true; m_lastAttemptedDeployment = value; } /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline void SetLastAttemptedDeployment(LastDeploymentInfo&& value) { m_lastAttemptedDeploymentHasBeenSet = true; m_lastAttemptedDeployment = std::move(value); } /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline DeploymentGroupInfo& WithLastAttemptedDeployment(const LastDeploymentInfo& value) { SetLastAttemptedDeployment(value); return *this;} /** *

Information about the most recent attempted deployment to the deployment * group.

*/ inline DeploymentGroupInfo& WithLastAttemptedDeployment(LastDeploymentInfo&& value) { SetLastAttemptedDeployment(std::move(value)); return *this;} /** *

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an Amazon EC2 instance. The * deployment group includes only Amazon EC2 instances identified by all of the tag * groups. Cannot be used in the same call as ec2TagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

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

Information about groups of tags applied to an on-premises instance. The * deployment group includes only on-premises instances identified by all the tag * groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

*/ inline DeploymentGroupInfo& WithOnPremisesTagSet(OnPremisesTagSet&& value) { SetOnPremisesTagSet(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 DeploymentGroupInfo& WithComputePlatform(const ComputePlatform& value) { SetComputePlatform(value); return *this;} /** *

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

*/ inline DeploymentGroupInfo& WithComputePlatform(ComputePlatform&& value) { SetComputePlatform(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 DeploymentGroupInfo& 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 DeploymentGroupInfo& 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 DeploymentGroupInfo& 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 DeploymentGroupInfo& AddEcsServices(ECSService&& value) { m_ecsServicesHasBeenSet = true; m_ecsServices.push_back(std::move(value)); return *this; } private: Aws::String m_applicationName; bool m_applicationNameHasBeenSet = false; Aws::String m_deploymentGroupId; bool m_deploymentGroupIdHasBeenSet = false; Aws::String m_deploymentGroupName; bool m_deploymentGroupNameHasBeenSet = 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; RevisionLocation m_targetRevision; bool m_targetRevisionHasBeenSet = false; Aws::Vector m_triggerConfigurations; bool m_triggerConfigurationsHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; AutoRollbackConfiguration m_autoRollbackConfiguration; bool m_autoRollbackConfigurationHasBeenSet = false; DeploymentStyle m_deploymentStyle; bool m_deploymentStyleHasBeenSet = false; OutdatedInstancesStrategy m_outdatedInstancesStrategy; bool m_outdatedInstancesStrategyHasBeenSet = false; BlueGreenDeploymentConfiguration m_blueGreenDeploymentConfiguration; bool m_blueGreenDeploymentConfigurationHasBeenSet = false; LoadBalancerInfo m_loadBalancerInfo; bool m_loadBalancerInfoHasBeenSet = false; LastDeploymentInfo m_lastSuccessfulDeployment; bool m_lastSuccessfulDeploymentHasBeenSet = false; LastDeploymentInfo m_lastAttemptedDeployment; bool m_lastAttemptedDeploymentHasBeenSet = false; EC2TagSet m_ec2TagSet; bool m_ec2TagSetHasBeenSet = false; OnPremisesTagSet m_onPremisesTagSet; bool m_onPremisesTagSetHasBeenSet = false; ComputePlatform m_computePlatform; bool m_computePlatformHasBeenSet = false; Aws::Vector m_ecsServices; bool m_ecsServicesHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws