AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
CreateAutoScalingGroupRequest.h
1
6#pragma once
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>
21
22#include <utility>
23
24namespace Aws {
25namespace AutoScaling {
26namespace Model {
27
31 public:
32 AWS_AUTOSCALING_API CreateAutoScalingGroupRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateAutoScalingGroup"; }
39
40 AWS_AUTOSCALING_API Aws::String SerializePayload() const override;
41
42 protected:
43 AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
44
45 public:
47
53 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
54 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
55 template <typename AutoScalingGroupNameT = Aws::String>
56 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) {
57 m_autoScalingGroupNameHasBeenSet = true;
58 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
59 }
60 template <typename AutoScalingGroupNameT = Aws::String>
62 SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value));
63 return *this;
64 }
66
68
75 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
76 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
77 template <typename LaunchConfigurationNameT = Aws::String>
78 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) {
79 m_launchConfigurationNameHasBeenSet = true;
80 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
81 }
82 template <typename LaunchConfigurationNameT = Aws::String>
84 SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value));
85 return *this;
86 }
88
90
102 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
103 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
104 template <typename LaunchTemplateT = LaunchTemplateSpecification>
105 void SetLaunchTemplate(LaunchTemplateT&& value) {
106 m_launchTemplateHasBeenSet = true;
107 m_launchTemplate = std::forward<LaunchTemplateT>(value);
108 }
109 template <typename LaunchTemplateT = LaunchTemplateSpecification>
111 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
112 return *this;
113 }
115
117
123 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
124 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
125 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
126 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
127 m_mixedInstancesPolicyHasBeenSet = true;
128 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
129 }
130 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
132 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
133 return *this;
134 }
136
138
149 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
150 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
151 template <typename InstanceIdT = Aws::String>
152 void SetInstanceId(InstanceIdT&& value) {
153 m_instanceIdHasBeenSet = true;
154 m_instanceId = std::forward<InstanceIdT>(value);
155 }
156 template <typename InstanceIdT = Aws::String>
158 SetInstanceId(std::forward<InstanceIdT>(value));
159 return *this;
160 }
162
164
167 inline int GetMinSize() const { return m_minSize; }
168 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
169 inline void SetMinSize(int value) {
170 m_minSizeHasBeenSet = true;
171 m_minSize = value;
172 }
174 SetMinSize(value);
175 return *this;
176 }
178
180
188 inline int GetMaxSize() const { return m_maxSize; }
189 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
190 inline void SetMaxSize(int value) {
191 m_maxSizeHasBeenSet = true;
192 m_maxSize = value;
193 }
195 SetMaxSize(value);
196 return *this;
197 }
199
201
209 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
210 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
211 inline void SetDesiredCapacity(int value) {
212 m_desiredCapacityHasBeenSet = true;
213 m_desiredCapacity = value;
214 }
216 SetDesiredCapacity(value);
217 return *this;
218 }
220
222
230 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
231 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
232 inline void SetDefaultCooldown(int value) {
233 m_defaultCooldownHasBeenSet = true;
234 m_defaultCooldown = value;
235 }
237 SetDefaultCooldown(value);
238 return *this;
239 }
241
243
250 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
251 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
252 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
253 void SetAvailabilityZones(AvailabilityZonesT&& value) {
254 m_availabilityZonesHasBeenSet = true;
255 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
256 }
257 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
259 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
260 return *this;
261 }
262 template <typename AvailabilityZonesT = Aws::String>
264 m_availabilityZonesHasBeenSet = true;
265 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
266 return *this;
267 }
269
271
276 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
277 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
278 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
279 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
280 m_loadBalancerNamesHasBeenSet = true;
281 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
282 }
283 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
285 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
286 return *this;
287 }
288 template <typename LoadBalancerNamesT = Aws::String>
290 m_loadBalancerNamesHasBeenSet = true;
291 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
292 return *this;
293 }
295
297
306 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
307 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
308 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
309 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
310 m_targetGroupARNsHasBeenSet = true;
311 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
312 }
313 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
315 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
316 return *this;
317 }
318 template <typename TargetGroupARNsT = Aws::String>
320 m_targetGroupARNsHasBeenSet = true;
321 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
322 return *this;
323 }
325
327
337 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
338 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
339 template <typename HealthCheckTypeT = Aws::String>
340 void SetHealthCheckType(HealthCheckTypeT&& value) {
341 m_healthCheckTypeHasBeenSet = true;
342 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
343 }
344 template <typename HealthCheckTypeT = Aws::String>
346 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
347 return *this;
348 }
350
352
362 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
363 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
364 inline void SetHealthCheckGracePeriod(int value) {
365 m_healthCheckGracePeriodHasBeenSet = true;
366 m_healthCheckGracePeriod = value;
367 }
370 return *this;
371 }
373
375
384 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
385 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
386 template <typename PlacementGroupT = Aws::String>
387 void SetPlacementGroup(PlacementGroupT&& value) {
388 m_placementGroupHasBeenSet = true;
389 m_placementGroup = std::forward<PlacementGroupT>(value);
390 }
391 template <typename PlacementGroupT = Aws::String>
393 SetPlacementGroup(std::forward<PlacementGroupT>(value));
394 return *this;
395 }
397
399
405 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
406 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
407 template <typename VPCZoneIdentifierT = Aws::String>
408 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
409 m_vPCZoneIdentifierHasBeenSet = true;
410 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
411 }
412 template <typename VPCZoneIdentifierT = Aws::String>
414 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
415 return *this;
416 }
418
420
432 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
433 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
434 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
435 void SetTerminationPolicies(TerminationPoliciesT&& value) {
436 m_terminationPoliciesHasBeenSet = true;
437 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
438 }
439 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
441 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
442 return *this;
443 }
444 template <typename TerminationPoliciesT = Aws::String>
446 m_terminationPoliciesHasBeenSet = true;
447 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
448 return *this;
449 }
451
453
461 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
462 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
463 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
464 m_newInstancesProtectedFromScaleInHasBeenSet = true;
465 m_newInstancesProtectedFromScaleIn = value;
466 }
469 return *this;
470 }
472
474
484 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
485 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
486 inline void SetCapacityRebalance(bool value) {
487 m_capacityRebalanceHasBeenSet = true;
488 m_capacityRebalance = value;
489 }
492 return *this;
493 }
495
497
502 return m_lifecycleHookSpecificationList;
503 }
504 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
505 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
506 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
507 m_lifecycleHookSpecificationListHasBeenSet = true;
508 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
509 }
510 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
511 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
512 SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value));
513 return *this;
514 }
515 template <typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
516 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
517 m_lifecycleHookSpecificationListHasBeenSet = true;
518 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
519 return *this;
520 }
522
524
536 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
537 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
538 template <typename TagsT = Aws::Vector<Tag>>
539 void SetTags(TagsT&& value) {
540 m_tagsHasBeenSet = true;
541 m_tags = std::forward<TagsT>(value);
542 }
543 template <typename TagsT = Aws::Vector<Tag>>
545 SetTags(std::forward<TagsT>(value));
546 return *this;
547 }
548 template <typename TagsT = Tag>
550 m_tagsHasBeenSet = true;
551 m_tags.emplace_back(std::forward<TagsT>(value));
552 return *this;
553 }
555
557
566 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
567 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
568 template <typename ServiceLinkedRoleARNT = Aws::String>
569 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
570 m_serviceLinkedRoleARNHasBeenSet = true;
571 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
572 }
573 template <typename ServiceLinkedRoleARNT = Aws::String>
575 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
576 return *this;
577 }
579
581
589 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
590 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
591 inline void SetMaxInstanceLifetime(int value) {
592 m_maxInstanceLifetimeHasBeenSet = true;
593 m_maxInstanceLifetime = value;
594 }
597 return *this;
598 }
600
602
605 inline const Aws::String& GetContext() const { return m_context; }
606 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
607 template <typename ContextT = Aws::String>
608 void SetContext(ContextT&& value) {
609 m_contextHasBeenSet = true;
610 m_context = std::forward<ContextT>(value);
611 }
612 template <typename ContextT = Aws::String>
614 SetContext(std::forward<ContextT>(value));
615 return *this;
616 }
618
620
631 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
632 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
633 template <typename DesiredCapacityTypeT = Aws::String>
634 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
635 m_desiredCapacityTypeHasBeenSet = true;
636 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
637 }
638 template <typename DesiredCapacityTypeT = Aws::String>
640 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
641 return *this;
642 }
644
646
665 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
666 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
667 inline void SetDefaultInstanceWarmup(int value) {
668 m_defaultInstanceWarmupHasBeenSet = true;
669 m_defaultInstanceWarmup = value;
670 }
673 return *this;
674 }
676
678
684 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
685 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
686 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
687 void SetTrafficSources(TrafficSourcesT&& value) {
688 m_trafficSourcesHasBeenSet = true;
689 m_trafficSources = std::forward<TrafficSourcesT>(value);
690 }
691 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
693 SetTrafficSources(std::forward<TrafficSourcesT>(value));
694 return *this;
695 }
696 template <typename TrafficSourcesT = TrafficSourceIdentifier>
698 m_trafficSourcesHasBeenSet = true;
699 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
700 return *this;
701 }
703
705
711 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
712 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
713 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
714 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
715 m_instanceMaintenancePolicyHasBeenSet = true;
716 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
717 }
718 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
720 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
721 return *this;
722 }
724
726
729 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
730 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
731 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
732 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
733 m_availabilityZoneDistributionHasBeenSet = true;
734 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
735 }
736 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
737 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
738 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
739 return *this;
740 }
742
744
747 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
748 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
749 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
750 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
751 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
752 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
753 }
754 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
755 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
756 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
757 return *this;
758 }
760
762
770 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
771 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
772 inline void SetSkipZonalShiftValidation(bool value) {
773 m_skipZonalShiftValidationHasBeenSet = true;
774 m_skipZonalShiftValidation = value;
775 }
778 return *this;
779 }
781
783
786 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
787 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
788 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
789 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
790 m_capacityReservationSpecificationHasBeenSet = true;
791 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
792 }
793 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
794 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
795 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
796 return *this;
797 }
799
801
809 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
810 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
811 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
812 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
813 m_instanceLifecyclePolicyHasBeenSet = true;
814 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
815 }
816 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
818 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
819 return *this;
820 }
822 private:
823 Aws::String m_autoScalingGroupName;
824 bool m_autoScalingGroupNameHasBeenSet = false;
825
826 Aws::String m_launchConfigurationName;
827 bool m_launchConfigurationNameHasBeenSet = false;
828
829 LaunchTemplateSpecification m_launchTemplate;
830 bool m_launchTemplateHasBeenSet = false;
831
832 MixedInstancesPolicy m_mixedInstancesPolicy;
833 bool m_mixedInstancesPolicyHasBeenSet = false;
834
835 Aws::String m_instanceId;
836 bool m_instanceIdHasBeenSet = false;
837
838 int m_minSize{0};
839 bool m_minSizeHasBeenSet = false;
840
841 int m_maxSize{0};
842 bool m_maxSizeHasBeenSet = false;
843
844 int m_desiredCapacity{0};
845 bool m_desiredCapacityHasBeenSet = false;
846
847 int m_defaultCooldown{0};
848 bool m_defaultCooldownHasBeenSet = false;
849
850 Aws::Vector<Aws::String> m_availabilityZones;
851 bool m_availabilityZonesHasBeenSet = false;
852
853 Aws::Vector<Aws::String> m_loadBalancerNames;
854 bool m_loadBalancerNamesHasBeenSet = false;
855
856 Aws::Vector<Aws::String> m_targetGroupARNs;
857 bool m_targetGroupARNsHasBeenSet = false;
858
859 Aws::String m_healthCheckType;
860 bool m_healthCheckTypeHasBeenSet = false;
861
862 int m_healthCheckGracePeriod{0};
863 bool m_healthCheckGracePeriodHasBeenSet = false;
864
865 Aws::String m_placementGroup;
866 bool m_placementGroupHasBeenSet = false;
867
868 Aws::String m_vPCZoneIdentifier;
869 bool m_vPCZoneIdentifierHasBeenSet = false;
870
871 Aws::Vector<Aws::String> m_terminationPolicies;
872 bool m_terminationPoliciesHasBeenSet = false;
873
874 bool m_newInstancesProtectedFromScaleIn{false};
875 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
876
877 bool m_capacityRebalance{false};
878 bool m_capacityRebalanceHasBeenSet = false;
879
880 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
881 bool m_lifecycleHookSpecificationListHasBeenSet = false;
882
883 Aws::Vector<Tag> m_tags;
884 bool m_tagsHasBeenSet = false;
885
886 Aws::String m_serviceLinkedRoleARN;
887 bool m_serviceLinkedRoleARNHasBeenSet = false;
888
889 int m_maxInstanceLifetime{0};
890 bool m_maxInstanceLifetimeHasBeenSet = false;
891
892 Aws::String m_context;
893 bool m_contextHasBeenSet = false;
894
895 Aws::String m_desiredCapacityType;
896 bool m_desiredCapacityTypeHasBeenSet = false;
897
898 int m_defaultInstanceWarmup{0};
899 bool m_defaultInstanceWarmupHasBeenSet = false;
900
902 bool m_trafficSourcesHasBeenSet = false;
903
904 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
905 bool m_instanceMaintenancePolicyHasBeenSet = false;
906
907 AvailabilityZoneDistribution m_availabilityZoneDistribution;
908 bool m_availabilityZoneDistributionHasBeenSet = false;
909
910 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
911 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
912
913 bool m_skipZonalShiftValidation{false};
914 bool m_skipZonalShiftValidationHasBeenSet = false;
915
916 CapacityReservationSpecification m_capacityReservationSpecification;
917 bool m_capacityReservationSpecificationHasBeenSet = false;
918
919 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
920 bool m_instanceLifecyclePolicyHasBeenSet = false;
921};
922
923} // namespace Model
924} // namespace AutoScaling
925} // namespace Aws
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(VPCZoneIdentifierT &&value)
CreateAutoScalingGroupRequest & WithSkipZonalShiftValidation(bool value)
CreateAutoScalingGroupRequest & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
CreateAutoScalingGroupRequest & WithTrafficSources(TrafficSourcesT &&value)
void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
CreateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
CreateAutoScalingGroupRequest & AddTrafficSources(TrafficSourcesT &&value)
const AvailabilityZoneImpairmentPolicy & GetAvailabilityZoneImpairmentPolicy() const
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
CreateAutoScalingGroupRequest & WithServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
CreateAutoScalingGroupRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateAutoScalingGroupRequest & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithCapacityRebalance(bool value)
CreateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
CreateAutoScalingGroupRequest & WithTags(TagsT &&value)
CreateAutoScalingGroupRequest & AddTargetGroupARNs(TargetGroupARNsT &&value)
CreateAutoScalingGroupRequest & WithDefaultInstanceWarmup(int value)
CreateAutoScalingGroupRequest & WithTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
CreateAutoScalingGroupRequest & WithLoadBalancerNames(LoadBalancerNamesT &&value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateAutoScalingGroupRequest & AddLoadBalancerNames(LoadBalancerNamesT &&value)
CreateAutoScalingGroupRequest & WithContext(ContextT &&value)
void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
CreateAutoScalingGroupRequest & WithInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
AWS_AUTOSCALING_API CreateAutoScalingGroupRequest()=default
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
const Aws::Vector< TrafficSourceIdentifier > & GetTrafficSources() const
CreateAutoScalingGroupRequest & WithMaxInstanceLifetime(int value)
CreateAutoScalingGroupRequest & WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
CreateAutoScalingGroupRequest & WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
CreateAutoScalingGroupRequest & WithInstanceId(InstanceIdT &&value)
void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
const AvailabilityZoneDistribution & GetAvailabilityZoneDistribution() const
CreateAutoScalingGroupRequest & WithPlacementGroup(PlacementGroupT &&value)
CreateAutoScalingGroupRequest & WithHealthCheckType(HealthCheckTypeT &&value)
CreateAutoScalingGroupRequest & AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
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)
void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
CreateAutoScalingGroupRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector