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

Specifies data stores to crawl.

See Also:

AWS * API Reference

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

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline const Aws::Vector& GetS3Targets() const{ return m_s3Targets; } /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline bool S3TargetsHasBeenSet() const { return m_s3TargetsHasBeenSet; } /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline void SetS3Targets(const Aws::Vector& value) { m_s3TargetsHasBeenSet = true; m_s3Targets = value; } /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline void SetS3Targets(Aws::Vector&& value) { m_s3TargetsHasBeenSet = true; m_s3Targets = std::move(value); } /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline CrawlerTargets& WithS3Targets(const Aws::Vector& value) { SetS3Targets(value); return *this;} /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline CrawlerTargets& WithS3Targets(Aws::Vector&& value) { SetS3Targets(std::move(value)); return *this;} /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline CrawlerTargets& AddS3Targets(const S3Target& value) { m_s3TargetsHasBeenSet = true; m_s3Targets.push_back(value); return *this; } /** *

Specifies Amazon Simple Storage Service (Amazon S3) targets.

*/ inline CrawlerTargets& AddS3Targets(S3Target&& value) { m_s3TargetsHasBeenSet = true; m_s3Targets.push_back(std::move(value)); return *this; } /** *

Specifies JDBC targets.

*/ inline const Aws::Vector& GetJdbcTargets() const{ return m_jdbcTargets; } /** *

Specifies JDBC targets.

*/ inline bool JdbcTargetsHasBeenSet() const { return m_jdbcTargetsHasBeenSet; } /** *

Specifies JDBC targets.

*/ inline void SetJdbcTargets(const Aws::Vector& value) { m_jdbcTargetsHasBeenSet = true; m_jdbcTargets = value; } /** *

Specifies JDBC targets.

*/ inline void SetJdbcTargets(Aws::Vector&& value) { m_jdbcTargetsHasBeenSet = true; m_jdbcTargets = std::move(value); } /** *

Specifies JDBC targets.

*/ inline CrawlerTargets& WithJdbcTargets(const Aws::Vector& value) { SetJdbcTargets(value); return *this;} /** *

Specifies JDBC targets.

*/ inline CrawlerTargets& WithJdbcTargets(Aws::Vector&& value) { SetJdbcTargets(std::move(value)); return *this;} /** *

Specifies JDBC targets.

*/ inline CrawlerTargets& AddJdbcTargets(const JdbcTarget& value) { m_jdbcTargetsHasBeenSet = true; m_jdbcTargets.push_back(value); return *this; } /** *

Specifies JDBC targets.

*/ inline CrawlerTargets& AddJdbcTargets(JdbcTarget&& value) { m_jdbcTargetsHasBeenSet = true; m_jdbcTargets.push_back(std::move(value)); return *this; } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline const Aws::Vector& GetMongoDBTargets() const{ return m_mongoDBTargets; } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline bool MongoDBTargetsHasBeenSet() const { return m_mongoDBTargetsHasBeenSet; } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline void SetMongoDBTargets(const Aws::Vector& value) { m_mongoDBTargetsHasBeenSet = true; m_mongoDBTargets = value; } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline void SetMongoDBTargets(Aws::Vector&& value) { m_mongoDBTargetsHasBeenSet = true; m_mongoDBTargets = std::move(value); } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline CrawlerTargets& WithMongoDBTargets(const Aws::Vector& value) { SetMongoDBTargets(value); return *this;} /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline CrawlerTargets& WithMongoDBTargets(Aws::Vector&& value) { SetMongoDBTargets(std::move(value)); return *this;} /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline CrawlerTargets& AddMongoDBTargets(const MongoDBTarget& value) { m_mongoDBTargetsHasBeenSet = true; m_mongoDBTargets.push_back(value); return *this; } /** *

Specifies Amazon DocumentDB or MongoDB targets.

*/ inline CrawlerTargets& AddMongoDBTargets(MongoDBTarget&& value) { m_mongoDBTargetsHasBeenSet = true; m_mongoDBTargets.push_back(std::move(value)); return *this; } /** *

Specifies Amazon DynamoDB targets.

*/ inline const Aws::Vector& GetDynamoDBTargets() const{ return m_dynamoDBTargets; } /** *

Specifies Amazon DynamoDB targets.

*/ inline bool DynamoDBTargetsHasBeenSet() const { return m_dynamoDBTargetsHasBeenSet; } /** *

Specifies Amazon DynamoDB targets.

*/ inline void SetDynamoDBTargets(const Aws::Vector& value) { m_dynamoDBTargetsHasBeenSet = true; m_dynamoDBTargets = value; } /** *

Specifies Amazon DynamoDB targets.

*/ inline void SetDynamoDBTargets(Aws::Vector&& value) { m_dynamoDBTargetsHasBeenSet = true; m_dynamoDBTargets = std::move(value); } /** *

Specifies Amazon DynamoDB targets.

*/ inline CrawlerTargets& WithDynamoDBTargets(const Aws::Vector& value) { SetDynamoDBTargets(value); return *this;} /** *

Specifies Amazon DynamoDB targets.

*/ inline CrawlerTargets& WithDynamoDBTargets(Aws::Vector&& value) { SetDynamoDBTargets(std::move(value)); return *this;} /** *

Specifies Amazon DynamoDB targets.

*/ inline CrawlerTargets& AddDynamoDBTargets(const DynamoDBTarget& value) { m_dynamoDBTargetsHasBeenSet = true; m_dynamoDBTargets.push_back(value); return *this; } /** *

Specifies Amazon DynamoDB targets.

*/ inline CrawlerTargets& AddDynamoDBTargets(DynamoDBTarget&& value) { m_dynamoDBTargetsHasBeenSet = true; m_dynamoDBTargets.push_back(std::move(value)); return *this; } /** *

Specifies Glue Data Catalog targets.

*/ inline const Aws::Vector& GetCatalogTargets() const{ return m_catalogTargets; } /** *

Specifies Glue Data Catalog targets.

*/ inline bool CatalogTargetsHasBeenSet() const { return m_catalogTargetsHasBeenSet; } /** *

Specifies Glue Data Catalog targets.

*/ inline void SetCatalogTargets(const Aws::Vector& value) { m_catalogTargetsHasBeenSet = true; m_catalogTargets = value; } /** *

Specifies Glue Data Catalog targets.

*/ inline void SetCatalogTargets(Aws::Vector&& value) { m_catalogTargetsHasBeenSet = true; m_catalogTargets = std::move(value); } /** *

Specifies Glue Data Catalog targets.

*/ inline CrawlerTargets& WithCatalogTargets(const Aws::Vector& value) { SetCatalogTargets(value); return *this;} /** *

Specifies Glue Data Catalog targets.

*/ inline CrawlerTargets& WithCatalogTargets(Aws::Vector&& value) { SetCatalogTargets(std::move(value)); return *this;} /** *

Specifies Glue Data Catalog targets.

*/ inline CrawlerTargets& AddCatalogTargets(const CatalogTarget& value) { m_catalogTargetsHasBeenSet = true; m_catalogTargets.push_back(value); return *this; } /** *

Specifies Glue Data Catalog targets.

*/ inline CrawlerTargets& AddCatalogTargets(CatalogTarget&& value) { m_catalogTargetsHasBeenSet = true; m_catalogTargets.push_back(std::move(value)); return *this; } /** *

Specifies Delta data store targets.

*/ inline const Aws::Vector& GetDeltaTargets() const{ return m_deltaTargets; } /** *

Specifies Delta data store targets.

*/ inline bool DeltaTargetsHasBeenSet() const { return m_deltaTargetsHasBeenSet; } /** *

Specifies Delta data store targets.

*/ inline void SetDeltaTargets(const Aws::Vector& value) { m_deltaTargetsHasBeenSet = true; m_deltaTargets = value; } /** *

Specifies Delta data store targets.

*/ inline void SetDeltaTargets(Aws::Vector&& value) { m_deltaTargetsHasBeenSet = true; m_deltaTargets = std::move(value); } /** *

Specifies Delta data store targets.

*/ inline CrawlerTargets& WithDeltaTargets(const Aws::Vector& value) { SetDeltaTargets(value); return *this;} /** *

Specifies Delta data store targets.

*/ inline CrawlerTargets& WithDeltaTargets(Aws::Vector&& value) { SetDeltaTargets(std::move(value)); return *this;} /** *

Specifies Delta data store targets.

*/ inline CrawlerTargets& AddDeltaTargets(const DeltaTarget& value) { m_deltaTargetsHasBeenSet = true; m_deltaTargets.push_back(value); return *this; } /** *

Specifies Delta data store targets.

*/ inline CrawlerTargets& AddDeltaTargets(DeltaTarget&& value) { m_deltaTargetsHasBeenSet = true; m_deltaTargets.push_back(std::move(value)); return *this; } /** *

Specifies Apache Iceberg data store targets.

*/ inline const Aws::Vector& GetIcebergTargets() const{ return m_icebergTargets; } /** *

Specifies Apache Iceberg data store targets.

*/ inline bool IcebergTargetsHasBeenSet() const { return m_icebergTargetsHasBeenSet; } /** *

Specifies Apache Iceberg data store targets.

*/ inline void SetIcebergTargets(const Aws::Vector& value) { m_icebergTargetsHasBeenSet = true; m_icebergTargets = value; } /** *

Specifies Apache Iceberg data store targets.

*/ inline void SetIcebergTargets(Aws::Vector&& value) { m_icebergTargetsHasBeenSet = true; m_icebergTargets = std::move(value); } /** *

Specifies Apache Iceberg data store targets.

*/ inline CrawlerTargets& WithIcebergTargets(const Aws::Vector& value) { SetIcebergTargets(value); return *this;} /** *

Specifies Apache Iceberg data store targets.

*/ inline CrawlerTargets& WithIcebergTargets(Aws::Vector&& value) { SetIcebergTargets(std::move(value)); return *this;} /** *

Specifies Apache Iceberg data store targets.

*/ inline CrawlerTargets& AddIcebergTargets(const IcebergTarget& value) { m_icebergTargetsHasBeenSet = true; m_icebergTargets.push_back(value); return *this; } /** *

Specifies Apache Iceberg data store targets.

*/ inline CrawlerTargets& AddIcebergTargets(IcebergTarget&& value) { m_icebergTargetsHasBeenSet = true; m_icebergTargets.push_back(std::move(value)); return *this; } /** *

Specifies Apache Hudi data store targets.

*/ inline const Aws::Vector& GetHudiTargets() const{ return m_hudiTargets; } /** *

Specifies Apache Hudi data store targets.

*/ inline bool HudiTargetsHasBeenSet() const { return m_hudiTargetsHasBeenSet; } /** *

Specifies Apache Hudi data store targets.

*/ inline void SetHudiTargets(const Aws::Vector& value) { m_hudiTargetsHasBeenSet = true; m_hudiTargets = value; } /** *

Specifies Apache Hudi data store targets.

*/ inline void SetHudiTargets(Aws::Vector&& value) { m_hudiTargetsHasBeenSet = true; m_hudiTargets = std::move(value); } /** *

Specifies Apache Hudi data store targets.

*/ inline CrawlerTargets& WithHudiTargets(const Aws::Vector& value) { SetHudiTargets(value); return *this;} /** *

Specifies Apache Hudi data store targets.

*/ inline CrawlerTargets& WithHudiTargets(Aws::Vector&& value) { SetHudiTargets(std::move(value)); return *this;} /** *

Specifies Apache Hudi data store targets.

*/ inline CrawlerTargets& AddHudiTargets(const HudiTarget& value) { m_hudiTargetsHasBeenSet = true; m_hudiTargets.push_back(value); return *this; } /** *

Specifies Apache Hudi data store targets.

*/ inline CrawlerTargets& AddHudiTargets(HudiTarget&& value) { m_hudiTargetsHasBeenSet = true; m_hudiTargets.push_back(std::move(value)); return *this; } private: Aws::Vector m_s3Targets; bool m_s3TargetsHasBeenSet = false; Aws::Vector m_jdbcTargets; bool m_jdbcTargetsHasBeenSet = false; Aws::Vector m_mongoDBTargets; bool m_mongoDBTargetsHasBeenSet = false; Aws::Vector m_dynamoDBTargets; bool m_dynamoDBTargetsHasBeenSet = false; Aws::Vector m_catalogTargets; bool m_catalogTargetsHasBeenSet = false; Aws::Vector m_deltaTargets; bool m_deltaTargetsHasBeenSet = false; Aws::Vector m_icebergTargets; bool m_icebergTargetsHasBeenSet = false; Aws::Vector m_hudiTargets; bool m_hudiTargetsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws