import { Value } from '../../cloudformation/Value';
import { SchemaChangePolicyProps } from './crawler/SchemaChangePolicyProps';
import { RecrawlPolicyProps } from './crawler/RecrawlPolicyProps';
import { TargetsProps } from './crawler/TargetsProps';
import { ScheduleProps } from './crawler/ScheduleProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Glue::Crawler</code> resource specifies an AWS Glue crawler. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Cataloging Tables with a Crawler</a> and <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler">Crawler Structure</a> in the <em>AWS Glue Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html">the AWS Docs</a>
*/
export type Crawler = AwsResource<'AWS::Glue::Crawler', CrawlerProperties>;
export declare function crawler(crawlerProps: CrawlerProperties): Crawler;
/**
  The <code>AWS::Glue::Crawler</code> resource specifies an AWS Glue crawler. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Cataloging Tables with a Crawler</a> and <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler">Crawler Structure</a> in the <em>AWS Glue Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html">the AWS Docs</a>
*/
export interface CrawlerProperties {
    /** <code>Classifiers</code>  <a name="cfn-glue-crawler-classifiers"></a>
  A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    classifiers?: Value<Value<string>[]>;
    /** <code>Description</code>  <a name="cfn-glue-crawler-description"></a>
  A description of the crawler.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>SchemaChangePolicy</code>  <a name="cfn-glue-crawler-schemachangepolicy"></a>
  The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer’s database at the time of the crawl. The <code>SchemaChangePolicy</code> does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the <code>SchemaChangePolicy</code> on a crawler.<br />
  The SchemaChangePolicy consists of two components, <code>UpdateBehavior</code> and <code>DeleteBehavior</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    schemaChangePolicy?: SchemaChangePolicyProps;
    /** <code>Configuration</code>  <a name="cfn-glue-crawler-configuration"></a>
  Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler’s behavior. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html">Configuring a Crawler</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    configuration?: Value<string>;
    /** <code>RecrawlPolicy</code>  <a name="cfn-glue-crawler-recrawlpolicy"></a>
  A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    recrawlPolicy?: RecrawlPolicyProps;
    /** <code>DatabaseName</code>  <a name="cfn-glue-crawler-databasename"></a>
  The name of the database in which the crawler’s output is stored.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    databaseName?: Value<string>;
    /** <code>Targets</code>  <a name="cfn-glue-crawler-targets"></a>
  A collection of targets to crawl.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    targets: TargetsProps;
    /** <code>CrawlerSecurityConfiguration</code>  <a name="cfn-glue-crawler-crawlersecurityconfiguration"></a>
  The name of the <code>SecurityConfiguration</code> structure to be used by this crawler.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>128</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    crawlerSecurityConfiguration?: Value<string>;
    /** <code>Name</code>  <a name="cfn-glue-crawler-name"></a>
  The name of the crawler.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name?: Value<string>;
    /** <code>Role</code>  <a name="cfn-glue-crawler-role"></a>
  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.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    role: Value<string>;
    /** <code>Schedule</code>  <a name="cfn-glue-crawler-schedule"></a>
  For scheduled crawlers, the schedule when the crawler runs.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    schedule?: ScheduleProps;
    /** <code>TablePrefix</code>  <a name="cfn-glue-crawler-tableprefix"></a>
  The prefix added to the names of tables that are created.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>128</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tablePrefix?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-glue-crawler-tags"></a>
  The tags to use with this crawler.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Value<any>;
}
