/** * 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 a data store in Amazon Simple Storage Service (Amazon * S3).

See Also:

AWS API * Reference

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

The path to the Amazon S3 target.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path to the Amazon S3 target.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path to the Amazon S3 target.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path to the Amazon S3 target.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path to the Amazon S3 target.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path to the Amazon S3 target.

*/ inline S3Target& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path to the Amazon S3 target.

*/ inline S3Target& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path to the Amazon S3 target.

*/ inline S3Target& WithPath(const char* value) { SetPath(value); return *this;} /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline const Aws::Vector& GetExclusions() const{ return m_exclusions; } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline void SetExclusions(const Aws::Vector& value) { m_exclusionsHasBeenSet = true; m_exclusions = value; } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline void SetExclusions(Aws::Vector&& value) { m_exclusionsHasBeenSet = true; m_exclusions = std::move(value); } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline S3Target& WithExclusions(const Aws::Vector& value) { SetExclusions(value); return *this;} /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline S3Target& WithExclusions(Aws::Vector&& value) { SetExclusions(std::move(value)); return *this;} /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline S3Target& AddExclusions(const Aws::String& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline S3Target& AddExclusions(Aws::String&& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(std::move(value)); return *this; } /** *

A list of glob patterns used to exclude from the crawl. For more information, * see Catalog * Tables with a Crawler.

*/ inline S3Target& AddExclusions(const char* value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; } /** *

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

The name of a connection which allows a job or crawler to access data in * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

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

Sets the number of files in each leaf folder to be crawled when crawling * sample files in a dataset. If not set, all the files are crawled. A valid value * is an integer between 1 and 249.

*/ inline int GetSampleSize() const{ return m_sampleSize; } /** *

Sets the number of files in each leaf folder to be crawled when crawling * sample files in a dataset. If not set, all the files are crawled. A valid value * is an integer between 1 and 249.

*/ inline bool SampleSizeHasBeenSet() const { return m_sampleSizeHasBeenSet; } /** *

Sets the number of files in each leaf folder to be crawled when crawling * sample files in a dataset. If not set, all the files are crawled. A valid value * is an integer between 1 and 249.

*/ inline void SetSampleSize(int value) { m_sampleSizeHasBeenSet = true; m_sampleSize = value; } /** *

Sets the number of files in each leaf folder to be crawled when crawling * sample files in a dataset. If not set, all the files are crawled. A valid value * is an integer between 1 and 249.

*/ inline S3Target& WithSampleSize(int value) { SetSampleSize(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 S3Target& WithEventQueueArn(const Aws::String& value) { SetEventQueueArn(value); return *this;} /** *

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

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

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

*/ inline S3Target& 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 S3Target& 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 S3Target& 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 S3Target& WithDlqEventQueueArn(const char* value) { SetDlqEventQueueArn(value); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; Aws::Vector m_exclusions; bool m_exclusionsHasBeenSet = false; Aws::String m_connectionName; bool m_connectionNameHasBeenSet = false; int m_sampleSize; bool m_sampleSizeHasBeenSet = false; Aws::String m_eventQueueArn; bool m_eventQueueArnHasBeenSet = false; Aws::String m_dlqEventQueueArn; bool m_dlqEventQueueArnHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws