import * as pulumi from "@pulumi/pulumi"; /** * Manages a Resource Policy Exemption. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const exampleResourceGroup = new azure.core.ResourceGroup("example", { * name: "group1", * location: "westus", * }); * const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", { * name: "network1", * resourceGroupName: exampleResourceGroup.name, * location: exampleResourceGroup.location, * addressSpaces: ["10.0.0.0/16"], * }); * const example = azure.policy.getPolicySetDefinition({ * displayName: "Audit machines with insecure password security settings", * }); * const exampleResourcePolicyAssignment = new azure.core.ResourcePolicyAssignment("example", { * name: "assignment1", * resourceId: exampleVirtualNetwork.id, * policyDefinitionId: example.then(example => example.id), * location: exampleResourceGroup.location, * identity: { * type: "SystemAssigned", * }, * }); * const exampleResourcePolicyExemption = new azure.core.ResourcePolicyExemption("example", { * name: "exemption1", * resourceId: exampleResourcePolicyAssignment.resourceId, * policyAssignmentId: exampleResourcePolicyAssignment.id, * exemptionCategory: "Mitigated", * }); * ``` * * ## Import * * Policy Exemptions can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:core/resourcePolicyExemption:ResourcePolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Authorization/policyExemptions/exemption1 * ``` */ export declare class ResourcePolicyExemption extends pulumi.CustomResource { /** * Get an existing ResourcePolicyExemption 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ResourcePolicyExemptionState, opts?: pulumi.CustomResourceOptions): ResourcePolicyExemption; /** * Returns true if the given object is an instance of ResourcePolicyExemption. 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 ResourcePolicyExemption; /** * A description to use for this Policy Exemption. */ readonly description: pulumi.Output; /** * A friendly display name to use for this Policy Exemption. */ readonly displayName: pulumi.Output; /** * The category of this policy exemption. Possible values are `Waiver` and `Mitigated`. */ readonly exemptionCategory: pulumi.Output; /** * The expiration date and time in UTC ISO 8601 format of this policy exemption. */ readonly expiresOn: pulumi.Output; /** * The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption. */ readonly metadata: pulumi.Output; /** * The name of the Policy Exemption. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created. */ readonly policyAssignmentId: pulumi.Output; /** * The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. */ readonly policyDefinitionReferenceIds: pulumi.Output; /** * The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ readonly resourceId: pulumi.Output; /** * Create a ResourcePolicyExemption 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: ResourcePolicyExemptionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ResourcePolicyExemption resources. */ export interface ResourcePolicyExemptionState { /** * A description to use for this Policy Exemption. */ description?: pulumi.Input; /** * A friendly display name to use for this Policy Exemption. */ displayName?: pulumi.Input; /** * The category of this policy exemption. Possible values are `Waiver` and `Mitigated`. */ exemptionCategory?: pulumi.Input; /** * The expiration date and time in UTC ISO 8601 format of this policy exemption. */ expiresOn?: pulumi.Input; /** * The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption. */ metadata?: pulumi.Input; /** * The name of the Policy Exemption. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created. */ policyAssignmentId?: pulumi.Input; /** * The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. */ policyDefinitionReferenceIds?: pulumi.Input[]>; /** * The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ resourceId?: pulumi.Input; } /** * The set of arguments for constructing a ResourcePolicyExemption resource. */ export interface ResourcePolicyExemptionArgs { /** * A description to use for this Policy Exemption. */ description?: pulumi.Input; /** * A friendly display name to use for this Policy Exemption. */ displayName?: pulumi.Input; /** * The category of this policy exemption. Possible values are `Waiver` and `Mitigated`. */ exemptionCategory: pulumi.Input; /** * The expiration date and time in UTC ISO 8601 format of this policy exemption. */ expiresOn?: pulumi.Input; /** * The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption. */ metadata?: pulumi.Input; /** * The name of the Policy Exemption. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the Policy Assignment to be exempted at the specified Scope. Changing this forces a new resource to be created. */ policyAssignmentId: pulumi.Input; /** * The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. */ policyDefinitionReferenceIds?: pulumi.Input[]>; /** * The Resource ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ resourceId: pulumi.Input; }