CLI

The IBEE CLI (ibee) lets you manage your cloud resources from the terminal. It’s built on the Python SDK, so every command maps directly to an API endpoint.

Install

$pip install ibee-cli

Requires Python 3.10+. This installs the ibee command.

Authenticate

Create an API token in the portal under Settings → API Tokens, then set two environment variables:

$export IBEE_TOKEN="ibee_prod_key_xxxxxxxxxxxx"
$export IBEE_WORKSPACE_ID="907479"

Both can also be passed per command with --token and --workspace.

The CLI exposes billing eligibility as an explicit command; create commands do not run it automatically. For a client-side preflight, give the token billing.read, run ibee billing eligibility SKU, and continue only when the decision allows creation. Resource creation still needs the relevant product write scope and remains subject to the product service’s authoritative billing check.

Global options

OptionDescription
--tokenAPI token (default: IBEE_TOKEN)
--workspace, -wWorkspace ID (default: IBEE_WORKSPACE_ID)
--devTarget the development gateway (api.ibee.co.in) instead of production
--base-urlOverride the API base URL entirely
--jsonPrint raw JSON instead of a formatted table
--versionShow the CLI version

Object storage

$ibee buckets list
$ibee buckets create my-bucket --region in-south-2
$ibee buckets get my-bucket
$ibee buckets update my-bucket --public
$ibee buckets credentials create --name deploy
$ibee buckets delete my-bucket --yes

ibee buckets create requires an Object Storage region identifier. Use a region configured for the target environment; a compute site_id or display name is not accepted.

Secret store

$ibee secrets stores list # list secret stores
$ibee secrets list --store-id STORE_ID # list secrets in a store
$ibee secrets value SECRET_ID # print a secret's value as JSON

Compute and virtual machines

$ibee compute sites
$ibee compute plans --vm-type cloud --site-id SITE_ID
$ibee compute images --vm-type cloud --site-id SITE_ID
$
$ibee vms list
$ibee vms get VM_ID
$ibee vms create web-01 \
> --site-id SITE_ID --plan-id PLAN_ID --template-id IMAGE_ID --wait
$ibee vms start VM_ID
$ibee vms stop VM_ID
$ibee vms reboot VM_ID
$ibee vms metrics VM_ID
$ibee vms delete VM_ID --yes --wait

Create, delete, and power commands return an operation ID. Without --wait, poll it yourself:

$ibee ops get OPERATION_ID --wait

GPU VMs

$ibee gpus list
$ibee gpus get VM_ID
$ibee gpus create train-01 \
> --site-id SITE_ID --plan-id PLAN_ID --template-id IMAGE_ID \
> --gpu-model A100 --gpu-count 1 --wait

Networking

Networking uses explicit resource groups, so commands and flags are visible in shell completion and --help without constructing JSON request bodies.

$ibee vpcs sites
$ibee vpcs list --site-id SITE_ID
$ibee reserved-ips list --site-id SITE_ID
$ibee firewalls list
$ibee load-balancers list

VPCs

$ibee vpcs create production \
> --site-id SITE_ID --cidr 10.44.0.0/22 --no-auto-cidr
$ibee vpcs subnets create VPC_ID applications \
> --cidr 10.44.0.0/24 --no-auto-cidr
$ibee vpcs nodes attach VPC_ID VM_ID \
> --subnet-id SUBNET_ID --connectivity private
$ibee vpcs nat create VPC_ID \
> --name egress --reserved-ip-id RESERVED_IP_ID

IPs, firewalls, and load balancers

$ibee reserved-ips reserve --site-id SITE_ID --label edge
$ibee reserved-ips move RESERVED_IP_ID NEW_VM_ID \
> --vpc-id VPC_ID --subnet-id SUBNET_ID
$
$ibee firewalls create web
$ibee firewalls rules create FIREWALL_GROUP_ID \
> --protocol tcp --port-start 443 --port-end 443 \
> --remote-target 0.0.0.0/0
$ibee firewalls attachments attach FIREWALL_GROUP_ID VM_ID
$
$ibee load-balancers list --layer l7
$ibee load-balancers status LOAD_BALANCER_ID

Operations that delete, detach, or release ask for confirmation first. Add --yes to run them unattended:

$ibee vpcs delete VPC_ID --yes

Billing eligibility

Before creating a billable resource, you can explicitly check whether billing permits it. The token needs the billing.read scope; create only when the result shows allowed. This command is not invoked automatically by other CLI commands.

$ibee billing eligibility OBJECTST-STD

JSON output

Add --json to any command for machine-readable output — useful in scripts:

$ibee --json buckets list | jq '.buckets[].name'

Development environment

Use --dev (or IBEE_ENV=dev) with a ibee_dev_key_... token to target the development gateway:

$ibee --dev buckets list