import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * This data source provides details about a specific Key resource in Oracle Cloud Infrastructure Kms service. * * Gets information about the specified master encryption key. * * As a management operation, this call is subject to a Key Management limit that applies to the total number * of requests across all management read operations. Key Management might throttle this call to reject an * otherwise valid request when the total rate of management read operations exceeds 10 requests per second for * a given tenancy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testKey = oci.kms.getKey({ * keyId: testKeyOciKmsKey.id, * managementEndpoint: keyManagementEndpoint, * }); * ``` */ export declare function getKey(args: GetKeyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getKey. */ export interface GetKeyArgs { /** * The OCID of the key. */ keyId: string; /** * The service endpoint to perform management operations against. Management operations include 'Create,' 'Update,' 'List,' 'Get,' and 'Delete' operations. See Vault Management endpoint. */ managementEndpoint: string; } /** * A collection of values returned by getKey. */ export interface GetKeyResult { /** * The details of auto rotation schedule for the Key being create updated or imported. */ readonly autoKeyRotationDetails: outputs.Kms.GetKeyAutoKeyRotationDetail[]; /** * The OCID of the compartment that contains this master encryption key. */ readonly compartmentId: string; /** * The OCID of the key version used in cryptographic operations. During key rotation, the service might be in a transitional state where this or a newer key version are used intermittently. The `currentKeyVersion` property is updated when the service is guaranteed to use the new key version for all subsequent encryption operations. */ readonly currentKeyVersion: string; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: { [key: string]: string; }; readonly desiredState: string; /** * A user-friendly name for the key. It does not have to be unique, and it is changeable. Avoid entering confidential information. */ readonly displayName: string; /** * Key reference data to be returned to the customer as a response. */ readonly externalKeyReferenceDetails: outputs.Kms.GetKeyExternalKeyReferenceDetail[]; readonly externalKeyReferences: outputs.Kms.GetKeyExternalKeyReference[]; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: { [key: string]: string; }; /** * The OCID of the key. */ readonly id: string; /** * A parameter specifying whether the auto key rotation is enabled or not. */ readonly isAutoRotationEnabled: boolean; /** * A Boolean value that indicates whether the Key belongs to primary Vault or replica vault. */ readonly isPrimary: boolean; readonly keyId: string; /** * The cryptographic properties of a key. */ readonly keyShapes: outputs.Kms.GetKeyKeyShape[]; readonly managementEndpoint: string; /** * The key's protection mode indicates how the key persists and where cryptographic operations that use the key are performed. A protection mode of `HSM` means that the key persists on a hardware security module (HSM) and all cryptographic operations are performed inside the HSM. A protection mode of `SOFTWARE` means that the key persists on the server, protected by the vault's RSA wrapping key which persists on the HSM. All cryptographic operations that use a key with a protection mode of `SOFTWARE` are performed on the server. By default, a key's protection mode is set to `HSM`. You can't change a key's protection mode after the key is created or imported. A protection mode of `EXTERNAL` mean that the key persists on the customer's external key manager which is hosted externally outside of oracle. Oracle only hold a reference to that key. All cryptographic operations that use a key with a protection mode of `EXTERNAL` are performed by external key manager. */ readonly protectionMode: string; /** * Key replica details */ readonly replicaDetails: outputs.Kms.GetKeyReplicaDetail[]; /** * Details where key was backed up. */ readonly restoreFromFiles: outputs.Kms.GetKeyRestoreFromFile[]; /** * Details where key was backed up */ readonly restoreFromObjectStores: outputs.Kms.GetKeyRestoreFromObjectStore[]; /** * When flipped, triggers restore if restore options are provided. Values of 0 or 1 are supported. */ readonly restoreTrigger: boolean; /** * The OCID of the key from which this key was restored. */ readonly restoredFromKeyId: string; /** * The key's current lifecycle state. Example: `ENABLED` */ readonly state: string; /** * The date and time the key was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2018-04-03T21:10:29.600Z` */ readonly timeCreated: string; /** * An optional property indicating when to delete the key, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z` */ readonly timeOfDeletion: string; /** * The OCID of the vault that contains this key. */ readonly vaultId: string; } /** * This data source provides details about a specific Key resource in Oracle Cloud Infrastructure Kms service. * * Gets information about the specified master encryption key. * * As a management operation, this call is subject to a Key Management limit that applies to the total number * of requests across all management read operations. Key Management might throttle this call to reject an * otherwise valid request when the total rate of management read operations exceeds 10 requests per second for * a given tenancy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testKey = oci.kms.getKey({ * keyId: testKeyOciKmsKey.id, * managementEndpoint: keyManagementEndpoint, * }); * ``` */ export declare function getKeyOutput(args: GetKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getKey. */ export interface GetKeyOutputArgs { /** * The OCID of the key. */ keyId: pulumi.Input; /** * The service endpoint to perform management operations against. Management operations include 'Create,' 'Update,' 'List,' 'Get,' and 'Delete' operations. See Vault Management endpoint. */ managementEndpoint: pulumi.Input; } //# sourceMappingURL=getKey.d.ts.map