AWS SDK for C++

AWS SDK for C++ Version 1.11.927

Loading...
Searching...
No Matches
UpdateComputeNodeGroupRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/pcs/PCSRequest.h>
11#include <aws/pcs/PCS_EXPORTS.h>
12#include <aws/pcs/model/CustomLaunchTemplate.h>
13#include <aws/pcs/model/LaunchTemplateMode.h>
14#include <aws/pcs/model/PurchaseOption.h>
15#include <aws/pcs/model/ScalingConfigurationRequest.h>
16#include <aws/pcs/model/SpotOptions.h>
17#include <aws/pcs/model/UpdateComputeNodeGroupSlurmConfigurationRequest.h>
18#include <aws/pcs/model/UpdateNodeLifecycleActionsRequest.h>
19
20#include <utility>
21
22namespace Aws {
23namespace PCS {
24namespace Model {
25
29 public:
30 AWS_PCS_API UpdateComputeNodeGroupRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "UpdateComputeNodeGroup"; }
37
38 AWS_PCS_API Aws::String SerializePayload() const override;
39
41
43
50 inline const Aws::String& GetAmiId() const { return m_amiId; }
51 inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; }
52 template <typename AmiIdT = Aws::String>
53 void SetAmiId(AmiIdT&& value) {
54 m_amiIdHasBeenSet = true;
55 m_amiId = std::forward<AmiIdT>(value);
56 }
57 template <typename AmiIdT = Aws::String>
59 SetAmiId(std::forward<AmiIdT>(value));
60 return *this;
61 }
63
65
75 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
76 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
77 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
78 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
79 m_securityGroupIdsHasBeenSet = true;
80 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
81 }
82 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
84 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
85 return *this;
86 }
87 template <typename SecurityGroupIdsT = Aws::String>
89 m_securityGroupIdsHasBeenSet = true;
90 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
91 return *this;
92 }
94
96
106 inline const Aws::String& GetSshKeyName() const { return m_sshKeyName; }
107 inline bool SshKeyNameHasBeenSet() const { return m_sshKeyNameHasBeenSet; }
108 template <typename SshKeyNameT = Aws::String>
109 void SetSshKeyName(SshKeyNameT&& value) {
110 m_sshKeyNameHasBeenSet = true;
111 m_sshKeyName = std::forward<SshKeyNameT>(value);
112 }
113 template <typename SshKeyNameT = Aws::String>
115 SetSshKeyName(std::forward<SshKeyNameT>(value));
116 return *this;
117 }
119
121
124 inline const Aws::String& GetClusterIdentifier() const { return m_clusterIdentifier; }
125 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
126 template <typename ClusterIdentifierT = Aws::String>
127 void SetClusterIdentifier(ClusterIdentifierT&& value) {
128 m_clusterIdentifierHasBeenSet = true;
129 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
130 }
131 template <typename ClusterIdentifierT = Aws::String>
133 SetClusterIdentifier(std::forward<ClusterIdentifierT>(value));
134 return *this;
135 }
137
139
142 inline const Aws::String& GetComputeNodeGroupIdentifier() const { return m_computeNodeGroupIdentifier; }
143 inline bool ComputeNodeGroupIdentifierHasBeenSet() const { return m_computeNodeGroupIdentifierHasBeenSet; }
144 template <typename ComputeNodeGroupIdentifierT = Aws::String>
145 void SetComputeNodeGroupIdentifier(ComputeNodeGroupIdentifierT&& value) {
146 m_computeNodeGroupIdentifierHasBeenSet = true;
147 m_computeNodeGroupIdentifier = std::forward<ComputeNodeGroupIdentifierT>(value);
148 }
149 template <typename ComputeNodeGroupIdentifierT = Aws::String>
150 UpdateComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(ComputeNodeGroupIdentifierT&& value) {
151 SetComputeNodeGroupIdentifier(std::forward<ComputeNodeGroupIdentifierT>(value));
152 return *this;
153 }
155
157
161 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
162 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
163 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
164 void SetSubnetIds(SubnetIdsT&& value) {
165 m_subnetIdsHasBeenSet = true;
166 m_subnetIds = std::forward<SubnetIdsT>(value);
167 }
168 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
170 SetSubnetIds(std::forward<SubnetIdsT>(value));
171 return *this;
172 }
173 template <typename SubnetIdsT = Aws::String>
175 m_subnetIdsHasBeenSet = true;
176 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
177 return *this;
178 }
180
182
197 inline LaunchTemplateMode GetLaunchTemplateMode() const { return m_launchTemplateMode; }
198 inline bool LaunchTemplateModeHasBeenSet() const { return m_launchTemplateModeHasBeenSet; }
200 m_launchTemplateModeHasBeenSet = true;
201 m_launchTemplateMode = value;
202 }
208
210
225 inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const { return m_customLaunchTemplate; }
226 inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; }
227 template <typename CustomLaunchTemplateT = CustomLaunchTemplate>
228 void SetCustomLaunchTemplate(CustomLaunchTemplateT&& value) {
229 m_customLaunchTemplateHasBeenSet = true;
230 m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value);
231 }
232 template <typename CustomLaunchTemplateT = CustomLaunchTemplate>
234 SetCustomLaunchTemplate(std::forward<CustomLaunchTemplateT>(value));
235 return *this;
236 }
238
240
260 inline PurchaseOption GetPurchaseOption() const { return m_purchaseOption; }
261 inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; }
263 m_purchaseOptionHasBeenSet = true;
264 m_purchaseOption = value;
265 }
267 SetPurchaseOption(value);
268 return *this;
269 }
271
273
274 inline const SpotOptions& GetSpotOptions() const { return m_spotOptions; }
275 inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; }
276 template <typename SpotOptionsT = SpotOptions>
277 void SetSpotOptions(SpotOptionsT&& value) {
278 m_spotOptionsHasBeenSet = true;
279 m_spotOptions = std::forward<SpotOptionsT>(value);
280 }
281 template <typename SpotOptionsT = SpotOptions>
283 SetSpotOptions(std::forward<SpotOptionsT>(value));
284 return *this;
285 }
287
289
292 inline const ScalingConfigurationRequest& GetScalingConfiguration() const { return m_scalingConfiguration; }
293 inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; }
294 template <typename ScalingConfigurationT = ScalingConfigurationRequest>
295 void SetScalingConfiguration(ScalingConfigurationT&& value) {
296 m_scalingConfigurationHasBeenSet = true;
297 m_scalingConfiguration = std::forward<ScalingConfigurationT>(value);
298 }
299 template <typename ScalingConfigurationT = ScalingConfigurationRequest>
301 SetScalingConfiguration(std::forward<ScalingConfigurationT>(value));
302 return *this;
303 }
305
307
316 inline const Aws::String& GetIamInstanceProfileArn() const { return m_iamInstanceProfileArn; }
317 inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; }
318 template <typename IamInstanceProfileArnT = Aws::String>
319 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) {
320 m_iamInstanceProfileArnHasBeenSet = true;
321 m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value);
322 }
323 template <typename IamInstanceProfileArnT = Aws::String>
325 SetIamInstanceProfileArn(std::forward<IamInstanceProfileArnT>(value));
326 return *this;
327 }
329
331
334 inline const UpdateComputeNodeGroupSlurmConfigurationRequest& GetSlurmConfiguration() const { return m_slurmConfiguration; }
335 inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; }
336 template <typename SlurmConfigurationT = UpdateComputeNodeGroupSlurmConfigurationRequest>
337 void SetSlurmConfiguration(SlurmConfigurationT&& value) {
338 m_slurmConfigurationHasBeenSet = true;
339 m_slurmConfiguration = std::forward<SlurmConfigurationT>(value);
340 }
341 template <typename SlurmConfigurationT = UpdateComputeNodeGroupSlurmConfigurationRequest>
343 SetSlurmConfiguration(std::forward<SlurmConfigurationT>(value));
344 return *this;
345 }
347
349
355 inline const UpdateNodeLifecycleActionsRequest& GetNodeLifecycleActions() const { return m_nodeLifecycleActions; }
356 inline bool NodeLifecycleActionsHasBeenSet() const { return m_nodeLifecycleActionsHasBeenSet; }
357 template <typename NodeLifecycleActionsT = UpdateNodeLifecycleActionsRequest>
358 void SetNodeLifecycleActions(NodeLifecycleActionsT&& value) {
359 m_nodeLifecycleActionsHasBeenSet = true;
360 m_nodeLifecycleActions = std::forward<NodeLifecycleActionsT>(value);
361 }
362 template <typename NodeLifecycleActionsT = UpdateNodeLifecycleActionsRequest>
364 SetNodeLifecycleActions(std::forward<NodeLifecycleActionsT>(value));
365 return *this;
366 }
368
370
379 inline const Aws::String& GetClientToken() const { return m_clientToken; }
380 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
381 template <typename ClientTokenT = Aws::String>
382 void SetClientToken(ClientTokenT&& value) {
383 m_clientTokenHasBeenSet = true;
384 m_clientToken = std::forward<ClientTokenT>(value);
385 }
386 template <typename ClientTokenT = Aws::String>
388 SetClientToken(std::forward<ClientTokenT>(value));
389 return *this;
390 }
392 private:
393 Aws::String m_amiId;
394
395 Aws::Vector<Aws::String> m_securityGroupIds;
396
397 Aws::String m_sshKeyName;
398
399 Aws::String m_clusterIdentifier;
400
401 Aws::String m_computeNodeGroupIdentifier;
402
403 Aws::Vector<Aws::String> m_subnetIds;
404
406
407 CustomLaunchTemplate m_customLaunchTemplate;
408
409 PurchaseOption m_purchaseOption{PurchaseOption::NOT_SET};
410
411 SpotOptions m_spotOptions;
412
413 ScalingConfigurationRequest m_scalingConfiguration;
414
415 Aws::String m_iamInstanceProfileArn;
416
417 UpdateComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration;
418
419 UpdateNodeLifecycleActionsRequest m_nodeLifecycleActions;
420
422 bool m_amiIdHasBeenSet = false;
423 bool m_securityGroupIdsHasBeenSet = false;
424 bool m_sshKeyNameHasBeenSet = false;
425 bool m_clusterIdentifierHasBeenSet = false;
426 bool m_computeNodeGroupIdentifierHasBeenSet = false;
427 bool m_subnetIdsHasBeenSet = false;
428 bool m_launchTemplateModeHasBeenSet = false;
429 bool m_customLaunchTemplateHasBeenSet = false;
430 bool m_purchaseOptionHasBeenSet = false;
431 bool m_spotOptionsHasBeenSet = false;
432 bool m_scalingConfigurationHasBeenSet = false;
433 bool m_iamInstanceProfileArnHasBeenSet = false;
434 bool m_slurmConfigurationHasBeenSet = false;
435 bool m_nodeLifecycleActionsHasBeenSet = false;
436 bool m_clientTokenHasBeenSet = true;
437};
438
439} // namespace Model
440} // namespace PCS
441} // namespace Aws
const Aws::Vector< Aws::String > & GetSubnetIds() const
UpdateComputeNodeGroupRequest & WithNodeLifecycleActions(NodeLifecycleActionsT &&value)
const CustomLaunchTemplate & GetCustomLaunchTemplate() const
AWS_PCS_API Aws::String SerializePayload() const override
void SetComputeNodeGroupIdentifier(ComputeNodeGroupIdentifierT &&value)
UpdateComputeNodeGroupRequest & WithSlurmConfiguration(SlurmConfigurationT &&value)
UpdateComputeNodeGroupRequest & WithSpotOptions(SpotOptionsT &&value)
UpdateComputeNodeGroupRequest & WithScalingConfiguration(ScalingConfigurationT &&value)
const ScalingConfigurationRequest & GetScalingConfiguration() const
const UpdateNodeLifecycleActionsRequest & GetNodeLifecycleActions() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
UpdateComputeNodeGroupRequest & WithAmiId(AmiIdT &&value)
UpdateComputeNodeGroupRequest & WithPurchaseOption(PurchaseOption value)
UpdateComputeNodeGroupRequest & WithSshKeyName(SshKeyNameT &&value)
UpdateComputeNodeGroupRequest & WithClientToken(ClientTokenT &&value)
UpdateComputeNodeGroupRequest & WithComputeNodeGroupIdentifier(ComputeNodeGroupIdentifierT &&value)
UpdateComputeNodeGroupRequest & WithCustomLaunchTemplate(CustomLaunchTemplateT &&value)
UpdateComputeNodeGroupRequest & WithLaunchTemplateMode(LaunchTemplateMode value)
UpdateComputeNodeGroupRequest & WithSubnetIds(SubnetIdsT &&value)
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
UpdateComputeNodeGroupRequest & AddSubnetIds(SubnetIdsT &&value)
UpdateComputeNodeGroupRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
UpdateComputeNodeGroupRequest & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
UpdateComputeNodeGroupRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
UpdateComputeNodeGroupRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const UpdateComputeNodeGroupSlurmConfigurationRequest & GetSlurmConfiguration() const
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector