huawei-cloud-network-query について
ローカルの Python スクリプトと Huawei Cloud Python SDK を使って、Huawei Cloud のリソースを読み取り専用で照会するスキルです。リソースの棚卸しや自動化に使う情報を集める運用担当者向けで、文書化されたスクリプトと実際の API 応答に基づいて照会します。
主な機能
- 01リソース一覧と詳細の照会
- 02利用可能な仕様、イメージ、ディスク種別の検索
- 03リソース ID と依存関係の取得
- 04スキル経由でスクリプトを実行
- 05リソースの変更を伴わない読み取り専用操作
活用シーン
- 01指定リージョンの既存リソースの棚卸し
- 02OS 用イメージやインスタンス仕様の検索
- 03自動化向けのリソース ID とネットワーク情報の収集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-network-queryインストール後、Claude Code で/huawei-cloud-network-queryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtreferences/dns/guide.mdreferences/eip/guide.mdreferences/elb/guide.mdreferences/nat/guide.mdreferences/vpc/guide.mdreferences/vpn/guide.mdscripts/check_env.ps1check_env.shconfig.pyscripts/dns/list_api_versions.pylist_custom_line.pylist_endpoint_ipaddresses.pylist_endpoint_vpcs.pylist_endpoints.pylist_instances.pylist_line_groups.pylist_name_servers.pylist_private_zones.pylist_ptr_records.pylist_ptrs.pylist_public_zone_lines.pylist_public_zones.pylist_record_sets_by_zone.pylist_record_sets_with_line.pylist_record_sets.pylist_resolver_query_log_configs.pylist_resolver_rules.pylist_system_lines.pylist_tags.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 を設定する必要があります