import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Custom Protection Rule resource in Oracle Cloud Infrastructure Web Application Acceleration and Security service.
 *
 * Gets the details of a custom protection rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testCustomProtectionRule = oci.waas.getCustomProtectionRule({
 *     customProtectionRuleId: testCustomProtectionRuleOciWaasCustomProtectionRule.id,
 * });
 * ```
 */
export declare function getCustomProtectionRule(args: GetCustomProtectionRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetCustomProtectionRuleResult>;
/**
 * A collection of arguments for invoking getCustomProtectionRule.
 */
export interface GetCustomProtectionRuleArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom protection rule. This number is generated when the custom protection rule is added to the compartment.
     */
    customProtectionRuleId: string;
}
/**
 * A collection of values returned by getCustomProtectionRule.
 */
export interface GetCustomProtectionRuleResult {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom protection rule's compartment.
     */
    readonly compartmentId: string;
    readonly customProtectionRuleId: string;
    /**
     * Defined 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).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * The description of the custom protection rule.
     */
    readonly description: string;
    /**
     * The user-friendly name of the custom protection rule.
     */
    readonly displayName: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom protection rule.
     */
    readonly id: string;
    /**
     * The auto-generated ID for the custom protection rule. These IDs are referenced in logs.
     */
    readonly modSecurityRuleIds: string[];
    /**
     * The current lifecycle state of the custom protection rule.
     */
    readonly state: string;
    /**
     * The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.
     */
    readonly template: string;
    /**
     * The date and time the protection rule was created, expressed in RFC 3339 timestamp format.
     */
    readonly timeCreated: string;
}
/**
 * This data source provides details about a specific Custom Protection Rule resource in Oracle Cloud Infrastructure Web Application Acceleration and Security service.
 *
 * Gets the details of a custom protection rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testCustomProtectionRule = oci.waas.getCustomProtectionRule({
 *     customProtectionRuleId: testCustomProtectionRuleOciWaasCustomProtectionRule.id,
 * });
 * ```
 */
export declare function getCustomProtectionRuleOutput(args: GetCustomProtectionRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCustomProtectionRuleResult>;
/**
 * A collection of arguments for invoking getCustomProtectionRule.
 */
export interface GetCustomProtectionRuleOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom protection rule. This number is generated when the custom protection rule is added to the compartment.
     */
    customProtectionRuleId: pulumi.Input<string>;
}
//# sourceMappingURL=getCustomProtectionRule.d.ts.map