AWS SDK for C++

AWS SDK for C++ Version 1.11.852

Loading...
Searching...
No Matches
ClusterInstanceGroupSpecification.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/sagemaker/SageMaker_EXPORTS.h>
10#include <aws/sagemaker/model/ClusterAutoPatchConfig.h>
11#include <aws/sagemaker/model/ClusterCapacityRequirements.h>
12#include <aws/sagemaker/model/ClusterInstanceRequirements.h>
13#include <aws/sagemaker/model/ClusterInstanceStorageConfig.h>
14#include <aws/sagemaker/model/ClusterInstanceType.h>
15#include <aws/sagemaker/model/ClusterKubernetesConfig.h>
16#include <aws/sagemaker/model/ClusterLifeCycleConfig.h>
17#include <aws/sagemaker/model/ClusterNetworkInterface.h>
18#include <aws/sagemaker/model/ClusterSlurmConfig.h>
19#include <aws/sagemaker/model/DeepHealthCheckType.h>
20#include <aws/sagemaker/model/ScheduledUpdateConfig.h>
21#include <aws/sagemaker/model/VpcConfig.h>
22
23#include <utility>
24
25namespace Aws {
26namespace Utils {
27namespace Json {
28class JsonValue;
29class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace SageMaker {
33namespace Model {
34
42 public:
43 AWS_SAGEMAKER_API ClusterInstanceGroupSpecification() = default;
46 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
47
49
53 inline int GetInstanceCount() const { return m_instanceCount; }
54 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
55 inline void SetInstanceCount(int value) {
56 m_instanceCountHasBeenSet = true;
57 m_instanceCount = value;
58 }
60 SetInstanceCount(value);
61 return *this;
62 }
64
66
75 inline int GetMinInstanceCount() const { return m_minInstanceCount; }
76 inline bool MinInstanceCountHasBeenSet() const { return m_minInstanceCountHasBeenSet; }
77 inline void SetMinInstanceCount(int value) {
78 m_minInstanceCountHasBeenSet = true;
79 m_minInstanceCount = value;
80 }
83 return *this;
84 }
86
88
91 inline const Aws::String& GetInstanceGroupName() const { return m_instanceGroupName; }
92 inline bool InstanceGroupNameHasBeenSet() const { return m_instanceGroupNameHasBeenSet; }
93 template <typename InstanceGroupNameT = Aws::String>
94 void SetInstanceGroupName(InstanceGroupNameT&& value) {
95 m_instanceGroupNameHasBeenSet = true;
96 m_instanceGroupName = std::forward<InstanceGroupNameT>(value);
97 }
98 template <typename InstanceGroupNameT = Aws::String>
100 SetInstanceGroupName(std::forward<InstanceGroupNameT>(value));
101 return *this;
102 }
104
106
109 inline ClusterInstanceType GetInstanceType() const { return m_instanceType; }
110 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
112 m_instanceTypeHasBeenSet = true;
113 m_instanceType = value;
114 }
116 SetInstanceType(value);
117 return *this;
118 }
120
122
128 inline const ClusterInstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
129 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
130 template <typename InstanceRequirementsT = ClusterInstanceRequirements>
131 void SetInstanceRequirements(InstanceRequirementsT&& value) {
132 m_instanceRequirementsHasBeenSet = true;
133 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
134 }
135 template <typename InstanceRequirementsT = ClusterInstanceRequirements>
137 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
138 return *this;
139 }
141
143
146 inline const ClusterLifeCycleConfig& GetLifeCycleConfig() const { return m_lifeCycleConfig; }
147 inline bool LifeCycleConfigHasBeenSet() const { return m_lifeCycleConfigHasBeenSet; }
148 template <typename LifeCycleConfigT = ClusterLifeCycleConfig>
149 void SetLifeCycleConfig(LifeCycleConfigT&& value) {
150 m_lifeCycleConfigHasBeenSet = true;
151 m_lifeCycleConfig = std::forward<LifeCycleConfigT>(value);
152 }
153 template <typename LifeCycleConfigT = ClusterLifeCycleConfig>
155 SetLifeCycleConfig(std::forward<LifeCycleConfigT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
165 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
166 template <typename ExecutionRoleT = Aws::String>
167 void SetExecutionRole(ExecutionRoleT&& value) {
168 m_executionRoleHasBeenSet = true;
169 m_executionRole = std::forward<ExecutionRoleT>(value);
170 }
171 template <typename ExecutionRoleT = Aws::String>
173 SetExecutionRole(std::forward<ExecutionRoleT>(value));
174 return *this;
175 }
177
179
189 inline int GetThreadsPerCore() const { return m_threadsPerCore; }
190 inline bool ThreadsPerCoreHasBeenSet() const { return m_threadsPerCoreHasBeenSet; }
191 inline void SetThreadsPerCore(int value) {
192 m_threadsPerCoreHasBeenSet = true;
193 m_threadsPerCore = value;
194 }
196 SetThreadsPerCore(value);
197 return *this;
198 }
200
202
206 inline const Aws::Vector<ClusterInstanceStorageConfig>& GetInstanceStorageConfigs() const { return m_instanceStorageConfigs; }
207 inline bool InstanceStorageConfigsHasBeenSet() const { return m_instanceStorageConfigsHasBeenSet; }
208 template <typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
209 void SetInstanceStorageConfigs(InstanceStorageConfigsT&& value) {
210 m_instanceStorageConfigsHasBeenSet = true;
211 m_instanceStorageConfigs = std::forward<InstanceStorageConfigsT>(value);
212 }
213 template <typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
215 SetInstanceStorageConfigs(std::forward<InstanceStorageConfigsT>(value));
216 return *this;
217 }
218 template <typename InstanceStorageConfigsT = ClusterInstanceStorageConfig>
220 m_instanceStorageConfigsHasBeenSet = true;
221 m_instanceStorageConfigs.emplace_back(std::forward<InstanceStorageConfigsT>(value));
222 return *this;
223 }
225
227
231 inline const Aws::Vector<DeepHealthCheckType>& GetOnStartDeepHealthChecks() const { return m_onStartDeepHealthChecks; }
232 inline bool OnStartDeepHealthChecksHasBeenSet() const { return m_onStartDeepHealthChecksHasBeenSet; }
233 template <typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
234 void SetOnStartDeepHealthChecks(OnStartDeepHealthChecksT&& value) {
235 m_onStartDeepHealthChecksHasBeenSet = true;
236 m_onStartDeepHealthChecks = std::forward<OnStartDeepHealthChecksT>(value);
237 }
238 template <typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
240 SetOnStartDeepHealthChecks(std::forward<OnStartDeepHealthChecksT>(value));
241 return *this;
242 }
244 m_onStartDeepHealthChecksHasBeenSet = true;
245 m_onStartDeepHealthChecks.push_back(value);
246 return *this;
247 }
249
251
259 inline const Aws::String& GetTrainingPlanArn() const { return m_trainingPlanArn; }
260 inline bool TrainingPlanArnHasBeenSet() const { return m_trainingPlanArnHasBeenSet; }
261 template <typename TrainingPlanArnT = Aws::String>
262 void SetTrainingPlanArn(TrainingPlanArnT&& value) {
263 m_trainingPlanArnHasBeenSet = true;
264 m_trainingPlanArn = std::forward<TrainingPlanArnT>(value);
265 }
266 template <typename TrainingPlanArnT = Aws::String>
268 SetTrainingPlanArn(std::forward<TrainingPlanArnT>(value));
269 return *this;
270 }
272
274
302 inline const VpcConfig& GetOverrideVpcConfig() const { return m_overrideVpcConfig; }
303 inline bool OverrideVpcConfigHasBeenSet() const { return m_overrideVpcConfigHasBeenSet; }
304 template <typename OverrideVpcConfigT = VpcConfig>
305 void SetOverrideVpcConfig(OverrideVpcConfigT&& value) {
306 m_overrideVpcConfigHasBeenSet = true;
307 m_overrideVpcConfig = std::forward<OverrideVpcConfigT>(value);
308 }
309 template <typename OverrideVpcConfigT = VpcConfig>
311 SetOverrideVpcConfig(std::forward<OverrideVpcConfigT>(value));
312 return *this;
313 }
315
317
321 inline const ScheduledUpdateConfig& GetScheduledUpdateConfig() const { return m_scheduledUpdateConfig; }
322 inline bool ScheduledUpdateConfigHasBeenSet() const { return m_scheduledUpdateConfigHasBeenSet; }
323 template <typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
324 void SetScheduledUpdateConfig(ScheduledUpdateConfigT&& value) {
325 m_scheduledUpdateConfigHasBeenSet = true;
326 m_scheduledUpdateConfig = std::forward<ScheduledUpdateConfigT>(value);
327 }
328 template <typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
330 SetScheduledUpdateConfig(std::forward<ScheduledUpdateConfigT>(value));
331 return *this;
332 }
334
336
355 inline const Aws::String& GetImageId() const { return m_imageId; }
356 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
357 template <typename ImageIdT = Aws::String>
358 void SetImageId(ImageIdT&& value) {
359 m_imageIdHasBeenSet = true;
360 m_imageId = std::forward<ImageIdT>(value);
361 }
362 template <typename ImageIdT = Aws::String>
364 SetImageId(std::forward<ImageIdT>(value));
365 return *this;
366 }
368
370
374 inline const ClusterAutoPatchConfig& GetAutoPatchConfig() const { return m_autoPatchConfig; }
375 inline bool AutoPatchConfigHasBeenSet() const { return m_autoPatchConfigHasBeenSet; }
376 template <typename AutoPatchConfigT = ClusterAutoPatchConfig>
377 void SetAutoPatchConfig(AutoPatchConfigT&& value) {
378 m_autoPatchConfigHasBeenSet = true;
379 m_autoPatchConfig = std::forward<AutoPatchConfigT>(value);
380 }
381 template <typename AutoPatchConfigT = ClusterAutoPatchConfig>
383 SetAutoPatchConfig(std::forward<AutoPatchConfigT>(value));
384 return *this;
385 }
387
389
394 inline const Aws::String& GetImageReleaseVersion() const { return m_imageReleaseVersion; }
395 inline bool ImageReleaseVersionHasBeenSet() const { return m_imageReleaseVersionHasBeenSet; }
396 template <typename ImageReleaseVersionT = Aws::String>
397 void SetImageReleaseVersion(ImageReleaseVersionT&& value) {
398 m_imageReleaseVersionHasBeenSet = true;
399 m_imageReleaseVersion = std::forward<ImageReleaseVersionT>(value);
400 }
401 template <typename ImageReleaseVersionT = Aws::String>
403 SetImageReleaseVersion(std::forward<ImageReleaseVersionT>(value));
404 return *this;
405 }
407
409
415 inline const ClusterKubernetesConfig& GetKubernetesConfig() const { return m_kubernetesConfig; }
416 inline bool KubernetesConfigHasBeenSet() const { return m_kubernetesConfigHasBeenSet; }
417 template <typename KubernetesConfigT = ClusterKubernetesConfig>
418 void SetKubernetesConfig(KubernetesConfigT&& value) {
419 m_kubernetesConfigHasBeenSet = true;
420 m_kubernetesConfig = std::forward<KubernetesConfigT>(value);
421 }
422 template <typename KubernetesConfigT = ClusterKubernetesConfig>
424 SetKubernetesConfig(std::forward<KubernetesConfigT>(value));
425 return *this;
426 }
428
430
433 inline const ClusterSlurmConfig& GetSlurmConfig() const { return m_slurmConfig; }
434 inline bool SlurmConfigHasBeenSet() const { return m_slurmConfigHasBeenSet; }
435 template <typename SlurmConfigT = ClusterSlurmConfig>
436 void SetSlurmConfig(SlurmConfigT&& value) {
437 m_slurmConfigHasBeenSet = true;
438 m_slurmConfig = std::forward<SlurmConfigT>(value);
439 }
440 template <typename SlurmConfigT = ClusterSlurmConfig>
442 SetSlurmConfig(std::forward<SlurmConfigT>(value));
443 return *this;
444 }
446
448
451 inline const ClusterCapacityRequirements& GetCapacityRequirements() const { return m_capacityRequirements; }
452 inline bool CapacityRequirementsHasBeenSet() const { return m_capacityRequirementsHasBeenSet; }
453 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
454 void SetCapacityRequirements(CapacityRequirementsT&& value) {
455 m_capacityRequirementsHasBeenSet = true;
456 m_capacityRequirements = std::forward<CapacityRequirementsT>(value);
457 }
458 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
460 SetCapacityRequirements(std::forward<CapacityRequirementsT>(value));
461 return *this;
462 }
464
466
469 inline const ClusterNetworkInterface& GetNetworkInterface() const { return m_networkInterface; }
470 inline bool NetworkInterfaceHasBeenSet() const { return m_networkInterfaceHasBeenSet; }
471 template <typename NetworkInterfaceT = ClusterNetworkInterface>
472 void SetNetworkInterface(NetworkInterfaceT&& value) {
473 m_networkInterfaceHasBeenSet = true;
474 m_networkInterface = std::forward<NetworkInterfaceT>(value);
475 }
476 template <typename NetworkInterfaceT = ClusterNetworkInterface>
478 SetNetworkInterface(std::forward<NetworkInterfaceT>(value));
479 return *this;
480 }
482 private:
483 int m_instanceCount{0};
484
485 int m_minInstanceCount{0};
486
487 Aws::String m_instanceGroupName;
488
490
491 ClusterInstanceRequirements m_instanceRequirements;
492
493 ClusterLifeCycleConfig m_lifeCycleConfig;
494
495 Aws::String m_executionRole;
496
497 int m_threadsPerCore{0};
498
499 Aws::Vector<ClusterInstanceStorageConfig> m_instanceStorageConfigs;
500
501 Aws::Vector<DeepHealthCheckType> m_onStartDeepHealthChecks;
502
503 Aws::String m_trainingPlanArn;
504
505 VpcConfig m_overrideVpcConfig;
506
507 ScheduledUpdateConfig m_scheduledUpdateConfig;
508
509 Aws::String m_imageId;
510
511 ClusterAutoPatchConfig m_autoPatchConfig;
512
513 Aws::String m_imageReleaseVersion;
514
515 ClusterKubernetesConfig m_kubernetesConfig;
516
517 ClusterSlurmConfig m_slurmConfig;
518
519 ClusterCapacityRequirements m_capacityRequirements;
520
521 ClusterNetworkInterface m_networkInterface;
522 bool m_instanceCountHasBeenSet = false;
523 bool m_minInstanceCountHasBeenSet = false;
524 bool m_instanceGroupNameHasBeenSet = false;
525 bool m_instanceTypeHasBeenSet = false;
526 bool m_instanceRequirementsHasBeenSet = false;
527 bool m_lifeCycleConfigHasBeenSet = false;
528 bool m_executionRoleHasBeenSet = false;
529 bool m_threadsPerCoreHasBeenSet = false;
530 bool m_instanceStorageConfigsHasBeenSet = false;
531 bool m_onStartDeepHealthChecksHasBeenSet = false;
532 bool m_trainingPlanArnHasBeenSet = false;
533 bool m_overrideVpcConfigHasBeenSet = false;
534 bool m_scheduledUpdateConfigHasBeenSet = false;
535 bool m_imageIdHasBeenSet = false;
536 bool m_autoPatchConfigHasBeenSet = false;
537 bool m_imageReleaseVersionHasBeenSet = false;
538 bool m_kubernetesConfigHasBeenSet = false;
539 bool m_slurmConfigHasBeenSet = false;
540 bool m_capacityRequirementsHasBeenSet = false;
541 bool m_networkInterfaceHasBeenSet = false;
542};
543
544} // namespace Model
545} // namespace SageMaker
546} // namespace Aws
ClusterInstanceGroupSpecification & WithImageId(ImageIdT &&value)
ClusterInstanceGroupSpecification & WithNetworkInterface(NetworkInterfaceT &&value)
ClusterInstanceGroupSpecification & WithExecutionRole(ExecutionRoleT &&value)
ClusterInstanceGroupSpecification & WithOnStartDeepHealthChecks(OnStartDeepHealthChecksT &&value)
ClusterInstanceGroupSpecification & WithTrainingPlanArn(TrainingPlanArnT &&value)
ClusterInstanceGroupSpecification & WithInstanceRequirements(InstanceRequirementsT &&value)
ClusterInstanceGroupSpecification & AddInstanceStorageConfigs(InstanceStorageConfigsT &&value)
ClusterInstanceGroupSpecification & WithOverrideVpcConfig(OverrideVpcConfigT &&value)
AWS_SAGEMAKER_API ClusterInstanceGroupSpecification(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ClusterInstanceStorageConfig > & GetInstanceStorageConfigs() const
ClusterInstanceGroupSpecification & WithAutoPatchConfig(AutoPatchConfigT &&value)
ClusterInstanceGroupSpecification & WithScheduledUpdateConfig(ScheduledUpdateConfigT &&value)
ClusterInstanceGroupSpecification & WithInstanceGroupName(InstanceGroupNameT &&value)
ClusterInstanceGroupSpecification & WithCapacityRequirements(CapacityRequirementsT &&value)
AWS_SAGEMAKER_API ClusterInstanceGroupSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
ClusterInstanceGroupSpecification & WithMinInstanceCount(int value)
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
ClusterInstanceGroupSpecification & WithInstanceType(ClusterInstanceType value)
const Aws::Vector< DeepHealthCheckType > & GetOnStartDeepHealthChecks() const
ClusterInstanceGroupSpecification & WithLifeCycleConfig(LifeCycleConfigT &&value)
ClusterInstanceGroupSpecification & WithKubernetesConfig(KubernetesConfigT &&value)
ClusterInstanceGroupSpecification & WithSlurmConfig(SlurmConfigT &&value)
ClusterInstanceGroupSpecification & WithImageReleaseVersion(ImageReleaseVersionT &&value)
ClusterInstanceGroupSpecification & AddOnStartDeepHealthChecks(DeepHealthCheckType value)
ClusterInstanceGroupSpecification & WithInstanceStorageConfigs(InstanceStorageConfigsT &&value)
AWS_SAGEMAKER_API ClusterInstanceGroupSpecification()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue