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

A physical table type for an S3 data source.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) for the data source.

*/ inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline bool DataSourceArnHasBeenSet() const { return m_dataSourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = value; } /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline void SetDataSourceArn(const char* value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline S3Source& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline S3Source& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the data source.

*/ inline S3Source& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} /** *

Information about the format for the S3 source file or files.

*/ inline const UploadSettings& GetUploadSettings() const{ return m_uploadSettings; } /** *

Information about the format for the S3 source file or files.

*/ inline bool UploadSettingsHasBeenSet() const { return m_uploadSettingsHasBeenSet; } /** *

Information about the format for the S3 source file or files.

*/ inline void SetUploadSettings(const UploadSettings& value) { m_uploadSettingsHasBeenSet = true; m_uploadSettings = value; } /** *

Information about the format for the S3 source file or files.

*/ inline void SetUploadSettings(UploadSettings&& value) { m_uploadSettingsHasBeenSet = true; m_uploadSettings = std::move(value); } /** *

Information about the format for the S3 source file or files.

*/ inline S3Source& WithUploadSettings(const UploadSettings& value) { SetUploadSettings(value); return *this;} /** *

Information about the format for the S3 source file or files.

*/ inline S3Source& WithUploadSettings(UploadSettings&& value) { SetUploadSettings(std::move(value)); return *this;} /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline const Aws::Vector& GetInputColumns() const{ return m_inputColumns; } /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline bool InputColumnsHasBeenSet() const { return m_inputColumnsHasBeenSet; } /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline void SetInputColumns(const Aws::Vector& value) { m_inputColumnsHasBeenSet = true; m_inputColumns = value; } /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline void SetInputColumns(Aws::Vector&& value) { m_inputColumnsHasBeenSet = true; m_inputColumns = std::move(value); } /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline S3Source& WithInputColumns(const Aws::Vector& value) { SetInputColumns(value); return *this;} /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline S3Source& WithInputColumns(Aws::Vector&& value) { SetInputColumns(std::move(value)); return *this;} /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline S3Source& AddInputColumns(const InputColumn& value) { m_inputColumnsHasBeenSet = true; m_inputColumns.push_back(value); return *this; } /** *

A physical table type for an S3 data source.

For files that * aren't JSON, only STRING data types are supported in input * columns.

*/ inline S3Source& AddInputColumns(InputColumn&& value) { m_inputColumnsHasBeenSet = true; m_inputColumns.push_back(std::move(value)); return *this; } private: Aws::String m_dataSourceArn; bool m_dataSourceArnHasBeenSet = false; UploadSettings m_uploadSettings; bool m_uploadSettingsHasBeenSet = false; Aws::Vector m_inputColumns; bool m_inputColumnsHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws