7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/pcs/PCSRequest.h>
12#include <aws/pcs/PCS_EXPORTS.h>
13#include <aws/pcs/model/ComputeNodeGroupSlurmConfigurationRequest.h>
14#include <aws/pcs/model/CustomLaunchTemplate.h>
15#include <aws/pcs/model/InstanceConfig.h>
16#include <aws/pcs/model/LaunchTemplateMode.h>
17#include <aws/pcs/model/NodeLifecycleActionsRequest.h>
18#include <aws/pcs/model/PurchaseOption.h>
19#include <aws/pcs/model/ScalingConfigurationRequest.h>
20#include <aws/pcs/model/SpotOptions.h>
54 template <
typename AmiIdT = Aws::String>
56 m_amiIdHasBeenSet =
true;
57 m_amiId = std::forward<AmiIdT>(value);
59 template <
typename AmiIdT = Aws::String>
61 SetAmiId(std::forward<AmiIdT>(value));
82 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
84 m_securityGroupIdsHasBeenSet =
true;
85 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
87 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
92 template <
typename SecurityGroupIdsT = Aws::String>
94 m_securityGroupIdsHasBeenSet =
true;
95 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
115 template <
typename SshKeyNameT = Aws::String>
117 m_sshKeyNameHasBeenSet =
true;
118 m_sshKeyName = std::forward<SshKeyNameT>(value);
120 template <
typename SshKeyNameT = Aws::String>
133 template <
typename ClusterIdentifierT = Aws::String>
135 m_clusterIdentifierHasBeenSet =
true;
136 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
138 template <
typename ClusterIdentifierT = Aws::String>
151 template <
typename ComputeNodeGroupNameT = Aws::String>
153 m_computeNodeGroupNameHasBeenSet =
true;
154 m_computeNodeGroupName = std::forward<ComputeNodeGroupNameT>(value);
156 template <
typename ComputeNodeGroupNameT = Aws::String>
170 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
172 m_subnetIdsHasBeenSet =
true;
173 m_subnetIds = std::forward<SubnetIdsT>(value);
175 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
180 template <
typename SubnetIdsT = Aws::String>
182 m_subnetIdsHasBeenSet =
true;
183 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
212 m_purchaseOptionHasBeenSet =
true;
213 m_purchaseOption = value;
233 m_launchTemplateModeHasBeenSet =
true;
234 m_launchTemplateMode = value;
251 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
253 m_customLaunchTemplateHasBeenSet =
true;
254 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
256 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
275 template <
typename IamInstanceProfileArnT = Aws::String>
277 m_iamInstanceProfileArnHasBeenSet =
true;
278 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
280 template <
typename IamInstanceProfileArnT = Aws::String>
293 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
295 m_scalingConfigurationHasBeenSet =
true;
296 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
298 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
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>
352 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
354 m_slurmConfigurationHasBeenSet =
true;
355 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
357 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
373 template <
typename NodeLifecycleActionsT = NodeLifecycleActionsRequest>
375 m_nodeLifecycleActionsHasBeenSet =
true;
376 m_nodeLifecycleActions = std::forward<NodeLifecycleActionsT>(value);
378 template <
typename NodeLifecycleActionsT = NodeLifecycleActionsRequest>
397 template <
typename ClientTokenT = Aws::String>
399 m_clientTokenHasBeenSet =
true;
400 m_clientToken = std::forward<ClientTokenT>(value);
402 template <
typename ClientTokenT = Aws::String>
416 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
418 m_tagsHasBeenSet =
true;
419 m_tags = std::forward<TagsT>(value);
421 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
423 SetTags(std::forward<TagsT>(value));
426 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
428 m_tagsHasBeenSet =
true;
429 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
450 CustomLaunchTemplate m_customLaunchTemplate;
454 ScalingConfigurationRequest m_scalingConfiguration;
458 SpotOptions m_spotOptions;
460 ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
462 NodeLifecycleActionsRequest m_nodeLifecycleActions;
467 bool m_amiIdHasBeenSet =
false;
468 bool m_securityGroupIdsHasBeenSet =
false;
469 bool m_sshKeyNameHasBeenSet =
false;
470 bool m_clusterIdentifierHasBeenSet =
false;
471 bool m_computeNodeGroupNameHasBeenSet =
false;
472 bool m_subnetIdsHasBeenSet =
false;
473 bool m_purchaseOptionHasBeenSet =
false;
474 bool m_launchTemplateModeHasBeenSet =
false;
475 bool m_customLaunchTemplateHasBeenSet =
false;
476 bool m_iamInstanceProfileArnHasBeenSet =
false;
477 bool m_scalingConfigurationHasBeenSet =
false;
478 bool m_instanceConfigsHasBeenSet =
false;
479 bool m_spotOptionsHasBeenSet =
false;
480 bool m_slurmConfigurationHasBeenSet =
false;
481 bool m_nodeLifecycleActionsHasBeenSet =
false;
482 bool m_clientTokenHasBeenSet =
true;
483 bool m_tagsHasBeenSet =
false;
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
CreateComputeNodeGroupRequest & WithNodeLifecycleActions(NodeLifecycleActionsT &&value)
void SetPurchaseOption(PurchaseOption value)
bool InstanceConfigsHasBeenSet() const
const Aws::Vector< Aws::String > & GetSubnetIds() const
CreateComputeNodeGroupRequest & WithCustomLaunchTemplate(CustomLaunchTemplateT &&value)
CreateComputeNodeGroupRequest & WithInstanceConfigs(InstanceConfigsT &&value)
CreateComputeNodeGroupRequest & WithSubnetIds(SubnetIdsT &&value)
void SetTags(TagsT &&value)
void SetClientToken(ClientTokenT &&value)
CreateComputeNodeGroupRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool ComputeNodeGroupNameHasBeenSet() const
const Aws::String & GetClusterIdentifier() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const ScalingConfigurationRequest & GetScalingConfiguration() const
CreateComputeNodeGroupRequest & AddInstanceConfigs(InstanceConfigsT &&value)
CreateComputeNodeGroupRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
CreateComputeNodeGroupRequest & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
CreateComputeNodeGroupRequest & WithLaunchTemplateMode(LaunchTemplateMode value)
AWS_PCS_API Aws::String SerializePayload() const override
CreateComputeNodeGroupRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
const ComputeNodeGroupSlurmConfigurationRequest & GetSlurmConfiguration() const
bool SpotOptionsHasBeenSet() const
CreateComputeNodeGroupRequest & WithScalingConfiguration(ScalingConfigurationT &&value)
const Aws::Vector< InstanceConfig > & GetInstanceConfigs() const
bool ScalingConfigurationHasBeenSet() const
void SetAmiId(AmiIdT &&value)
CreateComputeNodeGroupRequest & WithPurchaseOption(PurchaseOption value)
bool SshKeyNameHasBeenSet() const
bool SubnetIdsHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
const Aws::String & GetAmiId() const
void SetComputeNodeGroupName(ComputeNodeGroupNameT &&value)
const CustomLaunchTemplate & GetCustomLaunchTemplate() const
CreateComputeNodeGroupRequest & AddSubnetIds(SubnetIdsT &&value)
bool TagsHasBeenSet() const
void SetSlurmConfiguration(SlurmConfigurationT &&value)
CreateComputeNodeGroupRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateComputeNodeGroupRequest & WithClientToken(ClientTokenT &&value)
const Aws::String & GetComputeNodeGroupName() const
const NodeLifecycleActionsRequest & GetNodeLifecycleActions() const
void SetLaunchTemplateMode(LaunchTemplateMode value)
CreateComputeNodeGroupRequest & WithAmiId(AmiIdT &&value)
bool IamInstanceProfileArnHasBeenSet() const
bool ClientTokenHasBeenSet() const
LaunchTemplateMode GetLaunchTemplateMode() const
const Aws::String & GetIamInstanceProfileArn() const
bool NodeLifecycleActionsHasBeenSet() const
CreateComputeNodeGroupRequest & WithComputeNodeGroupName(ComputeNodeGroupNameT &&value)
void SetSubnetIds(SubnetIdsT &&value)
CreateComputeNodeGroupRequest & WithSshKeyName(SshKeyNameT &&value)
PurchaseOption GetPurchaseOption() const
bool PurchaseOptionHasBeenSet() const
void SetScalingConfiguration(ScalingConfigurationT &&value)
bool AmiIdHasBeenSet() const
void SetSshKeyName(SshKeyNameT &&value)
const Aws::String & GetClientToken() const
void SetSpotOptions(SpotOptionsT &&value)
CreateComputeNodeGroupRequest & WithSlurmConfiguration(SlurmConfigurationT &&value)
bool LaunchTemplateModeHasBeenSet() const
CreateComputeNodeGroupRequest & WithTags(TagsT &&value)
CreateComputeNodeGroupRequest & WithSpotOptions(SpotOptionsT &&value)
bool CustomLaunchTemplateHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetCustomLaunchTemplate(CustomLaunchTemplateT &&value)
void SetNodeLifecycleActions(NodeLifecycleActionsT &&value)
bool ClusterIdentifierHasBeenSet() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
void SetInstanceConfigs(InstanceConfigsT &&value)
AWS_PCS_API CreateComputeNodeGroupRequest()=default
const SpotOptions & GetSpotOptions() const
bool SlurmConfigurationHasBeenSet() const
const Aws::String & GetSshKeyName() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector