Oracle Cloud Infrastructure Documentation

Using the CLI

This topic describes how to use the CLI to access Oracle Cloud Infrastructure and carry out service-related tasks. This topic assumes that you have configured the CLI and are ready to start using it.

Tip

Getting Started with the Command Line Interface provides an end-to-end walk-through of using the CLI to launch an instance.

Starting a CLI Session

MacOS, Linux, and Unix

To start a CLI session, run the following commands.

  1. Open a terminal.
  2. Change the working directory.

    cd myvirtualspaces/virtualenvs/cli-testing/bin
  3. Run the activate batch file.

    source activate

To stop using the CLI, run the following command in a terminal.

deactivate

Windows

To start a CLI session, run the following commands.

  1. Open the Command Prompt using the Run as administrator option.
  2. Change the working directory.

    cd myvirtualspaces/virtualenvs/cli-testing/Scripts
  3. Run the activate batch file.

    activate

To stop using the CLI, run the following command from the command line.

deactivate

Warning

Avoid entering confidential information when providing resource names, descriptions, or other values that may expose sensitive information.

Command Line Syntax

Most commands must specify a service, followed by a resource type and then an action. The basic command line syntax is:

oci <service> <type> <action> <options>

For example, this syntax is applied as follows:

  • compute is the <service>
  • instance is the resource <type>
  • launch is the <action>, and
  • the rest of the command string consists of <options>.

The following command to launch an instance shows a typical command line construct.

oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaal3gzijdlieqeyg35nz5zxil26astxxhqol2pgeyqdrggnx7jnhwa --shape "VM.Standard1.1"   --display-name "Instance 1 for sandbox" --image-id ocid1.image.oc1.phx.aaaaaaaaqutj4qjxihpl4mboabsa27mrpusygv6gurp47kat5z7vljmq3puq --subnet-id  ocid1.subnet.oc1.phx.aaaaaaaaypsr25bzjmjyn6xwgkcrgxd3dbhiha6lodzus3gafscirbhj5bpa
Warning

In the previous example, you can provide a friendly name for the instance using the --display-name option. Avoid entering confidential information when providing resource names or descriptions.

Basic Examples

This section provides examples of basic operations using the CLI.

Note

Using Environment Variables for OCIDs

Several of the CLI examples use environment variables for OCIDs, such as:

  • $T for a tenancy OCID
  • $C for a compartment OCID

For example:

T=ocid1.tenancy.oc1..aaaaaaaaba3pv6wm2ytdrwrx32uzr4h25vkcr4jqae5f15p2b2qstifsfdsq
C=ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga

To get a namespace, run the following command.

oci os ns get

To list compartments, run the following command.

oci iam compartment list -c $T

To get a list of buckets, run the following command.

oci os bucket list -ns mynamespace --compartment-id $C

To list users and limit the output, run the following command.

oci iam user list --compartment-id $T --limit 5

To add a user to a group, run the following command.

oci iam group add-user --user-id ocid1.user.oc1..aaabcaaaxkkhhtmghvqqq7rgvzwuj3drwmtlsgz6sbfo7y4uc5sprzli377q --group-id ocid1.group.oc1..aaabcaaa66plootq6uuwwxhfdw2lsdqtgeb6l4pjsv5eeuenxrauujj35b7b

Getting Help with Commands

You can get help for any command using --help, -h, or -?. For example:

oci --help
oci os bucket -h
oci os bucket create -?

Viewing all the CLI Help

You can view the command line help.

Determining the Installed Version of the CLI

To get the installed version of the CLI, run the following command.

oci --version

Using Dates and Times in CLI Commands

The CLI supports the following accepted date formats.

  • UTC with milliseconds

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T20:30:00.123Z
  • UTC without milliseconds

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T20:30:00Z
  • UTC with minute precision

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T20:30Z
  • Timezone with milliseconds

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T12:30:00.456-08:00
  • Timezone without milliseconds

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T12:30:00-08:00
  • Timezone with offset with minute precision

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T12:35-08:00
  • Date Only (This date will be taken as midnight UTC of that day)

    Format: YYYY-MM-DD, Example: 2017-09-15
  • Epoch seconds

    Example: 1412195400

Note

In our datetime formats, the T can be replaced with a space. For example, both "2017-09-15 20:30:00.123Z" and 2017-09-15T20:30:00.123Z are acceptable. (Note that if you do not include the T, you must wrap the value in quotes.) We also support time zones with and without the colon. Both +10:00 and +1000 are acceptable.

Managing CLI Input and Output

The CLI provides several options for managing command input and output.

Passing Complex Input

Complex input, such as arrays and objects with more than one value, are passed in JSON format and can be provided as a string at the command line, as a file, or as a command line string and as a file.

MacOS, Linux, or Unix

The following command shows how to pass two values for the --metadata object.

oci os bucket create -ns mynamespace --name mybucket --metadata '{"key1":"value1","key2":"value2"}' --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga

Windows

On Windows, to pass complex input to the CLI as a JSON string, you must enclose the entire block in double quotes. Inside the block, each double quote for the key and value strings must be escaped with a backslash (\) character.

The following command shows how to pass two values for the --metadata object on Windows.

oci os bucket create -ns mynamespace --name mybucket --metadata "{\"key1\":\"value1\",\"key2\":\"value2\"}" --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga
Note

JSON Errors

The error message "Parameter '<PARAMETER NAME>' must be in JSON format." indicates that the value you passed for the parameter with name "PARAMETER NAME" was not valid JSON. This error is typically a result of the JSON string not being escaped correctly.

For more information about using JSON strings, see Advanced JSON Options

Format Output as a Table

By default, all responses to a command are returned in JSON format. For example, a response like the following is returned when you issue the command to get a list of regions.

{
  "data": [
    {
      "key": "FRA",
      "name": "eu-frankfurt-1"
    },
    {
      "key": "IAD",
      "name": "us-ashburn-1"
    },
    {
      "key": "ICN",
      "name": "ap-seoul-1"
    },
    {
      "key": "PHX",
      "name": "us-phoenix-1"
    },
    {
      "key": "LHR",
      "name": "uk-london-1"
    },
    {
      "key": "NRT",
      "name": "ap-tokyo-1"
    },			
    {
      "key": "YYZ",
      "name": "ca-toronto-1"
    }				
  ]
}

In some cases, readability can become an issue, which is easily resolved by formatting a response as a table. To get a response to a command formatted as a table, run the following command.

oci iam region list --output table

The following sample list of regions is returned as a two column table.


+-----+----------------+
| key | name           |
+-----+----------------+
| FRA | eu-frankfurt-1 |
| IAD | us-ashburn-1   |
| ICN | ap-seoul-1     |
| PHX | us-phoenix-1   |
| NRT | ap-tokyo-1     |				
| LHR | uk-london-1    |
| YYZ | ca-toronto-1   |  
+-----+----------------+

Filter Output

You can filter output using the JMESPath query option for JSON. Filtering is very useful when dealing with large amounts of output. For example, run the following command with the output table option to get a list of images.

oci compute image list -c ocid1.compartment.oc1..aaaaaaaapxgklgmujxjzx2ypptfjrcieq7rrob2u2zbesh3wlafsgthhqtea --output table

The image information is returned in table format, but too much data is returned, which overflows the width of the terminal. In addition, you might not need all the information that's returned.


| base-image-id | compartment-id | create-image-allowed | display-name                                            | id | lifecycle-state | operating-system | operating-system-version | time-created                     |
+---------------+----------------+----------------------+---------------------------------------------------------+----------------------------------------------------------------------------------+-----------------+------------------+--------------------------+----------------------------------+| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid
1.image.oc1.phx.aaaaaaaab2xgy6bijtudhsgsbgns6zwfqnkdb2bp4l4qap7e4mehv6bv3qca | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-07-25T23:59:59.311000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid
1.image.oc1.phx.aaaaaaaa53cliasgvqmutflwqkafbro2y4ywjebci5szc4eus5byy2e2b7ua | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-04-03T19:42:22.938000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid
1.image.oc1.phx.aaaaaaaadcegaay43eux6uap55fhp6lqaqh37xgocscktwm2yr7ql4pcykxq | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-07-25T20:55:37.937000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid1.image.oc1.phx.aaaaaaaa7xgecq2kt7tikqfrmshu6gwukoc3lcnf2iqtwmjyarlprp6j6lna | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-04-13T17:36:50.840000+00:00 |
| None          | None           | True                 | Windows-Server-2008-R2-Standard-Edition-VM-2017.08.03-0 | ocid
1.image.oc1.phx.aaaaaaaaejmyrf52wf2blf7jd7y2dcrjvg6dyulfyp7d3r3oarc5ayka5liq | AVAILABLE       | Windows          | Serv
er 2008 R2 Standard  | 2017-07-27T18:19:06.976000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.09.29-0                           | ocid
1.image.oc1.phx.aaaaaaaa3g2xpzlbrrdknqcjtzv2tvxcofjc55vdcmpxdlbohmtt7encpana | AVAILABLE       | Oracle Linux     | 7.4
| 2017-10-05T22:36:17.246000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.08.25-1                           | ocid
1.image.oc1.phx.aaaaaaaajan2cd2g65tphpaiegiz4lbs422rdc73okcu7dt2uya6p5szywsa | AVAILABLE       | Oracle Linux     | 7.4
| 2017-09-11T23:12:18.644000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.08.25-0                           | ocid
1.image.oc1.phx.aaaaaaaabifl2bmaygtu4riw3vcuowl5cqwdzdqzwndqneoybcfcn2pgyc6a | AVAILABLE       | Oracle Linux     | 7.4| 2017-08-25T01:21:37.176000+00:00 |

