import * as pulumi from "@pulumi/pulumi"; /** * Manages a Resource Group 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: "resourceGroup1", * location: "westus", * }); * const example = azure.policy.getPolicyDefintion({ * displayName: "Allowed locations", * }); * const exampleResourceGroupPolicyAssignment = new azure.core.ResourceGroupPolicyAssignment("example", { * name: "exampleAssignment", * resourceGroupId: exampleResourceGroup.id, * policyDefinitionId: example.then(example => example.id), * parameters: pulumi.jsonStringify({ * listOfAllowedLocations: { * value: [exampleResourceGroup.location], * }, * }), * }); * const exampleResourceGroupPolicyExemption = new azure.core.ResourceGroupPolicyExemption("example", { * name: "exampleExemption", * resourceGroupId: exampleResourceGroup.id, * policyAssignmentId: exampleResourceGroupPolicyAssignment.id, * exemptionCategory: "Mitigated", * }); * ``` * * ## Import * * Policy Exemptions can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:core/resourceGroupPolicyExemption:ResourceGroupPolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Authorization/policyExemptions/exemption1 * ``` */ export declare class ResourceGroupPolicyExemption extends pulumi.CustomResource { /** * Get an existing ResourceGroupPolicyExemption 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?: ResourceGroupPolicyExemptionState, opts?: pulumi.CustomResourceOptions): ResourceGroupPolicyExemption; /** * Returns true if the given object is an instance of ResourceGroupPolicyExemption. 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 ResourceGroupPolicyExemption; /** * 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 Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ readonly resourceGroupId: pulumi.Output; /** * Create a ResourceGroupPolicyExemption 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: ResourceGroupPolicyExemptionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ResourceGroupPolicyExemption resources. */ export interface ResourceGroupPolicyExemptionState { /** * 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 Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ resourceGroupId?: pulumi.Input; } /** * The set of arguments for constructing a ResourceGroupPolicyExemption resource. */ export interface ResourceGroupPolicyExemptionArgs { /** * 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 Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ resourceGroupId: pulumi.Input; }