AWS SDK for C++

AWS SDK for C++ Version 1.11.752

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/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/LifecycleHookSpecification.h>
17#include <aws/autoscaling/model/MixedInstancesPolicy.h>
18#include <aws/autoscaling/model/Tag.h>
19#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
20#include <aws/core/utils/memory/stl/AWSString.h>
21#include <aws/core/utils/memory/stl/AWSVector.h>
22
23#include <utility>
24
25namespace Aws {
26namespace AutoScaling {
27namespace Model {
28
32 public:
33 AWS_AUTOSCALING_API CreateAutoScalingGroupRequest() = default;
34
35 // Service request name is the Operation name which will send this request out,
36 // each operation should has unique request name, so that we can get operation's name from this request.
37 // Note: this is not true for response, multiple operations may have the same response name,
38 // so we can not get operation's name from response.
39 inline virtual const char* GetServiceRequestName() const override { return "CreateAutoScalingGroup"; }
40
41 AWS_AUTOSCALING_API Aws::String SerializePayload() const override;
42
43 protected:
44 AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
45
46 public:
48
54 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
55 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
56 template <typename AutoScalingGroupNameT = Aws::String>
57 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) {
58 m_autoScalingGroupNameHasBeenSet = true;
59 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
60 }
61 template <typename AutoScalingGroupNameT = Aws::String>
63 SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value));
64 return *this;
65 }
67
69
76 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
77 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
78 template <typename LaunchConfigurationNameT = Aws::String>
79 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) {
80 m_launchConfigurationNameHasBeenSet = true;
81 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
82 }
83 template <typename LaunchConfigurationNameT = Aws::String>
85 SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value));
86 return *this;
87 }
89
91
103 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
104 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
105 template <typename LaunchTemplateT = LaunchTemplateSpecification>
106 void SetLaunchTemplate(LaunchTemplateT&& value) {
107 m_launchTemplateHasBeenSet = true;
108 m_launchTemplate = std::forward<LaunchTemplateT>(value);
109 }
110 template <typename LaunchTemplateT = LaunchTemplateSpecification>
112 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
113 return *this;
114 }
116
118
124 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
125 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
126 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
127 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
128 m_mixedInstancesPolicyHasBeenSet = true;
129 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
130 }
131 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
133 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
134 return *this;
135 }
137
139
150 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
151 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
152 template <typename InstanceIdT = Aws::String>
153 void SetInstanceId(InstanceIdT&& value) {
154 m_instanceIdHasBeenSet = true;
155 m_instanceId = std::forward<InstanceIdT>(value);
156 }
157 template <typename InstanceIdT = Aws::String>
159 SetInstanceId(std::forward<InstanceIdT>(value));
160 return *this;
161 }
163
165
168 inline int GetMinSize() const { return m_minSize; }
169 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
170 inline void SetMinSize(int value) {
171 m_minSizeHasBeenSet = true;
172 m_minSize = value;
173 }
175 SetMinSize(value);
176 return *this;
177 }
179
181
189 inline int GetMaxSize() const { return m_maxSize; }
190 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
191 inline void SetMaxSize(int value) {
192 m_maxSizeHasBeenSet = true;
193 m_maxSize = value;
194 }
196 SetMaxSize(value);
197 return *this;
198 }
200
202
210 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
211 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
212 inline void SetDesiredCapacity(int value) {
213 m_desiredCapacityHasBeenSet = true;
214 m_desiredCapacity = value;
215 }
217 SetDesiredCapacity(value);
218 return *this;
219 }
221
223
231 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
232 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
233 inline void SetDefaultCooldown(int value) {
234 m_defaultCooldownHasBeenSet = true;
235 m_defaultCooldown = value;
236 }
238 SetDefaultCooldown(value);
239 return *this;
240 }
242
244
251 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
252 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
253 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
254 void SetAvailabilityZones(AvailabilityZonesT&& value) {
255 m_availabilityZonesHasBeenSet = true;
256 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
257 }
258 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
260 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
261 return *this;
262 }
263 template <typename AvailabilityZonesT = Aws::String>
265 m_availabilityZonesHasBeenSet = true;
266 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
267 return *this;
268 }
270
272
277 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
278 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
279 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
280 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
281 m_loadBalancerNamesHasBeenSet = true;
282 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
283 }
284 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
286 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
287 return *this;
288 }
289 template <typename LoadBalancerNamesT = Aws::String>
291 m_loadBalancerNamesHasBeenSet = true;
292 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
293 return *this;
294 }
296
298
307 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
308 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
309 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
310 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
311 m_targetGroupARNsHasBeenSet = true;
312 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
313 }
314 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
316 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
317 return *this;
318 }
319 template <typename TargetGroupARNsT = Aws::String>
321 m_targetGroupARNsHasBeenSet = true;
322 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
323 return *this;
324 }
326
328
338 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
339 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
340 template <typename HealthCheckTypeT = Aws::String>
341 void SetHealthCheckType(HealthCheckTypeT&& value) {
342 m_healthCheckTypeHasBeenSet = true;
343 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
344 }
345 template <typename HealthCheckTypeT = Aws::String>
347 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
348 return *this;
349 }
351
353
363 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
364 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
365 inline void SetHealthCheckGracePeriod(int value) {
366 m_healthCheckGracePeriodHasBeenSet = true;
367 m_healthCheckGracePeriod = value;
368 }
371 return *this;
372 }
374
376
385 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
386 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
387 template <typename PlacementGroupT = Aws::String>
388 void SetPlacementGroup(PlacementGroupT&& value) {
389 m_placementGroupHasBeenSet = true;
390 m_placementGroup = std::forward<PlacementGroupT>(value);
391 }
392 template <typename PlacementGroupT = Aws::String>
394 SetPlacementGroup(std::forward<PlacementGroupT>(value));
395 return *this;
396 }
398
400
406 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
407 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
408 template <typename VPCZoneIdentifierT = Aws::String>
409 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
410 m_vPCZoneIdentifierHasBeenSet = true;
411 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
412 }
413 template <typename VPCZoneIdentifierT = Aws::String>
415 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
416 return *this;
417 }
419
421
433 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
434 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
435 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
436 void SetTerminationPolicies(TerminationPoliciesT&& value) {
437 m_terminationPoliciesHasBeenSet = true;
438 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
439 }
440 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
442 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
443 return *this;
444 }
445 template <typename TerminationPoliciesT = Aws::String>
447 m_terminationPoliciesHasBeenSet = true;
448 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
449 return *this;
450 }
452
454
462 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
463 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
464 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
465 m_newInstancesProtectedFromScaleInHasBeenSet = true;
466 m_newInstancesProtectedFromScaleIn = value;
467 }
470 return *this;
471 }
473
475
485 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
486 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
487 inline void SetCapacityRebalance(bool value) {
488 m_capacityRebalanceHasBeenSet = true;
489 m_capacityRebalance = value;
490 }
493 return *this;
494 }
496
498
503 return m_lifecycleHookSpecificationList;
504 }
505 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
506 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
507 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
508 m_lifecycleHookSpecificationListHasBeenSet = true;
509 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
510 }
511 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
512 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
513 SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value));
514 return *this;
515 }
516 template <typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
517 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
518 m_lifecycleHookSpecificationListHasBeenSet = true;
519 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
520 return *this;
521 }
523
525
535 inline DeletionProtection GetDeletionProtection() const { return m_deletionProtection; }
536 inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
538 m_deletionProtectionHasBeenSet = true;
539 m_deletionProtection = value;
540 }
543 return *this;
544 }
546
548
560 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
561 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
562 template <typename TagsT = Aws::Vector<Tag>>
563 void SetTags(TagsT&& value) {
564 m_tagsHasBeenSet = true;
565 m_tags = std::forward<TagsT>(value);
566 }
567 template <typename TagsT = Aws::Vector<Tag>>
569 SetTags(std::forward<TagsT>(value));
570 return *this;
571 }
572 template <typename TagsT = Tag>
574 m_tagsHasBeenSet = true;
575 m_tags.emplace_back(std::forward<TagsT>(value));
576 return *this;
577 }
579
581
590 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
591 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
592 template <typename ServiceLinkedRoleARNT = Aws::String>
593 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
594 m_serviceLinkedRoleARNHasBeenSet = true;
595 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
596 }
597 template <typename ServiceLinkedRoleARNT = Aws::String>
599 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
600 return *this;
601 }
603
605
613 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
614 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
615 inline void SetMaxInstanceLifetime(int value) {
616 m_maxInstanceLifetimeHasBeenSet = true;
617 m_maxInstanceLifetime = value;
618 }
621 return *this;
622 }
624
626
629 inline const Aws::String& GetContext() const { return m_context; }
630 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
631 template <typename ContextT = Aws::String>
632 void SetContext(ContextT&& value) {
633 m_contextHasBeenSet = true;
634 m_context = std::forward<ContextT>(value);
635 }
636 template <typename ContextT = Aws::String>
638 SetContext(std::forward<ContextT>(value));
639 return *this;
640 }
642
644
655 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
656 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
657 template <typename DesiredCapacityTypeT = Aws::String>
658 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
659 m_desiredCapacityTypeHasBeenSet = true;
660 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
661 }
662 template <typename DesiredCapacityTypeT = Aws::String>
664 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
665 return *this;
666 }
668
670
689 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
690 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
691 inline void SetDefaultInstanceWarmup(int value) {
692 m_defaultInstanceWarmupHasBeenSet = true;
693 m_defaultInstanceWarmup = value;
694 }
697 return *this;
698 }
700
702
708 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
709 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
710 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
711 void SetTrafficSources(TrafficSourcesT&& value) {
712 m_trafficSourcesHasBeenSet = true;
713 m_trafficSources = std::forward<TrafficSourcesT>(value);
714 }
715 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
717 SetTrafficSources(std::forward<TrafficSourcesT>(value));
718 return *this;
719 }
720 template <typename TrafficSourcesT = TrafficSourceIdentifier>
722 m_trafficSourcesHasBeenSet = true;
723 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
724 return *this;
725 }
727
729
735 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
736 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
737 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
738 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
739 m_instanceMaintenancePolicyHasBeenSet = true;
740 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
741 }
742 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
744 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
745 return *this;
746 }
748
750
753 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
754 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
755 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
756 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
757 m_availabilityZoneDistributionHasBeenSet = true;
758 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
759 }
760 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
761 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
762 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
763 return *this;
764 }
766
768
771 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
772 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
773 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
774 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
775 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
776 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
777 }
778 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
779 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
780 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
781 return *this;
782 }
784
786
794 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
795 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
796 inline void SetSkipZonalShiftValidation(bool value) {
797 m_skipZonalShiftValidationHasBeenSet = true;
798 m_skipZonalShiftValidation = value;
799 }
802 return *this;
803 }
805
807
810 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
811 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
812 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
813 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
814 m_capacityReservationSpecificationHasBeenSet = true;
815 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
816 }
817 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
818 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
819 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
820 return *this;
821 }
823
825
836 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
837 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
838 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
839 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
840 m_instanceLifecyclePolicyHasBeenSet = true;
841 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
842 }
843 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
845 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
846 return *this;
847 }
849 private:
850 Aws::String m_autoScalingGroupName;
851
852 Aws::String m_launchConfigurationName;
853
854 LaunchTemplateSpecification m_launchTemplate;
855
856 MixedInstancesPolicy m_mixedInstancesPolicy;
857
858 Aws::String m_instanceId;
859
860 int m_minSize{0};
861
862 int m_maxSize{0};
863
864 int m_desiredCapacity{0};
865
866 int m_defaultCooldown{0};
867
868 Aws::Vector<Aws::String> m_availabilityZones;
869
870 Aws::Vector<Aws::String> m_loadBalancerNames;
871
872 Aws::Vector<Aws::String> m_targetGroupARNs;
873
874 Aws::String m_healthCheckType;
875
876 int m_healthCheckGracePeriod{0};
877
878 Aws::String m_placementGroup;
879
880 Aws::String m_vPCZoneIdentifier;
881
882 Aws::Vector<Aws::String> m_terminationPolicies;
883
884 bool m_newInstancesProtectedFromScaleIn{false};
885
886 bool m_capacityRebalance{false};
887
888 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
889
891
892 Aws::Vector<Tag> m_tags;
893
894 Aws::String m_serviceLinkedRoleARN;
895
896 int m_maxInstanceLifetime{0};
897
898 Aws::String m_context;
899
900 Aws::String m_desiredCapacityType;
901
902 int m_defaultInstanceWarmup{0};
903
905
906 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
907
908 AvailabilityZoneDistribution m_availabilityZoneDistribution;
909
910 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
911
912 bool m_skipZonalShiftValidation{false};
913
914 CapacityReservationSpecification m_capacityReservationSpecification;
915
916 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
917 bool m_autoScalingGroupNameHasBeenSet = false;
918 bool m_launchConfigurationNameHasBeenSet = false;
919 bool m_launchTemplateHasBeenSet = false;
920 bool m_mixedInstancesPolicyHasBeenSet = false;
921 bool m_instanceIdHasBeenSet = false;
922 bool m_minSizeHasBeenSet = false;
923 bool m_maxSizeHasBeenSet = false;
924 bool m_desiredCapacityHasBeenSet = false;
925 bool m_defaultCooldownHasBeenSet = false;
926 bool m_availabilityZonesHasBeenSet = false;
927 bool m_loadBalancerNamesHasBeenSet = false;
928 bool m_targetGroupARNsHasBeenSet = false;
929 bool m_healthCheckTypeHasBeenSet = false;
930 bool m_healthCheckGracePeriodHasBeenSet = false;
931 bool m_placementGroupHasBeenSet = false;
932 bool m_vPCZoneIdentifierHasBeenSet = false;
933 bool m_terminationPoliciesHasBeenSet = false;
934 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
935 bool m_capacityRebalanceHasBeenSet = false;
936 bool m_lifecycleHookSpecificationListHasBeenSet = false;
937 bool m_deletionProtectionHasBeenSet = false;
938 bool m_tagsHasBeenSet = false;
939 bool m_serviceLinkedRoleARNHasBeenSet = false;
940 bool m_maxInstanceLifetimeHasBeenSet = false;
941 bool m_contextHasBeenSet = false;
942 bool m_desiredCapacityTypeHasBeenSet = false;
943 bool m_defaultInstanceWarmupHasBeenSet = false;
944 bool m_trafficSourcesHasBeenSet = false;
945 bool m_instanceMaintenancePolicyHasBeenSet = false;
946 bool m_availabilityZoneDistributionHasBeenSet = false;
947 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
948 bool m_skipZonalShiftValidationHasBeenSet = false;
949 bool m_capacityReservationSpecificationHasBeenSet = false;
950 bool m_instanceLifecyclePolicyHasBeenSet = false;
951};
952
953} // namespace Model
954} // namespace AutoScaling
955} // 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 & WithDeletionProtection(DeletionProtection 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