Install
openclaw skills install @erickeyhu-hug/huawei-cloud-dcs-listQuery Huawei Cloud DCS (Distributed Cache Service) instance names and list all managed Redis/Memcached instances across a region. Provides read-only name lookup, name filtering, status-based filtering, and instance ID lookup for inventory reporting and daily inspection. Triggers include: DCS list, list DCS instances, query DCS names, DCS instance name, find DCS instance, DCS name lookup, DCS instance list, Redis instance names, cache instance names, DCS inventory, 查询DCS名称, DCS实例名称, 缓存实例名称, DCS列表, DCS实例列表, 查询缓存实例名称.
openclaw skills install @erickeyhu-hug/huawei-cloud-dcs-listThis skill provides read-only name-query capabilities for Huawei Cloud DCS (Distributed Cache Service, i.e. managed Redis / Memcached). It lists all DCS instances in a region, extracts instance names, and supports filtering by name and status, and instance ID lookup. It is designed for quick name lookups, inventory reporting, and daily instance inspection.
Architecture:
Agent → hcloud CLI (primary) → Huawei Cloud DCS API
↘ Python SDK (fallback) ↗
Applicable Scenarios:
references/cli-installation-guide.mdhuaweicloudsdkdcs package (SDK fallback)hcloud configure setDCS ReadOnlyAccess or finer-grained policy — See references/iam-policies.mdNote on exact name matching: The DCS
ListInstancesAPI documents aname_equalquery parameter for exact-match filtering. In current deployments it can return empty results even for existing names, so the fuzzy--namefilter is the reliable way to look up an instance by name; use the returnedinstance_idwithShowInstancefor precise detail.
| Purpose | Command |
|---|---|
| List all DCS instances | hcloud DCS ListInstances --cli-region={region} --limit={limit} |
| List instances filtered by name (fuzzy) | hcloud DCS ListInstances --cli-region={region} --name={name} [--limit={limit}] |
| List instances filtered by status | hcloud DCS ListInstances --cli-region={region} --status={status} [--limit={limit}] |
| List instances filtered by instance ID | hcloud DCS ListInstances --cli-region={region} --instance_id={instance_id} |
| Show a single instance's detail | hcloud DCS ShowInstance --cli-region={region} --instance_id={instance_id} |
To extract just the instance names:
hcloud DCS ListInstances --cli-region={region} --limit={limit} | jq -r '.instances[].name'
To list instance names with status:
hcloud DCS ListInstances --cli-region={region} --limit={limit} | jq -r '.instances[] | "\(.name)\t\(.status)\t\(.instance_id)"'
When the CLI is unavailable, use the Python SDK:
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdcs.v2.region.dcs_region import DcsRegion
from huaweicloudsdkdcs.v2 import dcs_client
from huaweicloudsdkdcs.v2.model import ListInstancesRequest
credentials = BasicCredentials() \
.with_ak(os.getenv("HUAWEI_ACCESS_KEY")) \
.with_sk(os.getenv("HUAWEI_SECRET_KEY")) \
.with_project_id("{project_id}")
client = dcs_client.DcsClient.new_builder() \
.with_credentials(credentials) \
.with_region(DcsRegion.value_of("{region}")) \
.build()
request = ListInstancesRequest()
request.limit = 100
response = client.list_instances(request)
for instance in response.instances:
print(instance.name, instance.status, instance.instance_id)
| Parameter | Required | Description | Example |
|---|---|---|---|
{region} | Yes | Huawei Cloud region | cn-north-4 |
{name} | No | DCS instance name filter (fuzzy match) | dcs-eval-client |
{status} | No | Instance status filter | RUNNING |
{instance_id} | No | Instance ID filter / required for ShowInstance | 51bb645e-d27f-465d-8192-c912d134756c |
{limit} | No | Maximum records to return (1-1000, default 10) | 100 |
{project_id} | Conditional | Project ID (required for SDK/API) | 0a1234b56c78d9ef |
hcloud DCS <Operation> --cli-region=<region> [--key=value ...]
| Feature | Description | Example |
|---|---|---|
| Service name | DCS | hcloud DCS ListInstances |
| Operation name | PascalCase | ListInstances, ShowInstance |
| Region parameter | --cli-region=<value> | --cli-region=cn-north-4 |
| Simple parameter | --key=value | --name=dcs-eval-client |