Introduction

OCI stands for Oracle Cloud Infrastructure and the command line client (CLI) keep the same name: oci

The aim of this guide is to give a practical step by step quick flow, that I used on all new created vm, in order to have the oci cli working in no time.

Installation

The install directory is $HOME/oracle_cli with no optional packages. I added comments in the screenshot trace:

# Download and install the cli 
ubuntu@demoubuntu:~$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16926  100 16926    0     0  64101      0 --:--:-- --:--:-- --:--:-- 64357

    ******************************************************************************
    You have started the OCI CLI Installer in interactive mode. If you do not wish
    to run this in interactive mode, please include the --accept-all-defaults option.

.....

# Give the lib install dir 
===> In what directory would you like to place the install? (leave blank to use '/home/ubuntu/lib/oracle-cli'): /home/ubuntu/oracle_cli/lib
-- Creating directory '/home/ubuntu/oracle_cli/lib'.
-- We will install at '/home/ubuntu/oracle_cli/lib'.

# Give the bin install dir
===> In what directory would you like to place the 'oci' executable? (leave blank to use '/home/ubuntu/bin'): /home/ubuntu/oracle_cli/bin
-- Creating directory '/home/ubuntu/oracle_cli/bin'.
-- The executable will be in '/home/ubuntu/oracle_cli/bin'.

===> In what directory would you like to place the OCI scripts? (leave blank to use '/home/ubuntu/bin/oci-cli-scripts'): /home/ubuntu/oracle_cli/oci-cli-scripts
-- Creating directory '/home/ubuntu/oracle_cli/oci-cli-scripts'.
-- The scripts will be in '/home/ubuntu/oracle_cli/oci-cli-scripts'.

# Give optional packages install dir (db is a current package to install)
===> Currently supported optional packages are: ['db (will install cx_Oracle)']
What optional CLI packages would you like to be installed (comma separated names; press enter if you don't need any optional packages)?:
-- The optional packages installed will be ''.
....

# Restart the shell 
ubuntu@demoubuntu:~$ exec -l $SHELL

# Test that all is working 
ubuntu@demoubuntu:~$ oci -version
3.18.1

Create the access keys

These keys can be created by using ssh-keygen or the fresh installe oci client. Let’s use the oci client.

# The command will create the $HOME/.oci directory
ubuntu@demoubuntu:~$ oci setup keys

# The content of $HOME/.oci directory
ubuntu@demoubuntu:~$ ls .oci
oci_api_key.pem  oci_api_key_public.pem

Create the API Key from the user page

Grab generated public key

ubuntu@demoubuntu:~$ cat .oci/oci_api_key_public.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArOGQ1QVmNgHMhcTS+idM
7ASM/waVyvxZpKb4Qu57gZ3EXBKRA97R7Za56IZuqyHsG5Q5hRzfnyZdCbPQkB/K
rhme9DzK15lChA3u4a9m/ZogYjZQrVL3drjJKbtm2K/hLd4jlAamsp3xgxeLwKeJ
xe0PnHUXupnRIzNvw5H7y4sk7oVQG4r+7P2rHhIOw7f89xFYo8WcO4S5p10q/ojR
crfYKin25eS5G9koKdje7RBQgvaplVv2dscOvbEqRCDHqrrKVz03q7BlcsRydOVh
eoNMluZh26SIHPxVjXhDmzzjVqrg/8ly1wClO7q3TJnpmlxUBQPcJesa0czgmJV1
hQIDAQAB
-----END PUBLIC KEY-----

and copy it into the “Add API Key” window from “Identity > Users > User Details” page of your user.

Final step, copy the generated config file from the “Configuration File Preview” window into the $HOME/.oci/config file.

ubuntu@demoubuntu:~$ cat .oci/config
[DEFAULT]
user=ocid1.user.oc1..********************
fingerprint=d4:*****************
tenancy=ocid1.tenancy.oc1..*******************
region=eu-zurich-1
key_file=/home/ubuntu/.oci/oci_api_key.pem

At this moment the environnement is configured and oci commands can be executed (example bellow on dns parameters):

Ressources:


Share on