AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
InstanceLaunchTemplate.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/CapacityOptionType.h>
10#include <aws/ecs/model/CapacityReservationRequest.h>
11#include <aws/ecs/model/InstanceRequirementsRequest.h>
12#include <aws/ecs/model/ManagedInstancesLocalStorageConfiguration.h>
13#include <aws/ecs/model/ManagedInstancesMonitoringOptions.h>
14#include <aws/ecs/model/ManagedInstancesNetworkConfiguration.h>
15#include <aws/ecs/model/ManagedInstancesStorageConfiguration.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ECS {
27namespace Model {
28
39 public:
40 AWS_ECS_API InstanceLaunchTemplate() = default;
44
46
55 inline const Aws::String& GetEc2InstanceProfileArn() const { return m_ec2InstanceProfileArn; }
56 inline bool Ec2InstanceProfileArnHasBeenSet() const { return m_ec2InstanceProfileArnHasBeenSet; }
57 template <typename Ec2InstanceProfileArnT = Aws::String>
58 void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
59 m_ec2InstanceProfileArnHasBeenSet = true;
60 m_ec2InstanceProfileArn = std::forward<Ec2InstanceProfileArnT>(value);
61 }
62 template <typename Ec2InstanceProfileArnT = Aws::String>
63 InstanceLaunchTemplate& WithEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
64 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
65 return *this;
66 }
68
70
74 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
75 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
76 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
77 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
78 m_networkConfigurationHasBeenSet = true;
79 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
80 }
81 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
82 InstanceLaunchTemplate& WithNetworkConfiguration(NetworkConfigurationT&& value) {
83 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
84 return *this;
85 }
87
89
93 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
94 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
95 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
96 void SetStorageConfiguration(StorageConfigurationT&& value) {
97 m_storageConfigurationHasBeenSet = true;
98 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
99 }
100 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
101 InstanceLaunchTemplate& WithStorageConfiguration(StorageConfigurationT&& value) {
102 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
103 return *this;
104 }
106
108
113 inline const ManagedInstancesLocalStorageConfiguration& GetLocalStorageConfiguration() const { return m_localStorageConfiguration; }
114 inline bool LocalStorageConfigurationHasBeenSet() const { return m_localStorageConfigurationHasBeenSet; }
115 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
116 void SetLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
117 m_localStorageConfigurationHasBeenSet = true;
118 m_localStorageConfiguration = std::forward<LocalStorageConfigurationT>(value);
119 }
120 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
121 InstanceLaunchTemplate& WithLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
122 SetLocalStorageConfiguration(std::forward<LocalStorageConfigurationT>(value));
123 return *this;
124 }
126
128
139 inline ManagedInstancesMonitoringOptions GetMonitoring() const { return m_monitoring; }
140 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
142 m_monitoringHasBeenSet = true;
143 m_monitoring = value;
144 }
146 SetMonitoring(value);
147 return *this;
148 }
150
152
169 inline CapacityOptionType GetCapacityOptionType() const { return m_capacityOptionType; }
170 inline bool CapacityOptionTypeHasBeenSet() const { return m_capacityOptionTypeHasBeenSet; }
172 m_capacityOptionTypeHasBeenSet = true;
173 m_capacityOptionType = value;
174 }
177 return *this;
178 }
180
182
195 inline bool GetInstanceMetadataTagsPropagation() const { return m_instanceMetadataTagsPropagation; }
196 inline bool InstanceMetadataTagsPropagationHasBeenSet() const { return m_instanceMetadataTagsPropagationHasBeenSet; }
197 inline void SetInstanceMetadataTagsPropagation(bool value) {
198 m_instanceMetadataTagsPropagationHasBeenSet = true;
199 m_instanceMetadataTagsPropagation = value;
200 }
203 return *this;
204 }
206
208
214 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
215 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
216 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
217 void SetInstanceRequirements(InstanceRequirementsT&& value) {
218 m_instanceRequirementsHasBeenSet = true;
219 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
220 }
221 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
222 InstanceLaunchTemplate& WithInstanceRequirements(InstanceRequirementsT&& value) {
223 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
224 return *this;
225 }
227
229
238 inline bool GetFipsEnabled() const { return m_fipsEnabled; }
239 inline bool FipsEnabledHasBeenSet() const { return m_fipsEnabledHasBeenSet; }
240 inline void SetFipsEnabled(bool value) {
241 m_fipsEnabledHasBeenSet = true;
242 m_fipsEnabled = value;
243 }
245 SetFipsEnabled(value);
246 return *this;
247 }
249
251
257 inline const CapacityReservationRequest& GetCapacityReservations() const { return m_capacityReservations; }
258 inline bool CapacityReservationsHasBeenSet() const { return m_capacityReservationsHasBeenSet; }
259 template <typename CapacityReservationsT = CapacityReservationRequest>
260 void SetCapacityReservations(CapacityReservationsT&& value) {
261 m_capacityReservationsHasBeenSet = true;
262 m_capacityReservations = std::forward<CapacityReservationsT>(value);
263 }
264 template <typename CapacityReservationsT = CapacityReservationRequest>
265 InstanceLaunchTemplate& WithCapacityReservations(CapacityReservationsT&& value) {
266 SetCapacityReservations(std::forward<CapacityReservationsT>(value));
267 return *this;
268 }
270 private:
271 Aws::String m_ec2InstanceProfileArn;
272
273 ManagedInstancesNetworkConfiguration m_networkConfiguration;
274
275 ManagedInstancesStorageConfiguration m_storageConfiguration;
276
277 ManagedInstancesLocalStorageConfiguration m_localStorageConfiguration;
278
280
282
283 bool m_instanceMetadataTagsPropagation{false};
284
285 InstanceRequirementsRequest m_instanceRequirements;
286
287 bool m_fipsEnabled{false};
288
289 CapacityReservationRequest m_capacityReservations;
290 bool m_ec2InstanceProfileArnHasBeenSet = false;
291 bool m_networkConfigurationHasBeenSet = false;
292 bool m_storageConfigurationHasBeenSet = false;
293 bool m_localStorageConfigurationHasBeenSet = false;
294 bool m_monitoringHasBeenSet = false;
295 bool m_capacityOptionTypeHasBeenSet = false;
296 bool m_instanceMetadataTagsPropagationHasBeenSet = false;
297 bool m_instanceRequirementsHasBeenSet = false;
298 bool m_fipsEnabledHasBeenSet = false;
299 bool m_capacityReservationsHasBeenSet = false;
300};
301
302} // namespace Model
303} // namespace ECS
304} // namespace Aws
void SetCapacityReservations(CapacityReservationsT &&value)
AWS_ECS_API InstanceLaunchTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplate & WithCapacityOptionType(CapacityOptionType value)
const ManagedInstancesLocalStorageConfiguration & GetLocalStorageConfiguration() const
InstanceLaunchTemplate & WithInstanceMetadataTagsPropagation(bool value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
InstanceLaunchTemplate & WithFipsEnabled(bool value)
InstanceLaunchTemplate & WithMonitoring(ManagedInstancesMonitoringOptions value)
InstanceLaunchTemplate & WithCapacityReservations(CapacityReservationsT &&value)
InstanceLaunchTemplate & WithLocalStorageConfiguration(LocalStorageConfigurationT &&value)
void SetInstanceRequirements(InstanceRequirementsT &&value)
void SetCapacityOptionType(CapacityOptionType value)
void SetMonitoring(ManagedInstancesMonitoringOptions value)
void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
AWS_ECS_API InstanceLaunchTemplate(Aws::Utils::Json::JsonView jsonValue)
void SetStorageConfiguration(StorageConfigurationT &&value)
InstanceLaunchTemplate & WithStorageConfiguration(StorageConfigurationT &&value)
ManagedInstancesMonitoringOptions GetMonitoring() const
const CapacityReservationRequest & GetCapacityReservations() const
void SetLocalStorageConfiguration(LocalStorageConfigurationT &&value)
InstanceLaunchTemplate & WithEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
InstanceLaunchTemplate & WithInstanceRequirements(InstanceRequirementsT &&value)
const Aws::String & GetEc2InstanceProfileArn() const
const ManagedInstancesNetworkConfiguration & GetNetworkConfiguration() const
AWS_ECS_API InstanceLaunchTemplate()=default
InstanceLaunchTemplate & WithNetworkConfiguration(NetworkConfigurationT &&value)
const ManagedInstancesStorageConfiguration & GetStorageConfiguration() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue