AWS SDK for C++

AWS SDK for C++ Version 1.11.752

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/InstanceRequirementsRequest.h>
10#include <aws/ecs/model/ManagedInstancesMonitoringOptions.h>
11#include <aws/ecs/model/ManagedInstancesNetworkConfiguration.h>
12#include <aws/ecs/model/ManagedInstancesStorageConfiguration.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ECS {
24namespace Model {
25
38 public:
39 AWS_ECS_API InstanceLaunchTemplateUpdate() = default;
43
45
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>
62 SetEc2InstanceProfileArn(std::forward<Ec2InstanceProfileArnT>(value));
63 return *this;
64 }
66
68
73 inline const ManagedInstancesNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
74 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
75 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
76 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
77 m_networkConfigurationHasBeenSet = true;
78 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
79 }
80 template <typename NetworkConfigurationT = ManagedInstancesNetworkConfiguration>
82 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
83 return *this;
84 }
86
88
92 inline const ManagedInstancesStorageConfiguration& GetStorageConfiguration() const { return m_storageConfiguration; }
93 inline bool StorageConfigurationHasBeenSet() const { return m_storageConfigurationHasBeenSet; }
94 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
95 void SetStorageConfiguration(StorageConfigurationT&& value) {
96 m_storageConfigurationHasBeenSet = true;
97 m_storageConfiguration = std::forward<StorageConfigurationT>(value);
98 }
99 template <typename StorageConfigurationT = ManagedInstancesStorageConfiguration>
101 SetStorageConfiguration(std::forward<StorageConfigurationT>(value));
102 return *this;
103 }
105
107
118 inline ManagedInstancesMonitoringOptions GetMonitoring() const { return m_monitoring; }
119 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
121 m_monitoringHasBeenSet = true;
122 m_monitoring = value;
123 }
125 SetMonitoring(value);
126 return *this;
127 }
129
131
136 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
137 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
138 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
139 void SetInstanceRequirements(InstanceRequirementsT&& value) {
140 m_instanceRequirementsHasBeenSet = true;
141 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
142 }
143 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
145 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
146 return *this;
147 }
149 private:
150 Aws::String m_ec2InstanceProfileArn;
151
152 ManagedInstancesNetworkConfiguration m_networkConfiguration;
153
154 ManagedInstancesStorageConfiguration m_storageConfiguration;
155
157
158 InstanceRequirementsRequest m_instanceRequirements;
159 bool m_ec2InstanceProfileArnHasBeenSet = false;
160 bool m_networkConfigurationHasBeenSet = false;
161 bool m_storageConfigurationHasBeenSet = false;
162 bool m_monitoringHasBeenSet = false;
163 bool m_instanceRequirementsHasBeenSet = false;
164};
165
166} // namespace Model
167} // namespace ECS
168} // namespace Aws
InstanceLaunchTemplateUpdate & WithNetworkConfiguration(NetworkConfigurationT &&value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
void SetInstanceRequirements(InstanceRequirementsT &&value)
void SetMonitoring(ManagedInstancesMonitoringOptions value)
InstanceLaunchTemplateUpdate & WithMonitoring(ManagedInstancesMonitoringOptions value)
const ManagedInstancesNetworkConfiguration & GetNetworkConfiguration() const
ManagedInstancesMonitoringOptions GetMonitoring() const
const ManagedInstancesStorageConfiguration & GetStorageConfiguration() const
AWS_ECS_API InstanceLaunchTemplateUpdate(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplateUpdate & WithInstanceRequirements(InstanceRequirementsT &&value)
void SetStorageConfiguration(StorageConfigurationT &&value)
InstanceLaunchTemplateUpdate & WithEc2InstanceProfileArn(Ec2InstanceProfileArnT &&value)
void SetNetworkConfiguration(NetworkConfigurationT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ECS_API InstanceLaunchTemplateUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceLaunchTemplateUpdate & WithStorageConfiguration(StorageConfigurationT &&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