AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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/Instance.h>
17#include <aws/autoscaling/model/SuspendedProcess.h>
18#include <aws/autoscaling/model/EnabledMetric.h>
19#include <aws/autoscaling/model/TagDescription.h>
20#include <aws/autoscaling/model/TrafficSourceIdentifier.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Utils
26{
27namespace Xml
28{
29 class XmlNode;
30} // namespace Xml
31} // namespace Utils
32namespace AutoScaling
33{
34namespace Model
35{
36
43 {
44 public:
45 AWS_AUTOSCALING_API AutoScalingGroup();
46 AWS_AUTOSCALING_API AutoScalingGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
47 AWS_AUTOSCALING_API AutoScalingGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48
49 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
51
52
54
57 inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
58 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
59 inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
60 inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = std::move(value); }
61 inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
63 inline AutoScalingGroup& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(std::move(value)); return *this;}
64 inline AutoScalingGroup& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
66
68
71 inline const Aws::String& GetAutoScalingGroupARN() const{ return m_autoScalingGroupARN; }
72 inline bool AutoScalingGroupARNHasBeenSet() const { return m_autoScalingGroupARNHasBeenSet; }
73 inline void SetAutoScalingGroupARN(const Aws::String& value) { m_autoScalingGroupARNHasBeenSet = true; m_autoScalingGroupARN = value; }
74 inline void SetAutoScalingGroupARN(Aws::String&& value) { m_autoScalingGroupARNHasBeenSet = true; m_autoScalingGroupARN = std::move(value); }
75 inline void SetAutoScalingGroupARN(const char* value) { m_autoScalingGroupARNHasBeenSet = true; m_autoScalingGroupARN.assign(value); }
76 inline AutoScalingGroup& WithAutoScalingGroupARN(const Aws::String& value) { SetAutoScalingGroupARN(value); return *this;}
77 inline AutoScalingGroup& WithAutoScalingGroupARN(Aws::String&& value) { SetAutoScalingGroupARN(std::move(value)); return *this;}
78 inline AutoScalingGroup& WithAutoScalingGroupARN(const char* value) { SetAutoScalingGroupARN(value); return *this;}
80
82
85 inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; }
86 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
87 inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
88 inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::move(value); }
89 inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); }
91 inline AutoScalingGroup& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(std::move(value)); return *this;}
92 inline AutoScalingGroup& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;}
94
96
99 inline const LaunchTemplateSpecification& GetLaunchTemplate() const{ return m_launchTemplate; }
100 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
101 inline void SetLaunchTemplate(const LaunchTemplateSpecification& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = value; }
102 inline void SetLaunchTemplate(LaunchTemplateSpecification&& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = std::move(value); }
104 inline AutoScalingGroup& WithLaunchTemplate(LaunchTemplateSpecification&& value) { SetLaunchTemplate(std::move(value)); return *this;}
106
108
111 inline const MixedInstancesPolicy& GetMixedInstancesPolicy() const{ return m_mixedInstancesPolicy; }
112 inline bool MixedInstancesPolicyHasBeenSet() const { return m_mixedInstancesPolicyHasBeenSet; }
113 inline void SetMixedInstancesPolicy(const MixedInstancesPolicy& value) { m_mixedInstancesPolicyHasBeenSet = true; m_mixedInstancesPolicy = value; }
114 inline void SetMixedInstancesPolicy(MixedInstancesPolicy&& value) { m_mixedInstancesPolicyHasBeenSet = true; m_mixedInstancesPolicy = std::move(value); }
118
120
123 inline int GetMinSize() const{ return m_minSize; }
124 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
125 inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; }
126 inline AutoScalingGroup& WithMinSize(int value) { SetMinSize(value); return *this;}
128
130
133 inline int GetMaxSize() const{ return m_maxSize; }
134 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
135 inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
136 inline AutoScalingGroup& WithMaxSize(int value) { SetMaxSize(value); return *this;}
138
140
143 inline int GetDesiredCapacity() const{ return m_desiredCapacity; }
144 inline bool DesiredCapacityHasBeenSet() const { return m_desiredCapacityHasBeenSet; }
145 inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
146 inline AutoScalingGroup& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;}
148
150
154 inline int GetPredictedCapacity() const{ return m_predictedCapacity; }
155 inline bool PredictedCapacityHasBeenSet() const { return m_predictedCapacityHasBeenSet; }
156 inline void SetPredictedCapacity(int value) { m_predictedCapacityHasBeenSet = true; m_predictedCapacity = value; }
157 inline AutoScalingGroup& WithPredictedCapacity(int value) { SetPredictedCapacity(value); return *this;}
159
161
164 inline int GetDefaultCooldown() const{ return m_defaultCooldown; }
165 inline bool DefaultCooldownHasBeenSet() const { return m_defaultCooldownHasBeenSet; }
166 inline void SetDefaultCooldown(int value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
167 inline AutoScalingGroup& WithDefaultCooldown(int value) { SetDefaultCooldown(value); return *this;}
169
171
174 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; }
175 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
176 inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
177 inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); }
179 inline AutoScalingGroup& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(std::move(value)); return *this;}
180 inline AutoScalingGroup& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
181 inline AutoScalingGroup& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; }
182 inline AutoScalingGroup& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
184
186
189 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const{ return m_loadBalancerNames; }
190 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
191 inline void SetLoadBalancerNames(const Aws::Vector<Aws::String>& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
192 inline void SetLoadBalancerNames(Aws::Vector<Aws::String>&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::move(value); }
194 inline AutoScalingGroup& WithLoadBalancerNames(Aws::Vector<Aws::String>&& value) { SetLoadBalancerNames(std::move(value)); return *this;}
195 inline AutoScalingGroup& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
196 inline AutoScalingGroup& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(std::move(value)); return *this; }
197 inline AutoScalingGroup& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
199
201
205 inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const{ return m_targetGroupARNs; }
206 inline bool TargetGroupARNsHasBeenSet() const { return m_targetGroupARNsHasBeenSet; }
207 inline void SetTargetGroupARNs(const Aws::Vector<Aws::String>& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = value; }
208 inline void SetTargetGroupARNs(Aws::Vector<Aws::String>&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = std::move(value); }
210 inline AutoScalingGroup& WithTargetGroupARNs(Aws::Vector<Aws::String>&& value) { SetTargetGroupARNs(std::move(value)); return *this;}
211 inline AutoScalingGroup& AddTargetGroupARNs(const Aws::String& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(value); return *this; }
212 inline AutoScalingGroup& AddTargetGroupARNs(Aws::String&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(std::move(value)); return *this; }
213 inline AutoScalingGroup& AddTargetGroupARNs(const char* value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(value); return *this; }
215
217
220 inline const Aws::String& GetHealthCheckType() const{ return m_healthCheckType; }
221 inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; }
222 inline void SetHealthCheckType(const Aws::String& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
223 inline void SetHealthCheckType(Aws::String&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = std::move(value); }
224 inline void SetHealthCheckType(const char* value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType.assign(value); }
225 inline AutoScalingGroup& WithHealthCheckType(const Aws::String& value) { SetHealthCheckType(value); return *this;}
226 inline AutoScalingGroup& WithHealthCheckType(Aws::String&& value) { SetHealthCheckType(std::move(value)); return *this;}
227 inline AutoScalingGroup& WithHealthCheckType(const char* value) { SetHealthCheckType(value); return *this;}
229
231
234 inline int GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; }
235 inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; }
236 inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
239
241
244 inline const Aws::Vector<Instance>& GetInstances() const{ return m_instances; }
245 inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; }
246 inline void SetInstances(const Aws::Vector<Instance>& value) { m_instancesHasBeenSet = true; m_instances = value; }
247 inline void SetInstances(Aws::Vector<Instance>&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); }
248 inline AutoScalingGroup& WithInstances(const Aws::Vector<Instance>& value) { SetInstances(value); return *this;}
249 inline AutoScalingGroup& WithInstances(Aws::Vector<Instance>&& value) { SetInstances(std::move(value)); return *this;}
250 inline AutoScalingGroup& AddInstances(const Instance& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; }
251 inline AutoScalingGroup& AddInstances(Instance&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; }
253
255
258 inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
259 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
260 inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
261 inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
262 inline AutoScalingGroup& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
263 inline AutoScalingGroup& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
265
267
270 inline const Aws::Vector<SuspendedProcess>& GetSuspendedProcesses() const{ return m_suspendedProcesses; }
271 inline bool SuspendedProcessesHasBeenSet() const { return m_suspendedProcessesHasBeenSet; }
272 inline void SetSuspendedProcesses(const Aws::Vector<SuspendedProcess>& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses = value; }
273 inline void SetSuspendedProcesses(Aws::Vector<SuspendedProcess>&& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses = std::move(value); }
276 inline AutoScalingGroup& AddSuspendedProcesses(const SuspendedProcess& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses.push_back(value); return *this; }
277 inline AutoScalingGroup& AddSuspendedProcesses(SuspendedProcess&& value) { m_suspendedProcessesHasBeenSet = true; m_suspendedProcesses.push_back(std::move(value)); return *this; }
279
281
285 inline const Aws::String& GetPlacementGroup() const{ return m_placementGroup; }
286 inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; }
287 inline void SetPlacementGroup(const Aws::String& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
288 inline void SetPlacementGroup(Aws::String&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = std::move(value); }
289 inline void SetPlacementGroup(const char* value) { m_placementGroupHasBeenSet = true; m_placementGroup.assign(value); }
290 inline AutoScalingGroup& WithPlacementGroup(const Aws::String& value) { SetPlacementGroup(value); return *this;}
291 inline AutoScalingGroup& WithPlacementGroup(Aws::String&& value) { SetPlacementGroup(std::move(value)); return *this;}
292 inline AutoScalingGroup& WithPlacementGroup(const char* value) { SetPlacementGroup(value); return *this;}
294
296
299 inline const Aws::String& GetVPCZoneIdentifier() const{ return m_vPCZoneIdentifier; }
300 inline bool VPCZoneIdentifierHasBeenSet() const { return m_vPCZoneIdentifierHasBeenSet; }
301 inline void SetVPCZoneIdentifier(const Aws::String& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
302 inline void SetVPCZoneIdentifier(Aws::String&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = std::move(value); }
303 inline void SetVPCZoneIdentifier(const char* value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier.assign(value); }
304 inline AutoScalingGroup& WithVPCZoneIdentifier(const Aws::String& value) { SetVPCZoneIdentifier(value); return *this;}
305 inline AutoScalingGroup& WithVPCZoneIdentifier(Aws::String&& value) { SetVPCZoneIdentifier(std::move(value)); return *this;}
306 inline AutoScalingGroup& WithVPCZoneIdentifier(const char* value) { SetVPCZoneIdentifier(value); return *this;}
308
310
313 inline const Aws::Vector<EnabledMetric>& GetEnabledMetrics() const{ return m_enabledMetrics; }
314 inline bool EnabledMetricsHasBeenSet() const { return m_enabledMetricsHasBeenSet; }
315 inline void SetEnabledMetrics(const Aws::Vector<EnabledMetric>& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics = value; }
316 inline void SetEnabledMetrics(Aws::Vector<EnabledMetric>&& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics = std::move(value); }
318 inline AutoScalingGroup& WithEnabledMetrics(Aws::Vector<EnabledMetric>&& value) { SetEnabledMetrics(std::move(value)); return *this;}
319 inline AutoScalingGroup& AddEnabledMetrics(const EnabledMetric& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics.push_back(value); return *this; }
320 inline AutoScalingGroup& AddEnabledMetrics(EnabledMetric&& value) { m_enabledMetricsHasBeenSet = true; m_enabledMetrics.push_back(std::move(value)); return *this; }
322
324
329 inline const Aws::String& GetStatus() const{ return m_status; }
330 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
331 inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
332 inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
333 inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
334 inline AutoScalingGroup& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
335 inline AutoScalingGroup& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
336 inline AutoScalingGroup& WithStatus(const char* value) { SetStatus(value); return *this;}
338
340
343 inline const Aws::Vector<TagDescription>& GetTags() const{ return m_tags; }
344 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
345 inline void SetTags(const Aws::Vector<TagDescription>& value) { m_tagsHasBeenSet = true; m_tags = value; }
346 inline void SetTags(Aws::Vector<TagDescription>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
347 inline AutoScalingGroup& WithTags(const Aws::Vector<TagDescription>& value) { SetTags(value); return *this;}
348 inline AutoScalingGroup& WithTags(Aws::Vector<TagDescription>&& value) { SetTags(std::move(value)); return *this;}
349 inline AutoScalingGroup& AddTags(const TagDescription& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
350 inline AutoScalingGroup& AddTags(TagDescription&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
352
354
357 inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const{ return m_terminationPolicies; }
358 inline bool TerminationPoliciesHasBeenSet() const { return m_terminationPoliciesHasBeenSet; }
359 inline void SetTerminationPolicies(const Aws::Vector<Aws::String>& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
360 inline void SetTerminationPolicies(Aws::Vector<Aws::String>&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = std::move(value); }
363 inline AutoScalingGroup& AddTerminationPolicies(const Aws::String& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
364 inline AutoScalingGroup& AddTerminationPolicies(Aws::String&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(std::move(value)); return *this; }
365 inline AutoScalingGroup& AddTerminationPolicies(const char* value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
367
369
373 inline bool GetNewInstancesProtectedFromScaleIn() const{ return m_newInstancesProtectedFromScaleIn; }
374 inline bool NewInstancesProtectedFromScaleInHasBeenSet() const { return m_newInstancesProtectedFromScaleInHasBeenSet; }
375 inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
378
380
384 inline const Aws::String& GetServiceLinkedRoleARN() const{ return m_serviceLinkedRoleARN; }
385 inline bool ServiceLinkedRoleARNHasBeenSet() const { return m_serviceLinkedRoleARNHasBeenSet; }
386 inline void SetServiceLinkedRoleARN(const Aws::String& value) { m_serviceLinkedRoleARNHasBeenSet = true; m_serviceLinkedRoleARN = value; }
387 inline void SetServiceLinkedRoleARN(Aws::String&& value) { m_serviceLinkedRoleARNHasBeenSet = true; m_serviceLinkedRoleARN = std::move(value); }
388 inline void SetServiceLinkedRoleARN(const char* value) { m_serviceLinkedRoleARNHasBeenSet = true; m_serviceLinkedRoleARN.assign(value); }
390 inline AutoScalingGroup& WithServiceLinkedRoleARN(Aws::String&& value) { SetServiceLinkedRoleARN(std::move(value)); return *this;}
391 inline AutoScalingGroup& WithServiceLinkedRoleARN(const char* value) { SetServiceLinkedRoleARN(value); return *this;}
393
395
399 inline int GetMaxInstanceLifetime() const{ return m_maxInstanceLifetime; }
400 inline bool MaxInstanceLifetimeHasBeenSet() const { return m_maxInstanceLifetimeHasBeenSet; }
401 inline void SetMaxInstanceLifetime(int value) { m_maxInstanceLifetimeHasBeenSet = true; m_maxInstanceLifetime = value; }
402 inline AutoScalingGroup& WithMaxInstanceLifetime(int value) { SetMaxInstanceLifetime(value); return *this;}
404
406
409 inline bool GetCapacityRebalance() const{ return m_capacityRebalance; }
410 inline bool CapacityRebalanceHasBeenSet() const { return m_capacityRebalanceHasBeenSet; }
411 inline void SetCapacityRebalance(bool value) { m_capacityRebalanceHasBeenSet = true; m_capacityRebalance = value; }
412 inline AutoScalingGroup& WithCapacityRebalance(bool value) { SetCapacityRebalance(value); return *this;}
414
416
419 inline const WarmPoolConfiguration& GetWarmPoolConfiguration() const{ return m_warmPoolConfiguration; }
420 inline bool WarmPoolConfigurationHasBeenSet() const { return m_warmPoolConfigurationHasBeenSet; }
421 inline void SetWarmPoolConfiguration(const WarmPoolConfiguration& value) { m_warmPoolConfigurationHasBeenSet = true; m_warmPoolConfiguration = value; }
422 inline void SetWarmPoolConfiguration(WarmPoolConfiguration&& value) { m_warmPoolConfigurationHasBeenSet = true; m_warmPoolConfiguration = std::move(value); }
426
428
431 inline int GetWarmPoolSize() const{ return m_warmPoolSize; }
432 inline bool WarmPoolSizeHasBeenSet() const { return m_warmPoolSizeHasBeenSet; }
433 inline void SetWarmPoolSize(int value) { m_warmPoolSizeHasBeenSet = true; m_warmPoolSize = value; }
434 inline AutoScalingGroup& WithWarmPoolSize(int value) { SetWarmPoolSize(value); return *this;}
436
438
441 inline const Aws::String& GetContext() const{ return m_context; }
442 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
443 inline void SetContext(const Aws::String& value) { m_contextHasBeenSet = true; m_context = value; }
444 inline void SetContext(Aws::String&& value) { m_contextHasBeenSet = true; m_context = std::move(value); }
445 inline void SetContext(const char* value) { m_contextHasBeenSet = true; m_context.assign(value); }
446 inline AutoScalingGroup& WithContext(const Aws::String& value) { SetContext(value); return *this;}
447 inline AutoScalingGroup& WithContext(Aws::String&& value) { SetContext(std::move(value)); return *this;}
448 inline AutoScalingGroup& WithContext(const char* value) { SetContext(value); return *this;}
450
452
457 inline const Aws::String& GetDesiredCapacityType() const{ return m_desiredCapacityType; }
458 inline bool DesiredCapacityTypeHasBeenSet() const { return m_desiredCapacityTypeHasBeenSet; }
459 inline void SetDesiredCapacityType(const Aws::String& value) { m_desiredCapacityTypeHasBeenSet = true; m_desiredCapacityType = value; }
460 inline void SetDesiredCapacityType(Aws::String&& value) { m_desiredCapacityTypeHasBeenSet = true; m_desiredCapacityType = std::move(value); }
461 inline void SetDesiredCapacityType(const char* value) { m_desiredCapacityTypeHasBeenSet = true; m_desiredCapacityType.assign(value); }
462 inline AutoScalingGroup& WithDesiredCapacityType(const Aws::String& value) { SetDesiredCapacityType(value); return *this;}
463 inline AutoScalingGroup& WithDesiredCapacityType(Aws::String&& value) { SetDesiredCapacityType(std::move(value)); return *this;}
464 inline AutoScalingGroup& WithDesiredCapacityType(const char* value) { SetDesiredCapacityType(value); return *this;}
466
468
471 inline int GetDefaultInstanceWarmup() const{ return m_defaultInstanceWarmup; }
472 inline bool DefaultInstanceWarmupHasBeenSet() const { return m_defaultInstanceWarmupHasBeenSet; }
473 inline void SetDefaultInstanceWarmup(int value) { m_defaultInstanceWarmupHasBeenSet = true; m_defaultInstanceWarmup = value; }
474 inline AutoScalingGroup& WithDefaultInstanceWarmup(int value) { SetDefaultInstanceWarmup(value); return *this;}
476
478
481 inline const Aws::Vector<TrafficSourceIdentifier>& GetTrafficSources() const{ return m_trafficSources; }
482 inline bool TrafficSourcesHasBeenSet() const { return m_trafficSourcesHasBeenSet; }
483 inline void SetTrafficSources(const Aws::Vector<TrafficSourceIdentifier>& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources = value; }
484 inline void SetTrafficSources(Aws::Vector<TrafficSourceIdentifier>&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources = std::move(value); }
487 inline AutoScalingGroup& AddTrafficSources(const TrafficSourceIdentifier& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources.push_back(value); return *this; }
488 inline AutoScalingGroup& AddTrafficSources(TrafficSourceIdentifier&& value) { m_trafficSourcesHasBeenSet = true; m_trafficSources.push_back(std::move(value)); return *this; }
490
492
495 inline const InstanceMaintenancePolicy& GetInstanceMaintenancePolicy() const{ return m_instanceMaintenancePolicy; }
496 inline bool InstanceMaintenancePolicyHasBeenSet() const { return m_instanceMaintenancePolicyHasBeenSet; }
497 inline void SetInstanceMaintenancePolicy(const InstanceMaintenancePolicy& value) { m_instanceMaintenancePolicyHasBeenSet = true; m_instanceMaintenancePolicy = value; }
498 inline void SetInstanceMaintenancePolicy(InstanceMaintenancePolicy&& value) { m_instanceMaintenancePolicyHasBeenSet = true; m_instanceMaintenancePolicy = std::move(value); }
502 private:
503
504 Aws::String m_autoScalingGroupName;
505 bool m_autoScalingGroupNameHasBeenSet = false;
506
507 Aws::String m_autoScalingGroupARN;
508 bool m_autoScalingGroupARNHasBeenSet = false;
509
510 Aws::String m_launchConfigurationName;
511 bool m_launchConfigurationNameHasBeenSet = false;
512
513 LaunchTemplateSpecification m_launchTemplate;
514 bool m_launchTemplateHasBeenSet = false;
515
516 MixedInstancesPolicy m_mixedInstancesPolicy;
517 bool m_mixedInstancesPolicyHasBeenSet = false;
518
519 int m_minSize;
520 bool m_minSizeHasBeenSet = false;
521
522 int m_maxSize;
523 bool m_maxSizeHasBeenSet = false;
524
525 int m_desiredCapacity;
526 bool m_desiredCapacityHasBeenSet = false;
527
528 int m_predictedCapacity;
529 bool m_predictedCapacityHasBeenSet = false;
530
531 int m_defaultCooldown;
532 bool m_defaultCooldownHasBeenSet = false;
533
534 Aws::Vector<Aws::String> m_availabilityZones;
535 bool m_availabilityZonesHasBeenSet = false;
536
537 Aws::Vector<Aws::String> m_loadBalancerNames;
538 bool m_loadBalancerNamesHasBeenSet = false;
539
540 Aws::Vector<Aws::String> m_targetGroupARNs;
541 bool m_targetGroupARNsHasBeenSet = false;
542
543 Aws::String m_healthCheckType;
544 bool m_healthCheckTypeHasBeenSet = false;
545
546 int m_healthCheckGracePeriod;
547 bool m_healthCheckGracePeriodHasBeenSet = false;
548
549 Aws::Vector<Instance> m_instances;
550 bool m_instancesHasBeenSet = false;
551
552 Aws::Utils::DateTime m_createdTime;
553 bool m_createdTimeHasBeenSet = false;
554
555 Aws::Vector<SuspendedProcess> m_suspendedProcesses;
556 bool m_suspendedProcessesHasBeenSet = false;
557
558 Aws::String m_placementGroup;
559 bool m_placementGroupHasBeenSet = false;
560
561 Aws::String m_vPCZoneIdentifier;
562 bool m_vPCZoneIdentifierHasBeenSet = false;
563
564 Aws::Vector<EnabledMetric> m_enabledMetrics;
565 bool m_enabledMetricsHasBeenSet = false;
566
567 Aws::String m_status;
568 bool m_statusHasBeenSet = false;
569
571 bool m_tagsHasBeenSet = false;
572
573 Aws::Vector<Aws::String> m_terminationPolicies;
574 bool m_terminationPoliciesHasBeenSet = false;
575
576 bool m_newInstancesProtectedFromScaleIn;
577 bool m_newInstancesProtectedFromScaleInHasBeenSet = false;
578
579 Aws::String m_serviceLinkedRoleARN;
580 bool m_serviceLinkedRoleARNHasBeenSet = false;
581
582 int m_maxInstanceLifetime;
583 bool m_maxInstanceLifetimeHasBeenSet = false;
584
585 bool m_capacityRebalance;
586 bool m_capacityRebalanceHasBeenSet = false;
587
588 WarmPoolConfiguration m_warmPoolConfiguration;
589 bool m_warmPoolConfigurationHasBeenSet = false;
590
591 int m_warmPoolSize;
592 bool m_warmPoolSizeHasBeenSet = false;
593
594 Aws::String m_context;
595 bool m_contextHasBeenSet = false;
596
597 Aws::String m_desiredCapacityType;
598 bool m_desiredCapacityTypeHasBeenSet = false;
599
600 int m_defaultInstanceWarmup;
601 bool m_defaultInstanceWarmupHasBeenSet = false;
602
604 bool m_trafficSourcesHasBeenSet = false;
605
606 InstanceMaintenancePolicy m_instanceMaintenancePolicy;
607 bool m_instanceMaintenancePolicyHasBeenSet = false;
608 };
609
610} // namespace Model
611} // namespace AutoScaling
612} // namespace Aws
const Aws::String & GetDesiredCapacityType() const
AutoScalingGroup & WithTags(Aws::Vector< TagDescription > &&value)
AutoScalingGroup & WithAutoScalingGroupARN(const char *value)
AutoScalingGroup & WithTargetGroupARNs(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithWarmPoolConfiguration(WarmPoolConfiguration &&value)
AutoScalingGroup & WithCapacityRebalance(bool value)
AutoScalingGroup & AddAvailabilityZones(const char *value)
void SetInstances(Aws::Vector< Instance > &&value)
void SetCreatedTime(Aws::Utils::DateTime &&value)
AutoScalingGroup & WithPlacementGroup(Aws::String &&value)
AutoScalingGroup & AddTerminationPolicies(Aws::String &&value)
AutoScalingGroup & WithAutoScalingGroupName(Aws::String &&value)
void SetTags(const Aws::Vector< TagDescription > &value)
AutoScalingGroup & AddEnabledMetrics(const EnabledMetric &value)
AutoScalingGroup & WithInstanceMaintenancePolicy(const InstanceMaintenancePolicy &value)
void SetAutoScalingGroupName(Aws::String &&value)
AutoScalingGroup & WithStatus(const Aws::String &value)
AutoScalingGroup & WithServiceLinkedRoleARN(Aws::String &&value)
AutoScalingGroup & WithInstances(Aws::Vector< Instance > &&value)
AutoScalingGroup & WithAutoScalingGroupName(const char *value)
AutoScalingGroup & AddLoadBalancerNames(Aws::String &&value)
AutoScalingGroup & WithDesiredCapacityType(const char *value)
AutoScalingGroup & WithTerminationPolicies(Aws::Vector< Aws::String > &&value)
const Aws::String & GetPlacementGroup() const
AutoScalingGroup & AddTags(TagDescription &&value)
AutoScalingGroup & AddSuspendedProcesses(SuspendedProcess &&value)
void SetWarmPoolConfiguration(const WarmPoolConfiguration &value)
AutoScalingGroup & WithContext(const char *value)
void SetServiceLinkedRoleARN(Aws::String &&value)
void SetContext(const Aws::String &value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AutoScalingGroup & WithLoadBalancerNames(const Aws::Vector< Aws::String > &value)
AutoScalingGroup & WithMinSize(int value)
void SetAutoScalingGroupName(const Aws::String &value)
AutoScalingGroup & WithPlacementGroup(const char *value)
void SetEnabledMetrics(Aws::Vector< EnabledMetric > &&value)
const InstanceMaintenancePolicy & GetInstanceMaintenancePolicy() const
AutoScalingGroup & WithContext(const Aws::String &value)
void SetEnabledMetrics(const Aws::Vector< EnabledMetric > &value)
void SetVPCZoneIdentifier(const Aws::String &value)
AutoScalingGroup & WithTerminationPolicies(const Aws::Vector< Aws::String > &value)
void SetHealthCheckType(const Aws::String &value)
void SetLaunchConfigurationName(Aws::String &&value)
AutoScalingGroup & WithAvailabilityZones(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithDefaultInstanceWarmup(int value)
AutoScalingGroup & WithVPCZoneIdentifier(const char *value)
AutoScalingGroup & WithWarmPoolSize(int value)
AutoScalingGroup & AddLoadBalancerNames(const char *value)
void SetServiceLinkedRoleARN(const Aws::String &value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
void SetTerminationPolicies(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithAutoScalingGroupName(const Aws::String &value)
void SetDesiredCapacityType(Aws::String &&value)
void SetTargetGroupARNs(const Aws::Vector< Aws::String > &value)
void SetMixedInstancesPolicy(MixedInstancesPolicy &&value)
AutoScalingGroup & AddTargetGroupARNs(const char *value)
void SetLaunchTemplate(LaunchTemplateSpecification &&value)
AutoScalingGroup & WithInstanceMaintenancePolicy(InstanceMaintenancePolicy &&value)
void SetWarmPoolConfiguration(WarmPoolConfiguration &&value)
void SetDesiredCapacityType(const Aws::String &value)
AWS_AUTOSCALING_API AutoScalingGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
AutoScalingGroup & WithDesiredCapacityType(const Aws::String &value)
AutoScalingGroup & WithPredictedCapacity(int value)
AutoScalingGroup & WithCreatedTime(const Aws::Utils::DateTime &value)
AutoScalingGroup & WithMixedInstancesPolicy(MixedInstancesPolicy &&value)
const Aws::Vector< TagDescription > & GetTags() const
void SetAutoScalingGroupName(const char *value)
AutoScalingGroup & AddSuspendedProcesses(const SuspendedProcess &value)
void SetStatus(const Aws::String &value)
AutoScalingGroup & WithMaxSize(int value)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
AutoScalingGroup & AddTrafficSources(TrafficSourceIdentifier &&value)
AutoScalingGroup & WithWarmPoolConfiguration(const WarmPoolConfiguration &value)
void SetAutoScalingGroupARN(Aws::String &&value)
void SetLaunchTemplate(const LaunchTemplateSpecification &value)
AutoScalingGroup & WithSuspendedProcesses(const Aws::Vector< SuspendedProcess > &value)
AutoScalingGroup & WithMaxInstanceLifetime(int value)
void SetLaunchConfigurationName(const Aws::String &value)
const Aws::Utils::DateTime & GetCreatedTime() const
void SetVPCZoneIdentifier(Aws::String &&value)
void SetInstances(const Aws::Vector< Instance > &value)
AWS_AUTOSCALING_API AutoScalingGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AutoScalingGroup & WithDesiredCapacityType(Aws::String &&value)
const Aws::String & GetAutoScalingGroupName() const
AutoScalingGroup & AddTerminationPolicies(const Aws::String &value)
const WarmPoolConfiguration & GetWarmPoolConfiguration() const
AutoScalingGroup & AddTrafficSources(const TrafficSourceIdentifier &value)
AutoScalingGroup & WithHealthCheckType(Aws::String &&value)
AutoScalingGroup & WithContext(Aws::String &&value)
AutoScalingGroup & WithHealthCheckType(const char *value)
AutoScalingGroup & WithVPCZoneIdentifier(Aws::String &&value)
AutoScalingGroup & WithHealthCheckGracePeriod(int value)
void SetInstanceMaintenancePolicy(const InstanceMaintenancePolicy &value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
AutoScalingGroup & WithLaunchConfigurationName(const Aws::String &value)
void SetPlacementGroup(const Aws::String &value)
void SetCreatedTime(const Aws::Utils::DateTime &value)
void SetMixedInstancesPolicy(const MixedInstancesPolicy &value)
AutoScalingGroup & WithVPCZoneIdentifier(const Aws::String &value)
AutoScalingGroup & AddLoadBalancerNames(const Aws::String &value)
void SetInstanceMaintenancePolicy(InstanceMaintenancePolicy &&value)
void SetAutoScalingGroupARN(const Aws::String &value)
const Aws::String & GetHealthCheckType() const
AutoScalingGroup & AddInstances(Instance &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AutoScalingGroup & WithEnabledMetrics(Aws::Vector< EnabledMetric > &&value)
AutoScalingGroup & WithNewInstancesProtectedFromScaleIn(bool value)
AutoScalingGroup & WithEnabledMetrics(const Aws::Vector< EnabledMetric > &value)
void SetTrafficSources(const Aws::Vector< TrafficSourceIdentifier > &value)
const MixedInstancesPolicy & GetMixedInstancesPolicy() const
AutoScalingGroup & WithDefaultCooldown(int value)
void SetTrafficSources(Aws::Vector< TrafficSourceIdentifier > &&value)
AutoScalingGroup & AddEnabledMetrics(EnabledMetric &&value)
AutoScalingGroup & WithAutoScalingGroupARN(Aws::String &&value)
AutoScalingGroup & AddAvailabilityZones(const Aws::String &value)
AutoScalingGroup & WithStatus(Aws::String &&value)
AutoScalingGroup & WithLoadBalancerNames(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithMixedInstancesPolicy(const MixedInstancesPolicy &value)
const Aws::Vector< SuspendedProcess > & GetSuspendedProcesses() const
AutoScalingGroup & AddTargetGroupARNs(Aws::String &&value)
AutoScalingGroup & WithSuspendedProcesses(Aws::Vector< SuspendedProcess > &&value)
AutoScalingGroup & AddTargetGroupARNs(const Aws::String &value)
const Aws::Vector< Instance > & GetInstances() const
void SetAvailabilityZones(const Aws::Vector< Aws::String > &value)
AutoScalingGroup & WithAutoScalingGroupARN(const Aws::String &value)
const Aws::String & GetServiceLinkedRoleARN() const
AutoScalingGroup & WithDesiredCapacity(int value)
AutoScalingGroup & AddInstances(const Instance &value)
AutoScalingGroup & WithLaunchConfigurationName(const char *value)
const Aws::String & GetLaunchConfigurationName() const
AutoScalingGroup & WithLaunchTemplate(const LaunchTemplateSpecification &value)
void SetLaunchConfigurationName(const char *value)
AutoScalingGroup & WithStatus(const char *value)
const Aws::Vector< TrafficSourceIdentifier > & GetTrafficSources() const
AutoScalingGroup & WithHealthCheckType(const Aws::String &value)
const Aws::Vector< EnabledMetric > & GetEnabledMetrics() const
AutoScalingGroup & WithTags(const Aws::Vector< TagDescription > &value)
AutoScalingGroup & WithInstances(const Aws::Vector< Instance > &value)
AutoScalingGroup & WithTargetGroupARNs(const Aws::Vector< Aws::String > &value)
void SetLoadBalancerNames(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithTrafficSources(Aws::Vector< TrafficSourceIdentifier > &&value)
AutoScalingGroup & WithLaunchTemplate(LaunchTemplateSpecification &&value)
const Aws::String & GetVPCZoneIdentifier() const
void SetTargetGroupARNs(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithLaunchConfigurationName(Aws::String &&value)
AutoScalingGroup & WithAvailabilityZones(const Aws::Vector< Aws::String > &value)
AutoScalingGroup & WithCreatedTime(Aws::Utils::DateTime &&value)
void SetAvailabilityZones(Aws::Vector< Aws::String > &&value)
AutoScalingGroup & WithServiceLinkedRoleARN(const char *value)
AutoScalingGroup & WithPlacementGroup(const Aws::String &value)
void SetSuspendedProcesses(const Aws::Vector< SuspendedProcess > &value)
AutoScalingGroup & WithTrafficSources(const Aws::Vector< TrafficSourceIdentifier > &value)
void SetSuspendedProcesses(Aws::Vector< SuspendedProcess > &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
AutoScalingGroup & WithServiceLinkedRoleARN(const Aws::String &value)
void SetTags(Aws::Vector< TagDescription > &&value)
void SetLoadBalancerNames(const Aws::Vector< Aws::String > &value)
const Aws::String & GetAutoScalingGroupARN() const
AutoScalingGroup & AddAvailabilityZones(Aws::String &&value)
const Aws::Vector< Aws::String > & GetTargetGroupARNs() const
AutoScalingGroup & AddTerminationPolicies(const char *value)
void SetTerminationPolicies(const Aws::Vector< Aws::String > &value)
AutoScalingGroup & AddTags(const TagDescription &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