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

Configuration for downloading input data from Amazon S3 into the processing * container.

See Also:

AWS * API Reference

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

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline const Aws::String& GetS3Uri() const{ return m_s3Uri; } /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline bool S3UriHasBeenSet() const { return m_s3UriHasBeenSet; } /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline void SetS3Uri(const Aws::String& value) { m_s3UriHasBeenSet = true; m_s3Uri = value; } /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline void SetS3Uri(Aws::String&& value) { m_s3UriHasBeenSet = true; m_s3Uri = std::move(value); } /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline void SetS3Uri(const char* value) { m_s3UriHasBeenSet = true; m_s3Uri.assign(value); } /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline ProcessingS3Input& WithS3Uri(const Aws::String& value) { SetS3Uri(value); return *this;} /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline ProcessingS3Input& WithS3Uri(Aws::String&& value) { SetS3Uri(std::move(value)); return *this;} /** *

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to * run a processing job.

*/ inline ProcessingS3Input& WithS3Uri(const char* value) { SetS3Uri(value); return *this;} /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline const Aws::String& GetLocalPath() const{ return m_localPath; } /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline bool LocalPathHasBeenSet() const { return m_localPathHasBeenSet; } /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline void SetLocalPath(const Aws::String& value) { m_localPathHasBeenSet = true; m_localPath = value; } /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline void SetLocalPath(Aws::String&& value) { m_localPathHasBeenSet = true; m_localPath = std::move(value); } /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline void SetLocalPath(const char* value) { m_localPathHasBeenSet = true; m_localPath.assign(value); } /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline ProcessingS3Input& WithLocalPath(const Aws::String& value) { SetLocalPath(value); return *this;} /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline ProcessingS3Input& WithLocalPath(Aws::String&& value) { SetLocalPath(std::move(value)); return *this;} /** *

The local path in your container where you want Amazon SageMaker to write * input data to. LocalPath is an absolute path to the input data and * must begin with /opt/ml/processing/. LocalPath is a * required parameter when AppManaged is False * (default).

*/ inline ProcessingS3Input& WithLocalPath(const char* value) { SetLocalPath(value); return *this;} /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline const ProcessingS3DataType& GetS3DataType() const{ return m_s3DataType; } /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline bool S3DataTypeHasBeenSet() const { return m_s3DataTypeHasBeenSet; } /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline void SetS3DataType(const ProcessingS3DataType& value) { m_s3DataTypeHasBeenSet = true; m_s3DataType = value; } /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline void SetS3DataType(ProcessingS3DataType&& value) { m_s3DataTypeHasBeenSet = true; m_s3DataType = std::move(value); } /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline ProcessingS3Input& WithS3DataType(const ProcessingS3DataType& value) { SetS3DataType(value); return *this;} /** *

Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri * identifies a key name prefix. Amazon SageMaker uses all objects with the * specified key name prefix for the processing job. If you choose * ManifestFile, S3Uri identifies an object that is a * manifest file containing a list of object keys that you want Amazon SageMaker to * use for the processing job.

*/ inline ProcessingS3Input& WithS3DataType(ProcessingS3DataType&& value) { SetS3DataType(std::move(value)); return *this;} /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline const ProcessingS3InputMode& GetS3InputMode() const{ return m_s3InputMode; } /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline bool S3InputModeHasBeenSet() const { return m_s3InputModeHasBeenSet; } /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline void SetS3InputMode(const ProcessingS3InputMode& value) { m_s3InputModeHasBeenSet = true; m_s3InputMode = value; } /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline void SetS3InputMode(ProcessingS3InputMode&& value) { m_s3InputModeHasBeenSet = true; m_s3InputMode = std::move(value); } /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline ProcessingS3Input& WithS3InputMode(const ProcessingS3InputMode& value) { SetS3InputMode(value); return *this;} /** *

Whether to use File or Pipe input mode. In File * mode, Amazon SageMaker copies the data from the input source onto the local ML * storage volume before starting your processing container. This is the most * commonly used input mode. In Pipe mode, Amazon SageMaker streams * input data from the source directly to your processing container into named * pipes without using the ML storage volume.

*/ inline ProcessingS3Input& WithS3InputMode(ProcessingS3InputMode&& value) { SetS3InputMode(std::move(value)); return *this;} /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline const ProcessingS3DataDistributionType& GetS3DataDistributionType() const{ return m_s3DataDistributionType; } /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline bool S3DataDistributionTypeHasBeenSet() const { return m_s3DataDistributionTypeHasBeenSet; } /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline void SetS3DataDistributionType(const ProcessingS3DataDistributionType& value) { m_s3DataDistributionTypeHasBeenSet = true; m_s3DataDistributionType = value; } /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline void SetS3DataDistributionType(ProcessingS3DataDistributionType&& value) { m_s3DataDistributionTypeHasBeenSet = true; m_s3DataDistributionType = std::move(value); } /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline ProcessingS3Input& WithS3DataDistributionType(const ProcessingS3DataDistributionType& value) { SetS3DataDistributionType(value); return *this;} /** *

Whether to distribute the data from Amazon S3 to all processing instances * with FullyReplicated, or whether the data from Amazon S3 is shared * by Amazon S3 key, downloading one shard of data to each processing instance.

*/ inline ProcessingS3Input& WithS3DataDistributionType(ProcessingS3DataDistributionType&& value) { SetS3DataDistributionType(std::move(value)); return *this;} /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline const ProcessingS3CompressionType& GetS3CompressionType() const{ return m_s3CompressionType; } /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline bool S3CompressionTypeHasBeenSet() const { return m_s3CompressionTypeHasBeenSet; } /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline void SetS3CompressionType(const ProcessingS3CompressionType& value) { m_s3CompressionTypeHasBeenSet = true; m_s3CompressionType = value; } /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline void SetS3CompressionType(ProcessingS3CompressionType&& value) { m_s3CompressionTypeHasBeenSet = true; m_s3CompressionType = std::move(value); } /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline ProcessingS3Input& WithS3CompressionType(const ProcessingS3CompressionType& value) { SetS3CompressionType(value); return *this;} /** *

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the * processing container. Gzip can only be used when Pipe * mode is specified as the S3InputMode. In Pipe mode, * Amazon SageMaker streams input data from the source directly to your container * without using the EBS volume.

*/ inline ProcessingS3Input& WithS3CompressionType(ProcessingS3CompressionType&& value) { SetS3CompressionType(std::move(value)); return *this;} private: Aws::String m_s3Uri; bool m_s3UriHasBeenSet = false; Aws::String m_localPath; bool m_localPathHasBeenSet = false; ProcessingS3DataType m_s3DataType; bool m_s3DataTypeHasBeenSet = false; ProcessingS3InputMode m_s3InputMode; bool m_s3InputModeHasBeenSet = false; ProcessingS3DataDistributionType m_s3DataDistributionType; bool m_s3DataDistributionTypeHasBeenSet = false; ProcessingS3CompressionType m_s3CompressionType; bool m_s3CompressionTypeHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws