import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Gets information about an existing Front Door (standard/premium) Security Policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example-cdn-frontdoor",
 *     location: "West Europe",
 * });
 * const exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile("example", {
 *     name: "example-frontdoor-profile",
 *     resourceGroupName: exampleResourceGroup.name,
 *     skuName: "Standard_AzureFrontDoor",
 * });
 * const exampleFrontdoorFirewallPolicy = new azure.cdn.FrontdoorFirewallPolicy("example", {
 *     name: "examplecdnfrontdoorfirewallpolicy",
 *     resourceGroupName: exampleResourceGroup.name,
 *     skuName: exampleFrontdoorProfile.skuName,
 *     enabled: true,
 *     mode: "Prevention",
 *     redirectUrl: "https://www.example.com",
 *     customRules: [{
 *         name: "Rule1",
 *         enabled: true,
 *         priority: 1,
 *         rateLimitDurationInMinutes: 1,
 *         rateLimitThreshold: 10,
 *         type: "MatchRule",
 *         action: "Block",
 *         matchConditions: [{
 *             matchVariable: "RemoteAddr",
 *             operator: "IPMatch",
 *             negationCondition: false,
 *             matchValues: ["192.168.1.0/24"],
 *         }],
 *     }],
 * });
 * const exampleZone = new azure.dns.Zone("example", {
 *     name: "example-frontdoor.com",
 *     resourceGroupName: exampleResourceGroup.name,
 * });
 * const exampleFrontdoorCustomDomain = new azure.cdn.FrontdoorCustomDomain("example", {
 *     name: "example-custom-domain",
 *     cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
 *     dnsZoneId: exampleZone.id,
 *     hostName: "www.example-frontdoor.com",
 *     tls: {
 *         certificateType: "ManagedCertificate",
 *         minimumTlsVersion: "TLS12",
 *     },
 * });
 * const exampleFrontdoorSecurityPolicy = new azure.cdn.FrontdoorSecurityPolicy("example", {
 *     name: "example-security-policy",
 *     cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
 *     securityPolicies: {
 *         firewall: {
 *             cdnFrontdoorFirewallPolicyId: exampleFrontdoorFirewallPolicy.id,
 *             association: {
 *                 domains: [{
 *                     cdnFrontdoorDomainId: exampleFrontdoorCustomDomain.id,
 *                 }],
 *                 patternsToMatch: "/*",
 *             },
 *         },
 *     },
 * });
 * const example = azure.cdn.getFrontdoorSecurityPolicyOutput({
 *     name: exampleFrontdoorSecurityPolicy.name,
 *     profileName: exampleFrontdoorProfile.name,
 *     resourceGroupName: exampleResourceGroup.name,
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Cdn` - 2024-02-01
 */
export declare function getFrontdoorSecurityPolicy(args: GetFrontdoorSecurityPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetFrontdoorSecurityPolicyResult>;
/**
 * A collection of arguments for invoking getFrontdoorSecurityPolicy.
 */
export interface GetFrontdoorSecurityPolicyArgs {
    /**
     * The name of the Front Door Security Policy.
     */
    name: string;
    /**
     * The name of the Front Door Profile.
     */
    profileName: string;
    /**
     * The name of the Resource Group.
     */
    resourceGroupName: string;
}
/**
 * A collection of values returned by getFrontdoorSecurityPolicy.
 */
export interface GetFrontdoorSecurityPolicyResult {
    /**
     * The ID of the Front Door Profile associated with this Front Door Security Policy.
     */
    readonly cdnFrontdoorProfileId: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly profileName: string;
    readonly resourceGroupName: string;
    /**
     * A `securityPolicies` block as defined below.
     */
    readonly securityPolicies: outputs.cdn.GetFrontdoorSecurityPolicySecurityPolicy[];
}
/**
 * Gets information about an existing Front Door (standard/premium) Security Policy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example-cdn-frontdoor",
 *     location: "West Europe",
 * });
 * const exampleFrontdoorProfile = new azure.cdn.FrontdoorProfile("example", {
 *     name: "example-frontdoor-profile",
 *     resourceGroupName: exampleResourceGroup.name,
 *     skuName: "Standard_AzureFrontDoor",
 * });
 * const exampleFrontdoorFirewallPolicy = new azure.cdn.FrontdoorFirewallPolicy("example", {
 *     name: "examplecdnfrontdoorfirewallpolicy",
 *     resourceGroupName: exampleResourceGroup.name,
 *     skuName: exampleFrontdoorProfile.skuName,
 *     enabled: true,
 *     mode: "Prevention",
 *     redirectUrl: "https://www.example.com",
 *     customRules: [{
 *         name: "Rule1",
 *         enabled: true,
 *         priority: 1,
 *         rateLimitDurationInMinutes: 1,
 *         rateLimitThreshold: 10,
 *         type: "MatchRule",
 *         action: "Block",
 *         matchConditions: [{
 *             matchVariable: "RemoteAddr",
 *             operator: "IPMatch",
 *             negationCondition: false,
 *             matchValues: ["192.168.1.0/24"],
 *         }],
 *     }],
 * });
 * const exampleZone = new azure.dns.Zone("example", {
 *     name: "example-frontdoor.com",
 *     resourceGroupName: exampleResourceGroup.name,
 * });
 * const exampleFrontdoorCustomDomain = new azure.cdn.FrontdoorCustomDomain("example", {
 *     name: "example-custom-domain",
 *     cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
 *     dnsZoneId: exampleZone.id,
 *     hostName: "www.example-frontdoor.com",
 *     tls: {
 *         certificateType: "ManagedCertificate",
 *         minimumTlsVersion: "TLS12",
 *     },
 * });
 * const exampleFrontdoorSecurityPolicy = new azure.cdn.FrontdoorSecurityPolicy("example", {
 *     name: "example-security-policy",
 *     cdnFrontdoorProfileId: exampleFrontdoorProfile.id,
 *     securityPolicies: {
 *         firewall: {
 *             cdnFrontdoorFirewallPolicyId: exampleFrontdoorFirewallPolicy.id,
 *             association: {
 *                 domains: [{
 *                     cdnFrontdoorDomainId: exampleFrontdoorCustomDomain.id,
 *                 }],
 *                 patternsToMatch: "/*",
 *             },
 *         },
 *     },
 * });
 * const example = azure.cdn.getFrontdoorSecurityPolicyOutput({
 *     name: exampleFrontdoorSecurityPolicy.name,
 *     profileName: exampleFrontdoorProfile.name,
 *     resourceGroupName: exampleResourceGroup.name,
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Cdn` - 2024-02-01
 */
export declare function getFrontdoorSecurityPolicyOutput(args: GetFrontdoorSecurityPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFrontdoorSecurityPolicyResult>;
/**
 * A collection of arguments for invoking getFrontdoorSecurityPolicy.
 */
export interface GetFrontdoorSecurityPolicyOutputArgs {
    /**
     * The name of the Front Door Security Policy.
     */
    name: pulumi.Input<string>;
    /**
     * The name of the Front Door Profile.
     */
    profileName: pulumi.Input<string>;
    /**
     * The name of the Resource Group.
     */
    resourceGroupName: pulumi.Input<string>;
}
//# sourceMappingURL=getFrontdoorSecurityPolicy.d.ts.map