Install
openclaw skills install @erickeyhu-hug/huawei-cloud-asm-fuzzy-listQuery the list of Huawei Cloud ASM (Application Service Mesh) meshes belonging to the current tenant / project and fuzzy-match them by mesh name. Returns the mesh name (metadata.name), mesh id (metadata.uid), status phase and creation timestamp for every mesh whose name contains the given keyword (case-insensitive substring match, client-side). Uses the huaweicloudsdkasm Python SDK ListMeshes call (GET /v1/{project_id}/meshes). Read-only — never creates, modifies or deletes any mesh or related resource. Use this skill whenever the user wants to list/inspect the ASM meshes of the tenant or query the ASM name list with fuzzy matching, e.g. for mesh inventory, locating a mesh by name, daily inspection or troubleshooting. Triggers include: "query ASM list", "list ASM", "ASM name list", "ASM mesh list", "模糊查询ASM", "查询ASM列表", "ASM名称", "查询ASM网格列表", "list meshes", "查询服务网格", "服务网格列表", "ASM inventory", "find ASM mesh by name".
openclaw skills install @erickeyhu-hug/huawei-cloud-asm-fuzzy-listThis skill queries the list of ASM (Application Service Mesh) meshes under
the current Huawei Cloud tenant / project and fuzzy-matches them by mesh
name. It returns the matching meshes together with their key attributes: the
mesh name (metadata.name), mesh id (metadata.uid), status (status.phase)
and creation timestamp (metadata.creation_timestamp).
The ASM list API (GET /v1/{project_id}/meshes) returns all meshes of the
project and has no server-side name filter. Therefore the skill performs a
client-side fuzzy match: it lists all meshes and keeps only those whose
name contains the requested keyword (case-insensitive substring match).
Architecture:
Agent → huaweicloudsdkasm.v1 AsmClient.list_meshes() → Huawei Cloud ASM API (GET /v1/{project_id}/meshes)
↘ client-side fuzzy filter on metadata.name → matched meshes
API used (verified from SDK _http_info):
| Operation | SDK Method | API Path |
|---|---|---|
| List meshes | AsmClient.list_meshes() | GET /v1/{project_id}/meshes |
Region endpoint (from SDK AsmRegion): cn-north-4 →
https://asm.cn-north-4.myhuaweicloud.com. Note: the ASM service currently
supports only the cn-north-4 region — AsmRegion.value_of() rejects any
other region id.
Applicable Scenarios:
能力边界(Capability Boundary): 本 Skill 仅查询 ASM 网格列表并按名称模糊匹配。不创建/删除/修改网格, 也不查询/操作网格内的服务、虚拟服务、目标规则、网关等子资源。若用户询问 "创建/删除/更新ASM网格" 或 "查询网格内资源" 等,请明确告知本 Skill 不提供 该能力。
Python 3.8+ with the Huawei Cloud Python SDK installed:
pip3 install huaweicloudsdkasm
Authentication credentials — HUAWEICLOUD_SDK_AK and
HUAWEICLOUD_SDK_SK environment variables (or the alternate
HUAWEI_ACCESS_KEY/HUAWEI_SECRET_KEY, or HWC_AK/HWC_SK). Credentials
are read from the environment only — never hardcode them.
IAM permissions — the account needs the mesh list permission. See
references/iam-policies.md.
A region where the tenant owns ASM meshes; specify it with
AsmRegion.value_of(...).
cn-north-4; let the user override with
another region if needed.list_meshes() through the SDK to fetch all meshes.metadata.name contains the keyword (case-insensitive). If no keyword
is given, list all meshes.region_id ... is not in the following supported regions): the ASM service only supports cn-north-4 — use that region.APIGW.0802 forbidden or a 403): the account
lacks permission — verify the IAM policy grants the mesh list action.pip3 install huaweicloudsdkasm.This skill runs through the Python SDK because the KooCLI (hcloud) does
not support the ASM service. Use the following pattern:
python3 -c "
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkasm.v1 import AsmClient, ListMeshesRequest
from huaweicloudsdkasm.v1.region.asm_region import AsmRegion
client = AsmClient.new_builder() \\
.with_credentials(BasicCredentials(os.environ['HUAWEICLOUD_SDK_AK'],
os.environ['HUAWEICLOUD_SDK_SK'])) \\
.with_region(AsmRegion.value_of('cn-north-4')) \\
.build()
resp = client.list_meshes(ListMeshesRequest())
for m in resp.items or []:
print(m.metadata.name, m.metadata.uid, m.status.phase)
"
python3 -c "
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkasm.v1 import AsmClient, ListMeshesRequest
from huaweicloudsdkasm.v1.region.asm_region import AsmRegion
keyword = 'prod' # the fuzzy name keyword
client = AsmClient.new_builder() \\
.with_credentials(BasicCredentials(os.environ['HUAWEICLOUD_SDK_AK'],
os.environ['HUAWEICLOUD_SDK_SK'])) \\
.with_region(AsmRegion.value_of('cn-north-4')) \\
.build()
resp = client.list_meshes(ListMeshesRequest())
matched = [m for m in (resp.items or []) if keyword.lower() in (m.metadata.name or '').lower()]
for m in matched:
print(m.metadata.name, m.metadata.uid, m.status.phase, m.metadata.creation_timestamp)
print('matched', len(matched))
"
Note:
ListMeshesRequestaccepts no parameters. Fuzzy matching is done client-side onmetadata.name. An emptyitemsarray (or no matches) means the tenant has no meshes matching in that region.
| Parameter | Required | Description | Example |
|---|---|---|---|
{region} | No | Huawei Cloud region. Only cn-north-4 is supported by the ASM service (default cn-north-4) | cn-north-4 |
{keyword} | No | Fuzzy name substring to match (case-insensitive). Empty = list all meshes | prod |
Note: The ASM service supports only the
cn-north-4region; passing any other region id toAsmRegion.value_of()raises aKeyError. If the user does not provide a keyword, the skill lists all meshes of the project. If a keyword is provided, only meshes whose name contains it are returned.
Each mesh is printed on one line as:
<mesh_name> <mesh_id> <status_phase> <creation_timestamp>
mesh_name — metadata.namemesh_id — metadata.uidstatus_phase — status.phase (e.g. available)creation_timestamp — metadata.creation_timestampWhen a fuzzy keyword is used, the output ends with matched <N> where N is the
number of matching meshes. An empty list (or matched 0) is a valid result and
means no mesh matches in the region.
cn-north-4 region.python3 -c "from huaweicloudsdkasm.v1 import AsmClient, ListMeshesRequest; print('SDK OK')"total meshes: 0 when the tenant has no meshes).matched N; a keyword with
no matches must return matched 0 without error.GET /v1/{project_id}/meshes.See references/verification-method.md for the full procedure.
cn-north-4 is supported by ASM.HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK);
never embed credentials in the conversation or files.This skill is SDK-based — the KooCLI (hcloud) has no ASM service (the
service name ASM is rejected by the CLI with [USE_ERROR]Unsupported service: ASM). All operations are performed via the huaweicloudsdkasm
Python SDK. There are therefore no hcloud <Service> <Operation> commands to
document here.