import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * This data source provides details about a specific Protection Rule resource in Oracle Cloud Infrastructure Web Application Acceleration and Security service. * * Gets the details of a protection rule in the Web Application Firewall configuration for a WAAS policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testProtectionRule = oci.waas.getProtectionRule({ * protectionRuleKey: protectionRuleProtectionRuleKey, * waasPolicyId: testWaasPolicy.id, * }); * ``` */ export declare function getProtectionRule(args: GetProtectionRuleArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getProtectionRule. */ export interface GetProtectionRuleArgs { /** * The protection rule key. */ protectionRuleKey: string; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the WAAS policy. */ waasPolicyId: string; } /** * A collection of values returned by getProtectionRule. */ export interface GetProtectionRuleResult { /** * The action to take when the traffic is detected as malicious. If unspecified, defaults to `OFF`. */ readonly action: string; /** * The description of the protection rule. */ readonly description: string; /** * An array of The target property of a request that would allow it to bypass the protection rule. For example, when `target` is `REQUEST_COOKIE_NAMES`, the list may include names of cookies to exclude from the protection rule. When the target is `ARGS`, the list may include strings of URL query parameters and values from form-urlencoded XML, JSON, AMP, or POST payloads to exclude from the protection rule. `Exclusions` properties must not contain whitespace, comma or |. **Note:** If protection rules have been enabled that utilize the `maxArgumentCount` or `maxTotalNameLengthOfArguments` properties, and the `target` property has been set to `ARGS`, it is important that the `exclusions` properties be defined to honor those protection rule settings in a consistent manner. */ readonly exclusions: outputs.Waas.GetProtectionRuleExclusion[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The unique key of the protection rule. */ readonly key: string; /** * The list of labels for the protection rule. */ readonly labels: string[]; /** * The list of the ModSecurity rule IDs that apply to this protection rule. For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/index.html). */ readonly modSecurityRuleIds: string[]; /** * The name of the protection rule. */ readonly name: string; readonly protectionRuleKey: string; readonly waasPolicyId: string; } /** * This data source provides details about a specific Protection Rule resource in Oracle Cloud Infrastructure Web Application Acceleration and Security service. * * Gets the details of a protection rule in the Web Application Firewall configuration for a WAAS policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testProtectionRule = oci.waas.getProtectionRule({ * protectionRuleKey: protectionRuleProtectionRuleKey, * waasPolicyId: testWaasPolicy.id, * }); * ``` */ export declare function getProtectionRuleOutput(args: GetProtectionRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getProtectionRule. */ export interface GetProtectionRuleOutputArgs { /** * The protection rule key. */ protectionRuleKey: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the WAAS policy. */ waasPolicyId: pulumi.Input; } //# sourceMappingURL=getProtectionRule.d.ts.map