mcpField
H
huawei-cloud-ecs-query

huawei-cloud-ecs-query

github.com/huaweicloudCloud & DevOps5977 installsUpdated 2d ago
Repository

About huawei-cloud-ecs-query

A skill for querying Huawei Cloud ECS, intended for users who need server information through scripts or hcloud CLI. It supports multiple regions, AK/SK or Token authentication, and table or JSON output for instance lists, details, and status.

Key features

  1. 01Query instance lists, details, and status
  2. 02Query regions and filter instances
  3. 03Support AK/SK and Token authentication
  4. 04Output tables or JSON
  5. 05Use scripts or hcloud CLI

Use cases

  1. 01Inventory ECS instances in a region
  2. 02Check one server's configuration and status
  3. 03Filter instances by name or status

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-ecs-query

After installing, type/huawei-cloud-ecs-queryin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

config.example.yaml
evolutions.json
references/
acceptance-criteria.md
api-reference.md
cli-installation-guide.md
iam-policies.md
troubleshooting.md
verification-method.md
scripts/
__init__.py
auth.py
ecs_query.py
formatter.py

Details

From the project README

华为云 ECS 查询技能

概述

本技能用于查询华为云弹性云服务器(ECS)的信息,包括:

  • 查询实例列表:列出所有ECS实例的基本信息
  • 查询实例详情:获取单个ECS实例的详细配置信息
  • 查询实例状态:查看ECS实例的运行状态

支持两种认证方式(AK/SK 签名认证 和 Token 认证),两种输出格式(表格 和 JSON),以及多区域查询。

前置条件

1. 安装 Python 依赖
pip install requests pyyaml
2. 获取认证凭证

方式一:AK/SK 认证(推荐)

  • 登录华为云控制台 → 右上角用户名 → "我的凭证" → "访问密钥" → 新增访问密钥
  • 保存 AK(Access Key ID)和 SK(Secret Access Key)
  • 同时需要获取 Project ID(项目ID):在"我的凭证"页面查看

方式二:Token 认证

  • 需要华为云账号的用户名、密码
  • 需要账号的 Domain ID(租户ID,在"我的凭证"页面查看)
  • 需要Project ID
3. 配置文件

创建配置文件 ~/.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 信息时,按以下流程执行:

  1. 识别查询类型:确定用户需要的是实例列表(list)、实例详情(show)还是实例状态(status)
  2. 确认认证配置:检查 ~/.huawei-ecs/config.yaml 是否存在;若缺失,提示用户先完成配置(参考"前置条件"章节)
  3. 执行查询:根据查询类型运行对应命令(参考"核心命令"章节)
    • 列表 → list-servers(可加 --status/--name 过滤)
    • 详情 → show-server
    • 状态 → server-status
  4. 格式化输出:默认表格输出;用户要求 JSON 时用 --output json
  5. 处理错误:API 请求失败时,根据错误信息提示用户检查网络、区域或权限(参考"注意事项"与 references/troubleshooting.md)

核心命令

hcloud CLI 等价命令(推荐)

本技能脚本通过华为云 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 参考

详细API接口说明请参考 references/api-reference.md。

排障

  • 配置文件缺失:按"前置条件"章节创建 ~/.huawei-ecs/config.yaml
  • 认证失败:检查 AK/SK 或 Token 配置是否正确,账号是否具备 ECS 只读权限
  • 连接失败:检查网络是否能访问 ecs.{region}.myhuaweicloud.com
  • 更多排障指引见 references/troubleshooting.md

注意事项

  1. 安全提醒:配置文件包含敏感凭证信息,请妥善保管,不要提交到版本控制系统
  2. 网络要求:需要能访问华为云API端点(ecs.{region}.myhuaweicloud.com)
  3. 权限要求:使用的账号/IAM用户需要具备 ECS 只读权限(ECS ReadOnlyAccess),详细策略见 references/iam-policies.md
  4. 区域支持:华为云有多个区域,常见区域包括:
    • cn-north-4(华北-北京四)
    • cn-north-1(华北-北京一)
    • cn-east-3(华东-上海一)
    • cn-south-1(华南-广州)
    • ap-southeast-1(中国-香港)
    • ap-southeast-2(亚太-新加坡)
  5. AK/SK 签名:使用 SDK-HMAC-SHA256 签名算法,与华为云官方签名规范一致

Comments

Markdown supported