7#include <aws/autoscaling/AutoScalingRequest.h>
8#include <aws/autoscaling/AutoScaling_EXPORTS.h>
9#include <aws/autoscaling/model/AvailabilityZoneDistribution.h>
10#include <aws/autoscaling/model/AvailabilityZoneImpairmentPolicy.h>
11#include <aws/autoscaling/model/CapacityReservationSpecification.h>
12#include <aws/autoscaling/model/InstanceLifecyclePolicy.h>
13#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
14#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
15#include <aws/autoscaling/model/MixedInstancesPolicy.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
22namespace AutoScaling {
49 template <
typename AutoScalingGroupNameT = Aws::String>
51 m_autoScalingGroupNameHasBeenSet =
true;
52 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
54 template <
typename AutoScalingGroupNameT = Aws::String>
69 template <
typename LaunchConfigurationNameT = Aws::String>
71 m_launchConfigurationNameHasBeenSet =
true;
72 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
74 template <
typename LaunchConfigurationNameT = Aws::String>
89 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
91 m_launchTemplateHasBeenSet =
true;
92 m_launchTemplate = std::forward<LaunchTemplateT>(value);
94 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
110 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
112 m_mixedInstancesPolicyHasBeenSet =
true;
113 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
115 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
129 m_minSizeHasBeenSet =
true;
150 m_maxSizeHasBeenSet =
true;
169 m_desiredCapacityHasBeenSet =
true;
170 m_desiredCapacity = value;
190 m_defaultCooldownHasBeenSet =
true;
191 m_defaultCooldown = value;
205 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
207 m_availabilityZonesHasBeenSet =
true;
208 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
210 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
215 template <
typename AvailabilityZonesT = Aws::String>
217 m_availabilityZonesHasBeenSet =
true;
218 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
236 template <
typename HealthCheckTypeT = Aws::String>
238 m_healthCheckTypeHasBeenSet =
true;
239 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
241 template <
typename HealthCheckTypeT = Aws::String>
262 m_healthCheckGracePeriodHasBeenSet =
true;
263 m_healthCheckGracePeriod = value;
285 template <
typename PlacementGroupT = Aws::String>
287 m_placementGroupHasBeenSet =
true;
288 m_placementGroup = std::forward<PlacementGroupT>(value);
290 template <
typename PlacementGroupT = Aws::String>
305 template <
typename VPCZoneIdentifierT = Aws::String>
307 m_vPCZoneIdentifierHasBeenSet =
true;
308 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
310 template <
typename VPCZoneIdentifierT = Aws::String>
332 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
334 m_terminationPoliciesHasBeenSet =
true;
335 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
337 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
342 template <
typename TerminationPoliciesT = Aws::String>
344 m_terminationPoliciesHasBeenSet =
true;
345 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
362 m_newInstancesProtectedFromScaleInHasBeenSet =
true;
363 m_newInstancesProtectedFromScaleIn = value;
381 template <
typename ServiceLinkedRoleARNT = Aws::String>
383 m_serviceLinkedRoleARNHasBeenSet =
true;
384 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
386 template <
typename ServiceLinkedRoleARNT = Aws::String>
406 m_maxInstanceLifetimeHasBeenSet =
true;
407 m_maxInstanceLifetime = value;
430 m_capacityRebalanceHasBeenSet =
true;
431 m_capacityRebalance = value;
445 template <
typename ContextT = Aws::String>
447 m_contextHasBeenSet =
true;
448 m_context = std::forward<ContextT>(value);
450 template <
typename ContextT = Aws::String>
471 template <
typename DesiredCapacityTypeT = Aws::String>
473 m_desiredCapacityTypeHasBeenSet =
true;
474 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
476 template <
typename DesiredCapacityTypeT = Aws::String>
505 m_defaultInstanceWarmupHasBeenSet =
true;
506 m_defaultInstanceWarmup = value;
523 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
525 m_instanceMaintenancePolicyHasBeenSet =
true;
526 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
528 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
541 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
543 m_availabilityZoneDistributionHasBeenSet =
true;
544 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
546 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
559 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
561 m_availabilityZoneImpairmentPolicyHasBeenSet =
true;
562 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
564 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
583 m_skipZonalShiftValidationHasBeenSet =
true;
584 m_skipZonalShiftValidation = value;
598 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
600 m_capacityReservationSpecificationHasBeenSet =
true;
601 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
603 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
619 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
621 m_instanceLifecyclePolicyHasBeenSet =
true;
622 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
624 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
632 bool m_autoScalingGroupNameHasBeenSet =
false;
635 bool m_launchConfigurationNameHasBeenSet =
false;
638 bool m_launchTemplateHasBeenSet =
false;
641 bool m_mixedInstancesPolicyHasBeenSet =
false;
644 bool m_minSizeHasBeenSet =
false;
647 bool m_maxSizeHasBeenSet =
false;
649 int m_desiredCapacity{0};
650 bool m_desiredCapacityHasBeenSet =
false;
652 int m_defaultCooldown{0};
653 bool m_defaultCooldownHasBeenSet =
false;
656 bool m_availabilityZonesHasBeenSet =
false;
659 bool m_healthCheckTypeHasBeenSet =
false;
661 int m_healthCheckGracePeriod{0};
662 bool m_healthCheckGracePeriodHasBeenSet =
false;
665 bool m_placementGroupHasBeenSet =
false;
668 bool m_vPCZoneIdentifierHasBeenSet =
false;
671 bool m_terminationPoliciesHasBeenSet =
false;
673 bool m_newInstancesProtectedFromScaleIn{
false};
674 bool m_newInstancesProtectedFromScaleInHasBeenSet =
false;
677 bool m_serviceLinkedRoleARNHasBeenSet =
false;
679 int m_maxInstanceLifetime{0};
680 bool m_maxInstanceLifetimeHasBeenSet =
false;
682 bool m_capacityRebalance{
false};
683 bool m_capacityRebalanceHasBeenSet =
false;
686 bool m_contextHasBeenSet =
false;
689 bool m_desiredCapacityTypeHasBeenSet =
false;
691 int m_defaultInstanceWarmup{0};
692 bool m_defaultInstanceWarmupHasBeenSet =
false;
694 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
695 bool m_instanceMaintenancePolicyHasBeenSet =
false;
697 AvailabilityZoneDistribution m_availabilityZoneDistribution;
698 bool m_availabilityZoneDistributionHasBeenSet =
false;
700 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
701 bool m_availabilityZoneImpairmentPolicyHasBeenSet =
false;
703 bool m_skipZonalShiftValidation{
false};
704 bool m_skipZonalShiftValidationHasBeenSet =
false;
706 CapacityReservationSpecification m_capacityReservationSpecification;
707 bool m_capacityReservationSpecificationHasBeenSet =
false;
709 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
710 bool m_instanceLifecyclePolicyHasBeenSet =
false;
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
void SetDefaultCooldown(int value)
const Aws::String & GetContext() const
UpdateAutoScalingGroupRequest & WithLaunchTemplate(LaunchTemplateT &&value)
const Aws::String & GetAutoScalingGroupName() const
bool LaunchConfigurationNameHasBeenSet() const
void SetNewInstancesProtectedFromScaleIn(bool value)
void SetMixedInstancesPolicy(MixedInstancesPolicyT &&value)
bool GetSkipZonalShiftValidation() const
void SetPlacementGroup(PlacementGroupT &&value)
void SetTerminationPolicies(TerminationPoliciesT &&value)
bool DefaultCooldownHasBeenSet() const
UpdateAutoScalingGroupRequest & WithPlacementGroup(PlacementGroupT &&value)
bool AvailabilityZoneImpairmentPolicyHasBeenSet() const
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
bool MaxSizeHasBeenSet() const
bool GetCapacityRebalance() const
UpdateAutoScalingGroupRequest & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
bool NewInstancesProtectedFromScaleInHasBeenSet() const
const InstanceLifecyclePolicy & GetInstanceLifecyclePolicy() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
bool HealthCheckGracePeriodHasBeenSet() const
bool HealthCheckTypeHasBeenSet() const
bool ContextHasBeenSet() const
void SetLaunchTemplate(LaunchTemplateT &&value)
const Aws::String & GetDesiredCapacityType() const
const AvailabilityZoneDistribution & GetAvailabilityZoneDistribution() const
void SetContext(ContextT &&value)
bool CapacityReservationSpecificationHasBeenSet() const
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
UpdateAutoScalingGroupRequest & WithCapacityRebalance(bool value)
bool MaxInstanceLifetimeHasBeenSet() const
bool AvailabilityZoneDistributionHasBeenSet() const
const Aws::String & GetServiceLinkedRoleARN() const
bool SkipZonalShiftValidationHasBeenSet() const
UpdateAutoScalingGroupRequest & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
UpdateAutoScalingGroupRequest & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
bool InstanceLifecyclePolicyHasBeenSet() const
void SetMinSize(int value)
int GetDefaultInstanceWarmup() const
bool LaunchTemplateHasBeenSet() const
void SetLaunchConfigurationName(LaunchConfigurationNameT &&value)
UpdateAutoScalingGroupRequest & WithHealthCheckType(HealthCheckTypeT &&value)
bool ServiceLinkedRoleARNHasBeenSet() const
bool DesiredCapacityTypeHasBeenSet() const
const Aws::String & GetPlacementGroup() const
void SetSkipZonalShiftValidation(bool value)
bool GetNewInstancesProtectedFromScaleIn() const
UpdateAutoScalingGroupRequest & WithDefaultCooldown(int value)
bool MinSizeHasBeenSet() const
UpdateAutoScalingGroupRequest & WithDesiredCapacityType(DesiredCapacityTypeT &&value)
UpdateAutoScalingGroupRequest & WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
void SetDefaultInstanceWarmup(int value)
const Aws::String & GetLaunchConfigurationName() const
UpdateAutoScalingGroupRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
UpdateAutoScalingGroupRequest & WithMinSize(int value)
void SetMaxSize(int value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
UpdateAutoScalingGroupRequest & WithMaxInstanceLifetime(int value)
bool CapacityRebalanceHasBeenSet() const
UpdateAutoScalingGroupRequest & WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
bool PlacementGroupHasBeenSet() const
void SetVPCZoneIdentifier(VPCZoneIdentifierT &&value)
bool VPCZoneIdentifierHasBeenSet() const
UpdateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
bool DesiredCapacityHasBeenSet() const
UpdateAutoScalingGroupRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetMaxInstanceLifetime(int value)
void SetDesiredCapacity(int value)
UpdateAutoScalingGroupRequest & WithDefaultInstanceWarmup(int value)
void SetHealthCheckType(HealthCheckTypeT &&value)
UpdateAutoScalingGroupRequest & WithDesiredCapacity(int value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
UpdateAutoScalingGroupRequest & WithServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
virtual const char * GetServiceRequestName() const override
bool DefaultInstanceWarmupHasBeenSet() const
const CapacityReservationSpecification & GetCapacityReservationSpecification() const
void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
UpdateAutoScalingGroupRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
UpdateAutoScalingGroupRequest & WithInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
bool MixedInstancesPolicyHasBeenSet() const
void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
UpdateAutoScalingGroupRequest & WithMaxSize(int value)
void SetDesiredCapacityType(DesiredCapacityTypeT &&value)
UpdateAutoScalingGroupRequest & WithTerminationPolicies(TerminationPoliciesT &&value)
const AvailabilityZoneImpairmentPolicy & GetAvailabilityZoneImpairmentPolicy() const
void SetCapacityRebalance(bool value)
bool AvailabilityZonesHasBeenSet() const
bool AutoScalingGroupNameHasBeenSet() const
UpdateAutoScalingGroupRequest & WithContext(ContextT &&value)
UpdateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
int GetHealthCheckGracePeriod() const
bool InstanceMaintenancePolicyHasBeenSet() const
int GetMaxInstanceLifetime() const
UpdateAutoScalingGroupRequest & WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
const Aws::String & GetHealthCheckType() const
UpdateAutoScalingGroupRequest & WithSkipZonalShiftValidation(bool value)
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
const Aws::String & GetVPCZoneIdentifier() const
void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
AWS_AUTOSCALING_API UpdateAutoScalingGroupRequest()=default
UpdateAutoScalingGroupRequest & AddTerminationPolicies(TerminationPoliciesT &&value)
void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
UpdateAutoScalingGroupRequest & WithVPCZoneIdentifier(VPCZoneIdentifierT &&value)
bool TerminationPoliciesHasBeenSet() const
int GetDesiredCapacity() const
int GetDefaultCooldown() const
void SetHealthCheckGracePeriod(int value)
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector