import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Key Version resource in Oracle Cloud Infrastructure Kms service.
 *
 * Gets information about the specified key version.
 *
 * 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 testKeyVersion = oci.kms.getKeyVersion({
 *     keyId: testKey.id,
 *     keyVersionId: testKeyVersionOciKmsKeyVersion.id,
 *     managementEndpoint: keyVersionManagementEndpoint,
 * });
 * ```
 */
export declare function getKeyVersion(args: GetKeyVersionArgs, opts?: pulumi.InvokeOptions): Promise<GetKeyVersionResult>;
/**
 * A collection of arguments for invoking getKeyVersion.
 */
export interface GetKeyVersionArgs {
    /**
     * The OCID of the key.
     */
    keyId: string;
    /**
     * The OCID of the key version.
     */
    keyVersionId: 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 getKeyVersion.
 */
export interface GetKeyVersionResult {
    /**
     * The OCID of the compartment that contains this key version.
     */
    readonly compartmentId: string;
    /**
     * Key reference data to be returned to the customer as a response.
     */
    readonly externalKeyReferenceDetails: outputs.Kms.GetKeyVersionExternalKeyReferenceDetail[];
    /**
     * Key version ID associated with the external key.
     */
    readonly externalKeyVersionId: string;
    /**
     * The OCID of the key version.
     */
    readonly id: string;
    /**
     * An optional property indicating whether this keyversion is generated from auto rotatation.
     */
    readonly isAutoRotated: boolean;
    /**
     * A Boolean value that indicates whether the KeyVersion belongs to primary Vault or replica Vault.
     */
    readonly isPrimary: boolean;
    /**
     * The OCID of the master encryption key associated with this key version.
     */
    readonly keyId: string;
    /**
     * The OCID of the key version.
     */
    readonly keyVersionId: string;
    readonly managementEndpoint: string;
    /**
     * The public key in PEM format. (This value pertains only to RSA and ECDSA keys.)
     */
    readonly publicKey: string;
    /**
     * KeyVersion replica details
     */
    readonly replicaDetails: outputs.Kms.GetKeyVersionReplicaDetail[];
    readonly restoredFromKeyId: string;
    /**
     * The OCID of the key version from which this key version was restored.
     */
    readonly restoredFromKeyVersionId: string;
    /**
     * The key version's current lifecycle state.  Example: `ENABLED`
     */
    readonly state: string;
    /**
     * The date and time this key version 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 to indicate when to delete the key version, 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 version.
     */
    readonly vaultId: string;
}
/**
 * This data source provides details about a specific Key Version resource in Oracle Cloud Infrastructure Kms service.
 *
 * Gets information about the specified key version.
 *
 * 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 testKeyVersion = oci.kms.getKeyVersion({
 *     keyId: testKey.id,
 *     keyVersionId: testKeyVersionOciKmsKeyVersion.id,
 *     managementEndpoint: keyVersionManagementEndpoint,
 * });
 * ```
 */
export declare function getKeyVersionOutput(args: GetKeyVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeyVersionResult>;
/**
 * A collection of arguments for invoking getKeyVersion.
 */
export interface GetKeyVersionOutputArgs {
    /**
     * The OCID of the key.
     */
    keyId: pulumi.Input<string>;
    /**
     * The OCID of the key version.
     */
    keyVersionId: pulumi.Input<string>;
    /**
     * 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<string>;
}
//# sourceMappingURL=getKeyVersion.d.ts.map