import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Data Mask Rule resource in Oracle Cloud Infrastructure Cloud Guard service.
 *
 * Returns a DataMaskRule resource, identified by dataMaskRuleId.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDataMaskRule = oci.cloudguard.getDataMaskRule({
 *     dataMaskRuleId: testDataMaskRuleOciCloudGuardDataMaskRule.id,
 * });
 * ```
 */
export declare function getDataMaskRule(args: GetDataMaskRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetDataMaskRuleResult>;
/**
 * A collection of arguments for invoking getDataMaskRule.
 */
export interface GetDataMaskRuleArgs {
    /**
     * OCID of the data mask rule
     */
    dataMaskRuleId: string;
}
/**
 * A collection of values returned by getDataMaskRule.
 */
export interface GetDataMaskRuleResult {
    /**
     * Compartment OCID where the resource is created
     */
    readonly compartmentId: string;
    /**
     * List of data mask rule categories
     */
    readonly dataMaskCategories: string[];
    readonly dataMaskRuleId: string;
    /**
     * The current status of the data mask rule
     */
    readonly dataMaskRuleStatus: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * The data mask rule description
     */
    readonly description: string;
    /**
     * Data mask rule display name
     */
    readonly displayName: string;
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * IAM Group ID associated with the data mask rule
     */
    readonly iamGroupId: string;
    /**
     * Unique identifier that can't be changed after creation
     */
    readonly id: string;
    /**
     * Additional details on the substate of the lifecycle state [DEPRECATE]
     */
    readonly lifecyleDetails: string;
    /**
     * The current lifecycle state of the data mask rule
     */
    readonly state: string;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system.  Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * Specification of how targets are to be selected (select ALL, or select by TargetResourceType or TargetId).
     */
    readonly targetSelecteds: outputs.CloudGuard.GetDataMaskRuleTargetSelected[];
    /**
     * The date and time the target was created. Format defined by RFC3339.
     */
    readonly timeCreated: string;
    /**
     * The date and time the target was updated. Format defined by RFC3339.
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Data Mask Rule resource in Oracle Cloud Infrastructure Cloud Guard service.
 *
 * Returns a DataMaskRule resource, identified by dataMaskRuleId.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDataMaskRule = oci.cloudguard.getDataMaskRule({
 *     dataMaskRuleId: testDataMaskRuleOciCloudGuardDataMaskRule.id,
 * });
 * ```
 */
export declare function getDataMaskRuleOutput(args: GetDataMaskRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDataMaskRuleResult>;
/**
 * A collection of arguments for invoking getDataMaskRule.
 */
export interface GetDataMaskRuleOutputArgs {
    /**
     * OCID of the data mask rule
     */
    dataMaskRuleId: pulumi.Input<string>;
}
//# sourceMappingURL=getDataMaskRule.d.ts.map