Install
openclaw skills install @huaweiclouddev/huawei-cloud-ecs-query查询华为云ECS弹性云服务器信息。仅用于查询,不包含创建/删除/规格变更等写操作。当用户需要查看华为云ECS实例列表、实例详情、实例状态时使用。支持AK/SK和Token两种认证方式,支持表格和JSON两种输出格式,支持多区域查询。触发场景:用户要求"查询云服务器列表"、"查看ECS实例详情"、"ECS运行状态"、"列出ECS"、"查看服务器状态",或请求中带 update/修改/创建/删除 ECS 以外的只读查询意图时(如查 flavor、可用区、镜像等 ECS 属性)使用。写操作请求(创建、删除、规格变更、开机/关机)请使用其他技能。
openclaw skills install @huaweiclouddev/huawei-cloud-ecs-query本技能用于查询华为云弹性云服务器(ECS)的信息,包括:
支持两种认证方式(AK/SK 签名认证 和 Token 认证),两种输出格式(表格 和 JSON),以及多区域查询。
pip install requests pyyaml
方式一:AK/SK 认证(推荐)
方式二:Token 认证
创建配置文件 ~/.huawei-ecs/config.yaml(或通过 --config 参数指定路径):
# 认证方式:aksk 或 token
auth_method: aksk
# AK/SK 认证配置
ak: "your-access-key-id"
sk: "your-secret-access-key"
project_id: "your-project-id"
# Token 认证配置(当 auth_method 为 token 时使用)
# username: "your-username"
# password: "your-password"
# domain_id: "your-domain-id"
# 默认区域
region: "cn-north-4"
# 输出格式:table 或 json
output_format: "table"
当用户请求查询 ECS 信息时,按以下流程执行:
~/.huawei-ecs/config.yaml 是否存在;若缺失,提示用户先完成配置(参考"前置条件"章节)list-servers(可加 --status/--name 过滤)show-serverserver-status--output jsonreferences/troubleshooting.md)本技能脚本通过华为云 API 直连实现查询。若环境中已安装 hcloud CLI(KooCLI)并完成 hcloud configure,可使用以下等价命令快速查询:
# 查询实例列表
hcloud ECS ListServersDetails --cli-region=cn-north-4 --limit=25
# 查询单个实例详情
hcloud ECS ShowServer --cli-region=cn-north-4 --server_id=<server_id>
# 查询实例状态(结合 --cli-query 过滤)
hcloud ECS ListServersDetails --cli-region=cn-north-4 --status=ACTIVE
CLI 安装与认证方式参考 references/cli-installation-guide.md。
python scripts/ecs_query.py list-servers --config config.yaml
可选参数:
--region:指定区域(如 cn-north-4, cn-east-3, ap-southeast-1)--output:输出格式(table 或 json)--limit:返回数量限制(默认25)--offset:页码偏移(默认1)--status:按状态过滤(ACTIVE, SHUTOFF, BUILD, ERROR 等)--name:按名称过滤--flavor:按规格ID过滤python scripts/ecs_query.py show-server --server-id <server_id> --config config.yaml
获取 server_id 指引:若不知道实例 ID,先运行
python scripts/ecs_query.py list-servers --config config.yaml(或hcloud ECS ListServersDetails --cli-region=<region>),从结果中复制目标实例的 ID 列。
python scripts/ecs_query.py server-status --server-id <server_id> --config config.yaml
获取 server_id 指引:同上,先用
list-servers获取实例 ID。
实例列表以表格形式展示,包含以下列:
| 列名 | 说明 |
|---|---|
| ID | 服务器ID |
| Name | 服务器名称 |
| Status | 运行状态 |
| Flavor | 规格类型 |
| vCPU | 虚拟CPU核数 |
| RAM(MB) | 内存大小 |
| Private IP | 私有IP地址 |
| Public IP | 弹性公网IP |
| Created | 创建时间 |
| AZ | 可用区 |
| 状态值 | 含义 |
|---|---|
| ACTIVE | 运行中 |
| SHUTOFF | 已关机 |
| BUILD | 创建中 |
| ERROR | 故障 |
| REBOOT | 重启中 |
| HARD_REBOOT | 强制重启中 |
| MIGRATING | 迁移中 |
| RESIZE | 规格变更中 |
| VERIFY_RESIZE | 规格变更验证中 |
详细API接口说明请参考 references/api-reference.md。
~/.huawei-ecs/config.yamlecs.{region}.myhuaweicloud.comreferences/troubleshooting.mdecs.{region}.myhuaweicloud.com)references/iam-policies.md