AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AutoScalingGroup.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.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/core/utils/DateTime.h>
14#include <aws/autoscaling/model/WarmPoolConfiguration.h>
15#include <aws/autoscaling/model/InstanceMaintenancePolicy.h>
16#include <aws/autoscaling/model/AvailabilityZoneDistribution.h>
17#include <aws/autoscaling/model/AvailabilityZoneImpairmentPolicy.h>
18#include <aws/autoscaling/model/CapacityReservationSpecification.h>
19#include <aws/autoscaling/model/Instance.h>
20#include <aws/autoscaling/model/SuspendedProcess.h>
21#include <aws/autoscaling/model/EnabledMetric.h>
22#include <aws/autoscaling/model/TagDescription.h>
23#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
24#include <utility>
25
26namespace Aws
27{
28namespace Utils
29{
30namespace Xml
31{
32 class XmlNode;
33} // namespace Xml
34} // namespace Utils
35namespace AutoScaling
36{
37namespace Model
38{
39
46 {
47 public:
48 AWS_AUTOSCALING_API AutoScalingGroup() = default;
49 AWS_AUTOSCALING_API AutoScalingGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
50 AWS_AUTOSCALING_API AutoScalingGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
51
52 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
53 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
54
55
57
60 inline const Aws::String& GetAutoScalingGroupName() const { return m_autoScalingGroupName; }
61 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
62 template<typename AutoScalingGroupNameT = Aws::String>
63 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value); }
64 template<typename AutoScalingGroupNameT = Aws::String>
65 AutoScalingGroup& WithAutoScalingGroupName(AutoScalingGroupNameT&& value) { SetAutoScalingGroupName(std::forward<AutoScalingGroupNameT>(value)); return *this;}
67
69
72 inline const Aws::String& GetAutoScalingGroupARN() const { return m_autoScalingGroupARN; }
73 inline bool AutoScalingGroupARNHasBeenSet() const { return m_autoScalingGroupARNHasBeenSet; }
74 template<typename AutoScalingGroupARNT = Aws::String>
75 void SetAutoScalingGroupARN(AutoScalingGroupARNT&& value) { m_autoScalingGroupARNHasBeenSet = true; m_autoScalingGroupARN = std::forward<AutoScalingGroupARNT>(value); }
76 template<typename AutoScalingGroupARNT = Aws::String>
77 AutoScalingGroup& WithAutoScalingGroupARN(AutoScalingGroupARNT&& value) { SetAutoScalingGroupARN(std::forward<AutoScalingGroupARNT>(value)); return *this;}
79
81
84 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
85 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
86 template<typename LaunchConfigurationNameT = Aws::String>
87 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
88 template<typename LaunchConfigurationNameT = Aws::String>
89 AutoScalingGroup& WithLaunchConfigurationName(LaunchConfigurationNameT&& value) { SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value)); return *this;}
91
93
96 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
97 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
98 template<typename LaunchTemplateT = LaunchTemplateSpecification>
99 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
100 template<typename LaunchTemplateT = LaunchTemplateSpecification>
101 AutoScalingGroup& WithLaunchTemplate(LaunchTemplateT&& value) { SetLaunchTemplate(std::forward<LaunchTemplateT>(value)); return *this;}
103
105
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 AutoScalingGroup& WithMixedInstancesPolicy(MixedInstancesPolicyT&& value) { SetMixedInstancesPolicy(std::forward<MixedInstancesPolicyT>(value)); return *this;}
115
117
120 inline int GetMinSize() const { return m_minSize; }
121 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
122 inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; }
123 inline AutoScalingGroup& WithMinSize(int value) { SetMinSize(value); return *this;}
125
127
130 inline int GetMaxSize() const { return m_maxSize; }
131 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
132 inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
133 inline AutoScalingGroup& WithMaxSize(int value) { SetMaxSize(value); return *this;}
135
137
140 inline int GetDesiredCapacity() const { return m_desiredCapacity; }
141 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
142 inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
143 inline AutoScalingGroup& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;}
145
147
151 inline int GetPredictedCapacity() const { return m_predictedCapacity; }
152 inline bool PredictedCapacityHasBeenSet() const { return m_predictedCapacityHasBeenSet; }
153 inline void SetPredictedCapacity(int value) { m_predictedCapacityHasBeenSet = true; m_predictedCapacity = value; }
154 inline AutoScalingGroup& WithPredictedCapacity(int value) { SetPredictedCapacity(value); return *this;}
156
158
161 inline int GetDefaultCooldown() const { return m_defaultCooldown; }
162 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
163 inline void SetDefaultCooldown(int value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
164 inline AutoScalingGroup& WithDefaultCooldown(int value) { SetDefaultCooldown(value); return *this;}
166
168
171 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
172 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
173 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
174 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
175 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
176 AutoScalingGroup& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
177 template<typename AvailabilityZonesT = Aws::String>
178 AutoScalingGroup& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
180
182
185 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const { return m_loadBalancerNames; }
186 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
187 template<typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
188 void SetLoadBalancerNames(LoadBalancerNamesT&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::forward<LoadBalancerNamesT>(value); }
189 template<typename LoadBalancerNamesT = Aws::Vector<Aws::String>>
190 AutoScalingGroup& WithLoadBalancerNames(LoadBalancerNamesT&& value) { SetLoadBalancerNames(std::forward<LoadBalancerNamesT>(value)); return *this;}
191 template<typename LoadBalancerNamesT = Aws::String>
192 AutoScalingGroup& AddLoadBalancerNames(LoadBalancerNamesT&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.emplace_back(std::forward<LoadBalancerNamesT>(value)); return *this; }
194
196
200 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const { return m_targetGroupARNs; }
201 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
202 template<typename TargetGroupARNsT = Aws::Vector<Aws::String>>
203 void SetTargetGroupARNs(TargetGroupARNsT&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = std::forward<TargetGroupARNsT>(value); }
204 template<typename TargetGroupARNsT = Aws::Vector<Aws::String>>
205 AutoScalingGroup& WithTargetGroupARNs(TargetGroupARNsT&& value) { SetTargetGroupARNs(std::forward<TargetGroupARNsT>(value)); return *this;}
206 template<typename TargetGroupARNsT = Aws::String>
207 AutoScalingGroup& AddTargetGroupARNs(TargetGroupARNsT&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.emplace_back(std::forward<TargetGroupARNsT>(value)); return *this; }
209
211
214 inline const Aws::String& GetHealthCheckType() const { return m_healthCheckType; }
215 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
216 template<typename HealthCheckTypeT = Aws::String>
217 void SetHealthCheckType(HealthCheckTypeT&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = std::forward<HealthCheckTypeT>(value); }
218 template<typename HealthCheckTypeT = Aws::String>
219 AutoScalingGroup& WithHealthCheckType(HealthCheckTypeT&& value) { SetHealthCheckType(std::forward<HealthCheckTypeT>(value)); return *this;}
221
223
226 inline int GetHealthCheckGracePeriod() const { return m_healthCheckGracePeriod; }
227 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
228 inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
231
233
236 inline const Aws::Vector<Instance>& GetInstances() const { return m_instances; }
237 inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; }
238 template<typename InstancesT = Aws::Vector<Instance>>
239 void SetInstances(InstancesT&& value) { m_instancesHasBeenSet = true; m_instances = std::forward<InstancesT>(value); }
240 template<typename InstancesT = Aws::Vector<Instance>>
241 AutoScalingGroup& WithInstances(InstancesT&& value) { SetInstances(std::forward<InstancesT>(value)); return *this;}
242 template<typename InstancesT = Instance>
243 AutoScalingGroup& AddInstances(InstancesT&& value) { m_instancesHasBeenSet = true; m_instances.emplace_back(std::forward<InstancesT>(value)); return *this; }
245
247
250 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
251 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
252 template<typename CreatedTimeT = Aws::Utils::DateTime>
253 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::forward<CreatedTimeT>(value); }
254 template<typename CreatedTimeT = Aws::Utils::DateTime>
255 AutoScalingGroup& WithCreatedTime(CreatedTimeT&& value) { SetCreatedTime(std::forward<CreatedTimeT>(value)); return *this;}
257
259
262 inline const Aws::Vector<SuspendedProcess>& GetSuspendedProcesses() const { return m_suspendedProcesses; }
263 inline bool SuspendedProcessesHasBeenSet() const { return m_suspendedProcessesHasBeenSet; }
264 template<typename SuspendedProcessesT = Aws::Vector<SuspendedProcess>>
265 void SetSuspendedProcesses(SuspendedProcessesT&& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses = std::forward<SuspendedProcessesT>(value); }
266 template<typename SuspendedProcessesT = Aws::Vector<SuspendedProcess>>
267 AutoScalingGroup& WithSuspendedProcesses(SuspendedProcessesT&& value) { SetSuspendedProcesses(std::forward<SuspendedProcessesT>(value)); return *this;}
268 template<typename SuspendedProcessesT = SuspendedProcess>
269 AutoScalingGroup& AddSuspendedProcesses(SuspendedProcessesT&& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses.emplace_back(std::forward<SuspendedProcessesT>(value)); return *this; }
271
273
277 inline const Aws::String& GetPlacementGroup() const { return m_placementGroup; }
278 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
279 template<typename PlacementGroupT = Aws::String>
280 void SetPlacementGroup(PlacementGroupT&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = std::forward<PlacementGroupT>(value); }
281 template<typename PlacementGroupT = Aws::String>
282 AutoScalingGroup& WithPlacementGroup(PlacementGroupT&& value) { SetPlacementGroup(std::forward<PlacementGroupT>(value)); return *this;}
284
286
289 inline const Aws::String& GetVPCZoneIdentifier() const { return m_vPCZoneIdentifier; }
290 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
291 template<typename VPCZoneIdentifierT = Aws::String>
292 void SetVPCZoneIdentifier(VPCZoneIdentifierT&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = std::forward<VPCZoneIdentifierT>(value); }
293 template<typename VPCZoneIdentifierT = Aws::String>
294 AutoScalingGroup& WithVPCZoneIdentifier(VPCZoneIdentifierT&& value) { SetVPCZoneIdentifier(std::forward<VPCZoneIdentifierT>(value)); return *this;}
296
298
301 inline const Aws::Vector<EnabledMetric>& GetEnabledMetrics() const { return m_enabledMetrics; }
302 inline bool EnabledMetricsHasBeenSet() const { return m_enabledMetricsHasBeenSet; }
303 template<typename EnabledMetricsT = Aws::Vector<EnabledMetric>>
304 void SetEnabledMetrics(EnabledMetricsT&& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics = std::forward<EnabledMetricsT>(value); }
305 template<typename EnabledMetricsT = Aws::Vector<EnabledMetric>>
306 AutoScalingGroup& WithEnabledMetrics(EnabledMetricsT&& value) { SetEnabledMetrics(std::forward<EnabledMetricsT>(value)); return *this;}
307 template<typename EnabledMetricsT = EnabledMetric>
308 AutoScalingGroup& AddEnabledMetrics(EnabledMetricsT&& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics.emplace_back(std::forward<EnabledMetricsT>(value)); return *this; }
310
312
317 inline const Aws::String& GetStatus() const { return m_status; }
318 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
319 template<typename StatusT = Aws::String>
320 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
321 template<typename StatusT = Aws::String>
322 AutoScalingGroup& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
324
326
329 inline const Aws::Vector<TagDescription>& GetTags() const { return m_tags; }
330 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
331 template<typename TagsT = Aws::Vector<TagDescription>>
332 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
333 template<typename TagsT = Aws::Vector<TagDescription>>
334 AutoScalingGroup& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
335 template<typename TagsT = TagDescription>
336 AutoScalingGroup& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
338
340
343 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const { return m_terminationPolicies; }
344 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
345 template<typename TerminationPoliciesT = Aws::Vector<Aws::String>>
346 void SetTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = std::forward<TerminationPoliciesT>(value); }
347 template<typename TerminationPoliciesT = Aws::Vector<Aws::String>>
348 AutoScalingGroup& WithTerminationPolicies(TerminationPoliciesT&& value) { SetTerminationPolicies(std::forward<TerminationPoliciesT>(value)); return *this;}
349 template<typename TerminationPoliciesT = Aws::String>
350 AutoScalingGroup& AddTerminationPolicies(TerminationPoliciesT&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.emplace_back(std::forward<TerminationPoliciesT>(value)); return *this; }
352
354
362 inline bool GetNewInstancesProtectedFromScaleIn() const { return m_newInstancesProtectedFromScaleIn; }
363 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
364 inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
367
369
373 inline const Aws::String& GetServiceLinkedRoleARN() const { return m_serviceLinkedRoleARN; }
374 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
375 template<typename ServiceLinkedRoleARNT = Aws::String>
376 void SetServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { m_serviceLinkedRoleARNHasBeenSet = true; m_serviceLinkedRoleARN = std::forward<ServiceLinkedRoleARNT>(value); }
377 template<typename ServiceLinkedRoleARNT = Aws::String>
378 AutoScalingGroup& WithServiceLinkedRoleARN(ServiceLinkedRoleARNT&& value) { SetServiceLinkedRoleARN(std::forward<ServiceLinkedRoleARNT>(value)); return *this;}
380
382
386 inline int GetMaxInstanceLifetime() const { return m_maxInstanceLifetime; }
387 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
388 inline void SetMaxInstanceLifetime(int value) { m_maxInstanceLifetimeHasBeenSet = true; m_maxInstanceLifetime = value; }
389 inline AutoScalingGroup& WithMaxInstanceLifetime(int value) { SetMaxInstanceLifetime(value); return *this;}
391
393
396 inline bool GetCapacityRebalance() const { return m_capacityRebalance; }
397 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
398 inline void SetCapacityRebalance(bool value) { m_capacityRebalanceHasBeenSet = true; m_capacityRebalance = value; }
399 inline AutoScalingGroup& WithCapacityRebalance(bool value) { SetCapacityRebalance(value); return *this;}
401
403
406 inline const WarmPoolConfiguration& GetWarmPoolConfiguration() const { return m_warmPoolConfiguration; }
407 inline bool WarmPoolConfigurationHasBeenSet() const { return m_warmPoolConfigurationHasBeenSet; }
408 template<typename WarmPoolConfigurationT = WarmPoolConfiguration>
409 void SetWarmPoolConfiguration(WarmPoolConfigurationT&& value) { m_warmPoolConfigurationHasBeenSet = true; m_warmPoolConfiguration = std::forward<WarmPoolConfigurationT>(value); }
410 template<typename WarmPoolConfigurationT = WarmPoolConfiguration>
411 AutoScalingGroup& WithWarmPoolConfiguration(WarmPoolConfigurationT&& value) { SetWarmPoolConfiguration(std::forward<WarmPoolConfigurationT>(value)); return *this;}
413
415
418 inline int GetWarmPoolSize() const { return m_warmPoolSize; }
419 inline bool WarmPoolSizeHasBeenSet() const { return m_warmPoolSizeHasBeenSet; }
420 inline void SetWarmPoolSize(int value) { m_warmPoolSizeHasBeenSet = true; m_warmPoolSize = value; }
421 inline AutoScalingGroup& WithWarmPoolSize(int value) { SetWarmPoolSize(value); return *this;}
423
425
428 inline const Aws::String& GetContext() const { return m_context; }
429 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
430 template<typename ContextT = Aws::String>
431 void SetContext(ContextT&& value) { m_contextHasBeenSet = true; m_context = std::forward<ContextT>(value); }
432 template<typename ContextT = Aws::String>
433 AutoScalingGroup& WithContext(ContextT&& value) { SetContext(std::forward<ContextT>(value)); return *this;}
435
437
442 inline const Aws::String& GetDesiredCapacityType() const { return m_desiredCapacityType; }
443 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
444 template<typename DesiredCapacityTypeT = Aws::String>
445 void SetDesiredCapacityType(DesiredCapacityTypeT&& value) { m_desiredCapacityTypeHasBeenSet = true; m_desiredCapacityType = std::forward<DesiredCapacityTypeT>(value); }
446 template<typename DesiredCapacityTypeT = Aws::String>
447 AutoScalingGroup& WithDesiredCapacityType(DesiredCapacityTypeT&& value) { SetDesiredCapacityType(std::forward<DesiredCapacityTypeT>(value)); return *this;}
449
451
454 inline int GetDefaultInstanceWarmup() const { return m_defaultInstanceWarmup; }
455 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
456 inline void SetDefaultInstanceWarmup(int value) { m_defaultInstanceWarmupHasBeenSet = true; m_defaultInstanceWarmup = value; }
457 inline AutoScalingGroup& WithDefaultInstanceWarmup(int value) { SetDefaultInstanceWarmup(value); return *this;}
459
461
464 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const { return m_trafficSources; }
465 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
466 template<typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
467 void SetTrafficSources(TrafficSourcesT&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources = std::forward<TrafficSourcesT>(value); }
468 template<typename TrafficSourcesT = Aws::Vector<TrafficSourceIdentifier>>
469 AutoScalingGroup& WithTrafficSources(TrafficSourcesT&& value) { SetTrafficSources(std::forward<TrafficSourcesT>(value)); return *this;}
470 template<typename TrafficSourcesT = TrafficSourceIdentifier>
471 AutoScalingGroup& AddTrafficSources(TrafficSourcesT&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources.emplace_back(std::forward<TrafficSourcesT>(value)); return *this; }
473
475
478 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const { return m_instanceMaintenancePolicy; }
479 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
480 template<typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
481 void SetInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { m_instanceMaintenancePolicyHasBeenSet = true; m_instanceMaintenancePolicy = std::forward<InstanceMaintenancePolicyT>(value); }
482 template<typename InstanceMaintenancePolicyT = InstanceMaintenancePolicy>
483 AutoScalingGroup& WithInstanceMaintenancePolicy(InstanceMaintenancePolicyT&& value) { SetInstanceMaintenancePolicy(std::forward<InstanceMaintenancePolicyT>(value)); return *this;}
485
487
490 inline const AvailabilityZoneDistribution& GetAvailabilityZoneDistribution() const { return m_availabilityZoneDistribution; }
491 inline bool AvailabilityZoneDistributionHasBeenSet() const { return m_availabilityZoneDistributionHasBeenSet; }
492 template<typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
493 void SetAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { m_availabilityZoneDistributionHasBeenSet = true; m_availabilityZoneDistribution = std::forward<AvailabilityZoneDistributionT>(value); }
494 template<typename AvailabilityZoneDistributionT = AvailabilityZoneDistribution>
495 AutoScalingGroup& WithAvailabilityZoneDistribution(AvailabilityZoneDistributionT&& value) { SetAvailabilityZoneDistribution(std::forward<AvailabilityZoneDistributionT>(value)); return *this;}
497
499
502 inline const AvailabilityZoneImpairmentPolicy& GetAvailabilityZoneImpairmentPolicy() const { return m_availabilityZoneImpairmentPolicy; }
503 inline bool AvailabilityZoneImpairmentPolicyHasBeenSet() const { return m_availabilityZoneImpairmentPolicyHasBeenSet; }
504 template<typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
505 void SetAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { m_availabilityZoneImpairmentPolicyHasBeenSet = true; m_availabilityZoneImpairmentPolicy = std::forward<AvailabilityZoneImpairmentPolicyT>(value); }
506 template<typename AvailabilityZoneImpairmentPolicyT = AvailabilityZoneImpairmentPolicy>
507 AutoScalingGroup& WithAvailabilityZoneImpairmentPolicy(AvailabilityZoneImpairmentPolicyT&& value) { SetAvailabilityZoneImpairmentPolicy(std::forward<AvailabilityZoneImpairmentPolicyT>(value)); return *this;}
509
511
514 inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
515 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
516 template<typename CapacityReservationSpecificationT = CapacityReservationSpecification>
517 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
518 template<typename CapacityReservationSpecificationT = CapacityReservationSpecification>
519 AutoScalingGroup& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
521 private:
522
523 Aws::String m_autoScalingGroupName;
524 bool m_autoScalingGroupNameHasBeenSet = false;
525
526 Aws::String m_autoScalingGroupARN;
527 bool m_autoScalingGroupARNHasBeenSet = false;
528
529 Aws::String m_launchConfigurationName;
530 bool m_launchConfigurationNameHasBeenSet = false;
531
532 LaunchTemplateSpecification m_launchTemplate;
533 bool m_launchTemplateHasBeenSet = false;
534
535 MixedInstancesPolicy m_mixedInstancesPolicy;
536 bool m_mixedInstancesPolicyHasBeenSet = false;
537
538 int m_minSize{0};
539 bool m_minSizeHasBeenSet = false;
540
541 int m_maxSize{0};
542 bool m_maxSizeHasBeenSet = false;
543
544 int m_desiredCapacity{0};
545 bool m_desiredCapacityHasBeenSet = false;
546
547 int m_predictedCapacity{0};
548 bool m_predictedCapacityHasBeenSet = false;
549
550 int m_defaultCooldown{0};
551 bool m_defaultCooldownHasBeenSet = false;
552
553 Aws::Vector<Aws::String> m_availabilityZones;
554 bool m_availabilityZonesHasBeenSet = false;
555
556 Aws::Vector<Aws::String> m_loadBalancerNames;
557 bool m_loadBalancerNamesHasBeenSet = false;
558
559 Aws::Vector<Aws::String> m_targetGroupARNs;
560 bool m_targetGroupARNsHasBeenSet = false;
561
562 Aws::String m_healthCheckType;
563 bool m_healthCheckTypeHasBeenSet = false;
564
565 int m_healthCheckGracePeriod{0};
566 bool m_healthCheckGracePeriodHasBeenSet = false;
567
568 Aws::Vector<Instance> m_instances;
569 bool m_instancesHasBeenSet = false;
570
571 Aws::Utils::DateTime m_createdTime{};
572 bool m_createdTimeHasBeenSet = false;
573
574 Aws::Vector<SuspendedProcess> m_suspendedProcesses;
575 bool m_suspendedProcessesHasBeenSet = false;
576
577 Aws::String m_placementGroup;
578 bool m_placementGroupHasBeenSet = false;
579
580 Aws::String m_vPCZoneIdentifier;
581 bool m_vPCZoneIdentifierHasBeenSet = false;
582
583 Aws::Vector<EnabledMetric> m_enabledMetrics;
584 bool m_enabledMetricsHasBeenSet = false;
585
586 Aws::String m_status;
587 bool m_statusHasBeenSet = false;
588
590 bool m_tagsHasBeenSet = false;
591
592 Aws::Vector<Aws::String> m_terminationPolicies;
593 bool m_terminationPoliciesHasBeenSet = false;
594
595 bool m_newInstancesProtectedFromScaleIn{false};
596 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
597
598 Aws::String m_serviceLinkedRoleARN;
599 bool m_serviceLinkedRoleARNHasBeenSet = false;
600
601 int m_maxInstanceLifetime{0};
602 bool m_maxInstanceLifetimeHasBeenSet = false;
603
604 bool m_capacityRebalance{false};
605 bool m_capacityRebalanceHasBeenSet = false;
606
607 WarmPoolConfiguration m_warmPoolConfiguration;
608 bool m_warmPoolConfigurationHasBeenSet = false;
609
610 int m_warmPoolSize{0};
611 bool m_warmPoolSizeHasBeenSet = false;
612
613 Aws::String m_context;
614 bool m_contextHasBeenSet = false;
615
616 Aws::String m_desiredCapacityType;
617 bool m_desiredCapacityTypeHasBeenSet = false;
618
619 int m_defaultInstanceWarmup{0};
620 bool m_defaultInstanceWarmupHasBeenSet = false;
621
623 bool m_trafficSourcesHasBeenSet = false;
624
625 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
626 bool m_instanceMaintenancePolicyHasBeenSet = false;
627
628 AvailabilityZoneDistribution m_availabilityZoneDistribution;
629 bool m_availabilityZoneDistributionHasBeenSet = false;
630
631 AvailabilityZoneImpairmentPolicy m_availabilityZoneImpairmentPolicy;
632 bool m_availabilityZoneImpairmentPolicyHasBeenSet = false;
633
634 CapacityReservationSpecification m_capacityReservationSpecification;
635 bool m_capacityReservationSpecificationHasBeenSet = false;
636 };
637
638} // namespace Model
639} // namespace AutoScaling
640} // 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)
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 & WithMinSize(int value)
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
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)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
AutoScalingGroup & AddTerminationPolicies(TerminationPoliciesT &&value)
const CapacityReservationSpecification & GetCapacityReservationSpecification() const
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)
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 SetHealthCheckType(HealthCheckTypeT &&value)
AutoScalingGroup & AddLoadBalancerNames(LoadBalancerNamesT &&value)
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
AutoScalingGroup & WithStatus(StatusT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
AutoScalingGroup & WithHealthCheckType(HealthCheckTypeT &&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