AWS SDK for C++

AWS SDK for C++ Version 1.11.799

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>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
278 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
279 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
280 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
281 m_availabilityZoneIdsHasBeenSet = true;
282 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
283 }
284 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
286 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
287 return *this;
288 }
289 template <typename AvailabilityZoneIdsT = Aws::String>
291 m_availabilityZoneIdsHasBeenSet = true;
292 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
293 return *this;
294 }
296
298
303 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
304 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
305 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
306 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
307 m_loadBalancerNamesHasBeenSet = true;
308 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
309 }
310 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
312 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
313 return *this;
314 }
315 template <typename LoadBalancerNamesT = Aws::String>
317 m_loadBalancerNamesHasBeenSet = true;
318 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
319 return *this;
320 }
322
324
333 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
334 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
335 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
336 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
337 m_targetGroupARNsHasBeenSet = true;
338 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
339 }
340 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
342 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
343 return *this;
344 }
345 template <typename TargetGroupARNsT = Aws::String>
347 m_targetGroupARNsHasBeenSet = true;
348 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
349 return *this;
350 }
352
354
364 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
365 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
366 template <typename HealthCheckTypeT = Aws::String>
367 void SetHealthCheckType(HealthCheckTypeT&& value) {
368 m_healthCheckTypeHasBeenSet = true;
369 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
370 }
371 template <typename HealthCheckTypeT = Aws::String>
373 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
374 return *this;
375 }
377
379
389 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
390 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
391 inline void SetHealthCheckGracePeriod(int value) {
392 m_healthCheckGracePeriodHasBeenSet = true;
393 m_healthCheckGracePeriod = value;
394 }
397 return *this;
398 }
400
402
411 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
412 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
413 template <typename PlacementGroupT = Aws::String>
414 void SetPlacementGroup(PlacementGroupT&& value) {
415 m_placementGroupHasBeenSet = true;
416 m_placementGroup = std::forward<PlacementGroupT>(value);
417 }
418 template <typename PlacementGroupT = Aws::String>
420 SetPlacementGroup(std::forward<PlacementGroupT>(value));
421 return *this;
422 }
424
426
432 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
433 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
434 template <typename VPCZoneIdentifierT = Aws::String>
435 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
436 m_vPCZoneIdentifierHasBeenSet = true;
437 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
438 }
439 template <typename VPCZoneIdentifierT = Aws::String>
441 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
442 return *this;
443 }
445
447
459 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
460 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
461 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
462 void SetTerminationPolicies(TerminationPoliciesT&& value) {
463 m_terminationPoliciesHasBeenSet = true;
464 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
465 }
466 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
468 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
469 return *this;
470 }
471 template <typename TerminationPoliciesT = Aws::String>
473 m_terminationPoliciesHasBeenSet = true;
474 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
475 return *this;
476 }
478
480
488 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
489 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
490 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
491 m_newInstancesProtectedFromScaleInHasBeenSet = true;
492 m_newInstancesProtectedFromScaleIn = value;
493 }
496 return *this;
497 }
499
501
511 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
512 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
513 inline void SetCapacityRebalance(bool value) {
514 m_capacityRebalanceHasBeenSet = true;
515 m_capacityRebalance = value;
516 }
519 return *this;
520 }
522
524
529 return m_lifecycleHookSpecificationList;
530 }
531 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
532 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
533 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
534 m_lifecycleHookSpecificationListHasBeenSet = true;
535 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
536 }
537 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
538 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
539 SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value));
540 return *this;
541 }
542 template <typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
543 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
544 m_lifecycleHookSpecificationListHasBeenSet = true;
545 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
546 return *this;
547 }
549
551
564 inline DeletionProtection GetDeletionProtection() const { return m_deletionProtection; }
565 inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
567 m_deletionProtectionHasBeenSet = true;
568 m_deletionProtection = value;
569 }
572 return *this;
573 }
575
577
589 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
590 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
591 template <typename TagsT = Aws::Vector<Tag>>
592 void SetTags(TagsT&& value) {
593 m_tagsHasBeenSet = true;
594 m_tags = std::forward<TagsT>(value);
595 }
596 template <typename TagsT = Aws::Vector<Tag>>
598 SetTags(std::forward<TagsT>(value));
599 return *this;
600 }
601 template <typename TagsT = Tag>
603 m_tagsHasBeenSet = true;
604 m_tags.emplace_back(std::forward<TagsT>(value));
605 return *this;
606 }
608
610
619 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
620 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
621 template <typename ServiceLinkedRoleARNT = Aws::String>
622 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
623 m_serviceLinkedRoleARNHasBeenSet = true;
624 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
625 }
626 template <typename ServiceLinkedRoleARNT = Aws::String>
628 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
629 return *this;
630 }
632
634
642 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
643 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
644 inline void SetMaxInstanceLifetime(int value) {
645 m_maxInstanceLifetimeHasBeenSet = true;
646 m_maxInstanceLifetime = value;
647 }
650 return *this;
651 }
653
655
658 inline const Aws::String& GetContext() const { return m_context; }
659 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
660 template <typename ContextT = Aws::String>
661 void SetContext(ContextT&& value) {
662 m_contextHasBeenSet = true;
663 m_context = std::forward<ContextT>(value);
664 }
665 template <typename ContextT = Aws::String>
667 SetContext(std::forward<ContextT>(value));
668 return *this;
669 }
671
673
684 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
685 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
686 template <typename DesiredCapacityTypeT = Aws::String>
687 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
688 m_desiredCapacityTypeHasBeenSet = true;
689 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
690 }
691 template <typename DesiredCapacityTypeT = Aws::String>
693 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
694 return *this;
695 }
697
699
718 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
719 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
720 inline void SetDefaultInstanceWarmup(int value) {
721 m_defaultInstanceWarmupHasBeenSet = true;
722 m_defaultInstanceWarmup = value;
723 }
726 return *this;
727 }
729
731
737 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
738 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
739 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
740 void SetTrafficSources(TrafficSourcesT&& value) {
741 m_trafficSourcesHasBeenSet = true;
742 m_trafficSources = std::forward<TrafficSourcesT>(value);
743 }
744 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
746 SetTrafficSources(std::forward<TrafficSourcesT>(value));
747 return *this;
748 }
749 template <typename TrafficSourcesT = TrafficSourceIdentifier>
751 m_trafficSourcesHasBeenSet = true;
752 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
753 return *this;
754 }
756
758
764 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
765 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
766 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
767 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
768 m_instanceMaintenancePolicyHasBeenSet = true;
769 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
770 }
771 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
773 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
774 return *this;
775 }
777
779
782 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
783 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
784 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
785 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
786 m_availabilityZoneDistributionHasBeenSet = true;
787 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
788 }
789 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
790 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
791 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
792 return *this;
793 }
795
797
800 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
801 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
802 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
803 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
804 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
805 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
806 }
807 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
808 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
809 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
810 return *this;
811 }
813
815
823 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
824 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
825 inline void SetSkipZonalShiftValidation(bool value) {
826 m_skipZonalShiftValidationHasBeenSet = true;
827 m_skipZonalShiftValidation = value;
828 }
831 return *this;
832 }
834
836
839 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
840 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
841 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
842 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
843 m_capacityReservationSpecificationHasBeenSet = true;
844 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
845 }
846 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
847 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
848 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
849 return *this;
850 }
852
854
865 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
866 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
867 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
868 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
869 m_instanceLifecyclePolicyHasBeenSet = true;
870 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
871 }
872 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
874 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
875 return *this;
876 }
878 private:
879 Aws::String m_autoScalingGroupName;
880
881 Aws::String m_launchConfigurationName;
882
883 LaunchTemplateSpecification m_launchTemplate;
884
885 MixedInstancesPolicy m_mixedInstancesPolicy;
886
887 Aws::String m_instanceId;
888
889 int m_minSize{0};
890
891 int m_maxSize{0};
892
893 int m_desiredCapacity{0};
894
895 int m_defaultCooldown{0};
896
897 Aws::Vector<Aws::String> m_availabilityZones;
898
899 Aws::Vector<Aws::String> m_availabilityZoneIds;
900
901 Aws::Vector<Aws::String> m_loadBalancerNames;
902
903 Aws::Vector<Aws::String> m_targetGroupARNs;
904
905 Aws::String m_healthCheckType;
906
907 int m_healthCheckGracePeriod{0};
908
909 Aws::String m_placementGroup;
910
911 Aws::String m_vPCZoneIdentifier;
912
913 Aws::Vector<Aws::String> m_terminationPolicies;
914
915 bool m_newInstancesProtectedFromScaleIn{false};
916
917 bool m_capacityRebalance{false};
918
919 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
920
922
923 Aws::Vector<Tag> m_tags;
924
925 Aws::String m_serviceLinkedRoleARN;
926
927 int m_maxInstanceLifetime{0};
928
929 Aws::String m_context;
930
931 Aws::String m_desiredCapacityType;
932
933 int m_defaultInstanceWarmup{0};
934
936
937 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
938
939 AvailabilityZoneDistribution m_availabilityZoneDistribution;
940
941 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
942
943 bool m_skipZonalShiftValidation{false};
944
945 CapacityReservationSpecification m_capacityReservationSpecification;
946
947 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
948 bool m_autoScalingGroupNameHasBeenSet = false;
949 bool m_launchConfigurationNameHasBeenSet = false;
950 bool m_launchTemplateHasBeenSet = false;
951 bool m_mixedInstancesPolicyHasBeenSet = false;
952 bool m_instanceIdHasBeenSet = false;
953 bool m_minSizeHasBeenSet = false;
954 bool m_maxSizeHasBeenSet = false;
955 bool m_desiredCapacityHasBeenSet = false;
956 bool m_defaultCooldownHasBeenSet = false;
957 bool m_availabilityZonesHasBeenSet = false;
958 bool m_availabilityZoneIdsHasBeenSet = false;
959 bool m_loadBalancerNamesHasBeenSet = false;
960 bool m_targetGroupARNsHasBeenSet = false;
961 bool m_healthCheckTypeHasBeenSet = false;
962 bool m_healthCheckGracePeriodHasBeenSet = false;
963 bool m_placementGroupHasBeenSet = false;
964 bool m_vPCZoneIdentifierHasBeenSet = false;
965 bool m_terminationPoliciesHasBeenSet = false;
966 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
967 bool m_capacityRebalanceHasBeenSet = false;
968 bool m_lifecycleHookSpecificationListHasBeenSet = false;
969 bool m_deletionProtectionHasBeenSet = false;
970 bool m_tagsHasBeenSet = false;
971 bool m_serviceLinkedRoleARNHasBeenSet = false;
972 bool m_maxInstanceLifetimeHasBeenSet = false;
973 bool m_contextHasBeenSet = false;
974 bool m_desiredCapacityTypeHasBeenSet = false;
975 bool m_defaultInstanceWarmupHasBeenSet = false;
976 bool m_trafficSourcesHasBeenSet = false;
977 bool m_instanceMaintenancePolicyHasBeenSet = false;
978 bool m_availabilityZoneDistributionHasBeenSet = false;
979 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
980 bool m_skipZonalShiftValidationHasBeenSet = false;
981 bool m_capacityReservationSpecificationHasBeenSet = false;
982 bool m_instanceLifecyclePolicyHasBeenSet = false;
983};
984
985} // namespace Model
986} // namespace AutoScaling
987} // 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 & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
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 & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
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