Install
openclaw skills install @huaweiclouddev/huawei-cloud-cloudrobo-resourceQuery CloudRobo resource quotas and resource pools — list workspace-level and Domain-level quotas with CCE/ModelArts isolation (CCE: cpu/memory/gpu, ModelArts: npu), list resource pools with multi-condition filtering (type/sub-type/pool-type/usages), and show resource pool details with node-level information (name, status, resources, labels). Provides compute capacity visibility for training, evaluation, and inference workloads. Triggers include: resource quota query, resource pool query, resource pool list, resource pool detail, quota list, Domain quota aggregation, CCE quota, ModelArts quota, 资源配额查询, 资源池查询, 资源池列表, 资源池详情, 配额查询.
openclaw skills install @huaweiclouddev/huawei-cloud-cloudrobo-resourceWindows / PowerShell: Examples use bash syntax. To run on Windows PowerShell:
- Flatten
\line continuations to a single line, or end lines with a backtick.- Set env vars with
$env:NAME="value"instead ofexport NAME="value".- Single-quoted JSON
'{"a":"b"}'works as-is.
The cloudrobo-resource skill provides query capabilities for CloudRobo compute resources.
It covers two core areas: resource quota querying (with Domain-level aggregation and
CCE/ModelArts isolation) and resource pool querying (list with multi-condition filtering,
show with node-level details). This skill is read-only — no write operations are included.
Applicable scenarios:
Architecture:
Agent / LLM
│
├── CLI → cloudrobo resource <command>
├── SDK → ResourceClient (Python)
│
▼
cloudrobo-service (REST API)
/v1/resources/quotas
/v1/resources/pools
/v1/resources/pools/{pool_id}
All operations target the cloudrobo-service backend. Resource operations are
domain-level — quota list and pool list require ABAC permission; pool detail does not.
See references/cli-installation-guide.md for CLI installation, AK/SK authentication, and
initial configuration. The cloudrobo-resource package depends on cloudrobo-core.
Ensure cloudrobo workspace use --workspace-id <id> has been run to set the active
workspace context before using resource commands.
cloudrobo resource list-quotas (returns domain_quotas + quotas + page_info)cloudrobo resource list-quotas --resource-type CCE (CCE: npu=0; MODELARTS: cpu/memory/gpu=0)cloudrobo resource list-quotas --workspace-id <id> (workspace-scoped quotas)domain_quotas[].available_spec for available compute resourcescloudrobo resource list-pools (returns resources + page_info)cloudrobo resource list-pools --resource-type MODELARTS --resource-sub-type STANDARDcloudrobo resource show-pool --pool-id <id> (returns node info, status, config)cloudrobo resource <command> [OPTIONS]
| Feature | Description | Example |
|---|---|---|
| Command group | resource | cloudrobo resource |
| Subcommand | kebab-case | list-quotas, list-pools, show-pool |
| Output format | JSON to stdout | out(result) |
| Comma list | --usages TRAINING,INFERENCE | --usages TRAINING,INFERENCE |
| Enum params | click.Choice validated | `--resource-type CCE |
| Pagination | --limit 1-50 / --offset N | --limit 20 --offset 0 |
cloudrobo resource list-quotas [--workspace-id <id>] [--resource-id <id>] [--resource-type CCE|MODELARTS] [--resource-sub-type CPU|GPU|STANDARD|LITE] [--pool-type DEDICATED|SHARED] [--limit <n>] [--offset <n>] [--order ASC|DESC]
client.list_quotas(**params)GET /v1/resources/quotasReturns: domain_quotas (Domain-level aggregation with total_spec, used_spec,
available_spec), quotas (workspace-level list with quota_id, resource_name, specs,
nodes), page_info. CCE type quotas have npu=0; ModelArts type quotas have
cpu/memory/gpu=0.
cloudrobo resource list-pools [--resource-type CCE|MODELARTS] [--resource-sub-type CPU|GPU|STANDARD|LITE] [--pool-type DEDICATED|SHARED] [--usages TRAINING,INFERENCE] [--limit <n>] [--offset <n>] [--order ASC|DESC]
client.list_pools(**params)GET /v1/resources/poolsReturns: resources (list of ResourceVo with resource_id, resource_name, resource_type,
resource_sub_type, nodes, config, status, description, usages, pool_type, create_at),
page_info. Pass resource_id to show-pool --pool-id.
cloudrobo resource show-pool --pool-id <uuid>
client.show_pool(pool_id)GET /v1/resources/pools/{pool_id}--pool-id takes the pool's resource_id exactly as returned by list-pools — pass it
through unmodified (no prefix stripping needed).
Returns: full ResourceVo including nodes (name, status, resources,
available_resources, labels), config, status (AVAILABLE/UNAVAILABLE).
| Scenario | Handling |
|---|---|
Missing workspace_id | Quota list returns all domain quotas; use --workspace-id to filter by workspace |
| ABAC permission denied (403) | Quota list and pool list require ABAC; pool detail does not require ABAC |
| Pagination out of range (400) | limit must be 1-50; offset must be ≥ 0; server validates and returns 400 |
| Resource pool not found (404) | show-pool with invalid pool_id returns 404; verify with list-pools first |
| AK/SK not set | Operations fail at HTTP signing step; set HUAWEI_CLOUD_AK/HUAWEI_CLOUD_SK |
| API paths | Sourced from SDK source code (_url() calls in client.py), not inferred |
| Quota calculation isolation | CCE: only cpu/memory/gpu counted (npu=0); ModelArts: only npu counted (cpu/memory/gpu=0) |
bash scripts/test-cli-commands.sh -s . -e cli
# CLI / SDK
bash scripts/test-cli-commands.sh -s . -e {cli|sdk}
See templates/test-vars.json for the full test case list covering quota querying
and resource pool querying scenarios.
list-quotas returns domain_quotas with CCE npu=0 and ModelArts cpu/memory/gpu=0list-quotas supports --workspace-id and --resource-type filteringlist-pools returns resources with page_infoshow-pool returns node-level details including labelslist-quotas and list-pools support pagination (--limit, --offset)list-quotas before launching workloads to verify available capacity--resource-type filter to verify CCE/ModelArts quota isolationlist-pools with --usages filter to find pools suitable for specific workloadsshow-pool to inspect node-level details before allocating resourcesdomain_quotas[].available_spec for Domain-level capacity overview--limit, --offset) to manage large result sets efficiently