import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This data source provides the list of Keys in Oracle Cloud Infrastructure Kms service. * * Lists the master encryption keys in the specified vault and compartment. * * 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 testKeys = oci.kms.getKeys({ * compartmentId: compartmentId, * managementEndpoint: keyManagementEndpoint, * algorithm: keyAlgorithm, * length: Number(keyLength), * curveId: testCurve.id, * protectionMode: keyProtectionMode, * }); * ``` */ export declare function getKeys(args: GetKeysArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getKeys. */ export interface GetKeysArgs { /** * The algorithm used by a key's key versions to encrypt or decrypt data. Currently, support includes AES, RSA, and ECDSA algorithms. */ algorithm?: string; /** * The OCID of the compartment. */ compartmentId: string; /** * The curve ID of the keys. (This pertains only to ECDSA keys.) */ curveId?: string; filters?: inputs.Kms.GetKeysFilter[]; /** * The length of the key in bytes, expressed as an integer. Supported values include 16, 24, or 32. */ length?: number; /** * 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 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. 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. */ protectionMode?: string; } /** * A collection of values returned by getKeys. */ export interface GetKeysResult { /** * The algorithm used by a key's key versions to encrypt or decrypt. Only AES algorithm is supported for `External` keys. */ readonly algorithm?: string; /** * The OCID of the compartment that contains this master encryption key. */ readonly compartmentId: string; /** * Supported curve IDs for ECDSA keys. */ readonly curveId?: string; readonly filters?: outputs.Kms.GetKeysFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The list of keys. */ readonly keys: outputs.Kms.GetKeysKey[]; /** * The length of the key in bytes, expressed as an integer. Supported values include the following: * * AES: 16, 24, or 32 * * RSA: 256, 384, or 512 * * ECDSA: 32, 48, or 66 */ readonly length?: number; 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; } /** * This data source provides the list of Keys in Oracle Cloud Infrastructure Kms service. * * Lists the master encryption keys in the specified vault and compartment. * * 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 testKeys = oci.kms.getKeys({ * compartmentId: compartmentId, * managementEndpoint: keyManagementEndpoint, * algorithm: keyAlgorithm, * length: Number(keyLength), * curveId: testCurve.id, * protectionMode: keyProtectionMode, * }); * ``` */ export declare function getKeysOutput(args: GetKeysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getKeys. */ export interface GetKeysOutputArgs { /** * The algorithm used by a key's key versions to encrypt or decrypt data. Currently, support includes AES, RSA, and ECDSA algorithms. */ algorithm?: pulumi.Input; /** * The OCID of the compartment. */ compartmentId: pulumi.Input; /** * The curve ID of the keys. (This pertains only to ECDSA keys.) */ curveId?: pulumi.Input; filters?: pulumi.Input[] | undefined>; /** * The length of the key in bytes, expressed as an integer. Supported values include 16, 24, or 32. */ length?: 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; /** * A 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. 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. */ protectionMode?: pulumi.Input; } //# sourceMappingURL=getKeys.d.ts.map