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/DeletionProtection.h>
13#include <aws/autoscaling/model/InstanceLifecyclePolicy.h>
14#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
15#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
16#include <aws/autoscaling/model/MixedInstancesPolicy.h>
17#include <aws/core/utils/memory/stl/AWSString.h>
18#include <aws/core/utils/memory/stl/AWSVector.h>
23namespace AutoScaling {
50 template <
typename AutoScalingGroupNameT = Aws::String>
52 m_autoScalingGroupNameHasBeenSet =
true;
53 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
55 template <
typename AutoScalingGroupNameT = Aws::String>
70 template <
typename LaunchConfigurationNameT = Aws::String>
72 m_launchConfigurationNameHasBeenSet =
true;
73 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
75 template <
typename LaunchConfigurationNameT = Aws::String>
90 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
92 m_launchTemplateHasBeenSet =
true;
93 m_launchTemplate = std::forward<LaunchTemplateT>(value);
95 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
116 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
118 m_mixedInstancesPolicyHasBeenSet =
true;
119 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
121 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
135 m_minSizeHasBeenSet =
true;
156 m_maxSizeHasBeenSet =
true;
175 m_desiredCapacityHasBeenSet =
true;
176 m_desiredCapacity = value;
196 m_defaultCooldownHasBeenSet =
true;
197 m_defaultCooldown = value;
211 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
213 m_availabilityZonesHasBeenSet =
true;
214 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
216 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
221 template <
typename AvailabilityZonesT = Aws::String>
223 m_availabilityZonesHasBeenSet =
true;
224 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
236 template <
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
238 m_availabilityZoneIdsHasBeenSet =
true;
239 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
241 template <
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
246 template <
typename AvailabilityZoneIdsT = Aws::String>
248 m_availabilityZoneIdsHasBeenSet =
true;
249 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
267 template <
typename HealthCheckTypeT = Aws::String>
269 m_healthCheckTypeHasBeenSet =
true;
270 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
272 template <
typename HealthCheckTypeT = Aws::String>
293 m_healthCheckGracePeriodHasBeenSet =
true;
294 m_healthCheckGracePeriod = value;
316 template <
typename PlacementGroupT = Aws::String>
318 m_placementGroupHasBeenSet =
true;
319 m_placementGroup = std::forward<PlacementGroupT>(value);
321 template <
typename PlacementGroupT = Aws::String>
336 template <
typename VPCZoneIdentifierT = Aws::String>
338 m_vPCZoneIdentifierHasBeenSet =
true;
339 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
341 template <
typename VPCZoneIdentifierT = Aws::String>
363 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
365 m_terminationPoliciesHasBeenSet =
true;
366 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
368 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
373 template <
typename TerminationPoliciesT = Aws::String>
375 m_terminationPoliciesHasBeenSet =
true;
376 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
393 m_newInstancesProtectedFromScaleInHasBeenSet =
true;
394 m_newInstancesProtectedFromScaleIn = value;
412 template <
typename ServiceLinkedRoleARNT = Aws::String>
414 m_serviceLinkedRoleARNHasBeenSet =
true;
415 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
417 template <
typename ServiceLinkedRoleARNT = Aws::String>
437 m_maxInstanceLifetimeHasBeenSet =
true;
438 m_maxInstanceLifetime = value;
461 m_capacityRebalanceHasBeenSet =
true;
462 m_capacityRebalance = value;
476 template <
typename ContextT = Aws::String>
478 m_contextHasBeenSet =
true;
479 m_context = std::forward<ContextT>(value);
481 template <
typename ContextT = Aws::String>
502 template <
typename DesiredCapacityTypeT = Aws::String>
504 m_desiredCapacityTypeHasBeenSet =
true;
505 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
507 template <
typename DesiredCapacityTypeT = Aws::String>
536 m_defaultInstanceWarmupHasBeenSet =
true;
537 m_defaultInstanceWarmup = value;
554 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
556 m_instanceMaintenancePolicyHasBeenSet =
true;
557 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
559 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
572 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
574 m_availabilityZoneDistributionHasBeenSet =
true;
575 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
577 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
590 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
592 m_availabilityZoneImpairmentPolicyHasBeenSet =
true;
593 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
595 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
614 m_skipZonalShiftValidationHasBeenSet =
true;
615 m_skipZonalShiftValidation = value;
629 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
631 m_capacityReservationSpecificationHasBeenSet =
true;
632 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
634 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
654 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
656 m_instanceLifecyclePolicyHasBeenSet =
true;
657 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
659 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
683 m_deletionProtectionHasBeenSet =
true;
684 m_deletionProtection = value;
704 int m_desiredCapacity{0};
706 int m_defaultCooldown{0};
714 int m_healthCheckGracePeriod{0};
722 bool m_newInstancesProtectedFromScaleIn{
false};
726 int m_maxInstanceLifetime{0};
728 bool m_capacityRebalance{
false};
734 int m_defaultInstanceWarmup{0};
736 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
738 AvailabilityZoneDistribution m_availabilityZoneDistribution;
740 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
742 bool m_skipZonalShiftValidation{
false};
744 CapacityReservationSpecification m_capacityReservationSpecification;
746 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
749 bool m_autoScalingGroupNameHasBeenSet =
false;
750 bool m_launchConfigurationNameHasBeenSet =
false;
751 bool m_launchTemplateHasBeenSet =
false;
752 bool m_mixedInstancesPolicyHasBeenSet =
false;
753 bool m_minSizeHasBeenSet =
false;
754 bool m_maxSizeHasBeenSet =
false;
755 bool m_desiredCapacityHasBeenSet =
false;
756 bool m_defaultCooldownHasBeenSet =
false;
757 bool m_availabilityZonesHasBeenSet =
false;
758 bool m_availabilityZoneIdsHasBeenSet =
false;
759 bool m_healthCheckTypeHasBeenSet =
false;
760 bool m_healthCheckGracePeriodHasBeenSet =
false;
761 bool m_placementGroupHasBeenSet =
false;
762 bool m_vPCZoneIdentifierHasBeenSet =
false;
763 bool m_terminationPoliciesHasBeenSet =
false;
764 bool m_newInstancesProtectedFromScaleInHasBeenSet =
false;
765 bool m_serviceLinkedRoleARNHasBeenSet =
false;
766 bool m_maxInstanceLifetimeHasBeenSet =
false;
767 bool m_capacityRebalanceHasBeenSet =
false;
768 bool m_contextHasBeenSet =
false;
769 bool m_desiredCapacityTypeHasBeenSet =
false;
770 bool m_defaultInstanceWarmupHasBeenSet =
false;
771 bool m_instanceMaintenancePolicyHasBeenSet =
false;
772 bool m_availabilityZoneDistributionHasBeenSet =
false;
773 bool m_availabilityZoneImpairmentPolicyHasBeenSet =
false;
774 bool m_skipZonalShiftValidationHasBeenSet =
false;
775 bool m_capacityReservationSpecificationHasBeenSet =
false;
776 bool m_instanceLifecyclePolicyHasBeenSet =
false;
777 bool m_deletionProtectionHasBeenSet =
false;
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
UpdateAutoScalingGroupRequest & WithDeletionProtection(DeletionProtection value)
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
DeletionProtection GetDeletionProtection() const
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
bool MaxSizeHasBeenSet() const
void SetAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
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
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
void SetLaunchTemplate(LaunchTemplateT &&value)
bool AvailabilityZoneIdsHasBeenSet() const
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)
UpdateAutoScalingGroupRequest & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&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)
UpdateAutoScalingGroupRequest & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
int GetHealthCheckGracePeriod() const
bool InstanceMaintenancePolicyHasBeenSet() const
int GetMaxInstanceLifetime() const
UpdateAutoScalingGroupRequest & WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
const Aws::String & GetHealthCheckType() const
UpdateAutoScalingGroupRequest & WithSkipZonalShiftValidation(bool value)
bool DeletionProtectionHasBeenSet() const
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
const Aws::String & GetVPCZoneIdentifier() const
void SetDeletionProtection(DeletionProtection value)
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