AWS SDK for C++  0.14.3
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 
33  {
34  public:
36  Aws::String SerializePayload() const override;
37 
42  inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
43 
48  inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
49 
54  inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
55 
60  inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
61 
66  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(const Aws::String& value) { SetAutoScalingGroupName(value); return *this;}
67 
72  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(value); return *this;}
73 
78  inline CreateAutoScalingGroupRequest& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
79 
84  inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; }
85 
90  inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
91 
96  inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; }
97 
102  inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); }
103 
108  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(const Aws::String& value) { SetLaunchConfigurationName(value); return *this;}
109 
114  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(value); return *this;}
115 
120  inline CreateAutoScalingGroupRequest& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;}
121 
133  inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
134 
146  inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
147 
159  inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
160 
172  inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
173 
185  inline CreateAutoScalingGroupRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
186 
198  inline CreateAutoScalingGroupRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(value); return *this;}
199 
211  inline CreateAutoScalingGroupRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
212 
216  inline int GetMinSize() const{ return m_minSize; }
217 
221  inline void SetMinSize(int value) { m_minSizeHasBeenSet = true; m_minSize = value; }
222 
226  inline CreateAutoScalingGroupRequest& WithMinSize(int value) { SetMinSize(value); return *this;}
227 
231  inline int GetMaxSize() const{ return m_maxSize; }
232 
236  inline void SetMaxSize(int value) { m_maxSizeHasBeenSet = true; m_maxSize = value; }
237 
241  inline CreateAutoScalingGroupRequest& WithMaxSize(int value) { SetMaxSize(value); return *this;}
242 
248  inline int GetDesiredCapacity() const{ return m_desiredCapacity; }
249 
255  inline void SetDesiredCapacity(int value) { m_desiredCapacityHasBeenSet = true; m_desiredCapacity = value; }
256 
262  inline CreateAutoScalingGroupRequest& WithDesiredCapacity(int value) { SetDesiredCapacity(value); return *this;}
263 
271  inline int GetDefaultCooldown() const{ return m_defaultCooldown; }
272 
280  inline void SetDefaultCooldown(int value) { m_defaultCooldownHasBeenSet = true; m_defaultCooldown = value; }
281 
289  inline CreateAutoScalingGroupRequest& WithDefaultCooldown(int value) { SetDefaultCooldown(value); return *this;}
290 
295  inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; }
296 
301  inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
302 
307  inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
308 
313  inline CreateAutoScalingGroupRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;}
314 
319  inline CreateAutoScalingGroupRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(value); return *this;}
320 
325  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
326 
331  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
332 
337  inline CreateAutoScalingGroupRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
338 
346  inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const{ return m_loadBalancerNames; }
347 
355  inline void SetLoadBalancerNames(const Aws::Vector<Aws::String>& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
356 
364  inline void SetLoadBalancerNames(Aws::Vector<Aws::String>&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
365 
373  inline CreateAutoScalingGroupRequest& WithLoadBalancerNames(const Aws::Vector<Aws::String>& value) { SetLoadBalancerNames(value); return *this;}
374 
382  inline CreateAutoScalingGroupRequest& WithLoadBalancerNames(Aws::Vector<Aws::String>&& value) { SetLoadBalancerNames(value); return *this;}
383 
391  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
392 
400  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
401 
409  inline CreateAutoScalingGroupRequest& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
410 
414  inline const Aws::Vector<Aws::String>& GetTargetGroupARNs() const{ return m_targetGroupARNs; }
415 
419  inline void SetTargetGroupARNs(const Aws::Vector<Aws::String>& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = value; }
420 
424  inline void SetTargetGroupARNs(Aws::Vector<Aws::String>&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs = value; }
425 
429  inline CreateAutoScalingGroupRequest& WithTargetGroupARNs(const Aws::Vector<Aws::String>& value) { SetTargetGroupARNs(value); return *this;}
430 
434  inline CreateAutoScalingGroupRequest& WithTargetGroupARNs(Aws::Vector<Aws::String>&& value) { SetTargetGroupARNs(value); return *this;}
435 
439  inline CreateAutoScalingGroupRequest& AddTargetGroupARNs(const Aws::String& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(value); return *this; }
440 
444  inline CreateAutoScalingGroupRequest& AddTargetGroupARNs(Aws::String&& value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(value); return *this; }
445 
449  inline CreateAutoScalingGroupRequest& AddTargetGroupARNs(const char* value) { m_targetGroupARNsHasBeenSet = true; m_targetGroupARNs.push_back(value); return *this; }
450 
459  inline const Aws::String& GetHealthCheckType() const{ return m_healthCheckType; }
460 
469  inline void SetHealthCheckType(const Aws::String& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
470 
479  inline void SetHealthCheckType(Aws::String&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; }
480 
489  inline void SetHealthCheckType(const char* value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType.assign(value); }
490 
499  inline CreateAutoScalingGroupRequest& WithHealthCheckType(const Aws::String& value) { SetHealthCheckType(value); return *this;}
500 
509  inline CreateAutoScalingGroupRequest& WithHealthCheckType(Aws::String&& value) { SetHealthCheckType(value); return *this;}
510 
519  inline CreateAutoScalingGroupRequest& WithHealthCheckType(const char* value) { SetHealthCheckType(value); return *this;}
520 
530  inline int GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; }
531 
541  inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; }
542 
552  inline CreateAutoScalingGroupRequest& WithHealthCheckGracePeriod(int value) { SetHealthCheckGracePeriod(value); return *this;}
553 
560  inline const Aws::String& GetPlacementGroup() const{ return m_placementGroup; }
561 
568  inline void SetPlacementGroup(const Aws::String& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
569 
576  inline void SetPlacementGroup(Aws::String&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; }
577 
584  inline void SetPlacementGroup(const char* value) { m_placementGroupHasBeenSet = true; m_placementGroup.assign(value); }
585 
592  inline CreateAutoScalingGroupRequest& WithPlacementGroup(const Aws::String& value) { SetPlacementGroup(value); return *this;}
593 
600  inline CreateAutoScalingGroupRequest& WithPlacementGroup(Aws::String&& value) { SetPlacementGroup(value); return *this;}
601 
608  inline CreateAutoScalingGroupRequest& WithPlacementGroup(const char* value) { SetPlacementGroup(value); return *this;}
609 
618  inline const Aws::String& GetVPCZoneIdentifier() const{ return m_vPCZoneIdentifier; }
619 
628  inline void SetVPCZoneIdentifier(const Aws::String& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
629 
638  inline void SetVPCZoneIdentifier(Aws::String&& value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier = value; }
639 
648  inline void SetVPCZoneIdentifier(const char* value) { m_vPCZoneIdentifierHasBeenSet = true; m_vPCZoneIdentifier.assign(value); }
649 
658  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(const Aws::String& value) { SetVPCZoneIdentifier(value); return *this;}
659 
668  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(Aws::String&& value) { SetVPCZoneIdentifier(value); return *this;}
669 
678  inline CreateAutoScalingGroupRequest& WithVPCZoneIdentifier(const char* value) { SetVPCZoneIdentifier(value); return *this;}
679 
688  inline const Aws::Vector<Aws::String>& GetTerminationPolicies() const{ return m_terminationPolicies; }
689 
698  inline void SetTerminationPolicies(const Aws::Vector<Aws::String>& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
699 
708  inline void SetTerminationPolicies(Aws::Vector<Aws::String>&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies = value; }
709 
718  inline CreateAutoScalingGroupRequest& WithTerminationPolicies(const Aws::Vector<Aws::String>& value) { SetTerminationPolicies(value); return *this;}
719 
728  inline CreateAutoScalingGroupRequest& WithTerminationPolicies(Aws::Vector<Aws::String>&& value) { SetTerminationPolicies(value); return *this;}
729 
738  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(const Aws::String& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
739 
748  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(Aws::String&& value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
749 
758  inline CreateAutoScalingGroupRequest& AddTerminationPolicies(const char* value) { m_terminationPoliciesHasBeenSet = true; m_terminationPolicies.push_back(value); return *this; }
759 
764  inline bool GetNewInstancesProtectedFromScaleIn() const{ return m_newInstancesProtectedFromScaleIn; }
765 
770  inline void SetNewInstancesProtectedFromScaleIn(bool value) { m_newInstancesProtectedFromScaleInHasBeenSet = true; m_newInstancesProtectedFromScaleIn = value; }
771 
776  inline CreateAutoScalingGroupRequest& WithNewInstancesProtectedFromScaleIn(bool value) { SetNewInstancesProtectedFromScaleIn(value); return *this;}
777 
783  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
784 
790  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
791 
797  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
798 
804  inline CreateAutoScalingGroupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
805 
811  inline CreateAutoScalingGroupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
812 
818  inline CreateAutoScalingGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
819 
825  inline CreateAutoScalingGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
826 
827  private:
828  Aws::String m_autoScalingGroupName;
829  bool m_autoScalingGroupNameHasBeenSet;
830  Aws::String m_launchConfigurationName;
831  bool m_launchConfigurationNameHasBeenSet;
832  Aws::String m_instanceId;
833  bool m_instanceIdHasBeenSet;
834  int m_minSize;
835  bool m_minSizeHasBeenSet;
836  int m_maxSize;
837  bool m_maxSizeHasBeenSet;
838  int m_desiredCapacity;
839  bool m_desiredCapacityHasBeenSet;
840  int m_defaultCooldown;
841  bool m_defaultCooldownHasBeenSet;
842  Aws::Vector<Aws::String> m_availabilityZones;
843  bool m_availabilityZonesHasBeenSet;
844  Aws::Vector<Aws::String> m_loadBalancerNames;
845  bool m_loadBalancerNamesHasBeenSet;
846  Aws::Vector<Aws::String> m_targetGroupARNs;
847  bool m_targetGroupARNsHasBeenSet;
848  Aws::String m_healthCheckType;
849  bool m_healthCheckTypeHasBeenSet;
850  int m_healthCheckGracePeriod;
851  bool m_healthCheckGracePeriodHasBeenSet;
852  Aws::String m_placementGroup;
853  bool m_placementGroupHasBeenSet;
854  Aws::String m_vPCZoneIdentifier;
855  bool m_vPCZoneIdentifierHasBeenSet;
856  Aws::Vector<Aws::String> m_terminationPolicies;
857  bool m_terminationPoliciesHasBeenSet;
858  bool m_newInstancesProtectedFromScaleIn;
859  bool m_newInstancesProtectedFromScaleInHasBeenSet;
860  Aws::Vector<Tag> m_tags;
861  bool m_tagsHasBeenSet;
862  };
863 
864 } // namespace Model
865 } // namespace AutoScaling
866 } // 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 & WithDefaultCooldown(int value)
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(const char *value)
void SetAvailabilityZones(const Aws::Vector< Aws::String > &value)
CreateAutoScalingGroupRequest & WithDesiredCapacity(int value)
CreateAutoScalingGroupRequest & WithTags(Aws::Vector< Tag > &&value)
CreateAutoScalingGroupRequest & WithLoadBalancerNames(Aws::Vector< Aws::String > &&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 & AddTargetGroupARNs(const char *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)
void SetTargetGroupARNs(const Aws::Vector< Aws::String > &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 & WithTargetGroupARNs(Aws::Vector< Aws::String > &&value)
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
const Aws::Vector< Aws::String > & GetTerminationPolicies() const
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(const Aws::String &value)
CreateAutoScalingGroupRequest & AddTargetGroupARNs(Aws::String &&value)
CreateAutoScalingGroupRequest & WithLaunchConfigurationName(Aws::String &&value)
CreateAutoScalingGroupRequest & AddLoadBalancerNames(const char *value)
const Aws::Vector< Aws::String > & GetTargetGroupARNs() const
CreateAutoScalingGroupRequest & WithTerminationPolicies(const Aws::Vector< Aws::String > &value)
#define AWS_AUTOSCALING_API
CreateAutoScalingGroupRequest & WithAutoScalingGroupName(const Aws::String &value)
CreateAutoScalingGroupRequest & WithHealthCheckGracePeriod(int value)
CreateAutoScalingGroupRequest & AddAvailabilityZones(const char *value)
CreateAutoScalingGroupRequest & AddTargetGroupARNs(const Aws::String &value)
CreateAutoScalingGroupRequest & WithPlacementGroup(const char *value)
CreateAutoScalingGroupRequest & WithTargetGroupARNs(const Aws::Vector< Aws::String > &value)
JSON (JavaScript Object Notation).