7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/AutoScalingRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
11#include <aws/autoscaling/model/MixedInstancesPolicy.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
14#include <aws/autoscaling/model/AvailabilityZoneDistribution.h>
15#include <aws/autoscaling/model/AvailabilityZoneImpairmentPolicy.h>
16#include <aws/autoscaling/model/CapacityReservationSpecification.h>
52 template<
typename AutoScalingGroupNameT = Aws::String>
53 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) { m_autoScalingGroupNameHasBeenSet =
true; m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value); }
54 template<
typename AutoScalingGroupNameT = Aws::String>
66 template<
typename LaunchConfigurationNameT = Aws::String>
67 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet =
true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
68 template<
typename LaunchConfigurationNameT = Aws::String>
80 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
81 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
82 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
95 template<
typename MixedInstancesPolicyT = MixedInstancesPolicy>
96 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) { m_mixedInstancesPolicyHasBeenSet =
true; m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value); }
97 template<
typename MixedInstancesPolicyT = MixedInstancesPolicy>
107 inline void SetMinSize(
int value) { m_minSizeHasBeenSet =
true; m_minSize = value; }
122 inline void SetMaxSize(
int value) { m_maxSizeHasBeenSet =
true; m_maxSize = value; }
135 inline void SetDesiredCapacity(
int value) { m_desiredCapacityHasBeenSet =
true; m_desiredCapacity = value; }
150 inline void SetDefaultCooldown(
int value) { m_defaultCooldownHasBeenSet =
true; m_defaultCooldown = value; }
160 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
161 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
162 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
164 template<
typename AvailabilityZonesT = Aws::String>
181 template<
typename HealthCheckTypeT = Aws::String>
182 void SetHealthCheckType(HealthCheckTypeT&& value) { m_healthCheckTypeHasBeenSet =
true; m_healthCheckType = std::forward<HealthCheckTypeT>(value); }
183 template<
typename HealthCheckTypeT = Aws::String>
218 template<
typename PlacementGroupT = Aws::String>
219 void SetPlacementGroup(PlacementGroupT&& value) { m_placementGroupHasBeenSet =
true; m_placementGroup = std::forward<PlacementGroupT>(value); }
220 template<
typename PlacementGroupT = Aws::String>
232 template<
typename VPCZoneIdentifierT = Aws::String>
233 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) { m_vPCZoneIdentifierHasBeenSet =
true; m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value); }
234 template<
typename VPCZoneIdentifierT = Aws::String>
253 template<
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
254 void SetTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet =
true; m_terminationPolicies = std::forward<TerminationPoliciesT>(value); }
255 template<
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
257 template<
typename TerminationPoliciesT = Aws::String>
286 template<
typename ServiceLinkedRoleARNT = Aws::String>
287 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { m_serviceLinkedRoleARNHasBeenSet =
true; m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value); }
288 template<
typename ServiceLinkedRoleARNT = Aws::String>
322 inline void SetCapacityRebalance(
bool value) { m_capacityRebalanceHasBeenSet =
true; m_capacityRebalance = value; }
332 template<
typename ContextT = Aws::String>
333 void SetContext(ContextT&& value) { m_contextHasBeenSet =
true; m_context = std::forward<ContextT>(value); }
334 template<
typename ContextT = Aws::String>
352 template<
typename DesiredCapacityTypeT = Aws::String>
353 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) { m_desiredCapacityTypeHasBeenSet =
true; m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value); }
354 template<
typename DesiredCapacityTypeT = Aws::String>
392 template<
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
393 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { m_instanceMaintenancePolicyHasBeenSet =
true; m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value); }
394 template<
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
404 template<
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
405 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { m_availabilityZoneDistributionHasBeenSet =
true; m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value); }
406 template<
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
416 template<
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
417 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { m_availabilityZoneImpairmentPolicyHasBeenSet =
true; m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value); }
418 template<
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
443 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
444 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet =
true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
445 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
451 bool m_autoScalingGroupNameHasBeenSet =
false;
454 bool m_launchConfigurationNameHasBeenSet =
false;
457 bool m_launchTemplateHasBeenSet =
false;
460 bool m_mixedInstancesPolicyHasBeenSet =
false;
463 bool m_minSizeHasBeenSet =
false;
466 bool m_maxSizeHasBeenSet =
false;
468 int m_desiredCapacity{0};
469 bool m_desiredCapacityHasBeenSet =
false;
471 int m_defaultCooldown{0};
472 bool m_defaultCooldownHasBeenSet =
false;
475 bool m_availabilityZonesHasBeenSet =
false;
478 bool m_healthCheckTypeHasBeenSet =
false;
480 int m_healthCheckGracePeriod{0};
481 bool m_healthCheckGracePeriodHasBeenSet =
false;
484 bool m_placementGroupHasBeenSet =
false;
487 bool m_vPCZoneIdentifierHasBeenSet =
false;
490 bool m_terminationPoliciesHasBeenSet =
false;
492 bool m_newInstancesProtectedFromScaleIn{
false};
493 bool m_newInstancesProtectedFromScaleInHasBeenSet =
false;
496 bool m_serviceLinkedRoleARNHasBeenSet =
false;
498 int m_maxInstanceLifetime{0};
499 bool m_maxInstanceLifetimeHasBeenSet =
false;
501 bool m_capacityRebalance{
false};
502 bool m_capacityRebalanceHasBeenSet =
false;
505 bool m_contextHasBeenSet =
false;
508 bool m_desiredCapacityTypeHasBeenSet =
false;
510 int m_defaultInstanceWarmup{0};
511 bool m_defaultInstanceWarmupHasBeenSet =
false;
513 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
514 bool m_instanceMaintenancePolicyHasBeenSet =
false;
516 AvailabilityZoneDistribution m_availabilityZoneDistribution;
517 bool m_availabilityZoneDistributionHasBeenSet =
false;
519 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
520 bool m_availabilityZoneImpairmentPolicyHasBeenSet =
false;
522 bool m_skipZonalShiftValidation{
false};
523 bool m_skipZonalShiftValidationHasBeenSet =
false;
525 CapacityReservationSpecification m_capacityReservationSpecification;
526 bool m_capacityReservationSpecificationHasBeenSet =
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
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)
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
UpdateAutoScalingGroupRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&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