/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Status and billing information about the warm pool.

See Also:

* AWS * API Reference

*/ class WarmPoolStatus { public: AWS_SAGEMAKER_API WarmPoolStatus(); AWS_SAGEMAKER_API WarmPoolStatus(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API WarmPoolStatus& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline const WarmPoolResourceStatus& GetStatus() const{ return m_status; } /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline void SetStatus(const WarmPoolResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline void SetStatus(WarmPoolResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline WarmPoolStatus& WithStatus(const WarmPoolResourceStatus& value) { SetStatus(value); return *this;} /** *

The status of the warm pool.

  • InUse: The warm * pool is in use for the training job.

  • Available: * The warm pool is available to reuse for a matching training job.

  • *

    Reused: The warm pool moved to a matching training job for * reuse.

  • Terminated: The warm pool is no longer * available. Warm pools are unavailable if they are terminated by a user, * terminated for a patch update, or terminated for exceeding the specified * KeepAlivePeriodInSeconds.

*/ inline WarmPoolStatus& WithStatus(WarmPoolResourceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The billable time in seconds used by the warm pool. Billable time refers to * the absolute wall-clock time.

Multiply * ResourceRetainedBillableTimeInSeconds by the number of instances * (InstanceCount) in your training cluster to get the total compute * time SageMaker bills you if you run warm pool training. The formula is as * follows: ResourceRetainedBillableTimeInSeconds * InstanceCount.

*/ inline int GetResourceRetainedBillableTimeInSeconds() const{ return m_resourceRetainedBillableTimeInSeconds; } /** *

The billable time in seconds used by the warm pool. Billable time refers to * the absolute wall-clock time.

Multiply * ResourceRetainedBillableTimeInSeconds by the number of instances * (InstanceCount) in your training cluster to get the total compute * time SageMaker bills you if you run warm pool training. The formula is as * follows: ResourceRetainedBillableTimeInSeconds * InstanceCount.

*/ inline bool ResourceRetainedBillableTimeInSecondsHasBeenSet() const { return m_resourceRetainedBillableTimeInSecondsHasBeenSet; } /** *

The billable time in seconds used by the warm pool. Billable time refers to * the absolute wall-clock time.

Multiply * ResourceRetainedBillableTimeInSeconds by the number of instances * (InstanceCount) in your training cluster to get the total compute * time SageMaker bills you if you run warm pool training. The formula is as * follows: ResourceRetainedBillableTimeInSeconds * InstanceCount.

*/ inline void SetResourceRetainedBillableTimeInSeconds(int value) { m_resourceRetainedBillableTimeInSecondsHasBeenSet = true; m_resourceRetainedBillableTimeInSeconds = value; } /** *

The billable time in seconds used by the warm pool. Billable time refers to * the absolute wall-clock time.

Multiply * ResourceRetainedBillableTimeInSeconds by the number of instances * (InstanceCount) in your training cluster to get the total compute * time SageMaker bills you if you run warm pool training. The formula is as * follows: ResourceRetainedBillableTimeInSeconds * InstanceCount.

*/ inline WarmPoolStatus& WithResourceRetainedBillableTimeInSeconds(int value) { SetResourceRetainedBillableTimeInSeconds(value); return *this;} /** *

The name of the matching training job that reused the warm pool.

*/ inline const Aws::String& GetReusedByJob() const{ return m_reusedByJob; } /** *

The name of the matching training job that reused the warm pool.

*/ inline bool ReusedByJobHasBeenSet() const { return m_reusedByJobHasBeenSet; } /** *

The name of the matching training job that reused the warm pool.

*/ inline void SetReusedByJob(const Aws::String& value) { m_reusedByJobHasBeenSet = true; m_reusedByJob = value; } /** *

The name of the matching training job that reused the warm pool.

*/ inline void SetReusedByJob(Aws::String&& value) { m_reusedByJobHasBeenSet = true; m_reusedByJob = std::move(value); } /** *

The name of the matching training job that reused the warm pool.

*/ inline void SetReusedByJob(const char* value) { m_reusedByJobHasBeenSet = true; m_reusedByJob.assign(value); } /** *

The name of the matching training job that reused the warm pool.

*/ inline WarmPoolStatus& WithReusedByJob(const Aws::String& value) { SetReusedByJob(value); return *this;} /** *

The name of the matching training job that reused the warm pool.

*/ inline WarmPoolStatus& WithReusedByJob(Aws::String&& value) { SetReusedByJob(std::move(value)); return *this;} /** *

The name of the matching training job that reused the warm pool.

*/ inline WarmPoolStatus& WithReusedByJob(const char* value) { SetReusedByJob(value); return *this;} private: WarmPoolResourceStatus m_status; bool m_statusHasBeenSet = false; int m_resourceRetainedBillableTimeInSeconds; bool m_resourceRetainedBillableTimeInSecondsHasBeenSet = false; Aws::String m_reusedByJob; bool m_reusedByJobHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws