AWS SDK for C++  0.14.3
AWS SDK for C++
UpdateAutoScalingGroupRequest.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
20 
21 namespace Aws
22 {
23 namespace AutoScaling
24 {
25 namespace Model
26 {
27 
32  {
33  public:
35  Aws::String SerializePayload() const override;
36 
40  inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
41 
45  inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
46 
50  inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
51 
55  inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
56 
60  inline UpdateAutoScalingGroupRequest& WithAutoScalingGroupName(const Aws::String& value) { SetAutoScalingGroupName(value); return *this;}
61 
65  inline UpdateAutoScalingGroupRequest& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(value); return *this;}
66 
70  inline UpdateAutoScalingGroupRequest& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
71 
75  inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; }
76 
80  inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
81 
85  inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
86 
90  inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); }
91 
95  inline UpdateAutoScalingGroupRequest& WithLaunchConfigurationName(const Aws::String& value) { SetLaunchConfigurationName(value); return *this;}
96 
100  inline UpdateAutoScalingGroupRequest& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(value); return *this;}
101 
105  inline UpdateAutoScalingGroupRequest& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;}
106 
110  inline int GetMinSize() const{ return m_minSize; }
111 
115  inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; }
116 
120  inline UpdateAutoScalingGroupRequest& WithMinSize(int value) { SetMinSize(value); return *this;}
121 
125  inline int GetMaxSize() const{ return m_maxSize; }
126 
130  inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
131 
135  inline UpdateAutoScalingGroupRequest& WithMaxSize(int value) { SetMaxSize(value); return *this;}
136 
142  inline int GetDesiredCapacity() const{ return m_desiredCapacity; }
143 
149  inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
150 
156  inline UpdateAutoScalingGroupRequest& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;}
157 
165  inline int GetDefaultCooldown() const{ return m_defaultCooldown; }
166 
174  inline void SetDefaultCooldown(int value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
175 
183  inline UpdateAutoScalingGroupRequest& WithDefaultCooldown(int value) { SetDefaultCooldown(value); return *this;}
184 
188  inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; }
189 
193  inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
194 
198  inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
199 
203  inline UpdateAutoScalingGroupRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;}
204 
208  inline UpdateAutoScalingGroupRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(value); return *this;}
209 
213  inline UpdateAutoScalingGroupRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
214 
218  inline UpdateAutoScalingGroupRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
219 
223  inline UpdateAutoScalingGroupRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
224 
229  inline const Aws::String& GetHealthCheckType() const{ return m_healthCheckType; }
230 
235  inline void SetHealthCheckType(const Aws::String& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
236 
241  inline void SetHealthCheckType(Aws::String&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
242 
247  inline void SetHealthCheckType(const char* value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType.assign(value); }
248 
253  inline UpdateAutoScalingGroupRequest& WithHealthCheckType(const Aws::String& value) { SetHealthCheckType(value); return *this;}
254 
259  inline UpdateAutoScalingGroupRequest& WithHealthCheckType(Aws::String&& value) { SetHealthCheckType(value); return *this;}
260 
265  inline UpdateAutoScalingGroupRequest& WithHealthCheckType(const char* value) { SetHealthCheckType(value); return *this;}
266 
274  inline int GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; }
275 
283  inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
284 
292  inline UpdateAutoScalingGroupRequest& WithHealthCheckGracePeriod(int value) { SetHealthCheckGracePeriod(value); return *this;}
293 
300  inline const Aws::String& GetPlacementGroup() const{ return m_placementGroup; }
301 
308  inline void SetPlacementGroup(const Aws::String& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
309 
316  inline void SetPlacementGroup(Aws::String&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
317 
324  inline void SetPlacementGroup(const char* value) { m_placementGroupHasBeenSet = true; m_placementGroup.assign(value); }
325 
332  inline UpdateAutoScalingGroupRequest& WithPlacementGroup(const Aws::String& value) { SetPlacementGroup(value); return *this;}
333 
340  inline UpdateAutoScalingGroupRequest& WithPlacementGroup(Aws::String&& value) { SetPlacementGroup(value); return *this;}
341 
348  inline UpdateAutoScalingGroupRequest& WithPlacementGroup(const char* value) { SetPlacementGroup(value); return *this;}
349 
359  inline const Aws::String& GetVPCZoneIdentifier() const{ return m_vPCZoneIdentifier; }
360 
370  inline void SetVPCZoneIdentifier(const Aws::String& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
371 
381  inline void SetVPCZoneIdentifier(Aws::String&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
382 
392  inline void SetVPCZoneIdentifier(const char* value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier.assign(value); }
393 
403  inline UpdateAutoScalingGroupRequest& WithVPCZoneIdentifier(const Aws::String& value) { SetVPCZoneIdentifier(value); return *this;}
404 
414  inline UpdateAutoScalingGroupRequest& WithVPCZoneIdentifier(Aws::String&& value) { SetVPCZoneIdentifier(value); return *this;}
415 
425  inline UpdateAutoScalingGroupRequest& WithVPCZoneIdentifier(const char* value) { SetVPCZoneIdentifier(value); return *this;}
426 
435  inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const{ return m_terminationPolicies; }
436 
445  inline void SetTerminationPolicies(const Aws::Vector<Aws::String>& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
446 
455  inline void SetTerminationPolicies(Aws::Vector<Aws::String>&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
456 
465  inline UpdateAutoScalingGroupRequest& WithTerminationPolicies(const Aws::Vector<Aws::String>& value) { SetTerminationPolicies(value); return *this;}
466 
475  inline UpdateAutoScalingGroupRequest& WithTerminationPolicies(Aws::Vector<Aws::String>&& value) { SetTerminationPolicies(value); return *this;}
476 
485  inline UpdateAutoScalingGroupRequest& AddTerminationPolicies(const Aws::String& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
486 
495  inline UpdateAutoScalingGroupRequest& AddTerminationPolicies(Aws::String&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
496 
505  inline UpdateAutoScalingGroupRequest& AddTerminationPolicies(const char* value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
506 
511  inline bool GetNewInstancesProtectedFromScaleIn() const{ return m_newInstancesProtectedFromScaleIn; }
512 
517  inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
518 
523  inline UpdateAutoScalingGroupRequest& WithNewInstancesProtectedFromScaleIn(bool value) { SetNewInstancesProtectedFromScaleIn(value); return *this;}
524 
525  private:
526  Aws::String m_autoScalingGroupName;
527  bool m_autoScalingGroupNameHasBeenSet;
528  Aws::String m_launchConfigurationName;
529  bool m_launchConfigurationNameHasBeenSet;
530  int m_minSize;
531  bool m_minSizeHasBeenSet;
532  int m_maxSize;
533  bool m_maxSizeHasBeenSet;
534  int m_desiredCapacity;
535  bool m_desiredCapacityHasBeenSet;
536  int m_defaultCooldown;
537  bool m_defaultCooldownHasBeenSet;
538  Aws::Vector<Aws::String> m_availabilityZones;
539  bool m_availabilityZonesHasBeenSet;
540  Aws::String m_healthCheckType;
541  bool m_healthCheckTypeHasBeenSet;
542  int m_healthCheckGracePeriod;
543  bool m_healthCheckGracePeriodHasBeenSet;
544  Aws::String m_placementGroup;
545  bool m_placementGroupHasBeenSet;
546  Aws::String m_vPCZoneIdentifier;
547  bool m_vPCZoneIdentifierHasBeenSet;
548  Aws::Vector<Aws::String> m_terminationPolicies;
549  bool m_terminationPoliciesHasBeenSet;
550  bool m_newInstancesProtectedFromScaleIn;
551  bool m_newInstancesProtectedFromScaleInHasBeenSet;
552  };
553 
554 } // namespace Model
555 } // namespace AutoScaling
556 } // namespace Aws
UpdateAutoScalingGroupRequest & WithLaunchConfigurationName(const char *value)
UpdateAutoScalingGroupRequest & WithPlacementGroup(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithTerminationPolicies(Aws::Vector< Aws::String > &&value)
UpdateAutoScalingGroupRequest & AddAvailabilityZones(const Aws::String &value)
UpdateAutoScalingGroupRequest & WithLaunchConfigurationName(const Aws::String &value)
UpdateAutoScalingGroupRequest & WithAvailabilityZones(Aws::Vector< Aws::String > &&value)
UpdateAutoScalingGroupRequest & AddTerminationPolicies(const char *value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
UpdateAutoScalingGroupRequest & WithDefaultCooldown(int value)
UpdateAutoScalingGroupRequest & AddTerminationPolicies(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithHealthCheckType(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithAutoScalingGroupName(const char *value)
void SetTerminationPolicies(const Aws::Vector< Aws::String > &value)
UpdateAutoScalingGroupRequest & WithPlacementGroup(const char *value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
UpdateAutoScalingGroupRequest & AddAvailabilityZones(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithTerminationPolicies(const Aws::Vector< Aws::String > &value)
UpdateAutoScalingGroupRequest & WithHealthCheckType(const char *value)
UpdateAutoScalingGroupRequest & AddAvailabilityZones(const char *value)
UpdateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
UpdateAutoScalingGroupRequest & WithAvailabilityZones(const Aws::Vector< Aws::String > &value)
UpdateAutoScalingGroupRequest & WithLaunchConfigurationName(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithVPCZoneIdentifier(const char *value)
UpdateAutoScalingGroupRequest & WithDesiredCapacity(int value)
UpdateAutoScalingGroupRequest & WithAutoScalingGroupName(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
UpdateAutoScalingGroupRequest & AddTerminationPolicies(const Aws::String &value)
UpdateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
UpdateAutoScalingGroupRequest & WithAutoScalingGroupName(Aws::String &&value)
#define AWS_AUTOSCALING_API
UpdateAutoScalingGroupRequest & WithVPCZoneIdentifier(Aws::String &&value)
UpdateAutoScalingGroupRequest & WithHealthCheckType(const Aws::String &value)
UpdateAutoScalingGroupRequest & WithPlacementGroup(const Aws::String &value)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
UpdateAutoScalingGroupRequest & WithVPCZoneIdentifier(const Aws::String &value)
JSON (JavaScript Object Notation).
void SetAvailabilityZones(const Aws::Vector< Aws::String > &value)