AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ComputeNodeGroup.h
1
6#pragma once
7#include <aws/pcs/PCS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/pcs/model/ComputeNodeGroupStatus.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/pcs/model/PurchaseOption.h>
13#include <aws/pcs/model/CustomLaunchTemplate.h>
14#include <aws/pcs/model/ScalingConfiguration.h>
15#include <aws/pcs/model/SpotOptions.h>
16#include <aws/pcs/model/ComputeNodeGroupSlurmConfiguration.h>
17#include <aws/pcs/model/InstanceConfig.h>
18#include <aws/pcs/model/ErrorInfo.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace PCS
32{
33namespace Model
34{
35
42 {
43 public:
44 AWS_PCS_API ComputeNodeGroup() = default;
48
49
51
54 inline const Aws::String& GetName() const { return m_name; }
55 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
56 template<typename NameT = Aws::String>
57 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
58 template<typename NameT = Aws::String>
59 ComputeNodeGroup& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
61
63
66 inline const Aws::String& GetId() const { return m_id; }
67 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
68 template<typename IdT = Aws::String>
69 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
70 template<typename IdT = Aws::String>
71 ComputeNodeGroup& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
73
75
78 inline const Aws::String& GetArn() const { return m_arn; }
79 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
80 template<typename ArnT = Aws::String>
81 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
82 template<typename ArnT = Aws::String>
83 ComputeNodeGroup& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
85
87
90 inline const Aws::String& GetClusterId() const { return m_clusterId; }
91 inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; }
92 template<typename ClusterIdT = Aws::String>
93 void SetClusterId(ClusterIdT&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::forward<ClusterIdT>(value); }
94 template<typename ClusterIdT = Aws::String>
95 ComputeNodeGroup& WithClusterId(ClusterIdT&& value) { SetClusterId(std::forward<ClusterIdT>(value)); return *this;}
97
99
102 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
103 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
104 template<typename CreatedAtT = Aws::Utils::DateTime>
105 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
106 template<typename CreatedAtT = Aws::Utils::DateTime>
107 ComputeNodeGroup& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
109
111
114 inline const Aws::Utils::DateTime& GetModifiedAt() const { return m_modifiedAt; }
115 inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; }
116 template<typename ModifiedAtT = Aws::Utils::DateTime>
117 void SetModifiedAt(ModifiedAtT&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::forward<ModifiedAtT>(value); }
118 template<typename ModifiedAtT = Aws::Utils::DateTime>
119 ComputeNodeGroup& WithModifiedAt(ModifiedAtT&& value) { SetModifiedAt(std::forward<ModifiedAtT>(value)); return *this;}
121
123
137 inline ComputeNodeGroupStatus GetStatus() const { return m_status; }
138 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
139 inline void SetStatus(ComputeNodeGroupStatus value) { m_statusHasBeenSet = true; m_status = value; }
140 inline ComputeNodeGroup& WithStatus(ComputeNodeGroupStatus value) { SetStatus(value); return *this;}
142
144
149 inline const Aws::String& GetAmiId() const { return m_amiId; }
150 inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; }
151 template<typename AmiIdT = Aws::String>
152 void SetAmiId(AmiIdT&& value) { m_amiIdHasBeenSet = true; m_amiId = std::forward<AmiIdT>(value); }
153 template<typename AmiIdT = Aws::String>
154 ComputeNodeGroup& WithAmiId(AmiIdT&& value) { SetAmiId(std::forward<AmiIdT>(value)); return *this;}
156
158
162 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
163 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
164 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
165 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::forward<SubnetIdsT>(value); }
166 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
167 ComputeNodeGroup& WithSubnetIds(SubnetIdsT&& value) { SetSubnetIds(std::forward<SubnetIdsT>(value)); return *this;}
168 template<typename SubnetIdsT = Aws::String>
169 ComputeNodeGroup& AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value)); return *this; }
171
173
180 inline PurchaseOption GetPurchaseOption() const { return m_purchaseOption; }
181 inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; }
182 inline void SetPurchaseOption(PurchaseOption value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = value; }
185
187
188 inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const { return m_customLaunchTemplate; }
189 inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; }
190 template<typename CustomLaunchTemplateT = CustomLaunchTemplate>
191 void SetCustomLaunchTemplate(CustomLaunchTemplateT&& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value); }
192 template<typename CustomLaunchTemplateT = CustomLaunchTemplate>
193 ComputeNodeGroup& WithCustomLaunchTemplate(CustomLaunchTemplateT&& value) { SetCustomLaunchTemplate(std::forward<CustomLaunchTemplateT>(value)); return *this;}
195
197
209 inline const Aws::String& GetIamInstanceProfileArn() const { return m_iamInstanceProfileArn; }
210 inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; }
211 template<typename IamInstanceProfileArnT = Aws::String>
212 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value); }
213 template<typename IamInstanceProfileArnT = Aws::String>
214 ComputeNodeGroup& WithIamInstanceProfileArn(IamInstanceProfileArnT&& value) { SetIamInstanceProfileArn(std::forward<IamInstanceProfileArnT>(value)); return *this;}
216
218
219 inline const ScalingConfiguration& GetScalingConfiguration() const { return m_scalingConfiguration; }
220 inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; }
221 template<typename ScalingConfigurationT = ScalingConfiguration>
222 void SetScalingConfiguration(ScalingConfigurationT&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::forward<ScalingConfigurationT>(value); }
223 template<typename ScalingConfigurationT = ScalingConfiguration>
224 ComputeNodeGroup& WithScalingConfiguration(ScalingConfigurationT&& value) { SetScalingConfiguration(std::forward<ScalingConfigurationT>(value)); return *this;}
226
228
232 inline const Aws::Vector<InstanceConfig>& GetInstanceConfigs() const { return m_instanceConfigs; }
233 inline bool InstanceConfigsHasBeenSet() const { return m_instanceConfigsHasBeenSet; }
234 template<typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
235 void SetInstanceConfigs(InstanceConfigsT&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = std::forward<InstanceConfigsT>(value); }
236 template<typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
237 ComputeNodeGroup& WithInstanceConfigs(InstanceConfigsT&& value) { SetInstanceConfigs(std::forward<InstanceConfigsT>(value)); return *this;}
238 template<typename InstanceConfigsT = InstanceConfig>
239 ComputeNodeGroup& AddInstanceConfigs(InstanceConfigsT&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value)); return *this; }
241
243
244 inline const SpotOptions& GetSpotOptions() const { return m_spotOptions; }
245 inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; }
246 template<typename SpotOptionsT = SpotOptions>
247 void SetSpotOptions(SpotOptionsT&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::forward<SpotOptionsT>(value); }
248 template<typename SpotOptionsT = SpotOptions>
249 ComputeNodeGroup& WithSpotOptions(SpotOptionsT&& value) { SetSpotOptions(std::forward<SpotOptionsT>(value)); return *this;}
251
253
254 inline const ComputeNodeGroupSlurmConfiguration& GetSlurmConfiguration() const { return m_slurmConfiguration; }
255 inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; }
256 template<typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
257 void SetSlurmConfiguration(SlurmConfigurationT&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::forward<SlurmConfigurationT>(value); }
258 template<typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
259 ComputeNodeGroup& WithSlurmConfiguration(SlurmConfigurationT&& value) { SetSlurmConfiguration(std::forward<SlurmConfigurationT>(value)); return *this;}
261
263
266 inline const Aws::Vector<ErrorInfo>& GetErrorInfo() const { return m_errorInfo; }
267 inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; }
268 template<typename ErrorInfoT = Aws::Vector<ErrorInfo>>
269 void SetErrorInfo(ErrorInfoT&& value) { m_errorInfoHasBeenSet = true; m_errorInfo = std::forward<ErrorInfoT>(value); }
270 template<typename ErrorInfoT = Aws::Vector<ErrorInfo>>
271 ComputeNodeGroup& WithErrorInfo(ErrorInfoT&& value) { SetErrorInfo(std::forward<ErrorInfoT>(value)); return *this;}
272 template<typename ErrorInfoT = ErrorInfo>
273 ComputeNodeGroup& AddErrorInfo(ErrorInfoT&& value) { m_errorInfoHasBeenSet = true; m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value)); return *this; }
275 private:
276
277 Aws::String m_name;
278 bool m_nameHasBeenSet = false;
279
280 Aws::String m_id;
281 bool m_idHasBeenSet = false;
282
283 Aws::String m_arn;
284 bool m_arnHasBeenSet = false;
285
286 Aws::String m_clusterId;
287 bool m_clusterIdHasBeenSet = false;
288
289 Aws::Utils::DateTime m_createdAt{};
290 bool m_createdAtHasBeenSet = false;
291
292 Aws::Utils::DateTime m_modifiedAt{};
293 bool m_modifiedAtHasBeenSet = false;
294
296 bool m_statusHasBeenSet = false;
297
298 Aws::String m_amiId;
299 bool m_amiIdHasBeenSet = false;
300
301 Aws::Vector<Aws::String> m_subnetIds;
302 bool m_subnetIdsHasBeenSet = false;
303
304 PurchaseOption m_purchaseOption{PurchaseOption::NOT_SET};
305 bool m_purchaseOptionHasBeenSet = false;
306
307 CustomLaunchTemplate m_customLaunchTemplate;
308 bool m_customLaunchTemplateHasBeenSet = false;
309
310 Aws::String m_iamInstanceProfileArn;
311 bool m_iamInstanceProfileArnHasBeenSet = false;
312
313 ScalingConfiguration m_scalingConfiguration;
314 bool m_scalingConfigurationHasBeenSet = false;
315
316 Aws::Vector<InstanceConfig> m_instanceConfigs;
317 bool m_instanceConfigsHasBeenSet = false;
318
319 SpotOptions m_spotOptions;
320 bool m_spotOptionsHasBeenSet = false;
321
322 ComputeNodeGroupSlurmConfiguration m_slurmConfiguration;
323 bool m_slurmConfigurationHasBeenSet = false;
324
325 Aws::Vector<ErrorInfo> m_errorInfo;
326 bool m_errorInfoHasBeenSet = false;
327 };
328
329} // namespace Model
330} // namespace PCS
331} // namespace Aws
ComputeNodeGroup & AddSubnetIds(SubnetIdsT &&value)
ComputeNodeGroupStatus GetStatus() const
void SetScalingConfiguration(ScalingConfigurationT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
ComputeNodeGroup & WithPurchaseOption(PurchaseOption value)
const Aws::String & GetIamInstanceProfileArn() const
void SetPurchaseOption(PurchaseOption value)
const ComputeNodeGroupSlurmConfiguration & GetSlurmConfiguration() const
const Aws::Vector< ErrorInfo > & GetErrorInfo() const
const Aws::String & GetId() const
ComputeNodeGroup & WithClusterId(ClusterIdT &&value)
const Aws::String & GetClusterId() const
void SetErrorInfo(ErrorInfoT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
const SpotOptions & GetSpotOptions() const
ComputeNodeGroup & WithCustomLaunchTemplate(CustomLaunchTemplateT &&value)
ComputeNodeGroup & WithAmiId(AmiIdT &&value)
ComputeNodeGroup & WithSpotOptions(SpotOptionsT &&value)
ComputeNodeGroup & WithName(NameT &&value)
AWS_PCS_API ComputeNodeGroup()=default
void SetModifiedAt(ModifiedAtT &&value)
ComputeNodeGroup & WithInstanceConfigs(InstanceConfigsT &&value)
void SetStatus(ComputeNodeGroupStatus value)
ComputeNodeGroup & WithId(IdT &&value)
ComputeNodeGroup & WithModifiedAt(ModifiedAtT &&value)
void SetClusterId(ClusterIdT &&value)
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSubnetIds(SubnetIdsT &&value)
void SetCustomLaunchTemplate(CustomLaunchTemplateT &&value)
ComputeNodeGroup & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
ComputeNodeGroup & WithArn(ArnT &&value)
ComputeNodeGroup & WithSubnetIds(SubnetIdsT &&value)
const Aws::String & GetAmiId() const
ComputeNodeGroup & WithCreatedAt(CreatedAtT &&value)
const Aws::Utils::DateTime & GetModifiedAt() const
PurchaseOption GetPurchaseOption() const
const Aws::Vector< InstanceConfig > & GetInstanceConfigs() const
ComputeNodeGroup & WithStatus(ComputeNodeGroupStatus value)
void SetSlurmConfiguration(SlurmConfigurationT &&value)
const Aws::String & GetArn() const
ComputeNodeGroup & AddInstanceConfigs(InstanceConfigsT &&value)
ComputeNodeGroup & WithScalingConfiguration(ScalingConfigurationT &&value)
ComputeNodeGroup & WithSlurmConfiguration(SlurmConfigurationT &&value)
const Aws::String & GetName() const
void SetInstanceConfigs(InstanceConfigsT &&value)
void SetCreatedAt(CreatedAtT &&value)
const CustomLaunchTemplate & GetCustomLaunchTemplate() const
void SetSpotOptions(SpotOptionsT &&value)
ComputeNodeGroup & WithErrorInfo(ErrorInfoT &&value)
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
AWS_PCS_API ComputeNodeGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API ComputeNodeGroup(Aws::Utils::Json::JsonView jsonValue)
const ScalingConfiguration & GetScalingConfiguration() const
ComputeNodeGroup & AddErrorInfo(ErrorInfoT &&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