You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Important:**`oci` must *installed* and *configured*. `o` does not replace `oci`, but helps you *use*`oci`.
39
+
**Important:**`oci` must *installed* and *configured* in order to use `o`. `o` does not replace `oci`, but helps you *use*`oci`.
40
40
41
-
#### Linux or Mac
42
-
To install, get **``o``** from github, place it in your PATH (perhaps in the same place as ``oci``), and make it executable. Use these commands to download ``o`` and install it next to ``oci``.
41
+
### Linux, CloudShell, Mac
42
+
To install, get **`o`** from github, make it executable, and place it in your PATH (perhaps in the same place as ``oci``).<br>
43
+
Paste these commands into your bash shell to download `o` and install it in your `~/bin` or next to `oci`.
src=https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/examples/project_o && curl -so o $src/o && chmod +x o && curl -so $HOME/.oci/oci_commands $src/oci_commands
46
+
[ -d $HOME/bin ] && ( mv o $HOME/bin && printf "\no installed in $HOME/bin/o\n" ) || ( where=$(which oci) && to=${where%ci} && [ -w $to ] && ( mv o $to && printf "\no installed in $to\n" ) || printf "\n$to: not writable\nTry:\n sudo mv o $to\nor\n mkdir $HOME/bin && mv o $HOME/bin\n" )
46
47
```
47
48
48
-
#### CloudShell
49
-
The Linux install above will work, but it installs `o` in a place that is overwritten when CloudShell is updated. This will install `o` into your $HOME, which is preserved during CloudShell updates:
49
+
#### CloudShell Note
50
+
If you do not have a `$HOME/bin`, `o` will be installed in a location that is overwritten when CloudShell is updated. If this happens, it's easy to reinstall.<br>
51
+
Or you can install `o` into your ``$HOME/bin``, which is preserved during CloudShell updates. First:
Then run (or re-run) the Linux installation commands.
56
57
57
-
#### Windows
58
-
**`o`** version 1.6 and later runs in Windows PowerShell or Command shell, but installation not automated. To try it, use this curl command to get **`o`**. Then copy it to somewhere in your PATH.
58
+
### Windows
59
+
**`o`** version 1.6 was tested and runs in Windows PowerShell or Command shell, but installation not automated. **`o`** is not tested on Windows with each release, so please report an issue if it stops working.
60
+
61
+
Use this curl command to get **`o`**. Then copy it to somewhere in your PATH.
Update your PATHEXT to make it execute as `o` instead of `o.py`.
63
66
64
-
####Setup
67
+
### Setup
65
68
66
69
When you first run `o` it will tell you run `o oci_commands` to create the commands file *$HOME/.oci/oci_commands*. This collects a list of all possible `oci` commands with usage details. This should take about two minutes. If it doesn't work (in Windows) or runs slowly (python 3.6), copy `oci_commands` from another source to *$HOME/.oci/oci_commands*.
67
70
@@ -183,6 +186,18 @@ This will get a fresh list of all compartments in the tenancy, which is a great
183
186
- Use `c` or `l` for "compartment" or "lifeCycleState", followed by `=` or `!=` and the name of a compartment or lifeCycleState. Don't worry about quotation marks around terms. E.g.
184
187
-`query all resources where (c = sales || c = kevco) && l != terminated`
185
188
189
+
#### New in version 1.10 (2023-08-08)
190
+
- Improved selection of availability domain for users with multiple regions and tenancies. `-ad 1` will choose the right AD for the active tenancy and region.
191
+
-`o` can work with identity-domains.<br>
192
+
First, `o iam domain list` to list your identity-domains.<br>
193
+
Then
194
+
- Get a list of users: `o id list users -end <domain-name>.`
195
+
- Get a list of groups: `o id list groups -end <domain-name>.`
196
+
- Get a list of users with group memberships of each user:<br>
197
+
`o -o display/user-name/groups.display id user list --attributes displayName,name,groups -end <domain-name>.`
198
+
- Get a list of groups with user members for each group:<br>
199
+
`o -o display-name/member.name id list groups --attributes name,members -end <domain-name>.`
200
+
186
201
## How **``o``** works
187
202
-**``o``** compares your input with thousands of ``oci`` commands, and uses an fuzzy matching to find the command you want.
0 commit comments