"list"
******

* Description

* Usage

* Required Parameters

* Optional Parameters

* Global Parameters

* Example using required parameter


Description
===========

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.

The top level –endpoint parameter must be supplied for this operation.


Usage
=====

   oci kms management key list [OPTIONS]


Required Parameters
===================

--compartment-id, -c [text]

The OCID of the compartment.


Optional Parameters
===================

--algorithm [text]

The algorithm used by a key’s key versions to encrypt or decrypt data.
Currently, support includes AES, RSA, and ECDSA algorithms.

Accepted values are:

   AES, ECDSA, RSA

--all

Fetches all pages of results. If you provide this option, then you
cannot provide the "--limit" option.

--curve-id [text]

The curve ID of the keys. (This pertains only to ECDSA keys.)

Accepted values are:

   NIST_P256, NIST_P384, NIST_P521

--from-json [text]

Provide input to this command as a JSON document from a file using the
file://path-to/file syntax.

The "--generate-full-command-json-input" option can be used to
generate a sample json file to be used with this command option. The
key names are pre-populated and match the command option names
(converted to camelCase format, e.g. compartment-id –> compartmentId),
while the values of the keys need to be populated by the user before
using the sample file as an input to this command. For any command
option that accepts multiple values, the value of the key can be a
JSON array.

Options can still be provided on the command line. If an option exists
in both the JSON document and the command line then the command line
specified value will be used.

For examples on usage of this option, please see our “using CLI with
advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Conte
nt/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--length [integer]

The length of the key in bytes, expressed as an integer. Supported
values include 16, 24, or 32.

--limit [integer]

The maximum number of items to return in a paginated “List” call.

--page [text]

The value of the *opc-next-page* response header from the previous
“List” call.

--page-size [integer]

When fetching results, the number of results to fetch per call. Only
valid when used with "--all" or "--limit", and ignored otherwise.

--protection-mode [text]

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.

Accepted values are:

   EXTERNAL, HSM, SOFTWARE

--sort-by [text]

The field to sort by. You can specify only one sort order. The default
order for *TIMECREATED* is descending. The default order for
*DISPLAYNAME* is ascending.

Accepted values are:

   DISPLAYNAME, TIMECREATED

--sort-order [text]

The sort order to use, either ascending (*ASC*) or descending
(*DESC*).

Accepted values are:

   ASC, DESC


Global Parameters
=================

Use "oci --help" for help on global parameters.

"--auth-purpose", "--auth", "--cert-bundle", "--cli-auto-prompt", "--
cli-rc-file", "--config-file", "--connection-timeout", "--debug", "--
defaults-file", "--endpoint", "--generate-full-command-json-input", "
--generate-param-json-input", "--help", "--latest-version", "--max-
retries", "--no-retry", "--opc-client-request-id", "--opc-request-id",
"--output", "--profile", "--proxy", "--query", "--raw-output", "--
read-timeout", "--realm-specific-endpoint", "--region", "--release-
info", "--request-id", "--version", "-?", "-d", "-h", "-i", "-v"


Example using required parameter
================================

Copy the following CLI commands into a file named example.sh. Run the
command by typing “bash example.sh” and replacing the example
parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-
like shell. You need to set up the OCI configuration and appropriate
security policies before trying the examples.

       export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/kms/management/key/list.html#cmdoption-compartment-id

       oci kms management key list --compartment-id $compartment_id
