@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 5 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.
*
* Uses Azure REST API version 2024-02-01.
*
* Other available API versions: 2019-03-01, 2019-10-01, 2020-04-01, 2020-11-01, 2021-06-01, 2022-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native frontdoor [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.frontdoor.CustomRuleListResponse | undefined>;
/**
* Gets a unique read-only string that changes whenever the resource is updated.
*/
readonly etag: pulumi.Output<string | undefined>;
/**
* Describes Frontend Endpoints associated with this Web Application Firewall policy.
*/
readonly frontendEndpointLinks: pulumi.Output<outputs.frontdoor.FrontendEndpointLinkResponse[]>;
/**
* Resource location.
*/
readonly location: pulumi.Output<string | undefined>;
/**
* Describes managed rules inside the policy.
*/
readonly managedRules: pulumi.Output<outputs.frontdoor.ManagedRuleSetListResponse | undefined>;
/**
* Resource name.
*/
readonly name: pulumi.Output<string>;
/**
* Describes settings for the policy.
*/
readonly policySettings: pulumi.Output<outputs.frontdoor.PolicySettingsResponse | undefined>;
/**
* Provisioning state of the policy.
*/
readonly provisioningState: pulumi.Output<string>;
readonly resourceState: pulumi.Output<string>;
/**
* Describes Routing Rules associated with this Web Application Firewall policy.
*/
readonly routingRuleLinks: pulumi.Output<outputs.frontdoor.RoutingRuleLinkResponse[]>;
/**
* Describes Security Policy associated with this Web Application Firewall policy.
*/
readonly securityPolicyLinks: pulumi.Output<outputs.frontdoor.SecurityPolicyLinkResponse[]>;
/**
* The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified.
*/
readonly sku: pulumi.Output<outputs.frontdoor.SkuResponse | undefined>;
/**
* Resource tags.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Resource type.
*/
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.frontdoor.CustomRuleListArgs>;
/**
* Resource location.
*/
location?: pulumi.Input<string>;
/**
* Describes managed rules inside the policy.
*/
managedRules?: pulumi.Input<inputs.frontdoor.ManagedRuleSetListArgs>;
/**
* The name of the Web Application Firewall Policy.
*/
policyName?: pulumi.Input<string>;
/**
* Describes settings for the policy.
*/
policySettings?: pulumi.Input<inputs.frontdoor.PolicySettingsArgs>;
/**
* Name of the Resource group within the Azure subscription.
*/
resourceGroupName: pulumi.Input<string>;
/**
* The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified.
*/
sku?: pulumi.Input<inputs.frontdoor.SkuArgs>;
/**
* Resource tags.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}