You can limit the amount of data returned by combining the --query option with --output table to get the information you want from a command.

To get filtered image information returned in a table format, run the following command.

oci compute image list -c ocid1.compartment.oc1..aaaaaaaapxgklgmujxjzx2ypptfjrcieq7rrob2u2zbesh3wlafsgthhqtea --output table --query "data [*].{ImageName:\"display-name\", OCID:id}"

The previous command returns the following image information, formatted as a two column table.


+---------------------------------------------------------+----------------------------------------------------------------------------------+
| ImageName                                               | OCID                                                                             |
+---------------------------------------------------------+----------------------------------------------------------------------------------+
| Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid1.image.oc1.phx.aaaaaaaab2xgy6bijtudhsgsbgns6zwfqnkdb2bp4l4qap7e4mehv6bv3qca |
| Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid1.image.oc1.phx.aaaaaaaa53cliasgvqmutflwqkafbro2y4ywjebci5szc4eus5byy2e2b7ua |
| Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid1.image.oc1.phx.aaaaaaaadcegaay43eux6uap55fhp6lqaqh37xgocscktwm2yr7ql4pcykxq |
| Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid1.image.oc1.phx.aaaaaaaa7xgecq2kt7tikqfrmshu6gwukoc3lcnf2iqtwmjyarlprp6j6lna |
| Windows-Server-2008-R2-Standard-Edition-VM-2017.08.03-0 | ocid1.image.oc1.phx.aaaaaaaaejmyrf52wf2blf7jd7y2dcrjvg6dyulfyp7d3r3oarc5ayka5liq |
| Oracle-Linux-7.4-2017.09.29-0                           | ocid1.image.oc1.phx.aaaaaaaa3g2xpzlbrrdknqcjtzv2tvxcofjc55vdcmpxdlbohmtt7encpana |
| Oracle-Linux-7.4-2017.08.25-1                           | ocid1.image.oc1.phx.aaaaaaaajan2cd2g65tphpaiegiz4lbs422rdc73okcu7dt2uya6p5szywsa |
| Oracle-Linux-7.4-2017.08.25-0                           | ocid1.image.oc1.phx.aaaaaaaabifl2bmaygtu4riw3vcuowl5cqwdzdqzwndqneoybcfcn2pgyc6a |
| Oracle-Linux-7.3-2017.07.17-1                           | ocid1.image.oc1.phx.aaaaaaaa7jvfm572d4ehcgh3ijapvhrt52voel33ispumnygi3kl7mph55ha |
| Oracle-Linux-7.3-2017.07.17-0                           | ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa |
| Oracle-Linux-6.9-2017.09.29-0                           | ocid1.image.oc1.phx.aaaaaaaa2d243dmn6mj53zieyap5bdvtq7xfmr5kg5xulrldbjzdavaaoj6a |
| Oracle-Linux-6.9-2017.08.25-0                           | ocid1.image.oc1.phx.aaaaaaaavlwrtcgz2mx6c4q4qg4gwvibx6g7xqkowe3tbbwjnifybwmexpnq |
| Oracle-Linux-6.9-2017.07.17-0                           | ocid1.image.oc1.phx.aaaaaaaa3s4v5eamndtyghbo4bj2mhobkwjwbz3eowyy5cebmrsoxvoopixa |
| CentOS-7-2017.09.14-0                                   | ocid1.image.oc1.phx.aaaaaaaauqtvzhqplzuyesb5tctig6qrwoavpnfiwdkvuynu7z646z72ahcq |
| CentOS-7-2017.07.17-0                                   | ocid1.image.oc1.phx.aaaaaaaahmts5c5nktcnqsu6ppom72d7dnvkmqsoaavpsiklamn7qd3a7szq |
| CentOS-7-2017.04.18-0                                   | ocid1.image.oc1.phx.aaaaaaaaamx6ta37uxltor6n5lxfgd5lkb3lwmoqurlpn2x4dz5ockekiuea |
| CentOS-6.9-2017.09.14-0                                 | ocid1.image.oc1.phx.aaaaaaaagedr7qsbpxjylieetj7dy2r4xoq6p65v3i6y4simkhgyww2ibzxq |
| CentOS-6.9-2017.07.17-0                                 | ocid1.image.oc1.phx.aaaaaaaalm3mr4lpsnzjev2nzmmkhpiy7yxu3456qyg7r4nvjieslp4yngtq |
| CentOS-6.8-2017.06.13-0                                 | ocid1.image.oc1.phx.aaaaaaaauk5k4km4epm7fxj5ifuylvnyjfklmukqcg25clayx3ucuqizjbia |
| Canonical-Ubuntu-16.04-2017.08.22-0                     | ocid1.image.oc1.phx.aaaaaaaalzhdvphf77qgvqo2apmve7o4s4jo77rluaf456qdzrtwmkq2xhra |
| Canonical-Ubuntu-16.04-2017.06.28-0                     | ocid1.image.oc1.phx.aaaaaaaak2idogwetkehtdvo7m673ojuucpfxhybd3ehun7izzgjqi4c4gga |
| Canonical-Ubuntu-16.04-2017.05.16-0                     | ocid1.image.oc1.phx.aaaaaaaae3a3oedsmmwsqu4dsrzntekefgq7vosngn4r6u6n5mis7dwpxxpa |
+---------------------------------------------------------+----------------------------------------------------------------------------------+

For more information about the JMESPath query language for JSON, see JMESPath.

Advanced JSON Options

You can get the correct JSON format for command options and commands.

  • For a command option, use --generate-param-json-input and specify the command option that you want to get the JSON for. To generate the JSON for creating or updating a security rule, run the following command.

    oci network security-list create --generate-param-json-input ingress-security-rules
    Response from the Command
  • For an entire command, use --generate-full-command-json-input. To generate the JSON for launching an instance, run the following command.

    oci compute instance launch --generate-full-command-json-input
    Response from the Command

Order of Precedence for JSON Input

The CLI supports combining arguments on the command line with file input. However, if the same values are provided in a file and on the command line, the command line takes precedence.

Using a JSON File for Complex Input

You can pass complex input from a file by referencing it from the command line. For Windows users, this removes the requirement of having to escape JSON text. You provide a path to the file using the file:// prefix.

Path Types

Using testfile.json as an example, the following types of paths are supported.

  • Relative paths from the same directory, for example: file://testfile.json and file://relative/path/to/testfile.json
  • Absolute paths on Linux, MacOS or Unix, for example: file:///absolute/path/to/testfile.json
  • Full file paths on Windows, for example: file://C:\path\to\testfile.json
Note

File Path Expansions

File path expansions, such as "~/", "./", and "../", are supported. On Windows, the "~/" expression expands to your user directory, which is stored in the %USERPROFILE% environment variable. Using environment variables in paths is also supported.

File Locations

The following file locations are supported.

  • Your home directory.

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://~/testfile.json
  • The current directory.

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://testfile.json
  • The /tmp directory (Linux, Unix, or MacOS).

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file:///tmp/testfile.json
  • The C:\temp directory (Windows).

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://C:\temp\testfile.json

Examples of Using a JSON File as Input

The examples in this section use JSON that's generated for a command option and an entire command. The JSON is saved in a file, edited, and then used as command line input.

Use File Input for a Command Option

This end-to-end example shows how to generate the JSON for a security list id option used to create a subnet. The JSON is saved in a file, edited, and then used as command line input.

Use a JSON File as Input for a Security List Option

Use File Input for an Entire Command

This end-to-end example shows how to generate the JSON to create a virtual cloud network (VCN). The JSON is saved in a file, edited, and then used as command line input.

Use a JSON File as Input to Create a VCN

Advanced Examples

