AWS SDK for C++

AWS SDK for C++ Version 1.11.807

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/ClusterCapacityRequirements.h>
11#include <aws/sagemaker/model/ClusterInstanceRequirements.h>
12#include <aws/sagemaker/model/ClusterInstanceStorageConfig.h>
13#include <aws/sagemaker/model/ClusterInstanceType.h>
14#include <aws/sagemaker/model/ClusterKubernetesConfig.h>
15#include <aws/sagemaker/model/ClusterLifeCycleConfig.h>
16#include <aws/sagemaker/model/ClusterNetworkInterface.h>
17#include <aws/sagemaker/model/ClusterSlurmConfig.h>
18#include <aws/sagemaker/model/DeepHealthCheckType.h>
19#include <aws/sagemaker/model/ScheduledUpdateConfig.h>
20#include <aws/sagemaker/model/VpcConfig.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Json {
27class JsonValue;
28class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace SageMaker {
32namespace Model {
33
41 public:
42 AWS_SAGEMAKER_API ClusterInstanceGroupSpecification() = default;
45 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
46
48
52 inline int GetInstanceCount() const { return m_instanceCount; }
53 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
54 inline void SetInstanceCount(int value) {
55 m_instanceCountHasBeenSet = true;
56 m_instanceCount = value;
57 }
59 SetInstanceCount(value);
60 return *this;
61 }
63
65
74 inline int GetMinInstanceCount() const { return m_minInstanceCount; }
75 inline bool MinInstanceCountHasBeenSet() const { return m_minInstanceCountHasBeenSet; }
76 inline void SetMinInstanceCount(int value) {
77 m_minInstanceCountHasBeenSet = true;
78 m_minInstanceCount = value;
79 }
82 return *this;
83 }
85
87
90 inline const Aws::String& GetInstanceGroupName() const { return m_instanceGroupName; }
91 inline bool InstanceGroupNameHasBeenSet() const { return m_instanceGroupNameHasBeenSet; }
92 template <typename InstanceGroupNameT = Aws::String>
93 void SetInstanceGroupName(InstanceGroupNameT&& value) {
94 m_instanceGroupNameHasBeenSet = true;
95 m_instanceGroupName = std::forward<InstanceGroupNameT>(value);
96 }
97 template <typename InstanceGroupNameT = Aws::String>
99 SetInstanceGroupName(std::forward<InstanceGroupNameT>(value));
100 return *this;
101 }
103
105
108 inline ClusterInstanceType GetInstanceType() const { return m_instanceType; }
109 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
111 m_instanceTypeHasBeenSet = true;
112 m_instanceType = value;
113 }
115 SetInstanceType(value);
116 return *this;
117 }
119
121
127 inline const ClusterInstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
128 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
129 template <typename InstanceRequirementsT = ClusterInstanceRequirements>
130 void SetInstanceRequirements(InstanceRequirementsT&& value) {
131 m_instanceRequirementsHasBeenSet = true;
132 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
133 }
134 template <typename InstanceRequirementsT = ClusterInstanceRequirements>
136 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
137 return *this;
138 }
140
142
145 inline const ClusterLifeCycleConfig& GetLifeCycleConfig() const { return m_lifeCycleConfig; }
146 inline bool LifeCycleConfigHasBeenSet() const { return m_lifeCycleConfigHasBeenSet; }
147 template <typename LifeCycleConfigT = ClusterLifeCycleConfig>
148 void SetLifeCycleConfig(LifeCycleConfigT&& value) {
149 m_lifeCycleConfigHasBeenSet = true;
150 m_lifeCycleConfig = std::forward<LifeCycleConfigT>(value);
151 }
152 template <typename LifeCycleConfigT = ClusterLifeCycleConfig>
154 SetLifeCycleConfig(std::forward<LifeCycleConfigT>(value));
155 return *this;
156 }
158
160
163 inline const Aws::String& GetExecutionRole() const { return m_executionRole; }
164 inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; }
165 template <typename ExecutionRoleT = Aws::String>
166 void SetExecutionRole(ExecutionRoleT&& value) {
167 m_executionRoleHasBeenSet = true;
168 m_executionRole = std::forward<ExecutionRoleT>(value);
169 }
170 template <typename ExecutionRoleT = Aws::String>
172 SetExecutionRole(std::forward<ExecutionRoleT>(value));
173 return *this;
174 }
176
178
188 inline int GetThreadsPerCore() const { return m_threadsPerCore; }
189 inline bool ThreadsPerCoreHasBeenSet() const { return m_threadsPerCoreHasBeenSet; }
190 inline void SetThreadsPerCore(int value) {
191 m_threadsPerCoreHasBeenSet = true;
192 m_threadsPerCore = value;
193 }
195 SetThreadsPerCore(value);
196 return *this;
197 }
199
201
205 inline const Aws::Vector<ClusterInstanceStorageConfig>& GetInstanceStorageConfigs() const { return m_instanceStorageConfigs; }
206 inline bool InstanceStorageConfigsHasBeenSet() const { return m_instanceStorageConfigsHasBeenSet; }
207 template <typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
208 void SetInstanceStorageConfigs(InstanceStorageConfigsT&& value) {
209 m_instanceStorageConfigsHasBeenSet = true;
210 m_instanceStorageConfigs = std::forward<InstanceStorageConfigsT>(value);
211 }
212 template <typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
214 SetInstanceStorageConfigs(std::forward<InstanceStorageConfigsT>(value));
215 return *this;
216 }
217 template <typename InstanceStorageConfigsT = ClusterInstanceStorageConfig>
219 m_instanceStorageConfigsHasBeenSet = true;
220 m_instanceStorageConfigs.emplace_back(std::forward<InstanceStorageConfigsT>(value));
221 return *this;
222 }
224
226
230 inline const Aws::Vector<DeepHealthCheckType>& GetOnStartDeepHealthChecks() const { return m_onStartDeepHealthChecks; }
231 inline bool OnStartDeepHealthChecksHasBeenSet() const { return m_onStartDeepHealthChecksHasBeenSet; }
232 template <typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
233 void SetOnStartDeepHealthChecks(OnStartDeepHealthChecksT&& value) {
234 m_onStartDeepHealthChecksHasBeenSet = true;
235 m_onStartDeepHealthChecks = std::forward<OnStartDeepHealthChecksT>(value);
236 }
237 template <typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
239 SetOnStartDeepHealthChecks(std::forward<OnStartDeepHealthChecksT>(value));
240 return *this;
241 }
243 m_onStartDeepHealthChecksHasBeenSet = true;
244 m_onStartDeepHealthChecks.push_back(value);
245 return *this;
246 }
248
250
258 inline const Aws::String& GetTrainingPlanArn() const { return m_trainingPlanArn; }
259 inline bool TrainingPlanArnHasBeenSet() const { return m_trainingPlanArnHasBeenSet; }
260 template <typename TrainingPlanArnT = Aws::String>
261 void SetTrainingPlanArn(TrainingPlanArnT&& value) {
262 m_trainingPlanArnHasBeenSet = true;
263 m_trainingPlanArn = std::forward<TrainingPlanArnT>(value);
264 }
265 template <typename TrainingPlanArnT = Aws::String>
267 SetTrainingPlanArn(std::forward<TrainingPlanArnT>(value));
268 return *this;
269 }
271
273
301 inline const VpcConfig& GetOverrideVpcConfig() const { return m_overrideVpcConfig; }
302 inline bool OverrideVpcConfigHasBeenSet() const { return m_overrideVpcConfigHasBeenSet; }
303 template <typename OverrideVpcConfigT = VpcConfig>
304 void SetOverrideVpcConfig(OverrideVpcConfigT&& value) {
305 m_overrideVpcConfigHasBeenSet = true;
306 m_overrideVpcConfig = std::forward<OverrideVpcConfigT>(value);
307 }
308 template <typename OverrideVpcConfigT = VpcConfig>
310 SetOverrideVpcConfig(std::forward<OverrideVpcConfigT>(value));
311 return *this;
312 }
314
316
320 inline const ScheduledUpdateConfig& GetScheduledUpdateConfig() const { return m_scheduledUpdateConfig; }
321 inline bool ScheduledUpdateConfigHasBeenSet() const { return m_scheduledUpdateConfigHasBeenSet; }
322 template <typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
323 void SetScheduledUpdateConfig(ScheduledUpdateConfigT&& value) {
324 m_scheduledUpdateConfigHasBeenSet = true;
325 m_scheduledUpdateConfig = std::forward<ScheduledUpdateConfigT>(value);
326 }
327 template <typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
329 SetScheduledUpdateConfig(std::forward<ScheduledUpdateConfigT>(value));
330 return *this;
331 }
333
335
353 inline const Aws::String& GetImageId() const { return m_imageId; }
354 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
355 template <typename ImageIdT = Aws::String>
356 void SetImageId(ImageIdT&& value) {
357 m_imageIdHasBeenSet = true;
358 m_imageId = std::forward<ImageIdT>(value);
359 }
360 template <typename ImageIdT = Aws::String>
362 SetImageId(std::forward<ImageIdT>(value));
363 return *this;
364 }
366
368
374 inline const ClusterKubernetesConfig& GetKubernetesConfig() const { return m_kubernetesConfig; }
375 inline bool KubernetesConfigHasBeenSet() const { return m_kubernetesConfigHasBeenSet; }
376 template <typename KubernetesConfigT = ClusterKubernetesConfig>
377 void SetKubernetesConfig(KubernetesConfigT&& value) {
378 m_kubernetesConfigHasBeenSet = true;
379 m_kubernetesConfig = std::forward<KubernetesConfigT>(value);
380 }
381 template <typename KubernetesConfigT = ClusterKubernetesConfig>
383 SetKubernetesConfig(std::forward<KubernetesConfigT>(value));
384 return *this;
385 }
387
389
392 inline const ClusterSlurmConfig& GetSlurmConfig() const { return m_slurmConfig; }
393 inline bool SlurmConfigHasBeenSet() const { return m_slurmConfigHasBeenSet; }
394 template <typename SlurmConfigT = ClusterSlurmConfig>
395 void SetSlurmConfig(SlurmConfigT&& value) {
396 m_slurmConfigHasBeenSet = true;
397 m_slurmConfig = std::forward<SlurmConfigT>(value);
398 }
399 template <typename SlurmConfigT = ClusterSlurmConfig>
401 SetSlurmConfig(std::forward<SlurmConfigT>(value));
402 return *this;
403 }
405
407
410 inline const ClusterCapacityRequirements& GetCapacityRequirements() const { return m_capacityRequirements; }
411 inline bool CapacityRequirementsHasBeenSet() const { return m_capacityRequirementsHasBeenSet; }
412 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
413 void SetCapacityRequirements(CapacityRequirementsT&& value) {
414 m_capacityRequirementsHasBeenSet = true;
415 m_capacityRequirements = std::forward<CapacityRequirementsT>(value);
416 }
417 template <typename CapacityRequirementsT = ClusterCapacityRequirements>
419 SetCapacityRequirements(std::forward<CapacityRequirementsT>(value));
420 return *this;
421 }
423
425
428 inline const ClusterNetworkInterface& GetNetworkInterface() const { return m_networkInterface; }
429 inline bool NetworkInterfaceHasBeenSet() const { return m_networkInterfaceHasBeenSet; }
430 template <typename NetworkInterfaceT = ClusterNetworkInterface>
431 void SetNetworkInterface(NetworkInterfaceT&& value) {
432 m_networkInterfaceHasBeenSet = true;
433 m_networkInterface = std::forward<NetworkInterfaceT>(value);
434 }
435 template <typename NetworkInterfaceT = ClusterNetworkInterface>
437 SetNetworkInterface(std::forward<NetworkInterfaceT>(value));
438 return *this;
439 }
441 private:
442 int m_instanceCount{0};
443
444 int m_minInstanceCount{0};
445
446 Aws::String m_instanceGroupName;
447
449
450 ClusterInstanceRequirements m_instanceRequirements;
451
452 ClusterLifeCycleConfig m_lifeCycleConfig;
453
454 Aws::String m_executionRole;
455
456 int m_threadsPerCore{0};
457
458 Aws::Vector<ClusterInstanceStorageConfig> m_instanceStorageConfigs;
459
460 Aws::Vector<DeepHealthCheckType> m_onStartDeepHealthChecks;
461
462 Aws::String m_trainingPlanArn;
463
464 VpcConfig m_overrideVpcConfig;
465
466 ScheduledUpdateConfig m_scheduledUpdateConfig;
467
468 Aws::String m_imageId;
469
470 ClusterKubernetesConfig m_kubernetesConfig;
471
472 ClusterSlurmConfig m_slurmConfig;
473
474 ClusterCapacityRequirements m_capacityRequirements;
475
476 ClusterNetworkInterface m_networkInterface;
477 bool m_instanceCountHasBeenSet = false;
478 bool m_minInstanceCountHasBeenSet = false;
479 bool m_instanceGroupNameHasBeenSet = false;
480 bool m_instanceTypeHasBeenSet = false;
481 bool m_instanceRequirementsHasBeenSet = false;
482 bool m_lifeCycleConfigHasBeenSet = false;
483 bool m_executionRoleHasBeenSet = false;
484 bool m_threadsPerCoreHasBeenSet = false;
485 bool m_instanceStorageConfigsHasBeenSet = false;
486 bool m_onStartDeepHealthChecksHasBeenSet = false;
487 bool m_trainingPlanArnHasBeenSet = false;
488 bool m_overrideVpcConfigHasBeenSet = false;
489 bool m_scheduledUpdateConfigHasBeenSet = false;
490 bool m_imageIdHasBeenSet = false;
491 bool m_kubernetesConfigHasBeenSet = false;
492 bool m_slurmConfigHasBeenSet = false;
493 bool m_capacityRequirementsHasBeenSet = false;
494 bool m_networkInterfaceHasBeenSet = false;
495};
496
497} // namespace Model
498} // namespace SageMaker
499} // 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 & 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 & 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