AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
InstanceLaunchTemplateUpdate.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/CapacityReservationRequest.h>
10#include <aws/ecs/model/InstanceRequirementsRequest.h>
11#include <aws/ecs/model/ManagedInstancesLocalStorageConfiguration.h>
12#include <aws/ecs/model/ManagedInstancesMonitoringOptions.h>
13#include <aws/ecs/model/ManagedInstancesNetworkConfiguration.h>
14#include <aws/ecs/model/ManagedInstancesStorageConfiguration.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ECS {
26namespace Model {
27
40 public:
41 AWS_ECS_API InstanceLaunchTemplateUpdate() = default;
45
47
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>
64 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
65 return *this;
66 }
68
70
75 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
76 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
77 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
78 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
79 m_networkConfigurationHasBeenSet = true;
80 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
81 }
82 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
84 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
85 return *this;
86 }
88
90
94 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
95 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
96 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
97 void SetStorageConfiguration(StorageConfigurationT&& value) {
98 m_storageConfigurationHasBeenSet = true;
99 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
100 }
101 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
103 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
104 return *this;
105 }
107
109
122 inline bool GetInstanceMetadataTagsPropagation() const { return m_instanceMetadataTagsPropagation; }
123 inline bool InstanceMetadataTagsPropagationHasBeenSet() const { return m_instanceMetadataTagsPropagationHasBeenSet; }
124 inline void SetInstanceMetadataTagsPropagation(bool value) {
125 m_instanceMetadataTagsPropagationHasBeenSet = true;
126 m_instanceMetadataTagsPropagation = value;
127 }
130 return *this;
131 }
133
135
140 inline const ManagedInstancesLocalStorageConfiguration& GetLocalStorageConfiguration() const { return m_localStorageConfiguration; }
141 inline bool LocalStorageConfigurationHasBeenSet() const { return m_localStorageConfigurationHasBeenSet; }
142 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
143 void SetLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
144 m_localStorageConfigurationHasBeenSet = true;
145 m_localStorageConfiguration = std::forward<LocalStorageConfigurationT>(value);
146 }
147 template <typename LocalStorageConfigurationT = ManagedInstancesLocalStorageConfiguration>
148 InstanceLaunchTemplateUpdate& WithLocalStorageConfiguration(LocalStorageConfigurationT&& value) {
149 SetLocalStorageConfiguration(std::forward<LocalStorageConfigurationT>(value));
150 return *this;
151 }
153
155
166 inline ManagedInstancesMonitoringOptions GetMonitoring() const { return m_monitoring; }
167 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
169 m_monitoringHasBeenSet = true;
170 m_monitoring = value;
171 }
173 SetMonitoring(value);
174 return *this;
175 }
177
179
184 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
185 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
186 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
187 void SetInstanceRequirements(InstanceRequirementsT&& value) {
188 m_instanceRequirementsHasBeenSet = true;
189 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
190 }
191 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
193 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
194 return *this;
195 }
197
199
204 inline const CapacityReservationRequest& GetCapacityReservations() const { return m_capacityReservations; }
205 inline bool CapacityReservationsHasBeenSet() const { return m_capacityReservationsHasBeenSet; }
206 template <typename CapacityReservationsT = CapacityReservationRequest>
207 void SetCapacityReservations(CapacityReservationsT&& value) {
208 m_capacityReservationsHasBeenSet = true;
209 m_capacityReservations = std::forward<CapacityReservationsT>(value);
210 }
211 template <typename CapacityReservationsT = CapacityReservationRequest>
213 SetCapacityReservations(std::forward<CapacityReservationsT>(value));
214 return *this;
215 }
217 private:
218 Aws::String m_ec2InstanceProfileArn;
219
220 ManagedInstancesNetworkConfiguration m_networkConfiguration;
221
222 ManagedInstancesStorageConfiguration m_storageConfiguration;
223
224 bool m_instanceMetadataTagsPropagation{false};
225
226 ManagedInstancesLocalStorageConfiguration m_localStorageConfiguration;
227
229
230 InstanceRequirementsRequest m_instanceRequirements;
231
232 CapacityReservationRequest m_capacityReservations;
233 bool m_ec2InstanceProfileArnHasBeenSet = false;
234 bool m_networkConfigurationHasBeenSet = false;
235 bool m_storageConfigurationHasBeenSet = false;
236 bool m_instanceMetadataTagsPropagationHasBeenSet = false;
237 bool m_localStorageConfigurationHasBeenSet = false;
238 bool m_monitoringHasBeenSet = false;
239 bool m_instanceRequirementsHasBeenSet = false;
240 bool m_capacityReservationsHasBeenSet = false;
241};
242
243} // namespace Model
244} // namespace ECS
245} // namespace Aws
InstanceLaunchTemplateUpdate & WithNetworkConfiguration(NetworkConfigurationT &&value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
void SetCapacityReservations(CapacityReservationsT &&value)
void SetInstanceRequirements(InstanceRequirementsT &&value)
void SetMonitoring(ManagedInstancesMonitoringOptions value)
InstanceLaunchTemplateUpdate & WithMonitoring(ManagedInstancesMonitoringOptions value)
const ManagedInstancesNetworkConfiguration & GetNetworkConfiguration() const
ManagedInstancesMonitoringOptions GetMonitoring() const
const ManagedInstancesStorageConfiguration & GetStorageConfiguration() const
const ManagedInstancesLocalStorageConfiguration & GetLocalStorageConfiguration() const
AWS_ECS_API InstanceLaunchTemplateUpdate(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplateUpdate & WithInstanceRequirements(InstanceRequirementsT &&value)
InstanceLaunchTemplateUpdate & WithLocalStorageConfiguration(LocalStorageConfigurationT &&value)
void SetStorageConfiguration(StorageConfigurationT &&value)
InstanceLaunchTemplateUpdate & WithEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
InstanceLaunchTemplateUpdate & WithCapacityReservations(CapacityReservationsT &&value)
void SetNetworkConfiguration(NetworkConfigurationT &&value)
const CapacityReservationRequest & GetCapacityReservations() const
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ECS_API InstanceLaunchTemplateUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplateUpdate & WithStorageConfiguration(StorageConfigurationT &&value)
InstanceLaunchTemplateUpdate & WithInstanceMetadataTagsPropagation(bool value)
void SetLocalStorageConfiguration(LocalStorageConfigurationT &&value)
void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
AWS_ECS_API InstanceLaunchTemplateUpdate()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue