AWS SDK for C++  0.14.3
AWS SDK for C++
SpotFleetLaunchSpecification.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  SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithImageId(const Aws::String& value) { SetImageId(value); return *this;}
79 
83  inline SpotFleetLaunchSpecification& WithImageId(Aws::String&& value) { SetImageId(value); return *this;}
84 
88  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;}
114 
118  inline SpotFleetLaunchSpecification& WithKeyName(Aws::String&& value) { SetKeyName(value); return *this;}
119 
123  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithSecurityGroups(const Aws::Vector<GroupIdentifier>& value) { SetSecurityGroups(value); return *this;}
152 
158  inline SpotFleetLaunchSpecification& WithSecurityGroups(Aws::Vector<GroupIdentifier>&& value) { SetSecurityGroups(value); return *this;}
159 
165  inline SpotFleetLaunchSpecification& AddSecurityGroups(const GroupIdentifier& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
166 
172  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithUserData(const Aws::String& value) { SetUserData(value); return *this;}
198 
202  inline SpotFleetLaunchSpecification& WithUserData(Aws::String&& value) { SetUserData(value); return *this;}
203 
207  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithAddressingType(const Aws::String& value) { SetAddressingType(value); return *this;}
233 
237  inline SpotFleetLaunchSpecification& WithAddressingType(Aws::String&& value) { SetAddressingType(value); return *this;}
238 
242  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
263 
267  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithPlacement(const SpotPlacement& value) { SetPlacement(value); return *this;}
288 
292  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;}
318 
322  inline SpotFleetLaunchSpecification& WithKernelId(Aws::String&& value) { SetKernelId(value); return *this;}
323 
327  inline SpotFleetLaunchSpecification& 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 SpotFleetLaunchSpecification& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;}
353 
357  inline SpotFleetLaunchSpecification& WithRamdiskId(Aws::String&& value) { SetRamdiskId(value); return *this;}
358 
362  inline SpotFleetLaunchSpecification& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;}
363 
367  inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; }
368 
372  inline void SetBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
373 
377  inline void SetBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
378 
382  inline SpotFleetLaunchSpecification& WithBlockDeviceMappings(const Aws::Vector<BlockDeviceMapping>& value) { SetBlockDeviceMappings(value); return *this;}
383 
387  inline SpotFleetLaunchSpecification& WithBlockDeviceMappings(Aws::Vector<BlockDeviceMapping>&& value) { SetBlockDeviceMappings(value); return *this;}
388 
392  inline SpotFleetLaunchSpecification& AddBlockDeviceMappings(const BlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
393 
397  inline SpotFleetLaunchSpecification& AddBlockDeviceMappings(BlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
398 
402  inline const SpotFleetMonitoring& GetMonitoring() const{ return m_monitoring; }
403 
407  inline void SetMonitoring(const SpotFleetMonitoring& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
408 
412  inline void SetMonitoring(SpotFleetMonitoring&& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
413 
417  inline SpotFleetLaunchSpecification& WithMonitoring(const SpotFleetMonitoring& value) { SetMonitoring(value); return *this;}
418 
422  inline SpotFleetLaunchSpecification& WithMonitoring(SpotFleetMonitoring&& value) { SetMonitoring(value); return *this;}
423 
429  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
430 
436  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
437 
443  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
444 
450  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
451 
457  inline SpotFleetLaunchSpecification& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
458 
464  inline SpotFleetLaunchSpecification& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
465 
471  inline SpotFleetLaunchSpecification& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
472 
476  inline const Aws::Vector<InstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
477 
481  inline void SetNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
482 
486  inline void SetNetworkInterfaces(Aws::Vector<InstanceNetworkInterfaceSpecification>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
487 
491  inline SpotFleetLaunchSpecification& WithNetworkInterfaces(const Aws::Vector<InstanceNetworkInterfaceSpecification>& value) { SetNetworkInterfaces(value); return *this;}
492 
497 
501  inline SpotFleetLaunchSpecification& AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
502 
506  inline SpotFleetLaunchSpecification& AddNetworkInterfaces(InstanceNetworkInterfaceSpecification&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
507 
511  inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const{ return m_iamInstanceProfile; }
512 
516  inline void SetIamInstanceProfile(const IamInstanceProfileSpecification& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
517 
521  inline void SetIamInstanceProfile(IamInstanceProfileSpecification&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
522 
526  inline SpotFleetLaunchSpecification& WithIamInstanceProfile(const IamInstanceProfileSpecification& value) { SetIamInstanceProfile(value); return *this;}
527 
531  inline SpotFleetLaunchSpecification& WithIamInstanceProfile(IamInstanceProfileSpecification&& value) { SetIamInstanceProfile(value); return *this;}
532 
540  inline bool GetEbsOptimized() const{ return m_ebsOptimized; }
541 
549  inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
550 
558  inline SpotFleetLaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
559 
568  inline double GetWeightedCapacity() const{ return m_weightedCapacity; }
569 
578  inline void SetWeightedCapacity(double value) { m_weightedCapacityHasBeenSet = true; m_weightedCapacity = value; }
579 
588  inline SpotFleetLaunchSpecification& WithWeightedCapacity(double value) { SetWeightedCapacity(value); return *this;}
589 
596  inline const Aws::String& GetSpotPrice() const{ return m_spotPrice; }
597 
604  inline void SetSpotPrice(const Aws::String& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
605 
612  inline void SetSpotPrice(Aws::String&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
613 
620  inline void SetSpotPrice(const char* value) { m_spotPriceHasBeenSet = true; m_spotPrice.assign(value); }
621 
628  inline SpotFleetLaunchSpecification& WithSpotPrice(const Aws::String& value) { SetSpotPrice(value); return *this;}
629 
636  inline SpotFleetLaunchSpecification& WithSpotPrice(Aws::String&& value) { SetSpotPrice(value); return *this;}
637 
644  inline SpotFleetLaunchSpecification& WithSpotPrice(const char* value) { SetSpotPrice(value); return *this;}
645 
646  private:
647  Aws::String m_imageId;
648  bool m_imageIdHasBeenSet;
649  Aws::String m_keyName;
650  bool m_keyNameHasBeenSet;
651  Aws::Vector<GroupIdentifier> m_securityGroups;
652  bool m_securityGroupsHasBeenSet;
653  Aws::String m_userData;
654  bool m_userDataHasBeenSet;
655  Aws::String m_addressingType;
656  bool m_addressingTypeHasBeenSet;
657  InstanceType m_instanceType;
658  bool m_instanceTypeHasBeenSet;
659  SpotPlacement m_placement;
660  bool m_placementHasBeenSet;
661  Aws::String m_kernelId;
662  bool m_kernelIdHasBeenSet;
663  Aws::String m_ramdiskId;
664  bool m_ramdiskIdHasBeenSet;
665  Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
666  bool m_blockDeviceMappingsHasBeenSet;
667  SpotFleetMonitoring m_monitoring;
668  bool m_monitoringHasBeenSet;
669  Aws::String m_subnetId;
670  bool m_subnetIdHasBeenSet;
672  bool m_networkInterfacesHasBeenSet;
673  IamInstanceProfileSpecification m_iamInstanceProfile;
674  bool m_iamInstanceProfileHasBeenSet;
675  bool m_ebsOptimized;
676  bool m_ebsOptimizedHasBeenSet;
677  double m_weightedCapacity;
678  bool m_weightedCapacityHasBeenSet;
679  Aws::String m_spotPrice;
680  bool m_spotPriceHasBeenSet;
681  };
682 
683 } // namespace Model
684 } // namespace EC2
685 } // namespace Aws
SpotFleetLaunchSpecification & WithPlacement(SpotPlacement &&value)
SpotFleetLaunchSpecification & WithRamdiskId(const Aws::String &value)
SpotFleetLaunchSpecification & WithSpotPrice(Aws::String &&value)
SpotFleetLaunchSpecification & WithInstanceType(InstanceType &&value)
SpotFleetLaunchSpecification & WithPlacement(const SpotPlacement &value)
SpotFleetLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileSpecification &&value)
SpotFleetLaunchSpecification & WithMonitoring(const SpotFleetMonitoring &value)
SpotFleetLaunchSpecification & WithImageId(const char *value)
SpotFleetLaunchSpecification & WithKeyName(const char *value)
SpotFleetLaunchSpecification & WithRamdiskId(Aws::String &&value)
SpotFleetLaunchSpecification & WithSubnetId(Aws::String &&value)
SpotFleetLaunchSpecification & WithKeyName(Aws::String &&value)
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
SpotFleetLaunchSpecification & WithKernelId(const char *value)
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
SpotFleetLaunchSpecification & AddSecurityGroups(const GroupIdentifier &value)
SpotFleetLaunchSpecification & WithNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
SpotFleetLaunchSpecification & AddNetworkInterfaces(const InstanceNetworkInterfaceSpecification &value)
void SetSecurityGroups(const Aws::Vector< GroupIdentifier > &value)
void SetSecurityGroups(Aws::Vector< GroupIdentifier > &&value)
SpotFleetLaunchSpecification & WithAddressingType(const Aws::String &value)
SpotFleetLaunchSpecification & WithSubnetId(const Aws::String &value)
SpotFleetLaunchSpecification & WithKernelId(Aws::String &&value)
SpotFleetLaunchSpecification & WithAddressingType(const char *value)
SpotFleetLaunchSpecification & WithSpotPrice(const Aws::String &value)
SpotFleetLaunchSpecification & WithSecurityGroups(const Aws::Vector< GroupIdentifier > &value)
SpotFleetLaunchSpecification & WithUserData(const char *value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
SpotFleetLaunchSpecification & AddSecurityGroups(GroupIdentifier &&value)
SpotFleetLaunchSpecification & WithUserData(const Aws::String &value)
SpotFleetLaunchSpecification & WithSecurityGroups(Aws::Vector< GroupIdentifier > &&value)
void SetMonitoring(const SpotFleetMonitoring &value)
SpotFleetLaunchSpecification & WithInstanceType(const InstanceType &value)
SpotFleetLaunchSpecification & WithImageId(Aws::String &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
SpotFleetLaunchSpecification & WithSpotPrice(const char *value)
void SetIamInstanceProfile(const IamInstanceProfileSpecification &value)
SpotFleetLaunchSpecification & WithKernelId(const Aws::String &value)
SpotFleetLaunchSpecification & AddBlockDeviceMappings(const BlockDeviceMapping &value)
SpotFleetLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMapping &&value)
void SetBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
void SetIamInstanceProfile(IamInstanceProfileSpecification &&value)
SpotFleetLaunchSpecification & WithImageId(const Aws::String &value)
SpotFleetLaunchSpecification & AddNetworkInterfaces(InstanceNetworkInterfaceSpecification &&value)
SpotFleetLaunchSpecification & WithWeightedCapacity(double value)
SpotFleetLaunchSpecification & WithSubnetId(const char *value)
SpotFleetLaunchSpecification & WithEbsOptimized(bool value)
SpotFleetLaunchSpecification & WithAddressingType(Aws::String &&value)
void SetNetworkInterfaces(Aws::Vector< InstanceNetworkInterfaceSpecification > &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
SpotFleetLaunchSpecification & WithIamInstanceProfile(const IamInstanceProfileSpecification &value)
SpotFleetLaunchSpecification & WithKeyName(const Aws::String &value)
SpotFleetLaunchSpecification & WithUserData(Aws::String &&value)
SpotFleetLaunchSpecification & WithBlockDeviceMappings(Aws::Vector< BlockDeviceMapping > &&value)
SpotFleetLaunchSpecification & WithNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
SpotFleetLaunchSpecification & WithRamdiskId(const char *value)
void SetNetworkInterfaces(const Aws::Vector< InstanceNetworkInterfaceSpecification > &value)
SpotFleetLaunchSpecification & WithMonitoring(SpotFleetMonitoring &&value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
SpotFleetLaunchSpecification & WithBlockDeviceMappings(const Aws::Vector< BlockDeviceMapping > &value)
JSON (JavaScript Object Notation).