AWS SDK for C++

AWS SDK for C++ Version 1.11.752

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/InstanceRequirementsRequest.h>
11#include <aws/ecs/model/ManagedInstancesMonitoringOptions.h>
12#include <aws/ecs/model/ManagedInstancesNetworkConfiguration.h>
13#include <aws/ecs/model/ManagedInstancesStorageConfiguration.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ECS {
25namespace Model {
26
37 public:
38 AWS_ECS_API InstanceLaunchTemplate() = default;
42
44
53 inline const Aws::String& GetEc2InstanceProfileArn() const { return m_ec2InstanceProfileArn; }
54 inline bool Ec2InstanceProfileArnHasBeenSet() const { return m_ec2InstanceProfileArnHasBeenSet; }
55 template <typename Ec2InstanceProfileArnT = Aws::String>
56 void SetEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
57 m_ec2InstanceProfileArnHasBeenSet = true;
58 m_ec2InstanceProfileArn = std::forward<Ec2InstanceProfileArnT>(value);
59 }
60 template <typename Ec2InstanceProfileArnT = Aws::String>
61 InstanceLaunchTemplate& WithEc2InstanceProfileArn(Ec2InstanceProfileArnT&& value) {
62 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
63 return *this;
64 }
66
68
72 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
73 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
74 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
75 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
76 m_networkConfigurationHasBeenSet = true;
77 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
78 }
79 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
80 InstanceLaunchTemplate& WithNetworkConfiguration(NetworkConfigurationT&& value) {
81 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
82 return *this;
83 }
85
87
91 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
92 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
93 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
94 void SetStorageConfiguration(StorageConfigurationT&& value) {
95 m_storageConfigurationHasBeenSet = true;
96 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
97 }
98 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
99 InstanceLaunchTemplate& WithStorageConfiguration(StorageConfigurationT&& value) {
100 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
101 return *this;
102 }
104
106
117 inline ManagedInstancesMonitoringOptions GetMonitoring() const { return m_monitoring; }
118 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
120 m_monitoringHasBeenSet = true;
121 m_monitoring = value;
122 }
124 SetMonitoring(value);
125 return *this;
126 }
128
130
143 inline CapacityOptionType GetCapacityOptionType() const { return m_capacityOptionType; }
144 inline bool CapacityOptionTypeHasBeenSet() const { return m_capacityOptionTypeHasBeenSet; }
146 m_capacityOptionTypeHasBeenSet = true;
147 m_capacityOptionType = value;
148 }
151 return *this;
152 }
154
156
162 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
163 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
164 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
165 void SetInstanceRequirements(InstanceRequirementsT&& value) {
166 m_instanceRequirementsHasBeenSet = true;
167 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
168 }
169 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
170 InstanceLaunchTemplate& WithInstanceRequirements(InstanceRequirementsT&& value) {
171 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
172 return *this;
173 }
175
177
185 inline bool GetFipsEnabled() const { return m_fipsEnabled; }
186 inline bool FipsEnabledHasBeenSet() const { return m_fipsEnabledHasBeenSet; }
187 inline void SetFipsEnabled(bool value) {
188 m_fipsEnabledHasBeenSet = true;
189 m_fipsEnabled = value;
190 }
192 SetFipsEnabled(value);
193 return *this;
194 }
196 private:
197 Aws::String m_ec2InstanceProfileArn;
198
199 ManagedInstancesNetworkConfiguration m_networkConfiguration;
200
201 ManagedInstancesStorageConfiguration m_storageConfiguration;
202
204
206
207 InstanceRequirementsRequest m_instanceRequirements;
208
209 bool m_fipsEnabled{false};
210 bool m_ec2InstanceProfileArnHasBeenSet = false;
211 bool m_networkConfigurationHasBeenSet = false;
212 bool m_storageConfigurationHasBeenSet = false;
213 bool m_monitoringHasBeenSet = false;
214 bool m_capacityOptionTypeHasBeenSet = false;
215 bool m_instanceRequirementsHasBeenSet = false;
216 bool m_fipsEnabledHasBeenSet = false;
217};
218
219} // namespace Model
220} // namespace ECS
221} // namespace Aws
AWS_ECS_API InstanceLaunchTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplate & WithCapacityOptionType(CapacityOptionType value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
InstanceLaunchTemplate & WithFipsEnabled(bool value)
InstanceLaunchTemplate & WithMonitoring(ManagedInstancesMonitoringOptions 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
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