Skip to main content

IBEE Solutions CLI

Official command-line interface for the IBEE Solutions cloud platform. Built on the ibee Python SDK.

Installation

pip install ibee-cli

Requires Python 3.10+.

Authentication

Create an API token in the portal under Settings > API Tokens, then:

export IBEE_TOKEN="ibee_prod_key_xxxxxxxxxxxx"
export IBEE_WORKSPACE_ID="710995"

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

Usage

# Object storage
ibee buckets list
ibee buckets create my-bucket --region in-south-1
ibee buckets get my-bucket
ibee buckets update my-bucket --public
ibee buckets delete my-bucket --yes

# S3-compatible credentials (secret_access_key is shown only at creation)
ibee buckets credentials list
ibee buckets credentials create --name deploy
ibee buckets credentials create \
  --name backups --bucket-scope specific --allowed-bucket my-bucket
ibee buckets credentials get ACCESS_KEY_ID
ibee buckets credentials revoke ACCESS_KEY_ID --yes

# Secret Store — stores
ibee secrets stores list
ibee secrets stores create production-secrets --description "prod"
ibee secrets stores get STORE_ID
ibee secrets stores update STORE_ID --name renamed
ibee secrets stores archive STORE_ID --yes

# Secret Store — secrets
ibee secrets list --store-id STORE_ID
ibee secrets create --store-id STORE_ID --name db-url --value '{"url":"postgres://..."}'
ibee secrets get SECRET_ID           # metadata
ibee secrets value SECRET_ID         # current value
ibee secrets set-value SECRET_ID --value '{"url":"postgres://new"}'
ibee secrets delete SECRET_ID --yes

# Compute catalog (discover placement / plans / images for `create`)
ibee compute sites
ibee compute plans --vm-type cloud
ibee compute images --vm-type gpu

# Billing admission (SKU must come from an IBEE product catalog)
ibee billing eligibility --sku-code PLAN_SKU

# Standalone Block Storage
ibee block-storage list
ibee block-storage create data --size-gb 100 --site-id SITE_ID
ibee block-storage get VOLUME_ID
ibee block-storage operations VOLUME_ID
ibee block-storage attach VOLUME_ID --node-name NODE --vm-id VM_ID
ibee block-storage detach VOLUME_ID --node-name NODE --confirm-unmounted
ibee block-storage resize VOLUME_ID --new-size-gb 200
ibee block-storage delete VOLUME_ID --yes

# CDN
ibee cdn list
ibee cdn create assets --origin-id BUCKET_NAME
ibee cdn get DISTRIBUTION_ID
ibee cdn update DISTRIBUTION_ID --cache-policy media
ibee cdn website set DISTRIBUTION_ID --index-document index.html
ibee cdn domains create DISTRIBUTION_ID static.example.com
ibee cdn domains verify DISTRIBUTION_ID static.example.com
ibee cdn purge DISTRIBUTION_ID --mode all
ibee cdn generate-url BUCKET_NAME path/to/object.jpg --expires-in 3600
ibee cdn delete DISTRIBUTION_ID --yes

# Cloud VMs
ibee vms list
ibee vms get VM_ID
ibee vms create web-01 --plan-id PLAN_ID --template-id IMAGE_ID --ssh-key-id KEY_ID --wait
ibee vms start VM_ID
ibee vms stop VM_ID
ibee vms reboot VM_ID
ibee vms metrics VM_ID
ibee vms metrics-timeseries VM_ID --range 24h
ibee vms bandwidth VM_ID --month 2026-08
ibee vms events VM_ID --limit 50

# Access credentials. Passwords are never accepted as command arguments.
printf '%s\n' "$NEW_VM_PASSWORD" | ibee vms access-update VM_ID --password-stdin --wait
ibee vms access-update VM_ID --prompt-password --enable-password-auth --wait
ibee vms access-update VM_ID --ssh-key-mode add --ssh-key-id SSH_KEY_ID --wait

# Resize and persistent block volumes
ibee vms resize-precheck VM_ID --cpu 4 --ram-mb 8192 --disk-gb 80
ibee vms resize VM_ID --cpu 4 --ram-mb 8192 --disk-gb 80 --wait
ibee vms resize-plan VM_ID --cpu 8 --ram-mb 16384 --confirm-downgrade --wait
ibee vms resize-root-disk VM_ID --new-size-gb 120 --wait
ibee vms volume-attach VM_ID VOLUME_ID --mode single-writer --wait
ibee vms mount-guidance-acknowledge VM_ID VOLUME_ID
ibee vms volume-detach VM_ID VOLUME_ID --confirm-unmounted --yes --wait

# Snapshots and restores
ibee vms snapshots list VM_ID
ibee vms snapshots create VM_ID before-upgrade --mode all_attached
ibee vms snapshots get SNAPSHOT_SET_ID
ibee vms snapshots restore VM_ID SNAPSHOT_SET_ID \
  --target-mode new_vm --target-vm-name restored-web --auto-start --yes
ibee vms snapshots restore-status RESTORE_ID
ibee vms snapshots delete SNAPSHOT_SET_ID --yes

# Automated backup policy and manual backup runs
ibee vms backup-policy get VM_ID
ibee vms backup-policy enable VM_ID \
  --frequency daily --timezone Asia/Kolkata --hour 2 --retention-days 30
ibee vms backup-policy update VM_ID --frequency weekly --day-of-week 6
ibee vms backup-policy reschedule VM_ID --next-run-at 2026-08-10T02:00:00Z
ibee vms backup-policy disable VM_ID
ibee vms backups list VM_ID
ibee vms backups create VM_ID --reason before-release
ibee vms backups get BACKUP_RUN_ID
ibee vms backups restore VM_ID RECOVERY_POINT_ID --target-mode replace --yes
ibee vms backups restore-status RESTORE_ID
ibee vms delete VM_ID --yes --wait

# GPU VMs expose the same lifecycle, snapshot, backup, metrics, and volume commands
ibee gpus list
ibee gpus create train-01 --gpu-model A100 --gpu-count 1 \
  --plan-id PLAN_ID --template-id IMAGE_ID --wait
ibee gpus start VM_ID
ibee gpus stop VM_ID
ibee gpus reboot VM_ID
ibee gpus metrics VM_ID
ibee gpus resize-precheck VM_ID --cpu 16 --ram-mb 65536
ibee gpus snapshots create VM_ID before-training --mode root_only
ibee gpus backup-policy enable VM_ID --frequency daily --retention-days 14
ibee gpus delete VM_ID --yes

# Short-lived graphical console sessions for either VM type
ibee console create VM_ID --vm-type cloud
ibee console get SESSION_ID
ibee console close SESSION_ID --yes

# Async operations — poll a create/delete/power action to completion
ibee ops get OPERATION_ID --wait

# VPCs
ibee vpcs sites
ibee vpcs list
ibee vpcs create production --site-id SITE_ID --cidr 10.44.0.0/22 --no-auto-cidr
ibee vpcs get VPC_ID
ibee vpcs update VPC_ID --name production-apps
ibee vpcs delete VPC_ID --yes

# Subnets and VM attachments
ibee vpcs subnets list VPC_ID
ibee vpcs subnets create VPC_ID services --cidr 10.44.0.0/24 --no-auto-cidr
ibee vpcs subnets update VPC_ID SUBNET_ID --dns 1.1.1.1 --dns 8.8.8.8
ibee vpcs nodes list VPC_ID
ibee vpcs nodes attach VPC_ID VM_ID --subnet-id SUBNET_ID --connectivity private
ibee vpcs nodes detach VPC_ID VM_ID --yes

# NAT and port forwarding
ibee vpcs nat list VPC_ID
ibee vpcs nat create VPC_ID --name egress --reserved-ip-id RESERVED_IP_ID
ibee vpcs forwarding list VPC_ID NAT_GATEWAY_ID
ibee vpcs forwarding create VPC_ID NAT_GATEWAY_ID ssh \
  --external-port 2222 --internal-ip 10.44.0.10 --internal-port 22
ibee vpcs forwarding update VPC_ID NAT_GATEWAY_ID RULE_ID --external-port 2200

