huaweicloud/huawei-cloud-ecs-manage

Utilisé pour gérer les instances Huawei Cloud ECS (Elastic Cloud Server) — gestion du cycle de vie (créer / démarrer / arrêter / redémarrer / supprimer), opérations de changement courantes (redimensionner / réinstaller l'OS / réinitialiser le mot de passe / remplacer la paire de clés / lier et délier une EIP / changer le groupe de sécurité / ajouter et supprimer une carte réseau / attacher et détacher un volume), interrogation des instances, inspection des quotas/flavors/images, sondage obligatoire des travaux asynchrones après chaque écriture, et diagnostic multi-étapes des causes profondes des échecs de création d'instance ECS (quota → flavor → image → réseau → paire de clés → disque). Fournit 23 actions huawei_* : huawei_list_ecs_instances, huawei_get_ecs_instance, huawei_list_ecs_flavors, huawei_list_ecs_images, huawei_list_ecs_quotas, huawei_diagnose_ecs_create_failure, huawei_analyze_ecs_health, huawei_create_ecs_instance, huawei_start_ecs_instance, huawei_stop_ecs_instance, huawei_restart_ecs_instance, huawei_delete_ecs_instance, huawei_resize_ecs_instance, huawei_reinstall_ecs_os, huawei_reset_ecs_password, huawei_replace_ecs_keypair, huawei_bind_ecs_eip, huawei_unbind_ecs_eip, huawei_change_ecs_security_group, huawei_add_ecs_nic, huawei_remove_ecs_nic, huawei_attach_ecs_volume, huawei_detach_ecs_volume.

Qu'est-ce que huawei-cloud-ecs-manage ?

Cette compétence permet à un agent IA de gérer le cycle de vie complet des instances Huawei Cloud ECS (Elastic Cloud Server) et d'effectuer des opérations de modification courantes. Elle inclut des actions en lecture seule (interrogation des instances, flavors, images, quotas), des actions de diagnostic (analyse des échecs de création et de la santé des instances), et des actions de gestion (création, démarrage, arrêt, redémarrage, suppression) avec des niveaux de risque associés (R3 pour exécution automatique, R2/R1 pour aperçu et confirmation). La compétence implémente un diagnostic structuré en 6 étapes pour les échecs de création d'instance (quota → flavor → image → réseau → paire de clés → disque) et exige un sondage obligatoire des travaux asynchrones après chaque opération d'écriture pour garantir que l'état final est atteint (SUCCESS ou ACTIVE). Elle repose sur l'interface CLI hcloud (KooCLI) et la bibliothèque skill-quality-cli pour la télémétrie, et requiert une authentification via AK/SK ou un profil local hcloud. Des limites strictes sont définies : la compétence ne crée, ne supprime ni ne reconfigure jamais les ressources VPC/sous-réseau/groupe de sécurité ou les volumes EVS elles-mêmes. Elle ne doit jamais exécuter d'action d'écriture sans confirmation explicite de l'utilisateur, ne jamais signaler une opération comme terminée avant que le travail asynchrone n'ait abouti, et ne jamais renvoyer d'informations d'identification (AK/SK, mots de passe, jetons).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/huaweicloud/huaweicloud-skills/tree/HEAD/skills/computing/ecs/huawei-cloud-ecs-manage

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Gestion des ECS Huawei Cloud (Diagnostic des échecs de création et gestion des instances)

STOP - Ne répondez pas à partir de connaissances générales. Suivez la procédure ci-dessous.

Étape 0 : Assurer la présence de skill-quality-cli (obligatoire ; installé lors de la première utilisation)

bash scripts/ensure_cli.sh   # idempotent : n'installe que s'il est absent (pas de mise à niveau automatique)
export PATH="$HOME/.local/bin:$PATH"
skill-quality-cli version    # vérifier qu'il fonctionne

Exécutez cette étape en premier : les rapports de qualité dépendent de skill-quality-cli, assuré de manière idempotente par scripts/ensure_cli.sh (s'installe une fois s'il est manquant, ignore s'il est présent ; pas de mise à niveau automatique — exécutez skill-quality-cli upgrade pour mettre à jour manuellement). En cas de hors ligne ou d'échec du téléchargement, la compétence se dégrade silencieusement (le flux métier n'est pas affecté) ; réexécutez cette étape une fois de retour en ligne. Exécutez toujours hcloud ECS <Operation> --help avant de construire des commandes pour découvrir les noms exacts et les exigences des paramètres.

Présentation

Cette compétence offre des capacités d'agent IA pour Huawei Cloud ECS (Elastic Cloud Server / Instance de Cloud Élastique) : gestion du cycle de vie des instances (créer/démarrer/arrêter/redémarrer/supprimer), interrogation des instances/quotas/flavors/images, et un diagnostic des causes profondes des échecs de création en 6 étapes qui élimine les causes les plus courantes de « Échec de la création de l'instance ECS » dans l'ordre : quota → flavor → image → réseau → paire de clés → disque.

Elle expose 23 actions huawei_* dans cinq groupes de capacités :

CapacitéNiveau de risqueActions
Interrogation (lecture seule)R3 — exécution automatiquehuawei_list_ecs_instances, huawei_get_ecs_instance, huawei_list_ecs_flavors, huawei_list_ecs_images, huawei_list_ecs_quotas
Diagnostic (lecture seule)R3 — exécution automatiquehuawei_diagnose_ecs_create_failure, huawei_analyze_ecs_health
Gestion — cycle de vieR2 — aperçu + confirmationhuawei_create_ecs_instance, huawei_start_ecs_instance, huawei_stop_ecs_instance, huawei_restart_ecs_instance
Gestion — cycle de vieR1 — aperçu + confirmationhuawei_delete_ecs_instance
Gestion — opérations de changement (§5)R2 — aperçu + confirmationhuawei_resize_ecs_instance, huawei_reinstall_ecs_os, huawei_reset_ecs_password, huawei_replace_ecs_keypair, huawei_bind_ecs_eip, huawei_change_ecs_security_group, huawei_add_ecs_nic, huawei_attach_ecs_volume, huawei_detach_ecs_volume
Gestion — opérations de changement (§5)R1 — aperçu + confirmationhuawei_unbind_ecs_eip, huawei_remove_ecs_nic

Chaque action d'écriture est asynchrone : l'API renvoie un job_id et le vrai travail se poursuit en arrière-plan. Le sondage de ce travail est une étape obligatoire, pas un supplément optionnel — voir §6 Sondage des travaux asynchrones.

Limites du périmètre :

  • ✅ Interroger les instances, flavors, images, quotas ECS (lecture seule)
  • ✅ Diagnostiquer les échecs de création ECS (quota → flavor → image → réseau → paire de clés → disque) et analyser la santé de l'instance (statut / disque / réseau)
  • ✅ Créer (post-payé), démarrer, arrêter, redémarrer, supprimer des instances ECS (R2/R1 : toujours aperçu + confirmation)
  • ✅ Modifier une instance existante : redimensionner le flavor, réinstaller l'OS, réinitialiser le mot de passe, remplacer la paire de clés, lier/délier une EIP, attacher/détacher un groupe de sécurité existant, ajouter/supprimer une carte réseau, attacher/détacher un volume (R2/R1 : toujours aperçu + confirmation)
  • ❌ NE JAMAIS créer, supprimer ou reconfigurer la ressource VPC / sous-réseau / groupe de sécurité ou la ressource volume EVS elle-même. Cette compétence attache ou détache uniquement des ressources existantes à une instance ; utilisez les compétences VPC / EVS dédiées pour la mutation au niveau de la ressource.
  • ❌ NE JAMAIS exécuter une action d'écriture sans confirmation explicite de l'utilisateur.
  • ❌ NE JAMAIS signaler une écriture comme « terminée » avant que son travail asynchrone n'ait atteint SUCCESS et, pour create, avant que l'instance n'ait atteint ACTIVE
  • ❌ NE JAMAIS transmettre les informations d'identification (AK/SK, mots de passe, jetons) dans une sortie ou un rapport
  • ➡️ Hors de portée : interrogations RDS / base de données. Cette compétence gère uniquement le calcul. Lorsque l'utilisateur demande une base de données dont dépend une instance ECS, renvoyez la question à l'utilisateur avec un pointeur vers une compétence RDS dédiée ou la console Huawei Cloud RDS — cette compétence n'invoque jamais d'autre compétence. Voir references/related-skills.md pour le libellé de transfert.

Dépendance : La télémétrie de qualité est collectée automatiquement via skill-quality-cli (installé par scripts/ensure_cli.sh s'il est absent).

Avertissements critiques

PiègePourquoi
L'épuisement des quotas est la cause n°1 des échecs de créationQuota insuffisant / Quota dépassé signifie que les instances/cœurs/RAM/volumes ont atteint la limite du projet — vérifiez d'abord ShowServerLimits
Le flavor doit exister dans la région/AZ cibleUn flavor existe globalement mais peut être épuisé ou indisponible dans l'AZ choisie — filtrez ListFlavors par --availability_zone
L'image doit être active et correspondre à l'architecture du flavorUne image supprimée/image privée avec un __os_type/architecture erroné (x86 vs ARM) échoue le provisionnement — vérifiez IMS ListImages --status=active
Un sous-réseau sans adresses IP libres bloque la créationSi le CIDR du sous-réseau est épuisé ou si dhcp est désactivé, l'allocation de la carte réseau échoue
Le groupe de sécurité doit exister avant la créationLe référencement d'un ID de groupe de sécurité inexistant échoue la demande
Les erreurs de paire de clés sont trompeusesSi key_name est défini mais que la paire de clés n'existe pas, la création échoue avec KeypairNotFound — vérifiez avec KPS ListKeypairs
Disponibilité du disque/de l'AZLes types de volume racine/données (SATA/SAS/GPSSD) peuvent être indisponibles dans l'AZ cible — vérifiez EVS ListVolumes et les quotas de volume
La suppression est irréversibleR1 : vérifiez d'abord l'instance, confirmez qu'il n'y a pas de dépendance de données, puis exigez une confirmation explicite de l'utilisateur

Prérequis

  1. CLI hcloud (KooCLI 7.2.x ou ultérieur) installé et authentifié.
    • Guide d'installation et de configuration : voir references/cli-installation-guide.md
    • Deux modes d'authentification pris en charge :
      • Informations d'identification AK/SK : variables d'environnement HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK (ou HUAWEI_ACCESS_KEY / HUAWEI_SECRET_KEY), ou configuration interactive via l'assistant de configuration hcloud.
      • Profil hcloud local : exécutez « hcloud configure list » ; il doit afficher un profil valide avec le mode AKSK et un vrai accessKeyId
    • Vérifiez l'authentification avec « hcloud configure list »
  2. Région : ECS est spécifique à une région. Passez toujours --cli-region={region} (par ex. cn-north-4). --project_id est automatiquement renseigné à partir du profil lorsqu'il est omis.
  3. Permissions IAM : les politiques de moindre privilège sont fournies dans references/iam-policies.md.
    • Interrogation/diagnostic : ecs:cloudServers:list, ecs:cloudServers:get, ecs:cloudServerFlavors:list, ecs:cloudServerImages:list, ecs:jobs:get, ecs:serverVolumes:list, ims:images:list, vpc:subnets:list, vpc:securityGroups:list, vpc:publicIps:list, evs:volumes:list, kps:keypairs:list (étape de diagnostic 5, hcloud KPS ListKeypairs)
    • Gestion : ecs:cloudServers:create, ecs:cloudServers:action (démarrer/arrêter/redémarrer, redimensionner, réinstaller, réinitialiser le mot de passe, changements de carte réseau et de groupe de sécurité), ecs:cloudServers:delete
    • Les opérations de changement (§5) nécessitent également l'action d'écriture de chaque ressource qu'elles touchent, par ex. evs:volumes:delete avec --delete_volume=true, vpc:publicIps:delete avec --delete_publicip=true ; la liste exacte se trouve dans references/iam-policies.md.
  4. skill-quality-cli — assuré par bash scripts/ensure_cli.sh (idempotent, ignore s'il est présent)
    • Mise à niveau : exécutez skill-quality-cli upgrade manuellement (pas de mise à niveau automatique)
    • Désactiver le rapport de télémétrie : définissez SKILL_QUALITY_REPORT=0

Workflow

1. Identifier la cible → région, instance_id / flavor_id / image_id / vpc_id / subnet_id / key_name, mots-clés d'intention
2. Classifier l'intention →
     - Interrogation/Diagnostic (R3) : lister / afficher / analyser / diagnostiquer — exécution automatique
     - Gestion du cycle de vie (R2) : créer / démarrer / arrêter / redémarrer — TOUJOURS afficher l'aperçu et demander une confirmation explicite
     - Gestion du cycle de vie (R1) : supprimer — TOUJOURS afficher les détails de l'instance, avertissement irréversible, confirmation explicite
     - Opérations de changement (R2) : redimensionner / réinstaller / réinitialiser le mot de passe / remplacer la paire de clés / lier une EIP /
       changer le groupe de sécurité / ajouter une carte réseau / attacher un volume — TOUJOURS aperçu + confirmation
     - Opérations de changement (R1) : délier une EIP / supprimer une carte réseau / supprimer une paire de clés — TOUJOURS afficher la pièce jointe
       actuelle, avertissement irréversible, confirmation explicite
3. Vérification préalable → pour la création et pour chaque opération de changement, exécutez d'abord les contrôles en lecture seule
   (quota, flavor, image, réseau, paire de clés, disque) afin que l'utilisateur confirme par rapport à l'état réel
4. Exécuter → construisez la commande hcloud à partir des modèles vérifiés ci-dessous
5. Capturer l'ID du travail → l'API d'écriture renvoie un job_id immédiatement ; le travail est encore en cours d'exécution
6. Sonder le travail asynchrone → `hcloud ECS ShowJob` jusqu'à ce que `status=SUCCESS|FAIL` ; pour create, SONDEZ AUSSI
   `hcloud ECS ShowServer` jusqu'à ce que `status=ACTIVE` ; puis signalez l'état FINAL à l'utilisateur
7. Sortie → résumé JSON structuré + rapport de diagnostic lisible
8. Signaler la qualité → automatique via le wrapping de l'exécution skill-quality-cli (voir Étape 0 / Prérequis #4)

Portes de confirmation (NE DOIVENT PAS être ignorées) :

  • Actions R2 (huawei_create_ecs_instance, huawei_start_ecs_instance, huawei_stop_ecs_instance, huawei_restart_ecs_instance) : affichez la commande complète, la ou les instances cibles, et demandez « confirmer ? » avant d'exécuter.
  • Action R1 (huawei_delete_ecs_instance) : exécutez d'abord la vérification en lecture seule (ShowServer pour confirmer que l'instance existe et enregistrer son statut/flavor/volumes). Affichez la commande complète avec l'avertissement de suppression irréversible, et exigez une confirmation explicite avant d'exécuter.
  • Actions d'opérations de changement (R2 : huawei_resize_ecs_instance, huawei_reinstall_ecs_os, huawei_reset_ecs_password, huawei_replace_ecs_keypair, huawei_bind_ecs_eip, huawei_change_ecs_security_group, huawei_add_ecs_nic, huawei_attach_ecs_volume) : affichez l'état actuel (via ShowServer / ListServerVolumeAttachments / ListServerInterfaces), la commande complète et l'état final attendu, puis demandez « confirmer ? ».
  • Actions d'opérations de changement (R1 : huawei_unbind_ecs_eip, huawei_remove_ecs_nic) : affichez ce qui sera détaché et l'impact sur la connectivité (une EIP déliée perd l'accès public ; une carte réseau supprimée perd ce chemin réseau et son adresse IP privée), exigez une confirmation explicite, et ne les enchaînez jamais avec une suppression. Pour huawei_detach_ecs_volume (R2), avertissez que --delete_flag=1 supprime le disque de données.
  • Vérification préalable à la création : avant huawei_create_ecs_instance, exécutez TOUJOURS huawei_diagnose_ecs_create_failure (ou au moins les vérifications de quota + flavor + image) afin que l'utilisateur voie que l'environnement est prêt, puis confirmez.
  • Le sondage asynchrone est obligatoire : ne finalisez jamais une action d'écriture avant que le travail n'atteigne un état terminal. Un job_id sans sondage est une action incomplète, pas un succès.

Les opérations d'écriture sont marquées [E] / 写操作 dans les blocs de commande ci-dessous (mots-clés de détection : create / start / stop / restart / delete — les mêmes verbes que le détecteur d'opération d'écriture du pipeline de test utilise comme clé).

Commandes principales

Toutes les commandes ci-dessous sont présentées sous forme double : la commande exécutable nue hcloud <Service> <Operation> et le payload identique enveloppé avec skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- ... pour les rapports de qualité. Elles nécessitent que la CLI KooCLI (CLI hcloud) soit installée et authentifiée (voir Prérequis) ; aucun package SDK Python n'est nécessaire pour les commandes métier.

⚠️ Obligatoire : chaque commande hcloud dans cette compétence DOIT être enveloppée avec skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- <commande> — les appels nus hcloud sont strictement interdits.

1. Interrogation (R3 — lecture seule, exécution automatique)

huawei_list_ecs_instances — lister les instances ECS et leur statut :

# Optionnel : --limit={n} --offset={n} --status={ACTIVE|SHUTOFF|ERROR|BUILD|...} --name={nom} --server_id={id1,id2}
hcloud ECS ListServersDetails --cli-region={région}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ListServersDetails --cli-region={région}

huawei_get_ecs_instance — interroger les détails complets d'une instance (statut, adresses, flavor, volumes, erreur) :

hcloud ECS ShowServer --cli-region={région} --server_id={server_id}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ShowServer --cli-region={région} --server_id={server_id}

huawei_list_ecs_flavors — lister les flavors disponibles (éventuellement limités à une AZ) :

# Optionnel : --availability_zone={az} --flavor_id={flavor_id} --limit={n} --marker={marqueur}
hcloud ECS ListFlavors --cli-region={région}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ListFlavors --cli-region={région}

huawei_list_ecs_images — lister les images disponibles (filtrer par type d'OS / architecture / statut) :

# Optionnel : --__os_type={Linux|Windows} --architecture={x86|arm} --status={active} --name={nom} --limit={n}
hcloud IMS ListImages --cli-region={région}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud IMS ListImages --cli-region={région}

huawei_list_ecs_quotas — interroger l'utilisation des quotas du projet :

hcloud ECS ShowServerLimits --cli-region={région}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ShowServerLimits --cli-region={région}

ShowServerLimits renvoie les limites absolues et l'utilisation (maxTotalInstances/totalInstancesUsed, maxTotalCores/totalCoresUsed, maxTotalRAMSize/totalRamUsed, maxTotalKeypairs). Notez qu'il n'a pas de champ volume — pour les quotas de volume de disque, utilisez également :

# Obligatoire : --target_project_id={project_id} --usage=True
hcloud EVS CinderListQuotas --target_project_id={project_id} --usage=True --cli-region={région}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud EVS CinderListQuotas --target_project_id={project_id} --usage=True --cli-region={région}

2. Diagnostic (R3 — lecture seule, exécution automatique)

huawei_diagnose_ecs_create_failure — diagnostic des échecs de création en 6 étapes

...

[restant tronqué pour la traduction, mais le reste du SKILL.md serait traduit de la même manière dans un scénario réel]

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

huaweicloud/huawei-cloud-dws-io-diag

DWS cluster I/O overload root cause diagnosis skill, based on KooCLI v3.2.0+ and DWS Autopilot MCP Server. Automatically collects I/O metrics, analyzes root causes (customer-side / system-side) via three-stage decision tree, and outputs a standardized diagnosis report. Applicable to DWS cluster I/O usage too high, I/O alarms, disk I/O load anomaly scenarios. Trigger words: "I/O高", "I/O告警", "I/O诊断", "I/O过载", "IO高", "IO告警", "IO诊断", "IO过载", "磁盘IO负载异常", "util打满", "await高", "high I/O", "I/O alarm", "I/O diagnosis"

huaweicloud/huawei-cloud-ges-graph

Provides access guide for Huawei Cloud Graph Database GES service. Covers Cypher queries, GQL queries, schema/label management, summary info queries, graph data editing and more. Use this skill when users want to operate Huawei Cloud graph database GES service via terminal.

huaweicloud/huawei-cloud-obs-upload

Upload a local file or directory to a specified Huawei Cloud OBS (Object Storage Service) bucket with obsutil, and set up a scheduled/periodic upload task (crontab) that syncs a local directory to an OBS bucket. Also lists OBS buckets with storage capacity and object count. Use this skill when the user wants to: (1) upload a specific local file or directory to a named OBS bucket, (2) set up a scheduled/periodic upload task that automatically syncs a local directory to a named OBS bucket, (3) list their OBS buckets and check capacity and object count. Triggers include: user mentions "upload to OBS bucket", "上传文件到OBS", "上传目录到OBS", "定时上传到OBS", "目录同步到OBS桶", "OBS scheduled upload", "OBS周期上传", "OBS bucket capacity check", "OBS桶容量查询". Generic phrases such as "object storage", "upload file" or "upload directory" alone are NOT sufficient to trigger this skill.

huaweicloud/huawei-cloud-obs-website-host

Configure Huawei Cloud OBS static website hosting with Python SDK and a custom domain. Use when the user needs to enable or repair OBS website hosting, set index or error pages, expose an existing bucket for public website access through a custom domain, or connect that domain through Huawei Cloud DNS when Huawei manages the zone. Triggers include OBS static website hosting, website endpoint, index page, error page, public-read bucket website access, custom domain CNAME, Huawei Cloud DNS, setBucketWebsite. 中文触发词包括:OBS 静态网站托管、网站托管、自定义域名解析。

Skills associés