"reencrypt"
***********

* Description

* Usage

* Required Parameters

* Optional Parameters

* Global Parameters

* Example using required parameter


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

Re-encrypts the data encryption keys that encrypt the object and its
chunks. By default, when you create a bucket, the Object Storage
service manages the master encryption key used to encrypt each
object’s data encryption keys. The encryption mechanism that you
specify for the bucket applies to the objects it contains.

You can alternatively employ one of these encryption strategies for an
object:

* You can assign a key that you created and control through the Oracle
  Cloud Infrastructure Vault service.

* You can encrypt an object using your own encryption key. The key you
  supply is known as a customer-provided encryption key (SSE-C).


Usage
=====

   oci os object reencrypt [OPTIONS]


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

--bucket-name, -bn [text]

The name of the bucket. Avoid entering confidential information.
Example: *my-new-bucket1*

--object-name, -on, --name [text]

The name of the object. Avoid entering confidential information.
Example: *test/object1.log*


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

--encryption-key-file [filename]

A file containing the base64-encoded string of the AES-256 encryption
key associated with the object.

--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

--kms-key-id [text]

The OCID of the master encryption key used to call the Vault service
to re-encrypt the data encryption keys associated with the object and
its chunks. If the kmsKeyId value is empty, whether null or an empty
string, the API will perform re-encryption by using the kmsKeyId
associated with the bucket or the master encryption key managed by
Oracle, depending on the bucket encryption mechanism.

--namespace-name, --namespace, -ns [text]

The Object Storage namespace used for the request. If not provided,
this parameter will be obtained internally using a call to ‘oci os ns
get’

--source-encryption-key-file [filename]

A file containing the base64-encoded string of the AES-256 encryption
key associated with the source object.

--version-id [text]

VersionId used to identify a particular version of the object


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", "--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 bucket_name=<substitute-value-of-bucket_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/os/object/reencrypt.html#cmdoption-bucket-name
       export object_name=<substitute-value-of-object_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/os/object/reencrypt.html#cmdoption-object-name

       oci os object reencrypt --bucket-name $bucket_name --object-name $object_name
