/** * 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 { /** *

Configuration for the cluster used to run a processing job.

See * Also:

AWS * API Reference

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

The number of ML compute instances to use in the processing job. For * distributed processing jobs, specify a value greater than 1. The default value * is 1.

*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *

The number of ML compute instances to use in the processing job. For * distributed processing jobs, specify a value greater than 1. The default value * is 1.

*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *

The number of ML compute instances to use in the processing job. For * distributed processing jobs, specify a value greater than 1. The default value * is 1.

*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *

The number of ML compute instances to use in the processing job. For * distributed processing jobs, specify a value greater than 1. The default value * is 1.

*/ inline ProcessingClusterConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} /** *

The ML compute instance type for the processing job.

*/ inline const ProcessingInstanceType& GetInstanceType() const{ return m_instanceType; } /** *

The ML compute instance type for the processing job.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The ML compute instance type for the processing job.

*/ inline void SetInstanceType(const ProcessingInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The ML compute instance type for the processing job.

*/ inline void SetInstanceType(ProcessingInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The ML compute instance type for the processing job.

*/ inline ProcessingClusterConfig& WithInstanceType(const ProcessingInstanceType& value) { SetInstanceType(value); return *this;} /** *

The ML compute instance type for the processing job.

*/ inline ProcessingClusterConfig& WithInstanceType(ProcessingInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The size of the ML storage volume in gigabytes that you want to provision. * You must specify sufficient ML storage for your scenario.

*/ inline int GetVolumeSizeInGB() const{ return m_volumeSizeInGB; } /** *

The size of the ML storage volume in gigabytes that you want to provision. * You must specify sufficient ML storage for your scenario.

*/ inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; } /** *

The size of the ML storage volume in gigabytes that you want to provision. * You must specify sufficient ML storage for your scenario.

*/ inline void SetVolumeSizeInGB(int value) { m_volumeSizeInGBHasBeenSet = true; m_volumeSizeInGB = value; } /** *

The size of the ML storage volume in gigabytes that you want to provision. * You must specify sufficient ML storage for your scenario.

*/ inline ProcessingClusterConfig& WithVolumeSizeInGB(int value) { SetVolumeSizeInGB(value); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline const Aws::String& GetVolumeKmsKeyId() const{ return m_volumeKmsKeyId; } /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; } /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline void SetVolumeKmsKeyId(const Aws::String& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = value; } /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline void SetVolumeKmsKeyId(Aws::String&& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = std::move(value); } /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline void SetVolumeKmsKeyId(const char* value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId.assign(value); } /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline ProcessingClusterConfig& WithVolumeKmsKeyId(const Aws::String& value) { SetVolumeKmsKeyId(value); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline ProcessingClusterConfig& WithVolumeKmsKeyId(Aws::String&& value) { SetVolumeKmsKeyId(std::move(value)); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to * encrypt data on the storage volume attached to the ML compute instance(s) that * run the processing job.

*/ inline ProcessingClusterConfig& WithVolumeKmsKeyId(const char* value) { SetVolumeKmsKeyId(value); return *this;} private: int m_instanceCount; bool m_instanceCountHasBeenSet; ProcessingInstanceType m_instanceType; bool m_instanceTypeHasBeenSet; int m_volumeSizeInGB; bool m_volumeSizeInGBHasBeenSet; Aws::String m_volumeKmsKeyId; bool m_volumeKmsKeyIdHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws