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>
17#include <aws/autoscaling/model/LifecycleHookSpecification.h>
18#include <aws/autoscaling/model/Tag.h>
19#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
58 template<
typename AutoScalingGroupNameT = Aws::String>
59 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) { m_autoScalingGroupNameHasBeenSet =
true; m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value); }
60 template<
typename AutoScalingGroupNameT = Aws::String>
74 template<
typename LaunchConfigurationNameT = Aws::String>
75 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet =
true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
76 template<
typename LaunchConfigurationNameT = Aws::String>
95 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
96 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
97 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
110 template<
typename MixedInstancesPolicyT = MixedInstancesPolicy>
111 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) { m_mixedInstancesPolicyHasBeenSet =
true; m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value); }
112 template<
typename MixedInstancesPolicyT = MixedInstancesPolicy>
130 template<
typename InstanceIdT = Aws::String>
131 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet =
true; m_instanceId = std::forward<InstanceIdT>(value); }
132 template<
typename InstanceIdT = Aws::String>
142 inline void SetMinSize(
int value) { m_minSizeHasBeenSet =
true; m_minSize = value; }
157 inline void SetMaxSize(
int value) { m_maxSizeHasBeenSet =
true; m_maxSize = value; }
172 inline void SetDesiredCapacity(
int value) { m_desiredCapacityHasBeenSet =
true; m_desiredCapacity = value; }
187 inline void SetDefaultCooldown(
int value) { m_defaultCooldownHasBeenSet =
true; m_defaultCooldown = value; }
201 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
202 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
203 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
205 template<
typename AvailabilityZonesT = Aws::String>
217 template<
typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
218 void SetLoadBalancerNames(LoadBalancerNamesT&& value) { m_loadBalancerNamesHasBeenSet =
true; m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value); }
219 template<
typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
221 template<
typename LoadBalancerNamesT = Aws::String>
237 template<
typename TargetGroupARNsT = Aws::Vector<Aws::String>>
238 void SetTargetGroupARNs(TargetGroupARNsT&& value) { m_targetGroupARNsHasBeenSet =
true; m_targetGroupARNs = std::forward<TargetGroupARNsT>(value); }
239 template<
typename TargetGroupARNsT = Aws::Vector<Aws::String>>
241 template<
typename TargetGroupARNsT = Aws::String>
258 template<
typename HealthCheckTypeT = Aws::String>
259 void SetHealthCheckType(HealthCheckTypeT&& value) { m_healthCheckTypeHasBeenSet =
true; m_healthCheckType = std::forward<HealthCheckTypeT>(value); }
260 template<
typename HealthCheckTypeT = Aws::String>
293 template<
typename PlacementGroupT = Aws::String>
294 void SetPlacementGroup(PlacementGroupT&& value) { m_placementGroupHasBeenSet =
true; m_placementGroup = std::forward<PlacementGroupT>(value); }
295 template<
typename PlacementGroupT = Aws::String>
308 template<
typename VPCZoneIdentifierT = Aws::String>
309 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) { m_vPCZoneIdentifierHasBeenSet =
true; m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value); }
310 template<
typename VPCZoneIdentifierT = Aws::String>
329 template<
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
330 void SetTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet =
true; m_terminationPolicies = std::forward<TerminationPoliciesT>(value); }
331 template<
typename TerminationPoliciesT = Aws::Vector<Aws::String>>
333 template<
typename TerminationPoliciesT = Aws::String>
365 inline void SetCapacityRebalance(
bool value) { m_capacityRebalanceHasBeenSet =
true; m_capacityRebalance = value; }
376 template<
typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
377 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) { m_lifecycleHookSpecificationListHasBeenSet =
true; m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value); }
378 template<
typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
380 template<
typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
399 template<
typename TagsT = Aws::Vector<Tag>>
400 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
401 template<
typename TagsT = Aws::Vector<Tag>>
403 template<
typename TagsT = Tag>
419 template<
typename ServiceLinkedRoleARNT = Aws::String>
420 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { m_serviceLinkedRoleARNHasBeenSet =
true; m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value); }
421 template<
typename ServiceLinkedRoleARNT = Aws::String>
446 template<
typename ContextT = Aws::String>
447 void SetContext(ContextT&& value) { m_contextHasBeenSet =
true; m_context = std::forward<ContextT>(value); }
448 template<
typename ContextT = Aws::String>
466 template<
typename DesiredCapacityTypeT = Aws::String>
467 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) { m_desiredCapacityTypeHasBeenSet =
true; m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value); }
468 template<
typename DesiredCapacityTypeT = Aws::String>
507 template<
typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
508 void SetTrafficSources(TrafficSourcesT&& value) { m_trafficSourcesHasBeenSet =
true; m_trafficSources = std::forward<TrafficSourcesT>(value); }
509 template<
typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
511 template<
typename TrafficSourcesT = TrafficSourceIdentifier>
524 template<
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
525 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { m_instanceMaintenancePolicyHasBeenSet =
true; m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value); }
526 template<
typename InstanceMa
intenancePolicyT = InstanceMa
intenancePolicy>
536 template<
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
537 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { m_availabilityZoneDistributionHasBeenSet =
true; m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value); }
538 template<
typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
548 template<
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
549 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { m_availabilityZoneImpairmentPolicyHasBeenSet =
true; m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value); }
550 template<
typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
575 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
576 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet =
true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
577 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
583 bool m_autoScalingGroupNameHasBeenSet =
false;
586 bool m_launchConfigurationNameHasBeenSet =
false;
589 bool m_launchTemplateHasBeenSet =
false;
592 bool m_mixedInstancesPolicyHasBeenSet =
false;
595 bool m_instanceIdHasBeenSet =
false;
598 bool m_minSizeHasBeenSet =
false;
601 bool m_maxSizeHasBeenSet =
false;
603 int m_desiredCapacity{0};
604 bool m_desiredCapacityHasBeenSet =
false;
606 int m_defaultCooldown{0};
607 bool m_defaultCooldownHasBeenSet =
false;
610 bool m_availabilityZonesHasBeenSet =
false;
613 bool m_loadBalancerNamesHasBeenSet =
false;
616 bool m_targetGroupARNsHasBeenSet =
false;
619 bool m_healthCheckTypeHasBeenSet =
false;
621 int m_healthCheckGracePeriod{0};
622 bool m_healthCheckGracePeriodHasBeenSet =
false;
625 bool m_placementGroupHasBeenSet =
false;
628 bool m_vPCZoneIdentifierHasBeenSet =
false;
631 bool m_terminationPoliciesHasBeenSet =
false;
633 bool m_newInstancesProtectedFromScaleIn{
false};
634 bool m_newInstancesProtectedFromScaleInHasBeenSet =
false;
636 bool m_capacityRebalance{
false};
637 bool m_capacityRebalanceHasBeenSet =
false;
640 bool m_lifecycleHookSpecificationListHasBeenSet =
false;
643 bool m_tagsHasBeenSet =
false;
646 bool m_serviceLinkedRoleARNHasBeenSet =
false;
648 int m_maxInstanceLifetime{0};
649 bool m_maxInstanceLifetimeHasBeenSet =
false;
652 bool m_contextHasBeenSet =
false;
655 bool m_desiredCapacityTypeHasBeenSet =
false;
657 int m_defaultInstanceWarmup{0};
658 bool m_defaultInstanceWarmupHasBeenSet =
false;
661 bool m_trafficSourcesHasBeenSet =
false;
663 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
664 bool m_instanceMaintenancePolicyHasBeenSet =
false;
666 AvailabilityZoneDistribution m_availabilityZoneDistribution;
667 bool m_availabilityZoneDistributionHasBeenSet =
false;
669 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
670 bool m_availabilityZoneImpairmentPolicyHasBeenSet =
false;
672 bool m_skipZonalShiftValidation{
false};
673 bool m_skipZonalShiftValidationHasBeenSet =
false;
675 CapacityReservationSpecification m_capacityReservationSpecification;
676 bool m_capacityReservationSpecificationHasBeenSet =
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 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
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)
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)
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