@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 5.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Defines web application firewall policy for Azure CDN.
*
* Uses Azure REST API version 2025-06-01. In version 2.x of the Azure Native provider, it used API version 2023-05-01.
*
* Other available API versions: 2023-05-01, 2023-07-01-preview, 2024-02-01, 2024-05-01-preview, 2024-06-01-preview, 2024-09-01, 2025-01-01-preview, 2025-04-15, 2025-07-01-preview, 2025-09-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native cdn [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
*/
export declare class Policy extends pulumi.CustomResource {
/**
* Get an existing Policy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Policy;
/**
* Returns true if the given object is an instance of Policy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Policy;
/**
* The Azure API version of the resource.
*/
readonly azureApiVersion: pulumi.Output<string>;
/**
* Describes custom rules inside the policy.
*/
readonly customRules: pulumi.Output<outputs.cdn.CustomRuleListResponse | undefined>;
/**
* Describes Azure CDN endpoints associated with this Web Application Firewall policy.
*/
readonly endpointLinks: pulumi.Output<outputs.cdn.CdnEndpointResponse[]>;
/**
* Gets a unique read-only string that changes whenever the resource is updated.
*/
readonly etag: pulumi.Output<string | undefined>;
/**
* Key-Value pair representing additional properties for Web Application Firewall policy.
*/
readonly extendedProperties: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* The geo-location where the resource lives
*/
readonly location: pulumi.Output<string>;
/**
* Describes managed rules inside the policy.
*/
readonly managedRules: pulumi.Output<outputs.cdn.ManagedRuleSetListResponse | undefined>;
/**
* The name of the resource
*/
readonly name: pulumi.Output<string>;
/**
* Describes policySettings for policy
*/
readonly policySettings: pulumi.Output<outputs.cdn.PolicySettingsResponse | undefined>;
/**
* Provisioning state of the WebApplicationFirewallPolicy.
*/
readonly provisioningState: pulumi.Output<string>;
/**
* Describes rate limit rules inside the policy.
*/
readonly rateLimitRules: pulumi.Output<outputs.cdn.RateLimitRuleListResponse | undefined>;
/**
* Resource status of the policy.
*/
readonly resourceState: pulumi.Output<string>;
/**
* The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.
*/
readonly sku: pulumi.Output<outputs.cdn.SkuResponse>;
/**
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
readonly systemData: pulumi.Output<outputs.cdn.SystemDataResponse>;
/**
* Resource tags.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
*/
readonly type: pulumi.Output<string>;
/**
* Create a Policy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: PolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a Policy resource.
*/
export interface PolicyArgs {
/**
* Describes custom rules inside the policy.
*/
customRules?: pulumi.Input<inputs.cdn.CustomRuleListArgs>;
/**
* Key-Value pair representing additional properties for Web Application Firewall policy.
*/
extendedProperties?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The geo-location where the resource lives
*/
location?: pulumi.Input<string>;
/**
* Describes managed rules inside the policy.
*/
managedRules?: pulumi.Input<inputs.cdn.ManagedRuleSetListArgs>;
/**
* The name of the CdnWebApplicationFirewallPolicy.
*/
policyName?: pulumi.Input<string>;
/**
* Describes policySettings for policy
*/
policySettings?: pulumi.Input<inputs.cdn.PolicySettingsArgs>;
/**
* Describes rate limit rules inside the policy.
*/
rateLimitRules?: pulumi.Input<inputs.cdn.RateLimitRuleListArgs>;
/**
* The name of the resource group. The name is case insensitive.
*/
resourceGroupName: pulumi.Input<string>;
/**
* The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.
*/
sku: pulumi.Input<inputs.cdn.SkuArgs>;
/**
* Resource tags.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}