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

Specifies the schema to which you want Kinesis Data Firehose to configure * your data before it writes it to Amazon S3. This parameter is required if * Enabled is set to true.

See Also:

AWS * API Reference

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

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

The role that Kinesis Data Firehose can use to access Amazon Web Services * Glue. This role must be in the same account you use for Kinesis Data Firehose. * Cross-account roles aren't allowed.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the RoleARN * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline const Aws::String& GetCatalogId() const{ return m_catalogId; } /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline SchemaConfiguration& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline SchemaConfiguration& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services Glue Data Catalog. If you don't supply * this, the Amazon Web Services account ID is used by default.

*/ inline SchemaConfiguration& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

Specifies the name of the Amazon Web Services Glue database that contains the * schema for the output data.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the DatabaseName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

Specifies the Amazon Web Services Glue table that contains the column * information that constitutes your data schema.

If the * SchemaConfiguration request parameter is used as part of invoking * the CreateDeliveryStream API, then the TableName * property is required and its value must be specified.

*/ inline SchemaConfiguration& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline SchemaConfiguration& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline SchemaConfiguration& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

If you don't specify an Amazon Web Services Region, the default is the * current Region.

*/ inline SchemaConfiguration& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline const Aws::String& GetVersionId() const{ return m_versionId; } /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline SchemaConfiguration& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline SchemaConfiguration& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} /** *

Specifies the table version for the output data schema. If you don't specify * this version ID, or if you set it to LATEST, Kinesis Data Firehose * uses the most recent version. This means that any updates to the table are * automatically picked up.

*/ inline SchemaConfiguration& WithVersionId(const char* value) { SetVersionId(value); return *this;} private: Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_versionId; bool m_versionIdHasBeenSet = false; }; } // namespace Model } // namespace Firehose } // namespace Aws