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/PurchaseOption.h>
17#include <aws/pcs/model/ScalingConfigurationRequest.h>
18#include <aws/pcs/model/SpotOptions.h>
48 template <
typename ClusterIdentifierT = Aws::String>
50 m_clusterIdentifierHasBeenSet =
true;
51 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
53 template <
typename ClusterIdentifierT = Aws::String>
66 template <
typename ComputeNodeGroupNameT = Aws::String>
68 m_computeNodeGroupNameHasBeenSet =
true;
69 m_computeNodeGroupName = std::forward<ComputeNodeGroupNameT>(value);
71 template <
typename ComputeNodeGroupNameT = Aws::String>
86 template <
typename AmiIdT = Aws::String>
88 m_amiIdHasBeenSet =
true;
89 m_amiId = std::forward<AmiIdT>(value);
91 template <
typename AmiIdT = Aws::String>
93 SetAmiId(std::forward<AmiIdT>(value));
105 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
107 m_subnetIdsHasBeenSet =
true;
108 m_subnetIds = std::forward<SubnetIdsT>(value);
110 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
115 template <
typename SubnetIdsT = Aws::String>
117 m_subnetIdsHasBeenSet =
true;
118 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
147 m_purchaseOptionHasBeenSet =
true;
148 m_purchaseOption = value;
160 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
162 m_customLaunchTemplateHasBeenSet =
true;
163 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
165 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
184 template <
typename IamInstanceProfileArnT = Aws::String>
186 m_iamInstanceProfileArnHasBeenSet =
true;
187 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
189 template <
typename IamInstanceProfileArnT = Aws::String>
202 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
204 m_scalingConfigurationHasBeenSet =
true;
205 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
207 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
221 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
223 m_instanceConfigsHasBeenSet =
true;
224 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
226 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
231 template <
typename InstanceConfigsT = InstanceConfig>
233 m_instanceConfigsHasBeenSet =
true;
234 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
243 template <
typename SpotOptionsT = SpotOptions>
245 m_spotOptionsHasBeenSet =
true;
246 m_spotOptions = std::forward<SpotOptionsT>(value);
248 template <
typename SpotOptionsT = SpotOptions>
261 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
263 m_slurmConfigurationHasBeenSet =
true;
264 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
266 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
285 template <
typename ClientTokenT = Aws::String>
287 m_clientTokenHasBeenSet =
true;
288 m_clientToken = std::forward<ClientTokenT>(value);
290 template <
typename ClientTokenT = Aws::String>
304 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
306 m_tagsHasBeenSet =
true;
307 m_tags = std::forward<TagsT>(value);
309 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
311 SetTags(std::forward<TagsT>(value));
314 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
316 m_tagsHasBeenSet =
true;
317 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
332 CustomLaunchTemplate m_customLaunchTemplate;
336 ScalingConfigurationRequest m_scalingConfiguration;
340 SpotOptions m_spotOptions;
342 ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
347 bool m_clusterIdentifierHasBeenSet =
false;
348 bool m_computeNodeGroupNameHasBeenSet =
false;
349 bool m_amiIdHasBeenSet =
false;
350 bool m_subnetIdsHasBeenSet =
false;
351 bool m_purchaseOptionHasBeenSet =
false;
352 bool m_customLaunchTemplateHasBeenSet =
false;
353 bool m_iamInstanceProfileArnHasBeenSet =
false;
354 bool m_scalingConfigurationHasBeenSet =
false;
355 bool m_instanceConfigsHasBeenSet =
false;
356 bool m_spotOptionsHasBeenSet =
false;
357 bool m_slurmConfigurationHasBeenSet =
false;
358 bool m_clientTokenHasBeenSet =
true;
359 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