import * as pulumi from "@pulumi/pulumi"; /** * Manages a Subscription Policy Exemption. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = azure.core.getSubscription({}); * const exampleGetPolicySetDefinition = azure.policy.getPolicySetDefinition({ * displayName: "Audit machines with insecure password security settings", * }); * const exampleSubscriptionPolicyAssignment = new azure.core.SubscriptionPolicyAssignment("example", { * name: "exampleAssignment", * subscriptionId: example.then(example => example.id), * policyDefinitionId: exampleGetPolicySetDefinition.then(exampleGetPolicySetDefinition => exampleGetPolicySetDefinition.id), * location: "westus", * identity: { * type: "SystemAssigned", * }, * }); * const exampleSubscriptionPolicyExemption = new azure.core.SubscriptionPolicyExemption("example", { * name: "exampleExemption", * subscriptionId: example.then(example => example.id), * policyAssignmentId: exampleSubscriptionPolicyAssignment.id, * exemptionCategory: "Mitigated", * }); * ``` * * ## Import * * Policy Exemptions can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:core/subscriptionPolicyExemption:SubscriptionPolicyExemption exemption1 /subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/policyExemptions/exemption1 * ``` */ export declare class SubscriptionPolicyExemption extends pulumi.CustomResource { /** * Get an existing SubscriptionPolicyExemption 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?: SubscriptionPolicyExemptionState, opts?: pulumi.CustomResourceOptions): SubscriptionPolicyExemption; /** * Returns true if the given object is an instance of SubscriptionPolicyExemption. 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 SubscriptionPolicyExemption; /** * 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 Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ readonly subscriptionId: pulumi.Output; /** * Create a SubscriptionPolicyExemption 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: SubscriptionPolicyExemptionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SubscriptionPolicyExemption resources. */ export interface SubscriptionPolicyExemptionState { /** * 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 Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ subscriptionId?: pulumi.Input; } /** * The set of arguments for constructing a SubscriptionPolicyExemption resource. */ export interface SubscriptionPolicyExemptionArgs { /** * 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 Subscription ID where the Policy Exemption should be applied. Changing this forces a new resource to be created. */ subscriptionId: pulumi.Input; }