import * as pulumi from "@pulumi/pulumi"; /** * Manages a Managed HSM Key rotation policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.keyvault.ManagedHardwareSecurityModuleKey("example", { * name: "example-key", * managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id, * keyType: "EC-HSM", * curve: "P-521", * keyOpts: ["sign"], * }); * const exampleManagedHardwareSecurityModuleKeyRotationPolicy = new azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy("example", { * managedHsmKeyId: example.id, * expireAfter: "P60D", * timeBeforeExpiry: "P30D", * }); * ``` * * ## Import * * Managed HSM Key rotation policy can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy example https://example-hsm.managedhsm.azure.net/keys/example * ``` */ export declare class ManagedHardwareSecurityModuleKeyRotationPolicy extends pulumi.CustomResource { /** * Get an existing ManagedHardwareSecurityModuleKeyRotationPolicy 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?: ManagedHardwareSecurityModuleKeyRotationPolicyState, opts?: pulumi.CustomResourceOptions): ManagedHardwareSecurityModuleKeyRotationPolicy; /** * Returns true if the given object is an instance of ManagedHardwareSecurityModuleKeyRotationPolicy. 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 ManagedHardwareSecurityModuleKeyRotationPolicy; /** * Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`. */ readonly expireAfter: pulumi.Output; /** * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. */ readonly managedHsmKeyId: pulumi.Output; /** * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ readonly timeAfterCreation: pulumi.Output; /** * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ readonly timeBeforeExpiry: pulumi.Output; /** * Create a ManagedHardwareSecurityModuleKeyRotationPolicy 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: ManagedHardwareSecurityModuleKeyRotationPolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources. */ export interface ManagedHardwareSecurityModuleKeyRotationPolicyState { /** * Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`. */ expireAfter?: pulumi.Input; /** * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. */ managedHsmKeyId?: pulumi.Input; /** * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ timeAfterCreation?: pulumi.Input; /** * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ timeBeforeExpiry?: pulumi.Input; } /** * The set of arguments for constructing a ManagedHardwareSecurityModuleKeyRotationPolicy resource. */ export interface ManagedHardwareSecurityModuleKeyRotationPolicyArgs { /** * Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`. */ expireAfter: pulumi.Input; /** * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. */ managedHsmKeyId: pulumi.Input; /** * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ timeAfterCreation?: pulumi.Input; /** * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. */ timeBeforeExpiry?: pulumi.Input; }