huawei-cloud-iam-query について
ローカルの Python スクリプトと Huawei Cloud Python SDK でクラウドリソースを照会する、読み取り専用のスキルです。リソース情報や利用可能な仕様を取得でき、作成・変更・削除は行いません。
主な機能
- 01リソース一覧と詳細の照会
- 02利用可能な仕様・イメージ・ディスク種別の確認
- 03リソース ID と依存関係の取得
- 04ローカルスクリプト経由で Python SDK を使用
- 05読み取り専用のクエリ
活用シーン
- 01指定リージョンの既存クラウドリソースの棚卸し
- 02自動化設定に使う実データの収集
- 03IaC 以外で作成されたリソースの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-iam-queryインストール後、Claude Code で/huawei-cloud-iam-queryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtreferences/iam/guide.mdscripts/check_env.ps1check_env.shconfig.pyensure_env.pyscripts/iam/check_all_projects_permission_for_agency.pycheck_domain_permission_for_agency.pycheck_project_permission_for_agency.pyget_account_summary_v5.pyget_agency_v5.pyget_asymmetric_signature_switch_v5.pyget_authorization_schema_v5.pyget_feature_status_v5.pyget_policy_v5.pyget_policy_version_v5.pyget_project_id.pyget_service_linked_agency_deletion_status_v5.pykeystone_check_domain_permission_for_group.pykeystone_check_project_permission_for_group.pykeystone_check_user_in_group.pykeystone_checkrole_for_group.pykeystone_list_all_project_permissions_for_group.pykeystone_list_auth_domains.pykeystone_list_auth_projects.pykeystone_list_domain_permissions_for_group.pykeystone_list_endpoints.pykeystone_list_federation_domains.pykeystone_list_federation_projects.pykeystone_list_groups_for_user.py詳細
Huawei Cloud リソースクエリ
⚠️ 実行方法(必読):このスキルは、ローカルの Python スクリプトを使用してクエリを実行します。hcloud、openstack などの CLI ツールや、API の直接呼び出しは禁止されています。
- クエリスクリプトは、スキルディレクトリ内の
scripts/<service_category>/にあります(例:scripts/as/list_scaling_groups.py)。- すべてのスクリプトと環境チェック用スクリプトは、スキルパッケージ内にあります。実行には
skill action=execを使用してください。シェルから直接実行しないでください。- スクリプトの具体的なパスとパラメーターについては、
references/<service>/guide.mdを参照してください。- hcloud、openstack、curl IAM などの CLI/API を使った方法は試さないでください。このスキルはこれらのツールに依存しません。
- すべてのパスはスキルディレクトリからの相対パスです。スキルディレクトリとは、この SKILL.md が置かれているディレクトリです。
概要
このスキルは、ローカルの Python スクリプトを使用して Huawei Cloud Python SDK を呼び出し、Huawei Cloud のリソース、利用可能な仕様、既存リソースの情報を照会する、単独で動作する読み取り専用のクエリスキルです。
このスキルは、次のようなシナリオに適しています。
- 指定したリージョンで利用可能なクラウドリソースの仕様を照会する
- 特定のオペレーティングシステムで利用可能なイメージを照会する
- クラウドディスクの種類と既存のクラウドディスクの情報を照会する
- 既存のリソースとその主要な属性を照会する
- Terraform などの IaC ツールを使わずに作成されたリソースを照会する
- 自動化の設定、リソースの検証、環境のインベントリ作成に使用する実際のパラメーターを準備する
- リソース ID、名前、仕様、イメージ、ネットワーク、ディスクなど、再利用可能な情報を取得する
このスキルでは、次の処理は行いません。
- リソースの作成
- リソースの変更
- リソースの削除
- 照会していない情報の推測や捏造
対応範囲
このスキルは、scripts ディレクトリ内のカテゴリ別スクリプトを通じてクエリ機能を提供し、references ディレクトリ内のカテゴリ別ガイドを通じて使用方法を案内します。 このスキルが提供する機能は次のとおりです。
- リソース一覧の照会
- 個々のリソース詳細の照会
- 利用可能な仕様、イメージ、ディスクの種類など、選択に必要な情報の照会
- 既存リソースの主要な識別子と依存関係の照会
使用原則
重要:このスキル内で実行するスクリプトのパスはすべて、スキルディレクトリからの相対パスです。スキルディレクトリとは、この SKILL.md が置かれているディレクトリです。
- このスキルはクエリのみを実行し、書き込み操作は行いません。
- ユーザーが指定したリージョン、プロジェクト、AZ、リソース名、リソース ID などを優先的に使用します。
- クエリ結果は実際の API 応答に基づく必要があります。経験に基づいて推測しないでください。
- 返却する結果では、以降の再利用に必要な主要フィールドを優先して保持してください。
- 結果が大量にある場合は、リージョン、名前、ID、ステータス、タグなどの条件を使って、まず対象を絞り込んでください。
- 現在のリソースの種類に対応するスクリプトまたはガイドがない場合は、サポート対象外であることを明示してください。信頼性の低い結果を返さないでください。
- ユーザーが必要な対象範囲の情報を提示しておらず、環境にもデフォルト値がない場合は、クエリを実行する前に不足情報を確認してください。
- guide.md に従って実行してください。scripts ディレクトリ内のスクリプトの内容は表示しないでください。
- 出力が大量の場合は、キャッシュしてください。
- スクリプトを実行するたびに、事前に
-hを実行して使用方法を確認してください。 - スクリプト名を推測しないでください。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:クエリスクリプトの特定と実行
- ユーザーのクエリの意図に基づいて、
references/<service>/guide.mdを読み、実行するスクリプトのパスとパラメーターを確認します - まず
-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
- Linux / macOS:
- ユーザーの要件に基づいてパラメーターを組み立て、スクリプトを実行します。
- 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>
- Linux / macOS:
- 結果を整形してユーザーに返します
重要:
- すべてのスクリプトと環境チェック用スクリプトはスキルパッケージ内にあります。実行には必ず
skill action=execを使用してください。シェルから直接実行しないでください。 - venv は check_env スクリプトによって自動的に作成されます。Linux/macOS では Python の場所は
.venv/bin/python3、Windows では.venv/Scripts/python3.exeです - スクリプトの実行に
python3を直接使用しないでください - scripts ディレクトリ内のスクリプトのソースコードを読まず、guide.md の指示に従ってください
- 出力が大きい場合は結果をキャッシュしてください
--project_idパラメーターは任意です。指定されていない場合は、リージョンに基づいて IAM API で自動取得されます
ディレクトリ構成
ディレクトリの規則は次のとおりです(すべてのパスはスキルディレクトリからの相対パスです)。
- scripts/<resource_category>/ には、該当するリソースの Python クエリスクリプトが含まれます。スクリプトの内容を読む必要はありません。guide.md の使用方法に従ってスクリプトを実行してください
- references/<resource_category>/guide.md には、該当するリソースの使用ガイドが含まれます
- 各スクリプトは、明確で単一のクエリアクションのみを実行します
- 各リソースカテゴリには、スクリプトの機能、パラメーター、使用方法を説明する guide.md が少なくとも 1 つあります
パラメーターの確認
クエリスクリプトを実行する前に、次のパラメーターを確認してください。
| パラメーター | 必須 | 説明 |
|---|---|---|
| region | はい | Huawei Cloud のリージョン。例:cn-north-4 |
| --project_id | いいえ | プロジェクト ID。指定されていない場合は自動的に取得されます |
| --availability_zone | いいえ | アベイラビリティーゾーン。一部のリソースクエリでは必須です |
スクリプト固有のパラメーターについては、references/<service>/guide.md を参照してください。
出力形式
クエリ結果は JSON 形式で出力され、次の共通フィールドが含まれます。
total:一致したリソースの合計数items:リソースのリスト。各リソースには、id、name、status などの主要フィールドが含まれます- 固有のフィールドはリソースの種類によって異なります。詳細は各
guide.mdファイルを参照してください
検証方法
- 環境チェック用スクリプトを実行し、依存関係と認証情報が利用可能であることを確認します
-hパラメーターを使用してスクリプトの使い方を表示し、パラメーターが正しいことを確認します- 既知のリソースに対してクエリを実行し、コンソールのデータと比較して結果の正確性を検証します
- 返された
totalの件数が妥当か確認します
ベストプラクティス
- データの過剰な返却を避けるため、まずクエリ範囲を絞り込みます(リージョン、アベイラビリティーゾーンなどを指定)
--helpを使用して、スクリプトでサポートされているパラメーターの一覧をすべて確認します- 大量のクエリ結果はローカルにキャッシュし、リクエストの繰り返しを避けます
- 複数のリソースをクエリする場合は、依存関係の順序に従います(例:まず VPC をクエリし、次にサブネットをクエリします)
- スクリプトの実行に失敗した場合は、まず環境変数とネットワーク接続を確認します
参考ドキュメント
- 各サービスのクエリスクリプトの使用ガイド:
references/<service>/guide.md
注意事項
- このスキルが提供するのは読み取り専用のクエリ機能のみであり、書き込み操作は実行しません
- HW_ACCESS_KEY、HW_SECRET_KEY などの環境変数の値を出力しないでください
- すべてのスクリプトは
skill action=exec経由で実行する必要があります。シェルから直接実行しないでください - スクリプト名を推測せず、guide.md に記載された名前に従って実行してください
- クエリを実行する前に、環境チェック用スクリプトを必ず実行してください
- 一時的な AK/SK を使用する場合は、HW_SECURITY_TOKEN を設定する必要があります