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/NodeLifecycleActions.h>
17#include <aws/pcs/model/PurchaseOption.h>
18#include <aws/pcs/model/ScalingConfiguration.h>
19#include <aws/pcs/model/SpotOptions.h>
51 template <
typename NameT = Aws::String>
53 m_nameHasBeenSet =
true;
54 m_name = std::forward<NameT>(value);
56 template <
typename NameT = Aws::String>
58 SetName(std::forward<NameT>(value));
69 template <
typename IdT = Aws::String>
71 m_idHasBeenSet =
true;
72 m_id = std::forward<IdT>(value);
74 template <
typename IdT = Aws::String>
76 SetId(std::forward<IdT>(value));
87 template <
typename ArnT = Aws::String>
89 m_arnHasBeenSet =
true;
90 m_arn = std::forward<ArnT>(value);
92 template <
typename ArnT = Aws::String>
94 SetArn(std::forward<ArnT>(value));
105 template <
typename ClusterIdT = Aws::String>
107 m_clusterIdHasBeenSet =
true;
108 m_clusterId = std::forward<ClusterIdT>(value);
110 template <
typename ClusterIdT = Aws::String>
123 template <
typename CreatedAtT = Aws::Utils::DateTime>
125 m_createdAtHasBeenSet =
true;
126 m_createdAt = std::forward<CreatedAtT>(value);
128 template <
typename CreatedAtT = Aws::Utils::DateTime>
141 template <
typename ModifiedAtT = Aws::Utils::DateTime>
143 m_modifiedAtHasBeenSet =
true;
144 m_modifiedAt = std::forward<ModifiedAtT>(value);
146 template <
typename ModifiedAtT = Aws::Utils::DateTime>
171 m_statusHasBeenSet =
true;
188 template <
typename AmiIdT = Aws::String>
190 m_amiIdHasBeenSet =
true;
191 m_amiId = std::forward<AmiIdT>(value);
193 template <
typename AmiIdT = Aws::String>
195 SetAmiId(std::forward<AmiIdT>(value));
207 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
209 m_subnetIdsHasBeenSet =
true;
210 m_subnetIds = std::forward<SubnetIdsT>(value);
212 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
217 template <
typename SubnetIdsT = Aws::String>
219 m_subnetIdsHasBeenSet =
true;
220 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
249 m_purchaseOptionHasBeenSet =
true;
250 m_purchaseOption = value;
262 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
264 m_customLaunchTemplateHasBeenSet =
true;
265 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
267 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
286 template <
typename IamInstanceProfileArnT = Aws::String>
288 m_iamInstanceProfileArnHasBeenSet =
true;
289 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
291 template <
typename IamInstanceProfileArnT = Aws::String>
302 template <
typename ScalingConfigurationT = ScalingConfiguration>
304 m_scalingConfigurationHasBeenSet =
true;
305 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
307 template <
typename ScalingConfigurationT = ScalingConfiguration>
321 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
323 m_instanceConfigsHasBeenSet =
true;
324 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
326 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
331 template <
typename InstanceConfigsT = InstanceConfig>
333 m_instanceConfigsHasBeenSet =
true;
334 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
343 template <
typename SpotOptionsT = SpotOptions>
345 m_spotOptionsHasBeenSet =
true;
346 m_spotOptions = std::forward<SpotOptionsT>(value);
348 template <
typename SpotOptionsT = SpotOptions>
359 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
361 m_slurmConfigurationHasBeenSet =
true;
362 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
364 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
380 template <
typename NodeLifecycleActionsT = NodeLifecycleActions>
382 m_nodeLifecycleActionsHasBeenSet =
true;
383 m_nodeLifecycleActions = std::forward<NodeLifecycleActionsT>(value);
385 template <
typename NodeLifecycleActionsT = NodeLifecycleActions>
398 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
400 m_errorInfoHasBeenSet =
true;
401 m_errorInfo = std::forward<ErrorInfoT>(value);
403 template <
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
408 template <
typename ErrorInfoT = ErrorInfo>
410 m_errorInfoHasBeenSet =
true;
411 m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value));
436 CustomLaunchTemplate m_customLaunchTemplate;
440 ScalingConfiguration m_scalingConfiguration;
444 SpotOptions m_spotOptions;
446 ComputeNodeGroupSlurmConfiguration m_slurmConfiguration;
448 NodeLifecycleActions m_nodeLifecycleActions;
451 bool m_nameHasBeenSet =
false;
452 bool m_idHasBeenSet =
false;
453 bool m_arnHasBeenSet =
false;
454 bool m_clusterIdHasBeenSet =
false;
455 bool m_createdAtHasBeenSet =
false;
456 bool m_modifiedAtHasBeenSet =
false;
457 bool m_statusHasBeenSet =
false;
458 bool m_amiIdHasBeenSet =
false;
459 bool m_subnetIdsHasBeenSet =
false;
460 bool m_purchaseOptionHasBeenSet =
false;
461 bool m_customLaunchTemplateHasBeenSet =
false;
462 bool m_iamInstanceProfileArnHasBeenSet =
false;
463 bool m_scalingConfigurationHasBeenSet =
false;
464 bool m_instanceConfigsHasBeenSet =
false;
465 bool m_spotOptionsHasBeenSet =
false;
466 bool m_slurmConfigurationHasBeenSet =
false;
467 bool m_nodeLifecycleActionsHasBeenSet =
false;
468 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)
bool NodeLifecycleActionsHasBeenSet() const
const Aws::Vector< Aws::String > & GetSubnetIds() const
bool InstanceConfigsHasBeenSet() const
const NodeLifecycleActions & GetNodeLifecycleActions() 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)
void SetNodeLifecycleActions(NodeLifecycleActionsT &&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)
ComputeNodeGroup & WithNodeLifecycleActions(NodeLifecycleActionsT &&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