AWS SDK for C++

AWS SDK for C++ Version 1.11.873

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/Operator.h>
19#include <aws/autoscaling/model/Tag.h>
20#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
21#include <aws/core/utils/memory/stl/AWSString.h>
22#include <aws/core/utils/memory/stl/AWSVector.h>
23
24#include <utility>
25
26namespace Aws {
27namespace AutoScaling {
28namespace Model {
29
33 public:
34 AWS_AUTOSCALING_API CreateAutoScalingGroupRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "CreateAutoScalingGroup"; }
41
42 AWS_AUTOSCALING_API Aws::String SerializePayload() const override;
43
44 protected:
45 AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
46
47 public:
49
55 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
56 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
57 template <typename AutoScalingGroupNameT = Aws::String>
58 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) {
59 m_autoScalingGroupNameHasBeenSet = true;
60 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
61 }
62 template <typename AutoScalingGroupNameT = Aws::String>
64 SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value));
65 return *this;
66 }
68
70
77 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
78 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
79 template <typename LaunchConfigurationNameT = Aws::String>
80 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) {
81 m_launchConfigurationNameHasBeenSet = true;
82 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
83 }
84 template <typename LaunchConfigurationNameT = Aws::String>
86 SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value));
87 return *this;
88 }
90
92
104 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
105 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
106 template <typename LaunchTemplateT = LaunchTemplateSpecification>
107 void SetLaunchTemplate(LaunchTemplateT&& value) {
108 m_launchTemplateHasBeenSet = true;
109 m_launchTemplate = std::forward<LaunchTemplateT>(value);
110 }
111 template <typename LaunchTemplateT = LaunchTemplateSpecification>
113 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
114 return *this;
115 }
117
119
125 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
126 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
127 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
128 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
129 m_mixedInstancesPolicyHasBeenSet = true;
130 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
131 }
132 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
134 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
135 return *this;
136 }
138
140
151 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
152 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
153 template <typename InstanceIdT = Aws::String>
154 void SetInstanceId(InstanceIdT&& value) {
155 m_instanceIdHasBeenSet = true;
156 m_instanceId = std::forward<InstanceIdT>(value);
157 }
158 template <typename InstanceIdT = Aws::String>
160 SetInstanceId(std::forward<InstanceIdT>(value));
161 return *this;
162 }
164
166
169 inline int GetMinSize() const { return m_minSize; }
170 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
171 inline void SetMinSize(int value) {
172 m_minSizeHasBeenSet = true;
173 m_minSize = value;
174 }
176 SetMinSize(value);
177 return *this;
178 }
180
182
190 inline int GetMaxSize() const { return m_maxSize; }
191 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
192 inline void SetMaxSize(int value) {
193 m_maxSizeHasBeenSet = true;
194 m_maxSize = value;
195 }
197 SetMaxSize(value);
198 return *this;
199 }
201
203
211 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
212 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
213 inline void SetDesiredCapacity(int value) {
214 m_desiredCapacityHasBeenSet = true;
215 m_desiredCapacity = value;
216 }
218 SetDesiredCapacity(value);
219 return *this;
220 }
222
224
232 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
233 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
234 inline void SetDefaultCooldown(int value) {
235 m_defaultCooldownHasBeenSet = true;
236 m_defaultCooldown = value;
237 }
239 SetDefaultCooldown(value);
240 return *this;
241 }
243
245
252 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
253 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
254 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
255 void SetAvailabilityZones(AvailabilityZonesT&& value) {
256 m_availabilityZonesHasBeenSet = true;
257 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
258 }
259 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
261 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
262 return *this;
263 }
264 template <typename AvailabilityZonesT = Aws::String>
266 m_availabilityZonesHasBeenSet = true;
267 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
268 return *this;
269 }
271
273
278 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
279 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
280 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
281 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
282 m_availabilityZoneIdsHasBeenSet = true;
283 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
284 }
285 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
287 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
288 return *this;
289 }
290 template <typename AvailabilityZoneIdsT = Aws::String>
292 m_availabilityZoneIdsHasBeenSet = true;
293 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
294 return *this;
295 }
297
299
304 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
305 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
306 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
307 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
308 m_loadBalancerNamesHasBeenSet = true;
309 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
310 }
311 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
313 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
314 return *this;
315 }
316 template <typename LoadBalancerNamesT = Aws::String>
318 m_loadBalancerNamesHasBeenSet = true;
319 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
320 return *this;
321 }
323
325
334 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
335 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
336 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
337 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
338 m_targetGroupARNsHasBeenSet = true;
339 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
340 }
341 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
343 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
344 return *this;
345 }
346 template <typename TargetGroupARNsT = Aws::String>
348 m_targetGroupARNsHasBeenSet = true;
349 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
350 return *this;
351 }
353
355
365 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
366 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
367 template <typename HealthCheckTypeT = Aws::String>
368 void SetHealthCheckType(HealthCheckTypeT&& value) {
369 m_healthCheckTypeHasBeenSet = true;
370 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
371 }
372 template <typename HealthCheckTypeT = Aws::String>
374 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
375 return *this;
376 }
378
380
390 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
391 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
392 inline void SetHealthCheckGracePeriod(int value) {
393 m_healthCheckGracePeriodHasBeenSet = true;
394 m_healthCheckGracePeriod = value;
395 }
398 return *this;
399 }
401
403
412 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
413 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
414 template <typename PlacementGroupT = Aws::String>
415 void SetPlacementGroup(PlacementGroupT&& value) {
416 m_placementGroupHasBeenSet = true;
417 m_placementGroup = std::forward<PlacementGroupT>(value);
418 }
419 template <typename PlacementGroupT = Aws::String>
421 SetPlacementGroup(std::forward<PlacementGroupT>(value));
422 return *this;
423 }
425
427
433 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
434 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
435 template <typename VPCZoneIdentifierT = Aws::String>
436 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
437 m_vPCZoneIdentifierHasBeenSet = true;
438 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
439 }
440 template <typename VPCZoneIdentifierT = Aws::String>
442 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
443 return *this;
444 }
446
448
460 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
461 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
462 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
463 void SetTerminationPolicies(TerminationPoliciesT&& value) {
464 m_terminationPoliciesHasBeenSet = true;
465 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
466 }
467 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
469 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
470 return *this;
471 }
472 template <typename TerminationPoliciesT = Aws::String>
474 m_terminationPoliciesHasBeenSet = true;
475 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
476 return *this;
477 }
479
481
489 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
490 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
491 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
492 m_newInstancesProtectedFromScaleInHasBeenSet = true;
493 m_newInstancesProtectedFromScaleIn = value;
494 }
497 return *this;
498 }
500
502
512 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
513 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
514 inline void SetCapacityRebalance(bool value) {
515 m_capacityRebalanceHasBeenSet = true;
516 m_capacityRebalance = value;
517 }
520 return *this;
521 }
523
525
530 return m_lifecycleHookSpecificationList;
531 }
532 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
533 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
534 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
535 m_lifecycleHookSpecificationListHasBeenSet = true;
536 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
537 }
538 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
539 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
540 SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value));
541 return *this;
542 }
543 template <typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
544 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
545 m_lifecycleHookSpecificationListHasBeenSet = true;
546 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
547 return *this;
548 }
550
552
565 inline DeletionProtection GetDeletionProtection() const { return m_deletionProtection; }
566 inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
568 m_deletionProtectionHasBeenSet = true;
569 m_deletionProtection = value;
570 }
573 return *this;
574 }
576
578
590 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
591 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
592 template <typename TagsT = Aws::Vector<Tag>>
593 void SetTags(TagsT&& value) {
594 m_tagsHasBeenSet = true;
595 m_tags = std::forward<TagsT>(value);
596 }
597 template <typename TagsT = Aws::Vector<Tag>>
599 SetTags(std::forward<TagsT>(value));
600 return *this;
601 }
602 template <typename TagsT = Tag>
604 m_tagsHasBeenSet = true;
605 m_tags.emplace_back(std::forward<TagsT>(value));
606 return *this;
607 }
609
611
620 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
621 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
622 template <typename ServiceLinkedRoleARNT = Aws::String>
623 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
624 m_serviceLinkedRoleARNHasBeenSet = true;
625 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
626 }
627 template <typename ServiceLinkedRoleARNT = Aws::String>
629 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
630 return *this;
631 }
633
635
643 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
644 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
645 inline void SetMaxInstanceLifetime(int value) {
646 m_maxInstanceLifetimeHasBeenSet = true;
647 m_maxInstanceLifetime = value;
648 }
651 return *this;
652 }
654
656
659 inline const Aws::String& GetContext() const { return m_context; }
660 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
661 template <typename ContextT = Aws::String>
662 void SetContext(ContextT&& value) {
663 m_contextHasBeenSet = true;
664 m_context = std::forward<ContextT>(value);
665 }
666 template <typename ContextT = Aws::String>
668 SetContext(std::forward<ContextT>(value));
669 return *this;
670 }
672
674
685 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
686 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
687 template <typename DesiredCapacityTypeT = Aws::String>
688 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
689 m_desiredCapacityTypeHasBeenSet = true;
690 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
691 }
692 template <typename DesiredCapacityTypeT = Aws::String>
694 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
695 return *this;
696 }
698
700
719 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
720 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
721 inline void SetDefaultInstanceWarmup(int value) {
722 m_defaultInstanceWarmupHasBeenSet = true;
723 m_defaultInstanceWarmup = value;
724 }
727 return *this;
728 }
730
732
738 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
739 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
740 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
741 void SetTrafficSources(TrafficSourcesT&& value) {
742 m_trafficSourcesHasBeenSet = true;
743 m_trafficSources = std::forward<TrafficSourcesT>(value);
744 }
745 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
747 SetTrafficSources(std::forward<TrafficSourcesT>(value));
748 return *this;
749 }
750 template <typename TrafficSourcesT = TrafficSourceIdentifier>
752 m_trafficSourcesHasBeenSet = true;
753 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
754 return *this;
755 }
757
759
765 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
766 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
767 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
768 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
769 m_instanceMaintenancePolicyHasBeenSet = true;
770 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
771 }
772 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
774 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
775 return *this;
776 }
778
780
783 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
784 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
785 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
786 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
787 m_availabilityZoneDistributionHasBeenSet = true;
788 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
789 }
790 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
791 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
792 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
793 return *this;
794 }
796
798
801 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
802 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
803 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
804 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
805 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
806 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
807 }
808 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
809 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
810 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
811 return *this;
812 }
814
816
824 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
825 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
826 inline void SetSkipZonalShiftValidation(bool value) {
827 m_skipZonalShiftValidationHasBeenSet = true;
828 m_skipZonalShiftValidation = value;
829 }
832 return *this;
833 }
835
837
840 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
841 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
842 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
843 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
844 m_capacityReservationSpecificationHasBeenSet = true;
845 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
846 }
847 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
848 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
849 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
850 return *this;
851 }
853
855
866 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
867 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
868 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
869 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
870 m_instanceLifecyclePolicyHasBeenSet = true;
871 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
872 }
873 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
875 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
876 return *this;
877 }
879
881
888 inline const Operator& GetOperator() const { return m_operator; }
889 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
890 template <typename OperatorT = Operator>
891 void SetOperator(OperatorT&& value) {
892 m_operatorHasBeenSet = true;
893 m_operator = std::forward<OperatorT>(value);
894 }
895 template <typename OperatorT = Operator>
897 SetOperator(std::forward<OperatorT>(value));
898 return *this;
899 }
901 private:
902 Aws::String m_autoScalingGroupName;
903
904 Aws::String m_launchConfigurationName;
905
906 LaunchTemplateSpecification m_launchTemplate;
907
908 MixedInstancesPolicy m_mixedInstancesPolicy;
909
910 Aws::String m_instanceId;
911
912 int m_minSize{0};
913
914 int m_maxSize{0};
915
916 int m_desiredCapacity{0};
917
918 int m_defaultCooldown{0};
919
920 Aws::Vector<Aws::String> m_availabilityZones;
921
922 Aws::Vector<Aws::String> m_availabilityZoneIds;
923
924 Aws::Vector<Aws::String> m_loadBalancerNames;
925
926 Aws::Vector<Aws::String> m_targetGroupARNs;
927
928 Aws::String m_healthCheckType;
929
930 int m_healthCheckGracePeriod{0};
931
932 Aws::String m_placementGroup;
933
934 Aws::String m_vPCZoneIdentifier;
935
936 Aws::Vector<Aws::String> m_terminationPolicies;
937
938 bool m_newInstancesProtectedFromScaleIn{false};
939
940 bool m_capacityRebalance{false};
941
942 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
943
945
946 Aws::Vector<Tag> m_tags;
947
948 Aws::String m_serviceLinkedRoleARN;
949
950 int m_maxInstanceLifetime{0};
951
952 Aws::String m_context;
953
954 Aws::String m_desiredCapacityType;
955
956 int m_defaultInstanceWarmup{0};
957
959
960 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
961
962 AvailabilityZoneDistribution m_availabilityZoneDistribution;
963
964 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
965
966 bool m_skipZonalShiftValidation{false};
967
968 CapacityReservationSpecification m_capacityReservationSpecification;
969
970 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
971
972 Operator m_operator;
973 bool m_autoScalingGroupNameHasBeenSet = false;
974 bool m_launchConfigurationNameHasBeenSet = false;
975 bool m_launchTemplateHasBeenSet = false;
976 bool m_mixedInstancesPolicyHasBeenSet = false;
977 bool m_instanceIdHasBeenSet = false;
978 bool m_minSizeHasBeenSet = false;
979 bool m_maxSizeHasBeenSet = false;
980 bool m_desiredCapacityHasBeenSet = false;
981 bool m_defaultCooldownHasBeenSet = false;
982 bool m_availabilityZonesHasBeenSet = false;
983 bool m_availabilityZoneIdsHasBeenSet = false;
984 bool m_loadBalancerNamesHasBeenSet = false;
985 bool m_targetGroupARNsHasBeenSet = false;
986 bool m_healthCheckTypeHasBeenSet = false;
987 bool m_healthCheckGracePeriodHasBeenSet = false;
988 bool m_placementGroupHasBeenSet = false;
989 bool m_vPCZoneIdentifierHasBeenSet = false;
990 bool m_terminationPoliciesHasBeenSet = false;
991 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
992 bool m_capacityRebalanceHasBeenSet = false;
993 bool m_lifecycleHookSpecificationListHasBeenSet = false;
994 bool m_deletionProtectionHasBeenSet = false;
995 bool m_tagsHasBeenSet = false;
996 bool m_serviceLinkedRoleARNHasBeenSet = false;
997 bool m_maxInstanceLifetimeHasBeenSet = false;
998 bool m_contextHasBeenSet = false;
999 bool m_desiredCapacityTypeHasBeenSet = false;
1000 bool m_defaultInstanceWarmupHasBeenSet = false;
1001 bool m_trafficSourcesHasBeenSet = false;
1002 bool m_instanceMaintenancePolicyHasBeenSet = false;
1003 bool m_availabilityZoneDistributionHasBeenSet = false;
1004 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
1005 bool m_skipZonalShiftValidationHasBeenSet = false;
1006 bool m_capacityReservationSpecificationHasBeenSet = false;
1007 bool m_instanceLifecyclePolicyHasBeenSet = false;
1008 bool m_operatorHasBeenSet = false;
1009};
1010
1011} // namespace Model
1012} // namespace AutoScaling
1013} // 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 & WithOperator(OperatorT &&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