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/NodeLifecycleActionsRequest.h>
17#include <aws/pcs/model/PurchaseOption.h>
18#include <aws/pcs/model/ScalingConfigurationRequest.h>
19#include <aws/pcs/model/SpotOptions.h>
49 template <
typename ClusterIdentifierT = Aws::String>
51 m_clusterIdentifierHasBeenSet =
true;
52 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
54 template <
typename ClusterIdentifierT = Aws::String>
67 template <
typename ComputeNodeGroupNameT = Aws::String>
69 m_computeNodeGroupNameHasBeenSet =
true;
70 m_computeNodeGroupName = std::forward<ComputeNodeGroupNameT>(value);
72 template <
typename ComputeNodeGroupNameT = Aws::String>
87 template <
typename AmiIdT = Aws::String>
89 m_amiIdHasBeenSet =
true;
90 m_amiId = std::forward<AmiIdT>(value);
92 template <
typename AmiIdT = Aws::String>
94 SetAmiId(std::forward<AmiIdT>(value));
106 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
108 m_subnetIdsHasBeenSet =
true;
109 m_subnetIds = std::forward<SubnetIdsT>(value);
111 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
116 template <
typename SubnetIdsT = Aws::String>
118 m_subnetIdsHasBeenSet =
true;
119 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
148 m_purchaseOptionHasBeenSet =
true;
149 m_purchaseOption = value;
161 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
163 m_customLaunchTemplateHasBeenSet =
true;
164 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
166 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
185 template <
typename IamInstanceProfileArnT = Aws::String>
187 m_iamInstanceProfileArnHasBeenSet =
true;
188 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
190 template <
typename IamInstanceProfileArnT = Aws::String>
203 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
205 m_scalingConfigurationHasBeenSet =
true;
206 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
208 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
222 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
224 m_instanceConfigsHasBeenSet =
true;
225 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
227 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
232 template <
typename InstanceConfigsT = InstanceConfig>
234 m_instanceConfigsHasBeenSet =
true;
235 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
244 template <
typename SpotOptionsT = SpotOptions>
246 m_spotOptionsHasBeenSet =
true;
247 m_spotOptions = std::forward<SpotOptionsT>(value);
249 template <
typename SpotOptionsT = SpotOptions>
262 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
264 m_slurmConfigurationHasBeenSet =
true;
265 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
267 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
283 template <
typename NodeLifecycleActionsT = NodeLifecycleActionsRequest>
285 m_nodeLifecycleActionsHasBeenSet =
true;
286 m_nodeLifecycleActions = std::forward<NodeLifecycleActionsT>(value);
288 template <
typename NodeLifecycleActionsT = NodeLifecycleActionsRequest>
307 template <
typename ClientTokenT = Aws::String>
309 m_clientTokenHasBeenSet =
true;
310 m_clientToken = std::forward<ClientTokenT>(value);
312 template <
typename ClientTokenT = Aws::String>
326 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
328 m_tagsHasBeenSet =
true;
329 m_tags = std::forward<TagsT>(value);
331 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
333 SetTags(std::forward<TagsT>(value));
336 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
338 m_tagsHasBeenSet =
true;
339 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
354 CustomLaunchTemplate m_customLaunchTemplate;
358 ScalingConfigurationRequest m_scalingConfiguration;
362 SpotOptions m_spotOptions;
364 ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
366 NodeLifecycleActionsRequest m_nodeLifecycleActions;
371 bool m_clusterIdentifierHasBeenSet =
false;
372 bool m_computeNodeGroupNameHasBeenSet =
false;
373 bool m_amiIdHasBeenSet =
false;
374 bool m_subnetIdsHasBeenSet =
false;
375 bool m_purchaseOptionHasBeenSet =
false;
376 bool m_customLaunchTemplateHasBeenSet =
false;
377 bool m_iamInstanceProfileArnHasBeenSet =
false;
378 bool m_scalingConfigurationHasBeenSet =
false;
379 bool m_instanceConfigsHasBeenSet =
false;
380 bool m_spotOptionsHasBeenSet =
false;
381 bool m_slurmConfigurationHasBeenSet =
false;
382 bool m_nodeLifecycleActionsHasBeenSet =
false;
383 bool m_clientTokenHasBeenSet =
true;
384 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)
bool ComputeNodeGroupNameHasBeenSet() const
const Aws::String & GetClusterIdentifier() const
const ScalingConfigurationRequest & GetScalingConfiguration() const
CreateComputeNodeGroupRequest & AddInstanceConfigs(InstanceConfigsT &&value)
CreateComputeNodeGroupRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
CreateComputeNodeGroupRequest & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
AWS_PCS_API Aws::String SerializePayload() const override
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 SubnetIdsHasBeenSet() 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
CreateComputeNodeGroupRequest & WithAmiId(AmiIdT &&value)
bool IamInstanceProfileArnHasBeenSet() const
bool ClientTokenHasBeenSet() const
const Aws::String & GetIamInstanceProfileArn() const
bool NodeLifecycleActionsHasBeenSet() const
CreateComputeNodeGroupRequest & WithComputeNodeGroupName(ComputeNodeGroupNameT &&value)
void SetSubnetIds(SubnetIdsT &&value)
PurchaseOption GetPurchaseOption() const
bool PurchaseOptionHasBeenSet() const
void SetScalingConfiguration(ScalingConfigurationT &&value)
bool AmiIdHasBeenSet() const
const Aws::String & GetClientToken() const
void SetSpotOptions(SpotOptionsT &&value)
CreateComputeNodeGroupRequest & WithSlurmConfiguration(SlurmConfigurationT &&value)
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
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