AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateLaunchConfigurationRequest.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/AutoScalingRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/autoscaling/model/InstanceMonitoring.h>
12#include <aws/autoscaling/model/InstanceMetadataOptions.h>
13#include <aws/autoscaling/model/BlockDeviceMapping.h>
14#include <utility>
15
16namespace Aws
17{
18namespace AutoScaling
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_AUTOSCALING_API CreateLaunchConfigurationRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateLaunchConfiguration"; }
35
36 AWS_AUTOSCALING_API Aws::String SerializePayload() const override;
37
38 protected:
39 AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
40
41 public:
42
44
48 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
49 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
50 template<typename LaunchConfigurationNameT = Aws::String>
51 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
52 template<typename LaunchConfigurationNameT = Aws::String>
53 CreateLaunchConfigurationRequest& WithLaunchConfigurationName(LaunchConfigurationNameT&& value) { SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value)); return *this;}
55
57
64 inline const Aws::String& GetImageId() const { return m_imageId; }
65 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
66 template<typename ImageIdT = Aws::String>
67 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
68 template<typename ImageIdT = Aws::String>
69 CreateLaunchConfigurationRequest& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
71
73
79 inline const Aws::String& GetKeyName() const { return m_keyName; }
80 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
81 template<typename KeyNameT = Aws::String>
82 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
83 template<typename KeyNameT = Aws::String>
84 CreateLaunchConfigurationRequest& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
86
88
95 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
96 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
97 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
98 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
99 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
100 CreateLaunchConfigurationRequest& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
101 template<typename SecurityGroupsT = Aws::String>
102 CreateLaunchConfigurationRequest& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
104
106
109 inline const Aws::String& GetClassicLinkVPCId() const { return m_classicLinkVPCId; }
110 inline bool ClassicLinkVPCIdHasBeenSet() const { return m_classicLinkVPCIdHasBeenSet; }
111 template<typename ClassicLinkVPCIdT = Aws::String>
112 void SetClassicLinkVPCId(ClassicLinkVPCIdT&& value) { m_classicLinkVPCIdHasBeenSet = true; m_classicLinkVPCId = std::forward<ClassicLinkVPCIdT>(value); }
113 template<typename ClassicLinkVPCIdT = Aws::String>
114 CreateLaunchConfigurationRequest& WithClassicLinkVPCId(ClassicLinkVPCIdT&& value) { SetClassicLinkVPCId(std::forward<ClassicLinkVPCIdT>(value)); return *this;}
116
118
121 inline const Aws::Vector<Aws::String>& GetClassicLinkVPCSecurityGroups() const { return m_classicLinkVPCSecurityGroups; }
122 inline bool ClassicLinkVPCSecurityGroupsHasBeenSet() const { return m_classicLinkVPCSecurityGroupsHasBeenSet; }
123 template<typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
124 void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { m_classicLinkVPCSecurityGroupsHasBeenSet = true; m_classicLinkVPCSecurityGroups = std::forward<ClassicLinkVPCSecurityGroupsT>(value); }
125 template<typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
126 CreateLaunchConfigurationRequest& WithClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { SetClassicLinkVPCSecurityGroups(std::forward<ClassicLinkVPCSecurityGroupsT>(value)); return *this;}
127 template<typename ClassicLinkVPCSecurityGroupsT = Aws::String>
128 CreateLaunchConfigurationRequest& AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { m_classicLinkVPCSecurityGroupsHasBeenSet = true; m_classicLinkVPCSecurityGroups.emplace_back(std::forward<ClassicLinkVPCSecurityGroupsT>(value)); return *this; }
130
132
143 inline const Aws::String& GetUserData() const { return m_userData; }
144 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
145 template<typename UserDataT = Aws::String>
146 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
147 template<typename UserDataT = Aws::String>
148 CreateLaunchConfigurationRequest& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
150
152
161 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
162 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
163 template<typename InstanceIdT = Aws::String>
164 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
165 template<typename InstanceIdT = Aws::String>
166 CreateLaunchConfigurationRequest& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
168
170
177 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
178 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
179 template<typename InstanceTypeT = Aws::String>
180 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
181 template<typename InstanceTypeT = Aws::String>
182 CreateLaunchConfigurationRequest& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
184
186
192 inline const Aws::String& GetKernelId() const { return m_kernelId; }
193 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
194 template<typename KernelIdT = Aws::String>
195 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
196 template<typename KernelIdT = Aws::String>
197 CreateLaunchConfigurationRequest& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
199
201
207 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
208 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
209 template<typename RamdiskIdT = Aws::String>
210 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
211 template<typename RamdiskIdT = Aws::String>
212 CreateLaunchConfigurationRequest& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
214
216
223 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
224 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
225 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
226 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
227 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
228 CreateLaunchConfigurationRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
229 template<typename BlockDeviceMappingsT = BlockDeviceMapping>
230 CreateLaunchConfigurationRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
232
234
245 inline const InstanceMonitoring& GetInstanceMonitoring() const { return m_instanceMonitoring; }
246 inline bool InstanceMonitoringHasBeenSet() const { return m_instanceMonitoringHasBeenSet; }
247 template<typename InstanceMonitoringT = InstanceMonitoring>
248 void SetInstanceMonitoring(InstanceMonitoringT&& value) { m_instanceMonitoringHasBeenSet = true; m_instanceMonitoring = std::forward<InstanceMonitoringT>(value); }
249 template<typename InstanceMonitoringT = InstanceMonitoring>
250 CreateLaunchConfigurationRequest& WithInstanceMonitoring(InstanceMonitoringT&& value) { SetInstanceMonitoring(std::forward<InstanceMonitoringT>(value)); return *this;}
252
254
266 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
267 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
268 template<typename SpotPriceT = Aws::String>
269 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = std::forward<SpotPriceT>(value); }
270 template<typename SpotPriceT = Aws::String>
271 CreateLaunchConfigurationRequest& WithSpotPrice(SpotPriceT&& value) { SetSpotPrice(std::forward<SpotPriceT>(value)); return *this;}
273
275
283 inline const Aws::String& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
284 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
285 template<typename IamInstanceProfileT = Aws::String>
286 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
287 template<typename IamInstanceProfileT = Aws::String>
288 CreateLaunchConfigurationRequest& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
290
292
304 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
305 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
306 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
307 inline CreateLaunchConfigurationRequest& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
309
311
326 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
327 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
328 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
331
333
344 inline const Aws::String& GetPlacementTenancy() const { return m_placementTenancy; }
345 inline bool PlacementTenancyHasBeenSet() const { return m_placementTenancyHasBeenSet; }
346 template<typename PlacementTenancyT = Aws::String>
347 void SetPlacementTenancy(PlacementTenancyT&& value) { m_placementTenancyHasBeenSet = true; m_placementTenancy = std::forward<PlacementTenancyT>(value); }
348 template<typename PlacementTenancyT = Aws::String>
349 CreateLaunchConfigurationRequest& WithPlacementTenancy(PlacementTenancyT&& value) { SetPlacementTenancy(std::forward<PlacementTenancyT>(value)); return *this;}
351
353
359 inline const InstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
360 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
361 template<typename MetadataOptionsT = InstanceMetadataOptions>
362 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
363 template<typename MetadataOptionsT = InstanceMetadataOptions>
364 CreateLaunchConfigurationRequest& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
366 private:
367
368 Aws::String m_launchConfigurationName;
369 bool m_launchConfigurationNameHasBeenSet = false;
370
371 Aws::String m_imageId;
372 bool m_imageIdHasBeenSet = false;
373
374 Aws::String m_keyName;
375 bool m_keyNameHasBeenSet = false;
376
377 Aws::Vector<Aws::String> m_securityGroups;
378 bool m_securityGroupsHasBeenSet = false;
379
380 Aws::String m_classicLinkVPCId;
381 bool m_classicLinkVPCIdHasBeenSet = false;
382
383 Aws::Vector<Aws::String> m_classicLinkVPCSecurityGroups;
384 bool m_classicLinkVPCSecurityGroupsHasBeenSet = false;
385
386 Aws::String m_userData;
387 bool m_userDataHasBeenSet = false;
388
389 Aws::String m_instanceId;
390 bool m_instanceIdHasBeenSet = false;
391
392 Aws::String m_instanceType;
393 bool m_instanceTypeHasBeenSet = false;
394
395 Aws::String m_kernelId;
396 bool m_kernelIdHasBeenSet = false;
397
398 Aws::String m_ramdiskId;
399 bool m_ramdiskIdHasBeenSet = false;
400
401 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
402 bool m_blockDeviceMappingsHasBeenSet = false;
403
404 InstanceMonitoring m_instanceMonitoring;
405 bool m_instanceMonitoringHasBeenSet = false;
406
407 Aws::String m_spotPrice;
408 bool m_spotPriceHasBeenSet = false;
409
410 Aws::String m_iamInstanceProfile;
411 bool m_iamInstanceProfileHasBeenSet = false;
412
413 bool m_ebsOptimized{false};
414 bool m_ebsOptimizedHasBeenSet = false;
415
416 bool m_associatePublicIpAddress{false};
417 bool m_associatePublicIpAddressHasBeenSet = false;
418
419 Aws::String m_placementTenancy;
420 bool m_placementTenancyHasBeenSet = false;
421
422 InstanceMetadataOptions m_metadataOptions;
423 bool m_metadataOptionsHasBeenSet = false;
424 };
425
426} // namespace Model
427} // namespace AutoScaling
428} // namespace Aws
CreateLaunchConfigurationRequest & WithKernelId(KernelIdT &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithClassicLinkVPCId(ClassicLinkVPCIdT &&value)
CreateLaunchConfigurationRequest & WithInstanceType(InstanceTypeT &&value)
CreateLaunchConfigurationRequest & AddSecurityGroups(SecurityGroupsT &&value)
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
CreateLaunchConfigurationRequest & WithIamInstanceProfile(IamInstanceProfileT &&value)
CreateLaunchConfigurationRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
CreateLaunchConfigurationRequest & WithSpotPrice(SpotPriceT &&value)
CreateLaunchConfigurationRequest & WithSecurityGroups(SecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithRamdiskId(RamdiskIdT &&value)
AWS_AUTOSCALING_API CreateLaunchConfigurationRequest()=default
CreateLaunchConfigurationRequest & WithInstanceId(InstanceIdT &&value)
CreateLaunchConfigurationRequest & WithAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
CreateLaunchConfigurationRequest & WithKeyName(KeyNameT &&value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateLaunchConfigurationRequest & WithUserData(UserDataT &&value)
CreateLaunchConfigurationRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
CreateLaunchConfigurationRequest & WithImageId(ImageIdT &&value)
CreateLaunchConfigurationRequest & WithPlacementTenancy(PlacementTenancyT &&value)
CreateLaunchConfigurationRequest & WithMetadataOptions(MetadataOptionsT &&value)
CreateLaunchConfigurationRequest & WithInstanceMonitoring(InstanceMonitoringT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector