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));
240 m_purchaseOptionHasBeenSet =
true;
241 m_purchaseOption = value;
253 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
255 m_customLaunchTemplateHasBeenSet =
true;
256 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
258 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
277 template <
typename IamInstanceProfileArnT = Aws::String>
279 m_iamInstanceProfileArnHasBeenSet =
true;
280 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
282 template <
typename IamInstanceProfileArnT = Aws::String>
293 template <
typename ScalingConfigurationT = ScalingConfiguration>
295 m_scalingConfigurationHasBeenSet =
true;
296 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
298 template <
typename ScalingConfigurationT = ScalingConfiguration>
312 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
314 m_instanceConfigsHasBeenSet =
true;
315 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
317 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
322 template <
typename InstanceConfigsT = InstanceConfig>
324 m_instanceConfigsHasBeenSet =
true;
325 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
334 template <
typename SpotOptionsT = SpotOptions>
336 m_spotOptionsHasBeenSet =
true;
337 m_spotOptions = std::forward<SpotOptionsT>(value);
339 template <
typename SpotOptionsT = SpotOptions>
350 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
352 m_slurmConfigurationHasBeenSet =
true;
353 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
355 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
368 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
370 m_errorInfoHasBeenSet =
true;
371 m_errorInfo = std::forward<ErrorInfoT>(value);
373 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
378 template <
typename ErrorInfoT = ErrorInfo>
380 m_errorInfoHasBeenSet =
true;
381 m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value));
406 CustomLaunchTemplate m_customLaunchTemplate;
410 ScalingConfiguration m_scalingConfiguration;
414 SpotOptions m_spotOptions;
416 ComputeNodeGroupSlurmConfiguration m_slurmConfiguration;
419 bool m_nameHasBeenSet =
false;
420 bool m_idHasBeenSet =
false;
421 bool m_arnHasBeenSet =
false;
422 bool m_clusterIdHasBeenSet =
false;
423 bool m_createdAtHasBeenSet =
false;
424 bool m_modifiedAtHasBeenSet =
false;
425 bool m_statusHasBeenSet =
false;
426 bool m_amiIdHasBeenSet =
false;
427 bool m_subnetIdsHasBeenSet =
false;
428 bool m_purchaseOptionHasBeenSet =
false;
429 bool m_customLaunchTemplateHasBeenSet =
false;
430 bool m_iamInstanceProfileArnHasBeenSet =
false;
431 bool m_scalingConfigurationHasBeenSet =
false;
432 bool m_instanceConfigsHasBeenSet =
false;
433 bool m_spotOptionsHasBeenSet =
false;
434 bool m_slurmConfigurationHasBeenSet =
false;
435 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