"update"
********

* Description

* Usage

* Required Parameters

* Optional Parameters

* Global Parameters

* Example using required parameter


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

Update the configuration of a DB System.

Updating different fields in the DB System will have different results
on the uptime of the DB System. For example, changing the displayName
of a DB System will take effect immediately, but changing the shape of
a DB System is an asynchronous operation that involves provisioning
new Compute resources, pausing the DB System and migrating storage
before making the DB System available again.


Usage
=====

   oci mysql db-system update [OPTIONS]


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

--db-system-id [text]

The DB System OCID.


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

--admin-password [text]

The password for the administrative user. The password must be between
8 and 32 characters long, and must contain at least 1 numeric
character, 1 lowercase character, 1 uppercase character, and 1 special
(nonalphanumeric) character.

--admin-username [text]

The username for the administrative user for the MySQL Instance.

--availability-domain [text]

The availability domain on which to deploy the Read/Write endpoint.
This defines the preferred primary instance.

In a failover scenario, the Read/Write endpoint is redirected to one
of the other availability domains and the MySQL instance in that
domain is promoted to the primary instance. This redirection does not
affect the IP address of the DB System in any way.

For a standalone DB System, this defines the availability domain in
which the DB System is placed.

--backup-policy [complex type]

This is a complex type whose value must be valid JSON. The value can
be provided as a string on the command line or passed in as a file
using the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

--configuration-id [text]

The OCID of the Configuration to be used for Instances in this DB
System.

--crash-recovery [text]

Whether to run the DB System with InnoDB Redo Logs and the Double
Write Buffer enabled or disabled, and whether to enable or disable
syncing of the Binary Logs.

Accepted values are:

   DISABLED, ENABLED

--data-storage-size-in-gbs [integer]

Expands the DB System’s storage to the specified value. Only supports
values larger than the current DB System’s storage size.

DB Systems with an initial storage size of 400 GB or less can be
expanded up to 32 TB. DB Systems with an initial storage size between
401-800 GB can be expanded up to 64 TB. DB Systems with an initial
storage size between 801-1200 GB can be expanded up to 96 TB. DB
Systems with an initial storage size of 1201 GB or more can be
expanded up to 128 TB.

It is not possible to decrease data storage size.

--database-management [text]

Whether to enable monitoring via the Database Management service.

Accepted values are:

   DISABLED, ENABLED

--defined-tags [complex type]

Usage of predefined tag keys. These predefined keys are scoped to
namespaces. Example: *{“foo-namespace”: {“bar-key”: “value”}}* This is
a complex type whose value must be valid JSON. The value can be
provided as a string on the command line or passed in as a file using
the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

--deletion-policy [complex type]

This is a complex type whose value must be valid JSON. The value can
be provided as a string on the command line or passed in as a file
using the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

--description [text]

User-provided data about the DB System.

--display-name [text]

The user-friendly name for the DB System. It does not have to be
unique.

--fault-domain [text]

The fault domain on which to deploy the Read/Write endpoint. This
defines the preferred primary instance.

In a failover scenario, the Read/Write endpoint is redirected to one
of the other fault domains and the MySQL instance in that domain is
promoted to the primary instance. This redirection does not affect the
IP address of the DB System in any way.

For a standalone DB System, this defines the fault domain in which the
DB System is placed.

--force

Perform update without prompting for confirmation.

--freeform-tags [complex type]

Simple key-value pair applied without any predefined name, type or
scope. Exists for cross-compatibility only. Example: *{“bar-key”:
“value”}* This is a complex type whose value must be valid JSON. The
value can be provided as a string on the command line or passed in as
a file using the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

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

--hostname-label [text]

The hostname for the primary endpoint of the DB System. Used for DNS.
The value is the hostname portion of the primary private IP’s fully
qualified domain name (FQDN) (for example, “dbsystem-1” in FQDN
“dbsystem-1.subnet123.vcn1.oraclevcn.com”). Must be unique across all
VNICs in the subnet and comply with RFC 952 and RFC 1123.

--if-match [text]

For optimistic concurrency control. In the PUT or DELETE call for a
resource, set the *If-Match* header to the value of the etag from a
previous GET or POST response for that resource. The resource will be
updated or deleted only if the etag you provide matches the resource’s
current etag value.

--ip-address [text]

The IP address the DB System should be configured to listen on the
provided subnet. It must be a free private IP address within the
subnet’s CIDR. If you don’t specify a value, Oracle automatically
assigns a private IP address from the subnet. This should be a
“dotted-quad” style IPv4 address.

--is-highly-available [boolean]

Specifies if the DB System is highly available.

Set to true to enable high availability. Two secondary MySQL instances
are created and placed in the unused availability or fault domains,
depending on your region and subnet type. Set to false to disable high
availability. The secondary MySQL instances are removed and the MySQL
instance in the preferred location is used.

--maintenance [complex type]

This is a complex type whose value must be valid JSON. The value can
be provided as a string on the command line or passed in as a file
using the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

--max-wait-seconds [integer]

The maximum time to wait for the work request to reach the state
defined by "--wait-for-state". Defaults to 1200 seconds.

--mysql-version [text]

The specific MySQL version identifier.

--port [integer]

The port for primary endpoint of the DB System to listen on.

--port-x [integer]

The TCP network port on which X Plugin listens for connections. This
is the X Plugin equivalent of port.

--secure-connections [complex type]

This is a complex type whose value must be valid JSON. The value can
be provided as a string on the command line or passed in as a file
using the file://path/to/file syntax.

The "--generate-param-json-input" option can be used to generate an
example of the JSON which must be provided. We recommend storing this
example in a file, modifying it as needed and then passing it back in
via the file:// syntax.

--shape-name [text]

The shape of the DB System. The shape determines resources allocated
to the DB System - CPU cores and memory for VM shapes; CPU cores,
memory and storage for non-VM (or bare metal) shapes. To get a list of
shapes, use the ListShapes operation.

Changes in Shape will result in a downtime as the MySQL DB System is
migrated to the new Compute instance.

--subnet-id [text]

The OCID of the subnet the DB System is associated with.

--wait-for-state [text]

This operation asynchronously creates, modifies or deletes a resource
and uses a work request to track the progress of the operation.
Specify this option to perform the action and then wait until the work
request reaches a certain state. Multiple states can be specified,
returning on the first state. For example, "--wait-for-state"
SUCCEEDED "--wait-for-state" FAILED would return on whichever
lifecycle state is reached first. If timeout is reached, a return code
of 2 is returned. For any other error, a return code of 1 is returned.

Accepted values are:

   ACCEPTED, CANCELED, CANCELING, FAILED, IN_PROGRESS, SUCCEEDED

--wait-interval-seconds [integer]

Check every "--wait-interval-seconds" to see whether the work request
has reached the state defined by "--wait-for-state". Defaults to 30
seconds.


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/mysql/db-system/create.html#cmdoption-compartment-id
       export shape_name=<substitute-value-of-shape_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/mysql/db-system/create.html#cmdoption-shape-name
       export subnet_id=<substitute-value-of-subnet_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/mysql/db-system/create.html#cmdoption-subnet-id

       db_system_id=$(oci mysql db-system create --compartment-id $compartment_id --shape-name $shape_name --subnet-id $subnet_id --query data.id --raw-output)

       oci mysql db-system update --db-system-id $db_system_id
