AWS SDK for C++  0.12.9
AWS SDK for C++
LaunchSpecification.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>
27 
28 namespace Aws
29 {
30 namespace Utils
31 {
32 namespace Xml
33 {
34  class XmlNode;
35 } // namespace Xml
36 } // namespace Utils
37 namespace EC2
38 {
39 namespace Model
40 {
41 
46  {
47  public:
50  LaunchSpecification& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
51 
52  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
53  void OutputToStream(Aws::OStream& oStream, const char* location) const;
54 
58  inline const Aws::String& GetImageId() const{ return m_imageId; }
59 
63  inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
64 
68  inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
69 
73  inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); }
74 
78  inline LaunchSpecification& WithImageId(const Aws::String& value) { SetImageId(value); return *this;}
79 
83  inline LaunchSpecification& WithImageId(Aws::String&& value) { SetImageId(value); return *this;}
84 
88  inline LaunchSpecification& WithImageId(const char* value) { SetImageId(value); return *this;}
89 
93  inline const Aws::String& GetKeyName() const{ return m_keyName; }
94 
98  inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
99 
103  inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
104 
108  inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); }
109 
113  inline LaunchSpecification& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;}
114 
118  inline LaunchSpecification& WithKeyName(Aws::String&& value) { SetKeyName(value); return *this;}
119 
123  inline LaunchSpecification& WithKeyName(const char* value) { SetKeyName(value); return *this;}
124 
130  inline const Aws::Vector<GroupIdentifier>& GetSecurityGroups() const{ return m_securityGroups; }
131 
137  inline void SetSecurityGroups(const Aws::Vector<GroupIdentifier>& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
138 
144  inline void SetSecurityGroups(Aws::Vector<GroupIdentifier>&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
145 
151  inline LaunchSpecification& WithSecurityGroups(const Aws::Vector<GroupIdentifier>& value) { SetSecurityGroups(value); return *this;}
152 
158  inline LaunchSpecification& WithSecurityGroups(Aws::Vector<GroupIdentifier>&& value) { SetSecurityGroups(value); return *this;}
159 
165  inline LaunchSpecification& AddSecurityGroups(const GroupIdentifier& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
166 
172  inline LaunchSpecification& AddSecurityGroups(GroupIdentifier&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
173 
177  inline const Aws::String& GetUserData() const{ return m_userData; }
178 
182  inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; }
183 
187  inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = value; }
188 
192  inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); }
193 
197  inline LaunchSpecification& WithUserData(const Aws::String& value) { SetUserData(value); return *this;}
198 
202  inline LaunchSpecification& WithUserData(Aws::String&& value) { SetUserData(value); return *this;}
203 
207  inline LaunchSpecification& WithUserData(const char* value) { SetUserData(value); return *this;}
208 
212  inline const Aws::String& GetAddressingType() const{ return m_addressingType; }
213 
217  inline void SetAddressingType(const Aws::String& value) { m_addressingTypeHasBeenSet = true; m_addressingType = value; }
218 
222  inline void SetAddressingType(Aws::String&& value) { m_addressingTypeHasBeenSet = true; m_addressingType = value; }
223 
227  inline void SetAddressingType(const char* value) { m_addressingTypeHasBeenSet = true; m_addressingType.assign(value); }
228 
232  inline LaunchSpecification& WithAddressingType(const Aws::String& value) { SetAddressingType(value); return *this;}
233 
237  inline LaunchSpecification& WithAddressingType(Aws::String&& value) { SetAddressingType(value); return *this;}
238 
242  inline LaunchSpecification& WithAddressingType(const char* value) { SetAddressingType(value); return *this;}
243 
247  inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
248 
252  inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
253 
257  inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
258 
262  inline LaunchSpecification& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
263 
267  inline LaunchSpecification& WithInstanceType(InstanceType&& value) { SetInstanceType(value); return *this;}
268 
272  inline const SpotPlacement& GetPlacement() const{ return m_placement; }
273 
277  inline void SetPlacement(const SpotPlacement& value) { m_placementHasBeenSet = true; m_placement = value; }
278 
282  inline void SetPlacement(SpotPlacement&& value) { m_placementHasBeenSet = true; m_placement = value; }
283 
287  inline LaunchSpecification& WithPlacement(const SpotPlacement& value) { SetPlacement(value); return *this;}
288 
292  inline LaunchSpecification& WithPlacement(SpotPlacement&& value) { SetPlacement(value); return *this;}
293 
297  inline const Aws::String& GetKernelId() const{ return m_kernelId; }
298 
302  inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
303 
307  inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
308 
312  inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); }
313 
317  inline LaunchSpecification& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;}
318 
322  inline LaunchSpecification& WithKernelId(Aws::String&& value) { SetKernelId(value); return *this;}
323 
327  inline LaunchSpecification& WithKernelId(const char* value) { SetKernelId(value); return *this;}
328 
332  inline const Aws::String& GetRamdiskId() const{ return m_ramdiskId; }
333 
337  inline void SetRamdiskId(const Aws::String& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
338 
342  inline void SetRamdiskId(Aws::String&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
343 
347  inline void SetRamdiskId(const char* value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId.assign(value); }
348 
352  inline LaunchSpecification& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;}
353 
357  inline LaunchSpecification& WithRamdiskId(Aws::String&& value) { SetRamdiskId(value); return *this;}
358 
362  inline LaunchSpecification& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;}
363 
369  inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; }
370 
376  inline void SetBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
377 
383  inline void SetBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
384 
390  inline LaunchSpecification& WithBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { SetBlockDeviceMappings(value); return *this;}
391 
397  inline LaunchSpecification& WithBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { SetBlockDeviceMappings(value); return *this;}
398 
404  inline LaunchSpecification& AddBlockDeviceMappings(const BlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
405 
411  inline LaunchSpecification& AddBlockDeviceMappings(BlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
412 
416  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
417 
421  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
422 
426  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
427 
431  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
432 
436  inline LaunchSpecification& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
437 
441  inline LaunchSpecification& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
442 
446  inline LaunchSpecification& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
447 
451  inline const Aws::Vector<InstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
452 
456  inline void SetNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
457 
461  inline void SetNetworkInterfaces(Aws::Vector<InstanceNetworkInterfaceSpecification>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
462 
466  inline LaunchSpecification& WithNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { SetNetworkInterfaces(value); return *this;}
467 
471  inline LaunchSpecification& WithNetworkInterfaces(Aws::Vector<InstanceNetworkInterfaceSpecification>&& value) { SetNetworkInterfaces(value); return *this;}
472 
476  inline LaunchSpecification& AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
477 
481  inline LaunchSpecification& AddNetworkInterfaces(InstanceNetworkInterfaceSpecification&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
482 
486  inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const{ return m_iamInstanceProfile; }
487 
491  inline void SetIamInstanceProfile(const IamInstanceProfileSpecification& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
492 
496  inline void SetIamInstanceProfile(IamInstanceProfileSpecification&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
497 
501  inline LaunchSpecification& WithIamInstanceProfile(const IamInstanceProfileSpecification& value) { SetIamInstanceProfile(value); return *this;}
502 
506  inline LaunchSpecification& WithIamInstanceProfile(IamInstanceProfileSpecification&& value) { SetIamInstanceProfile(value); return *this;}
507 
515  inline bool GetEbsOptimized() const{ return m_ebsOptimized; }
516 
524  inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
525 
533  inline LaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
534 
535 
536  inline const RunInstancesMonitoringEnabled& GetMonitoring() const{ return m_monitoring; }
537 
538 
539  inline void SetMonitoring(const RunInstancesMonitoringEnabled& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
540 
541 
542  inline void SetMonitoring(RunInstancesMonitoringEnabled&& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
543 
544 
545  inline LaunchSpecification& WithMonitoring(const RunInstancesMonitoringEnabled& value) { SetMonitoring(value); return *this;}
546 
547 
548  inline LaunchSpecification& WithMonitoring(RunInstancesMonitoringEnabled&& value) { SetMonitoring(value); return *this;}
549 
550  private:
551  Aws::String m_imageId;
552  bool m_imageIdHasBeenSet;
553  Aws::String m_keyName;
554  bool m_keyNameHasBeenSet;
555  Aws::Vector<GroupIdentifier> m_securityGroups;
556  bool m_securityGroupsHasBeenSet;
557  Aws::String m_userData;
558  bool m_userDataHasBeenSet;
559  Aws::String m_addressingType;
560  bool m_addressingTypeHasBeenSet;
561  InstanceType m_instanceType;
562  bool m_instanceTypeHasBeenSet;
563  SpotPlacement m_placement;
564  bool m_placementHasBeenSet;
565  Aws::String m_kernelId;
566  bool m_kernelIdHasBeenSet;
567  Aws::String m_ramdiskId;
568  bool m_ramdiskIdHasBeenSet;
569  Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
570  bool m_blockDeviceMappingsHasBeenSet;
571  Aws::String m_subnetId;
572  bool m_subnetIdHasBeenSet;
574  bool m_networkInterfacesHasBeenSet;
575  IamInstanceProfileSpecification m_iamInstanceProfile;
576  bool m_iamInstanceProfileHasBeenSet;
577  bool m_ebsOptimized;
578  bool m_ebsOptimizedHasBeenSet;
579  RunInstancesMonitoringEnabled m_monitoring;
580  bool m_monitoringHasBeenSet;
581  };
582 
583 } // namespace Model
584 } // namespace EC2
585 } // namespace Aws
LaunchSpecification & WithImageId(Aws::String &&value)
void SetImageId(Aws::String &&value)
LaunchSpecification & WithRamdiskId(const Aws::String &value)
LaunchSpecification & WithAddressingType(const char *value)
void SetMonitoring(const RunInstancesMonitoringEnabled &value)
LaunchSpecification & WithBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
LaunchSpecification & WithKeyName(const char *value)
void SetSecurityGroups(const Aws::Vector< GroupIdentifier > &value)
LaunchSpecification & WithUserData(Aws::String &&value)
LaunchSpecification & WithIamInstanceProfile(IamInstanceProfileSpecification &&value)
LaunchSpecification & AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification &value)
LaunchSpecification & WithUserData(const Aws::String &value)
LaunchSpecification & WithSubnetId(const char *value)
LaunchSpecification & WithKernelId(Aws::String &&value)
void SetAddressingType(const Aws::String &value)
const Aws::String & GetImageId() const
LaunchSpecification & WithSubnetId(Aws::String &&value)
LaunchSpecification & WithNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
LaunchSpecification & WithInstanceType(const InstanceType &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
const Aws::String & GetUserData() const
void SetIamInstanceProfile(IamInstanceProfileSpecification &&value)
LaunchSpecification & WithSubnetId(const Aws::String &value)
LaunchSpecification & WithPlacement(SpotPlacement &&value)
LaunchSpecification & WithUserData(const char *value)
void SetKernelId(const Aws::String &value)
LaunchSpecification & WithMonitoring(RunInstancesMonitoringEnabled &&value)
void SetSubnetId(const Aws::String &value)
const SpotPlacement & GetPlacement() const
LaunchSpecification & WithSecurityGroups(const Aws::Vector< GroupIdentifier > &value)
LaunchSpecification & WithEbsOptimized(bool value)
const Aws::String & GetSubnetId() const
const Aws::String & GetKernelId() const
LaunchSpecification & WithAddressingType(const Aws::String &value)
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
void SetBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
LaunchSpecification & WithSecurityGroups(Aws::Vector< GroupIdentifier > &&value)
void SetRamdiskId(Aws::String &&value)
LaunchSpecification & WithKeyName(const Aws::String &value)
LaunchSpecification & AddBlockDeviceMappings(BlockDeviceMapping &&value)
void SetPlacement(const SpotPlacement &value)
LaunchSpecification & AddSecurityGroups(const GroupIdentifier &value)
void SetSecurityGroups(Aws::Vector< GroupIdentifier > &&value)
void SetMonitoring(RunInstancesMonitoringEnabled &&value)
void SetNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
LaunchSpecification & WithBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
LaunchSpecification & WithAddressingType(Aws::String &&value)
LaunchSpecification & WithInstanceType(InstanceType &&value)
LaunchSpecification & WithIamInstanceProfile(const IamInstanceProfileSpecification &value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
void SetPlacement(SpotPlacement &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
void SetInstanceType(InstanceType &&value)
LaunchSpecification & WithKernelId(const Aws::String &value)
void SetBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
LaunchSpecification & WithRamdiskId(const char *value)
const RunInstancesMonitoringEnabled & GetMonitoring() const
void SetUserData(const Aws::String &value)
LaunchSpecification & WithKeyName(Aws::String &&value)
LaunchSpecification & WithPlacement(const SpotPlacement &value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
void SetRamdiskId(const Aws::String &value)
const Aws::String & GetKeyName() const
LaunchSpecification & AddNetworkInterfaces(InstanceNetworkInterfaceSpecification &&value)
const Aws::String & GetRamdiskId() const
LaunchSpecification & WithKernelId(const char *value)
const InstanceType & GetInstanceType() const
LaunchSpecification & WithImageId(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetKeyName(const Aws::String &value)
LaunchSpecification & AddBlockDeviceMappings(const BlockDeviceMapping &value)
const Aws::String & GetAddressingType() const
LaunchSpecification & WithRamdiskId(Aws::String &&value)
void SetIamInstanceProfile(const IamInstanceProfileSpecification &value)
void SetImageId(const Aws::String &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
LaunchSpecification & AddSecurityGroups(GroupIdentifier &&value)
void SetInstanceType(const InstanceType &value)
LaunchSpecification & WithImageId(const Aws::String &value)
LaunchSpecification & WithMonitoring(const RunInstancesMonitoringEnabled &value)
void SetNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
LaunchSpecification & WithNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
JSON (JavaScript Object Notation).
void SetAddressingType(Aws::String &&value)