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

Describes the Amazon S3 data source.

See Also:

AWS * API Reference

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

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

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

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

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

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

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

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

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

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

  • *
*/ inline AutoMLS3DataSource& WithS3DataType(const AutoMLS3DataType& value) { SetS3DataType(value); return *this;} /** *

The data type.

  • If you choose S3Prefix, * S3Uri identifies a key name prefix. SageMaker uses all objects that * match the specified key name prefix for model training.

    The * S3Prefix should have the following format:

    * s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

  • *

    If you choose ManifestFile, S3Uri identifies an * object that is a manifest file containing a list of object keys that you want * SageMaker to use for model training.

    A ManifestFile should * have the format shown below:

    [ {"prefix": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

    *

    "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

    * "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

    * ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

    *
  • If you choose AugmentedManifestFile, * S3Uri identifies an object that is an augmented manifest file in * JSON lines format. This file contains the data you want to use for model * training. AugmentedManifestFile is available for V2 API jobs only * (for example, for jobs created by calling CreateAutoMLJobV2).

    *

    Here is a minimal, single-record example of an * AugmentedManifestFile:

    {"source-ref": * "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg",

    * "label-metadata": {"class-name": "cat" }

    For more * information on AugmentedManifestFile, see Provide * Dataset Metadata to Training Jobs with an Augmented Manifest File.

  • *
*/ inline AutoMLS3DataSource& WithS3DataType(AutoMLS3DataType&& value) { SetS3DataType(std::move(value)); return *this;} /** *

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

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

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix * or ManifestFile depending on the data type.

*/ inline AutoMLS3DataSource& WithS3Uri(const char* value) { SetS3Uri(value); return *this;} private: AutoMLS3DataType m_s3DataType; bool m_s3DataTypeHasBeenSet = false; Aws::String m_s3Uri; bool m_s3UriHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws