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/ComputeNodeGroupSlurmConfiguration.h>
12#include <aws/pcs/model/ComputeNodeGroupStatus.h>
13#include <aws/pcs/model/CustomLaunchTemplate.h>
14#include <aws/pcs/model/ErrorInfo.h>
15#include <aws/pcs/model/InstanceConfig.h>
16#include <aws/pcs/model/PurchaseOption.h>
17#include <aws/pcs/model/ScalingConfiguration.h>
18#include <aws/pcs/model/SpotOptions.h>
50 template <
typename NameT = Aws::String>
52 m_nameHasBeenSet =
true;
53 m_name = std::forward<NameT>(value);
55 template <
typename NameT = Aws::String>
57 SetName(std::forward<NameT>(value));
68 template <
typename IdT = Aws::String>
70 m_idHasBeenSet =
true;
71 m_id = std::forward<IdT>(value);
73 template <
typename IdT = Aws::String>
75 SetId(std::forward<IdT>(value));
86 template <
typename ArnT = Aws::String>
88 m_arnHasBeenSet =
true;
89 m_arn = std::forward<ArnT>(value);
91 template <
typename ArnT = Aws::String>
93 SetArn(std::forward<ArnT>(value));
104 template <
typename ClusterIdT = Aws::String>
106 m_clusterIdHasBeenSet =
true;
107 m_clusterId = std::forward<ClusterIdT>(value);
109 template <
typename ClusterIdT = Aws::String>
122 template <
typename CreatedAtT = Aws::Utils::DateTime>
124 m_createdAtHasBeenSet =
true;
125 m_createdAt = std::forward<CreatedAtT>(value);
127 template <
typename CreatedAtT = Aws::Utils::DateTime>
140 template <
typename ModifiedAtT = Aws::Utils::DateTime>
142 m_modifiedAtHasBeenSet =
true;
143 m_modifiedAt = std::forward<ModifiedAtT>(value);
145 template <
typename ModifiedAtT = Aws::Utils::DateTime>
170 m_statusHasBeenSet =
true;
187 template <
typename AmiIdT = Aws::String>
189 m_amiIdHasBeenSet =
true;
190 m_amiId = std::forward<AmiIdT>(value);
192 template <
typename AmiIdT = Aws::String>
194 SetAmiId(std::forward<AmiIdT>(value));
206 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
208 m_subnetIdsHasBeenSet =
true;
209 m_subnetIds = std::forward<SubnetIdsT>(value);
211 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
216 template <
typename SubnetIdsT = Aws::String>
218 m_subnetIdsHasBeenSet =
true;
219 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
248 m_purchaseOptionHasBeenSet =
true;
249 m_purchaseOption = value;
261 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
263 m_customLaunchTemplateHasBeenSet =
true;
264 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
266 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
285 template <
typename IamInstanceProfileArnT = Aws::String>
287 m_iamInstanceProfileArnHasBeenSet =
true;
288 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
290 template <
typename IamInstanceProfileArnT = Aws::String>
301 template <
typename ScalingConfigurationT = ScalingConfiguration>
303 m_scalingConfigurationHasBeenSet =
true;
304 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
306 template <
typename ScalingConfigurationT = ScalingConfiguration>
320 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
322 m_instanceConfigsHasBeenSet =
true;
323 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
325 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
330 template <
typename InstanceConfigsT = InstanceConfig>
332 m_instanceConfigsHasBeenSet =
true;
333 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
342 template <
typename SpotOptionsT = SpotOptions>
344 m_spotOptionsHasBeenSet =
true;
345 m_spotOptions = std::forward<SpotOptionsT>(value);
347 template <
typename SpotOptionsT = SpotOptions>
358 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
360 m_slurmConfigurationHasBeenSet =
true;
361 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
363 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
376 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
378 m_errorInfoHasBeenSet =
true;
379 m_errorInfo = std::forward<ErrorInfoT>(value);
381 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
386 template <
typename ErrorInfoT = ErrorInfo>
388 m_errorInfoHasBeenSet =
true;
389 m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value));
414 CustomLaunchTemplate m_customLaunchTemplate;
418 ScalingConfiguration m_scalingConfiguration;
422 SpotOptions m_spotOptions;
424 ComputeNodeGroupSlurmConfiguration m_slurmConfiguration;
427 bool m_nameHasBeenSet =
false;
428 bool m_idHasBeenSet =
false;
429 bool m_arnHasBeenSet =
false;
430 bool m_clusterIdHasBeenSet =
false;
431 bool m_createdAtHasBeenSet =
false;
432 bool m_modifiedAtHasBeenSet =
false;
433 bool m_statusHasBeenSet =
false;
434 bool m_amiIdHasBeenSet =
false;
435 bool m_subnetIdsHasBeenSet =
false;
436 bool m_purchaseOptionHasBeenSet =
false;
437 bool m_customLaunchTemplateHasBeenSet =
false;
438 bool m_iamInstanceProfileArnHasBeenSet =
false;
439 bool m_scalingConfigurationHasBeenSet =
false;
440 bool m_instanceConfigsHasBeenSet =
false;
441 bool m_spotOptionsHasBeenSet =
false;
442 bool m_slurmConfigurationHasBeenSet =
false;
443 bool m_errorInfoHasBeenSet =
false;
void SetName(NameT &&value)
ComputeNodeGroup & AddSubnetIds(SubnetIdsT &&value)
ComputeNodeGroupStatus GetStatus() const
void SetScalingConfiguration(ScalingConfigurationT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
void SetAmiId(AmiIdT &&value)
ComputeNodeGroup & WithPurchaseOption(PurchaseOption value)
const Aws::String & GetIamInstanceProfileArn() const
void SetPurchaseOption(PurchaseOption value)
const ComputeNodeGroupSlurmConfiguration & GetSlurmConfiguration() const
bool StatusHasBeenSet() 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
bool InstanceConfigsHasBeenSet() const
const SpotOptions & GetSpotOptions() const
ComputeNodeGroup & WithCustomLaunchTemplate(CustomLaunchTemplateT &&value)
void SetArn(ArnT &&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)
bool ModifiedAtHasBeenSet() const
void SetStatus(ComputeNodeGroupStatus value)
bool ErrorInfoHasBeenSet() const
ComputeNodeGroup & WithId(IdT &&value)
ComputeNodeGroup & WithModifiedAt(ModifiedAtT &&value)
void SetClusterId(ClusterIdT &&value)
bool ClusterIdHasBeenSet() const
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)
bool SlurmConfigurationHasBeenSet() const
bool CreatedAtHasBeenSet() const
ComputeNodeGroup & WithSubnetIds(SubnetIdsT &&value)
const Aws::String & GetAmiId() const
bool CustomLaunchTemplateHasBeenSet() const
ComputeNodeGroup & WithCreatedAt(CreatedAtT &&value)
const Aws::Utils::DateTime & GetModifiedAt() const
PurchaseOption GetPurchaseOption() const
const Aws::Vector< InstanceConfig > & GetInstanceConfigs() const
ComputeNodeGroup & WithStatus(ComputeNodeGroupStatus value)
bool SpotOptionsHasBeenSet() const
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)
bool PurchaseOptionHasBeenSet() const
bool NameHasBeenSet() const
ComputeNodeGroup & WithErrorInfo(ErrorInfoT &&value)
bool ArnHasBeenSet() const
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
bool IdHasBeenSet() const
bool SubnetIdsHasBeenSet() const
bool ScalingConfigurationHasBeenSet() const
AWS_PCS_API ComputeNodeGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API ComputeNodeGroup(Aws::Utils::Json::JsonView jsonValue)
const ScalingConfiguration & GetScalingConfiguration() const
bool IamInstanceProfileArnHasBeenSet() const
bool AmiIdHasBeenSet() 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