import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::Glue::Crawler
 */
export declare class Crawler extends pulumi.CustomResource {
    /**
     * Get an existing Crawler resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Crawler;
    /**
     * Returns true if the given object is an instance of Crawler.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Crawler;
    /**
     * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
     */
    readonly classifiers: pulumi.Output<string[] | undefined>;
    /**
     * Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.
     */
    readonly configuration: pulumi.Output<string | undefined>;
    /**
     * The name of the SecurityConfiguration structure to be used by this crawler.
     */
    readonly crawlerSecurityConfiguration: pulumi.Output<string | undefined>;
    /**
     * The name of the database in which the crawler's output is stored.
     */
    readonly databaseName: pulumi.Output<string | undefined>;
    /**
     * A description of the crawler.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
     */
    readonly lakeFormationConfiguration: pulumi.Output<outputs.glue.CrawlerLakeFormationConfiguration | undefined>;
    /**
     * The name of the crawler.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.
     */
    readonly recrawlPolicy: pulumi.Output<outputs.glue.CrawlerRecrawlPolicy | undefined>;
    /**
     * 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.
     */
    readonly role: pulumi.Output<string>;
    /**
     * For scheduled crawlers, the schedule when the crawler runs.
     */
    readonly schedule: pulumi.Output<outputs.glue.CrawlerSchedule | undefined>;
    /**
     * 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 `SchemaChangePolicy` does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the `SchemaChangePolicy` on a crawler.
     *
     * The SchemaChangePolicy consists of two components, `UpdateBehavior` and `DeleteBehavior` .
     */
    readonly schemaChangePolicy: pulumi.Output<outputs.glue.CrawlerSchemaChangePolicy | undefined>;
    /**
     * The prefix added to the names of tables that are created.
     */
    readonly tablePrefix: pulumi.Output<string | undefined>;
    /**
     * The tags to use with this crawler.
     *
     * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Glue::Crawler` for more information about the expected schema for this property.
     */
    readonly tags: pulumi.Output<any | undefined>;
    /**
     * A collection of targets to crawl.
     */
    readonly targets: pulumi.Output<outputs.glue.CrawlerTargets>;
    /**
     * Create a Crawler resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: CrawlerArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Crawler resource.
 */
export interface CrawlerArgs {
    /**
     * A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.
     */
    classifiers?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.
     */
    configuration?: pulumi.Input<string>;
    /**
     * The name of the SecurityConfiguration structure to be used by this crawler.
     */
    crawlerSecurityConfiguration?: pulumi.Input<string>;
    /**
     * The name of the database in which the crawler's output is stored.
     */
    databaseName?: pulumi.Input<string>;
    /**
     * A description of the crawler.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies whether the crawler should use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.
     */
    lakeFormationConfiguration?: pulumi.Input<inputs.glue.CrawlerLakeFormationConfigurationArgs>;
    /**
     * The name of the crawler.
     */
    name?: pulumi.Input<string>;
    /**
     * A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.
     */
    recrawlPolicy?: pulumi.Input<inputs.glue.CrawlerRecrawlPolicyArgs>;
    /**
     * 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.
     */
    role: pulumi.Input<string>;
    /**
     * For scheduled crawlers, the schedule when the crawler runs.
     */
    schedule?: pulumi.Input<inputs.glue.CrawlerScheduleArgs>;
    /**
     * 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 `SchemaChangePolicy` does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the `SchemaChangePolicy` on a crawler.
     *
     * The SchemaChangePolicy consists of two components, `UpdateBehavior` and `DeleteBehavior` .
     */
    schemaChangePolicy?: pulumi.Input<inputs.glue.CrawlerSchemaChangePolicyArgs>;
    /**
     * The prefix added to the names of tables that are created.
     */
    tablePrefix?: pulumi.Input<string>;
    /**
     * The tags to use with this crawler.
     *
     * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Glue::Crawler` for more information about the expected schema for this property.
     */
    tags?: any;
    /**
     * A collection of targets to crawl.
     */
    targets: pulumi.Input<inputs.glue.CrawlerTargetsArgs>;
}
