/** * 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 namespace Aws { namespace Glue { namespace Model { /** */ class UpdateCrawlerRequest : public GlueRequest { public: AWS_GLUE_API UpdateCrawlerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateCrawler"; } AWS_GLUE_API Aws::String SerializePayload() const override; AWS_GLUE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Name of the new crawler.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Name of the new crawler.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Name of the new crawler.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Name of the new crawler.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Name of the new crawler.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Name of the new crawler.

*/ inline UpdateCrawlerRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Name of the new crawler.

*/ inline UpdateCrawlerRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Name of the new crawler.

*/ inline UpdateCrawlerRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline const Aws::String& GetRole() const{ return m_role; } /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline UpdateCrawlerRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline UpdateCrawlerRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the * new crawler to access customer resources.

*/ inline UpdateCrawlerRequest& WithRole(const char* value) { SetRole(value); return *this;} /** *

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

The Glue database where results are stored, such as: * arn:aws:daylight:us-east-1::database/sometable/ *.

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

A description of the new crawler.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the new crawler.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the new crawler.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the new crawler.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the new crawler.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the new crawler.

*/ inline UpdateCrawlerRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the new crawler.

*/ inline UpdateCrawlerRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the new crawler.

*/ inline UpdateCrawlerRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A list of targets to crawl.

*/ inline const CrawlerTargets& GetTargets() const{ return m_targets; } /** *

A list of targets to crawl.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

A list of targets to crawl.

*/ inline void SetTargets(const CrawlerTargets& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

A list of targets to crawl.

*/ inline void SetTargets(CrawlerTargets&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

A list of targets to crawl.

*/ inline UpdateCrawlerRequest& WithTargets(const CrawlerTargets& value) { SetTargets(value); return *this;} /** *

A list of targets to crawl.

*/ inline UpdateCrawlerRequest& WithTargets(CrawlerTargets&& value) { SetTargets(std::move(value)); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline const Aws::String& GetSchedule() const{ return m_schedule; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline UpdateCrawlerRequest& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline UpdateCrawlerRequest& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline UpdateCrawlerRequest& WithSchedule(const char* value) { SetSchedule(value); return *this;} /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline const Aws::Vector& GetClassifiers() const{ return m_classifiers; } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline bool ClassifiersHasBeenSet() const { return m_classifiersHasBeenSet; } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline void SetClassifiers(const Aws::Vector& value) { m_classifiersHasBeenSet = true; m_classifiers = value; } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline void SetClassifiers(Aws::Vector&& value) { m_classifiersHasBeenSet = true; m_classifiers = std::move(value); } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline UpdateCrawlerRequest& WithClassifiers(const Aws::Vector& value) { SetClassifiers(value); return *this;} /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline UpdateCrawlerRequest& WithClassifiers(Aws::Vector&& value) { SetClassifiers(std::move(value)); return *this;} /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline UpdateCrawlerRequest& AddClassifiers(const Aws::String& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(value); return *this; } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline UpdateCrawlerRequest& AddClassifiers(Aws::String&& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(std::move(value)); return *this; } /** *

A list of custom classifiers that the user has registered. By default, all * built-in classifiers are included in a crawl, but these custom classifiers * always override the default classifiers for a given classification.

*/ inline UpdateCrawlerRequest& AddClassifiers(const char* value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(value); return *this; } /** *

The table prefix used for catalog tables that are created.

*/ inline const Aws::String& GetTablePrefix() const{ return m_tablePrefix; } /** *

The table prefix used for catalog tables that are created.

*/ inline bool TablePrefixHasBeenSet() const { return m_tablePrefixHasBeenSet; } /** *

The table prefix used for catalog tables that are created.

*/ inline void SetTablePrefix(const Aws::String& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = value; } /** *

The table prefix used for catalog tables that are created.

*/ inline void SetTablePrefix(Aws::String&& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = std::move(value); } /** *

The table prefix used for catalog tables that are created.

*/ inline void SetTablePrefix(const char* value) { m_tablePrefixHasBeenSet = true; m_tablePrefix.assign(value); } /** *

The table prefix used for catalog tables that are created.

*/ inline UpdateCrawlerRequest& WithTablePrefix(const Aws::String& value) { SetTablePrefix(value); return *this;} /** *

The table prefix used for catalog tables that are created.

*/ inline UpdateCrawlerRequest& WithTablePrefix(Aws::String&& value) { SetTablePrefix(std::move(value)); return *this;} /** *

The table prefix used for catalog tables that are created.

*/ inline UpdateCrawlerRequest& WithTablePrefix(const char* value) { SetTablePrefix(value); return *this;} /** *

The policy for the crawler's update and deletion behavior.

*/ inline const SchemaChangePolicy& GetSchemaChangePolicy() const{ return m_schemaChangePolicy; } /** *

The policy for the crawler's update and deletion behavior.

*/ inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; } /** *

The policy for the crawler's update and deletion behavior.

*/ inline void SetSchemaChangePolicy(const SchemaChangePolicy& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = value; } /** *

The policy for the crawler's update and deletion behavior.

*/ inline void SetSchemaChangePolicy(SchemaChangePolicy&& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = std::move(value); } /** *

The policy for the crawler's update and deletion behavior.

*/ inline UpdateCrawlerRequest& WithSchemaChangePolicy(const SchemaChangePolicy& value) { SetSchemaChangePolicy(value); return *this;} /** *

The policy for the crawler's update and deletion behavior.

*/ inline UpdateCrawlerRequest& WithSchemaChangePolicy(SchemaChangePolicy&& value) { SetSchemaChangePolicy(std::move(value)); return *this;} /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline const RecrawlPolicy& GetRecrawlPolicy() const{ return m_recrawlPolicy; } /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline bool RecrawlPolicyHasBeenSet() const { return m_recrawlPolicyHasBeenSet; } /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline void SetRecrawlPolicy(const RecrawlPolicy& value) { m_recrawlPolicyHasBeenSet = true; m_recrawlPolicy = value; } /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline void SetRecrawlPolicy(RecrawlPolicy&& value) { m_recrawlPolicyHasBeenSet = true; m_recrawlPolicy = std::move(value); } /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline UpdateCrawlerRequest& WithRecrawlPolicy(const RecrawlPolicy& value) { SetRecrawlPolicy(value); return *this;} /** *

A policy that specifies whether to crawl the entire dataset again, or to * crawl only folders that were added since the last crawler run.

*/ inline UpdateCrawlerRequest& WithRecrawlPolicy(RecrawlPolicy&& value) { SetRecrawlPolicy(std::move(value)); return *this;} /** *

Specifies data lineage configuration settings for the crawler.

*/ inline const LineageConfiguration& GetLineageConfiguration() const{ return m_lineageConfiguration; } /** *

Specifies data lineage configuration settings for the crawler.

*/ inline bool LineageConfigurationHasBeenSet() const { return m_lineageConfigurationHasBeenSet; } /** *

Specifies data lineage configuration settings for the crawler.

*/ inline void SetLineageConfiguration(const LineageConfiguration& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = value; } /** *

Specifies data lineage configuration settings for the crawler.

*/ inline void SetLineageConfiguration(LineageConfiguration&& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = std::move(value); } /** *

Specifies data lineage configuration settings for the crawler.

*/ inline UpdateCrawlerRequest& WithLineageConfiguration(const LineageConfiguration& value) { SetLineageConfiguration(value); return *this;} /** *

Specifies data lineage configuration settings for the crawler.

*/ inline UpdateCrawlerRequest& WithLineageConfiguration(LineageConfiguration&& value) { SetLineageConfiguration(std::move(value)); return *this;} /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline const LakeFormationConfiguration& GetLakeFormationConfiguration() const{ return m_lakeFormationConfiguration; } /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline bool LakeFormationConfigurationHasBeenSet() const { return m_lakeFormationConfigurationHasBeenSet; } /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline void SetLakeFormationConfiguration(const LakeFormationConfiguration& value) { m_lakeFormationConfigurationHasBeenSet = true; m_lakeFormationConfiguration = value; } /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline void SetLakeFormationConfiguration(LakeFormationConfiguration&& value) { m_lakeFormationConfigurationHasBeenSet = true; m_lakeFormationConfiguration = std::move(value); } /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline UpdateCrawlerRequest& WithLakeFormationConfiguration(const LakeFormationConfiguration& value) { SetLakeFormationConfiguration(value); return *this;} /** *

Specifies Lake Formation configuration settings for the crawler.

*/ inline UpdateCrawlerRequest& WithLakeFormationConfiguration(LakeFormationConfiguration&& value) { SetLakeFormationConfiguration(std::move(value)); return *this;} /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline const Aws::String& GetConfiguration() const{ return m_configuration; } /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); } /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline UpdateCrawlerRequest& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;} /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline UpdateCrawlerRequest& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;} /** *

Crawler configuration information. This versioned JSON string allows users to * specify aspects of a crawler's behavior. For more information, see Setting * crawler configuration options.

*/ inline UpdateCrawlerRequest& WithConfiguration(const char* value) { SetConfiguration(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline const Aws::String& GetCrawlerSecurityConfiguration() const{ return m_crawlerSecurityConfiguration; } /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline bool CrawlerSecurityConfigurationHasBeenSet() const { return m_crawlerSecurityConfigurationHasBeenSet; } /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline void SetCrawlerSecurityConfiguration(const Aws::String& value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration = value; } /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline void SetCrawlerSecurityConfiguration(Aws::String&& value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration = std::move(value); } /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline void SetCrawlerSecurityConfiguration(const char* value) { m_crawlerSecurityConfigurationHasBeenSet = true; m_crawlerSecurityConfiguration.assign(value); } /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(const Aws::String& value) { SetCrawlerSecurityConfiguration(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(Aws::String&& value) { SetCrawlerSecurityConfiguration(std::move(value)); return *this;} /** *

The name of the SecurityConfiguration structure to be used by * this crawler.

*/ inline UpdateCrawlerRequest& WithCrawlerSecurityConfiguration(const char* value) { SetCrawlerSecurityConfiguration(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_role; bool m_roleHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; CrawlerTargets m_targets; bool m_targetsHasBeenSet = false; Aws::String m_schedule; bool m_scheduleHasBeenSet = false; Aws::Vector m_classifiers; bool m_classifiersHasBeenSet = false; Aws::String m_tablePrefix; bool m_tablePrefixHasBeenSet = false; SchemaChangePolicy m_schemaChangePolicy; bool m_schemaChangePolicyHasBeenSet = false; RecrawlPolicy m_recrawlPolicy; bool m_recrawlPolicyHasBeenSet = false; LineageConfiguration m_lineageConfiguration; bool m_lineageConfigurationHasBeenSet = false; LakeFormationConfiguration m_lakeFormationConfiguration; bool m_lakeFormationConfigurationHasBeenSet = false; Aws::String m_configuration; bool m_configurationHasBeenSet = false; Aws::String m_crawlerSecurityConfiguration; bool m_crawlerSecurityConfigurationHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws