AWS SDK for C++  0.12.9
AWS SDK for C++
CreateAutoScalingGroupRequest.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
21 
22 namespace Aws
23 {
24 namespace AutoScaling
25 {
26 namespace Model
27 {
28 
32  {
33  public:
35  Aws::String SerializePayload() const override;
36 
41  inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
42 
47  inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
48 
53  inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
54 
59  inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
60 
65  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(const Aws::String& value) { SetAutoScalingGroupName(value); return *this;}
66 
71  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(value); return *this;}
72 
77  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
78 
83  inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; }
84 
89  inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
90 
95  inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
96 
101  inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); }
102 
107  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(const Aws::String& value) { SetLaunchConfigurationName(value); return *this;}
108 
113  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(value); return *this;}
114 
119  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;}
120 
132  inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
133 
145  inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
146 
158  inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
159 
171  inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
172 
184  inline CreateAutoScalingGroupRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
185 
197  inline CreateAutoScalingGroupRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(value); return *this;}
198 
210  inline CreateAutoScalingGroupRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
211 
215  inline long GetMinSize() const{ return m_minSize; }
216 
220  inline void SetMinSize(long value) { m_minSizeHasBeenSet = true; m_minSize = value; }
221 
225  inline CreateAutoScalingGroupRequest& WithMinSize(long value) { SetMinSize(value); return *this;}
226 
230  inline long GetMaxSize() const{ return m_maxSize; }
231 
235  inline void SetMaxSize(long value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
236 
240  inline CreateAutoScalingGroupRequest& WithMaxSize(long value) { SetMaxSize(value); return *this;}
241 
247  inline long GetDesiredCapacity() const{ return m_desiredCapacity; }
248 
254  inline void SetDesiredCapacity(long value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
255 
261  inline CreateAutoScalingGroupRequest& WithDesiredCapacity(long value) { SetDesiredCapacity(value); return *this;}
262 
270  inline long GetDefaultCooldown() const{ return m_defaultCooldown; }
271 
279  inline void SetDefaultCooldown(long value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
280 
288  inline CreateAutoScalingGroupRequest& WithDefaultCooldown(long value) { SetDefaultCooldown(value); return *this;}
289 
294  inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; }
295 
300  inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
301 
306  inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
307 
312  inline CreateAutoScalingGroupRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;}
313 
318  inline CreateAutoScalingGroupRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(value); return *this;}
319 
324  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
325 
330  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
331 
336  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
337 
344  inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const{ return m_loadBalancerNames; }
345 
352  inline void SetLoadBalancerNames(const Aws::Vector<Aws::String>& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
353 
360  inline void SetLoadBalancerNames(Aws::Vector<Aws::String>&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
361 
368  inline CreateAutoScalingGroupRequest& WithLoadBalancerNames(const Aws::Vector<Aws::String>& value) { SetLoadBalancerNames(value); return *this;}
369 
376  inline CreateAutoScalingGroupRequest& WithLoadBalancerNames(Aws::Vector<Aws::String>&& value) { SetLoadBalancerNames(value); return *this;}
377 
384  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
385 
392  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
393 
400  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
401 
410  inline const Aws::String& GetHealthCheckType() const{ return m_healthCheckType; }
411 
420  inline void SetHealthCheckType(const Aws::String& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
421 
430  inline void SetHealthCheckType(Aws::String&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
431 
440  inline void SetHealthCheckType(const char* value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType.assign(value); }
441 
450  inline CreateAutoScalingGroupRequest& WithHealthCheckType(const Aws::String& value) { SetHealthCheckType(value); return *this;}
451 
460  inline CreateAutoScalingGroupRequest& WithHealthCheckType(Aws::String&& value) { SetHealthCheckType(value); return *this;}
461 
470  inline CreateAutoScalingGroupRequest& WithHealthCheckType(const char* value) { SetHealthCheckType(value); return *this;}
471 
481  inline long GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; }
482 
492  inline void SetHealthCheckGracePeriod(long value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
493 
503  inline CreateAutoScalingGroupRequest& WithHealthCheckGracePeriod(long value) { SetHealthCheckGracePeriod(value); return *this;}
504 
511  inline const Aws::String& GetPlacementGroup() const{ return m_placementGroup; }
512 
519  inline void SetPlacementGroup(const Aws::String& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
520 
527  inline void SetPlacementGroup(Aws::String&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
528 
535  inline void SetPlacementGroup(const char* value) { m_placementGroupHasBeenSet = true; m_placementGroup.assign(value); }
536 
543  inline CreateAutoScalingGroupRequest& WithPlacementGroup(const Aws::String& value) { SetPlacementGroup(value); return *this;}
544 
551  inline CreateAutoScalingGroupRequest& WithPlacementGroup(Aws::String&& value) { SetPlacementGroup(value); return *this;}
552 
559  inline CreateAutoScalingGroupRequest& WithPlacementGroup(const char* value) { SetPlacementGroup(value); return *this;}
560 
570  inline const Aws::String& GetVPCZoneIdentifier() const{ return m_vPCZoneIdentifier; }
571 
581  inline void SetVPCZoneIdentifier(const Aws::String& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
582 
592  inline void SetVPCZoneIdentifier(Aws::String&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
593 
603  inline void SetVPCZoneIdentifier(const char* value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier.assign(value); }
604 
614  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(const Aws::String& value) { SetVPCZoneIdentifier(value); return *this;}
615 
625  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(Aws::String&& value) { SetVPCZoneIdentifier(value); return *this;}
626 
636  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(const char* value) { SetVPCZoneIdentifier(value); return *this;}
637 
646  inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const{ return m_terminationPolicies; }
647 
656  inline void SetTerminationPolicies(const Aws::Vector<Aws::String>& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
657 
666  inline void SetTerminationPolicies(Aws::Vector<Aws::String>&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
667 
676  inline CreateAutoScalingGroupRequest& WithTerminationPolicies(const Aws::Vector<Aws::String>& value) { SetTerminationPolicies(value); return *this;}
677 
686  inline CreateAutoScalingGroupRequest& WithTerminationPolicies(Aws::Vector<Aws::String>&& value) { SetTerminationPolicies(value); return *this;}
687 
696  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(const Aws::String& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
697 
706  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(Aws::String&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
707 
716  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(const char* value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
717 
722  inline bool GetNewInstancesProtectedFromScaleIn() const{ return m_newInstancesProtectedFromScaleIn; }
723 
728  inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
729 
734  inline CreateAutoScalingGroupRequest& WithNewInstancesProtectedFromScaleIn(bool value) { SetNewInstancesProtectedFromScaleIn(value); return *this;}
735 
742  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
743 
750  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
751 
758  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
759 
766  inline CreateAutoScalingGroupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
767 
774  inline CreateAutoScalingGroupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
775 
782  inline CreateAutoScalingGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
783 
790  inline CreateAutoScalingGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
791 
792  private:
793  Aws::String m_autoScalingGroupName;
794  bool m_autoScalingGroupNameHasBeenSet;
795  Aws::String m_launchConfigurationName;
796  bool m_launchConfigurationNameHasBeenSet;
797  Aws::String m_instanceId;
798  bool m_instanceIdHasBeenSet;
799  long m_minSize;
800  bool m_minSizeHasBeenSet;
801  long m_maxSize;
802  bool m_maxSizeHasBeenSet;
803  long m_desiredCapacity;
804  bool m_desiredCapacityHasBeenSet;
805  long m_defaultCooldown;
806  bool m_defaultCooldownHasBeenSet;
807  Aws::Vector<Aws::String> m_availabilityZones;
808  bool m_availabilityZonesHasBeenSet;
809  Aws::Vector<Aws::String> m_loadBalancerNames;
810  bool m_loadBalancerNamesHasBeenSet;
811  Aws::String m_healthCheckType;
812  bool m_healthCheckTypeHasBeenSet;
813  long m_healthCheckGracePeriod;
814  bool m_healthCheckGracePeriodHasBeenSet;
815  Aws::String m_placementGroup;
816  bool m_placementGroupHasBeenSet;
817  Aws::String m_vPCZoneIdentifier;
818  bool m_vPCZoneIdentifierHasBeenSet;
819  Aws::Vector<Aws::String> m_terminationPolicies;
820  bool m_terminationPoliciesHasBeenSet;
821  bool m_newInstancesProtectedFromScaleIn;
822  bool m_newInstancesProtectedFromScaleInHasBeenSet;
823  Aws::Vector<Tag> m_tags;
824  bool m_tagsHasBeenSet;
825  };
826 
827 } // namespace Model
828 } // namespace AutoScaling
829 } // namespace Aws
CreateAutoScalingGroupRequest & WithHealthCheckType(const Aws::String &value)
CreateAutoScalingGroupRequest & AddLoadBalancerNames(Aws::String &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(Aws::String &&value)
CreateAutoScalingGroupRequest & WithAvailabilityZones(const Aws::Vector< Aws::String > &value)
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(const char *value)
void SetAvailabilityZones(const Aws::Vector< Aws::String > &value)
CreateAutoScalingGroupRequest & WithDefaultCooldown(long value)
CreateAutoScalingGroupRequest & WithTags(Aws::Vector< Tag > &&value)
CreateAutoScalingGroupRequest & WithLoadBalancerNames(Aws::Vector< Aws::String > &&value)
CreateAutoScalingGroupRequest & WithHealthCheckGracePeriod(long value)
CreateAutoScalingGroupRequest & WithPlacementGroup(const Aws::String &value)
CreateAutoScalingGroupRequest & WithInstanceId(const char *value)
void SetTerminationPolicies(const Aws::Vector< Aws::String > &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
CreateAutoScalingGroupRequest & WithAvailabilityZones(Aws::Vector< Aws::String > &&value)
CreateAutoScalingGroupRequest & AddAvailabilityZones(const Aws::String &value)
CreateAutoScalingGroupRequest & WithTerminationPolicies(Aws::Vector< Aws::String > &&value)
const Aws::Vector< Aws::String > & GetLoadBalancerNames() const
CreateAutoScalingGroupRequest & WithHealthCheckType(Aws::String &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(const char *value)
CreateAutoScalingGroupRequest & WithInstanceId(Aws::String &&value)
CreateAutoScalingGroupRequest & WithNewInstancesProtectedFromScaleIn(bool value)
CreateAutoScalingGroupRequest & WithTags(const Aws::Vector< Tag > &value)
CreateAutoScalingGroupRequest & WithAutoScalingGroupName(Aws::String &&value)
CreateAutoScalingGroupRequest & AddTerminationPolicies(const Aws::String &value)
CreateAutoScalingGroupRequest & WithPlacementGroup(Aws::String &&value)
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(Aws::String &&value)
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(const Aws::String &value)
CreateAutoScalingGroupRequest & WithVPCZoneIdentifier(const char *value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
CreateAutoScalingGroupRequest & WithLoadBalancerNames(const Aws::Vector< Aws::String > &value)
void SetLoadBalancerNames(const Aws::Vector< Aws::String > &value)
CreateAutoScalingGroupRequest & WithAutoScalingGroupName(const char *value)
CreateAutoScalingGroupRequest & WithHealthCheckType(const char *value)
CreateAutoScalingGroupRequest & AddAvailabilityZones(Aws::String &&value)
CreateAutoScalingGroupRequest & AddLoadBalancerNames(const Aws::String &value)
CreateAutoScalingGroupRequest & WithInstanceId(const Aws::String &value)
CreateAutoScalingGroupRequest & AddTags(const Tag &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
CreateAutoScalingGroupRequest & WithDesiredCapacity(long value)
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(const Aws::String &value)
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(Aws::String &&value)
CreateAutoScalingGroupRequest & AddLoadBalancerNames(const char *value)
CreateAutoScalingGroupRequest & WithTerminationPolicies(const Aws::Vector< Aws::String > &value)
#define AWS_AUTOSCALING_API
CreateAutoScalingGroupRequest & WithAutoScalingGroupName(const Aws::String &value)
CreateAutoScalingGroupRequest & AddAvailabilityZones(const char *value)
CreateAutoScalingGroupRequest & WithPlacementGroup(const char *value)
JSON (JavaScript Object Notation).