AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
CapacityProvider.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ecs/ECS_EXPORTS.h>
10#include <aws/ecs/model/AutoScalingGroupProvider.h>
11#include <aws/ecs/model/CapacityProviderStatus.h>
12#include <aws/ecs/model/CapacityProviderType.h>
13#include <aws/ecs/model/CapacityProviderUpdateStatus.h>
14#include <aws/ecs/model/ManagedInstancesProvider.h>
15#include <aws/ecs/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ECS {
27namespace Model {
28
35 public:
36 AWS_ECS_API CapacityProvider() = default;
40
42
45 inline const Aws::String& GetCapacityProviderArn() const { return m_capacityProviderArn; }
46 inline bool CapacityProviderArnHasBeenSet() const { return m_capacityProviderArnHasBeenSet; }
47 template <typename CapacityProviderArnT = Aws::String>
48 void SetCapacityProviderArn(CapacityProviderArnT&& value) {
49 m_capacityProviderArnHasBeenSet = true;
50 m_capacityProviderArn = std::forward<CapacityProviderArnT>(value);
51 }
52 template <typename CapacityProviderArnT = Aws::String>
53 CapacityProvider& WithCapacityProviderArn(CapacityProviderArnT&& value) {
54 SetCapacityProviderArn(std::forward<CapacityProviderArnT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
71 CapacityProvider& WithName(NameT&& value) {
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
83 inline const Aws::String& GetCluster() const { return m_cluster; }
84 inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; }
85 template <typename ClusterT = Aws::String>
86 void SetCluster(ClusterT&& value) {
87 m_clusterHasBeenSet = true;
88 m_cluster = std::forward<ClusterT>(value);
89 }
90 template <typename ClusterT = Aws::String>
91 CapacityProvider& WithCluster(ClusterT&& value) {
92 SetCluster(std::forward<ClusterT>(value));
93 return *this;
94 }
96
98
103 inline CapacityProviderStatus GetStatus() const { return m_status; }
104 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
106 m_statusHasBeenSet = true;
107 m_status = value;
108 }
110 SetStatus(value);
111 return *this;
112 }
114
116
119 inline const AutoScalingGroupProvider& GetAutoScalingGroupProvider() const { return m_autoScalingGroupProvider; }
120 inline bool AutoScalingGroupProviderHasBeenSet() const { return m_autoScalingGroupProviderHasBeenSet; }
121 template <typename AutoScalingGroupProviderT = AutoScalingGroupProvider>
122 void SetAutoScalingGroupProvider(AutoScalingGroupProviderT&& value) {
123 m_autoScalingGroupProviderHasBeenSet = true;
124 m_autoScalingGroupProvider = std::forward<AutoScalingGroupProviderT>(value);
125 }
126 template <typename AutoScalingGroupProviderT = AutoScalingGroupProvider>
127 CapacityProvider& WithAutoScalingGroupProvider(AutoScalingGroupProviderT&& value) {
128 SetAutoScalingGroupProvider(std::forward<AutoScalingGroupProviderT>(value));
129 return *this;
130 }
132
134
139 inline const ManagedInstancesProvider& GetManagedInstancesProvider() const { return m_managedInstancesProvider; }
140 inline bool ManagedInstancesProviderHasBeenSet() const { return m_managedInstancesProviderHasBeenSet; }
141 template <typename ManagedInstancesProviderT = ManagedInstancesProvider>
142 void SetManagedInstancesProvider(ManagedInstancesProviderT&& value) {
143 m_managedInstancesProviderHasBeenSet = true;
144 m_managedInstancesProvider = std::forward<ManagedInstancesProviderT>(value);
145 }
146 template <typename ManagedInstancesProviderT = ManagedInstancesProvider>
147 CapacityProvider& WithManagedInstancesProvider(ManagedInstancesProviderT&& value) {
148 SetManagedInstancesProvider(std::forward<ManagedInstancesProviderT>(value));
149 return *this;
150 }
152
154
163 inline CapacityProviderUpdateStatus GetUpdateStatus() const { return m_updateStatus; }
164 inline bool UpdateStatusHasBeenSet() const { return m_updateStatusHasBeenSet; }
166 m_updateStatusHasBeenSet = true;
167 m_updateStatus = value;
168 }
170 SetUpdateStatus(value);
171 return *this;
172 }
174
176
180 inline const Aws::String& GetUpdateStatusReason() const { return m_updateStatusReason; }
181 inline bool UpdateStatusReasonHasBeenSet() const { return m_updateStatusReasonHasBeenSet; }
182 template <typename UpdateStatusReasonT = Aws::String>
183 void SetUpdateStatusReason(UpdateStatusReasonT&& value) {
184 m_updateStatusReasonHasBeenSet = true;
185 m_updateStatusReason = std::forward<UpdateStatusReasonT>(value);
186 }
187 template <typename UpdateStatusReasonT = Aws::String>
188 CapacityProvider& WithUpdateStatusReason(UpdateStatusReasonT&& value) {
189 SetUpdateStatusReason(std::forward<UpdateStatusReasonT>(value));
190 return *this;
191 }
193
195
213 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
214 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
215 template <typename TagsT = Aws::Vector<Tag>>
216 void SetTags(TagsT&& value) {
217 m_tagsHasBeenSet = true;
218 m_tags = std::forward<TagsT>(value);
219 }
220 template <typename TagsT = Aws::Vector<Tag>>
221 CapacityProvider& WithTags(TagsT&& value) {
222 SetTags(std::forward<TagsT>(value));
223 return *this;
224 }
225 template <typename TagsT = Tag>
226 CapacityProvider& AddTags(TagsT&& value) {
227 m_tagsHasBeenSet = true;
228 m_tags.emplace_back(std::forward<TagsT>(value));
229 return *this;
230 }
232
234
239 inline CapacityProviderType GetType() const { return m_type; }
240 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
241 inline void SetType(CapacityProviderType value) {
242 m_typeHasBeenSet = true;
243 m_type = value;
244 }
246 SetType(value);
247 return *this;
248 }
250 private:
251 Aws::String m_capacityProviderArn;
252
253 Aws::String m_name;
254
255 Aws::String m_cluster;
256
258
259 AutoScalingGroupProvider m_autoScalingGroupProvider;
260
261 ManagedInstancesProvider m_managedInstancesProvider;
262
264
265 Aws::String m_updateStatusReason;
266
267 Aws::Vector<Tag> m_tags;
268
270 bool m_capacityProviderArnHasBeenSet = false;
271 bool m_nameHasBeenSet = false;
272 bool m_clusterHasBeenSet = false;
273 bool m_statusHasBeenSet = false;
274 bool m_autoScalingGroupProviderHasBeenSet = false;
275 bool m_managedInstancesProviderHasBeenSet = false;
276 bool m_updateStatusHasBeenSet = false;
277 bool m_updateStatusReasonHasBeenSet = false;
278 bool m_tagsHasBeenSet = false;
279 bool m_typeHasBeenSet = false;
280};
281
282} // namespace Model
283} // namespace ECS
284} // namespace Aws
CapacityProvider & WithUpdateStatusReason(UpdateStatusReasonT &&value)
CapacityProviderStatus GetStatus() const
CapacityProvider & WithType(CapacityProviderType value)
AWS_ECS_API CapacityProvider & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetType(CapacityProviderType value)
const Aws::String & GetName() const
CapacityProvider & WithStatus(CapacityProviderStatus value)
CapacityProvider & WithName(NameT &&value)
CapacityProvider & AddTags(TagsT &&value)
CapacityProvider & WithUpdateStatus(CapacityProviderUpdateStatus value)
CapacityProvider & WithAutoScalingGroupProvider(AutoScalingGroupProviderT &&value)
const ManagedInstancesProvider & GetManagedInstancesProvider() const
const Aws::String & GetCapacityProviderArn() const
AWS_ECS_API CapacityProvider()=default
void SetUpdateStatus(CapacityProviderUpdateStatus value)
void SetUpdateStatusReason(UpdateStatusReasonT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetManagedInstancesProvider(ManagedInstancesProviderT &&value)
const Aws::String & GetUpdateStatusReason() const
CapacityProvider & WithTags(TagsT &&value)
CapacityProvider & WithManagedInstancesProvider(ManagedInstancesProviderT &&value)
CapacityProviderType GetType() const
void SetStatus(CapacityProviderStatus value)
const AutoScalingGroupProvider & GetAutoScalingGroupProvider() const
AWS_ECS_API CapacityProvider(Aws::Utils::Json::JsonView jsonValue)
CapacityProvider & WithCluster(ClusterT &&value)
CapacityProviderUpdateStatus GetUpdateStatus() const
const Aws::String & GetCluster() const
const Aws::Vector< Tag > & GetTags() const
void SetAutoScalingGroupProvider(AutoScalingGroupProviderT &&value)
void SetCluster(ClusterT &&value)
void SetCapacityProviderArn(CapacityProviderArnT &&value)
CapacityProvider & WithCapacityProviderArn(CapacityProviderArnT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue