Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d2de4c3
fix(service-info): send only the renewal settings the operator asked …
Denis-hamon Aug 18, 2026
d44f8a2
refactor(service-info): register the renewal flags from the command l…
Denis-hamon Aug 19, 2026
3176e6a
feat(baremetal): send a server's logs somewhere, from the terminal
Denis-hamon Aug 19, 2026
3ef8fa6
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
8a50b0c
chore: no account data as test fixtures
Denis-hamon Aug 20, 2026
c7bae95
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
866f855
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
c51b90e
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
7b96f46
fix(baremetal): --filter was accepted, documented, and ignored
Denis-hamon Aug 20, 2026
0b6c895
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
7874512
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
fcacc28
chore: bring in the parent branch of the stack
Denis-hamon Aug 20, 2026
f9cd6cb
fix(baremetal): the stream refusal named a command that lists somethi…
Denis-hamon Aug 21, 2026
b79fe95
chore: bring in the parent branch of the stack
Denis-hamon Aug 21, 2026
9ad0ec3
chore: bring in the parent branch of the stack
Denis-hamon Aug 21, 2026
2a2c061
chore: bring in the parent branch of the stack
Denis-hamon Aug 21, 2026
ece4c7c
chore: bring in the parent branch of the stack
Denis-hamon Aug 21, 2026
5572958
chore: bring in the parent branch of the stack
Denis-hamon Aug 21, 2026
ed0bf54
chore: bring in the service-info flag registration from #243
Denis-hamon Aug 23, 2026
1a1bda3
fix(dry-run): stop printing the payload twice
Denis-hamon Aug 24, 2026
c421ef4
test: move the dry-run log tests to their own file
Denis-hamon Aug 24, 2026
befb051
Merge remote-tracking branch 'origin/feat/baremetal-confirm-reinstall…
Denis-hamon Aug 24, 2026
cbc1e3c
chore(doc): regenerate after bringing in the parent branch
Denis-hamon Aug 24, 2026
8cce91e
fix(logs): name a few streams when none is close
Denis-hamon Aug 24, 2026
401ad61
feat(baremetal): say which stream a title resolved to, before sending…
Denis-hamon Aug 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 23 additions & 102 deletions doc/ovhcloud.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,36 @@
# OVHcloud CLI (`ovhcloud`) Documentation
## ovhcloud

---
CLI to manage your OVHcloud services

## Overview
### Options

`ovhcloud` is a single, unified command‑line interface for managing the full range of OVHcloud products and account resources directly from your terminal. Whether you need to automate provisioning, perform quick look‑ups, or integrate OVHcloud operations into CI/CD pipelines, `ovhcloud` offers fine‑grained commands and consistent output formats (table, JSON, YAML, or custom gval expressions).

---

## Quick Start

```bash
# Display the top‑level help
ovhcloud --help

# Log in and create API credentials (interactive)
ovhcloud login

# List your VPS instances as JSON
ohvcloud vps list -o json
```

Check out the [authentication page](authentication.md) for further information about the authentication means.

You can manage multiple OVHcloud accounts using [profiles](profiles.md). Create a profile with `ovhcloud login --profile <name>`, switch between them with `ovhcloud config profile switch <name>`, or use `--profile <name>` on any command.

### Generate Shell Completion

```bash
# Bash
eval "$(./ovhcloud completion bash)"
# Zsh
eval "$(./ovhcloud completion zsh)"
# Fish
./ovhcloud completion fish | source
# PowerShell
./ovhcloud completion powershell | Out-String | Invoke-Expression
```

Add the appropriate line to your shell’s startup file (`~/.bashrc`, `~/.zshrc`, etc.) to enable persistent autocompletion.

---

## Global Usage

