import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const WAFURL1 = f5bigip.ssl.getWafEntityUrl({
 *     name: "/foobar",
 *     description: "this is a test",
 *     type: "explicit",
 *     protocol: "HTTP",
 *     performStaging: true,
 *     signatureOverridesDisables: [
 *         12345678,
 *         87654321,
 *     ],
 *     methodOverrides: [
 *         {
 *             allow: false,
 *             method: "BCOPY",
 *         },
 *         {
 *             allow: true,
 *             method: "BDELETE",
 *         },
 *     ],
 *     crossOriginRequestsEnforcements: [
 *         {
 *             includeSubdomains: true,
 *             originName: "app1.com",
 *             originPort: "80",
 *             originProtocol: "http",
 *         },
 *         {
 *             includeSubdomains: true,
 *             originName: "app2.com",
 *             originPort: "443",
 *             originProtocol: "http",
 *         },
 *     ],
 * });
 * ```
 */
export declare function getWafEntityUrl(args: GetWafEntityUrlArgs, opts?: pulumi.InvokeOptions): Promise<GetWafEntityUrlResult>;
/**
 * A collection of arguments for invoking getWafEntityUrl.
 */
export interface GetWafEntityUrlArgs {
    /**
     * A list of options that enables your web-application to share data with a website hosted on a
     * different domain.
     */
    crossOriginRequestsEnforcements?: inputs.ssl.GetWafEntityUrlCrossOriginRequestsEnforcement[];
    /**
     * A description of the URL.
     */
    description?: string;
    /**
     * Select a Method for the URL to create an API endpoint. Default is : *.
     */
    method?: string;
    /**
     * A list of methods that are allowed or disallowed for a specific URL.
     */
    methodOverrides?: inputs.ssl.GetWafEntityUrlMethodOverride[];
    /**
     * WAF entity URL name.
     */
    name: string;
    /**
     * If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
     */
    performStaging?: boolean;
    /**
     * Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
     */
    protocol?: string;
    /**
     * List of Attack Signature Ids which are disabled for this particular URL.
     */
    signatureOverridesDisables?: number[];
    /**
     * Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
     */
    type?: string;
}
/**
 * A collection of values returned by getWafEntityUrl.
 */
export interface GetWafEntityUrlResult {
    readonly crossOriginRequestsEnforcements?: outputs.ssl.GetWafEntityUrlCrossOriginRequestsEnforcement[];
    readonly description?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Json string representing created WAF entity URL declaration in JSON format
     */
    readonly json: string;
    readonly method?: string;
    readonly methodOverrides?: outputs.ssl.GetWafEntityUrlMethodOverride[];
    readonly name: string;
    readonly performStaging?: boolean;
    readonly protocol?: string;
    readonly signatureOverridesDisables?: number[];
    readonly type?: string;
}
/**
 * Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const WAFURL1 = f5bigip.ssl.getWafEntityUrl({
 *     name: "/foobar",
 *     description: "this is a test",
 *     type: "explicit",
 *     protocol: "HTTP",
 *     performStaging: true,
 *     signatureOverridesDisables: [
 *         12345678,
 *         87654321,
 *     ],
 *     methodOverrides: [
 *         {
 *             allow: false,
 *             method: "BCOPY",
 *         },
 *         {
 *             allow: true,
 *             method: "BDELETE",
 *         },
 *     ],
 *     crossOriginRequestsEnforcements: [
 *         {
 *             includeSubdomains: true,
 *             originName: "app1.com",
 *             originPort: "80",
 *             originProtocol: "http",
 *         },
 *         {
 *             includeSubdomains: true,
 *             originName: "app2.com",
 *             originPort: "443",
 *             originProtocol: "http",
 *         },
 *     ],
 * });
 * ```
 */
export declare function getWafEntityUrlOutput(args: GetWafEntityUrlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetWafEntityUrlResult>;
/**
 * A collection of arguments for invoking getWafEntityUrl.
 */
export interface GetWafEntityUrlOutputArgs {
    /**
     * A list of options that enables your web-application to share data with a website hosted on a
     * different domain.
     */
    crossOriginRequestsEnforcements?: pulumi.Input<pulumi.Input<inputs.ssl.GetWafEntityUrlCrossOriginRequestsEnforcementArgs>[] | undefined>;
    /**
     * A description of the URL.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Select a Method for the URL to create an API endpoint. Default is : *.
     */
    method?: pulumi.Input<string | undefined>;
    /**
     * A list of methods that are allowed or disallowed for a specific URL.
     */
    methodOverrides?: pulumi.Input<pulumi.Input<inputs.ssl.GetWafEntityUrlMethodOverrideArgs>[] | undefined>;
    /**
     * WAF entity URL name.
     */
    name: pulumi.Input<string>;
    /**
     * If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.
     */
    performStaging?: pulumi.Input<boolean | undefined>;
    /**
     * Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.
     */
    protocol?: pulumi.Input<string | undefined>;
    /**
     * List of Attack Signature Ids which are disabled for this particular URL.
     */
    signatureOverridesDisables?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getWafEntityUrl.d.ts.map