import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Configuration for discovery to scan resources for profile generation. Only one discovery configuration may exist per organization, folder, or project.
 *
 * To get more information about DiscoveryConfig, see:
 *
 * * [API documentation](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.locations.discoveryConfigs)
 * * How-to Guides
 *     * [Schedule inspection scan](https://cloud.google.com/dlp/docs/schedule-inspection-scan)
 *
 * ## Example Usage
 *
 * ## Import
 *
 * DiscoveryConfig can be imported using any of these accepted formats:
 *
 * * `{{parent}}/discoveryConfigs/{{name}}`
 *
 * * `{{parent}}/{{name}}`
 *
 * When using the `pulumi import` command, DiscoveryConfig can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/discoveryConfigs/{{name}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/{{name}}
 * ```
 */
export declare class PreventionDiscoveryConfig extends pulumi.CustomResource {
    /**
     * Get an existing PreventionDiscoveryConfig 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PreventionDiscoveryConfigState, opts?: pulumi.CustomResourceOptions): PreventionDiscoveryConfig;
    /**
     * Returns true if the given object is an instance of PreventionDiscoveryConfig.  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 PreventionDiscoveryConfig;
    /**
     * Actions to execute at the completion of scanning
     * Structure is documented below.
     */
    readonly actions: pulumi.Output<outputs.dataloss.PreventionDiscoveryConfigAction[] | undefined>;
    /**
     * Output only. The creation timestamp of a DiscoveryConfig.
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * Display Name (max 1000 Chars)
     */
    readonly displayName: pulumi.Output<string | undefined>;
    /**
     * Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
     * Structure is documented below.
     */
    readonly errors: pulumi.Output<outputs.dataloss.PreventionDiscoveryConfigError[]>;
    /**
     * Detection logic for profile generation
     */
    readonly inspectTemplates: pulumi.Output<string[] | undefined>;
    /**
     * Output only. The timestamp of the last time this config was executed
     */
    readonly lastRunTime: pulumi.Output<string>;
    /**
     * Location to create the discovery config in.
     */
    readonly location: pulumi.Output<string>;
    /**
     * Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    readonly orgConfig: pulumi.Output<outputs.dataloss.PreventionDiscoveryConfigOrgConfig | undefined>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    readonly otherCloudStartingLocation: pulumi.Output<outputs.dataloss.PreventionDiscoveryConfigOtherCloudStartingLocation | undefined>;
    /**
     * The parent of the discovery config in any of the following formats:
     * * `projects/{{project}}/locations/{{location}}`
     * * `organizations/{{organization_id}}/locations/{{location}}`
     */
    readonly parent: pulumi.Output<string>;
    /**
     * Required. A status for this configuration
     * Possible values are: `RUNNING`, `PAUSED`.
     */
    readonly status: pulumi.Output<string | undefined>;
    /**
     * Target to match against for determining what to scan and how frequently
     * Structure is documented below.
     */
    readonly targets: pulumi.Output<outputs.dataloss.PreventionDiscoveryConfigTarget[] | undefined>;
    /**
     * Output only. The last update timestamp of a DiscoveryConfig.
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * Create a PreventionDiscoveryConfig 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: PreventionDiscoveryConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PreventionDiscoveryConfig resources.
 */
export interface PreventionDiscoveryConfigState {
    /**
     * Actions to execute at the completion of scanning
     * Structure is documented below.
     */
    actions?: pulumi.Input<pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigAction>[]>;
    /**
     * Output only. The creation timestamp of a DiscoveryConfig.
     */
    createTime?: pulumi.Input<string>;
    /**
     * Display Name (max 1000 Chars)
     */
    displayName?: pulumi.Input<string>;
    /**
     * Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
     * Structure is documented below.
     */
    errors?: pulumi.Input<pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigError>[]>;
    /**
     * Detection logic for profile generation
     */
    inspectTemplates?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Output only. The timestamp of the last time this config was executed
     */
    lastRunTime?: pulumi.Input<string>;
    /**
     * Location to create the discovery config in.
     */
    location?: pulumi.Input<string>;
    /**
     * Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
     */
    name?: pulumi.Input<string>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    orgConfig?: pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigOrgConfig>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    otherCloudStartingLocation?: pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigOtherCloudStartingLocation>;
    /**
     * The parent of the discovery config in any of the following formats:
     * * `projects/{{project}}/locations/{{location}}`
     * * `organizations/{{organization_id}}/locations/{{location}}`
     */
    parent?: pulumi.Input<string>;
    /**
     * Required. A status for this configuration
     * Possible values are: `RUNNING`, `PAUSED`.
     */
    status?: pulumi.Input<string>;
    /**
     * Target to match against for determining what to scan and how frequently
     * Structure is documented below.
     */
    targets?: pulumi.Input<pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigTarget>[]>;
    /**
     * Output only. The last update timestamp of a DiscoveryConfig.
     */
    updateTime?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a PreventionDiscoveryConfig resource.
 */
export interface PreventionDiscoveryConfigArgs {
    /**
     * Actions to execute at the completion of scanning
     * Structure is documented below.
     */
    actions?: pulumi.Input<pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigAction>[]>;
    /**
     * Display Name (max 1000 Chars)
     */
    displayName?: pulumi.Input<string>;
    /**
     * Detection logic for profile generation
     */
    inspectTemplates?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Location to create the discovery config in.
     */
    location: pulumi.Input<string>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    orgConfig?: pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigOrgConfig>;
    /**
     * A nested object resource.
     * Structure is documented below.
     */
    otherCloudStartingLocation?: pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigOtherCloudStartingLocation>;
    /**
     * The parent of the discovery config in any of the following formats:
     * * `projects/{{project}}/locations/{{location}}`
     * * `organizations/{{organization_id}}/locations/{{location}}`
     */
    parent: pulumi.Input<string>;
    /**
     * Required. A status for this configuration
     * Possible values are: `RUNNING`, `PAUSED`.
     */
    status?: pulumi.Input<string>;
    /**
     * Target to match against for determining what to scan and how frequently
     * Structure is documented below.
     */
    targets?: pulumi.Input<pulumi.Input<inputs.dataloss.PreventionDiscoveryConfigTarget>[]>;
}
