AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ScheduledInstancesLaunchSpecification.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/model/ScheduledInstancesIamInstanceProfile.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ec2/model/ScheduledInstancesMonitoring.h>
13#include <aws/ec2/model/ScheduledInstancesPlacement.h>
14#include <aws/ec2/model/ScheduledInstancesBlockDeviceMapping.h>
15#include <aws/ec2/model/ScheduledInstancesNetworkInterface.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Xml
23{
24 class XmlNode;
25} // namespace Xml
26} // namespace Utils
27namespace EC2
28{
29namespace Model
30{
31
41 {
42 public:
46
47 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
49
50
52
55 inline const Aws::Vector<ScheduledInstancesBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
56 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
57 template<typename BlockDeviceMappingsT = Aws::Vector<ScheduledInstancesBlockDeviceMapping>>
58 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
59 template<typename BlockDeviceMappingsT = Aws::Vector<ScheduledInstancesBlockDeviceMapping>>
60 ScheduledInstancesLaunchSpecification& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
61 template<typename BlockDeviceMappingsT = ScheduledInstancesBlockDeviceMapping>
62 ScheduledInstancesLaunchSpecification& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
64
66
73 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
74 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
75 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
76 inline ScheduledInstancesLaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
78
80
83 inline const ScheduledInstancesIamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
84 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
85 template<typename IamInstanceProfileT = ScheduledInstancesIamInstanceProfile>
86 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
87 template<typename IamInstanceProfileT = ScheduledInstancesIamInstanceProfile>
88 ScheduledInstancesLaunchSpecification& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
90
92
95 inline const Aws::String& GetImageId() const { return m_imageId; }
96 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
97 template<typename ImageIdT = Aws::String>
98 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
99 template<typename ImageIdT = Aws::String>
100 ScheduledInstancesLaunchSpecification& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
102
104
107 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
108 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
109 template<typename InstanceTypeT = Aws::String>
110 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
111 template<typename InstanceTypeT = Aws::String>
112 ScheduledInstancesLaunchSpecification& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
114
116
119 inline const Aws::String& GetKernelId() const { return m_kernelId; }
120 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
121 template<typename KernelIdT = Aws::String>
122 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
123 template<typename KernelIdT = Aws::String>
124 ScheduledInstancesLaunchSpecification& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
126
128
131 inline const Aws::String& GetKeyName() const { return m_keyName; }
132 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
133 template<typename KeyNameT = Aws::String>
134 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
135 template<typename KeyNameT = Aws::String>
136 ScheduledInstancesLaunchSpecification& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
138
140
143 inline const ScheduledInstancesMonitoring& GetMonitoring() const { return m_monitoring; }
144 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
145 template<typename MonitoringT = ScheduledInstancesMonitoring>
146 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
147 template<typename MonitoringT = ScheduledInstancesMonitoring>
148 ScheduledInstancesLaunchSpecification& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
150
152
155 inline const Aws::Vector<ScheduledInstancesNetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
156 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
157 template<typename NetworkInterfacesT = Aws::Vector<ScheduledInstancesNetworkInterface>>
158 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
159 template<typename NetworkInterfacesT = Aws::Vector<ScheduledInstancesNetworkInterface>>
160 ScheduledInstancesLaunchSpecification& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
161 template<typename NetworkInterfacesT = ScheduledInstancesNetworkInterface>
162 ScheduledInstancesLaunchSpecification& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
164
166
169 inline const ScheduledInstancesPlacement& GetPlacement() const { return m_placement; }
170 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
171 template<typename PlacementT = ScheduledInstancesPlacement>
172 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
173 template<typename PlacementT = ScheduledInstancesPlacement>
174 ScheduledInstancesLaunchSpecification& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
176
178
181 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
182 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
183 template<typename RamdiskIdT = Aws::String>
184 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
185 template<typename RamdiskIdT = Aws::String>
186 ScheduledInstancesLaunchSpecification& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
188
190
193 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
194 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
195 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
196 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
197 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
198 ScheduledInstancesLaunchSpecification& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
199 template<typename SecurityGroupIdsT = Aws::String>
200 ScheduledInstancesLaunchSpecification& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
202
204
207 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
208 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
209 template<typename SubnetIdT = Aws::String>
210 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
211 template<typename SubnetIdT = Aws::String>
212 ScheduledInstancesLaunchSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
214
216
219 inline const Aws::String& GetUserData() const { return m_userData; }
220 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
221 template<typename UserDataT = Aws::String>
222 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
223 template<typename UserDataT = Aws::String>
224 ScheduledInstancesLaunchSpecification& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
226 private:
227
229 bool m_blockDeviceMappingsHasBeenSet = false;
230
231 bool m_ebsOptimized{false};
232 bool m_ebsOptimizedHasBeenSet = false;
233
234 ScheduledInstancesIamInstanceProfile m_iamInstanceProfile;
235 bool m_iamInstanceProfileHasBeenSet = false;
236
237 Aws::String m_imageId;
238 bool m_imageIdHasBeenSet = false;
239
240 Aws::String m_instanceType;
241 bool m_instanceTypeHasBeenSet = false;
242
243 Aws::String m_kernelId;
244 bool m_kernelIdHasBeenSet = false;
245
246 Aws::String m_keyName;
247 bool m_keyNameHasBeenSet = false;
248
249 ScheduledInstancesMonitoring m_monitoring;
250 bool m_monitoringHasBeenSet = false;
251
253 bool m_networkInterfacesHasBeenSet = false;
254
255 ScheduledInstancesPlacement m_placement;
256 bool m_placementHasBeenSet = false;
257
258 Aws::String m_ramdiskId;
259 bool m_ramdiskIdHasBeenSet = false;
260
261 Aws::Vector<Aws::String> m_securityGroupIds;
262 bool m_securityGroupIdsHasBeenSet = false;
263
264 Aws::String m_subnetId;
265 bool m_subnetIdHasBeenSet = false;
266
267 Aws::String m_userData;
268 bool m_userDataHasBeenSet = false;
269 };
270
271} // namespace Model
272} // namespace EC2
273} // namespace Aws
const Aws::Vector< ScheduledInstancesNetworkInterface > & GetNetworkInterfaces() const
ScheduledInstancesLaunchSpecification & AddNetworkInterfaces(NetworkInterfacesT &&value)
ScheduledInstancesLaunchSpecification & WithNetworkInterfaces(NetworkInterfacesT &&value)
ScheduledInstancesLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
ScheduledInstancesLaunchSpecification & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ScheduledInstancesLaunchSpecification & WithRamdiskId(RamdiskIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ScheduledInstancesLaunchSpecification & WithImageId(ImageIdT &&value)
ScheduledInstancesLaunchSpecification & AddSecurityGroupIds(SecurityGroupIdsT &&value)
ScheduledInstancesLaunchSpecification & WithPlacement(PlacementT &&value)
ScheduledInstancesLaunchSpecification & WithInstanceType(InstanceTypeT &&value)
ScheduledInstancesLaunchSpecification & WithSecurityGroupIds(SecurityGroupIdsT &&value)
AWS_EC2_API ScheduledInstancesLaunchSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const ScheduledInstancesIamInstanceProfile & GetIamInstanceProfile() const
ScheduledInstancesLaunchSpecification & WithMonitoring(MonitoringT &&value)
ScheduledInstancesLaunchSpecification & WithUserData(UserDataT &&value)
const Aws::Vector< ScheduledInstancesBlockDeviceMapping > & GetBlockDeviceMappings() const
ScheduledInstancesLaunchSpecification & WithEbsOptimized(bool value)
ScheduledInstancesLaunchSpecification & WithKeyName(KeyNameT &&value)
ScheduledInstancesLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileT &&value)
AWS_EC2_API ScheduledInstancesLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstancesLaunchSpecification & WithSubnetId(SubnetIdT &&value)
ScheduledInstancesLaunchSpecification & WithKernelId(KernelIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream