AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Cluster.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/pcs/PCS_EXPORTS.h>
11#include <aws/pcs/model/ClusterSlurmConfiguration.h>
12#include <aws/pcs/model/ClusterStatus.h>
13#include <aws/pcs/model/Endpoint.h>
14#include <aws/pcs/model/ErrorInfo.h>
15#include <aws/pcs/model/Networking.h>
16#include <aws/pcs/model/Scheduler.h>
17#include <aws/pcs/model/Size.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace PCS {
29namespace Model {
30
36class Cluster {
37 public:
38 AWS_PCS_API Cluster() = default;
39 AWS_PCS_API Cluster(Aws::Utils::Json::JsonView jsonValue);
42
44
47 inline const Aws::String& GetName() const { return m_name; }
48 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
49 template <typename NameT = Aws::String>
50 void SetName(NameT&& value) {
51 m_nameHasBeenSet = true;
52 m_name = std::forward<NameT>(value);
53 }
54 template <typename NameT = Aws::String>
55 Cluster& WithName(NameT&& value) {
56 SetName(std::forward<NameT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetId() const { return m_id; }
66 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
67 template <typename IdT = Aws::String>
68 void SetId(IdT&& value) {
69 m_idHasBeenSet = true;
70 m_id = std::forward<IdT>(value);
71 }
72 template <typename IdT = Aws::String>
73 Cluster& WithId(IdT&& value) {
74 SetId(std::forward<IdT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::String& GetArn() const { return m_arn; }
84 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
85 template <typename ArnT = Aws::String>
86 void SetArn(ArnT&& value) {
87 m_arnHasBeenSet = true;
88 m_arn = std::forward<ArnT>(value);
89 }
90 template <typename ArnT = Aws::String>
91 Cluster& WithArn(ArnT&& value) {
92 SetArn(std::forward<ArnT>(value));
93 return *this;
94 }
96
98
111 inline ClusterStatus GetStatus() const { return m_status; }
112 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
113 inline void SetStatus(ClusterStatus value) {
114 m_statusHasBeenSet = true;
115 m_status = value;
116 }
118 SetStatus(value);
119 return *this;
120 }
122
124
127 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
128 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
129 template <typename CreatedAtT = Aws::Utils::DateTime>
130 void SetCreatedAt(CreatedAtT&& value) {
131 m_createdAtHasBeenSet = true;
132 m_createdAt = std::forward<CreatedAtT>(value);
133 }
134 template <typename CreatedAtT = Aws::Utils::DateTime>
135 Cluster& WithCreatedAt(CreatedAtT&& value) {
136 SetCreatedAt(std::forward<CreatedAtT>(value));
137 return *this;
138 }
140
142
145 inline const Aws::Utils::DateTime& GetModifiedAt() const { return m_modifiedAt; }
146 inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; }
147 template <typename ModifiedAtT = Aws::Utils::DateTime>
148 void SetModifiedAt(ModifiedAtT&& value) {
149 m_modifiedAtHasBeenSet = true;
150 m_modifiedAt = std::forward<ModifiedAtT>(value);
151 }
152 template <typename ModifiedAtT = Aws::Utils::DateTime>
153 Cluster& WithModifiedAt(ModifiedAtT&& value) {
154 SetModifiedAt(std::forward<ModifiedAtT>(value));
155 return *this;
156 }
158
160
161 inline const Scheduler& GetScheduler() const { return m_scheduler; }
162 inline bool SchedulerHasBeenSet() const { return m_schedulerHasBeenSet; }
163 template <typename SchedulerT = Scheduler>
164 void SetScheduler(SchedulerT&& value) {
165 m_schedulerHasBeenSet = true;
166 m_scheduler = std::forward<SchedulerT>(value);
167 }
168 template <typename SchedulerT = Scheduler>
169 Cluster& WithScheduler(SchedulerT&& value) {
170 SetScheduler(std::forward<SchedulerT>(value));
171 return *this;
172 }
174
176
182 inline Size GetSize() const { return m_size; }
183 inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
184 inline void SetSize(Size value) {
185 m_sizeHasBeenSet = true;
186 m_size = value;
187 }
188 inline Cluster& WithSize(Size value) {
189 SetSize(value);
190 return *this;
191 }
193
195
198 inline const ClusterSlurmConfiguration& GetSlurmConfiguration() const { return m_slurmConfiguration; }
199 inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; }
200 template <typename SlurmConfigurationT = ClusterSlurmConfiguration>
201 void SetSlurmConfiguration(SlurmConfigurationT&& value) {
202 m_slurmConfigurationHasBeenSet = true;
203 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
204 }
205 template <typename SlurmConfigurationT = ClusterSlurmConfiguration>
206 Cluster& WithSlurmConfiguration(SlurmConfigurationT&& value) {
207 SetSlurmConfiguration(std::forward<SlurmConfigurationT>(value));
208 return *this;
209 }
211
213
214 inline const Networking& GetNetworking() const { return m_networking; }
215 inline bool NetworkingHasBeenSet() const { return m_networkingHasBeenSet; }
216 template <typename NetworkingT = Networking>
217 void SetNetworking(NetworkingT&& value) {
218 m_networkingHasBeenSet = true;
219 m_networking = std::forward<NetworkingT>(value);
220 }
221 template <typename NetworkingT = Networking>
222 Cluster& WithNetworking(NetworkingT&& value) {
223 SetNetworking(std::forward<NetworkingT>(value));
224 return *this;
225 }
227
229
232 inline const Aws::Vector<Endpoint>& GetEndpoints() const { return m_endpoints; }
233 inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; }
234 template <typename EndpointsT = Aws::Vector<Endpoint>>
235 void SetEndpoints(EndpointsT&& value) {
236 m_endpointsHasBeenSet = true;
237 m_endpoints = std::forward<EndpointsT>(value);
238 }
239 template <typename EndpointsT = Aws::Vector<Endpoint>>
240 Cluster& WithEndpoints(EndpointsT&& value) {
241 SetEndpoints(std::forward<EndpointsT>(value));
242 return *this;
243 }
244 template <typename EndpointsT = Endpoint>
245 Cluster& AddEndpoints(EndpointsT&& value) {
246 m_endpointsHasBeenSet = true;
247 m_endpoints.emplace_back(std::forward<EndpointsT>(value));
248 return *this;
249 }
251
253
256 inline const Aws::Vector<ErrorInfo>& GetErrorInfo() const { return m_errorInfo; }
257 inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; }
258 template <typename ErrorInfoT = Aws::Vector<ErrorInfo>>
259 void SetErrorInfo(ErrorInfoT&& value) {
260 m_errorInfoHasBeenSet = true;
261 m_errorInfo = std::forward<ErrorInfoT>(value);
262 }
263 template <typename ErrorInfoT = Aws::Vector<ErrorInfo>>
264 Cluster& WithErrorInfo(ErrorInfoT&& value) {
265 SetErrorInfo(std::forward<ErrorInfoT>(value));
266 return *this;
267 }
268 template <typename ErrorInfoT = ErrorInfo>
269 Cluster& AddErrorInfo(ErrorInfoT&& value) {
270 m_errorInfoHasBeenSet = true;
271 m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value));
272 return *this;
273 }
275 private:
276 Aws::String m_name;
277
278 Aws::String m_id;
279
280 Aws::String m_arn;
281
283
284 Aws::Utils::DateTime m_createdAt{};
285
286 Aws::Utils::DateTime m_modifiedAt{};
287
288 Scheduler m_scheduler;
289
290 Size m_size{Size::NOT_SET};
291
292 ClusterSlurmConfiguration m_slurmConfiguration;
293
294 Networking m_networking;
295
296 Aws::Vector<Endpoint> m_endpoints;
297
298 Aws::Vector<ErrorInfo> m_errorInfo;
299 bool m_nameHasBeenSet = false;
300 bool m_idHasBeenSet = false;
301 bool m_arnHasBeenSet = false;
302 bool m_statusHasBeenSet = false;
303 bool m_createdAtHasBeenSet = false;
304 bool m_modifiedAtHasBeenSet = false;
305 bool m_schedulerHasBeenSet = false;
306 bool m_sizeHasBeenSet = false;
307 bool m_slurmConfigurationHasBeenSet = false;
308 bool m_networkingHasBeenSet = false;
309 bool m_endpointsHasBeenSet = false;
310 bool m_errorInfoHasBeenSet = false;
311};
312
313} // namespace Model
314} // namespace PCS
315} // namespace Aws
void SetSlurmConfiguration(SlurmConfigurationT &&value)
Definition Cluster.h:201
bool ArnHasBeenSet() const
Definition Cluster.h:84
void SetName(NameT &&value)
Definition Cluster.h:50
const Aws::String & GetName() const
Definition Cluster.h:47
Cluster & WithScheduler(SchedulerT &&value)
Definition Cluster.h:169
ClusterStatus GetStatus() const
Definition Cluster.h:111
void SetNetworking(NetworkingT &&value)
Definition Cluster.h:217
bool ModifiedAtHasBeenSet() const
Definition Cluster.h:146
Cluster & WithStatus(ClusterStatus value)
Definition Cluster.h:117
bool NetworkingHasBeenSet() const
Definition Cluster.h:215
void SetSize(Size value)
Definition Cluster.h:184
Cluster & WithSlurmConfiguration(SlurmConfigurationT &&value)
Definition Cluster.h:206
Cluster & WithNetworking(NetworkingT &&value)
Definition Cluster.h:222
AWS_PCS_API Cluster()=default
Cluster & WithId(IdT &&value)
Definition Cluster.h:73
void SetErrorInfo(ErrorInfoT &&value)
Definition Cluster.h:259
Cluster & AddEndpoints(EndpointsT &&value)
Definition Cluster.h:245
Cluster & WithCreatedAt(CreatedAtT &&value)
Definition Cluster.h:135
Cluster & AddErrorInfo(ErrorInfoT &&value)
Definition Cluster.h:269
void SetId(IdT &&value)
Definition Cluster.h:68
Cluster & WithEndpoints(EndpointsT &&value)
Definition Cluster.h:240
const Networking & GetNetworking() const
Definition Cluster.h:214
bool SlurmConfigurationHasBeenSet() const
Definition Cluster.h:199
bool IdHasBeenSet() const
Definition Cluster.h:66
bool CreatedAtHasBeenSet() const
Definition Cluster.h:128
AWS_PCS_API Cluster(Aws::Utils::Json::JsonView jsonValue)
Cluster & WithSize(Size value)
Definition Cluster.h:188
Cluster & WithArn(ArnT &&value)
Definition Cluster.h:91
const Aws::String & GetId() const
Definition Cluster.h:65
bool NameHasBeenSet() const
Definition Cluster.h:48
const Aws::Vector< Endpoint > & GetEndpoints() const
Definition Cluster.h:232
bool SchedulerHasBeenSet() const
Definition Cluster.h:162
const Aws::String & GetArn() const
Definition Cluster.h:83
void SetEndpoints(EndpointsT &&value)
Definition Cluster.h:235
const ClusterSlurmConfiguration & GetSlurmConfiguration() const
Definition Cluster.h:198
void SetScheduler(SchedulerT &&value)
Definition Cluster.h:164
const Aws::Vector< ErrorInfo > & GetErrorInfo() const
Definition Cluster.h:256
Cluster & WithErrorInfo(ErrorInfoT &&value)
Definition Cluster.h:264
bool ErrorInfoHasBeenSet() const
Definition Cluster.h:257
bool SizeHasBeenSet() const
Definition Cluster.h:183
AWS_PCS_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
const Scheduler & GetScheduler() const
Definition Cluster.h:161
void SetCreatedAt(CreatedAtT &&value)
Definition Cluster.h:130
Cluster & WithModifiedAt(ModifiedAtT &&value)
Definition Cluster.h:153
void SetArn(ArnT &&value)
Definition Cluster.h:86
const Aws::Utils::DateTime & GetModifiedAt() const
Definition Cluster.h:145
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Cluster.h:127
void SetStatus(ClusterStatus value)
Definition Cluster.h:113
Size GetSize() const
Definition Cluster.h:182
bool StatusHasBeenSet() const
Definition Cluster.h:112
bool EndpointsHasBeenSet() const
Definition Cluster.h:233
void SetModifiedAt(ModifiedAtT &&value)
Definition Cluster.h:148
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
Cluster & WithName(NameT &&value)
Definition Cluster.h:55
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue