UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

124 lines (123 loc) 5.28 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see * [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version) * and * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myKeyRing = gcp.kms.getKMSKeyRing({ * name: "my-key-ring", * location: "us-central1", * }); * const myCryptoKey = myKeyRing.then(myKeyRing => gcp.kms.getKMSCryptoKey({ * name: "my-crypto-key", * keyRing: myKeyRing.id, * })); * const myCryptoKeyLatestVersion = gcp.kms.getCryptoKeyLatestVersion({ * cryptoKey: myKey.id, * }); * ``` */ export declare function getCryptoKeyLatestVersion(args: GetCryptoKeyLatestVersionArgs, opts?: pulumi.InvokeOptions): Promise<GetCryptoKeyLatestVersionResult>; /** * A collection of arguments for invoking getCryptoKeyLatestVersion. */ export interface GetCryptoKeyLatestVersionArgs { /** * The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the * `gcp.kms.CryptoKey` resource/datasource. */ cryptoKey: string; /** * The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering. * * Example filter values if filtering on state. * * * `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED". * * [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering) */ filter?: string; } /** * A collection of values returned by getCryptoKeyLatestVersion. */ export interface GetCryptoKeyLatestVersionResult { /** * The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. */ readonly algorithm: string; readonly cryptoKey: string; readonly filter?: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly name: string; /** * The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. See the [protectionLevel reference](https://cloud.google.com/kms/docs/reference/rest/v1/ProtectionLevel) for possible outputs. */ readonly protectionLevel: string; /** * If the enclosing CryptoKey has purpose `ASYMMETRIC_SIGN` or `ASYMMETRIC_DECRYPT`, this block contains details about the public key associated to this CryptoKeyVersion. Structure is documented below. */ readonly publicKeys: outputs.kms.GetCryptoKeyLatestVersionPublicKey[]; /** * The current state of the latest CryptoKeyVersion. See the [state reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions#CryptoKeyVersion.CryptoKeyVersionState) for possible outputs. */ readonly state: string; readonly version: number; } /** * Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see * [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version) * and * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myKeyRing = gcp.kms.getKMSKeyRing({ * name: "my-key-ring", * location: "us-central1", * }); * const myCryptoKey = myKeyRing.then(myKeyRing => gcp.kms.getKMSCryptoKey({ * name: "my-crypto-key", * keyRing: myKeyRing.id, * })); * const myCryptoKeyLatestVersion = gcp.kms.getCryptoKeyLatestVersion({ * cryptoKey: myKey.id, * }); * ``` */ export declare function getCryptoKeyLatestVersionOutput(args: GetCryptoKeyLatestVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCryptoKeyLatestVersionResult>; /** * A collection of arguments for invoking getCryptoKeyLatestVersion. */ export interface GetCryptoKeyLatestVersionOutputArgs { /** * The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the * `gcp.kms.CryptoKey` resource/datasource. */ cryptoKey: pulumi.Input<string>; /** * The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering. * * Example filter values if filtering on state. * * * `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED". * * [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering) */ filter?: pulumi.Input<string>; }