```text
ovhcloud [command] [flags]
-d, --debug Activate debug mode (will log all HTTP requests details)
-h, --help help for ovhcloud
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### Global Flags

| Flag | Description |
| ------------------ | ---------------------------------------------------- |
| `--debug` | Activate debug mode (logs all HTTP‑request details). |
| `--ignore-errors` | Ignore errors of API calls made when listing items. |
| `--filter <expr>` | Filter lists output with a [gval] expression. |
| `-h`, `--help` | Display help for `ovhcloud` or a specific command. |
| `-o interactive` | Produce interactive (prompt‑based) output. |
| `-o json` | Output data in JSON format. |
| `-o yaml` | Output data in YAML format. |
| `-o <expr>` | Format output with a [gval] expression. |

[gval]: https://github.com/PaesslerAG/gval

#### Filtering examples

- Strict string equality: `--filter 'name=="something"'`
- String regexp comparison: `--filter 'name=~"something"'`
- Number comparison: `--filter 'bootId > 1'`

#### Formatting example

- Extract only one field: `-o 'ip'`
- Extract an object: `-o '{name: ip}'`

---

## Command Reference

Below is the full list of primary sub‑commands available at the time of writing. Each can be explored in depth with `ovhcloud <command> --help`.
### SEE ALSO

* [ovhcloud account](ovhcloud_account.md) - Manage your account
* [ovhcloud alldom](ovhcloud_alldom.md) - Retrieve information and manage your AllDom services
* [ovhcloud baremetal](ovhcloud_baremetal.md) - Retrieve information and manage your Bare Metal services
* [ovhcloud browser](ovhcloud_browser.md) - Launch a TUI for the OVHcloud Manager - Public Cloud universe only [EXPERIMENTAL]
* [ovhcloud cdn-dedicated](ovhcloud_cdn-dedicated.md) - Retrieve information and manage your dedicated CDN services
* [ovhcloud cloud](ovhcloud_cloud.md) - Manage your projects and services in the Public Cloud universe (MKS, MPR, MRS, Object Storage...)
* [ovhcloud completion](ovhcloud_completion.md) - Generate shell completion scripts
* [ovhcloud config](ovhcloud_config.md) - Manage your CLI configuration
* [ovhcloud dedicated-ceph](ovhcloud_dedicated-ceph.md) - Retrieve information and manage your Dedicated Ceph services
* [ovhcloud dedicated-cloud](ovhcloud_dedicated-cloud.md) - Retrieve information and manage your DedicatedCloud services
Expand All @@ -102,6 +48,7 @@ Below is the full list of primary sub‑commands available at the time of writin
* [ovhcloud ldp](ovhcloud_ldp.md) - Retrieve information and manage your LDP (Logs Data Platform) services
* [ovhcloud location](ovhcloud_location.md) - Retrieve information and manage your Location services
* [ovhcloud login](ovhcloud_login.md) - Login to your OVHcloud account to create API credentials
* [ovhcloud logout](ovhcloud_logout.md) - Revoke your API credentials and remove them from the configuration
* [ovhcloud nutanix](ovhcloud_nutanix.md) - Retrieve information and manage your Nutanix services
* [ovhcloud okms](ovhcloud_okms.md) - Retrieve information and manage your OKMS (Key Management Services)
* [ovhcloud overthebox](ovhcloud_overthebox.md) - Retrieve information and manage your OverTheBox services
Expand All @@ -113,6 +60,7 @@ Below is the full list of primary sub‑commands available at the time of writin
* [ovhcloud storage-netapp](ovhcloud_storage-netapp.md) - Retrieve information and manage your Storage NetApp services
* [ovhcloud support-tickets](ovhcloud_support-tickets.md) - Retrieve information and manage your support tickets
* [ovhcloud telephony](ovhcloud_telephony.md) - Retrieve information and manage your Telephony services
* [ovhcloud upgrade](ovhcloud_upgrade.md) - Upgrade OVHcloud CLI to the latest version
* [ovhcloud veeamcloudconnect](ovhcloud_veeamcloudconnect.md) - Retrieve information and manage your VeeamCloudConnect services
* [ovhcloud veeamenterprise](ovhcloud_veeamenterprise.md) - Retrieve information and manage your VeeamEnterprise services
* [ovhcloud version](ovhcloud_version.md) - Get OVHcloud CLI version
Expand All @@ -124,30 +72,3 @@ Below is the full list of primary sub‑commands available at the time of writin
* [ovhcloud webhosting](ovhcloud_webhosting.md) - Retrieve information and manage your WebHosting services
* [ovhcloud xdsl](ovhcloud_xdsl.md) - Retrieve information and manage your XDSL services

> **Tip**  Use `-o json`, `-o yaml`, or `-o <format>` with a gval expression to integrate `ovhcloud` into scripts and automation pipelines.

---

## Examples

| Task | Command |
| ------------------------------------- | ---------------------------------------------- |
| Log in and save credentials | `ovhcloud login` |
| List VPS instances (tabular) | `ovhcloud vps list` |
| Fetch details of a single VPS in JSON | `ovhcloud vps get <service_id> -o json` |
| Reinstall a baremetal interactively | `ovhcloud baremetal reinstall <id> --editor` |

---

## Troubleshooting

* **Verbose output** — Use `--debug` to inspect raw API calls and responses.
* **Authentication issues** — Run `ovhcloud login` again to regenerate valid API keys.
* **Rate limits** — OVHcloud APIs impose rate limits; plan retries or exponential backoff in scripts.

---

## Further Reading

* OVHcloud API reference: [https://eu.api.ovh.com/console](https://eu.api.ovh.com/console)
* OVHcloud community guides and tutorials.
1 change: 1 addition & 0 deletions doc/ovhcloud_baremetal.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Retrieve information and manage your Bare Metal services
* [ovhcloud baremetal list-partition-schemes](ovhcloud_baremetal_list-partition-schemes.md) - List the partition schemes an OS template allows on this baremetal
* [ovhcloud baremetal list-secrets](ovhcloud_baremetal_list-secrets.md) - Retrieve secrets to connect to the server
* [ovhcloud baremetal list-tasks](ovhcloud_baremetal_list-tasks.md) - Retrieve tasks of the given baremetal
* [ovhcloud baremetal logs](ovhcloud_baremetal_logs.md) - Read the logs of a dedicated server, and send them to a stream
* [ovhcloud baremetal power](ovhcloud_baremetal_power.md) - Power the given baremetal off and on
* [ovhcloud baremetal raid-profile](ovhcloud_baremetal_raid-profile.md) - Show the hardware RAID controllers of this baremetal, if it has any
* [ovhcloud baremetal reboot](ovhcloud_baremetal_reboot.md) - Reboot the given baremetal
Expand Down
38 changes: 38 additions & 0 deletions doc/ovhcloud_baremetal_logs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## ovhcloud baremetal logs

Read the logs of a dedicated server, and send them to a stream

### Options

```
-h, --help help for logs
```

### Options inherited from parent commands

```
-d, --debug Activate debug mode (will log all HTTP requests details)
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### SEE ALSO

