mcpField
H
huawei-cloud-iam-query

huawei-cloud-iam-query

github.com/huaweicloud云与 DevOps5917.2k 次安装2 天前更新
代码仓库

关于 huawei-cloud-iam-query

通过本地 Python 脚本和 Huawei Cloud Python SDK 查询云资源的只读技能,面向资源盘点、参数准备和自动化验证。支持查询资源详情及可用规格、镜像和磁盘类型,不创建、修改或删除资源。

主要功能

  1. 01查询资源列表和详情
  2. 02查询可用规格、镜像和磁盘类型
  3. 03获取资源标识及依赖关系
  4. 04通过本地脚本调用 Python SDK
  5. 05仅执行只读查询

适用场景

  1. 01盘点指定区域中的现有云资源
  2. 02为自动化配置收集真实资源参数
  3. 03核验非 IaC 创建的资源信息

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/huawei-cloud-iam-query确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

requirements.txt
references/iam/
guide.md
scripts/
check_env.ps1
check_env.sh
config.py
ensure_env.py
scripts/iam/
check_all_projects_permission_for_agency.py
check_domain_permission_for_agency.py
check_project_permission_for_agency.py
get_account_summary_v5.py
get_agency_v5.py
get_asymmetric_signature_switch_v5.py
get_authorization_schema_v5.py
get_feature_status_v5.py
get_policy_v5.py
get_policy_version_v5.py
get_project_id.py
get_service_linked_agency_deletion_status_v5.py
keystone_check_domain_permission_for_group.py
keystone_check_project_permission_for_group.py
keystone_check_user_in_group.py
keystone_checkrole_for_group.py
keystone_list_all_project_permissions_for_group.py
keystone_list_auth_domains.py
keystone_list_auth_projects.py
keystone_list_domain_permissions_for_group.py
keystone_list_endpoints.py
keystone_list_federation_domains.py
keystone_list_federation_projects.py
keystone_list_groups_for_user.py

详细介绍

华为云资源查询

⚠️ 执行方式(必读):此技能通过本地 Python 脚本执行查询。禁止使用 hcloud、openstack 或其他 CLI 工具,也禁止直接调用 API。

  • 查询脚本位于技能目录下的 scripts/<service_category>/(例如:scripts/as/list_scaling_groups.py)
  • 所有脚本和环境检查脚本都在技能包内。必须使用 skill action=exec 执行;不得直接在 shell 中运行
  • 关于具体脚本路径和参数,请参阅 references/<service>/guide.md
  • 不得尝试使用 hcloud、openstack、curl IAM 或其他 CLI/API 方法。此技能不依赖这些工具
  • 所有路径均相对于技能目录,即此 SKILL.md 所在的目录

概述

此技能是一个独立的只读查询技能,通过本地 Python 脚本调用华为云 Python SDK,查询华为云资源、可用规格和现有资源信息。

此技能适用于以下场景:

  1. 查询指定区域内可用的云资源规格
  2. 查询特定操作系统可用的镜像
  3. 查询云硬盘类型和现有云硬盘信息
  4. 查询现有资源及其关键属性
  5. 查询非通过 Terraform 或其他 IaC 工具创建的资源
  6. 为自动化配置、资源验证或环境清单准备实际参数
  7. 获取可复用的信息,例如资源 ID、名称、规格、镜像、网络和磁盘

此技能不处理以下事项:

  1. 创建资源
  2. 修改资源
  3. 删除资源
  4. 猜测或编造未经查询的信息

能力范围

此技能通过 scripts 目录下按类别划分的脚本提供查询能力,并通过 references 目录下按类别划分的指南提供使用说明。 此技能提供的能力包括:

  1. 查询资源列表
  2. 查询单个资源的详细信息
  3. 查询可用规格、镜像、磁盘类型和其他选项信息
  4. 查询现有资源的关键标识符和依赖关系

使用原则

重要:在此技能中执行的脚本路径均相对于技能目录,即此 SKILL.md 所在的目录

  1. 此技能仅执行查询,不执行任何写入操作
  2. 优先使用用户明确指定的区域、项目、AZ、资源名称、资源 ID 等信息
  3. 查询结果必须基于实际 API 响应,不得根据经验推断
  4. 返回结果应优先保留可供后续复用的关键字段
  5. 结果集较大时,先使用区域、名称、id、状态、标签等条件缩小范围
  6. 如果当前资源类型没有对应的脚本或指南,请明确说明不支持;不得返回不可靠的结果
  7. 如果用户未提供必要的范围信息,且环境中没有默认值,请在执行查询前确认缺失的信息
  8. 直接按照 guide.md 执行;不得查看 scripts 目录中的脚本内容
  9. 输出内容较大时进行缓存
  10. 每次执行脚本前,都必须执行 -h 查看用法
  11. 不得猜测脚本名称;请按照 guide.md 中的脚本名称执行。如果 guide.md 中没有某个脚本名称,则表示不支持

前提条件

使用前,必须运行环境检查脚本,一步完成环境验证和依赖安装:

  • Linux / macOS:skill action=exec: bash skill://scripts/check_env.sh
  • Windows:skill action=exec: powershell -ExecutionPolicy Bypass -File skill://scripts/check_env.ps1

Windows 注意:不要使用 && 链接命令(PowerShell 5.x 不支持)。如果需要先切换目录,请使用分号。

脚本将依次检查:Python >= 3.6 → 安装依赖 → 验证 SDK → 验证凭证 → 验证服务可用性。 如果环境检查失败,请先解决问题,再继续运行其他脚本。

环境变量:

变量必需说明
HW_ACCESS_KEY是Huawei Cloud AK
HW_SECRET_KEY是Huawei Cloud SK
HW_REGION_NAME否默认值为 cn-north-4
HW_PROJECT_ID否项目 ID(未设置时通过 IAM API 自动获取)
HW_SECURITY_TOKEN否使用临时 AK/SK 时必需

不要输出上述环境变量的值。 其他资源脚本所需的额外参数(可用区、企业项目等),请参阅相应的 guide.md。


执行流程

调用此技能时,必须遵循以下步骤。不要等待用户再次提示:

步骤 1:环境准备

运行环境检查脚本,确保已安装依赖并配置凭证:

  • Linux / macOS:skill action=exec: bash skill://scripts/check_env.sh
  • Windows:skill action=exec: powershell -ExecutionPolicy Bypass -File skill://scripts/check_env.ps1

如果环境检查失败,请按照提示解决问题,然后重新运行,直到检查通过。

步骤 2:识别并执行查询脚本
  1. 根据用户查询意图,读取 references/<service>/guide.md,确定要执行的脚本路径和参数
  2. 首先执行 -h 查看脚本用法:
    • Linux / macOS:skill action=exec: skill://.venv/bin/python3 skill://scripts/<service>/<script>.py -h
    • Windows:skill action=exec: skill://.venv/Scripts/python3.exe skill://scripts/<service>/<script>.py -h
  3. 根据用户需求整理参数并执行脚本:
    • Linux / macOS:skill action=exec: skill://.venv/bin/python3 skill://scripts/<service>/<script>.py <parameters>
    • Windows:skill action=exec: skill://.venv/Scripts/python3.exe skill://scripts/<service>/<script>.py <parameters>
  4. 整理结果并返回给用户

重要说明:

  • 所有脚本和环境检查脚本都位于技能包中。必须使用 skill action=exec 执行它们;不要直接在 shell 中运行
  • 检查脚本会自动创建 venv。在 Linux/macOS 上,Python 位于 .venv/bin/python3;在 Windows 上,位于 .venv/Scripts/python3.exe
  • 不要直接使用 python3 执行脚本
  • 不要读取 scripts 目录中的脚本源代码;只需按照 guide.md 中的说明操作
  • 如果输出较大,请缓存结果
  • --project_id 参数为可选项;未提供时,将根据区域通过 IAM API 自动获取

目录结构

目录约定如下(所有路径均相对于技能目录):

  1. scripts/<resource_category>/ 包含相应资源的 Python 查询脚本。无需读取脚本内容;只需按照 guide.md 中的用法说明执行脚本
  2. references/<resource_category>/guide.md 包含相应资源的使用指南
  3. 每个脚本只负责一项明确且独立的查询操作
  4. 每个资源类别至少包含一个 guide.md,用于说明脚本功能、参数和用法

参数确认

执行查询脚本前,请确认以下参数:

参数必填描述
region是华为云区域,例如 cn-north-4
--project_id否项目 ID;未提供时会自动获取
--availability_zone否可用区;查询某些资源时必填

有关特定脚本的参数,请参阅 references/<service>/guide.md。


输出格式

查询结果以 JSON 格式输出,包含以下常见字段:

  • total:匹配资源的总数
  • items:资源列表,其中每项资源包含 id、name、status 等关键字段
  • 具体字段因资源类型而异;详情请参阅各自的 guide.md 文件

验证方法

  1. 运行环境检查脚本,确认依赖项和凭据可用
  2. 使用 -h 参数查看脚本用法,并确认参数正确
  3. 查询已知资源,并与控制台数据对比,以验证结果准确性
  4. 检查返回的 total 数量是否合理

最佳实践

  1. 先缩小查询范围(指定 region、可用区等),以免返回过多数据
  2. 使用 --help 查看脚本支持的完整参数列表
  3. 将大型查询结果缓存在本地,避免重复请求
  4. 查询多种资源时,遵循依赖顺序(例如先查询 VPC,再查询子网)
  5. 脚本执行失败时,先检查环境变量和网络连接

参考文档

  • 各服务的查询脚本使用指南:references/<service>/guide.md

注意事项

  1. 此技能仅提供只读查询能力;不会执行任何写入操作
  2. 不要输出 HW_ACCESS_KEY、HW_SECRET_KEY 等环境变量的值
  3. 所有脚本都必须通过 skill action=exec 执行;不要直接在 shell 中运行
  4. 不要猜测脚本名称;必须严格按照 guide.md 中的名称执行
  5. 查询前必须运行环境检查脚本
  6. 使用临时 AK/SK 时,必须设置 HW_SECURITY_TOKEN

评论

支持 Markdown