AWS SDK for C++

AWS SDK for C++ Version 1.11.873

Loading...
Searching...
No Matches
AutoScalingGroup.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/AvailabilityZoneDistribution.h>
9#include <aws/autoscaling/model/AvailabilityZoneImpairmentPolicy.h>
10#include <aws/autoscaling/model/CapacityReservationSpecification.h>
11#include <aws/autoscaling/model/DeletionProtection.h>
12#include <aws/autoscaling/model/EnabledMetric.h>
13#include <aws/autoscaling/model/Instance.h>
14#include <aws/autoscaling/model/InstanceLifecyclePolicy.h>
15#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
16#include <aws/autoscaling/model/LaunchTemplateSpecification.h>
17#include <aws/autoscaling/model/MixedInstancesPolicy.h>
18#include <aws/autoscaling/model/Operator.h>
19#include <aws/autoscaling/model/SuspendedProcess.h>
20#include <aws/autoscaling/model/TagDescription.h>
21#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
22#include <aws/autoscaling/model/WarmPoolConfiguration.h>
23#include <aws/core/utils/DateTime.h>
24#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
25#include <aws/core/utils/memory/stl/AWSString.h>
26#include <aws/core/utils/memory/stl/AWSVector.h>
27
28#include <utility>
29
30namespace Aws {
31namespace Utils {
32namespace Xml {
33class XmlNode;
34} // namespace Xml
35} // namespace Utils
36namespace AutoScaling {
37namespace Model {
38
45 public:
46 AWS_AUTOSCALING_API AutoScalingGroup() = default;
47 AWS_AUTOSCALING_API AutoScalingGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
48 AWS_AUTOSCALING_API AutoScalingGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
49
50 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
52
54
57 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
58 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
59 template <typename AutoScalingGroupNameT = Aws::String>
60 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) {
61 m_autoScalingGroupNameHasBeenSet = true;
62 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
63 }
64 template <typename AutoScalingGroupNameT = Aws::String>
65 AutoScalingGroup& WithAutoScalingGroupName(AutoScalingGroupNameT&& value) {
66 SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetAutoScalingGroupARN() const { return m_autoScalingGroupARN; }
76 inline bool AutoScalingGroupARNHasBeenSet() const { return m_autoScalingGroupARNHasBeenSet; }
77 template <typename AutoScalingGroupARNT = Aws::String>
78 void SetAutoScalingGroupARN(AutoScalingGroupARNT&& value) {
79 m_autoScalingGroupARNHasBeenSet = true;
80 m_autoScalingGroupARN = std::forward<AutoScalingGroupARNT>(value);
81 }
82 template <typename AutoScalingGroupARNT = Aws::String>
83 AutoScalingGroup& WithAutoScalingGroupARN(AutoScalingGroupARNT&& value) {
84 SetAutoScalingGroupARN(std::forward<AutoScalingGroupARNT>(value));
85 return *this;
86 }
88
90
94 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
95 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
96 template <typename LaunchConfigurationNameT = Aws::String>
97 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) {
98 m_launchConfigurationNameHasBeenSet = true;
99 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
100 }
101 template <typename LaunchConfigurationNameT = Aws::String>
102 AutoScalingGroup& WithLaunchConfigurationName(LaunchConfigurationNameT&& value) {
103 SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value));
104 return *this;
105 }
107
109
112 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
113 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
114 template <typename LaunchTemplateT = LaunchTemplateSpecification>
115 void SetLaunchTemplate(LaunchTemplateT&& value) {
116 m_launchTemplateHasBeenSet = true;
117 m_launchTemplate = std::forward<LaunchTemplateT>(value);
118 }
119 template <typename LaunchTemplateT = LaunchTemplateSpecification>
120 AutoScalingGroup& WithLaunchTemplate(LaunchTemplateT&& value) {
121 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
122 return *this;
123 }
125
127
130 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const { return m_mixedInstancesPolicy; }
131 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
132 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
133 void SetMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
134 m_mixedInstancesPolicyHasBeenSet = true;
135 m_mixedInstancesPolicy = std::forward<MixedInstancesPolicyT>(value);
136 }
137 template <typename MixedInstancesPolicyT = MixedInstancesPolicy>
138 AutoScalingGroup& WithMixedInstancesPolicy(MixedInstancesPolicyT&& value) {
139 SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value));
140 return *this;
141 }
143
145
148 inline int GetMinSize() const { return m_minSize; }
149 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
150 inline void SetMinSize(int value) {
151 m_minSizeHasBeenSet = true;
152 m_minSize = value;
153 }
154 inline AutoScalingGroup& WithMinSize(int value) {
155 SetMinSize(value);
156 return *this;
157 }
159
161
164 inline int GetMaxSize() const { return m_maxSize; }
165 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
166 inline void SetMaxSize(int value) {
167 m_maxSizeHasBeenSet = true;
168 m_maxSize = value;
169 }
170 inline AutoScalingGroup& WithMaxSize(int value) {
171 SetMaxSize(value);
172 return *this;
173 }
175
177
180 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
181 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
182 inline void SetDesiredCapacity(int value) {
183 m_desiredCapacityHasBeenSet = true;
184 m_desiredCapacity = value;
185 }
187 SetDesiredCapacity(value);
188 return *this;
189 }
191
193
197 inline int GetPredictedCapacity() const { return m_predictedCapacity; }
198 inline bool PredictedCapacityHasBeenSet() const { return m_predictedCapacityHasBeenSet; }
199 inline void SetPredictedCapacity(int value) {
200 m_predictedCapacityHasBeenSet = true;
201 m_predictedCapacity = value;
202 }
205 return *this;
206 }
208
210
214 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
215 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
216 inline void SetDefaultCooldown(int value) {
217 m_defaultCooldownHasBeenSet = true;
218 m_defaultCooldown = value;
219 }
221 SetDefaultCooldown(value);
222 return *this;
223 }
225
227
230 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
231 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
232 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
233 void SetAvailabilityZones(AvailabilityZonesT&& value) {
234 m_availabilityZonesHasBeenSet = true;
235 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
236 }
237 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
238 AutoScalingGroup& WithAvailabilityZones(AvailabilityZonesT&& value) {
239 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
240 return *this;
241 }
242 template <typename AvailabilityZonesT = Aws::String>
243 AutoScalingGroup& AddAvailabilityZones(AvailabilityZonesT&& value) {
244 m_availabilityZonesHasBeenSet = true;
245 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
246 return *this;
247 }
249
251
255 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
256 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
257 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
258 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
259 m_availabilityZoneIdsHasBeenSet = true;
260 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
261 }
262 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
263 AutoScalingGroup& WithAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
264 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
265 return *this;
266 }
267 template <typename AvailabilityZoneIdsT = Aws::String>
268 AutoScalingGroup& AddAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
269 m_availabilityZoneIdsHasBeenSet = true;
270 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
271 return *this;
272 }
274
276
279 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
280 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
281 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
282 void SetLoadBalancerNames(LoadBalancerNamesT&& value) {
283 m_loadBalancerNamesHasBeenSet = true;
284 m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value);
285 }
286 template <typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
287 AutoScalingGroup& WithLoadBalancerNames(LoadBalancerNamesT&& value) {
288 SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value));
289 return *this;
290 }
291 template <typename LoadBalancerNamesT = Aws::String>
292 AutoScalingGroup& AddLoadBalancerNames(LoadBalancerNamesT&& value) {
293 m_loadBalancerNamesHasBeenSet = true;
294 m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value));
295 return *this;
296 }
298
300
304 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
305 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
306 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
307 void SetTargetGroupARNs(TargetGroupARNsT&& value) {
308 m_targetGroupARNsHasBeenSet = true;
309 m_targetGroupARNs = std::forward<TargetGroupARNsT>(value);
310 }
311 template <typename TargetGroupARNsT = Aws::Vector<Aws::String>>
312 AutoScalingGroup& WithTargetGroupARNs(TargetGroupARNsT&& value) {
313 SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value));
314 return *this;
315 }
316 template <typename TargetGroupARNsT = Aws::String>
317 AutoScalingGroup& AddTargetGroupARNs(TargetGroupARNsT&& value) {
318 m_targetGroupARNsHasBeenSet = true;
319 m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value));
320 return *this;
321 }
323
325
329 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
330 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
331 template <typename HealthCheckTypeT = Aws::String>
332 void SetHealthCheckType(HealthCheckTypeT&& value) {
333 m_healthCheckTypeHasBeenSet = true;
334 m_healthCheckType = std::forward<HealthCheckTypeT>(value);
335 }
336 template <typename HealthCheckTypeT = Aws::String>
337 AutoScalingGroup& WithHealthCheckType(HealthCheckTypeT&& value) {
338 SetHealthCheckType(std::forward<HealthCheckTypeT>(value));
339 return *this;
340 }
342
344
348 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
349 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
350 inline void SetHealthCheckGracePeriod(int value) {
351 m_healthCheckGracePeriodHasBeenSet = true;
352 m_healthCheckGracePeriod = value;
353 }
356 return *this;
357 }
359
361
364 inline const Aws::Vector<Instance>& GetInstances() const { return m_instances; }
365 inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; }
366 template <typename InstancesT = Aws::Vector<Instance>>
367 void SetInstances(InstancesT&& value) {
368 m_instancesHasBeenSet = true;
369 m_instances = std::forward<InstancesT>(value);
370 }
371 template <typename InstancesT = Aws::Vector<Instance>>
372 AutoScalingGroup& WithInstances(InstancesT&& value) {
373 SetInstances(std::forward<InstancesT>(value));
374 return *this;
375 }
376 template <typename InstancesT = Instance>
377 AutoScalingGroup& AddInstances(InstancesT&& value) {
378 m_instancesHasBeenSet = true;
379 m_instances.emplace_back(std::forward<InstancesT>(value));
380 return *this;
381 }
383
385
388 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
389 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
390 template <typename CreatedTimeT = Aws::Utils::DateTime>
391 void SetCreatedTime(CreatedTimeT&& value) {
392 m_createdTimeHasBeenSet = true;
393 m_createdTime = std::forward<CreatedTimeT>(value);
394 }
395 template <typename CreatedTimeT = Aws::Utils::DateTime>
396 AutoScalingGroup& WithCreatedTime(CreatedTimeT&& value) {
397 SetCreatedTime(std::forward<CreatedTimeT>(value));
398 return *this;
399 }
401
403
406 inline const Aws::Vector<SuspendedProcess>& GetSuspendedProcesses() const { return m_suspendedProcesses; }
407 inline bool SuspendedProcessesHasBeenSet() const { return m_suspendedProcessesHasBeenSet; }
408 template <typename SuspendedProcessesT = Aws::Vector<SuspendedProcess>>
409 void SetSuspendedProcesses(SuspendedProcessesT&& value) {
410 m_suspendedProcessesHasBeenSet = true;
411 m_suspendedProcesses = std::forward<SuspendedProcessesT>(value);
412 }
413 template <typename SuspendedProcessesT = Aws::Vector<SuspendedProcess>>
414 AutoScalingGroup& WithSuspendedProcesses(SuspendedProcessesT&& value) {
415 SetSuspendedProcesses(std::forward<SuspendedProcessesT>(value));
416 return *this;
417 }
418 template <typename SuspendedProcessesT = SuspendedProcess>
419 AutoScalingGroup& AddSuspendedProcesses(SuspendedProcessesT&& value) {
420 m_suspendedProcessesHasBeenSet = true;
421 m_suspendedProcesses.emplace_back(std::forward<SuspendedProcessesT>(value));
422 return *this;
423 }
425
427
431 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
432 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
433 template <typename PlacementGroupT = Aws::String>
434 void SetPlacementGroup(PlacementGroupT&& value) {
435 m_placementGroupHasBeenSet = true;
436 m_placementGroup = std::forward<PlacementGroupT>(value);
437 }
438 template <typename PlacementGroupT = Aws::String>
439 AutoScalingGroup& WithPlacementGroup(PlacementGroupT&& value) {
440 SetPlacementGroup(std::forward<PlacementGroupT>(value));
441 return *this;
442 }
444
446
449 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
450 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
451 template <typename VPCZoneIdentifierT = Aws::String>
452 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
453 m_vPCZoneIdentifierHasBeenSet = true;
454 m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value);
455 }
456 template <typename VPCZoneIdentifierT = Aws::String>
457 AutoScalingGroup& WithVPCZoneIdentifier(VPCZoneIdentifierT&& value) {
458 SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value));
459 return *this;
460 }
462
464
467 inline const Aws::Vector<EnabledMetric>& GetEnabledMetrics() const { return m_enabledMetrics; }
468 inline bool EnabledMetricsHasBeenSet() const { return m_enabledMetricsHasBeenSet; }
469 template <typename EnabledMetricsT = Aws::Vector<EnabledMetric>>
470 void SetEnabledMetrics(EnabledMetricsT&& value) {
471 m_enabledMetricsHasBeenSet = true;
472 m_enabledMetrics = std::forward<EnabledMetricsT>(value);
473 }
474 template <typename EnabledMetricsT = Aws::Vector<EnabledMetric>>
475 AutoScalingGroup& WithEnabledMetrics(EnabledMetricsT&& value) {
476 SetEnabledMetrics(std::forward<EnabledMetricsT>(value));
477 return *this;
478 }
479 template <typename EnabledMetricsT = EnabledMetric>
480 AutoScalingGroup& AddEnabledMetrics(EnabledMetricsT&& value) {
481 m_enabledMetricsHasBeenSet = true;
482 m_enabledMetrics.emplace_back(std::forward<EnabledMetricsT>(value));
483 return *this;
484 }
486
488
493 inline const Aws::String& GetStatus() const { return m_status; }
494 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
495 template <typename StatusT = Aws::String>
496 void SetStatus(StatusT&& value) {
497 m_statusHasBeenSet = true;
498 m_status = std::forward<StatusT>(value);
499 }
500 template <typename StatusT = Aws::String>
501 AutoScalingGroup& WithStatus(StatusT&& value) {
502 SetStatus(std::forward<StatusT>(value));
503 return *this;
504 }
506
508
511 inline const Aws::Vector<TagDescription>& GetTags() const { return m_tags; }
512 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
513 template <typename TagsT = Aws::Vector<TagDescription>>
514 void SetTags(TagsT&& value) {
515 m_tagsHasBeenSet = true;
516 m_tags = std::forward<TagsT>(value);
517 }
518 template <typename TagsT = Aws::Vector<TagDescription>>
519 AutoScalingGroup& WithTags(TagsT&& value) {
520 SetTags(std::forward<TagsT>(value));
521 return *this;
522 }
523 template <typename TagsT = TagDescription>
524 AutoScalingGroup& AddTags(TagsT&& value) {
525 m_tagsHasBeenSet = true;
526 m_tags.emplace_back(std::forward<TagsT>(value));
527 return *this;
528 }
530
532
535 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
536 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
537 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
538 void SetTerminationPolicies(TerminationPoliciesT&& value) {
539 m_terminationPoliciesHasBeenSet = true;
540 m_terminationPolicies = std::forward<TerminationPoliciesT>(value);
541 }
542 template <typename TerminationPoliciesT = Aws::Vector<Aws::String>>
543 AutoScalingGroup& WithTerminationPolicies(TerminationPoliciesT&& value) {
544 SetTerminationPolicies(std::forward<TerminationPoliciesT>(value));
545 return *this;
546 }
547 template <typename TerminationPoliciesT = Aws::String>
548 AutoScalingGroup& AddTerminationPolicies(TerminationPoliciesT&& value) {
549 m_terminationPoliciesHasBeenSet = true;
550 m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value));
551 return *this;
552 }
554
556
564 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
565 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
566 inline void SetNewInstancesProtectedFromScaleIn(bool value) {
567 m_newInstancesProtectedFromScaleInHasBeenSet = true;
568 m_newInstancesProtectedFromScaleIn = value;
569 }
572 return *this;
573 }
575
577
581 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
582 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
583 template <typename ServiceLinkedRoleARNT = Aws::String>
584 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
585 m_serviceLinkedRoleARNHasBeenSet = true;
586 m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value);
587 }
588 template <typename ServiceLinkedRoleARNT = Aws::String>
589 AutoScalingGroup& WithServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) {
590 SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value));
591 return *this;
592 }
594
596
600 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
601 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
602 inline void SetMaxInstanceLifetime(int value) {
603 m_maxInstanceLifetimeHasBeenSet = true;
604 m_maxInstanceLifetime = value;
605 }
608 return *this;
609 }
611
613
616 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
617 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
618 inline void SetCapacityRebalance(bool value) {
619 m_capacityRebalanceHasBeenSet = true;
620 m_capacityRebalance = value;
621 }
624 return *this;
625 }
627
629
632 inline const WarmPoolConfiguration& GetWarmPoolConfiguration() const { return m_warmPoolConfiguration; }
633 inline bool WarmPoolConfigurationHasBeenSet() const { return m_warmPoolConfigurationHasBeenSet; }
634 template <typename WarmPoolConfigurationT = WarmPoolConfiguration>
635 void SetWarmPoolConfiguration(WarmPoolConfigurationT&& value) {
636 m_warmPoolConfigurationHasBeenSet = true;
637 m_warmPoolConfiguration = std::forward<WarmPoolConfigurationT>(value);
638 }
639 template <typename WarmPoolConfigurationT = WarmPoolConfiguration>
640 AutoScalingGroup& WithWarmPoolConfiguration(WarmPoolConfigurationT&& value) {
641 SetWarmPoolConfiguration(std::forward<WarmPoolConfigurationT>(value));
642 return *this;
643 }
645
647
650 inline int GetWarmPoolSize() const { return m_warmPoolSize; }
651 inline bool WarmPoolSizeHasBeenSet() const { return m_warmPoolSizeHasBeenSet; }
652 inline void SetWarmPoolSize(int value) {
653 m_warmPoolSizeHasBeenSet = true;
654 m_warmPoolSize = value;
655 }
657 SetWarmPoolSize(value);
658 return *this;
659 }
661
663
666 inline const Aws::String& GetContext() const { return m_context; }
667 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
668 template <typename ContextT = Aws::String>
669 void SetContext(ContextT&& value) {
670 m_contextHasBeenSet = true;
671 m_context = std::forward<ContextT>(value);
672 }
673 template <typename ContextT = Aws::String>
674 AutoScalingGroup& WithContext(ContextT&& value) {
675 SetContext(std::forward<ContextT>(value));
676 return *this;
677 }
679
681
686 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
687 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
688 template <typename DesiredCapacityTypeT = Aws::String>
689 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) {
690 m_desiredCapacityTypeHasBeenSet = true;
691 m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value);
692 }
693 template <typename DesiredCapacityTypeT = Aws::String>
694 AutoScalingGroup& WithDesiredCapacityType(DesiredCapacityTypeT&& value) {
695 SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value));
696 return *this;
697 }
699
701
705 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
706 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
707 inline void SetDefaultInstanceWarmup(int value) {
708 m_defaultInstanceWarmupHasBeenSet = true;
709 m_defaultInstanceWarmup = value;
710 }
713 return *this;
714 }
716
718
721 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
722 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
723 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
724 void SetTrafficSources(TrafficSourcesT&& value) {
725 m_trafficSourcesHasBeenSet = true;
726 m_trafficSources = std::forward<TrafficSourcesT>(value);
727 }
728 template <typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
729 AutoScalingGroup& WithTrafficSources(TrafficSourcesT&& value) {
730 SetTrafficSources(std::forward<TrafficSourcesT>(value));
731 return *this;
732 }
733 template <typename TrafficSourcesT = TrafficSourceIdentifier>
734 AutoScalingGroup& AddTrafficSources(TrafficSourcesT&& value) {
735 m_trafficSourcesHasBeenSet = true;
736 m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value));
737 return *this;
738 }
740
742
745 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
746 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
747 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
748 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
749 m_instanceMaintenancePolicyHasBeenSet = true;
750 m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value);
751 }
752 template <typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
753 AutoScalingGroup& WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) {
754 SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value));
755 return *this;
756 }
758
760
763 inline DeletionProtection GetDeletionProtection() const { return m_deletionProtection; }
764 inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
766 m_deletionProtectionHasBeenSet = true;
767 m_deletionProtection = value;
768 }
771 return *this;
772 }
774
776
780 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
781 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
782 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
783 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
784 m_availabilityZoneDistributionHasBeenSet = true;
785 m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value);
786 }
787 template <typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
788 AutoScalingGroup& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) {
789 SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value));
790 return *this;
791 }
793
795
798 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
799 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
800 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
801 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
802 m_availabilityZoneImpairmentPolicyHasBeenSet = true;
803 m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value);
804 }
805 template <typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
806 AutoScalingGroup& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) {
807 SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value));
808 return *this;
809 }
811
813
816 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
817 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
818 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
819 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
820 m_capacityReservationSpecificationHasBeenSet = true;
821 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
822 }
823 template <typename CapacityReservationSpecificationT = CapacityReservationSpecification>
824 AutoScalingGroup& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
825 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
826 return *this;
827 }
829
831
834 inline const InstanceLifecyclePolicy& GetInstanceLifecyclePolicy() const { return m_instanceLifecyclePolicy; }
835 inline bool InstanceLifecyclePolicyHasBeenSet() const { return m_instanceLifecyclePolicyHasBeenSet; }
836 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
837 void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
838 m_instanceLifecyclePolicyHasBeenSet = true;
839 m_instanceLifecyclePolicy = std::forward<InstanceLifecyclePolicyT>(value);
840 }
841 template <typename InstanceLifecyclePolicyT = InstanceLifecyclePolicy>
842 AutoScalingGroup& WithInstanceLifecyclePolicy(InstanceLifecyclePolicyT&& value) {
843 SetInstanceLifecyclePolicy(std::forward<InstanceLifecyclePolicyT>(value));
844 return *this;
845 }
847
849
853 inline const Operator& GetOperator() const { return m_operator; }
854 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
855 template <typename OperatorT = Operator>
856 void SetOperator(OperatorT&& value) {
857 m_operatorHasBeenSet = true;
858 m_operator = std::forward<OperatorT>(value);
859 }
860 template <typename OperatorT = Operator>
861 AutoScalingGroup& WithOperator(OperatorT&& value) {
862 SetOperator(std::forward<OperatorT>(value));
863 return *this;
864 }
866 private:
867 Aws::String m_autoScalingGroupName;
868
869 Aws::String m_autoScalingGroupARN;
870
871 Aws::String m_launchConfigurationName;
872
873 LaunchTemplateSpecification m_launchTemplate;
874
875 MixedInstancesPolicy m_mixedInstancesPolicy;
876
877 int m_minSize{0};
878
879 int m_maxSize{0};
880
881 int m_desiredCapacity{0};
882
883 int m_predictedCapacity{0};
884
885 int m_defaultCooldown{0};
886
887 Aws::Vector<Aws::String> m_availabilityZones;
888
889 Aws::Vector<Aws::String> m_availabilityZoneIds;
890
891 Aws::Vector<Aws::String> m_loadBalancerNames;
892
893 Aws::Vector<Aws::String> m_targetGroupARNs;
894
895 Aws::String m_healthCheckType;
896
897 int m_healthCheckGracePeriod{0};
898
899 Aws::Vector<Instance> m_instances;
900
901 Aws::Utils::DateTime m_createdTime{};
902
903 Aws::Vector<SuspendedProcess> m_suspendedProcesses;
904
905 Aws::String m_placementGroup;
906
907 Aws::String m_vPCZoneIdentifier;
908
909 Aws::Vector<EnabledMetric> m_enabledMetrics;
910
911 Aws::String m_status;
912
914
915 Aws::Vector<Aws::String> m_terminationPolicies;
916
917 bool m_newInstancesProtectedFromScaleIn{false};
918
919 Aws::String m_serviceLinkedRoleARN;
920
921 int m_maxInstanceLifetime{0};
922
923 bool m_capacityRebalance{false};
924
925 WarmPoolConfiguration m_warmPoolConfiguration;
926
927 int m_warmPoolSize{0};
928
929 Aws::String m_context;
930
931 Aws::String m_desiredCapacityType;
932
933 int m_defaultInstanceWarmup{0};
934
936
937 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
938
940
941 AvailabilityZoneDistribution m_availabilityZoneDistribution;
942
943 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
944
945 CapacityReservationSpecification m_capacityReservationSpecification;
946
947 InstanceLifecyclePolicy m_instanceLifecyclePolicy;
948
949 Operator m_operator;
950 bool m_autoScalingGroupNameHasBeenSet = false;
951 bool m_autoScalingGroupARNHasBeenSet = false;
952 bool m_launchConfigurationNameHasBeenSet = false;
953 bool m_launchTemplateHasBeenSet = false;
954 bool m_mixedInstancesPolicyHasBeenSet = false;
955 bool m_minSizeHasBeenSet = false;
956 bool m_maxSizeHasBeenSet = false;
957 bool m_desiredCapacityHasBeenSet = false;
958 bool m_predictedCapacityHasBeenSet = false;
959 bool m_defaultCooldownHasBeenSet = false;
960 bool m_availabilityZonesHasBeenSet = false;
961 bool m_availabilityZoneIdsHasBeenSet = false;
962 bool m_loadBalancerNamesHasBeenSet = false;
963 bool m_targetGroupARNsHasBeenSet = false;
964 bool m_healthCheckTypeHasBeenSet = false;
965 bool m_healthCheckGracePeriodHasBeenSet = false;
966 bool m_instancesHasBeenSet = false;
967 bool m_createdTimeHasBeenSet = false;
968 bool m_suspendedProcessesHasBeenSet = false;
969 bool m_placementGroupHasBeenSet = false;
970 bool m_vPCZoneIdentifierHasBeenSet = false;
971 bool m_enabledMetricsHasBeenSet = false;
972 bool m_statusHasBeenSet = false;
973 bool m_tagsHasBeenSet = false;
974 bool m_terminationPoliciesHasBeenSet = false;
975 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
976 bool m_serviceLinkedRoleARNHasBeenSet = false;
977 bool m_maxInstanceLifetimeHasBeenSet = false;
978 bool m_capacityRebalanceHasBeenSet = false;
979 bool m_warmPoolConfigurationHasBeenSet = false;
980 bool m_warmPoolSizeHasBeenSet = false;
981 bool m_contextHasBeenSet = false;
982 bool m_desiredCapacityTypeHasBeenSet = false;
983 bool m_defaultInstanceWarmupHasBeenSet = false;
984 bool m_trafficSourcesHasBeenSet = false;
985 bool m_instanceMaintenancePolicyHasBeenSet = false;
986 bool m_deletionProtectionHasBeenSet = false;
987 bool m_availabilityZoneDistributionHasBeenSet = false;
988 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
989 bool m_capacityReservationSpecificationHasBeenSet = false;
990 bool m_instanceLifecyclePolicyHasBeenSet = false;
991 bool m_operatorHasBeenSet = false;
992};
993
994} // namespace Model
995} // namespace AutoScaling
996} // namespace Aws
AutoScalingGroup & AddAvailabilityZones(AvailabilityZonesT &&value)
const Aws::String & GetDesiredCapacityType() const
AutoScalingGroup & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
AutoScalingGroup & WithServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
AutoScalingGroup & WithAvailabilityZones(AvailabilityZonesT &&value)
void SetTerminationPolicies(TerminationPoliciesT &&value)
AutoScalingGroup & WithInstances(InstancesT &&value)
void SetDeletionProtection(DeletionProtection value)
AutoScalingGroup & WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
AutoScalingGroup & WithCapacityRebalance(bool value)
AutoScalingGroup & WithCreatedTime(CreatedTimeT &&value)
void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT &&value)
void SetEnabledMetrics(EnabledMetricsT &&value)
AutoScalingGroup & AddEnabledMetrics(EnabledMetricsT &&value)
void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
AutoScalingGroup & WithEnabledMetrics(EnabledMetricsT &&value)
AutoScalingGroup & WithAutoScalingGroupARN(AutoScalingGroupARNT &&value)
void SetLoadBalancerNames(LoadBalancerNamesT &&value)
AutoScalingGroup & WithTerminationPolicies(TerminationPoliciesT &&value)
const Aws::String & GetPlacementGroup() const
AutoScalingGroup & AddTags(TagsT &&value)
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AutoScalingGroup & WithDeletionProtection(DeletionProtection value)
AutoScalingGroup & WithMinSize(int value)
DeletionProtection GetDeletionProtection() const
void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT &&value)
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
AutoScalingGroup & WithDefaultInstanceWarmup(int value)
void SetWarmPoolConfiguration(WarmPoolConfigurationT &&value)
AutoScalingGroup & WithWarmPoolSize(int value)
AutoScalingGroup & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
void SetLaunchConfigurationName(LaunchConfigurationNameT &&value)
AutoScalingGroup & WithMixedInstancesPolicy(MixedInstancesPolicyT &&value)
AWS_AUTOSCALING_API AutoScalingGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
AutoScalingGroup & WithPredictedCapacity(int value)
void SetDesiredCapacityType(DesiredCapacityTypeT &&value)
AutoScalingGroup & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
const Aws::Vector< TagDescription > & GetTags() const
AutoScalingGroup & WithMaxSize(int value)
AutoScalingGroup & WithOperator(OperatorT &&value)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
AutoScalingGroup & AddTerminationPolicies(TerminationPoliciesT &&value)
const InstanceLifecyclePolicy & GetInstanceLifecyclePolicy() const
const CapacityReservationSpecification & GetCapacityReservationSpecification() const
AutoScalingGroup & WithInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
AutoScalingGroup & WithContext(ContextT &&value)
AutoScalingGroup & WithMaxInstanceLifetime(int value)
AutoScalingGroup & WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
const Aws::Utils::DateTime & GetCreatedTime() const
AutoScalingGroup & WithTags(TagsT &&value)
AWS_AUTOSCALING_API AutoScalingGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const AvailabilityZoneImpairmentPolicy & GetAvailabilityZoneImpairmentPolicy() const
void SetTrafficSources(TrafficSourcesT &&value)
const Aws::String & GetAutoScalingGroupName() const
const AvailabilityZoneDistribution & GetAvailabilityZoneDistribution() const
const WarmPoolConfiguration & GetWarmPoolConfiguration() const
AutoScalingGroup & WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT &&value)
AutoScalingGroup & WithHealthCheckGracePeriod(int value)
void SetPlacementGroup(PlacementGroupT &&value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
void SetLaunchTemplate(LaunchTemplateT &&value)
const Aws::String & GetHealthCheckType() const
AWS_AUTOSCALING_API AutoScalingGroup()=default
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AutoScalingGroup & WithNewInstancesProtectedFromScaleIn(bool value)
AutoScalingGroup & AddTargetGroupARNs(TargetGroupARNsT &&value)
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
AutoScalingGroup & WithDefaultCooldown(int value)
AutoScalingGroup & AddTrafficSources(TrafficSourcesT &&value)
void SetAutoScalingGroupARN(AutoScalingGroupARNT &&value)
AutoScalingGroup & WithTrafficSources(TrafficSourcesT &&value)
void SetMixedInstancesPolicy(MixedInstancesPolicyT &&value)
const Aws::Vector< SuspendedProcess > & GetSuspendedProcesses() const
AutoScalingGroup & AddSuspendedProcesses(SuspendedProcessesT &&value)
AutoScalingGroup & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
const Aws::Vector< Instance > & GetInstances() const
AutoScalingGroup & WithLaunchTemplate(LaunchTemplateT &&value)
const Aws::String & GetServiceLinkedRoleARN() const
void SetVPCZoneIdentifier(VPCZoneIdentifierT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
AutoScalingGroup & WithDesiredCapacity(int value)
AutoScalingGroup & WithLoadBalancerNames(LoadBalancerNamesT &&value)
const Aws::String & GetLaunchConfigurationName() const
const Aws::Vector< TrafficSourceIdentifier > & GetTrafficSources() const
void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT &&value)
AutoScalingGroup & AddInstances(InstancesT &&value)
AutoScalingGroup & WithTargetGroupARNs(TargetGroupARNsT &&value)
const Aws::Vector< EnabledMetric > & GetEnabledMetrics() const
AutoScalingGroup & WithSuspendedProcesses(SuspendedProcessesT &&value)
AutoScalingGroup & WithVPCZoneIdentifier(VPCZoneIdentifierT &&value)
AutoScalingGroup & WithDesiredCapacityType(DesiredCapacityTypeT &&value)
const Aws::String & GetVPCZoneIdentifier() const
void SetAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
void SetHealthCheckType(HealthCheckTypeT &&value)
AutoScalingGroup & AddLoadBalancerNames(LoadBalancerNamesT &&value)
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
AutoScalingGroup & WithStatus(StatusT &&value)
AutoScalingGroup & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
AutoScalingGroup & WithHealthCheckType(HealthCheckTypeT &&value)
void SetInstanceLifecyclePolicy(InstanceLifecyclePolicyT &&value)
const Aws::String & GetAutoScalingGroupARN() const
void SetSuspendedProcesses(SuspendedProcessesT &&value)
void SetTargetGroupARNs(TargetGroupARNsT &&value)
const Aws::Vector< Aws::String > & GetTargetGroupARNs() const
AutoScalingGroup & WithWarmPoolConfiguration(WarmPoolConfigurationT &&value)
AutoScalingGroup & WithPlacementGroup(PlacementGroupT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream