AWS SDK for C++

AWS SDK for C++ Version 1.11.875

Loading...
Searching...
No Matches
InstanceLaunchTemplate.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/CapacityReservationRequest.h>
9#include <aws/batch/model/InstanceRequirementsRequest.h>
10#include <aws/batch/model/ManagedInstancesLocalStorageConfiguration.h>
11#include <aws/batch/model/ManagedInstancesNetworkConfiguration.h>
12#include <aws/batch/model/ManagedInstancesStorageConfiguration.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Batch {
25namespace Model {
26
36 public:
37 AWS_BATCH_API InstanceLaunchTemplate() = default;
40 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
49 inline const Aws::String& GetEc2InstanceProfileArn() const { return m_ec2InstanceProfileArn; }
50 inline bool Ec2InstanceProfileArnHasBeenSet() const { return m_ec2InstanceProfileArnHasBeenSet; }
51 template <typename Ec2InstanceProfileArnT = Aws::String>
52 void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
53 m_ec2InstanceProfileArnHasBeenSet = true;
54 m_ec2InstanceProfileArn = std::forward<Ec2InstanceProfileArnT>(value);
55 }
56 template <typename Ec2InstanceProfileArnT = Aws::String>
57 InstanceLaunchTemplate& WithEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
58 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
59 return *this;
60 }
62
64
68 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
69 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
70 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
71 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
72 m_networkConfigurationHasBeenSet = true;
73 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
74 }
75 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
76 InstanceLaunchTemplate& WithNetworkConfiguration(NetworkConfigurationT&& value) {
77 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
78 return *this;
79 }
81
83
88 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
89 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
90 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
91 void SetInstanceRequirements(InstanceRequirementsT&& value) {
92 m_instanceRequirementsHasBeenSet = true;
93 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
94 }
95 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
96 InstanceLaunchTemplate& WithInstanceRequirements(InstanceRequirementsT&& value) {
97 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
98 return *this;
99 }
101
103
109 inline const Aws::String& GetCapacityOptionType() const { return m_capacityOptionType; }
110 inline bool CapacityOptionTypeHasBeenSet() const { return m_capacityOptionTypeHasBeenSet; }
111 template <typename CapacityOptionTypeT = Aws::String>
112 void SetCapacityOptionType(CapacityOptionTypeT&& value) {
113 m_capacityOptionTypeHasBeenSet = true;
114 m_capacityOptionType = std::forward<CapacityOptionTypeT>(value);
115 }
116 template <typename CapacityOptionTypeT = Aws::String>
117 InstanceLaunchTemplate& WithCapacityOptionType(CapacityOptionTypeT&& value) {
118 SetCapacityOptionType(std::forward<CapacityOptionTypeT>(value));
119 return *this;
120 }
122
124
129 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
130 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
131 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
132 void SetStorageConfiguration(StorageConfigurationT&& value) {
133 m_storageConfigurationHasBeenSet = true;
134 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
135 }
136 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
137 InstanceLaunchTemplate& WithStorageConfiguration(StorageConfigurationT&& value) {
138 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
139 return *this;
140 }
142
144
148 inline const Aws::String& GetMonitoring() const { return m_monitoring; }
149 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
150 template <typename MonitoringT = Aws::String>
151 void SetMonitoring(MonitoringT&& value) {
152 m_monitoringHasBeenSet = true;
153 m_monitoring = std::forward<MonitoringT>(value);
154 }
155 template <typename MonitoringT = Aws::String>
157 SetMonitoring(std::forward<MonitoringT>(value));
158 return *this;
159 }
161
163
167 inline bool GetFipsEnabled() const { return m_fipsEnabled; }
168 inline bool FipsEnabledHasBeenSet() const { return m_fipsEnabledHasBeenSet; }
169 inline void SetFipsEnabled(bool value) {
170 m_fipsEnabledHasBeenSet = true;
171 m_fipsEnabled = value;
172 }
174 SetFipsEnabled(value);
175 return *this;
176 }
178
180
185 inline const CapacityReservationRequest& GetCapacityReservations() const { return m_capacityReservations; }
186 inline bool CapacityReservationsHasBeenSet() const { return m_capacityReservationsHasBeenSet; }
187 template <typename CapacityReservationsT = CapacityReservationRequest>
188 void SetCapacityReservations(CapacityReservationsT&& value) {
189 m_capacityReservationsHasBeenSet = true;
190 m_capacityReservations = std::forward<CapacityReservationsT>(value);
191 }
192 template <typename CapacityReservationsT = CapacityReservationRequest>
193 InstanceLaunchTemplate& WithCapacityReservations(CapacityReservationsT&& value) {
194 SetCapacityReservations(std::forward<CapacityReservationsT>(value));
195 return *this;
196 }
198
200
205 inline bool GetInstanceMetadataTagsPropagation() const { return m_instanceMetadataTagsPropagation; }
206 inline bool InstanceMetadataTagsPropagationHasBeenSet() const { return m_instanceMetadataTagsPropagationHasBeenSet; }
207 inline void SetInstanceMetadataTagsPropagation(bool value) {
208 m_instanceMetadataTagsPropagationHasBeenSet = true;
209 m_instanceMetadataTagsPropagation = value;
210 }
213 return *this;
214 }
216
218
222 inline const ManagedInstancesLocalStorageConfiguration& GetLocalStorageConfiguration() const { return m_localStorageConfiguration; }
223 inline bool LocalStorageConfigurationHasBeenSet() const { return m_localStorageConfigurationHasBeenSet; }
224 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
225 void SetLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
226 m_localStorageConfigurationHasBeenSet = true;
227 m_localStorageConfiguration = std::forward<LocalStorageConfigurationT>(value);
228 }
229 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
230 InstanceLaunchTemplate& WithLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
231 SetLocalStorageConfiguration(std::forward<LocalStorageConfigurationT>(value));
232 return *this;
233 }
235 private:
236 Aws::String m_ec2InstanceProfileArn;
237
238 ManagedInstancesNetworkConfiguration m_networkConfiguration;
239
240 InstanceRequirementsRequest m_instanceRequirements;
241
242 Aws::String m_capacityOptionType;
243
244 ManagedInstancesStorageConfiguration m_storageConfiguration;
245
246 Aws::String m_monitoring;
247
248 bool m_fipsEnabled{false};
249
250 CapacityReservationRequest m_capacityReservations;
251
252 bool m_instanceMetadataTagsPropagation{false};
253
254 ManagedInstancesLocalStorageConfiguration m_localStorageConfiguration;
255 bool m_ec2InstanceProfileArnHasBeenSet = false;
256 bool m_networkConfigurationHasBeenSet = false;
257 bool m_instanceRequirementsHasBeenSet = false;
258 bool m_capacityOptionTypeHasBeenSet = false;
259 bool m_storageConfigurationHasBeenSet = false;
260 bool m_monitoringHasBeenSet = false;
261 bool m_fipsEnabledHasBeenSet = false;
262 bool m_capacityReservationsHasBeenSet = false;
263 bool m_instanceMetadataTagsPropagationHasBeenSet = false;
264 bool m_localStorageConfigurationHasBeenSet = false;
265};
266
267} // namespace Model
268} // namespace Batch
269} // namespace Aws
InstanceLaunchTemplate & WithCapacityOptionType(CapacityOptionTypeT &&value)
const ManagedInstancesStorageConfiguration & GetStorageConfiguration() const
InstanceLaunchTemplate & WithNetworkConfiguration(NetworkConfigurationT &&value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
InstanceLaunchTemplate & WithFipsEnabled(bool value)
AWS_BATCH_API InstanceLaunchTemplate(Aws::Utils::Json::JsonView jsonValue)
AWS_BATCH_API InstanceLaunchTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
const ManagedInstancesLocalStorageConfiguration & GetLocalStorageConfiguration() const
void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
AWS_BATCH_API InstanceLaunchTemplate()=default
void SetCapacityOptionType(CapacityOptionTypeT &&value)
void SetLocalStorageConfiguration(LocalStorageConfigurationT &&value)
const CapacityReservationRequest & GetCapacityReservations() const
InstanceLaunchTemplate & WithMonitoring(MonitoringT &&value)
void SetStorageConfiguration(StorageConfigurationT &&value)
InstanceLaunchTemplate & WithCapacityReservations(CapacityReservationsT &&value)
void SetNetworkConfiguration(NetworkConfigurationT &&value)
const ManagedInstancesNetworkConfiguration & GetNetworkConfiguration() const
InstanceLaunchTemplate & WithStorageConfiguration(StorageConfigurationT &&value)
const Aws::String & GetEc2InstanceProfileArn() const
void SetInstanceRequirements(InstanceRequirementsT &&value)
void SetCapacityReservations(CapacityReservationsT &&value)
InstanceLaunchTemplate & WithInstanceRequirements(InstanceRequirementsT &&value)
InstanceLaunchTemplate & WithEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceLaunchTemplate & WithLocalStorageConfiguration(LocalStorageConfigurationT &&value)
InstanceLaunchTemplate & WithInstanceMetadataTagsPropagation(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue