AWS SDK for C++

AWS SDK for C++ Version 1.11.875

Loading...
Searching...
No Matches
InstanceLaunchTemplateUpdate.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 InstanceLaunchTemplateUpdate() = default;
40 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
47 inline const Aws::String& GetEc2InstanceProfileArn() const { return m_ec2InstanceProfileArn; }
48 inline bool Ec2InstanceProfileArnHasBeenSet() const { return m_ec2InstanceProfileArnHasBeenSet; }
49 template <typename Ec2InstanceProfileArnT = Aws::String>
50 void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
51 m_ec2InstanceProfileArnHasBeenSet = true;
52 m_ec2InstanceProfileArn = std::forward<Ec2InstanceProfileArnT>(value);
53 }
54 template <typename Ec2InstanceProfileArnT = Aws::String>
56 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
57 return *this;
58 }
60
62
65 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
66 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
67 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
68 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
69 m_networkConfigurationHasBeenSet = true;
70 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
71 }
72 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
74 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
75 return *this;
76 }
78
80
83 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
84 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
85 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
86 void SetInstanceRequirements(InstanceRequirementsT&& value) {
87 m_instanceRequirementsHasBeenSet = true;
88 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
89 }
90 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
92 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
93 return *this;
94 }
96
98
101 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
102 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
103 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
104 void SetStorageConfiguration(StorageConfigurationT&& value) {
105 m_storageConfigurationHasBeenSet = true;
106 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
107 }
108 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
110 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
111 return *this;
112 }
114
116
120 inline const Aws::String& GetMonitoring() const { return m_monitoring; }
121 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
122 template <typename MonitoringT = Aws::String>
123 void SetMonitoring(MonitoringT&& value) {
124 m_monitoringHasBeenSet = true;
125 m_monitoring = std::forward<MonitoringT>(value);
126 }
127 template <typename MonitoringT = Aws::String>
129 SetMonitoring(std::forward<MonitoringT>(value));
130 return *this;
131 }
133
135
138 inline const CapacityReservationRequest& GetCapacityReservations() const { return m_capacityReservations; }
139 inline bool CapacityReservationsHasBeenSet() const { return m_capacityReservationsHasBeenSet; }
140 template <typename CapacityReservationsT = CapacityReservationRequest>
141 void SetCapacityReservations(CapacityReservationsT&& value) {
142 m_capacityReservationsHasBeenSet = true;
143 m_capacityReservations = std::forward<CapacityReservationsT>(value);
144 }
145 template <typename CapacityReservationsT = CapacityReservationRequest>
147 SetCapacityReservations(std::forward<CapacityReservationsT>(value));
148 return *this;
149 }
151
153
157 inline bool GetInstanceMetadataTagsPropagation() const { return m_instanceMetadataTagsPropagation; }
158 inline bool InstanceMetadataTagsPropagationHasBeenSet() const { return m_instanceMetadataTagsPropagationHasBeenSet; }
159 inline void SetInstanceMetadataTagsPropagation(bool value) {
160 m_instanceMetadataTagsPropagationHasBeenSet = true;
161 m_instanceMetadataTagsPropagation = value;
162 }
165 return *this;
166 }
168
170
173 inline const ManagedInstancesLocalStorageConfiguration& GetLocalStorageConfiguration() const { return m_localStorageConfiguration; }
174 inline bool LocalStorageConfigurationHasBeenSet() const { return m_localStorageConfigurationHasBeenSet; }
175 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
176 void SetLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
177 m_localStorageConfigurationHasBeenSet = true;
178 m_localStorageConfiguration = std::forward<LocalStorageConfigurationT>(value);
179 }
180 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
181 InstanceLaunchTemplateUpdate& WithLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
182 SetLocalStorageConfiguration(std::forward<LocalStorageConfigurationT>(value));
183 return *this;
184 }
186 private:
187 Aws::String m_ec2InstanceProfileArn;
188
189 ManagedInstancesNetworkConfiguration m_networkConfiguration;
190
191 InstanceRequirementsRequest m_instanceRequirements;
192
193 ManagedInstancesStorageConfiguration m_storageConfiguration;
194
195 Aws::String m_monitoring;
196
197 CapacityReservationRequest m_capacityReservations;
198
199 bool m_instanceMetadataTagsPropagation{false};
200
201 ManagedInstancesLocalStorageConfiguration m_localStorageConfiguration;
202 bool m_ec2InstanceProfileArnHasBeenSet = false;
203 bool m_networkConfigurationHasBeenSet = false;
204 bool m_instanceRequirementsHasBeenSet = false;
205 bool m_storageConfigurationHasBeenSet = false;
206 bool m_monitoringHasBeenSet = false;
207 bool m_capacityReservationsHasBeenSet = false;
208 bool m_instanceMetadataTagsPropagationHasBeenSet = false;
209 bool m_localStorageConfigurationHasBeenSet = false;
210};
211
212} // namespace Model
213} // namespace Batch
214} // namespace Aws
InstanceLaunchTemplateUpdate & WithMonitoring(MonitoringT &&value)
const ManagedInstancesStorageConfiguration & GetStorageConfiguration() const
AWS_BATCH_API InstanceLaunchTemplateUpdate(Aws::Utils::Json::JsonView jsonValue)
void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
InstanceLaunchTemplateUpdate & WithStorageConfiguration(StorageConfigurationT &&value)
const CapacityReservationRequest & GetCapacityReservations() const
InstanceLaunchTemplateUpdate & WithEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
AWS_BATCH_API InstanceLaunchTemplateUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
const ManagedInstancesNetworkConfiguration & GetNetworkConfiguration() const
InstanceLaunchTemplateUpdate & WithLocalStorageConfiguration(LocalStorageConfigurationT &&value)
InstanceLaunchTemplateUpdate & WithInstanceRequirements(InstanceRequirementsT &&value)
const ManagedInstancesLocalStorageConfiguration & GetLocalStorageConfiguration() const
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
void SetInstanceRequirements(InstanceRequirementsT &&value)
AWS_BATCH_API InstanceLaunchTemplateUpdate()=default
InstanceLaunchTemplateUpdate & WithNetworkConfiguration(NetworkConfigurationT &&value)
InstanceLaunchTemplateUpdate & WithInstanceMetadataTagsPropagation(bool value)
InstanceLaunchTemplateUpdate & WithCapacityReservations(CapacityReservationsT &&value)
void SetLocalStorageConfiguration(LocalStorageConfigurationT &&value)
void SetNetworkConfiguration(NetworkConfigurationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue