AWS SDK for C++

AWS SDK for C++ Version 1.11.889

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
129 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
130 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
131 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
132 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
133 m_mixedInstancesPolicyHasBeenSet = true;
134 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
135 }
136 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
138 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
139 return *this;
140 }
142
144
155 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
156 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
157 template <typename InstanceIdT = Aws::String>
158 void SetInstanceId(InstanceIdT&& value) {
159 m_instanceIdHasBeenSet = true;
160 m_instanceId = std::forward<InstanceIdT>(value);
161 }
162 template <typename InstanceIdT = Aws::String>
164 SetInstanceId(std::forward<InstanceIdT>(value));
165 return *this;
166 }
168
170
173 inline int GetMinSize() const { return m_minSize; }
174 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
175 inline void SetMinSize(int value) {
176 m_minSizeHasBeenSet = true;
177 m_minSize = value;
178 }
180 SetMinSize(value);
181 return *this;
182 }
184
186
194 inline int GetMaxSize() const { return m_maxSize; }
195 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
196 inline void SetMaxSize(int value) {
197 m_maxSizeHasBeenSet = true;
198 m_maxSize = value;
199 }
201 SetMaxSize(value);
202 return *this;
203 }
205
207
215 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
216 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
217 inline void SetDesiredCapacity(int value) {
218 m_desiredCapacityHasBeenSet = true;
219 m_desiredCapacity = value;
220 }
222 SetDesiredCapacity(value);
223 return *this;
224 }
226
228
236 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
237 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
238 inline void SetDefaultCooldown(int value) {
239 m_defaultCooldownHasBeenSet = true;
240 m_defaultCooldown = value;
241 }
243 SetDefaultCooldown(value);
244 return *this;
245 }
247
249
256 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
257 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
258 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
259 void SetAvailabilityZones(AvailabilityZonesT&& value) {
260 m_availabilityZonesHasBeenSet = true;
261 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
262 }
263 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
265 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
266 return *this;
267 }
268 template <typename AvailabilityZonesT = Aws::String>
270 m_availabilityZonesHasBeenSet = true;
271 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
272 return *this;
273 }
275
277
282 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
283 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
284 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
285 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
286 m_availabilityZoneIdsHasBeenSet = true;
287 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
288 }
289 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
291 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
292 return *this;
293 }
294 template <typename AvailabilityZoneIdsT = Aws::String>
296 m_availabilityZoneIdsHasBeenSet = true;
297 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
298 return *this;
299 }
301
303
308 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
309 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
310 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
311 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
312 m_loadBalancerNamesHasBeenSet = true;
313 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
314 }
315 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
317 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
318 return *this;
319 }
320 template <typename LoadBalancerNamesT = Aws::String>
322 m_loadBalancerNamesHasBeenSet = true;
323 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
324 return *this;
325 }
327
329
338 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
339 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
340 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
341 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
342 m_targetGroupARNsHasBeenSet = true;
343 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
344 }
345 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
347 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
348 return *this;
349 }
350 template <typename TargetGroupARNsT = Aws::String>
352 m_targetGroupARNsHasBeenSet = true;
353 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
354 return *this;
355 }
357
359
369 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
370 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
371 template <typename HealthCheckTypeT = Aws::String>
372 void SetHealthCheckType(HealthCheckTypeT&& value) {
373 m_healthCheckTypeHasBeenSet = true;
374 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
375 }
376 template <typename HealthCheckTypeT = Aws::String>
378 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
379 return *this;
380 }
382
384
394 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
395 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
396 inline void SetHealthCheckGracePeriod(int value) {
397 m_healthCheckGracePeriodHasBeenSet = true;
398 m_healthCheckGracePeriod = value;
399 }
402 return *this;
403 }
405
407
416 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
417 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
418 template <typename PlacementGroupT = Aws::String>
419 void SetPlacementGroup(PlacementGroupT&& value) {
420 m_placementGroupHasBeenSet = true;
421 m_placementGroup = std::forward<PlacementGroupT>(value);
422 }
423 template <typename PlacementGroupT = Aws::String>
425 SetPlacementGroup(std::forward<PlacementGroupT>(value));
426 return *this;
427 }
429
431
437 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
438 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
439 template <typename VPCZoneIdentifierT = Aws::String>
440 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
441 m_vPCZoneIdentifierHasBeenSet = true;
442 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
443 }
444 template <typename VPCZoneIdentifierT = Aws::String>
446 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
447 return *this;
448 }
450
452
464 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
465 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
466 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
467 void SetTerminationPolicies(TerminationPoliciesT&& value) {
468 m_terminationPoliciesHasBeenSet = true;
469 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
470 }
471 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
473 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
474 return *this;
475 }
476 template <typename TerminationPoliciesT = Aws::String>
478 m_terminationPoliciesHasBeenSet = true;
479 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
480 return *this;
481 }
483
485
493 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
494 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
495 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
496 m_newInstancesProtectedFromScaleInHasBeenSet = true;
497 m_newInstancesProtectedFromScaleIn = value;
498 }
501 return *this;
502 }
504
506
516 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
517 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
518 inline void SetCapacityRebalance(bool value) {
519 m_capacityRebalanceHasBeenSet = true;
520 m_capacityRebalance = value;
521 }
524 return *this;
525 }
527
529
534 return m_lifecycleHookSpecificationList;
535 }
536 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
537 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
538 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
539 m_lifecycleHookSpecificationListHasBeenSet = true;
540 m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value);
541 }
542 template <typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
543 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
544 SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value));
545 return *this;
546 }
547 template <typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
548 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) {
549 m_lifecycleHookSpecificationListHasBeenSet = true;
550 m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value));
551 return *this;
552 }
554
556
569 inline DeletionProtection GetDeletionProtection() const { return m_deletionProtection; }
570 inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
572 m_deletionProtectionHasBeenSet = true;
573 m_deletionProtection = value;
574 }
577 return *this;
578 }
580
582
594 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
595 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
596 template <typename TagsT = Aws::Vector<Tag>>
597 void SetTags(TagsT&& value) {
598 m_tagsHasBeenSet = true;
599 m_tags = std::forward<TagsT>(value);
600 }
601 template <typename TagsT = Aws::Vector<Tag>>
603 SetTags(std::forward<TagsT>(value));
604 return *this;
605 }
606 template <typename TagsT = Tag>
608 m_tagsHasBeenSet = true;
609 m_tags.emplace_back(std::forward<TagsT>(value));
610 return *this;
611 }
613
615
624 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
625 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
626 template <typename ServiceLinkedRoleARNT = Aws::String>
627 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
628 m_serviceLinkedRoleARNHasBeenSet = true;
629 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
630 }
631 template <typename ServiceLinkedRoleARNT = Aws::String>
633 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
634 return *this;
635 }
637
639
647 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
648 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
649 inline void SetMaxInstanceLifetime(int value) {
650 m_maxInstanceLifetimeHasBeenSet = true;
651 m_maxInstanceLifetime = value;
652 }
655 return *this;
656 }
658
660
663 inline const Aws::String& GetContext() const { return m_context; }
664 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
665 template <typename ContextT = Aws::String>
666 void SetContext(ContextT&& value) {
667 m_contextHasBeenSet = true;
668 m_context = std::forward<ContextT>(value);
669 }
670 template <typename ContextT = Aws::String>
672 SetContext(std::forward<ContextT>(value));
673 return *this;
674 }
676
678
689 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
690 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
691 template <typename DesiredCapacityTypeT = Aws::String>
692 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
693 m_desiredCapacityTypeHasBeenSet = true;
694 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
695 }
696 template <typename DesiredCapacityTypeT = Aws::String>
698 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
699 return *this;
700 }
702
704
723 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
724 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
725 inline void SetDefaultInstanceWarmup(int value) {
726 m_defaultInstanceWarmupHasBeenSet = true;
727 m_defaultInstanceWarmup = value;
728 }
731 return *this;
732 }
734
736
742 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
743 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
744 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
745 void SetTrafficSources(TrafficSourcesT&& value) {
746 m_trafficSourcesHasBeenSet = true;
747 m_trafficSources = std::forward<TrafficSourcesT>(value);
748 }
749 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
751 SetTrafficSources(std::forward<TrafficSourcesT>(value));
752 return *this;
753 }
754 template <typename TrafficSourcesT = TrafficSourceIdentifier>
756 m_trafficSourcesHasBeenSet = true;
757 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
758 return *this;
759 }
761
763
769 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
770 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
771 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
772 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
773 m_instanceMaintenancePolicyHasBeenSet = true;
774 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
775 }
776 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
778 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
779 return *this;
780 }
782
784
787 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
788 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
789 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
790 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
791 m_availabilityZoneDistributionHasBeenSet = true;
792 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
793 }
794 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
795 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
796 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
797 return *this;
798 }
800
802
805 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
806 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
807 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
808 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
809 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
810 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
811 }
812 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
813 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
814 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
815 return *this;
816 }
818
820
828 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
829 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
830 inline void SetSkipZonalShiftValidation(bool value) {
831 m_skipZonalShiftValidationHasBeenSet = true;
832 m_skipZonalShiftValidation = value;
833 }
836 return *this;
837 }
839
841
844 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
845 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
846 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
847 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
848 m_capacityReservationSpecificationHasBeenSet = true;
849 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
850 }
851 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
852 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
853 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
854 return *this;
855 }
857
859
870 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
871 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
872 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
873 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
874 m_instanceLifecyclePolicyHasBeenSet = true;
875 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
876 }
877 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
879 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
880 return *this;
881 }
883
885
892 inline const Operator& GetOperator() const { return m_operator; }
893 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
894 template <typename OperatorT = Operator>
895 void SetOperator(OperatorT&& value) {
896 m_operatorHasBeenSet = true;
897 m_operator = std::forward<OperatorT>(value);
898 }
899 template <typename OperatorT = Operator>
901 SetOperator(std::forward<OperatorT>(value));
902 return *this;
903 }
905 private:
906 Aws::String m_autoScalingGroupName;
907
908 Aws::String m_launchConfigurationName;
909
910 LaunchTemplateSpecification m_launchTemplate;
911
912 MixedInstancesPolicy m_mixedInstancesPolicy;
913
914 Aws::String m_instanceId;
915
916 int m_minSize{0};
917
918 int m_maxSize{0};
919
920 int m_desiredCapacity{0};
921
922 int m_defaultCooldown{0};
923
924 Aws::Vector<Aws::String> m_availabilityZones;
925
926 Aws::Vector<Aws::String> m_availabilityZoneIds;
927
928 Aws::Vector<Aws::String> m_loadBalancerNames;
929
930 Aws::Vector<Aws::String> m_targetGroupARNs;
931
932 Aws::String m_healthCheckType;
933
934 int m_healthCheckGracePeriod{0};
935
936 Aws::String m_placementGroup;
937
938 Aws::String m_vPCZoneIdentifier;
939
940 Aws::Vector<Aws::String> m_terminationPolicies;
941
942 bool m_newInstancesProtectedFromScaleIn{false};
943
944 bool m_capacityRebalance{false};
945
946 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
947
949
950 Aws::Vector<Tag> m_tags;
951
952 Aws::String m_serviceLinkedRoleARN;
953
954 int m_maxInstanceLifetime{0};
955
956 Aws::String m_context;
957
958 Aws::String m_desiredCapacityType;
959
960 int m_defaultInstanceWarmup{0};
961
963
964 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
965
966 AvailabilityZoneDistribution m_availabilityZoneDistribution;
967
968 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
969
970 bool m_skipZonalShiftValidation{false};
971
972 CapacityReservationSpecification m_capacityReservationSpecification;
973
974 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
975
976 Operator m_operator;
977 bool m_autoScalingGroupNameHasBeenSet = false;
978 bool m_launchConfigurationNameHasBeenSet = false;
979 bool m_launchTemplateHasBeenSet = false;
980 bool m_mixedInstancesPolicyHasBeenSet = false;
981 bool m_instanceIdHasBeenSet = false;
982 bool m_minSizeHasBeenSet = false;
983 bool m_maxSizeHasBeenSet = false;
984 bool m_desiredCapacityHasBeenSet = false;
985 bool m_defaultCooldownHasBeenSet = false;
986 bool m_availabilityZonesHasBeenSet = false;
987 bool m_availabilityZoneIdsHasBeenSet = false;
988 bool m_loadBalancerNamesHasBeenSet = false;
989 bool m_targetGroupARNsHasBeenSet = false;
990 bool m_healthCheckTypeHasBeenSet = false;
991 bool m_healthCheckGracePeriodHasBeenSet = false;
992 bool m_placementGroupHasBeenSet = false;
993 bool m_vPCZoneIdentifierHasBeenSet = false;
994 bool m_terminationPoliciesHasBeenSet = false;
995 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
996 bool m_capacityRebalanceHasBeenSet = false;
997 bool m_lifecycleHookSpecificationListHasBeenSet = false;
998 bool m_deletionProtectionHasBeenSet = false;
999 bool m_tagsHasBeenSet = false;
1000 bool m_serviceLinkedRoleARNHasBeenSet = false;
1001 bool m_maxInstanceLifetimeHasBeenSet = false;
1002 bool m_contextHasBeenSet = false;
1003 bool m_desiredCapacityTypeHasBeenSet = false;
1004 bool m_defaultInstanceWarmupHasBeenSet = false;
1005 bool m_trafficSourcesHasBeenSet = false;
1006 bool m_instanceMaintenancePolicyHasBeenSet = false;
1007 bool m_availabilityZoneDistributionHasBeenSet = false;
1008 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
1009 bool m_skipZonalShiftValidationHasBeenSet = false;
1010 bool m_capacityReservationSpecificationHasBeenSet = false;
1011 bool m_instanceLifecyclePolicyHasBeenSet = false;
1012 bool m_operatorHasBeenSet = false;
1013};
1014
1015} // namespace Model
1016} // namespace AutoScaling
1017} // 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