/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides details about an auto scaling group.See Also:
AWS
* API Reference
The name of the launch configuration.
*/ inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; } /** *The name of the launch configuration.
*/ inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; } /** *The name of the launch configuration.
*/ inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; } /** *The name of the launch configuration.
*/ inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::move(value); } /** *The name of the launch configuration.
*/ inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); } /** *The name of the launch configuration.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(const Aws::String& value) { SetLaunchConfigurationName(value); return *this;} /** *The name of the launch configuration.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(std::move(value)); return *this;} /** *The name of the launch configuration.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;} /** *The list of load balancers associated with the group.
*/ inline const Aws::VectorThe list of load balancers associated with the group.
*/ inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; } /** *The list of load balancers associated with the group.
*/ inline void SetLoadBalancerNames(const Aws::VectorThe list of load balancers associated with the group.
*/ inline void SetLoadBalancerNames(Aws::VectorThe list of load balancers associated with the group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLoadBalancerNames(const Aws::VectorThe list of load balancers associated with the group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLoadBalancerNames(Aws::VectorThe list of load balancers associated with the group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } /** *The list of load balancers associated with the group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(std::move(value)); return *this; } /** *The list of load balancers associated with the group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } /** *The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The service to use for the health checks. Valid values are EC2
* or ELB
.
The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.
*/ inline int GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; } /** *The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.
*/ inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; } /** *The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.
*/ inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; } /** *The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithHealthCheckGracePeriod(int value) { SetHealthCheckGracePeriod(value); return *this;} /** *Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the auto scaling group was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The mixed instances policy for the automatic scaling group.
*/ inline const AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails& GetMixedInstancesPolicy() const{ return m_mixedInstancesPolicy; } /** *The mixed instances policy for the automatic scaling group.
*/ inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; } /** *The mixed instances policy for the automatic scaling group.
*/ inline void SetMixedInstancesPolicy(const AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails& value) { m_mixedInstancesPolicyHasBeenSet = true; m_mixedInstancesPolicy = value; } /** *The mixed instances policy for the automatic scaling group.
*/ inline void SetMixedInstancesPolicy(AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails&& value) { m_mixedInstancesPolicyHasBeenSet = true; m_mixedInstancesPolicy = std::move(value); } /** *The mixed instances policy for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithMixedInstancesPolicy(const AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails& value) { SetMixedInstancesPolicy(value); return *this;} /** *The mixed instances policy for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithMixedInstancesPolicy(AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails&& value) { SetMixedInstancesPolicy(std::move(value)); return *this;} /** *The list of Availability Zones for the automatic scaling group.
*/ inline const Aws::VectorThe list of Availability Zones for the automatic scaling group.
*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *The list of Availability Zones for the automatic scaling group.
*/ inline void SetAvailabilityZones(const Aws::VectorThe list of Availability Zones for the automatic scaling group.
*/ inline void SetAvailabilityZones(Aws::VectorThe list of Availability Zones for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithAvailabilityZones(const Aws::VectorThe list of Availability Zones for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithAvailabilityZones(Aws::VectorThe list of Availability Zones for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& AddAvailabilityZones(const AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *The list of Availability Zones for the automatic scaling group.
*/ inline AwsAutoScalingAutoScalingGroupDetails& AddAvailabilityZones(AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *The launch template to use.
*/ inline const AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& GetLaunchTemplate() const{ return m_launchTemplate; } /** *The launch template to use.
*/ inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; } /** *The launch template to use.
*/ inline void SetLaunchTemplate(const AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = value; } /** *The launch template to use.
*/ inline void SetLaunchTemplate(AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification&& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = std::move(value); } /** *The launch template to use.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchTemplate(const AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& value) { SetLaunchTemplate(value); return *this;} /** *The launch template to use.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchTemplate(AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification&& value) { SetLaunchTemplate(std::move(value)); return *this;} /** *Indicates whether capacity rebalancing is enabled.
*/ inline bool GetCapacityRebalance() const{ return m_capacityRebalance; } /** *Indicates whether capacity rebalancing is enabled.
*/ inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; } /** *Indicates whether capacity rebalancing is enabled.
*/ inline void SetCapacityRebalance(bool value) { m_capacityRebalanceHasBeenSet = true; m_capacityRebalance = value; } /** *Indicates whether capacity rebalancing is enabled.
*/ inline AwsAutoScalingAutoScalingGroupDetails& WithCapacityRebalance(bool value) { SetCapacityRebalance(value); return *this;} private: Aws::String m_launchConfigurationName; bool m_launchConfigurationNameHasBeenSet = false; Aws::Vector