import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Create a new CryptoKeyVersion in a CryptoKey. The server will assign the next sequential id. If unset, state will be set to ENABLED. * Note - this resource's API doesn't support deletion. When deleted, the resource will persist * on Google Cloud even though it will be deleted from Pulumi state. */ export declare class CryptoKeyVersion extends pulumi.CustomResource { /** * Get an existing CryptoKeyVersion 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, opts?: pulumi.CustomResourceOptions): CryptoKeyVersion; /** * Returns true if the given object is an instance of CryptoKeyVersion. 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 CryptoKeyVersion; /** * The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. */ readonly algorithm: pulumi.Output; /** * Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM. */ readonly attestation: pulumi.Output; /** * The time at which this CryptoKeyVersion was created. */ readonly createTime: pulumi.Output; readonly cryptoKeyId: pulumi.Output; /** * The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED. */ readonly destroyEventTime: pulumi.Output; /** * The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED. */ readonly destroyTime: pulumi.Output; /** * The root cause of the most recent external destruction failure. Only present if state is EXTERNAL_DESTRUCTION_FAILED. */ readonly externalDestructionFailureReason: pulumi.Output; /** * ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels. */ readonly externalProtectionLevelOptions: pulumi.Output; /** * The time this CryptoKeyVersion's key material was generated. */ readonly generateTime: pulumi.Output; /** * The root cause of the most recent generation failure. Only present if state is GENERATION_FAILED. */ readonly generationFailureReason: pulumi.Output; /** * The root cause of the most recent import failure. Only present if state is IMPORT_FAILED. */ readonly importFailureReason: pulumi.Output; /** * The name of the ImportJob used in the most recent import of this CryptoKeyVersion. Only present if the underlying key material was imported. */ readonly importJob: pulumi.Output; /** * The time at which this CryptoKeyVersion's key material was most recently imported. */ readonly importTime: pulumi.Output; readonly keyRingId: pulumi.Output; readonly location: pulumi.Output; /** * The resource name for this CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. */ readonly protectionLevel: pulumi.Output; /** * Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version. */ readonly reimportEligible: pulumi.Output; /** * The current state of the CryptoKeyVersion. */ readonly state: pulumi.Output; /** * Create a CryptoKeyVersion 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: CryptoKeyVersionArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a CryptoKeyVersion resource. */ export interface CryptoKeyVersionArgs { cryptoKeyId?: pulumi.Input; /** * ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels. */ externalProtectionLevelOptions?: pulumi.Input; keyRingId: pulumi.Input; location?: pulumi.Input; project?: pulumi.Input; /** * The current state of the CryptoKeyVersion. */ state?: pulumi.Input; }