AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateAutoScalingGroupRequest.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/AutoScalingRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
11#include <aws/autoscaling/model/MixedInstancesPolicy.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
14#include <aws/autoscaling/model/AvailabilityZoneDistribution.h>
15#include <aws/autoscaling/model/AvailabilityZoneImpairmentPolicy.h>
16#include <aws/autoscaling/model/CapacityReservationSpecification.h>
17#include <aws/autoscaling/model/LifecycleHookSpecification.h>
18#include <aws/autoscaling/model/Tag.h>
19#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
20#include <utility>
21
22namespace Aws
23{
24namespace AutoScaling
25{
26namespace Model
27{
28
32 {
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:
48
50
56 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
57 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
58 template<typename AutoScalingGroupNameT = Aws::String>
59 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value); }
60 template<typename AutoScalingGroupNameT = Aws::String>
61 CreateAutoScalingGroupRequest& WithAutoScalingGroupName(AutoScalingGroupNameT&& value) { SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value)); return *this;}
63
65
72 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
73 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
74 template<typename LaunchConfigurationNameT = Aws::String>
75 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
76 template<typename LaunchConfigurationNameT = Aws::String>
77 CreateAutoScalingGroupRequest& WithLaunchConfigurationName(LaunchConfigurationNameT&& value) { SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value)); return *this;}
79
81
93 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
94 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
95 template<typename LaunchTemplateT = LaunchTemplateSpecification>
96 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
97 template<typename LaunchTemplateT = LaunchTemplateSpecification>
98 CreateAutoScalingGroupRequest& WithLaunchTemplate(LaunchTemplateT&& value) { SetLaunchTemplate(std::forward<LaunchTemplateT>(value)); return *this;}
100
102
108 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
109 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
110 template<typename MixedInstancesPolicyT = MixedInstancesPolicy>
111 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) { m_mixedInstancesPolicyHasBeenSet = true; m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value); }
112 template<typename MixedInstancesPolicyT = MixedInstancesPolicy>
113 CreateAutoScalingGroupRequest& WithMixedInstancesPolicy(MixedInstancesPolicyT&& value) { SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value)); return *this;}
115
117
128 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
129 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
130 template<typename InstanceIdT = Aws::String>
131 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
132 template<typename InstanceIdT = Aws::String>
133 CreateAutoScalingGroupRequest& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
135
137
140 inline int GetMinSize() const { return m_minSize; }
141 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
142 inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; }
143 inline CreateAutoScalingGroupRequest& WithMinSize(int value) { SetMinSize(value); return *this;}
145
147
155 inline int GetMaxSize() const { return m_maxSize; }
156 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
157 inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
158 inline CreateAutoScalingGroupRequest& WithMaxSize(int value) { SetMaxSize(value); return *this;}
160
162
170 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
171 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
172 inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
173 inline CreateAutoScalingGroupRequest& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;}
175
177
185 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
186 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
187 inline void SetDefaultCooldown(int value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
188 inline CreateAutoScalingGroupRequest& WithDefaultCooldown(int value) { SetDefaultCooldown(value); return *this;}
190
192
199 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
200 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
201 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
202 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
203 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
204 CreateAutoScalingGroupRequest& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
205 template<typename AvailabilityZonesT = Aws::String>
206 CreateAutoScalingGroupRequest& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
208
210
215 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
216 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
217 template<typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
218 void SetLoadBalancerNames(LoadBalancerNamesT&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value); }
219 template<typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
220 CreateAutoScalingGroupRequest& WithLoadBalancerNames(LoadBalancerNamesT&& value) { SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value)); return *this;}
221 template<typename LoadBalancerNamesT = Aws::String>
222 CreateAutoScalingGroupRequest& AddLoadBalancerNames(LoadBalancerNamesT&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value)); return *this; }
224
226
235 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
236 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
237 template<typename TargetGroupARNsT = Aws::Vector<Aws::String>>
238 void SetTargetGroupARNs(TargetGroupARNsT&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = std::forward<TargetGroupARNsT>(value); }
239 template<typename TargetGroupARNsT = Aws::Vector<Aws::String>>
240 CreateAutoScalingGroupRequest& WithTargetGroupARNs(TargetGroupARNsT&& value) { SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value)); return *this;}
241 template<typename TargetGroupARNsT = Aws::String>
242 CreateAutoScalingGroupRequest& AddTargetGroupARNs(TargetGroupARNsT&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value)); return *this; }
244
246
256 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
257 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
258 template<typename HealthCheckTypeT = Aws::String>
259 void SetHealthCheckType(HealthCheckTypeT&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = std::forward<HealthCheckTypeT>(value); }
260 template<typename HealthCheckTypeT = Aws::String>
261 CreateAutoScalingGroupRequest& WithHealthCheckType(HealthCheckTypeT&& value) { SetHealthCheckType(std::forward<HealthCheckTypeT>(value)); return *this;}
263
265
275 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
276 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
277 inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
280
282
291 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
292 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
293 template<typename PlacementGroupT = Aws::String>
294 void SetPlacementGroup(PlacementGroupT&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = std::forward<PlacementGroupT>(value); }
295 template<typename PlacementGroupT = Aws::String>
296 CreateAutoScalingGroupRequest& WithPlacementGroup(PlacementGroupT&& value) { SetPlacementGroup(std::forward<PlacementGroupT>(value)); return *this;}
298
300
306 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
307 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
308 template<typename VPCZoneIdentifierT = Aws::String>
309 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value); }
310 template<typename VPCZoneIdentifierT = Aws::String>
311 CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(VPCZoneIdentifierT&& value) { SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value)); return *this;}
313
315
327 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
328 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
329 template<typename TerminationPoliciesT = Aws::Vector<Aws::String>>
330 void SetTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = std::forward<TerminationPoliciesT>(value); }
331 template<typename TerminationPoliciesT = Aws::Vector<Aws::String>>
332 CreateAutoScalingGroupRequest& WithTerminationPolicies(TerminationPoliciesT&& value) { SetTerminationPolicies(std::forward<TerminationPoliciesT>(value)); return *this;}
333 template<typename TerminationPoliciesT = Aws::String>
334 CreateAutoScalingGroupRequest& AddTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value)); return *this; }
336
338
346 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
347 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
348 inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
351
353
363 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
364 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
365 inline void SetCapacityRebalance(bool value) { m_capacityRebalanceHasBeenSet = true; m_capacityRebalance = value; }
368
370
374 inline const Aws::Vector<LifecycleHookSpecification>& GetLifecycleHookSpecificationList() const { return m_lifecycleHookSpecificationList; }
375 inline bool LifecycleHookSpecificationListHasBeenSet() const { return m_lifecycleHookSpecificationListHasBeenSet; }
376 template<typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
377 void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) { m_lifecycleHookSpecificationListHasBeenSet = true; m_lifecycleHookSpecificationList = std::forward<LifecycleHookSpecificationListT>(value); }
378 template<typename LifecycleHookSpecificationListT = Aws::Vector<LifecycleHookSpecification>>
379 CreateAutoScalingGroupRequest& WithLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) { SetLifecycleHookSpecificationList(std::forward<LifecycleHookSpecificationListT>(value)); return *this;}
380 template<typename LifecycleHookSpecificationListT = LifecycleHookSpecification>
381 CreateAutoScalingGroupRequest& AddLifecycleHookSpecificationList(LifecycleHookSpecificationListT&& value) { m_lifecycleHookSpecificationListHasBeenSet = true; m_lifecycleHookSpecificationList.emplace_back(std::forward<LifecycleHookSpecificationListT>(value)); return *this; }
383
385
397 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
398 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
399 template<typename TagsT = Aws::Vector<Tag>>
400 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
401 template<typename TagsT = Aws::Vector<Tag>>
402 CreateAutoScalingGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
403 template<typename TagsT = Tag>
404 CreateAutoScalingGroupRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
406
408
417 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
418 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
419 template<typename ServiceLinkedRoleARNT = Aws::String>
420 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { m_serviceLinkedRoleARNHasBeenSet = true; m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value); }
421 template<typename ServiceLinkedRoleARNT = Aws::String>
422 CreateAutoScalingGroupRequest& WithServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value)); return *this;}
424
426
434 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
435 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
436 inline void SetMaxInstanceLifetime(int value) { m_maxInstanceLifetimeHasBeenSet = true; m_maxInstanceLifetime = value; }
439
441
444 inline const Aws::String& GetContext() const { return m_context; }
445 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
446 template<typename ContextT = Aws::String>
447 void SetContext(ContextT&& value) { m_contextHasBeenSet = true; m_context = std::forward<ContextT>(value); }
448 template<typename ContextT = Aws::String>
449 CreateAutoScalingGroupRequest& WithContext(ContextT&& value) { SetContext(std::forward<ContextT>(value)); return *this;}
451
453
464 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
465 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
466 template<typename DesiredCapacityTypeT = Aws::String>
467 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) { m_desiredCapacityTypeHasBeenSet = true; m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value); }
468 template<typename DesiredCapacityTypeT = Aws::String>
469 CreateAutoScalingGroupRequest& WithDesiredCapacityType(DesiredCapacityTypeT&& value) { SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value)); return *this;}
471
473
492 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
493 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
494 inline void SetDefaultInstanceWarmup(int value) { m_defaultInstanceWarmupHasBeenSet = true; m_defaultInstanceWarmup = value; }
497
499
505 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
506 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
507 template<typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
508 void SetTrafficSources(TrafficSourcesT&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources = std::forward<TrafficSourcesT>(value); }
509 template<typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
510 CreateAutoScalingGroupRequest& WithTrafficSources(TrafficSourcesT&& value) { SetTrafficSources(std::forward<TrafficSourcesT>(value)); return *this;}
511 template<typename TrafficSourcesT = TrafficSourceIdentifier>
512 CreateAutoScalingGroupRequest& AddTrafficSources(TrafficSourcesT&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value)); return *this; }
514
516
522 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
523 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
524 template<typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
525 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { m_instanceMaintenancePolicyHasBeenSet = true; m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value); }
526 template<typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
527 CreateAutoScalingGroupRequest& WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value)); return *this;}
529
531
534 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
535 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
536 template<typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
537 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { m_availabilityZoneDistributionHasBeenSet = true; m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value); }
538 template<typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
539 CreateAutoScalingGroupRequest& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value)); return *this;}
541
543
546 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
547 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
548 template<typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
549 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { m_availabilityZoneImpairmentPolicyHasBeenSet = true; m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value); }
550 template<typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
551 CreateAutoScalingGroupRequest& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value)); return *this;}
553
555
563 inline bool GetSkipZonalShiftValidation() const { return m_skipZonalShiftValidation; }
564 inline bool SkipZonalShiftValidationHasBeenSet() const { return m_skipZonalShiftValidationHasBeenSet; }
565 inline void SetSkipZonalShiftValidation(bool value) { m_skipZonalShiftValidationHasBeenSet = true; m_skipZonalShiftValidation = value; }
568
570
573 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
574 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
575 template<typename CapacityReservationSpecificationT = CapacityReservationSpecification>
576 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
577 template<typename CapacityReservationSpecificationT = CapacityReservationSpecification>
578 CreateAutoScalingGroupRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
580 private:
581
582 Aws::String m_autoScalingGroupName;
583 bool m_autoScalingGroupNameHasBeenSet = false;
584
585 Aws::String m_launchConfigurationName;
586 bool m_launchConfigurationNameHasBeenSet = false;
587
588 LaunchTemplateSpecification m_launchTemplate;
589 bool m_launchTemplateHasBeenSet = false;
590
591 MixedInstancesPolicy m_mixedInstancesPolicy;
592 bool m_mixedInstancesPolicyHasBeenSet = false;
593
594 Aws::String m_instanceId;
595 bool m_instanceIdHasBeenSet = false;
596
597 int m_minSize{0};
598 bool m_minSizeHasBeenSet = false;
599
600 int m_maxSize{0};
601 bool m_maxSizeHasBeenSet = false;
602
603 int m_desiredCapacity{0};
604 bool m_desiredCapacityHasBeenSet = false;
605
606 int m_defaultCooldown{0};
607 bool m_defaultCooldownHasBeenSet = false;
608
609 Aws::Vector<Aws::String> m_availabilityZones;
610 bool m_availabilityZonesHasBeenSet = false;
611
612 Aws::Vector<Aws::String> m_loadBalancerNames;
613 bool m_loadBalancerNamesHasBeenSet = false;
614
615 Aws::Vector<Aws::String> m_targetGroupARNs;
616 bool m_targetGroupARNsHasBeenSet = false;
617
618 Aws::String m_healthCheckType;
619 bool m_healthCheckTypeHasBeenSet = false;
620
621 int m_healthCheckGracePeriod{0};
622 bool m_healthCheckGracePeriodHasBeenSet = false;
623
624 Aws::String m_placementGroup;
625 bool m_placementGroupHasBeenSet = false;
626
627 Aws::String m_vPCZoneIdentifier;
628 bool m_vPCZoneIdentifierHasBeenSet = false;
629
630 Aws::Vector<Aws::String> m_terminationPolicies;
631 bool m_terminationPoliciesHasBeenSet = false;
632
633 bool m_newInstancesProtectedFromScaleIn{false};
634 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
635
636 bool m_capacityRebalance{false};
637 bool m_capacityRebalanceHasBeenSet = false;
638
639 Aws::Vector<LifecycleHookSpecification> m_lifecycleHookSpecificationList;
640 bool m_lifecycleHookSpecificationListHasBeenSet = false;
641
642 Aws::Vector<Tag> m_tags;
643 bool m_tagsHasBeenSet = false;
644
645 Aws::String m_serviceLinkedRoleARN;
646 bool m_serviceLinkedRoleARNHasBeenSet = false;
647
648 int m_maxInstanceLifetime{0};
649 bool m_maxInstanceLifetimeHasBeenSet = false;
650
651 Aws::String m_context;
652 bool m_contextHasBeenSet = false;
653
654 Aws::String m_desiredCapacityType;
655 bool m_desiredCapacityTypeHasBeenSet = false;
656
657 int m_defaultInstanceWarmup{0};
658 bool m_defaultInstanceWarmupHasBeenSet = false;
659
661 bool m_trafficSourcesHasBeenSet = false;
662
663 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
664 bool m_instanceMaintenancePolicyHasBeenSet = false;
665
666 AvailabilityZoneDistribution m_availabilityZoneDistribution;
667 bool m_availabilityZoneDistributionHasBeenSet = false;
668
669 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
670 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
671
672 bool m_skipZonalShiftValidation{false};
673 bool m_skipZonalShiftValidationHasBeenSet = false;
674
675 CapacityReservationSpecification m_capacityReservationSpecification;
676 bool m_capacityReservationSpecificationHasBeenSet = false;
677 };
678
679} // namespace Model
680} // namespace AutoScaling
681} // namespace Aws
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(VPCZoneIdentifierT &&value)
CreateAutoScalingGroupRequest & WithSkipZonalShiftValidation(bool value)
CreateAutoScalingGroupRequest & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
CreateAutoScalingGroupRequest & WithTrafficSources(TrafficSourcesT &&value)
void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
CreateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
CreateAutoScalingGroupRequest & AddTrafficSources(TrafficSourcesT &&value)
const AvailabilityZoneImpairmentPolicy & GetAvailabilityZoneImpairmentPolicy() const
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
CreateAutoScalingGroupRequest & WithServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
CreateAutoScalingGroupRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateAutoScalingGroupRequest & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithCapacityRebalance(bool value)
CreateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
CreateAutoScalingGroupRequest & WithTags(TagsT &&value)
CreateAutoScalingGroupRequest & AddTargetGroupARNs(TargetGroupARNsT &&value)
CreateAutoScalingGroupRequest & WithDefaultInstanceWarmup(int value)
CreateAutoScalingGroupRequest & WithTerminationPolicies(TerminationPoliciesT &&value)
CreateAutoScalingGroupRequest & WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
CreateAutoScalingGroupRequest & WithLoadBalancerNames(LoadBalancerNamesT &&value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateAutoScalingGroupRequest & AddLoadBalancerNames(LoadBalancerNamesT &&value)
CreateAutoScalingGroupRequest & WithContext(ContextT &&value)
void SetLifecycleHookSpecificationList(LifecycleHookSpecificationListT &&value)
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