AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsEc2LaunchTemplateDataDetails.h
1
6#pragma once
7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/securityhub/model/AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails.h>
10#include <aws/securityhub/model/AwsEc2LaunchTemplateDataCpuOptionsDetails.h>
11#include <aws/securityhub/model/AwsEc2LaunchTemplateDataCreditSpecificationDetails.h>
12#include <aws/securityhub/model/AwsEc2LaunchTemplateDataEnclaveOptionsDetails.h>
13#include <aws/securityhub/model/AwsEc2LaunchTemplateDataHibernationOptionsDetails.h>
14#include <aws/securityhub/model/AwsEc2LaunchTemplateDataIamInstanceProfileDetails.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/securityhub/model/AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails.h>
17#include <aws/securityhub/model/AwsEc2LaunchTemplateDataInstanceRequirementsDetails.h>
18#include <aws/securityhub/model/AwsEc2LaunchTemplateDataMaintenanceOptionsDetails.h>
19#include <aws/securityhub/model/AwsEc2LaunchTemplateDataMetadataOptionsDetails.h>
20#include <aws/securityhub/model/AwsEc2LaunchTemplateDataMonitoringDetails.h>
21#include <aws/securityhub/model/AwsEc2LaunchTemplateDataPlacementDetails.h>
22#include <aws/securityhub/model/AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails.h>
23#include <aws/securityhub/model/AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails.h>
24#include <aws/securityhub/model/AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails.h>
25#include <aws/securityhub/model/AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails.h>
26#include <aws/securityhub/model/AwsEc2LaunchTemplateDataLicenseSetDetails.h>
27#include <aws/securityhub/model/AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails.h>
28#include <utility>
29
30namespace Aws
31{
32namespace Utils
33{
34namespace Json
35{
36 class JsonValue;
37 class JsonView;
38} // namespace Json
39} // namespace Utils
40namespace SecurityHub
41{
42namespace Model
43{
44
52 {
53 public:
54 AWS_SECURITYHUB_API AwsEc2LaunchTemplateDataDetails() = default;
57 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
58
59
61
66 inline bool BlockDeviceMappingSetHasBeenSet() const { return m_blockDeviceMappingSetHasBeenSet; }
67 template<typename BlockDeviceMappingSetT = Aws::Vector<AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails>>
68 void SetBlockDeviceMappingSet(BlockDeviceMappingSetT&& value) { m_blockDeviceMappingSetHasBeenSet = true; m_blockDeviceMappingSet = std::forward<BlockDeviceMappingSetT>(value); }
69 template<typename BlockDeviceMappingSetT = Aws::Vector<AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails>>
70 AwsEc2LaunchTemplateDataDetails& WithBlockDeviceMappingSet(BlockDeviceMappingSetT&& value) { SetBlockDeviceMappingSet(std::forward<BlockDeviceMappingSetT>(value)); return *this;}
71 template<typename BlockDeviceMappingSetT = AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails>
72 AwsEc2LaunchTemplateDataDetails& AddBlockDeviceMappingSet(BlockDeviceMappingSetT&& value) { m_blockDeviceMappingSetHasBeenSet = true; m_blockDeviceMappingSet.emplace_back(std::forward<BlockDeviceMappingSetT>(value)); return *this; }
74
76
80 inline const AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
81 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
82 template<typename CapacityReservationSpecificationT = AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails>
83 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
84 template<typename CapacityReservationSpecificationT = AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails>
85 AwsEc2LaunchTemplateDataDetails& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
87
89
94 inline const AwsEc2LaunchTemplateDataCpuOptionsDetails& GetCpuOptions() const { return m_cpuOptions; }
95 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
96 template<typename CpuOptionsT = AwsEc2LaunchTemplateDataCpuOptionsDetails>
97 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
98 template<typename CpuOptionsT = AwsEc2LaunchTemplateDataCpuOptionsDetails>
99 AwsEc2LaunchTemplateDataDetails& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward<CpuOptionsT>(value)); return *this;}
101
103
106 inline const AwsEc2LaunchTemplateDataCreditSpecificationDetails& GetCreditSpecification() const { return m_creditSpecification; }
107 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
108 template<typename CreditSpecificationT = AwsEc2LaunchTemplateDataCreditSpecificationDetails>
109 void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::forward<CreditSpecificationT>(value); }
110 template<typename CreditSpecificationT = AwsEc2LaunchTemplateDataCreditSpecificationDetails>
111 AwsEc2LaunchTemplateDataDetails& WithCreditSpecification(CreditSpecificationT&& value) { SetCreditSpecification(std::forward<CreditSpecificationT>(value)); return *this;}
113
115
121 inline bool GetDisableApiStop() const { return m_disableApiStop; }
122 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
123 inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; }
124 inline AwsEc2LaunchTemplateDataDetails& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;}
126
128
133 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
134 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
135 inline void SetDisableApiTermination(bool value) { m_disableApiTerminationHasBeenSet = true; m_disableApiTermination = value; }
138
140
143 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
144 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
145 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
146 inline AwsEc2LaunchTemplateDataDetails& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
148
150
155 inline bool ElasticGpuSpecificationSetHasBeenSet() const { return m_elasticGpuSpecificationSetHasBeenSet; }
156 template<typename ElasticGpuSpecificationSetT = Aws::Vector<AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails>>
157 void SetElasticGpuSpecificationSet(ElasticGpuSpecificationSetT&& value) { m_elasticGpuSpecificationSetHasBeenSet = true; m_elasticGpuSpecificationSet = std::forward<ElasticGpuSpecificationSetT>(value); }
158 template<typename ElasticGpuSpecificationSetT = Aws::Vector<AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails>>
159 AwsEc2LaunchTemplateDataDetails& WithElasticGpuSpecificationSet(ElasticGpuSpecificationSetT&& value) { SetElasticGpuSpecificationSet(std::forward<ElasticGpuSpecificationSetT>(value)); return *this;}
160 template<typename ElasticGpuSpecificationSetT = AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails>
161 AwsEc2LaunchTemplateDataDetails& AddElasticGpuSpecificationSet(ElasticGpuSpecificationSetT&& value) { m_elasticGpuSpecificationSetHasBeenSet = true; m_elasticGpuSpecificationSet.emplace_back(std::forward<ElasticGpuSpecificationSetT>(value)); return *this; }
163
165
169 inline bool ElasticInferenceAcceleratorSetHasBeenSet() const { return m_elasticInferenceAcceleratorSetHasBeenSet; }
170 template<typename ElasticInferenceAcceleratorSetT = Aws::Vector<AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails>>
171 void SetElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT&& value) { m_elasticInferenceAcceleratorSetHasBeenSet = true; m_elasticInferenceAcceleratorSet = std::forward<ElasticInferenceAcceleratorSetT>(value); }
172 template<typename ElasticInferenceAcceleratorSetT = Aws::Vector<AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails>>
173 AwsEc2LaunchTemplateDataDetails& WithElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT&& value) { SetElasticInferenceAcceleratorSet(std::forward<ElasticInferenceAcceleratorSetT>(value)); return *this;}
174 template<typename ElasticInferenceAcceleratorSetT = AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails>
175 AwsEc2LaunchTemplateDataDetails& AddElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT&& value) { m_elasticInferenceAcceleratorSetHasBeenSet = true; m_elasticInferenceAcceleratorSet.emplace_back(std::forward<ElasticInferenceAcceleratorSetT>(value)); return *this; }
177
179
183 inline const AwsEc2LaunchTemplateDataEnclaveOptionsDetails& GetEnclaveOptions() const { return m_enclaveOptions; }
184 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
185 template<typename EnclaveOptionsT = AwsEc2LaunchTemplateDataEnclaveOptionsDetails>
186 void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward<EnclaveOptionsT>(value); }
187 template<typename EnclaveOptionsT = AwsEc2LaunchTemplateDataEnclaveOptionsDetails>
188 AwsEc2LaunchTemplateDataDetails& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward<EnclaveOptionsT>(value)); return *this;}
190
192
196 inline const AwsEc2LaunchTemplateDataHibernationOptionsDetails& GetHibernationOptions() const { return m_hibernationOptions; }
197 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
198 template<typename HibernationOptionsT = AwsEc2LaunchTemplateDataHibernationOptionsDetails>
199 void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward<HibernationOptionsT>(value); }
200 template<typename HibernationOptionsT = AwsEc2LaunchTemplateDataHibernationOptionsDetails>
201 AwsEc2LaunchTemplateDataDetails& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward<HibernationOptionsT>(value)); return *this;}
203
205
208 inline const AwsEc2LaunchTemplateDataIamInstanceProfileDetails& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
209 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
210 template<typename IamInstanceProfileT = AwsEc2LaunchTemplateDataIamInstanceProfileDetails>
211 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
212 template<typename IamInstanceProfileT = AwsEc2LaunchTemplateDataIamInstanceProfileDetails>
213 AwsEc2LaunchTemplateDataDetails& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
215
217
220 inline const Aws::String& GetImageId() const { return m_imageId; }
221 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
222 template<typename ImageIdT = Aws::String>
223 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
224 template<typename ImageIdT = Aws::String>
225 AwsEc2LaunchTemplateDataDetails& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
227
229
233 inline const Aws::String& GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
234 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
235 template<typename InstanceInitiatedShutdownBehaviorT = Aws::String>
236 void SetInstanceInitiatedShutdownBehavior(InstanceInitiatedShutdownBehaviorT&& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = std::forward<InstanceInitiatedShutdownBehaviorT>(value); }
237 template<typename InstanceInitiatedShutdownBehaviorT = Aws::String>
238 AwsEc2LaunchTemplateDataDetails& WithInstanceInitiatedShutdownBehavior(InstanceInitiatedShutdownBehaviorT&& value) { SetInstanceInitiatedShutdownBehavior(std::forward<InstanceInitiatedShutdownBehaviorT>(value)); return *this;}
240
242
245 inline const AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
246 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
247 template<typename InstanceMarketOptionsT = AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails>
248 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value); }
249 template<typename InstanceMarketOptionsT = AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails>
250 AwsEc2LaunchTemplateDataDetails& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) { SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value)); return *this;}
252
254
260 inline const AwsEc2LaunchTemplateDataInstanceRequirementsDetails& GetInstanceRequirements() const { return m_instanceRequirements; }
261 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
262 template<typename InstanceRequirementsT = AwsEc2LaunchTemplateDataInstanceRequirementsDetails>
263 void SetInstanceRequirements(InstanceRequirementsT&& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = std::forward<InstanceRequirementsT>(value); }
264 template<typename InstanceRequirementsT = AwsEc2LaunchTemplateDataInstanceRequirementsDetails>
265 AwsEc2LaunchTemplateDataDetails& WithInstanceRequirements(InstanceRequirementsT&& value) { SetInstanceRequirements(std::forward<InstanceRequirementsT>(value)); return *this;}
267
269
276 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
277 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
278 template<typename InstanceTypeT = Aws::String>
279 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
280 template<typename InstanceTypeT = Aws::String>
281 AwsEc2LaunchTemplateDataDetails& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
283
285
288 inline const Aws::String& GetKernelId() const { return m_kernelId; }
289 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
290 template<typename KernelIdT = Aws::String>
291 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
292 template<typename KernelIdT = Aws::String>
293 AwsEc2LaunchTemplateDataDetails& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
295
297
300 inline const Aws::String& GetKeyName() const { return m_keyName; }
301 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
302 template<typename KeyNameT = Aws::String>
303 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
304 template<typename KeyNameT = Aws::String>
305 AwsEc2LaunchTemplateDataDetails& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
307
309
312 inline const Aws::Vector<AwsEc2LaunchTemplateDataLicenseSetDetails>& GetLicenseSet() const { return m_licenseSet; }
313 inline bool LicenseSetHasBeenSet() const { return m_licenseSetHasBeenSet; }
314 template<typename LicenseSetT = Aws::Vector<AwsEc2LaunchTemplateDataLicenseSetDetails>>
315 void SetLicenseSet(LicenseSetT&& value) { m_licenseSetHasBeenSet = true; m_licenseSet = std::forward<LicenseSetT>(value); }
316 template<typename LicenseSetT = Aws::Vector<AwsEc2LaunchTemplateDataLicenseSetDetails>>
317 AwsEc2LaunchTemplateDataDetails& WithLicenseSet(LicenseSetT&& value) { SetLicenseSet(std::forward<LicenseSetT>(value)); return *this;}
318 template<typename LicenseSetT = AwsEc2LaunchTemplateDataLicenseSetDetails>
319 AwsEc2LaunchTemplateDataDetails& AddLicenseSet(LicenseSetT&& value) { m_licenseSetHasBeenSet = true; m_licenseSet.emplace_back(std::forward<LicenseSetT>(value)); return *this; }
321
323
326 inline const AwsEc2LaunchTemplateDataMaintenanceOptionsDetails& GetMaintenanceOptions() const { return m_maintenanceOptions; }
327 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
328 template<typename MaintenanceOptionsT = AwsEc2LaunchTemplateDataMaintenanceOptionsDetails>
329 void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value); }
330 template<typename MaintenanceOptionsT = AwsEc2LaunchTemplateDataMaintenanceOptionsDetails>
331 AwsEc2LaunchTemplateDataDetails& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value)); return *this;}
333
335
340 inline const AwsEc2LaunchTemplateDataMetadataOptionsDetails& GetMetadataOptions() const { return m_metadataOptions; }
341 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
342 template<typename MetadataOptionsT = AwsEc2LaunchTemplateDataMetadataOptionsDetails>
343 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
344 template<typename MetadataOptionsT = AwsEc2LaunchTemplateDataMetadataOptionsDetails>
345 AwsEc2LaunchTemplateDataDetails& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
347
349
352 inline const AwsEc2LaunchTemplateDataMonitoringDetails& GetMonitoring() const { return m_monitoring; }
353 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
354 template<typename MonitoringT = AwsEc2LaunchTemplateDataMonitoringDetails>
355 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
356 template<typename MonitoringT = AwsEc2LaunchTemplateDataMonitoringDetails>
357 AwsEc2LaunchTemplateDataDetails& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
359
361
366 inline bool NetworkInterfaceSetHasBeenSet() const { return m_networkInterfaceSetHasBeenSet; }
367 template<typename NetworkInterfaceSetT = Aws::Vector<AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails>>
368 void SetNetworkInterfaceSet(NetworkInterfaceSetT&& value) { m_networkInterfaceSetHasBeenSet = true; m_networkInterfaceSet = std::forward<NetworkInterfaceSetT>(value); }
369 template<typename NetworkInterfaceSetT = Aws::Vector<AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails>>
370 AwsEc2LaunchTemplateDataDetails& WithNetworkInterfaceSet(NetworkInterfaceSetT&& value) { SetNetworkInterfaceSet(std::forward<NetworkInterfaceSetT>(value)); return *this;}
371 template<typename NetworkInterfaceSetT = AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails>
372 AwsEc2LaunchTemplateDataDetails& AddNetworkInterfaceSet(NetworkInterfaceSetT&& value) { m_networkInterfaceSetHasBeenSet = true; m_networkInterfaceSet.emplace_back(std::forward<NetworkInterfaceSetT>(value)); return *this; }
374
376
379 inline const AwsEc2LaunchTemplateDataPlacementDetails& GetPlacement() const { return m_placement; }
380 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
381 template<typename PlacementT = AwsEc2LaunchTemplateDataPlacementDetails>
382 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
383 template<typename PlacementT = AwsEc2LaunchTemplateDataPlacementDetails>
384 AwsEc2LaunchTemplateDataDetails& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
386
388
391 inline const AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
392 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
393 template<typename PrivateDnsNameOptionsT = AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails>
394 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value); }
395 template<typename PrivateDnsNameOptionsT = AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails>
396 AwsEc2LaunchTemplateDataDetails& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value)); return *this;}
398
400
403 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
404 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
405 template<typename RamDiskIdT = Aws::String>
406 void SetRamDiskId(RamDiskIdT&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::forward<RamDiskIdT>(value); }
407 template<typename RamDiskIdT = Aws::String>
408 AwsEc2LaunchTemplateDataDetails& WithRamDiskId(RamDiskIdT&& value) { SetRamDiskId(std::forward<RamDiskIdT>(value)); return *this;}
410
412
415 inline const Aws::Vector<Aws::String>& GetSecurityGroupIdSet() const { return m_securityGroupIdSet; }
416 inline bool SecurityGroupIdSetHasBeenSet() const { return m_securityGroupIdSetHasBeenSet; }
417 template<typename SecurityGroupIdSetT = Aws::Vector<Aws::String>>
418 void SetSecurityGroupIdSet(SecurityGroupIdSetT&& value) { m_securityGroupIdSetHasBeenSet = true; m_securityGroupIdSet = std::forward<SecurityGroupIdSetT>(value); }
419 template<typename SecurityGroupIdSetT = Aws::Vector<Aws::String>>
420 AwsEc2LaunchTemplateDataDetails& WithSecurityGroupIdSet(SecurityGroupIdSetT&& value) { SetSecurityGroupIdSet(std::forward<SecurityGroupIdSetT>(value)); return *this;}
421 template<typename SecurityGroupIdSetT = Aws::String>
422 AwsEc2LaunchTemplateDataDetails& AddSecurityGroupIdSet(SecurityGroupIdSetT&& value) { m_securityGroupIdSetHasBeenSet = true; m_securityGroupIdSet.emplace_back(std::forward<SecurityGroupIdSetT>(value)); return *this; }
424
426
431 inline const Aws::Vector<Aws::String>& GetSecurityGroupSet() const { return m_securityGroupSet; }
432 inline bool SecurityGroupSetHasBeenSet() const { return m_securityGroupSetHasBeenSet; }
433 template<typename SecurityGroupSetT = Aws::Vector<Aws::String>>
434 void SetSecurityGroupSet(SecurityGroupSetT&& value) { m_securityGroupSetHasBeenSet = true; m_securityGroupSet = std::forward<SecurityGroupSetT>(value); }
435 template<typename SecurityGroupSetT = Aws::Vector<Aws::String>>
436 AwsEc2LaunchTemplateDataDetails& WithSecurityGroupSet(SecurityGroupSetT&& value) { SetSecurityGroupSet(std::forward<SecurityGroupSetT>(value)); return *this;}
437 template<typename SecurityGroupSetT = Aws::String>
438 AwsEc2LaunchTemplateDataDetails& AddSecurityGroupSet(SecurityGroupSetT&& value) { m_securityGroupSetHasBeenSet = true; m_securityGroupSet.emplace_back(std::forward<SecurityGroupSetT>(value)); return *this; }
440
442
445 inline const Aws::String& GetUserData() const { return m_userData; }
446 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
447 template<typename UserDataT = Aws::String>
448 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
449 template<typename UserDataT = Aws::String>
450 AwsEc2LaunchTemplateDataDetails& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
452 private:
453
455 bool m_blockDeviceMappingSetHasBeenSet = false;
456
458 bool m_capacityReservationSpecificationHasBeenSet = false;
459
461 bool m_cpuOptionsHasBeenSet = false;
462
464 bool m_creditSpecificationHasBeenSet = false;
465
466 bool m_disableApiStop{false};
467 bool m_disableApiStopHasBeenSet = false;
468
469 bool m_disableApiTermination{false};
470 bool m_disableApiTerminationHasBeenSet = false;
471
472 bool m_ebsOptimized{false};
473 bool m_ebsOptimizedHasBeenSet = false;
474
476 bool m_elasticGpuSpecificationSetHasBeenSet = false;
477
479 bool m_elasticInferenceAcceleratorSetHasBeenSet = false;
480
481 AwsEc2LaunchTemplateDataEnclaveOptionsDetails m_enclaveOptions;
482 bool m_enclaveOptionsHasBeenSet = false;
483
484 AwsEc2LaunchTemplateDataHibernationOptionsDetails m_hibernationOptions;
485 bool m_hibernationOptionsHasBeenSet = false;
486
487 AwsEc2LaunchTemplateDataIamInstanceProfileDetails m_iamInstanceProfile;
488 bool m_iamInstanceProfileHasBeenSet = false;
489
490 Aws::String m_imageId;
491 bool m_imageIdHasBeenSet = false;
492
493 Aws::String m_instanceInitiatedShutdownBehavior;
494 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
495
496 AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails m_instanceMarketOptions;
497 bool m_instanceMarketOptionsHasBeenSet = false;
498
499 AwsEc2LaunchTemplateDataInstanceRequirementsDetails m_instanceRequirements;
500 bool m_instanceRequirementsHasBeenSet = false;
501
502 Aws::String m_instanceType;
503 bool m_instanceTypeHasBeenSet = false;
504
505 Aws::String m_kernelId;
506 bool m_kernelIdHasBeenSet = false;
507
508 Aws::String m_keyName;
509 bool m_keyNameHasBeenSet = false;
510
512 bool m_licenseSetHasBeenSet = false;
513
514 AwsEc2LaunchTemplateDataMaintenanceOptionsDetails m_maintenanceOptions;
515 bool m_maintenanceOptionsHasBeenSet = false;
516
517 AwsEc2LaunchTemplateDataMetadataOptionsDetails m_metadataOptions;
518 bool m_metadataOptionsHasBeenSet = false;
519
520 AwsEc2LaunchTemplateDataMonitoringDetails m_monitoring;
521 bool m_monitoringHasBeenSet = false;
522
524 bool m_networkInterfaceSetHasBeenSet = false;
525
526 AwsEc2LaunchTemplateDataPlacementDetails m_placement;
527 bool m_placementHasBeenSet = false;
528
529 AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails m_privateDnsNameOptions;
530 bool m_privateDnsNameOptionsHasBeenSet = false;
531
532 Aws::String m_ramDiskId;
533 bool m_ramDiskIdHasBeenSet = false;
534
535 Aws::Vector<Aws::String> m_securityGroupIdSet;
536 bool m_securityGroupIdSetHasBeenSet = false;
537
538 Aws::Vector<Aws::String> m_securityGroupSet;
539 bool m_securityGroupSetHasBeenSet = false;
540
541 Aws::String m_userData;
542 bool m_userDataHasBeenSet = false;
543 };
544
545} // namespace Model
546} // namespace SecurityHub
547} // namespace Aws
AwsEc2LaunchTemplateDataDetails & AddSecurityGroupSet(SecurityGroupSetT &&value)
const AwsEc2LaunchTemplateDataMetadataOptionsDetails & GetMetadataOptions() const
AwsEc2LaunchTemplateDataDetails & WithImageId(ImageIdT &&value)
AwsEc2LaunchTemplateDataDetails & WithIamInstanceProfile(IamInstanceProfileT &&value)
AWS_SECURITYHUB_API AwsEc2LaunchTemplateDataDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT &&value)
AWS_SECURITYHUB_API AwsEc2LaunchTemplateDataDetails(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails > & GetBlockDeviceMappingSet() const
const Aws::Vector< AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails > & GetElasticGpuSpecificationSet() const
AwsEc2LaunchTemplateDataDetails & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
const Aws::Vector< AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails > & GetElasticInferenceAcceleratorSet() const
AwsEc2LaunchTemplateDataDetails & WithInstanceInitiatedShutdownBehavior(InstanceInitiatedShutdownBehaviorT &&value)
AwsEc2LaunchTemplateDataDetails & WithUserData(UserDataT &&value)
const Aws::Vector< AwsEc2LaunchTemplateDataLicenseSetDetails > & GetLicenseSet() const
AwsEc2LaunchTemplateDataDetails & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const AwsEc2LaunchTemplateDataInstanceRequirementsDetails & GetInstanceRequirements() const
AWS_SECURITYHUB_API AwsEc2LaunchTemplateDataDetails()=default
AwsEc2LaunchTemplateDataDetails & WithInstanceMarketOptions(InstanceMarketOptionsT &&value)
AwsEc2LaunchTemplateDataDetails & WithKernelId(KernelIdT &&value)
const AwsEc2LaunchTemplateDataMonitoringDetails & GetMonitoring() const
const AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails & GetPrivateDnsNameOptions() const
AwsEc2LaunchTemplateDataDetails & WithCpuOptions(CpuOptionsT &&value)
AwsEc2LaunchTemplateDataDetails & AddElasticGpuSpecificationSet(ElasticGpuSpecificationSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithInstanceType(InstanceTypeT &&value)
AwsEc2LaunchTemplateDataDetails & AddBlockDeviceMappingSet(BlockDeviceMappingSetT &&value)
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
AwsEc2LaunchTemplateDataDetails & WithElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithMaintenanceOptions(MaintenanceOptionsT &&value)
const AwsEc2LaunchTemplateDataHibernationOptionsDetails & GetHibernationOptions() const
AwsEc2LaunchTemplateDataDetails & WithElasticGpuSpecificationSet(ElasticGpuSpecificationSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithEnclaveOptions(EnclaveOptionsT &&value)
void SetInstanceInitiatedShutdownBehavior(InstanceInitiatedShutdownBehaviorT &&value)
AwsEc2LaunchTemplateDataDetails & WithInstanceRequirements(InstanceRequirementsT &&value)
AwsEc2LaunchTemplateDataDetails & WithBlockDeviceMappingSet(BlockDeviceMappingSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithPlacement(PlacementT &&value)
AwsEc2LaunchTemplateDataDetails & WithCreditSpecification(CreditSpecificationT &&value)
AwsEc2LaunchTemplateDataDetails & WithMetadataOptions(MetadataOptionsT &&value)
const AwsEc2LaunchTemplateDataMaintenanceOptionsDetails & GetMaintenanceOptions() const
const AwsEc2LaunchTemplateDataCreditSpecificationDetails & GetCreditSpecification() const
const AwsEc2LaunchTemplateDataEnclaveOptionsDetails & GetEnclaveOptions() const
const Aws::Vector< AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails > & GetNetworkInterfaceSet() const
AwsEc2LaunchTemplateDataDetails & AddNetworkInterfaceSet(NetworkInterfaceSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithNetworkInterfaceSet(NetworkInterfaceSetT &&value)
const AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails & GetInstanceMarketOptions() const
const AwsEc2LaunchTemplateDataIamInstanceProfileDetails & GetIamInstanceProfile() const
AwsEc2LaunchTemplateDataDetails & WithKeyName(KeyNameT &&value)
AwsEc2LaunchTemplateDataDetails & AddSecurityGroupIdSet(SecurityGroupIdSetT &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AwsEc2LaunchTemplateDataDetails & WithHibernationOptions(HibernationOptionsT &&value)
AwsEc2LaunchTemplateDataDetails & WithMonitoring(MonitoringT &&value)
AwsEc2LaunchTemplateDataDetails & WithDisableApiTermination(bool value)
const AwsEc2LaunchTemplateDataPlacementDetails & GetPlacement() const
AwsEc2LaunchTemplateDataDetails & AddLicenseSet(LicenseSetT &&value)
AwsEc2LaunchTemplateDataDetails & WithSecurityGroupSet(SecurityGroupSetT &&value)
AwsEc2LaunchTemplateDataDetails & AddElasticInferenceAcceleratorSet(ElasticInferenceAcceleratorSetT &&value)
const AwsEc2LaunchTemplateDataCpuOptionsDetails & GetCpuOptions() const
AwsEc2LaunchTemplateDataDetails & WithRamDiskId(RamDiskIdT &&value)
AwsEc2LaunchTemplateDataDetails & WithLicenseSet(LicenseSetT &&value)
const AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails & GetCapacityReservationSpecification() const
AwsEc2LaunchTemplateDataDetails & WithSecurityGroupIdSet(SecurityGroupIdSetT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue