AWS SDK for C++  0.12.9
AWS SDK for C++
RequestSpotLaunchSpecification.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>
26 
27 namespace Aws
28 {
29 namespace Utils
30 {
31 namespace Xml
32 {
33  class XmlNode;
34 } // namespace Xml
35 } // namespace Utils
36 namespace EC2
37 {
38 namespace Model
39 {
40 
45  {
46  public:
50 
51  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52  void OutputToStream(Aws::OStream& oStream, const char* location) const;
53 
57  inline const Aws::String& GetImageId() const{ return m_imageId; }
58 
62  inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
63 
67  inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
68 
72  inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); }
73 
77  inline RequestSpotLaunchSpecification& WithImageId(const Aws::String& value) { SetImageId(value); return *this;}
78 
82  inline RequestSpotLaunchSpecification& WithImageId(Aws::String&& value) { SetImageId(value); return *this;}
83 
87  inline RequestSpotLaunchSpecification& WithImageId(const char* value) { SetImageId(value); return *this;}
88 
92  inline const Aws::String& GetKeyName() const{ return m_keyName; }
93 
97  inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
98 
102  inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
103 
107  inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); }
108 
112  inline RequestSpotLaunchSpecification& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;}
113 
117  inline RequestSpotLaunchSpecification& WithKeyName(Aws::String&& value) { SetKeyName(value); return *this;}
118 
122  inline RequestSpotLaunchSpecification& WithKeyName(const char* value) { SetKeyName(value); return *this;}
123 
124 
125  inline const Aws::Vector<Aws::String>& GetSecurityGroups() const{ return m_securityGroups; }
126 
127 
128  inline void SetSecurityGroups(const Aws::Vector<Aws::String>& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
129 
130 
131  inline void SetSecurityGroups(Aws::Vector<Aws::String>&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
132 
133 
134  inline RequestSpotLaunchSpecification& WithSecurityGroups(const Aws::Vector<Aws::String>& value) { SetSecurityGroups(value); return *this;}
135 
136 
137  inline RequestSpotLaunchSpecification& WithSecurityGroups(Aws::Vector<Aws::String>&& value) { SetSecurityGroups(value); return *this;}
138 
139 
140  inline RequestSpotLaunchSpecification& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
141 
142 
143  inline RequestSpotLaunchSpecification& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
144 
145 
146  inline RequestSpotLaunchSpecification& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
147 
151  inline const Aws::String& GetUserData() const{ return m_userData; }
152 
156  inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; }
157 
161  inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = value; }
162 
166  inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); }
167 
171  inline RequestSpotLaunchSpecification& WithUserData(const Aws::String& value) { SetUserData(value); return *this;}
172 
176  inline RequestSpotLaunchSpecification& WithUserData(Aws::String&& value) { SetUserData(value); return *this;}
177 
181  inline RequestSpotLaunchSpecification& WithUserData(const char* value) { SetUserData(value); return *this;}
182 
186  inline const Aws::String& GetAddressingType() const{ return m_addressingType; }
187 
191  inline void SetAddressingType(const Aws::String& value) { m_addressingTypeHasBeenSet = true; m_addressingType = value; }
192 
196  inline void SetAddressingType(Aws::String&& value) { m_addressingTypeHasBeenSet = true; m_addressingType = value; }
197 
201  inline void SetAddressingType(const char* value) { m_addressingTypeHasBeenSet = true; m_addressingType.assign(value); }
202 
206  inline RequestSpotLaunchSpecification& WithAddressingType(const Aws::String& value) { SetAddressingType(value); return *this;}
207 
211  inline RequestSpotLaunchSpecification& WithAddressingType(Aws::String&& value) { SetAddressingType(value); return *this;}
212 
216  inline RequestSpotLaunchSpecification& WithAddressingType(const char* value) { SetAddressingType(value); return *this;}
217 
221  inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
222 
226  inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
227 
231  inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
232 
236  inline RequestSpotLaunchSpecification& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
237 
241  inline RequestSpotLaunchSpecification& WithInstanceType(InstanceType&& value) { SetInstanceType(value); return *this;}
242 
246  inline const SpotPlacement& GetPlacement() const{ return m_placement; }
247 
251  inline void SetPlacement(const SpotPlacement& value) { m_placementHasBeenSet = true; m_placement = value; }
252 
256  inline void SetPlacement(SpotPlacement&& value) { m_placementHasBeenSet = true; m_placement = value; }
257 
261  inline RequestSpotLaunchSpecification& WithPlacement(const SpotPlacement& value) { SetPlacement(value); return *this;}
262 
266  inline RequestSpotLaunchSpecification& WithPlacement(SpotPlacement&& value) { SetPlacement(value); return *this;}
267 
271  inline const Aws::String& GetKernelId() const{ return m_kernelId; }
272 
276  inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
277 
281  inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
282 
286  inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); }
287 
291  inline RequestSpotLaunchSpecification& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;}
292 
296  inline RequestSpotLaunchSpecification& WithKernelId(Aws::String&& value) { SetKernelId(value); return *this;}
297 
301  inline RequestSpotLaunchSpecification& WithKernelId(const char* value) { SetKernelId(value); return *this;}
302 
306  inline const Aws::String& GetRamdiskId() const{ return m_ramdiskId; }
307 
311  inline void SetRamdiskId(const Aws::String& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
312 
316  inline void SetRamdiskId(Aws::String&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; }
317 
321  inline void SetRamdiskId(const char* value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId.assign(value); }
322 
326  inline RequestSpotLaunchSpecification& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;}
327 
331  inline RequestSpotLaunchSpecification& WithRamdiskId(Aws::String&& value) { SetRamdiskId(value); return *this;}
332 
336  inline RequestSpotLaunchSpecification& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;}
337 
343  inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; }
344 
350  inline void SetBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
351 
357  inline void SetBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
358 
364  inline RequestSpotLaunchSpecification& WithBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { SetBlockDeviceMappings(value); return *this;}
365 
371  inline RequestSpotLaunchSpecification& WithBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { SetBlockDeviceMappings(value); return *this;}
372 
378  inline RequestSpotLaunchSpecification& AddBlockDeviceMappings(const BlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
379 
385  inline RequestSpotLaunchSpecification& AddBlockDeviceMappings(BlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
386 
390  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
391 
395  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
396 
400  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
401 
405  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
406 
410  inline RequestSpotLaunchSpecification& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
411 
415  inline RequestSpotLaunchSpecification& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
416 
420  inline RequestSpotLaunchSpecification& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
421 
425  inline const Aws::Vector<InstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
426 
430  inline void SetNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
431 
435  inline void SetNetworkInterfaces(Aws::Vector<InstanceNetworkInterfaceSpecification>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
436 
440  inline RequestSpotLaunchSpecification& WithNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { SetNetworkInterfaces(value); return *this;}
441 
446 
450  inline RequestSpotLaunchSpecification& AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
451 
455  inline RequestSpotLaunchSpecification& AddNetworkInterfaces(InstanceNetworkInterfaceSpecification&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
456 
460  inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const{ return m_iamInstanceProfile; }
461 
465  inline void SetIamInstanceProfile(const IamInstanceProfileSpecification& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
466 
470  inline void SetIamInstanceProfile(IamInstanceProfileSpecification&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
471 
475  inline RequestSpotLaunchSpecification& WithIamInstanceProfile(const IamInstanceProfileSpecification& value) { SetIamInstanceProfile(value); return *this;}
476 
480  inline RequestSpotLaunchSpecification& WithIamInstanceProfile(IamInstanceProfileSpecification&& value) { SetIamInstanceProfile(value); return *this;}
481 
489  inline bool GetEbsOptimized() const{ return m_ebsOptimized; }
490 
498  inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
499 
507  inline RequestSpotLaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
508 
509 
510  inline const RunInstancesMonitoringEnabled& GetMonitoring() const{ return m_monitoring; }
511 
512 
513  inline void SetMonitoring(const RunInstancesMonitoringEnabled& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
514 
515 
516  inline void SetMonitoring(RunInstancesMonitoringEnabled&& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
517 
518 
519  inline RequestSpotLaunchSpecification& WithMonitoring(const RunInstancesMonitoringEnabled& value) { SetMonitoring(value); return *this;}
520 
521 
522  inline RequestSpotLaunchSpecification& WithMonitoring(RunInstancesMonitoringEnabled&& value) { SetMonitoring(value); return *this;}
523 
524 
525  inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; }
526 
527 
528  inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
529 
530 
531  inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
532 
533 
534  inline RequestSpotLaunchSpecification& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;}
535 
536 
537  inline RequestSpotLaunchSpecification& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(value); return *this;}
538 
539 
540  inline RequestSpotLaunchSpecification& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
541 
542 
543  inline RequestSpotLaunchSpecification& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
544 
545 
546  inline RequestSpotLaunchSpecification& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
547 
548  private:
549  Aws::String m_imageId;
550  bool m_imageIdHasBeenSet;
551  Aws::String m_keyName;
552  bool m_keyNameHasBeenSet;
553  Aws::Vector<Aws::String> m_securityGroups;
554  bool m_securityGroupsHasBeenSet;
555  Aws::String m_userData;
556  bool m_userDataHasBeenSet;
557  Aws::String m_addressingType;
558  bool m_addressingTypeHasBeenSet;
559  InstanceType m_instanceType;
560  bool m_instanceTypeHasBeenSet;
561  SpotPlacement m_placement;
562  bool m_placementHasBeenSet;
563  Aws::String m_kernelId;
564  bool m_kernelIdHasBeenSet;
565  Aws::String m_ramdiskId;
566  bool m_ramdiskIdHasBeenSet;
567  Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
568  bool m_blockDeviceMappingsHasBeenSet;
569  Aws::String m_subnetId;
570  bool m_subnetIdHasBeenSet;
572  bool m_networkInterfacesHasBeenSet;
573  IamInstanceProfileSpecification m_iamInstanceProfile;
574  bool m_iamInstanceProfileHasBeenSet;
575  bool m_ebsOptimized;
576  bool m_ebsOptimizedHasBeenSet;
577  RunInstancesMonitoringEnabled m_monitoring;
578  bool m_monitoringHasBeenSet;
579  Aws::Vector<Aws::String> m_securityGroupIds;
580  bool m_securityGroupIdsHasBeenSet;
581  };
582 
583 } // namespace Model
584 } // namespace EC2
585 } // namespace Aws
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
RequestSpotLaunchSpecification & AddSecurityGroups(const char *value)
RequestSpotLaunchSpecification & WithSubnetId(Aws::String &&value)
RequestSpotLaunchSpecification & AddSecurityGroups(const Aws::String &value)
RequestSpotLaunchSpecification & WithPlacement(const SpotPlacement &value)
RequestSpotLaunchSpecification & WithIamInstanceProfile(const IamInstanceProfileSpecification &value)
RequestSpotLaunchSpecification & WithKeyName(const Aws::String &value)
RequestSpotLaunchSpecification & WithSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetSecurityGroupIds(const Aws::Vector< Aws::String > &value)
RequestSpotLaunchSpecification & WithRamdiskId(const char *value)
RequestSpotLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileSpecification &&value)
RequestSpotLaunchSpecification & WithSecurityGroupIds(Aws::Vector< Aws::String > &&value)
RequestSpotLaunchSpecification & WithAddressingType(const Aws::String &value)
void SetBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
RequestSpotLaunchSpecification & WithBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
RequestSpotLaunchSpecification & WithRamdiskId(Aws::String &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
RequestSpotLaunchSpecification & AddSecurityGroupIds(const Aws::String &value)
void SetIamInstanceProfile(IamInstanceProfileSpecification &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
void SetSecurityGroups(const Aws::Vector< Aws::String > &value)
RequestSpotLaunchSpecification & WithPlacement(SpotPlacement &&value)
RequestSpotLaunchSpecification & WithNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
RequestSpotLaunchSpecification & WithUserData(const char *value)
void SetMonitoring(RunInstancesMonitoringEnabled &&value)
RequestSpotLaunchSpecification & WithMonitoring(const RunInstancesMonitoringEnabled &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
RequestSpotLaunchSpecification & AddSecurityGroups(Aws::String &&value)
RequestSpotLaunchSpecification & WithAddressingType(Aws::String &&value)
RequestSpotLaunchSpecification & WithImageId(const Aws::String &value)
RequestSpotLaunchSpecification & WithMonitoring(RunInstancesMonitoringEnabled &&value)
RequestSpotLaunchSpecification & WithKernelId(const char *value)
void SetBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
void SetNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
RequestSpotLaunchSpecification & WithImageId(const char *value)
void SetSecurityGroups(Aws::Vector< Aws::String > &&value)
RequestSpotLaunchSpecification & WithKernelId(Aws::String &&value)
void SetSecurityGroupIds(Aws::Vector< Aws::String > &&value)
RequestSpotLaunchSpecification & AddBlockDeviceMappings(const BlockDeviceMapping &value)
RequestSpotLaunchSpecification & AddSecurityGroupIds(const char *value)
RequestSpotLaunchSpecification & WithKeyName(Aws::String &&value)
RequestSpotLaunchSpecification & WithBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
RequestSpotLaunchSpecification & WithSubnetId(const char *value)
RequestSpotLaunchSpecification & WithEbsOptimized(bool value)
RequestSpotLaunchSpecification & WithNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
RequestSpotLaunchSpecification & WithSecurityGroups(const Aws::Vector< Aws::String > &value)
RequestSpotLaunchSpecification & WithInstanceType(InstanceType &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
RequestSpotLaunchSpecification & WithAddressingType(const char *value)
RequestSpotLaunchSpecification & WithSubnetId(const Aws::String &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
void SetIamInstanceProfile(const IamInstanceProfileSpecification &value)
RequestSpotLaunchSpecification & AddSecurityGroupIds(Aws::String &&value)
RequestSpotLaunchSpecification & WithKernelId(const Aws::String &value)
RequestSpotLaunchSpecification & WithUserData(const Aws::String &value)
void SetMonitoring(const RunInstancesMonitoringEnabled &value)
RequestSpotLaunchSpecification & WithRamdiskId(const Aws::String &value)
RequestSpotLaunchSpecification & WithInstanceType(const InstanceType &value)
RequestSpotLaunchSpecification & WithImageId(Aws::String &&value)
RequestSpotLaunchSpecification & WithKeyName(const char *value)
RequestSpotLaunchSpecification & AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification &value)
RequestSpotLaunchSpecification & AddNetworkInterfaces(InstanceNetworkInterfaceSpecification &&value)
JSON (JavaScript Object Notation).
RequestSpotLaunchSpecification & WithUserData(Aws::String &&value)
RequestSpotLaunchSpecification & WithSecurityGroupIds(const Aws::Vector< Aws::String > &value)
RequestSpotLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMapping &&value)
const RunInstancesMonitoringEnabled & GetMonitoring() const