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

Specifies an Glue Data Catalog target.

See Also:

AWS * API Reference

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

The name of the database to be synchronized.

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

A list of the tables to be synchronized.

*/ inline const Aws::Vector& GetTables() const{ return m_tables; } /** *

A list of the tables to be synchronized.

*/ inline bool TablesHasBeenSet() const { return m_tablesHasBeenSet; } /** *

A list of the tables to be synchronized.

*/ inline void SetTables(const Aws::Vector& value) { m_tablesHasBeenSet = true; m_tables = value; } /** *

A list of the tables to be synchronized.

*/ inline void SetTables(Aws::Vector&& value) { m_tablesHasBeenSet = true; m_tables = std::move(value); } /** *

A list of the tables to be synchronized.

*/ inline CatalogTarget& WithTables(const Aws::Vector& value) { SetTables(value); return *this;} /** *

A list of the tables to be synchronized.

*/ inline CatalogTarget& WithTables(Aws::Vector&& value) { SetTables(std::move(value)); return *this;} /** *

A list of the tables to be synchronized.

*/ inline CatalogTarget& AddTables(const Aws::String& value) { m_tablesHasBeenSet = true; m_tables.push_back(value); return *this; } /** *

A list of the tables to be synchronized.

*/ inline CatalogTarget& AddTables(Aws::String&& value) { m_tablesHasBeenSet = true; m_tables.push_back(std::move(value)); return *this; } /** *

A list of the tables to be synchronized.

*/ inline CatalogTarget& AddTables(const char* value) { m_tablesHasBeenSet = true; m_tables.push_back(value); return *this; } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline const Aws::String& GetConnectionName() const{ return m_connectionName; } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline bool ConnectionNameHasBeenSet() const { return m_connectionNameHasBeenSet; } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline void SetConnectionName(const Aws::String& value) { m_connectionNameHasBeenSet = true; m_connectionName = value; } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline void SetConnectionName(Aws::String&& value) { m_connectionNameHasBeenSet = true; m_connectionName = std::move(value); } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline void SetConnectionName(const char* value) { m_connectionNameHasBeenSet = true; m_connectionName.assign(value); } /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline CatalogTarget& WithConnectionName(const Aws::String& value) { SetConnectionName(value); return *this;} /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline CatalogTarget& WithConnectionName(Aws::String&& value) { SetConnectionName(std::move(value)); return *this;} /** *

The name of the connection for an Amazon S3-backed Data Catalog table to be a * target of the crawl when using a Catalog connection type paired * with a NETWORK Connection type.

*/ inline CatalogTarget& WithConnectionName(const char* value) { SetConnectionName(value); return *this;} /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline const Aws::String& GetEventQueueArn() const{ return m_eventQueueArn; } /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline bool EventQueueArnHasBeenSet() const { return m_eventQueueArnHasBeenSet; } /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline void SetEventQueueArn(const Aws::String& value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn = value; } /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline void SetEventQueueArn(Aws::String&& value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn = std::move(value); } /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline void SetEventQueueArn(const char* value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn.assign(value); } /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline CatalogTarget& WithEventQueueArn(const Aws::String& value) { SetEventQueueArn(value); return *this;} /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline CatalogTarget& WithEventQueueArn(Aws::String&& value) { SetEventQueueArn(std::move(value)); return *this;} /** *

A valid Amazon SQS ARN. For example, * arn:aws:sqs:region:account:sqs.

*/ inline CatalogTarget& WithEventQueueArn(const char* value) { SetEventQueueArn(value); return *this;} /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline const Aws::String& GetDlqEventQueueArn() const{ return m_dlqEventQueueArn; } /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline bool DlqEventQueueArnHasBeenSet() const { return m_dlqEventQueueArnHasBeenSet; } /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline void SetDlqEventQueueArn(const Aws::String& value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn = value; } /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline void SetDlqEventQueueArn(Aws::String&& value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn = std::move(value); } /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline void SetDlqEventQueueArn(const char* value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn.assign(value); } /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline CatalogTarget& WithDlqEventQueueArn(const Aws::String& value) { SetDlqEventQueueArn(value); return *this;} /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline CatalogTarget& WithDlqEventQueueArn(Aws::String&& value) { SetDlqEventQueueArn(std::move(value)); return *this;} /** *

A valid Amazon dead-letter SQS ARN. For example, * arn:aws:sqs:region:account:deadLetterQueue.

*/ inline CatalogTarget& WithDlqEventQueueArn(const char* value) { SetDlqEventQueueArn(value); return *this;} private: Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::Vector m_tables; bool m_tablesHasBeenSet = false; Aws::String m_connectionName; bool m_connectionNameHasBeenSet = false; Aws::String m_eventQueueArn; bool m_eventQueueArnHasBeenSet = false; Aws::String m_dlqEventQueueArn; bool m_dlqEventQueueArnHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws