A single, unified command-line interface for managing the full range of Aruba Cloud infrastructure resources directly from your terminal.
- Full resource coverage — compute, networking, storage, databases, containers, security, and scheduling
- Multiple output formats — human-readable table,
table-json,table-yaml,json,yaml - Shell completion — Bash, Zsh, Fish, and PowerShell
- Named contexts — switch between projects without repeating
--project-id - Safe delete —
--dry-runto validate before deleting;--yesto skip prompts - Pagination —
--limitand--offseton all list commands - Debug mode — full HTTP request/response logging via
--debug - CI/CD ready — scriptable, non-interactive, JSON/YAML output for pipeline integration
| Category | Resources |
|---|---|
| Management | Projects |
| Compute | Cloud Servers, Key Pairs |
| Storage | Block Storage, Snapshots, Backups, Restores |
| Network | VPC, Subnet, Security Group, Security Rule, Elastic IP, Load Balancer, VPC Peering, VPN Tunnel, VPN Route |
| Container | Kubernetes as a Service (KaaS), Container Registry |
| Database | DBaaS instances, Databases, Users, Grants, Backups |
| Security | KMS Keys |
| Schedule | Jobs (OneShot and Recurring) |
brew tap Arubacloud/tap
brew install acloudcurl -fsSL https://arubacloud.github.io/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/arubacloud.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/arubacloud.gpg] https://arubacloud.github.io/apt stable main" | \
sudo tee /etc/apt/sources.list.d/arubacloud.list
sudo apt update && sudo apt install acloudsudo rpm -i https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud_linux_amd64.rpmscoop bucket add arubacloud https://github.com/Arubacloud/scoop-bucket
scoop install acloudPrecompiled static binaries (no runtime dependencies) are on the releases page.
# Linux (amd64)
curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-linux-amd64
chmod +x acloud-linux-amd64 && sudo mv acloud-linux-amd64 /usr/local/bin/acloud
# macOS (Apple Silicon)
curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-darwin-arm64
chmod +x acloud-darwin-arm64 && sudo mv acloud-darwin-arm64 /usr/local/bin/acloud# Windows (PowerShell)
Invoke-WebRequest `
-Uri "https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-windows-amd64.exe" `
-OutFile "acloud.exe"Move acloud.exe to a directory on your PATH.
acloud --version# Prompts for the secret with echo disabled (recommended)
acloud config set --client-id YOUR_CLIENT_ID
# Or pass both flags (suitable for CI/CD — prefer environment variables instead)
acloud config set --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRETSecurity note: Avoid passing
--client-secretin interactive sessions — it will appear in your shell history.
Credentials are stored in ~/.acloud.yaml.
Contexts bind a name to a project ID so you never need to pass --project-id again:
acloud context set prod --project-id "YOUR_PROJECT_ID"
acloud context use prodacloud management project list
acloud compute cloudserver list
acloud network vpc list
acloud storage blockstorage list
acloud database dbaas list# Bash
echo 'source <(acloud completion bash)' >> ~/.bashrc
# Zsh
echo 'source <(acloud completion zsh)' >> ~/.zshrc
# Fish
acloud completion fish | source
# PowerShell
acloud completion powershell | Out-String | Invoke-ExpressionAll list and get commands accept a global --output (-o) flag:
| Value | Description |
|---|---|
table |
Human-readable fixed-width table (default) |
table-json |
Flat JSON array — one object per row, easy to pipe to jq |
table-yaml |
Flat YAML sequence — one mapping per row |
json |
Full SDK response as indented JSON |
yaml |
Full SDK response as YAML |
acloud network vpc list # table (default)
acloud network vpc list -o table-json # flat JSON — pipe to jq
acloud network vpc list -o json # full SDK envelope
# Example: extract all VPC IDs with jq
acloud network vpc list -o table-json | jq -r '.[].id'acloud context set prod --project-id "prod-project-id"
acloud context set dev --project-id "dev-project-id"
acloud context set staging --project-id "staging-project-id"
acloud context use prod
acloud context current
acloud context list
acloud context delete stagingEvery delete command supports --dry-run to confirm the resource exists without removing it:
acloud storage blockstorage delete <volume-id> --dry-run
# [dry-run] Would delete block storage '<volume-id>'. Resource exists and is accessible.Pass --yes (or -y) to skip the interactive confirmation prompt.
All list commands support --limit and --offset:
acloud storage blockstorage list --limit 10 # first 10 results
acloud storage blockstorage list --limit 10 --offset 10 # second pageacloud --debug network vpc list
acloud -d network vpc list # short formEnables full HTTP request/response logging including headers, query parameters, and JSON bodies. Output goes to stderr and does not interfere with command output.
Security warning: Debug output may include credentials and tokens. Do not use in shared terminal sessions or paste its output publicly.
Full documentation: https://arubacloud.github.io/acloud-cli/
See CONTRIBUTING.md for development guidelines.
See LICENSE for licensing details.