"create"
********

* Description

* Usage

* Required Parameters

* Optional Parameters

* Global Parameters

* Example using required parameter


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

Creates a Globally distributed database.


Usage
=====

   oci distributed-database-v26 distributed-db-service distributed-database create [OPTIONS]


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

--catalog-details [complex type]

Collection of catalog details for the Globally distributed database.
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.

--character-set [text]

The character set for the database.

--compartment-id, -c [text]

The OCID of the Globally distributed database compartment.

--database-version [text]

Oracle Database version for the shards and catalog used in Globally
distributed database.

--display-name [text]

The display name of the Globally distributed database.

--listener-port [integer]

The listener port number for the Globally distributed database. The
listener port number has to be unique for a customer tenancy across
all distributed databases. Same port number should not be re-used for
any other distributed database.

--ncharacter-set [text]

The national character set for the database.

--ons-port-local [integer]

The ons local port number for the Globally distributed database. The
onsPortLocal has to be unique for a customer tenancy across all
distributed databases. Same port number should not be re-used for any
other distributed database.

--ons-port-remote [integer]

The ons remote port number for the Globally distributed database. The
onsPortRemote has to be unique for a customer tenancy across all
distributed databases. Same port number should not be re-used for any
other distributed database.

--prefix [text]

Unique name prefix for the Globally distributed databases. Only alpha-
numeric values are allowed. First character has to be a letter
followed by any combination of letter and number.

--private-endpoint-ids [complex type]

The collection of OCID of the private endpoints associated with the
Globally distributed database. 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.


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

--composite-data-guard-shard-spaces [complex type]

Collection of composite data guard shard spaces.

This option is a JSON list with items of type
CreateCompositeDataGuardShardSpaceDetails.  For documentation on
CreateCompositeDataGuardShardSpaceDetails please see our API
reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbs
ervice/20260101/datatypes/CreateCompositeDataGuardShardSpaceDetails.
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.

--composite-raft-shard-spaces [complex type]

Collection of composite raft shards.

This option is a JSON list with items of type
CreateCompositeRaftShardSpaceDetails.  For documentation on
CreateCompositeRaftShardSpaceDetails please see our API reference:
https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/2026
0101/datatypes/CreateCompositeRaftShardSpaceDetails. 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.

--db-backup-config [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.

--defined-tags [complex type]

Defined tags for this resource. Each key is predefined and scoped to a
namespace. 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.

--freeform-tags [complex type]

Simple key-value pair that is 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

--gsm-ssh-public-key [text]

The SSH public key for Global service manager instances.

--listener-port-tls [integer]

The TLS listener port number for the Globally distributed database.
The TLS listener port number has to be unique for a customer tenancy
across all distributed databases. Same port number should not be re-
used for any other distributed database. For EXADB based distributed
databases, tls is not supported hence the listenerPortTls is not
needed to be provided in create payload.

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

--notification-topic-ids [complex type]

The collection of OCID for the notification topics associated with the
globally distributed database. 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.

--scan-listener-port [integer]

TCP SCAN listener port for new clusters to be created. Applicable only
when shard and catalog source types are XS_NEW_VAULT_AND_CLUSTER or
XS_NEW_CLUSTER. Defaults to 1521 when not provided.

--system-chunk-count [integer]

Count of chunks associated with system raft clusters or system data
guard databases.

--system-data-guard-databases [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.

--system-raft-clusters [complex type]

Collection of system raft clusters.

This option is a JSON list with items of type
CreateSystemRaftClusterDetails.  For documentation on
CreateSystemRaftClusterDetails please see our API reference:
https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/2026
0101/datatypes/CreateSystemRaftClusterDetails. 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.

--system-raft-replication-unit-count [integer]

Number of replication units associated with system raft clusters.

--user-shard-spaces [complex type]

Collection of user defined shard spaces.

This option is a JSON list with items of type
CreateUserShardSpaceDetails.  For documentation on
CreateUserShardSpaceDetails please see our API reference:
https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/2026
0101/datatypes/CreateUserShardSpaceDetails. 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.

--vcn-nsg-ids [complex type]

The list of network security group (NSG) details to be associated with
the distributed database.

This option is a JSON list with items of type VcnNsgIdsDetails.  For
documentation on VcnNsgIdsDetails please see our API reference:
https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/2026
0101/datatypes/VcnNsgIdsDetails. 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.

--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" ACCEPTED
"--wait-for-state" NEEDS_ATTENTION 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, NEEDS_ATTENTION, SUCCEEDED, WAITING

--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", "--enable-dual-stack", "--enable-propagation", "--
endpoint", "--federation-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 and paste the following example into a JSON file, replacing the
example parameters with your own.

       oci distributed-database-v26 distributed-db-service distributed-database create --generate-param-json-input catalog-details > catalog-details.json
       oci distributed-database-v26 distributed-db-service distributed-database create --generate-param-json-input private-endpoint-ids > private-endpoint-ids.json

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 character_set=<substitute-value-of-character_set> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-character-set
       export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-compartment-id
       export database_version=<substitute-value-of-database_version> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-database-version
       export display_name=<substitute-value-of-display_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-display-name
       export listener_port=<substitute-value-of-listener_port> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-listener-port
       export ncharacter_set=<substitute-value-of-ncharacter_set> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ncharacter-set
       export ons_port_local=<substitute-value-of-ons_port_local> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ons-port-local
       export ons_port_remote=<substitute-value-of-ons_port_remote> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ons-port-remote
       export prefix=<substitute-value-of-prefix> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-prefix

       oci distributed-database-v26 distributed-db-service distributed-database create --catalog-details file://catalog-details.json --character-set $character_set --compartment-id $compartment_id --database-version $database_version --display-name $display_name --listener-port $listener_port --ncharacter-set $ncharacter_set --ons-port-local $ons_port_local --ons-port-remote $ons_port_remote --prefix $prefix --private-endpoint-ids file://private-endpoint-ids.json
