AWS SDK for C++  0.12.9
AWS SDK for C++
ImportInstanceLaunchSpecification.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
16 #include <aws/ec2/EC2_EXPORTS.h>
21 #include <aws/ec2/model/UserData.h>
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Xml
31 {
32  class XmlNode;
33 } // namespace Xml
34 } // namespace Utils
35 namespace EC2
36 {
37 namespace Model
38 {
39 
44  {
45  public:
49 
50  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51  void OutputToStream(Aws::OStream& oStream, const char* location) const;
52 
56  inline const ArchitectureValues& GetArchitecture() const{ return m_architecture; }
57 
61  inline void SetArchitecture(const ArchitectureValues& value) { m_architectureHasBeenSet = true; m_architecture = value; }
62 
66  inline void SetArchitecture(ArchitectureValues&& value) { m_architectureHasBeenSet = true; m_architecture = value; }
67 
71  inline ImportInstanceLaunchSpecification& WithArchitecture(const ArchitectureValues& value) { SetArchitecture(value); return *this;}
72 
76  inline ImportInstanceLaunchSpecification& WithArchitecture(ArchitectureValues&& value) { SetArchitecture(value); return *this;}
77 
81  inline const Aws::Vector<Aws::String>& GetGroupNames() const{ return m_groupNames; }
82 
86  inline void SetGroupNames(const Aws::Vector<Aws::String>& value) { m_groupNamesHasBeenSet = true; m_groupNames = value; }
87 
91  inline void SetGroupNames(Aws::Vector<Aws::String>&& value) { m_groupNamesHasBeenSet = true; m_groupNames = value; }
92 
96  inline ImportInstanceLaunchSpecification& WithGroupNames(const Aws::Vector<Aws::String>& value) { SetGroupNames(value); return *this;}
97 
101  inline ImportInstanceLaunchSpecification& WithGroupNames(Aws::Vector<Aws::String>&& value) { SetGroupNames(value); return *this;}
102 
106  inline ImportInstanceLaunchSpecification& AddGroupNames(const Aws::String& value) { m_groupNamesHasBeenSet = true; m_groupNames.push_back(value); return *this; }
107 
111  inline ImportInstanceLaunchSpecification& AddGroupNames(Aws::String&& value) { m_groupNamesHasBeenSet = true; m_groupNames.push_back(value); return *this; }
112 
116  inline ImportInstanceLaunchSpecification& AddGroupNames(const char* value) { m_groupNamesHasBeenSet = true; m_groupNames.push_back(value); return *this; }
117 
121  inline const Aws::Vector<Aws::String>& GetGroupIds() const{ return m_groupIds; }
122 
126  inline void SetGroupIds(const Aws::Vector<Aws::String>& value) { m_groupIdsHasBeenSet = true; m_groupIds = value; }
127 
131  inline void SetGroupIds(Aws::Vector<Aws::String>&& value) { m_groupIdsHasBeenSet = true; m_groupIds = value; }
132 
136  inline ImportInstanceLaunchSpecification& WithGroupIds(const Aws::Vector<Aws::String>& value) { SetGroupIds(value); return *this;}
137 
141  inline ImportInstanceLaunchSpecification& WithGroupIds(Aws::Vector<Aws::String>&& value) { SetGroupIds(value); return *this;}
142 
146  inline ImportInstanceLaunchSpecification& AddGroupIds(const Aws::String& value) { m_groupIdsHasBeenSet = true; m_groupIds.push_back(value); return *this; }
147 
151  inline ImportInstanceLaunchSpecification& AddGroupIds(Aws::String&& value) { m_groupIdsHasBeenSet = true; m_groupIds.push_back(value); return *this; }
152 
156  inline ImportInstanceLaunchSpecification& AddGroupIds(const char* value) { m_groupIdsHasBeenSet = true; m_groupIds.push_back(value); return *this; }
157 
161  inline const Aws::String& GetAdditionalInfo() const{ return m_additionalInfo; }
162 
166  inline void SetAdditionalInfo(const Aws::String& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; }
167 
171  inline void SetAdditionalInfo(Aws::String&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; }
172 
176  inline void SetAdditionalInfo(const char* value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.assign(value); }
177 
181  inline ImportInstanceLaunchSpecification& WithAdditionalInfo(const Aws::String& value) { SetAdditionalInfo(value); return *this;}
182 
186  inline ImportInstanceLaunchSpecification& WithAdditionalInfo(Aws::String&& value) { SetAdditionalInfo(value); return *this;}
187 
191  inline ImportInstanceLaunchSpecification& WithAdditionalInfo(const char* value) { SetAdditionalInfo(value); return *this;}
192 
196  inline const UserData& GetUserData() const{ return m_userData; }
197 
201  inline void SetUserData(const UserData& value) { m_userDataHasBeenSet = true; m_userData = value; }
202 
206  inline void SetUserData(UserData&& value) { m_userDataHasBeenSet = true; m_userData = value; }
207 
211  inline ImportInstanceLaunchSpecification& WithUserData(const UserData& value) { SetUserData(value); return *this;}
212 
216  inline ImportInstanceLaunchSpecification& WithUserData(UserData&& value) { SetUserData(value); return *this;}
217 
224  inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
225 
232  inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
233 
240  inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
241 
248  inline ImportInstanceLaunchSpecification& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
249 
256  inline ImportInstanceLaunchSpecification& WithInstanceType(InstanceType&& value) { SetInstanceType(value); return *this;}
257 
261  inline const Placement& GetPlacement() const{ return m_placement; }
262 
266  inline void SetPlacement(const Placement& value) { m_placementHasBeenSet = true; m_placement = value; }
267 
271  inline void SetPlacement(Placement&& value) { m_placementHasBeenSet = true; m_placement = value; }
272 
276  inline ImportInstanceLaunchSpecification& WithPlacement(const Placement& value) { SetPlacement(value); return *this;}
277 
281  inline ImportInstanceLaunchSpecification& WithPlacement(Placement&& value) { SetPlacement(value); return *this;}
282 
286  inline bool GetMonitoring() const{ return m_monitoring; }
287 
291  inline void SetMonitoring(bool value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
292 
296  inline ImportInstanceLaunchSpecification& WithMonitoring(bool value) { SetMonitoring(value); return *this;}
297 
301  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
302 
306  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
307 
311  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
312 
316  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
317 
321  inline ImportInstanceLaunchSpecification& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
322 
326  inline ImportInstanceLaunchSpecification& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
327 
331  inline ImportInstanceLaunchSpecification& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
332 
337  inline const ShutdownBehavior& GetInstanceInitiatedShutdownBehavior() const{ return m_instanceInitiatedShutdownBehavior; }
338 
343  inline void SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; }
344 
349  inline void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior&& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; }
350 
355  inline ImportInstanceLaunchSpecification& WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior& value) { SetInstanceInitiatedShutdownBehavior(value); return *this;}
356 
361  inline ImportInstanceLaunchSpecification& WithInstanceInitiatedShutdownBehavior(ShutdownBehavior&& value) { SetInstanceInitiatedShutdownBehavior(value); return *this;}
362 
367  inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; }
368 
373  inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; }
374 
379  inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; }
380 
385  inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); }
386 
391  inline ImportInstanceLaunchSpecification& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;}
392 
397  inline ImportInstanceLaunchSpecification& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(value); return *this;}
398 
403  inline ImportInstanceLaunchSpecification& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;}
404 
405  private:
406  ArchitectureValues m_architecture;
407  bool m_architectureHasBeenSet;
408  Aws::Vector<Aws::String> m_groupNames;
409  bool m_groupNamesHasBeenSet;
410  Aws::Vector<Aws::String> m_groupIds;
411  bool m_groupIdsHasBeenSet;
412  Aws::String m_additionalInfo;
413  bool m_additionalInfoHasBeenSet;
414  UserData m_userData;
415  bool m_userDataHasBeenSet;
416  InstanceType m_instanceType;
417  bool m_instanceTypeHasBeenSet;
418  Placement m_placement;
419  bool m_placementHasBeenSet;
420  bool m_monitoring;
421  bool m_monitoringHasBeenSet;
422  Aws::String m_subnetId;
423  bool m_subnetIdHasBeenSet;
424  ShutdownBehavior m_instanceInitiatedShutdownBehavior;
425  bool m_instanceInitiatedShutdownBehaviorHasBeenSet;
426  Aws::String m_privateIpAddress;
427  bool m_privateIpAddressHasBeenSet;
428  };
429 
430 } // namespace Model
431 } // namespace EC2
432 } // namespace Aws
ImportInstanceLaunchSpecification & WithPlacement(Placement &&value)
ImportInstanceLaunchSpecification & AddGroupNames(const char *value)
ImportInstanceLaunchSpecification & WithAdditionalInfo(const char *value)
ImportInstanceLaunchSpecification & WithPrivateIpAddress(const char *value)
const Aws::Vector< Aws::String > & GetGroupNames() const
void SetGroupIds(const Aws::Vector< Aws::String > &value)
ImportInstanceLaunchSpecification & WithAdditionalInfo(const Aws::String &value)
ImportInstanceLaunchSpecification & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
ImportInstanceLaunchSpecification & WithInstanceType(InstanceType &&value)
ImportInstanceLaunchSpecification & WithGroupNames(const Aws::Vector< Aws::String > &value)
ImportInstanceLaunchSpecification & WithPrivateIpAddress(Aws::String &&value)
ImportInstanceLaunchSpecification & WithMonitoring(bool value)
ImportInstanceLaunchSpecification & WithUserData(UserData &&value)
ImportInstanceLaunchSpecification & AddGroupIds(const char *value)
ImportInstanceLaunchSpecification & WithGroupIds(const Aws::Vector< Aws::String > &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
ImportInstanceLaunchSpecification & WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior &value)
ImportInstanceLaunchSpecification & WithUserData(const UserData &value)
ImportInstanceLaunchSpecification & WithInstanceType(const InstanceType &value)
ImportInstanceLaunchSpecification & AddGroupNames(Aws::String &&value)
ImportInstanceLaunchSpecification & WithGroupNames(Aws::Vector< Aws::String > &&value)
ImportInstanceLaunchSpecification & WithPrivateIpAddress(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ImportInstanceLaunchSpecification & AddGroupIds(const Aws::String &value)
ImportInstanceLaunchSpecification & WithSubnetId(Aws::String &&value)
ImportInstanceLaunchSpecification & WithSubnetId(const Aws::String &value)
ImportInstanceLaunchSpecification & WithPlacement(const Placement &value)
void SetGroupNames(const Aws::Vector< Aws::String > &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
ImportInstanceLaunchSpecification & WithArchitecture(ArchitectureValues &&value)
ImportInstanceLaunchSpecification & AddGroupNames(const Aws::String &value)
ImportInstanceLaunchSpecification & WithArchitecture(const ArchitectureValues &value)
ImportInstanceLaunchSpecification & WithGroupIds(Aws::Vector< Aws::String > &&value)
ImportInstanceLaunchSpecification & WithAdditionalInfo(Aws::String &&value)
ImportInstanceLaunchSpecification & AddGroupIds(Aws::String &&value)
JSON (JavaScript Object Notation).
ImportInstanceLaunchSpecification & WithSubnetId(const char *value)