# Reserved public IPs
ibee reserved-ips list --site-id SITE_ID
ibee reserved-ips reserve --site-id SITE_ID --label edge
ibee reserved-ips update RESERVED_IP_ID --reverse-dns app.example.com
ibee reserved-ips attach RESERVED_IP_ID VM_ID --vpc-id VPC_ID --subnet-id SUBNET_ID
ibee reserved-ips detach RESERVED_IP_ID
ibee reserved-ips move RESERVED_IP_ID NEW_VM_ID --vpc-id VPC_ID --subnet-id SUBNET_ID
ibee reserved-ips release RESERVED_IP_ID --yes

# Firewall groups, rules, and attachments
ibee firewalls create web --description "Web ingress"
ibee firewalls rules create FIREWALL_GROUP_ID \
  --protocol tcp --port-start 443 --port-end 443 --remote-target 0.0.0.0/0
ibee firewalls rules update FIREWALL_GROUP_ID RULE_ID --disabled
ibee firewalls attachments attach FIREWALL_GROUP_ID VM_ID
ibee firewalls attachments detach FIREWALL_GROUP_ID VM_ID --yes

# L4 and L7 load balancers
ibee load-balancers list --layer l7
ibee load-balancers create-l4 tcp-edge \
  --backends '[{"type":"ip","target":"10.44.0.10","port":443}]'
ibee load-balancers create-l7 web \
  --protocol https \
  --backends '[{"type":"service","target":"api","port":8080}]' \
  --routing '{"algorithm":"least_request"}' \
  --custom-domain app.example.com
ibee load-balancers update-l7 LOAD_BALANCER_ID --name public-web
ibee load-balancers status LOAD_BALANCER_ID
ibee load-balancers delete LOAD_BALANCER_ID --yes

Create/delete/power, access, resize, and volume actions are asynchronous; add --wait to block until the operation finishes, or poll the returned operation later with ibee ops get.

Snapshot and backup restores can replace a VM, create a new VM, or restore one volume. They require --yes (or an interactive confirmation). Run the command with --help to see placement, plan, GPU, bandwidth, and selected-volume restore options. Snapshot deletion and volume detachment use the same confirmation rule.

access-update never accepts a password value in the command line, so passwords do not appear in shell history or process listings. Use --prompt-password for an interactive hidden prompt, or pipe one line to --password-stdin.

Bucket and VM placement are automatic when --site-id is omitted. Use ibee compute sites and pass --site-id only when placement must be pinned.

Billable creates send one product request. The public gateway performs the authoritative, fail-closed billing decision before routing; a valid denial is returned without calling the product service. ibee billing eligibility remains available as an optional point-in-time preview.

For load-balancer backends, routing, TLS, and L7 rules, pass JSON matching the API reference. This keeps advanced configurations available without a large set of fragile shell flags.

Every command accepts --json for raw output:

ibee --json buckets list

Environments

The CLI targets production at https://api.ibee.ai/v1 by default. Use --dev (or IBEE_ENV=dev) for https://api.ibee.co.in/v1, or --base-url for a custom endpoint. Match production tokens to .ai and development tokens to .co.in; resource IDs are environment-specific:

ibee --dev buckets list

Related

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibee_cli-0.3.0.tar.gz (49.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ibee_cli-0.3.0-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file ibee_cli-0.3.0.tar.gz.

File metadata

  • Download URL: ibee_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 49.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ibee_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a96d0d51f0a3d5a7c49cf2b9951773e3a6a55f520fa888c53d873f1732acf31a
MD5 108ad7fe7fb2022ad6b8e501c499adb1
BLAKE2b-256 c73739b21bb007c459b875e0754777b75abbbcd1defbf2b58f3b6d3de7ad436a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ibee_cli-0.3.0.tar.gz:

Publisher: publish.yml on devs-ibee/ibee-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ibee_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ibee_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ibee_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d5386197387a4f9d0b4312da0553639083192659db833f16bc055af06eaeecb
MD5 bd81e732bdfb66e349b3e4b0f4aa2f7f
BLAKE2b-256 4e6fa079a174d29d0b6feeded18061037a590e4ddfb90365d8c8985a796f0346

See more details on using hashes here.

Provenance

The following attestation bundles were made for ibee_cli-0.3.0-py3-none-any.whl:

Publisher: publish.yml on devs-ibee/ibee-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page