7#include <aws/pcs/PCS_EXPORTS.h>
8#include <aws/pcs/PCSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/pcs/model/PurchaseOption.h>
12#include <aws/pcs/model/CustomLaunchTemplate.h>
13#include <aws/pcs/model/ScalingConfigurationRequest.h>
14#include <aws/pcs/model/SpotOptions.h>
15#include <aws/pcs/model/ComputeNodeGroupSlurmConfigurationRequest.h>
16#include <aws/core/utils/memory/stl/AWSMap.h>
17#include <aws/pcs/model/InstanceConfig.h>
19#include <aws/core/utils/UUID.h>
52 template<
typename ClusterIdentifierT = Aws::String>
53 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
54 template<
typename ClusterIdentifierT = Aws::String>
64 template<
typename ComputeNodeGroupNameT = Aws::String>
65 void SetComputeNodeGroupName(ComputeNodeGroupNameT&& value) { m_computeNodeGroupNameHasBeenSet =
true; m_computeNodeGroupName = std::forward<ComputeNodeGroupNameT>(value); }
66 template<
typename ComputeNodeGroupNameT = Aws::String>
79 template<
typename AmiIdT = Aws::String>
80 void SetAmiId(AmiIdT&& value) { m_amiIdHasBeenSet =
true; m_amiId = std::forward<AmiIdT>(value); }
81 template<
typename AmiIdT = Aws::String>
92 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
93 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds = std::forward<SubnetIdsT>(value); }
94 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
96 template<
typename SubnetIdsT = Aws::String>
118 template<
typename CustomLaunchTemplateT = CustomLaunchTemplate>
119 void SetCustomLaunchTemplate(CustomLaunchTemplateT&& value) { m_customLaunchTemplateHasBeenSet =
true; m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value); }
120 template<
typename CustomLaunchTemplateT = CustomLaunchTemplate>
139 template<
typename IamInstanceProfileArnT = Aws::String>
140 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) { m_iamInstanceProfileArnHasBeenSet =
true; m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value); }
141 template<
typename IamInstanceProfileArnT = Aws::String>
151 template<
typename ScalingConfigurationT = ScalingConfigurationRequest>
152 void SetScalingConfiguration(ScalingConfigurationT&& value) { m_scalingConfigurationHasBeenSet =
true; m_scalingConfiguration = std::forward<ScalingConfigurationT>(value); }
153 template<
typename ScalingConfigurationT = ScalingConfigurationRequest>
164 template<
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
165 void SetInstanceConfigs(InstanceConfigsT&& value) { m_instanceConfigsHasBeenSet =
true; m_instanceConfigs = std::forward<InstanceConfigsT>(value); }
166 template<
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
168 template<
typename InstanceConfigsT = InstanceConfig>
176 template<
typename SpotOptionsT = SpotOptions>
177 void SetSpotOptions(SpotOptionsT&& value) { m_spotOptionsHasBeenSet =
true; m_spotOptions = std::forward<SpotOptionsT>(value); }
178 template<
typename SpotOptionsT = SpotOptions>
188 template<
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
189 void SetSlurmConfiguration(SlurmConfigurationT&& value) { m_slurmConfigurationHasBeenSet =
true; m_slurmConfiguration = std::forward<SlurmConfigurationT>(value); }
190 template<
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
206 template<
typename ClientTokenT = Aws::String>
207 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
208 template<
typename ClientTokenT = Aws::String>
219 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
220 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
221 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
223 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
225 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
231 bool m_clusterIdentifierHasBeenSet =
false;
234 bool m_computeNodeGroupNameHasBeenSet =
false;
237 bool m_amiIdHasBeenSet =
false;
240 bool m_subnetIdsHasBeenSet =
false;
243 bool m_purchaseOptionHasBeenSet =
false;
245 CustomLaunchTemplate m_customLaunchTemplate;
246 bool m_customLaunchTemplateHasBeenSet =
false;
249 bool m_iamInstanceProfileArnHasBeenSet =
false;
251 ScalingConfigurationRequest m_scalingConfiguration;
252 bool m_scalingConfigurationHasBeenSet =
false;
255 bool m_instanceConfigsHasBeenSet =
false;
257 SpotOptions m_spotOptions;
258 bool m_spotOptionsHasBeenSet =
false;
260 ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
261 bool m_slurmConfigurationHasBeenSet =
false;
264 bool m_clientTokenHasBeenSet =
true;
267 bool m_tagsHasBeenSet =
false;
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&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
CreateComputeNodeGroupRequest & WithAmiId(AmiIdT &&value)
bool IamInstanceProfileArnHasBeenSet() const
bool ClientTokenHasBeenSet() const
const Aws::String & GetIamInstanceProfileArn() 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)
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