@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
124 lines (123 loc) • 5.28 kB
TypeScript
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>;
}