AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
CreateComputeNodeGroupRequest.h
1
6#pragma once
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>
18#include <utility>
19#include <aws/core/utils/UUID.h>
20
21namespace Aws
22{
23namespace PCS
24{
25namespace Model
26{
27
31 {
32 public:
34
35 // Service request name is the Operation name which will send this request out,
36 // each operation should has unique request name, so that we can get operation's name from this request.
37 // Note: this is not true for response, multiple operations may have the same response name,
38 // so we can not get operation's name from response.
39 inline virtual const char* GetServiceRequestName() const override { return "CreateComputeNodeGroup"; }
40
41 AWS_PCS_API Aws::String SerializePayload() const override;
42
44
45
47
50 inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
51 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
52 inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
53 inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
54 inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
56 inline CreateComputeNodeGroupRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
57 inline CreateComputeNodeGroupRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
59
61
64 inline const Aws::String& GetComputeNodeGroupName() const{ return m_computeNodeGroupName; }
65 inline bool ComputeNodeGroupNameHasBeenSet() const { return m_computeNodeGroupNameHasBeenSet; }
66 inline void SetComputeNodeGroupName(const Aws::String& value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName = value; }
67 inline void SetComputeNodeGroupName(Aws::String&& value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName = std::move(value); }
68 inline void SetComputeNodeGroupName(const char* value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName.assign(value); }
71 inline CreateComputeNodeGroupRequest& WithComputeNodeGroupName(const char* value) { SetComputeNodeGroupName(value); return *this;}
73
75
81 inline const Aws::String& GetAmiId() const{ return m_amiId; }
82 inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; }
83 inline void SetAmiId(const Aws::String& value) { m_amiIdHasBeenSet = true; m_amiId = value; }
84 inline void SetAmiId(Aws::String&& value) { m_amiIdHasBeenSet = true; m_amiId = std::move(value); }
85 inline void SetAmiId(const char* value) { m_amiIdHasBeenSet = true; m_amiId.assign(value); }
86 inline CreateComputeNodeGroupRequest& WithAmiId(const Aws::String& value) { SetAmiId(value); return *this;}
87 inline CreateComputeNodeGroupRequest& WithAmiId(Aws::String&& value) { SetAmiId(std::move(value)); return *this;}
88 inline CreateComputeNodeGroupRequest& WithAmiId(const char* value) { SetAmiId(value); return *this;}
90
92
96 inline const Aws::Vector<Aws::String>& GetSubnetIds() const{ return m_subnetIds; }
97 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
98 inline void SetSubnetIds(const Aws::Vector<Aws::String>& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
99 inline void SetSubnetIds(Aws::Vector<Aws::String>&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); }
101 inline CreateComputeNodeGroupRequest& WithSubnetIds(Aws::Vector<Aws::String>&& value) { SetSubnetIds(std::move(value)); return *this;}
102 inline CreateComputeNodeGroupRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
103 inline CreateComputeNodeGroupRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; }
104 inline CreateComputeNodeGroupRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
106
108
115 inline const PurchaseOption& GetPurchaseOption() const{ return m_purchaseOption; }
116 inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; }
117 inline void SetPurchaseOption(const PurchaseOption& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = value; }
118 inline void SetPurchaseOption(PurchaseOption&& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = std::move(value); }
120 inline CreateComputeNodeGroupRequest& WithPurchaseOption(PurchaseOption&& value) { SetPurchaseOption(std::move(value)); return *this;}
122
124
125 inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const{ return m_customLaunchTemplate; }
126 inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; }
127 inline void SetCustomLaunchTemplate(const CustomLaunchTemplate& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = value; }
128 inline void SetCustomLaunchTemplate(CustomLaunchTemplate&& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = std::move(value); }
132
134
146 inline const Aws::String& GetIamInstanceProfileArn() const{ return m_iamInstanceProfileArn; }
147 inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; }
148 inline void SetIamInstanceProfileArn(const Aws::String& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = value; }
149 inline void SetIamInstanceProfileArn(Aws::String&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::move(value); }
150 inline void SetIamInstanceProfileArn(const char* value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn.assign(value); }
153 inline CreateComputeNodeGroupRequest& WithIamInstanceProfileArn(const char* value) { SetIamInstanceProfileArn(value); return *this;}
155
157
160 inline const ScalingConfigurationRequest& GetScalingConfiguration() const{ return m_scalingConfiguration; }
161 inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; }
162 inline void SetScalingConfiguration(const ScalingConfigurationRequest& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; }
163 inline void SetScalingConfiguration(ScalingConfigurationRequest&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); }
167
169
173 inline const Aws::Vector<InstanceConfig>& GetInstanceConfigs() const{ return m_instanceConfigs; }
174 inline bool InstanceConfigsHasBeenSet() const { return m_instanceConfigsHasBeenSet; }
175 inline void SetInstanceConfigs(const Aws::Vector<InstanceConfig>& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = value; }
176 inline void SetInstanceConfigs(Aws::Vector<InstanceConfig>&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = std::move(value); }
179 inline CreateComputeNodeGroupRequest& AddInstanceConfigs(const InstanceConfig& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(value); return *this; }
180 inline CreateComputeNodeGroupRequest& AddInstanceConfigs(InstanceConfig&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(std::move(value)); return *this; }
182
184
185 inline const SpotOptions& GetSpotOptions() const{ return m_spotOptions; }
186 inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; }
187 inline void SetSpotOptions(const SpotOptions& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; }
188 inline void SetSpotOptions(SpotOptions&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); }
189 inline CreateComputeNodeGroupRequest& WithSpotOptions(const SpotOptions& value) { SetSpotOptions(value); return *this;}
190 inline CreateComputeNodeGroupRequest& WithSpotOptions(SpotOptions&& value) { SetSpotOptions(std::move(value)); return *this;}
192
194
197 inline const ComputeNodeGroupSlurmConfigurationRequest& GetSlurmConfiguration() const{ return m_slurmConfiguration; }
198 inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; }
199 inline void SetSlurmConfiguration(const ComputeNodeGroupSlurmConfigurationRequest& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; }
200 inline void SetSlurmConfiguration(ComputeNodeGroupSlurmConfigurationRequest&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); }
204
206
215 inline const Aws::String& GetClientToken() const{ return m_clientToken; }
216 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
217 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
218 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
219 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
220 inline CreateComputeNodeGroupRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
221 inline CreateComputeNodeGroupRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
222 inline CreateComputeNodeGroupRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
224
226
230 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
231 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
232 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
233 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
235 inline CreateComputeNodeGroupRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
236 inline CreateComputeNodeGroupRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
237 inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
238 inline CreateComputeNodeGroupRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
239 inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
240 inline CreateComputeNodeGroupRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
241 inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
242 inline CreateComputeNodeGroupRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
244 private:
245
246 Aws::String m_clusterIdentifier;
247 bool m_clusterIdentifierHasBeenSet = false;
248
249 Aws::String m_computeNodeGroupName;
250 bool m_computeNodeGroupNameHasBeenSet = false;
251
252 Aws::String m_amiId;
253 bool m_amiIdHasBeenSet = false;
254
255 Aws::Vector<Aws::String> m_subnetIds;
256 bool m_subnetIdsHasBeenSet = false;
257
258 PurchaseOption m_purchaseOption;
259 bool m_purchaseOptionHasBeenSet = false;
260
261 CustomLaunchTemplate m_customLaunchTemplate;
262 bool m_customLaunchTemplateHasBeenSet = false;
263
264 Aws::String m_iamInstanceProfileArn;
265 bool m_iamInstanceProfileArnHasBeenSet = false;
266
267 ScalingConfigurationRequest m_scalingConfiguration;
268 bool m_scalingConfigurationHasBeenSet = false;
269
270 Aws::Vector<InstanceConfig> m_instanceConfigs;
271 bool m_instanceConfigsHasBeenSet = false;
272
273 SpotOptions m_spotOptions;
274 bool m_spotOptionsHasBeenSet = false;
275
277 bool m_slurmConfigurationHasBeenSet = false;
278
279 Aws::String m_clientToken;
280 bool m_clientTokenHasBeenSet = false;
281
283 bool m_tagsHasBeenSet = false;
284 };
285
286} // namespace Model
287} // namespace PCS
288} // namespace Aws
void SetSubnetIds(const Aws::Vector< Aws::String > &value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
CreateComputeNodeGroupRequest & WithClusterIdentifier(const char *value)
void SetSubnetIds(Aws::Vector< Aws::String > &&value)
void SetTags(const Aws::Map< Aws::String, Aws::String > &value)
void SetInstanceConfigs(const Aws::Vector< InstanceConfig > &value)
const ScalingConfigurationRequest & GetScalingConfiguration() const
CreateComputeNodeGroupRequest & WithIamInstanceProfileArn(const char *value)
void SetScalingConfiguration(const ScalingConfigurationRequest &value)
CreateComputeNodeGroupRequest & WithIamInstanceProfileArn(const Aws::String &value)
CreateComputeNodeGroupRequest & AddTags(const Aws::String &key, Aws::String &&value)
CreateComputeNodeGroupRequest & WithClientToken(const char *value)
AWS_PCS_API Aws::String SerializePayload() const override
CreateComputeNodeGroupRequest & WithSpotOptions(const SpotOptions &value)
CreateComputeNodeGroupRequest & AddTags(const char *key, const char *value)
const ComputeNodeGroupSlurmConfigurationRequest & GetSlurmConfiguration() const
CreateComputeNodeGroupRequest & AddSubnetIds(Aws::String &&value)
const Aws::Vector< InstanceConfig > & GetInstanceConfigs() const
void SetInstanceConfigs(Aws::Vector< InstanceConfig > &&value)
CreateComputeNodeGroupRequest & WithSubnetIds(const Aws::Vector< Aws::String > &value)
CreateComputeNodeGroupRequest & WithAmiId(const Aws::String &value)
CreateComputeNodeGroupRequest & AddTags(const Aws::String &key, const Aws::String &value)
CreateComputeNodeGroupRequest & WithSlurmConfiguration(ComputeNodeGroupSlurmConfigurationRequest &&value)
CreateComputeNodeGroupRequest & AddInstanceConfigs(const InstanceConfig &value)
CreateComputeNodeGroupRequest & WithTags(const Aws::Map< Aws::String, Aws::String > &value)
CreateComputeNodeGroupRequest & WithPurchaseOption(const PurchaseOption &value)
CreateComputeNodeGroupRequest & WithComputeNodeGroupName(Aws::String &&value)
const CustomLaunchTemplate & GetCustomLaunchTemplate() const
void SetScalingConfiguration(ScalingConfigurationRequest &&value)
CreateComputeNodeGroupRequest & AddTags(Aws::String &&key, Aws::String &&value)
CreateComputeNodeGroupRequest & WithSubnetIds(Aws::Vector< Aws::String > &&value)
CreateComputeNodeGroupRequest & AddSubnetIds(const char *value)
CreateComputeNodeGroupRequest & WithCustomLaunchTemplate(CustomLaunchTemplate &&value)
CreateComputeNodeGroupRequest & WithPurchaseOption(PurchaseOption &&value)
CreateComputeNodeGroupRequest & WithScalingConfiguration(const ScalingConfigurationRequest &value)
void SetCustomLaunchTemplate(const CustomLaunchTemplate &value)
CreateComputeNodeGroupRequest & WithAmiId(Aws::String &&value)
CreateComputeNodeGroupRequest & AddSubnetIds(const Aws::String &value)
void SetTags(Aws::Map< Aws::String, Aws::String > &&value)
CreateComputeNodeGroupRequest & AddTags(Aws::String &&key, const char *value)
CreateComputeNodeGroupRequest & AddInstanceConfigs(InstanceConfig &&value)
CreateComputeNodeGroupRequest & WithComputeNodeGroupName(const char *value)
CreateComputeNodeGroupRequest & WithClientToken(const Aws::String &value)
CreateComputeNodeGroupRequest & AddTags(const char *key, Aws::String &&value)
void SetSlurmConfiguration(const ComputeNodeGroupSlurmConfigurationRequest &value)
void SetSlurmConfiguration(ComputeNodeGroupSlurmConfigurationRequest &&value)
CreateComputeNodeGroupRequest & WithClusterIdentifier(Aws::String &&value)
CreateComputeNodeGroupRequest & WithInstanceConfigs(Aws::Vector< InstanceConfig > &&value)
CreateComputeNodeGroupRequest & WithCustomLaunchTemplate(const CustomLaunchTemplate &value)
CreateComputeNodeGroupRequest & WithClientToken(Aws::String &&value)
CreateComputeNodeGroupRequest & AddTags(Aws::String &&key, const Aws::String &value)
CreateComputeNodeGroupRequest & WithScalingConfiguration(ScalingConfigurationRequest &&value)
CreateComputeNodeGroupRequest & WithIamInstanceProfileArn(Aws::String &&value)
CreateComputeNodeGroupRequest & WithComputeNodeGroupName(const Aws::String &value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateComputeNodeGroupRequest & WithSlurmConfiguration(const ComputeNodeGroupSlurmConfigurationRequest &value)
CreateComputeNodeGroupRequest & WithAmiId(const char *value)
CreateComputeNodeGroupRequest & WithTags(Aws::Map< Aws::String, Aws::String > &&value)
CreateComputeNodeGroupRequest & WithInstanceConfigs(const Aws::Vector< InstanceConfig > &value)
CreateComputeNodeGroupRequest & WithSpotOptions(SpotOptions &&value)
CreateComputeNodeGroupRequest & WithClusterIdentifier(const Aws::String &value)
virtual const char * GetServiceRequestName() const override
AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
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