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));
139 m_purchaseOptionHasBeenSet =
true;
140 m_purchaseOption = value;
152 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
154 m_customLaunchTemplateHasBeenSet =
true;
155 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
157 template <
typename CustomLaunchTemplateT = CustomLaunchTemplate>
176 template <
typename IamInstanceProfileArnT = Aws::String>
178 m_iamInstanceProfileArnHasBeenSet =
true;
179 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
181 template <
typename IamInstanceProfileArnT = Aws::String>
194 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
196 m_scalingConfigurationHasBeenSet =
true;
197 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
199 template <
typename ScalingConfigurationT = ScalingConfigurationRequest>
213 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
215 m_instanceConfigsHasBeenSet =
true;
216 m_instanceConfigs = std::forward<InstanceConfigsT>(value);
218 template <
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
223 template <
typename InstanceConfigsT = InstanceConfig>
225 m_instanceConfigsHasBeenSet =
true;
226 m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
235 template <
typename SpotOptionsT = SpotOptions>
237 m_spotOptionsHasBeenSet =
true;
238 m_spotOptions = std::forward<SpotOptionsT>(value);
240 template <
typename SpotOptionsT = SpotOptions>
253 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
255 m_slurmConfigurationHasBeenSet =
true;
256 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
258 template <
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfigurationRequest>
277 template <
typename ClientTokenT = Aws::String>
279 m_clientTokenHasBeenSet =
true;
280 m_clientToken = std::forward<ClientTokenT>(value);
282 template <
typename ClientTokenT = Aws::String>
296 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
298 m_tagsHasBeenSet =
true;
299 m_tags = std::forward<TagsT>(value);
301 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
303 SetTags(std::forward<TagsT>(value));
306 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
308 m_tagsHasBeenSet =
true;
309 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
324 CustomLaunchTemplate m_customLaunchTemplate;
328 ScalingConfigurationRequest m_scalingConfiguration;
332 SpotOptions m_spotOptions;
334 ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
339 bool m_clusterIdentifierHasBeenSet =
false;
340 bool m_computeNodeGroupNameHasBeenSet =
false;
341 bool m_amiIdHasBeenSet =
false;
342 bool m_subnetIdsHasBeenSet =
false;
343 bool m_purchaseOptionHasBeenSet =
false;
344 bool m_customLaunchTemplateHasBeenSet =
false;
345 bool m_iamInstanceProfileArnHasBeenSet =
false;
346 bool m_scalingConfigurationHasBeenSet =
false;
347 bool m_instanceConfigsHasBeenSet =
false;
348 bool m_spotOptionsHasBeenSet =
false;
349 bool m_slurmConfigurationHasBeenSet =
false;
350 bool m_clientTokenHasBeenSet =
true;
351 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