AWS SDK for C++

AWS SDK for C++ Version 1.11.834

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
354 inline const Aws::String& GetImageId() const { return m_imageId; }
355 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
356 template <typename ImageIdT = Aws::String>
357 void SetImageId(ImageIdT&& value) {
358 m_imageIdHasBeenSet = true;
359 m_imageId = std::forward<ImageIdT>(value);
360 }
361 template <typename ImageIdT = Aws::String>
363 SetImageId(std::forward<ImageIdT>(value));
364 return *this;
365 }
367
369
373 inline const ClusterAutoPatchConfig& GetAutoPatchConfig() const { return m_autoPatchConfig; }
374 inline bool AutoPatchConfigHasBeenSet() const { return m_autoPatchConfigHasBeenSet; }
375 template <typename AutoPatchConfigT = ClusterAutoPatchConfig>
376 void SetAutoPatchConfig(AutoPatchConfigT&& value) {
377 m_autoPatchConfigHasBeenSet = true;
378 m_autoPatchConfig = std::forward<AutoPatchConfigT>(value);
379 }
380 template <typename AutoPatchConfigT = ClusterAutoPatchConfig>
382 SetAutoPatchConfig(std::forward<AutoPatchConfigT>(value));
383 return *this;
384 }
386
388
393 inline const Aws::String& GetImageReleaseVersion() const { return m_imageReleaseVersion; }
394 inline bool ImageReleaseVersionHasBeenSet() const { return m_imageReleaseVersionHasBeenSet; }
395 template <typename ImageReleaseVersionT = Aws::String>
396 void SetImageReleaseVersion(ImageReleaseVersionT&& value) {
397 m_imageReleaseVersionHasBeenSet = true;
398 m_imageReleaseVersion = std::forward<ImageReleaseVersionT>(value);
399 }
400 template <typename ImageReleaseVersionT = Aws::String>
402 SetImageReleaseVersion(std::forward<ImageReleaseVersionT>(value));
403 return *this;
404 }
406
408
414 inline const ClusterKubernetesConfig& GetKubernetesConfig() const { return m_kubernetesConfig; }
415 inline bool KubernetesConfigHasBeenSet() const { return m_kubernetesConfigHasBeenSet; }
416 template <typename KubernetesConfigT = ClusterKubernetesConfig>
417 void SetKubernetesConfig(KubernetesConfigT&& value) {
418 m_kubernetesConfigHasBeenSet = true;
419 m_kubernetesConfig = std::forward<KubernetesConfigT>(value);
420 }
421 template <typename KubernetesConfigT = ClusterKubernetesConfig>
423 SetKubernetesConfig(std::forward<KubernetesConfigT>(value));
424 return *this;
425 }
427
429
432 inline const ClusterSlurmConfig& GetSlurmConfig() const { return m_slurmConfig; }
433 inline bool SlurmConfigHasBeenSet() const { return m_slurmConfigHasBeenSet; }
434 template <typename SlurmConfigT = ClusterSlurmConfig>
435 void SetSlurmConfig(SlurmConfigT&& value) {
436 m_slurmConfigHasBeenSet = true;
437 m_slurmConfig = std::forward<SlurmConfigT>(value);
438 }
439 template <typename SlurmConfigT = ClusterSlurmConfig>
441 SetSlurmConfig(std::forward<SlurmConfigT>(value));
442 return *this;
443 }
445
447
450 inline const ClusterCapacityRequirements& GetCapacityRequirements() const { return m_capacityRequirements; }
451 inline bool CapacityRequirementsHasBeenSet() const { return m_capacityRequirementsHasBeenSet; }
452 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
453 void SetCapacityRequirements(CapacityRequirementsT&& value) {
454 m_capacityRequirementsHasBeenSet = true;
455 m_capacityRequirements = std::forward<CapacityRequirementsT>(value);
456 }
457 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
459 SetCapacityRequirements(std::forward<CapacityRequirementsT>(value));
460 return *this;
461 }
463
465
468 inline const ClusterNetworkInterface& GetNetworkInterface() const { return m_networkInterface; }
469 inline bool NetworkInterfaceHasBeenSet() const { return m_networkInterfaceHasBeenSet; }
470 template <typename NetworkInterfaceT = ClusterNetworkInterface>
471 void SetNetworkInterface(NetworkInterfaceT&& value) {
472 m_networkInterfaceHasBeenSet = true;
473 m_networkInterface = std::forward<NetworkInterfaceT>(value);
474 }
475 template <typename NetworkInterfaceT = ClusterNetworkInterface>
477 SetNetworkInterface(std::forward<NetworkInterfaceT>(value));
478 return *this;
479 }
481 private:
482 int m_instanceCount{0};
483
484 int m_minInstanceCount{0};
485
486 Aws::String m_instanceGroupName;
487
489
490 ClusterInstanceRequirements m_instanceRequirements;
491
492 ClusterLifeCycleConfig m_lifeCycleConfig;
493
494 Aws::String m_executionRole;
495
496 int m_threadsPerCore{0};
497
498 Aws::Vector<ClusterInstanceStorageConfig> m_instanceStorageConfigs;
499
500 Aws::Vector<DeepHealthCheckType> m_onStartDeepHealthChecks;
501
502 Aws::String m_trainingPlanArn;
503
504 VpcConfig m_overrideVpcConfig;
505
506 ScheduledUpdateConfig m_scheduledUpdateConfig;
507
508 Aws::String m_imageId;
509
510 ClusterAutoPatchConfig m_autoPatchConfig;
511
512 Aws::String m_imageReleaseVersion;
513
514 ClusterKubernetesConfig m_kubernetesConfig;
515
516 ClusterSlurmConfig m_slurmConfig;
517
518 ClusterCapacityRequirements m_capacityRequirements;
519
520 ClusterNetworkInterface m_networkInterface;
521 bool m_instanceCountHasBeenSet = false;
522 bool m_minInstanceCountHasBeenSet = false;
523 bool m_instanceGroupNameHasBeenSet = false;
524 bool m_instanceTypeHasBeenSet = false;
525 bool m_instanceRequirementsHasBeenSet = false;
526 bool m_lifeCycleConfigHasBeenSet = false;
527 bool m_executionRoleHasBeenSet = false;
528 bool m_threadsPerCoreHasBeenSet = false;
529 bool m_instanceStorageConfigsHasBeenSet = false;
530 bool m_onStartDeepHealthChecksHasBeenSet = false;
531 bool m_trainingPlanArnHasBeenSet = false;
532 bool m_overrideVpcConfigHasBeenSet = false;
533 bool m_scheduledUpdateConfigHasBeenSet = false;
534 bool m_imageIdHasBeenSet = false;
535 bool m_autoPatchConfigHasBeenSet = false;
536 bool m_imageReleaseVersionHasBeenSet = false;
537 bool m_kubernetesConfigHasBeenSet = false;
538 bool m_slurmConfigHasBeenSet = false;
539 bool m_capacityRequirementsHasBeenSet = false;
540 bool m_networkInterfaceHasBeenSet = false;
541};
542
543} // namespace Model
544} // namespace SageMaker
545} // 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