/** * 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 GlueDataBrew { namespace Model { /** *

Represents information on how DataBrew can find data, in either the Glue Data * Catalog or Amazon S3.

See Also:

AWS API * Reference

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

The Amazon S3 location where the data is stored.

*/ inline const S3Location& GetS3InputDefinition() const{ return m_s3InputDefinition; } /** *

The Amazon S3 location where the data is stored.

*/ inline bool S3InputDefinitionHasBeenSet() const { return m_s3InputDefinitionHasBeenSet; } /** *

The Amazon S3 location where the data is stored.

*/ inline void SetS3InputDefinition(const S3Location& value) { m_s3InputDefinitionHasBeenSet = true; m_s3InputDefinition = value; } /** *

The Amazon S3 location where the data is stored.

*/ inline void SetS3InputDefinition(S3Location&& value) { m_s3InputDefinitionHasBeenSet = true; m_s3InputDefinition = std::move(value); } /** *

The Amazon S3 location where the data is stored.

*/ inline Input& WithS3InputDefinition(const S3Location& value) { SetS3InputDefinition(value); return *this;} /** *

The Amazon S3 location where the data is stored.

*/ inline Input& WithS3InputDefinition(S3Location&& value) { SetS3InputDefinition(std::move(value)); return *this;} /** *

The Glue Data Catalog parameters for the data.

*/ inline const DataCatalogInputDefinition& GetDataCatalogInputDefinition() const{ return m_dataCatalogInputDefinition; } /** *

The Glue Data Catalog parameters for the data.

*/ inline bool DataCatalogInputDefinitionHasBeenSet() const { return m_dataCatalogInputDefinitionHasBeenSet; } /** *

The Glue Data Catalog parameters for the data.

*/ inline void SetDataCatalogInputDefinition(const DataCatalogInputDefinition& value) { m_dataCatalogInputDefinitionHasBeenSet = true; m_dataCatalogInputDefinition = value; } /** *

The Glue Data Catalog parameters for the data.

*/ inline void SetDataCatalogInputDefinition(DataCatalogInputDefinition&& value) { m_dataCatalogInputDefinitionHasBeenSet = true; m_dataCatalogInputDefinition = std::move(value); } /** *

The Glue Data Catalog parameters for the data.

*/ inline Input& WithDataCatalogInputDefinition(const DataCatalogInputDefinition& value) { SetDataCatalogInputDefinition(value); return *this;} /** *

The Glue Data Catalog parameters for the data.

*/ inline Input& WithDataCatalogInputDefinition(DataCatalogInputDefinition&& value) { SetDataCatalogInputDefinition(std::move(value)); return *this;} /** *

Connection information for dataset input files stored in a database.

*/ inline const DatabaseInputDefinition& GetDatabaseInputDefinition() const{ return m_databaseInputDefinition; } /** *

Connection information for dataset input files stored in a database.

*/ inline bool DatabaseInputDefinitionHasBeenSet() const { return m_databaseInputDefinitionHasBeenSet; } /** *

Connection information for dataset input files stored in a database.

*/ inline void SetDatabaseInputDefinition(const DatabaseInputDefinition& value) { m_databaseInputDefinitionHasBeenSet = true; m_databaseInputDefinition = value; } /** *

Connection information for dataset input files stored in a database.

*/ inline void SetDatabaseInputDefinition(DatabaseInputDefinition&& value) { m_databaseInputDefinitionHasBeenSet = true; m_databaseInputDefinition = std::move(value); } /** *

Connection information for dataset input files stored in a database.

*/ inline Input& WithDatabaseInputDefinition(const DatabaseInputDefinition& value) { SetDatabaseInputDefinition(value); return *this;} /** *

Connection information for dataset input files stored in a database.

*/ inline Input& WithDatabaseInputDefinition(DatabaseInputDefinition&& value) { SetDatabaseInputDefinition(std::move(value)); return *this;} /** *

Contains additional resource information needed for specific datasets.

*/ inline const Metadata& GetMetadata() const{ return m_metadata; } /** *

Contains additional resource information needed for specific datasets.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

Contains additional resource information needed for specific datasets.

*/ inline void SetMetadata(const Metadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

Contains additional resource information needed for specific datasets.

*/ inline void SetMetadata(Metadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

Contains additional resource information needed for specific datasets.

*/ inline Input& WithMetadata(const Metadata& value) { SetMetadata(value); return *this;} /** *

Contains additional resource information needed for specific datasets.

*/ inline Input& WithMetadata(Metadata&& value) { SetMetadata(std::move(value)); return *this;} private: S3Location m_s3InputDefinition; bool m_s3InputDefinitionHasBeenSet = false; DataCatalogInputDefinition m_dataCatalogInputDefinition; bool m_dataCatalogInputDefinitionHasBeenSet = false; DatabaseInputDefinition m_databaseInputDefinition; bool m_databaseInputDefinitionHasBeenSet = false; Metadata m_metadata; bool m_metadataHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws