/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies a crawler program that examines a data source and uses classifiers
* to try to determine its schema. If successful, the crawler records metadata
* concerning the data source in the Glue Data Catalog.See Also:
* AWS API
* Reference
The name of the crawler.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the crawler.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the crawler.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the crawler.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the crawler.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the crawler.
*/ inline Crawler& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the crawler.
*/ inline Crawler& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the crawler.
*/ inline Crawler& WithName(const char* value) { SetName(value); return *this;} /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline const Aws::String& GetRole() const{ return m_role; } /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline Crawler& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline Crawler& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of an IAM role that's used to access customer * resources, such as Amazon Simple Storage Service (Amazon S3) data.
*/ inline Crawler& WithRole(const char* value) { SetRole(value); return *this;} /** *A collection of targets to crawl.
*/ inline const CrawlerTargets& GetTargets() const{ return m_targets; } /** *A collection of targets to crawl.
*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *A collection of targets to crawl.
*/ inline void SetTargets(const CrawlerTargets& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *A collection of targets to crawl.
*/ inline void SetTargets(CrawlerTargets&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *A collection of targets to crawl.
*/ inline Crawler& WithTargets(const CrawlerTargets& value) { SetTargets(value); return *this;} /** *A collection of targets to crawl.
*/ inline Crawler& WithTargets(CrawlerTargets&& value) { SetTargets(std::move(value)); return *this;} /** *The name of the database in which the crawler's output is stored.
*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *The name of the database in which the crawler's output is stored.
*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *The name of the database in which the crawler's output is stored.
*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *The name of the database in which the crawler's output is stored.
*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *The name of the database in which the crawler's output is stored.
*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *The name of the database in which the crawler's output is stored.
*/ inline Crawler& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *The name of the database in which the crawler's output is stored.
*/ inline Crawler& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *The name of the database in which the crawler's output is stored.
*/ inline Crawler& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *A description of the crawler.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the crawler.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the crawler.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the crawler.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the crawler.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the crawler.
*/ inline Crawler& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the crawler.
*/ inline Crawler& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the crawler.
*/ inline Crawler& WithDescription(const char* value) { SetDescription(value); return *this;} /** *A list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline const Aws::VectorA list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline bool ClassifiersHasBeenSet() const { return m_classifiersHasBeenSet; } /** *A list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline void SetClassifiers(const Aws::VectorA list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline void SetClassifiers(Aws::VectorA list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline Crawler& WithClassifiers(const Aws::VectorA list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline Crawler& WithClassifiers(Aws::VectorA list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline Crawler& AddClassifiers(const Aws::String& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(value); return *this; } /** *A list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline Crawler& AddClassifiers(Aws::String&& value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(std::move(value)); return *this; } /** *A list of UTF-8 strings that specify the custom classifiers that are * associated with the crawler.
*/ inline Crawler& AddClassifiers(const char* value) { m_classifiersHasBeenSet = true; m_classifiers.push_back(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 Crawler& 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 Crawler& WithRecrawlPolicy(RecrawlPolicy&& value) { SetRecrawlPolicy(std::move(value)); return *this;} /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline const SchemaChangePolicy& GetSchemaChangePolicy() const{ return m_schemaChangePolicy; } /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; } /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline void SetSchemaChangePolicy(const SchemaChangePolicy& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = value; } /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline void SetSchemaChangePolicy(SchemaChangePolicy&& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = std::move(value); } /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline Crawler& WithSchemaChangePolicy(const SchemaChangePolicy& value) { SetSchemaChangePolicy(value); return *this;} /** *The policy that specifies update and delete behaviors for the crawler.
*/ inline Crawler& WithSchemaChangePolicy(SchemaChangePolicy&& value) { SetSchemaChangePolicy(std::move(value)); return *this;} /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline const LineageConfiguration& GetLineageConfiguration() const{ return m_lineageConfiguration; } /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline bool LineageConfigurationHasBeenSet() const { return m_lineageConfigurationHasBeenSet; } /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline void SetLineageConfiguration(const LineageConfiguration& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = value; } /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline void SetLineageConfiguration(LineageConfiguration&& value) { m_lineageConfigurationHasBeenSet = true; m_lineageConfiguration = std::move(value); } /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline Crawler& WithLineageConfiguration(const LineageConfiguration& value) { SetLineageConfiguration(value); return *this;} /** *A configuration that specifies whether data lineage is enabled for the * crawler.
*/ inline Crawler& WithLineageConfiguration(LineageConfiguration&& value) { SetLineageConfiguration(std::move(value)); return *this;} /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline const CrawlerState& GetState() const{ return m_state; } /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline void SetState(const CrawlerState& value) { m_stateHasBeenSet = true; m_state = value; } /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline void SetState(CrawlerState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline Crawler& WithState(const CrawlerState& value) { SetState(value); return *this;} /** *Indicates whether the crawler is running, or whether a run is pending.
*/ inline Crawler& WithState(CrawlerState&& value) { SetState(std::move(value)); return *this;} /** *The prefix added to the names of tables that are created.
*/ inline const Aws::String& GetTablePrefix() const{ return m_tablePrefix; } /** *The prefix added to the names of tables that are created.
*/ inline bool TablePrefixHasBeenSet() const { return m_tablePrefixHasBeenSet; } /** *The prefix added to the names of tables that are created.
*/ inline void SetTablePrefix(const Aws::String& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = value; } /** *The prefix added to the names of tables that are created.
*/ inline void SetTablePrefix(Aws::String&& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = std::move(value); } /** *The prefix added to the names of tables that are created.
*/ inline void SetTablePrefix(const char* value) { m_tablePrefixHasBeenSet = true; m_tablePrefix.assign(value); } /** *The prefix added to the names of tables that are created.
*/ inline Crawler& WithTablePrefix(const Aws::String& value) { SetTablePrefix(value); return *this;} /** *The prefix added to the names of tables that are created.
*/ inline Crawler& WithTablePrefix(Aws::String&& value) { SetTablePrefix(std::move(value)); return *this;} /** *The prefix added to the names of tables that are created.
*/ inline Crawler& WithTablePrefix(const char* value) { SetTablePrefix(value); return *this;} /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline const Schedule& GetSchedule() const{ return m_schedule; } /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline void SetSchedule(const Schedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline void SetSchedule(Schedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline Crawler& WithSchedule(const Schedule& value) { SetSchedule(value); return *this;} /** *For scheduled crawlers, the schedule when the crawler runs.
*/ inline Crawler& WithSchedule(Schedule&& value) { SetSchedule(std::move(value)); return *this;} /** *If the crawler is running, contains the total time elapsed since the last * crawl began.
*/ inline long long GetCrawlElapsedTime() const{ return m_crawlElapsedTime; } /** *If the crawler is running, contains the total time elapsed since the last * crawl began.
*/ inline bool CrawlElapsedTimeHasBeenSet() const { return m_crawlElapsedTimeHasBeenSet; } /** *If the crawler is running, contains the total time elapsed since the last * crawl began.
*/ inline void SetCrawlElapsedTime(long long value) { m_crawlElapsedTimeHasBeenSet = true; m_crawlElapsedTime = value; } /** *If the crawler is running, contains the total time elapsed since the last * crawl began.
*/ inline Crawler& WithCrawlElapsedTime(long long value) { SetCrawlElapsedTime(value); return *this;} /** *The time that the crawler was created.
*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *The time that the crawler was created.
*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *The time that the crawler was created.
*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *The time that the crawler was created.
*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *The time that the crawler was created.
*/ inline Crawler& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *The time that the crawler was created.
*/ inline Crawler& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *The time that the crawler was last updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *The time that the crawler was last updated.
*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *The time that the crawler was last updated.
*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *The time that the crawler was last updated.
*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *The time that the crawler was last updated.
*/ inline Crawler& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *The time that the crawler was last updated.
*/ inline Crawler& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline const LastCrawlInfo& GetLastCrawl() const{ return m_lastCrawl; } /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline bool LastCrawlHasBeenSet() const { return m_lastCrawlHasBeenSet; } /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline void SetLastCrawl(const LastCrawlInfo& value) { m_lastCrawlHasBeenSet = true; m_lastCrawl = value; } /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline void SetLastCrawl(LastCrawlInfo&& value) { m_lastCrawlHasBeenSet = true; m_lastCrawl = std::move(value); } /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline Crawler& WithLastCrawl(const LastCrawlInfo& value) { SetLastCrawl(value); return *this;} /** *The status of the last crawl, and potentially error information if an error * occurred.
*/ inline Crawler& WithLastCrawl(LastCrawlInfo&& value) { SetLastCrawl(std::move(value)); return *this;} /** *The version of the crawler.
*/ inline long long GetVersion() const{ return m_version; } /** *The version of the crawler.
*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *The version of the crawler.
*/ inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } /** *The version of the crawler.
*/ inline Crawler& WithVersion(long long value) { SetVersion(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 Crawler& 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 Crawler& 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 Crawler& WithConfiguration(const char* value) { SetConfiguration(value); return *this;} /** *The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
The name of the SecurityConfiguration
structure to be used by
* this crawler.
Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline const LakeFormationConfiguration& GetLakeFormationConfiguration() const{ return m_lakeFormationConfiguration; } /** *Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline bool LakeFormationConfigurationHasBeenSet() const { return m_lakeFormationConfigurationHasBeenSet; } /** *Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline void SetLakeFormationConfiguration(const LakeFormationConfiguration& value) { m_lakeFormationConfigurationHasBeenSet = true; m_lakeFormationConfiguration = value; } /** *Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline void SetLakeFormationConfiguration(LakeFormationConfiguration&& value) { m_lakeFormationConfigurationHasBeenSet = true; m_lakeFormationConfiguration = std::move(value); } /** *Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline Crawler& WithLakeFormationConfiguration(const LakeFormationConfiguration& value) { SetLakeFormationConfiguration(value); return *this;} /** *Specifies whether the crawler should use Lake Formation credentials for the * crawler instead of the IAM role credentials.
*/ inline Crawler& WithLakeFormationConfiguration(LakeFormationConfiguration&& value) { SetLakeFormationConfiguration(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_role; bool m_roleHasBeenSet = false; CrawlerTargets m_targets; bool m_targetsHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector