7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/sagemaker/SageMaker_EXPORTS.h>
11#include <aws/sagemaker/model/ActiveClusterOperationName.h>
12#include <aws/sagemaker/model/ClusterAutoPatchConfigDetails.h>
13#include <aws/sagemaker/model/ClusterCapacityRequirements.h>
14#include <aws/sagemaker/model/ClusterImageVersionStatus.h>
15#include <aws/sagemaker/model/ClusterInstanceRequirementDetails.h>
16#include <aws/sagemaker/model/ClusterInstanceStorageConfig.h>
17#include <aws/sagemaker/model/ClusterInstanceType.h>
18#include <aws/sagemaker/model/ClusterInstanceTypeDetail.h>
19#include <aws/sagemaker/model/ClusterKubernetesConfigDetails.h>
20#include <aws/sagemaker/model/ClusterLifeCycleConfig.h>
21#include <aws/sagemaker/model/ClusterNetworkInterfaceDetails.h>
22#include <aws/sagemaker/model/ClusterSlurmConfigDetails.h>
23#include <aws/sagemaker/model/DeepHealthCheckType.h>
24#include <aws/sagemaker/model/DeploymentConfiguration.h>
25#include <aws/sagemaker/model/InstanceGroupStatus.h>
26#include <aws/sagemaker/model/ScheduledUpdateConfig.h>
27#include <aws/sagemaker/model/SoftwareUpdateStatus.h>
28#include <aws/sagemaker/model/VpcConfig.h>
63 m_currentCountHasBeenSet =
true;
64 m_currentCount = value;
80 m_targetCountHasBeenSet =
true;
81 m_targetCount = value;
98 m_minCountHasBeenSet =
true;
113 template <
typename InstanceGroupNameT = Aws::String>
115 m_instanceGroupNameHasBeenSet =
true;
116 m_instanceGroupName = std::forward<InstanceGroupNameT>(value);
118 template <
typename InstanceGroupNameT = Aws::String>
132 m_instanceTypeHasBeenSet =
true;
133 m_instanceType = value;
149 template <
typename InstanceRequirementsT = ClusterInstanceRequirementDetails>
151 m_instanceRequirementsHasBeenSet =
true;
152 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
154 template <
typename InstanceRequirementsT = ClusterInstanceRequirementDetails>
169 template <
typename InstanceTypeDetailsT = Aws::Vector<ClusterInstanceTypeDetail>>
171 m_instanceTypeDetailsHasBeenSet =
true;
172 m_instanceTypeDetails = std::forward<InstanceTypeDetailsT>(value);
174 template <
typename InstanceTypeDetailsT = Aws::Vector<ClusterInstanceTypeDetail>>
179 template <
typename InstanceTypeDetailsT = ClusterInstanceTypeDetail>
181 m_instanceTypeDetailsHasBeenSet =
true;
182 m_instanceTypeDetails.emplace_back(std::forward<InstanceTypeDetailsT>(value));
193 template <
typename LifeCycleConfigT = ClusterLifeCycleConfig>
195 m_lifeCycleConfigHasBeenSet =
true;
196 m_lifeCycleConfig = std::forward<LifeCycleConfigT>(value);
198 template <
typename LifeCycleConfigT = ClusterLifeCycleConfig>
211 template <
typename ExecutionRoleT = Aws::String>
213 m_executionRoleHasBeenSet =
true;
214 m_executionRole = std::forward<ExecutionRoleT>(value);
216 template <
typename ExecutionRoleT = Aws::String>
237 m_threadsPerCoreHasBeenSet =
true;
238 m_threadsPerCore = value;
253 template <
typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
255 m_instanceStorageConfigsHasBeenSet =
true;
256 m_instanceStorageConfigs = std::forward<InstanceStorageConfigsT>(value);
258 template <
typename InstanceStorageConfigsT = Aws::Vector<ClusterInstanceStorageConfig>>
263 template <
typename InstanceStorageConfigsT = ClusterInstanceStorageConfig>
265 m_instanceStorageConfigsHasBeenSet =
true;
266 m_instanceStorageConfigs.emplace_back(std::forward<InstanceStorageConfigsT>(value));
278 template <
typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
280 m_onStartDeepHealthChecksHasBeenSet =
true;
281 m_onStartDeepHealthChecks = std::forward<OnStartDeepHealthChecksT>(value);
283 template <
typename OnStartDeepHealthChecksT = Aws::Vector<DeepHealthCheckType>>
289 m_onStartDeepHealthChecksHasBeenSet =
true;
290 m_onStartDeepHealthChecks.push_back(value);
310 m_statusHasBeenSet =
true;
330 template <
typename TrainingPlanArnT = Aws::String>
332 m_trainingPlanArnHasBeenSet =
true;
333 m_trainingPlanArn = std::forward<TrainingPlanArnT>(value);
335 template <
typename TrainingPlanArnT = Aws::String>
349 template <
typename TrainingPlanStatusT = Aws::String>
351 m_trainingPlanStatusHasBeenSet =
true;
352 m_trainingPlanStatus = std::forward<TrainingPlanStatusT>(value);
354 template <
typename TrainingPlanStatusT = Aws::String>
369 template <
typename Overr
ideVpcConfigT = VpcConfig>
371 m_overrideVpcConfigHasBeenSet =
true;
372 m_overrideVpcConfig = std::forward<OverrideVpcConfigT>(value);
374 template <
typename Overr
ideVpcConfigT = VpcConfig>
388 template <
typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
390 m_scheduledUpdateConfigHasBeenSet =
true;
391 m_scheduledUpdateConfig = std::forward<ScheduledUpdateConfigT>(value);
393 template <
typename ScheduledUpdateConfigT = ScheduledUpdateConfig>
407 template <
typename AutoPatchConfigT = ClusterAutoPatchConfigDetails>
409 m_autoPatchConfigHasBeenSet =
true;
410 m_autoPatchConfig = std::forward<AutoPatchConfigT>(value);
412 template <
typename AutoPatchConfigT = ClusterAutoPatchConfigDetails>
426 template <
typename CurrentImageIdT = Aws::String>
428 m_currentImageIdHasBeenSet =
true;
429 m_currentImageId = std::forward<CurrentImageIdT>(value);
431 template <
typename CurrentImageIdT = Aws::String>
444 template <
typename DesiredImageIdT = Aws::String>
446 m_desiredImageIdHasBeenSet =
true;
447 m_desiredImageId = std::forward<DesiredImageIdT>(value);
449 template <
typename DesiredImageIdT = Aws::String>
463 template <
typename CurrentImageReleaseVersionT = Aws::String>
465 m_currentImageReleaseVersionHasBeenSet =
true;
466 m_currentImageReleaseVersion = std::forward<CurrentImageReleaseVersionT>(value);
468 template <
typename CurrentImageReleaseVersionT = Aws::String>
482 template <
typename DesiredImageReleaseVersionT = Aws::String>
484 m_desiredImageReleaseVersionHasBeenSet =
true;
485 m_desiredImageReleaseVersion = std::forward<DesiredImageReleaseVersionT>(value);
487 template <
typename DesiredImageReleaseVersionT = Aws::String>
503 m_imageVersionStatusHasBeenSet =
true;
504 m_imageVersionStatus = value;
520 template <
typename ActiveOperationsT = Aws::Map<ActiveClusterOperationName,
int>>
522 m_activeOperationsHasBeenSet =
true;
523 m_activeOperations = std::forward<ActiveOperationsT>(value);
525 template <
typename ActiveOperationsT = Aws::Map<ActiveClusterOperationName,
int>>
531 m_activeOperationsHasBeenSet =
true;
532 m_activeOperations.emplace(key, value);
544 template <
typename KubernetesConfigT = ClusterKubernetesConfigDetails>
546 m_kubernetesConfigHasBeenSet =
true;
547 m_kubernetesConfig = std::forward<KubernetesConfigT>(value);
549 template <
typename KubernetesConfigT = ClusterKubernetesConfigDetails>
562 template <
typename CapacityRequirementsT = ClusterCapacityRequirements>
564 m_capacityRequirementsHasBeenSet =
true;
565 m_capacityRequirements = std::forward<CapacityRequirementsT>(value);
567 template <
typename CapacityRequirementsT = ClusterCapacityRequirements>
592 m_targetStateCountHasBeenSet =
true;
593 m_targetStateCount = value;
612 m_softwareUpdateStatusHasBeenSet =
true;
613 m_softwareUpdateStatus = value;
625 template <
typename ActiveSoftwareUpdateConfigT = DeploymentConfiguration>
627 m_activeSoftwareUpdateConfigHasBeenSet =
true;
628 m_activeSoftwareUpdateConfig = std::forward<ActiveSoftwareUpdateConfigT>(value);
630 template <
typename ActiveSoftwareUpdateConfigT = DeploymentConfiguration>
643 template <
typename SlurmConfigT = ClusterSlurmConfigDetails>
645 m_slurmConfigHasBeenSet =
true;
646 m_slurmConfig = std::forward<SlurmConfigT>(value);
648 template <
typename SlurmConfigT = ClusterSlurmConfigDetails>
661 template <
typename NetworkInterfaceT = ClusterNetworkInterfaceDetails>
663 m_networkInterfaceHasBeenSet =
true;
664 m_networkInterface = std::forward<NetworkInterfaceT>(value);
666 template <
typename NetworkInterfaceT = ClusterNetworkInterfaceDetails>
673 int m_currentCount{0};
675 int m_targetCount{0};
683 ClusterInstanceRequirementDetails m_instanceRequirements;
687 ClusterLifeCycleConfig m_lifeCycleConfig;
691 int m_threadsPerCore{0};
703 VpcConfig m_overrideVpcConfig;
705 ScheduledUpdateConfig m_scheduledUpdateConfig;
707 ClusterAutoPatchConfigDetails m_autoPatchConfig;
721 ClusterKubernetesConfigDetails m_kubernetesConfig;
723 ClusterCapacityRequirements m_capacityRequirements;
725 int m_targetStateCount{0};
729 DeploymentConfiguration m_activeSoftwareUpdateConfig;
731 ClusterSlurmConfigDetails m_slurmConfig;
733 ClusterNetworkInterfaceDetails m_networkInterface;
734 bool m_currentCountHasBeenSet =
false;
735 bool m_targetCountHasBeenSet =
false;
736 bool m_minCountHasBeenSet =
false;
737 bool m_instanceGroupNameHasBeenSet =
false;
738 bool m_instanceTypeHasBeenSet =
false;
739 bool m_instanceRequirementsHasBeenSet =
false;
740 bool m_instanceTypeDetailsHasBeenSet =
false;
741 bool m_lifeCycleConfigHasBeenSet =
false;
742 bool m_executionRoleHasBeenSet =
false;
743 bool m_threadsPerCoreHasBeenSet =
false;
744 bool m_instanceStorageConfigsHasBeenSet =
false;
745 bool m_onStartDeepHealthChecksHasBeenSet =
false;
746 bool m_statusHasBeenSet =
false;
747 bool m_trainingPlanArnHasBeenSet =
false;
748 bool m_trainingPlanStatusHasBeenSet =
false;
749 bool m_overrideVpcConfigHasBeenSet =
false;
750 bool m_scheduledUpdateConfigHasBeenSet =
false;
751 bool m_autoPatchConfigHasBeenSet =
false;
752 bool m_currentImageIdHasBeenSet =
false;
753 bool m_desiredImageIdHasBeenSet =
false;
754 bool m_currentImageReleaseVersionHasBeenSet =
false;
755 bool m_desiredImageReleaseVersionHasBeenSet =
false;
756 bool m_imageVersionStatusHasBeenSet =
false;
757 bool m_activeOperationsHasBeenSet =
false;
758 bool m_kubernetesConfigHasBeenSet =
false;
759 bool m_capacityRequirementsHasBeenSet =
false;
760 bool m_targetStateCountHasBeenSet =
false;
761 bool m_softwareUpdateStatusHasBeenSet =
false;
762 bool m_activeSoftwareUpdateConfigHasBeenSet =
false;
763 bool m_slurmConfigHasBeenSet =
false;
764 bool m_networkInterfaceHasBeenSet =
false;
bool KubernetesConfigHasBeenSet() const
ClusterInstanceGroupDetails & WithAutoPatchConfig(AutoPatchConfigT &&value)
ClusterInstanceGroupDetails & WithImageVersionStatus(ClusterImageVersionStatus value)
bool InstanceRequirementsHasBeenSet() const
bool ActiveSoftwareUpdateConfigHasBeenSet() const
ClusterInstanceGroupDetails & WithOverrideVpcConfig(OverrideVpcConfigT &&value)
ClusterInstanceGroupDetails & WithCurrentImageId(CurrentImageIdT &&value)
ClusterInstanceGroupDetails & WithNetworkInterface(NetworkInterfaceT &&value)
void SetInstanceStorageConfigs(InstanceStorageConfigsT &&value)
ClusterInstanceGroupDetails & WithCurrentImageReleaseVersion(CurrentImageReleaseVersionT &&value)
bool InstanceTypeHasBeenSet() const
const ClusterLifeCycleConfig & GetLifeCycleConfig() const
bool OverrideVpcConfigHasBeenSet() const
ClusterInstanceGroupDetails & WithMinCount(int value)
void SetCurrentImageReleaseVersion(CurrentImageReleaseVersionT &&value)
void SetTargetStateCount(int value)
bool MinCountHasBeenSet() const
void SetTrainingPlanArn(TrainingPlanArnT &&value)
void SetTargetCount(int value)
bool TrainingPlanArnHasBeenSet() const
ClusterInstanceGroupDetails & WithCapacityRequirements(CapacityRequirementsT &&value)
ClusterInstanceGroupDetails & WithTrainingPlanArn(TrainingPlanArnT &&value)
ClusterInstanceGroupDetails & WithInstanceType(ClusterInstanceType value)
const Aws::Vector< DeepHealthCheckType > & GetOnStartDeepHealthChecks() const
bool DesiredImageReleaseVersionHasBeenSet() const
ClusterInstanceGroupDetails & AddActiveOperations(ActiveClusterOperationName key, int value)
const Aws::String & GetCurrentImageId() const
ClusterInstanceGroupDetails & WithSlurmConfig(SlurmConfigT &&value)
const ClusterInstanceRequirementDetails & GetInstanceRequirements() const
ClusterInstanceGroupDetails & WithTrainingPlanStatus(TrainingPlanStatusT &&value)
bool CapacityRequirementsHasBeenSet() const
int GetThreadsPerCore() const
ClusterInstanceType GetInstanceType() const
bool LifeCycleConfigHasBeenSet() const
bool NetworkInterfaceHasBeenSet() const
bool InstanceGroupNameHasBeenSet() const
void SetInstanceType(ClusterInstanceType value)
ClusterInstanceGroupDetails & WithSoftwareUpdateStatus(SoftwareUpdateStatus value)
void SetImageVersionStatus(ClusterImageVersionStatus value)
ClusterInstanceGroupDetails & WithStatus(InstanceGroupStatus value)
void SetStatus(InstanceGroupStatus value)
ClusterInstanceGroupDetails & WithActiveOperations(ActiveOperationsT &&value)
void SetNetworkInterface(NetworkInterfaceT &&value)
void SetCapacityRequirements(CapacityRequirementsT &&value)
bool CurrentImageReleaseVersionHasBeenSet() const
void SetCurrentImageId(CurrentImageIdT &&value)
const Aws::Map< ActiveClusterOperationName, int > & GetActiveOperations() const
ClusterInstanceGroupDetails & WithDesiredImageReleaseVersion(DesiredImageReleaseVersionT &&value)
void SetDesiredImageReleaseVersion(DesiredImageReleaseVersionT &&value)
const VpcConfig & GetOverrideVpcConfig() const
ClusterInstanceGroupDetails & AddOnStartDeepHealthChecks(DeepHealthCheckType value)
ClusterInstanceGroupDetails & AddInstanceStorageConfigs(InstanceStorageConfigsT &&value)
ClusterInstanceGroupDetails & WithThreadsPerCore(int value)
const Aws::String & GetCurrentImageReleaseVersion() const
int GetCurrentCount() const
ClusterInstanceGroupDetails & WithTargetCount(int value)
bool ImageVersionStatusHasBeenSet() const
AWS_SAGEMAKER_API ClusterInstanceGroupDetails()=default
int GetTargetStateCount() const
const Aws::String & GetDesiredImageId() const
const ClusterAutoPatchConfigDetails & GetAutoPatchConfig() const
bool InstanceTypeDetailsHasBeenSet() const
bool ScheduledUpdateConfigHasBeenSet() const
bool SlurmConfigHasBeenSet() const
ClusterInstanceGroupDetails & WithTargetStateCount(int value)
ClusterInstanceGroupDetails & WithInstanceGroupName(InstanceGroupNameT &&value)
bool ActiveOperationsHasBeenSet() const
void SetExecutionRole(ExecutionRoleT &&value)
bool DesiredImageIdHasBeenSet() const
ClusterInstanceGroupDetails & WithInstanceStorageConfigs(InstanceStorageConfigsT &&value)
void SetSlurmConfig(SlurmConfigT &&value)
bool AutoPatchConfigHasBeenSet() const
void SetAutoPatchConfig(AutoPatchConfigT &&value)
const Aws::Vector< ClusterInstanceTypeDetail > & GetInstanceTypeDetails() const
const ClusterKubernetesConfigDetails & GetKubernetesConfig() const
bool TargetCountHasBeenSet() const
void SetSoftwareUpdateStatus(SoftwareUpdateStatus value)
const ClusterSlurmConfigDetails & GetSlurmConfig() const
const Aws::String & GetInstanceGroupName() const
ClusterInstanceGroupDetails & AddInstanceTypeDetails(InstanceTypeDetailsT &&value)
void SetInstanceGroupName(InstanceGroupNameT &&value)
void SetLifeCycleConfig(LifeCycleConfigT &&value)
AWS_SAGEMAKER_API ClusterInstanceGroupDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetThreadsPerCore(int value)
ClusterInstanceGroupDetails & WithExecutionRole(ExecutionRoleT &&value)
void SetMinCount(int value)
void SetScheduledUpdateConfig(ScheduledUpdateConfigT &&value)
int GetTargetCount() const
ClusterInstanceGroupDetails & WithCurrentCount(int value)
SoftwareUpdateStatus GetSoftwareUpdateStatus() const
void SetDesiredImageId(DesiredImageIdT &&value)
const Aws::String & GetExecutionRole() const
void SetCurrentCount(int value)
ClusterInstanceGroupDetails & WithOnStartDeepHealthChecks(OnStartDeepHealthChecksT &&value)
ClusterInstanceGroupDetails & WithInstanceRequirements(InstanceRequirementsT &&value)
void SetKubernetesConfig(KubernetesConfigT &&value)
const ClusterNetworkInterfaceDetails & GetNetworkInterface() const
ClusterInstanceGroupDetails & WithInstanceTypeDetails(InstanceTypeDetailsT &&value)
ClusterInstanceGroupDetails & WithLifeCycleConfig(LifeCycleConfigT &&value)
const Aws::String & GetTrainingPlanStatus() const
AWS_SAGEMAKER_API ClusterInstanceGroupDetails(Aws::Utils::Json::JsonView jsonValue)
bool ExecutionRoleHasBeenSet() const
bool TrainingPlanStatusHasBeenSet() const
bool StatusHasBeenSet() const
ClusterInstanceGroupDetails & WithActiveSoftwareUpdateConfig(ActiveSoftwareUpdateConfigT &&value)
ClusterInstanceGroupDetails & WithScheduledUpdateConfig(ScheduledUpdateConfigT &&value)
bool CurrentCountHasBeenSet() const
const Aws::String & GetDesiredImageReleaseVersion() const
ClusterImageVersionStatus GetImageVersionStatus() const
const Aws::Vector< ClusterInstanceStorageConfig > & GetInstanceStorageConfigs() const
bool InstanceStorageConfigsHasBeenSet() const
bool TargetStateCountHasBeenSet() const
void SetInstanceRequirements(InstanceRequirementsT &&value)
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
bool SoftwareUpdateStatusHasBeenSet() const
void SetActiveSoftwareUpdateConfig(ActiveSoftwareUpdateConfigT &&value)
void SetInstanceTypeDetails(InstanceTypeDetailsT &&value)
void SetTrainingPlanStatus(TrainingPlanStatusT &&value)
void SetOnStartDeepHealthChecks(OnStartDeepHealthChecksT &&value)
const DeploymentConfiguration & GetActiveSoftwareUpdateConfig() const
void SetOverrideVpcConfig(OverrideVpcConfigT &&value)
bool CurrentImageIdHasBeenSet() const
bool ThreadsPerCoreHasBeenSet() const
const ScheduledUpdateConfig & GetScheduledUpdateConfig() const
bool OnStartDeepHealthChecksHasBeenSet() const
const Aws::String & GetTrainingPlanArn() const
void SetActiveOperations(ActiveOperationsT &&value)
ClusterInstanceGroupDetails & WithKubernetesConfig(KubernetesConfigT &&value)
const ClusterCapacityRequirements & GetCapacityRequirements() const
ClusterInstanceGroupDetails & WithDesiredImageId(DesiredImageIdT &&value)
InstanceGroupStatus GetStatus() const
ClusterImageVersionStatus
ActiveClusterOperationName
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
Aws::Utils::Json::JsonValue JsonValue