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/LifecycleHookSpecification.h>
16#include <aws/autoscaling/model/MixedInstancesPolicy.h>
17#include <aws/autoscaling/model/Tag.h>
18#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
19#include <aws/core/utils/memory/stl/AWSString.h>
20#include <aws/core/utils/memory/stl/AWSVector.h>
25namespace AutoScaling {
55 template <
typename AutoScalingGroupNameT = Aws::String>
57 m_autoScalingGroupNameHasBeenSet =
true;
58 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
60 template <
typename AutoScalingGroupNameT = Aws::String>
77 template <
typename LaunchConfigurationNameT = Aws::String>
79 m_launchConfigurationNameHasBeenSet =
true;
80 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
82 template <
typename LaunchConfigurationNameT = Aws::String>
104 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
106 m_launchTemplateHasBeenSet =
true;
107 m_launchTemplate = std::forward<LaunchTemplateT>(value);
109 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
125 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
127 m_mixedInstancesPolicyHasBeenSet =
true;
128 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
130 template <
typename MixedInstancesPolicyT = MixedInstancesPolicy>
151 template <
typename InstanceIdT = Aws::String>
153 m_instanceIdHasBeenSet =
true;
154 m_instanceId = std::forward<InstanceIdT>(value);
156 template <
typename InstanceIdT = Aws::String>
170 m_minSizeHasBeenSet =
true;
191 m_maxSizeHasBeenSet =
true;
212 m_desiredCapacityHasBeenSet =
true;
213 m_desiredCapacity = value;
233 m_defaultCooldownHasBeenSet =
true;
234 m_defaultCooldown = value;
252 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
254 m_availabilityZonesHasBeenSet =
true;
255 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
257 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
262 template <
typename AvailabilityZonesT = Aws::String>
264 m_availabilityZonesHasBeenSet =
true;
265 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
278 template <
typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
280 m_loadBalancerNamesHasBeenSet =
true;
281 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
283 template <
typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
288 template <
typename LoadBalancerNamesT = Aws::String>
290 m_loadBalancerNamesHasBeenSet =
true;
291 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
308 template <
typename TargetGroupARNsT = Aws::Vector<Aws::String>>
310 m_targetGroupARNsHasBeenSet =
true;
311 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
313 template <
typename TargetGroupARNsT = Aws::Vector<Aws::String>>
318 template <
typename TargetGroupARNsT = Aws::String>
320 m_targetGroupARNsHasBeenSet =
true;
321 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
339 template <
typename HealthCheckTypeT = Aws::String>
341 m_healthCheckTypeHasBeenSet =
true;
342 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
344 template <
typename HealthCheckTypeT = Aws::String>
365 m_healthCheckGracePeriodHasBeenSet =
true;
366 m_healthCheckGracePeriod = value;
386 template <
typename PlacementGroupT = Aws::String>
388 m_placementGroupHasBeenSet =
true;
389 m_placementGroup = std::forward<PlacementGroupT>(value);
391 template <
typename PlacementGroupT = Aws::String>
407 template <
typename VPCZoneIdentifierT = Aws::String>
409 m_vPCZoneIdentifierHasBeenSet =
true;
410 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
412 template <
typename VPCZoneIdentifierT = Aws::String>
434 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
436 m_terminationPoliciesHasBeenSet =
true;
437 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
439 template <
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
444 template <
typename TerminationPoliciesT = Aws::String>
446 m_terminationPoliciesHasBeenSet =
true;
447 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
464 m_newInstancesProtectedFromScaleInHasBeenSet =
true;
465 m_newInstancesProtectedFromScaleIn = value;
487 m_capacityRebalanceHasBeenSet =
true;
488 m_capacityRebalance = value;
502 return m_lifecycleHookSpecificationList;
505 template <
typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
507 m_lifecycleHookSpecificationListHasBeenSet =
true;
508 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
510 template <
typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
515 template <
typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
517 m_lifecycleHookSpecificationListHasBeenSet =
true;
518 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
538 template <
typename TagsT = Aws::Vector<Tag>>
540 m_tagsHasBeenSet =
true;
541 m_tags = std::forward<TagsT>(value);
543 template <
typename TagsT = Aws::Vector<Tag>>
545 SetTags(std::forward<TagsT>(value));
548 template <
typename TagsT = Tag>
550 m_tagsHasBeenSet =
true;
551 m_tags.emplace_back(std::forward<TagsT>(value));
568 template <
typename ServiceLinkedRoleARNT = Aws::String>
570 m_serviceLinkedRoleARNHasBeenSet =
true;
571 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
573 template <
typename ServiceLinkedRoleARNT = Aws::String>
592 m_maxInstanceLifetimeHasBeenSet =
true;
593 m_maxInstanceLifetime = value;
607 template <
typename ContextT = Aws::String>
609 m_contextHasBeenSet =
true;
610 m_context = std::forward<ContextT>(value);
612 template <
typename ContextT = Aws::String>
633 template <
typename DesiredCapacityTypeT = Aws::String>
635 m_desiredCapacityTypeHasBeenSet =
true;
636 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
638 template <
typename DesiredCapacityTypeT = Aws::String>
668 m_defaultInstanceWarmupHasBeenSet =
true;
669 m_defaultInstanceWarmup = value;
686 template <
typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
688 m_trafficSourcesHasBeenSet =
true;
689 m_trafficSources = std::forward<TrafficSourcesT>(value);
691 template <
typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
696 template <
typename TrafficSourcesT = TrafficSourceIdentifier>
698 m_trafficSourcesHasBeenSet =
true;
699 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
713 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
715 m_instanceMaintenancePolicyHasBeenSet =
true;
716 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
718 template <
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
731 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
733 m_availabilityZoneDistributionHasBeenSet =
true;
734 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
736 template <
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
749 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
751 m_availabilityZoneImpairmentPolicyHasBeenSet =
true;
752 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
754 template <
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
773 m_skipZonalShiftValidationHasBeenSet =
true;
774 m_skipZonalShiftValidation = value;
788 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
790 m_capacityReservationSpecificationHasBeenSet =
true;
791 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
793 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
811 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
813 m_instanceLifecyclePolicyHasBeenSet =
true;
814 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
816 template <
typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
824 bool m_autoScalingGroupNameHasBeenSet =
false;
827 bool m_launchConfigurationNameHasBeenSet =
false;
830 bool m_launchTemplateHasBeenSet =
false;
833 bool m_mixedInstancesPolicyHasBeenSet =
false;
836 bool m_instanceIdHasBeenSet =
false;
839 bool m_minSizeHasBeenSet =
false;
842 bool m_maxSizeHasBeenSet =
false;
844 int m_desiredCapacity{0};
845 bool m_desiredCapacityHasBeenSet =
false;
847 int m_defaultCooldown{0};
848 bool m_defaultCooldownHasBeenSet =
false;
851 bool m_availabilityZonesHasBeenSet =
false;
854 bool m_loadBalancerNamesHasBeenSet =
false;
857 bool m_targetGroupARNsHasBeenSet =
false;
860 bool m_healthCheckTypeHasBeenSet =
false;
862 int m_healthCheckGracePeriod{0};
863 bool m_healthCheckGracePeriodHasBeenSet =
false;
866 bool m_placementGroupHasBeenSet =
false;
869 bool m_vPCZoneIdentifierHasBeenSet =
false;
872 bool m_terminationPoliciesHasBeenSet =
false;
874 bool m_newInstancesProtectedFromScaleIn{
false};
875 bool m_newInstancesProtectedFromScaleInHasBeenSet =
false;
877 bool m_capacityRebalance{
false};
878 bool m_capacityRebalanceHasBeenSet =
false;
881 bool m_lifecycleHookSpecificationListHasBeenSet =
false;
884 bool m_tagsHasBeenSet =
false;
887 bool m_serviceLinkedRoleARNHasBeenSet =
false;
889 int m_maxInstanceLifetime{0};
890 bool m_maxInstanceLifetimeHasBeenSet =
false;
893 bool m_contextHasBeenSet =
false;
896 bool m_desiredCapacityTypeHasBeenSet =
false;
898 int m_defaultInstanceWarmup{0};
899 bool m_defaultInstanceWarmupHasBeenSet =
false;
902 bool m_trafficSourcesHasBeenSet =
false;
904 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
905 bool m_instanceMaintenancePolicyHasBeenSet =
false;
907 AvailabilityZoneDistribution m_availabilityZoneDistribution;
908 bool m_availabilityZoneDistributionHasBeenSet =
false;
910 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
911 bool m_availabilityZoneImpairmentPolicyHasBeenSet =
false;
913 bool m_skipZonalShiftValidation{
false};
914 bool m_skipZonalShiftValidationHasBeenSet =
false;
916 CapacityReservationSpecification m_capacityReservationSpecification;
917 bool m_capacityReservationSpecificationHasBeenSet =
false;
919 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
920 bool m_instanceLifecyclePolicyHasBeenSet =
false;
bool ContextHasBeenSet() const
void SetHealthCheckGracePeriod(int value)
void SetMaxInstanceLifetime(int value)
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
bool TargetGroupARNsHasBeenSet() const
void SetTrafficSources(TrafficSourcesT &&value)
bool CapacityReservationSpecificationHasBeenSet() const
bool InstanceLifecyclePolicyHasBeenSet() const
bool LaunchTemplateHasBeenSet() const
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(VPCZoneIdentifierT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
CreateAutoScalingGroupRequest & WithSkipZonalShiftValidation(bool value)
CreateAutoScalingGroupRequest & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
bool AvailabilityZoneDistributionHasBeenSet() const
void SetMixedInstancesPolicy(MixedInstancesPolicyT &&value)
void SetInstanceId(InstanceIdT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
CreateAutoScalingGroupRequest & WithTrafficSources(TrafficSourcesT &&value)
void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
bool TrafficSourcesHasBeenSet() const
CreateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
bool LifecycleHookSpecificationListHasBeenSet() const
bool SkipZonalShiftValidationHasBeenSet() const
const Aws::String & GetDesiredCapacityType() const
int GetDesiredCapacity() const
void SetSkipZonalShiftValidation(bool value)
bool AvailabilityZoneImpairmentPolicyHasBeenSet() const
CreateAutoScalingGroupRequest & AddTrafficSources(TrafficSourcesT &&value)
bool GetSkipZonalShiftValidation() const
void SetDesiredCapacityType(DesiredCapacityTypeT &&value)
const AvailabilityZoneImpairmentPolicy & GetAvailabilityZoneImpairmentPolicy() const
const Aws::String & GetInstanceId() const
void SetTargetGroupARNs(TargetGroupARNsT &&value)
const Aws::String & GetLaunchConfigurationName() const
void SetDefaultInstanceWarmup(int value)
bool InstanceMaintenancePolicyHasBeenSet() const
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
const Aws::String & GetHealthCheckType() const
CreateAutoScalingGroupRequest & WithServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
bool DesiredCapacityHasBeenSet() const
int GetDefaultInstanceWarmup() const
CreateAutoScalingGroupRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateAutoScalingGroupRequest & WithDesiredCapacity(int value)
const Aws::String & GetAutoScalingGroupName() const
bool HealthCheckTypeHasBeenSet() const
const Aws::String & GetContext() const
bool VPCZoneIdentifierHasBeenSet() const
CreateAutoScalingGroupRequest & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(TerminationPoliciesT &&value)
bool MaxInstanceLifetimeHasBeenSet() const
bool AutoScalingGroupNameHasBeenSet() const
CreateAutoScalingGroupRequest & WithCapacityRebalance(bool value)
CreateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
CreateAutoScalingGroupRequest & AddTags(TagsT &&value)
CreateAutoScalingGroupRequest & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetTargetGroupARNs() const
const Aws::Vector< Tag > & GetTags() const
bool MixedInstancesPolicyHasBeenSet() const
CreateAutoScalingGroupRequest & AddTargetGroupARNs(TargetGroupARNsT &&value)
CreateAutoScalingGroupRequest & WithDefaultInstanceWarmup(int value)
CreateAutoScalingGroupRequest & WithDefaultCooldown(int value)
void SetTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
void SetNewInstancesProtectedFromScaleIn(bool value)
const Aws::String & GetVPCZoneIdentifier() const
void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
CreateAutoScalingGroupRequest & WithLoadBalancerNames(LoadBalancerNamesT &&value)
void SetLaunchTemplate(LaunchTemplateT &&value)
void SetDesiredCapacity(int value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
bool MinSizeHasBeenSet() const
bool NewInstancesProtectedFromScaleInHasBeenSet() const
bool GetCapacityRebalance() const
void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
int GetHealthCheckGracePeriod() const
const Aws::String & GetPlacementGroup() const
bool AvailabilityZonesHasBeenSet() const
bool DefaultCooldownHasBeenSet() const
virtual const char * GetServiceRequestName() const override
void SetLaunchConfigurationName(LaunchConfigurationNameT &&value)
void SetMinSize(int value)
void SetTags(TagsT &&value)
bool TagsHasBeenSet() const
CreateAutoScalingGroupRequest & AddLoadBalancerNames(LoadBalancerNamesT &&value)
CreateAutoScalingGroupRequest & WithContext(ContextT &&value)
bool DesiredCapacityTypeHasBeenSet() const
void SetCapacityRebalance(bool value)
bool InstanceIdHasBeenSet() const
void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
CreateAutoScalingGroupRequest & WithInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
void SetLoadBalancerNames(LoadBalancerNamesT &&value)
AWS_AUTOSCALING_API CreateAutoScalingGroupRequest()=default
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
bool LaunchConfigurationNameHasBeenSet() const
bool MaxSizeHasBeenSet() const
bool GetNewInstancesProtectedFromScaleIn() const
void SetDefaultCooldown(int value)
void SetContext(ContextT &&value)
const Aws::Vector< TrafficSourceIdentifier > & GetTrafficSources() const
CreateAutoScalingGroupRequest & WithMaxSize(int value)
CreateAutoScalingGroupRequest & WithMaxInstanceLifetime(int value)
const InstanceLifecyclePolicy & GetInstanceLifecyclePolicy() const
void SetMaxSize(int value)
CreateAutoScalingGroupRequest & WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
bool CapacityRebalanceHasBeenSet() const
bool DefaultInstanceWarmupHasBeenSet() const
CreateAutoScalingGroupRequest & WithMinSize(int value)
CreateAutoScalingGroupRequest & WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
void SetPlacementGroup(PlacementGroupT &&value)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
void SetHealthCheckType(HealthCheckTypeT &&value)
CreateAutoScalingGroupRequest & WithInstanceId(InstanceIdT &&value)
bool PlacementGroupHasBeenSet() const
void SetVPCZoneIdentifier(VPCZoneIdentifierT &&value)
void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
bool ServiceLinkedRoleARNHasBeenSet() const
const AvailabilityZoneDistribution & GetAvailabilityZoneDistribution() const
CreateAutoScalingGroupRequest & WithPlacementGroup(PlacementGroupT &&value)
const Aws::String & GetServiceLinkedRoleARN() const
CreateAutoScalingGroupRequest & WithHealthCheckType(HealthCheckTypeT &&value)
bool TerminationPoliciesHasBeenSet() const
CreateAutoScalingGroupRequest & AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
bool LoadBalancerNamesHasBeenSet() const
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
bool HealthCheckGracePeriodHasBeenSet() const
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
CreateAutoScalingGroupRequest & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
CreateAutoScalingGroupRequest & WithLaunchTemplate(LaunchTemplateT &&value)
const Aws::Vector< LifecycleHookSpecification > & GetLifecycleHookSpecificationList() const
CreateAutoScalingGroupRequest & WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
const CapacityReservationSpecification & GetCapacityReservationSpecification() const
CreateAutoScalingGroupRequest & WithDesiredCapacityType(DesiredCapacityTypeT &&value)
CreateAutoScalingGroupRequest & WithTargetGroupARNs(TargetGroupARNsT &&value)
int GetMaxInstanceLifetime() const
void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
int GetDefaultCooldown() const
CreateAutoScalingGroupRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector