360 Secure SkillHub
360 安全技能中心

huawei-cloud-ecs-servers

通过 Python 脚本调用华为云 ECS SDK,按区域列出弹性云服务器实例的名称、ID、状态、可用区、规格、IP 与时间信息,支持按名称模糊和状态过滤,输出 JSON 或 Markdown 表格;另提供 hcloud CLI 查询方式与只读权限说明。

yangaiwu
yangaiwu
热度 7.65
最近更新 2026-08-22 16:21:31
分类:数据依赖:代码执行 / 第三方 API应用场景:数据处理 / 自动化脚本 / DevOps / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add huawei-cloud-ecs-servers
Metadata
name
huawei-cloud-ecs-servers
version
1.0.0
description
查询华为云 ECS(弹性云服务器)实例列表。输入 region,输出实例名称/ID/状态/ 可用区/实例类型/IP 地址。支持按名称/状态过滤,json/markdown 输出格式。
triggers
["查询华为云ECS","查询ECS实例","列出云服务器","华为云ECS列表","ECS实例查询"]
tags
["huawei-cloud","ecs","query","servers","cloud"]
tools
["curl","git"]

huawei-cloud-ecs-servers

安全硬约束

  1. AK/SK 不写日志:凭据从环境变量动态读取,不输出到 stdout/stderr。
  2. curl 超时:所有外部 API 调用设 30s 超时(SDK 内部已含重试机制)。
  3. 403/429 处理:API 返回 403 提示权限不足;429 提示限流稍后重试。
  4. 无敏感信息输出:输出仅含实例元数据(名称/ID/状态/可用区/类型/IP),不含凭据。

Overview / 概述

查询华为云 ECS(弹性云服务器)实例列表的技能,提供以下能力:

  • list:列出账号下(region/project 范围)全部 ECS 实例,可按 --name 模糊过滤、--status 状态过滤。
  • 输出字段:实例名称、ID、状态、可用区、实例类型(flavor)、IP 地址、创建/更新时间。
  • 输出格式:JSON(默认)或 Markdown 表格。

架构

用户 → python3 scripts/huawei-cloud-ecs-servers.py → huaweicloudsdkecs SDK
  → GET /v1/{project_id}/cloudservers/detail → 华为云 ECS API
  → 返回实例列表 → 标准化输出(json/md)

适用场景

  • 日常巡检:快速查看某区域下所有 ECS 实例状态。
  • 资源管理:按名称/状态过滤定位特定实例。
  • 自动化运维:脚本集成查询 ECS 实例信息。

Prerequisites / 前置条件

1. Python SDK 依赖

pip install huaweicloudsdkecs huaweicloudsdkcore

2. 认证配置

设置华为云 AK/SK 环境变量(脚本动态扫描,不依赖固定变量名):

export HUAWEICLOUD_SDK_AK="你的AccessKey"
export HUAWEICLOUD_SDK_SK="你的SecretKey"

支持以下环境变量前缀(自动扫描):HUAWEI*、HW*、HWC* + 含 ACCESS_KEY/_AK/SECRET_KEY/_SK。

3. IAM 权限

该 skill 只需要只读权限:ecs:servers:list。详见 references/iam-policies.md。

4. hcloud CLI(可选)

CLI 验证或命令行查询可安装 KooCLI,详见 references/cli-installation-guide.md。

Workflow / 工作流

  1. 设置认证:通过环境变量配置 AK/SK。
  2. 执行查询:运行脚本,指定 region 和过滤参数。
  3. 获取结果:脚本分页拉取全部实例,标准化后输出 json 或 md。
  4. 分析输出:根据实例列表进行巡检/管理操作。

Core Commands / 核心命令

列出 ECS 实例

# 列出全部 ECS 实例(默认区域 cn-north-4)
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4

# 按名称模糊过滤
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4 --name web-server

# 按状态过滤(ACTIVE / SHUTOFF / ERROR 等)
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4 --status ACTIVE

# Markdown 表格输出
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4 --format md

# 指定项目 ID
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4 --project-id your-project-id

# JSON + 名称 + 状态组合过滤
python3 scripts/huawei-cloud-ecs-servers.py list --region cn-north-4 --name web --status ACTIVE --format json

CLI 替代方式

# 使用 hcloud CLI 直接查询(需先认证配置)
hcloud ECS ListServersDetails --cli-region=cn-north-4 --limit=1000

KooCLI Command Format Standard

  • Service: ECS(首字母大写)
  • Operation: ListServersDetails(PascalCase)
  • Region: --cli-region={region}(必填)
  • 参数语法: --param=value 或 --param value

Parameter Confirmation / 参数确认

参数 必填 默认值 说明
--region 是 cn-north-4 区域 ID,如 cn-north-4 / cn-east-3
--project-id 否 自动解析 项目 ID,默认由 AK/SK 解析
--name 否 无 按实例名称模糊过滤
--status 否 无 按状态过滤:ACTIVE/SHUTOFF/ERROR/BUILD/REBOOT 等
--format 否 json 输出格式:json / md

输出字段说明

字段 说明
name 实例名称
id 实例 ID(UUID)
status 实例状态(ACTIVE/SHUTOFF/ERROR 等)
availability_zone 可用区(如 cn-north-4a)
flavor.name 实例类型(如 s6.large.2)
addresses IP 地址列表(含固定 IP 和浮动 IP)
created 创建时间
updated 更新时间

Reference Documents / 参考文档

任务结束

完成 ECS 实例列表查询后,在最终答复末尾输出以下 JSON 块并结束任务:

{
  "actions": ["做了什么,如 queried:ecs-servers"],
  "conclusion": "处理结论(查询成功/失败)",
  "artifacts": ["产生的产物:查询结果"],
  "next_step": "下一步建议",
  "issue_summary": "Issue 最新聚合结论(紧凑文本,用 | 分隔)"
}

注意:只输出一个 JSON 块,放在答复末尾。