ArubaCloud Command Line Interface - A CLI tool for interacting with Aruba Cloud APIs.
⚠️ Development Status: This CLI is currently under active development and is not production-ready yet.
# Download the latest release binary
Invoke-WebRequest -Uri "https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-windows-amd64.exe" -OutFile "acloud.exe"
# (Optional) Move to a folder in your PATH, e.g. C:\acloud
# Move-Item -Path .\acloud.exe -Destination C:\acloud\acloud.exe
# Optionally, add C:\acloud to your PATH environment variable
# Run from the command prompt:
acloud.exe --helpFor Ubuntu 22.04+ or newer distributions:
# Download the latest release
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/acloudFor Ubuntu 20.04 or older WSL distributions (GLIBC 2.31 compatible):
# Download the Ubuntu 20.04 compatible release
curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-linux-amd64-ubuntu20
chmod +x acloud-linux-amd64-ubuntu20
sudo mv acloud-linux-amd64-ubuntu20 /usr/local/bin/acloudNote: If you encounter GLIBC version errors (e.g.,
GLIBC_2.34 not found), use the-ubuntu20binary which is compatible with Ubuntu 20.04 and newer.
# Download the latest release
curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-darwin-amd64
chmod +x acloud-darwin-amd64
sudo mv acloud-darwin-amd64 /usr/local/bin/acloudBefore using acloud, you need to configure your Aruba Cloud API credentials.
# Set both client ID and client secret
acloud config set --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
# Set individual values
acloud config set --client-id YOUR_CLIENT_ID
acloud config set --client-secret YOUR_CLIENT_SECRETacloud config showConfiguration is stored in ~/.acloud.yaml with secure file permissions.
acloud config set --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRETContexts allow you to work with a specific project without repeatedly passing --project-id:
# Create a context with your project ID
acloud context set my-prod --project-id "66a10244f62b99c686572a9f"
# Switch to that context
acloud context use my-prod
# Now commands use the context project ID automatically
acloud storage blockstorage list# List projects
acloud management project list
# List block storage volumes
acloud storage blockstorage list
# List snapshots
acloud storage snapshot listManage multiple project contexts to simplify your workflow:
# Set contexts for different environments
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"
# Switch between contexts
acloud context use prod
acloud context use dev
# View current context
acloud context current
# List all contexts
acloud context list
# Delete a context
acloud context delete staging# View all available commands
acloud --help
# View config command options
acloud config --helpEnable verbose logging to troubleshoot issues:
# Enable debug logging (shows HTTP requests/responses)
acloud --debug network securityrule update <vpc-id> <securitygroup-id> <securityrule-id> --tags test
# Short form
acloud -d network vpc listThe --debug flag enables:
- HTTP request/response logging from the SDK
- Detailed request payloads (JSON formatted)
- Full error response details
Debug output is sent to stderr, so it won't interfere with normal command output.
📚 Full documentation is available at: https://arubacloud.github.io/acloud-cli/
The documentation website is built with Docusaurus and includes:
- Versioned documentation for each CLI release
- Interactive search and navigation
- Code examples and tutorials
- API reference for all resources
For the source markdown files, see the Documentation folder:
- Getting Started Guide - Installation, authentication, and basic usage
- Resource Documentation - Detailed guides for all resource types:
- Full documentation is available on the documentation website
- For local development, see
docs/website/docs/resources/
End-to-end (E2E) tests are available to validate CRUD operations across all resource categories:
- E2E Tests Documentation - Comprehensive guide to running E2E tests
- Management Tests - Test projects and organization resources
- Storage Tests - Test block storage, snapshots, backups, and restores
- Network Tests - Test VPCs, subnets, security groups, VPN tunnels, and more
- Container Tests - Test KaaS (Kubernetes as a Service) clusters
To run E2E tests:
# Set required environment variables
export ACLOUD_PROJECT_ID="your-project-id"
export ACLOUD_REGION="ITBG-Bergamo"
# Run tests for a specific category
./e2e/management/test.sh
./e2e/storage/test.sh
./e2e/network/test.sh
./e2e/container/test.shNote: Container tests require additional environment variables for KaaS cluster creation:
ACLOUD_VPC_URI- VPC URI for the clusterACLOUD_SUBNET_URI- Subnet URI for the clusterACLOUD_NODE_POOL_INSTANCE- Instance type for node poolACLOUD_NODE_POOL_ZONE- Zone for node pool
See the E2E Tests README for detailed instructions and prerequisites.
See CONTRIBUTING.md for development guidelines.
See LICENSE file for details.