The following examples show how you can use the CLI to complete complex tasks in Oracle Cloud Infrastructure.

Working with Object Storage

You can use the CLI for several object operations with the Object Storage service.

Uploading and Downloading Files

Objects can be uploaded from a file or from the command line (STDIN), and can be downloaded to a file or to the command line (STDOUT).

Upload an object:

oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt --metadata '{"key1":"value1","key2":"value2"}'

Upload object contents from the command line (STDIN):

oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file <--'object content'

Download an object:

oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt

Print object contents to the command line (STDOUT):

oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file -

Bulk Operations in Object Storage

The CLI supports the following bulk operations in Object Storage:

  • Uploading files in a directory and all its subdirectories to a bucket

    # Upload all the files in a directory.
    oci os object bulk-upload -ns mynamespace -bn mybucket --src-dir path/to/upload/directory
  • Downloading all objects, or all the objects that match a specified prefix, in a bucket

    # Download all the objects.
    oci os object bulk-download -ns mynamespace -bn mybucket --download-dir path/to/download/directory
    						
    # Download all the objects that match the specified prefix.
    oci os object bulk-download -ns mynamespace -bn mybucket --download-dir path/to/download/directory --prefix myprefix
  • Deleting all objects, or all the objects that match a specified prefix, in a bucket

    # Delete all the objects.
    oci os object bulk-delete -ns mynamespace -bn mybucket
    			
    # Delete objects that match the specified prefix.
    oci os object bulk-delete -ns mynamespace -bn mybucket --prefix myprefix

Bulk operations support several options that let you:

  • Overwrite or skip files/objects using --overwrite or --no-overwrite. (Note: If you pass neither of these options you are prompted for confirmation every time there is something to overwrite.)
  • Limit delete, upload, or download operations using --prefix and/or --delimiter
  • Preview a bulk deletion with --dry-run

To get more information about the commands for bulk operations, run the following help commands:

# bulk-upload
oci os object bulk-upload -h
				
# bulk-download
oci os object bulk-download -h
				
# bulk-delete
oci os object bulk-delete -h

Multipart Operations in Object Storage

Multipart operations for Object Storage include object uploads and downloads.

Multipart Uploads

Large files can be uploaded to Object Storage in multiple parts to speed up the upload. By default, files larger than 128 MiB are uploaded using multipart operations. You can override this default by using the --no-multipart option.

You can configure the following options for the oci os object put command:

  • --no-multipart overrides an automatic multipart upload if the object is larger than 128 MiB. The object is uploaded as a single part, regardless of size.

  • --part-size in MiB, to use in a multipart operation. The default part size is 128 MiB and a part size that you specify must be greater than 10 MiB. If the object is larger than the --part-size, it is uploaded in multiple parts.
  • --parallel-upload-count, to specify the number of parallel operations to perform. You can use this value to balance resources and upload times. A higher value may improve times but consume more system resources and network bandwidth. The default value is 10.

The --resume-put command allows you to resume a large file upload in cases where the upload was interrupted.

Note

Multipart Uploads from STDIN

Objects uploaded from STDIN are uploaded in multiple parts. If the object content is smaller than 10 MiB, the upload is only 1 part, and the MultipartUpload API is used for the upload. Specifying --no-multipart when uploading from STDIN will result in an error.

The following example shows the command for a multipart upload if the object is larger than 200 MiB.

oci os object put -ns my-namespace -bn my-bucket --file path/to/large/file --part-size 200

For more information about multipart uploads, see Using Multipart Uploads.

Multipart Downloads

Large files can be downloaded from Object Storage in multiple parts to speed up the download.

You can configure the following options for the oci os object get command:

  • --multipart-download-threshold lets you specify the size, in MiB at which an object should be downloaded in multiple parts. This size must be at least 128 MiB.
  • --part-size, in MiB, to use for a download part. This gives you the flexibility to use more (smaller size) or fewer (larger size) parts as appropriate for your requirements. For example, compute power and network bandwidth. The default minimum part size is 120 MiB.
  • --parallel-download-count lets you specify how many parts are downloaded at the same time. A higher value may improve times but consume more system resources and network bandwidth. The default value is 10.

The following example shows the command to download any object with a size greater than 500 MiB. The object is downloaded in 128 MiB parts.

oci os object get -ns my-namespace -bn my-bucket --name my-large-object --multipart-download-threshold 500 --part-size 128