import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Provides a Datadog SensitiveDataScannerRule resource. This can be used to create and manage Datadog sensitive_data_scanner_rule. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying the `includedKeywordConfiguration` field to avoid unexpectedly disabling Sensitive Data Scanner groups.
 *
 * ## Import
 *
 * The `pulumi import` command can be used, for example:
 *
 * ```sh
 * $ pulumi import datadog:index/sensitiveDataScannerRule:SensitiveDataScannerRule new_list "<rule_id>"
 * ```
 */
export declare class SensitiveDataScannerRule extends pulumi.CustomResource {
    /**
     * Get an existing SensitiveDataScannerRule 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?: SensitiveDataScannerRuleState, opts?: pulumi.CustomResourceOptions): SensitiveDataScannerRule;
    /**
     * Returns true if the given object is an instance of SensitiveDataScannerRule.  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 SensitiveDataScannerRule;
    /**
     * Description of the rule.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array.
     */
    readonly excludedNamespaces: pulumi.Output<string[] | undefined>;
    /**
     * Id of the scanning group the rule belongs to.
     */
    readonly groupId: pulumi.Output<string>;
    /**
     * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.
     */
    readonly includedKeywordConfiguration: pulumi.Output<outputs.SensitiveDataScannerRuleIncludedKeywordConfiguration>;
    /**
     * Whether or not the rule is enabled.
     */
    readonly isEnabled: pulumi.Output<boolean | undefined>;
    /**
     * Name of the rule.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * Attributes included in the scan. If namespaces is empty or missing, all attributes except excludedNamespaces are scanned. If both are missing the whole event is scanned.
     */
    readonly namespaces: pulumi.Output<string[] | undefined>;
    /**
     * Not included if there is a relationship to a standard pattern.
     */
    readonly pattern: pulumi.Output<string | undefined>;
    /**
     * Priority level of the rule (optional). Used to order sensitive data discovered in the sds summary page. It must be between 1 and 5 (1 being the most important).
     */
    readonly priority: pulumi.Output<number>;
    /**
     * Id of the standard pattern the rule refers to. If provided, then pattern must not be provided.
     */
    readonly standardPatternId: pulumi.Output<string | undefined>;
    /**
     * Object defining a set of suppressions to skip matches based on a set of rules. The available suppression types are `startsWith`, `endsWith`, and `exactMatch`.
     */
    readonly suppressions: pulumi.Output<outputs.SensitiveDataScannerRuleSuppressions | undefined>;
    /**
     * List of tags.
     */
    readonly tags: pulumi.Output<string[] | undefined>;
    /**
     * Object describing how the scanned event will be replaced. Defaults to `type: none`
     */
    readonly textReplacement: pulumi.Output<outputs.SensitiveDataScannerRuleTextReplacement | undefined>;
    /**
     * Create a SensitiveDataScannerRule 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: SensitiveDataScannerRuleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SensitiveDataScannerRule resources.
 */
export interface SensitiveDataScannerRuleState {
    /**
     * Description of the rule.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array.
     */
    excludedNamespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Id of the scanning group the rule belongs to.
     */
    groupId?: pulumi.Input<string | undefined>;
    /**
     * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.
     */
    includedKeywordConfiguration?: pulumi.Input<inputs.SensitiveDataScannerRuleIncludedKeywordConfiguration | undefined>;
    /**
     * Whether or not the rule is enabled.
     */
    isEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Name of the rule.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Attributes included in the scan. If namespaces is empty or missing, all attributes except excludedNamespaces are scanned. If both are missing the whole event is scanned.
     */
    namespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Not included if there is a relationship to a standard pattern.
     */
    pattern?: pulumi.Input<string | undefined>;
    /**
     * Priority level of the rule (optional). Used to order sensitive data discovered in the sds summary page. It must be between 1 and 5 (1 being the most important).
     */
    priority?: pulumi.Input<number | undefined>;
    /**
     * Id of the standard pattern the rule refers to. If provided, then pattern must not be provided.
     */
    standardPatternId?: pulumi.Input<string | undefined>;
    /**
     * Object defining a set of suppressions to skip matches based on a set of rules. The available suppression types are `startsWith`, `endsWith`, and `exactMatch`.
     */
    suppressions?: pulumi.Input<inputs.SensitiveDataScannerRuleSuppressions | undefined>;
    /**
     * List of tags.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Object describing how the scanned event will be replaced. Defaults to `type: none`
     */
    textReplacement?: pulumi.Input<inputs.SensitiveDataScannerRuleTextReplacement | undefined>;
}
/**
 * The set of arguments for constructing a SensitiveDataScannerRule resource.
 */
export interface SensitiveDataScannerRuleArgs {
    /**
     * Description of the rule.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array.
     */
    excludedNamespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Id of the scanning group the rule belongs to.
     */
    groupId: pulumi.Input<string>;
    /**
     * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.
     */
    includedKeywordConfiguration?: pulumi.Input<inputs.SensitiveDataScannerRuleIncludedKeywordConfiguration | undefined>;
    /**
     * Whether or not the rule is enabled.
     */
    isEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Name of the rule.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Attributes included in the scan. If namespaces is empty or missing, all attributes except excludedNamespaces are scanned. If both are missing the whole event is scanned.
     */
    namespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Not included if there is a relationship to a standard pattern.
     */
    pattern?: pulumi.Input<string | undefined>;
    /**
     * Priority level of the rule (optional). Used to order sensitive data discovered in the sds summary page. It must be between 1 and 5 (1 being the most important).
     */
    priority?: pulumi.Input<number | undefined>;
    /**
     * Id of the standard pattern the rule refers to. If provided, then pattern must not be provided.
     */
    standardPatternId?: pulumi.Input<string | undefined>;
    /**
     * Object defining a set of suppressions to skip matches based on a set of rules. The available suppression types are `startsWith`, `endsWith`, and `exactMatch`.
     */
    suppressions?: pulumi.Input<inputs.SensitiveDataScannerRuleSuppressions | undefined>;
    /**
     * List of tags.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Object describing how the scanned event will be replaced. Defaults to `type: none`
     */
    textReplacement?: pulumi.Input<inputs.SensitiveDataScannerRuleTextReplacement | undefined>;
}
//# sourceMappingURL=sensitiveDataScannerRule.d.ts.map