* [ovhcloud baremetal](ovhcloud_baremetal.md) - Retrieve information and manage your Bare Metal services
* [ovhcloud baremetal logs kinds](ovhcloud_baremetal_logs_kinds.md) - List the kinds of log this server can send
* [ovhcloud baremetal logs subscribe](ovhcloud_baremetal_logs_subscribe.md) - Send the logs of this server to a Log Data Platform stream
* [ovhcloud baremetal logs subscription](ovhcloud_baremetal_logs_subscription.md) - Show where the logs of this server are sent
* [ovhcloud baremetal logs unsubscribe](ovhcloud_baremetal_logs_unsubscribe.md) - Stop sending the logs of this server to a stream
* [ovhcloud baremetal logs url](ovhcloud_baremetal_logs_url.md) - Get a temporary link to read the logs of this server

37 changes: 37 additions & 0 deletions doc/ovhcloud_baremetal_logs_kinds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## ovhcloud baremetal logs kinds

List the kinds of log this server can send

```
ovhcloud baremetal logs kinds <service_name> [flags]
```

### Options

```
-h, --help help for kinds
```

### Options inherited from parent commands

```
-d, --debug Activate debug mode (will log all HTTP requests details)
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### SEE ALSO

* [ovhcloud baremetal logs](ovhcloud_baremetal_logs.md) - Read the logs of a dedicated server, and send them to a stream

48 changes: 48 additions & 0 deletions doc/ovhcloud_baremetal_logs_subscribe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## ovhcloud baremetal logs subscribe

Send the logs of this server to a Log Data Platform stream

### Synopsis

Send the logs of this server to a Log Data Platform stream.

--stream takes the title of a stream or its identifier. A title is resolved across every Log Data Platform service on the account, and a title carried by more than one stream is refused rather than guessed.

```
ovhcloud baremetal logs subscribe <service_name> [flags]
```

### Options

```
--dry-run Print the call that would be made without making it
-h, --help help for subscribe
--kind string Kind of log to work on (default: the only one the server offers)
--stream string Title or identifier of the stream to send the logs to
--wait Wait until the subscription actually exists before exiting
-y, --yes Skip the confirmation prompt (required for unattended runs)
```

### Options inherited from parent commands

```
-d, --debug Activate debug mode (will log all HTTP requests details)
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### SEE ALSO

* [ovhcloud baremetal logs](ovhcloud_baremetal_logs.md) - Read the logs of a dedicated server, and send them to a stream

35 changes: 35 additions & 0 deletions doc/ovhcloud_baremetal_logs_subscription.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## ovhcloud baremetal logs subscription

Show where the logs of this server are sent

### Options

```
-h, --help help for subscription
```

### Options inherited from parent commands

```
-d, --debug Activate debug mode (will log all HTTP requests details)
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### SEE ALSO

* [ovhcloud baremetal logs](ovhcloud_baremetal_logs.md) - Read the logs of a dedicated server, and send them to a stream
* [ovhcloud baremetal logs subscription get](ovhcloud_baremetal_logs_subscription_get.md) - Show one log subscription of this server
* [ovhcloud baremetal logs subscription list](ovhcloud_baremetal_logs_subscription_list.md) - List the log subscriptions of this server

37 changes: 37 additions & 0 deletions doc/ovhcloud_baremetal_logs_subscription_get.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## ovhcloud baremetal logs subscription get

Show one log subscription of this server

```
ovhcloud baremetal logs subscription get <service_name> <subscription_id> [flags]
```

### Options

```
-h, --help help for get
```

### Options inherited from parent commands

```
-d, --debug Activate debug mode (will log all HTTP requests details)
-e, --ignore-errors Ignore errors in API calls when it is not fatal to the execution
-o, --output string Output format: json, yaml, interactive, or a custom format expression (using https://github.com/PaesslerAG/gval syntax)
Examples:
--output json
--output yaml
--output interactive
--output 'id' (to extract a single field)
--output 'nested.field.subfield' (to extract a nested field)
--output '[id, "name"]' (to extract multiple fields as an array)
--output '{"newKey": oldKey, "otherKey": nested.field}' (to extract and rename fields in an object)
--output 'name+","+type' (to extract and concatenate fields in a string)
--output '(nbFieldA + nbFieldB) * 10' (to compute values from numeric fields)
--profile string Use a specific profile from the configuration file
```

### SEE ALSO

* [ovhcloud baremetal logs subscription](ovhcloud_baremetal_logs_subscription.md) - Show where the logs of this server are sent

Loading
Loading