/** * 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 location of the channel data.

See Also:

AWS * API Reference

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

The S3 location of the data source that is associated with a channel.

*/ inline const S3DataSource& GetS3DataSource() const{ return m_s3DataSource; } /** *

The S3 location of the data source that is associated with a channel.

*/ inline bool S3DataSourceHasBeenSet() const { return m_s3DataSourceHasBeenSet; } /** *

The S3 location of the data source that is associated with a channel.

*/ inline void SetS3DataSource(const S3DataSource& value) { m_s3DataSourceHasBeenSet = true; m_s3DataSource = value; } /** *

The S3 location of the data source that is associated with a channel.

*/ inline void SetS3DataSource(S3DataSource&& value) { m_s3DataSourceHasBeenSet = true; m_s3DataSource = std::move(value); } /** *

The S3 location of the data source that is associated with a channel.

*/ inline DataSource& WithS3DataSource(const S3DataSource& value) { SetS3DataSource(value); return *this;} /** *

The S3 location of the data source that is associated with a channel.

*/ inline DataSource& WithS3DataSource(S3DataSource&& value) { SetS3DataSource(std::move(value)); return *this;} /** *

The file system that is associated with a channel.

*/ inline const FileSystemDataSource& GetFileSystemDataSource() const{ return m_fileSystemDataSource; } /** *

The file system that is associated with a channel.

*/ inline bool FileSystemDataSourceHasBeenSet() const { return m_fileSystemDataSourceHasBeenSet; } /** *

The file system that is associated with a channel.

*/ inline void SetFileSystemDataSource(const FileSystemDataSource& value) { m_fileSystemDataSourceHasBeenSet = true; m_fileSystemDataSource = value; } /** *

The file system that is associated with a channel.

*/ inline void SetFileSystemDataSource(FileSystemDataSource&& value) { m_fileSystemDataSourceHasBeenSet = true; m_fileSystemDataSource = std::move(value); } /** *

The file system that is associated with a channel.

*/ inline DataSource& WithFileSystemDataSource(const FileSystemDataSource& value) { SetFileSystemDataSource(value); return *this;} /** *

The file system that is associated with a channel.

*/ inline DataSource& WithFileSystemDataSource(FileSystemDataSource&& value) { SetFileSystemDataSource(std::move(value)); return *this;} private: S3DataSource m_s3DataSource; bool m_s3DataSourceHasBeenSet = false; FileSystemDataSource m_fileSystemDataSource; bool m_fileSystemDataSourceHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws