CommunityProgramación y desarrollogithub.com

huaweicloud/huawei-cloud-ecs-manage

Administración del ciclo de vida de instancias ECS (Elastic Cloud Server) de Huawei Cloud: creación, inicio, parada, reinicio, eliminación, operaciones de cambio (redimensionar, reinstalar SO, restablecer contraseña, reemplazar par de claves, vincular/desvincular EIP, cambiar grupo de seguridad, añadir/eliminar NIC, conectar/desconectar volumen), consultas de instancias, cuotas, sabores e imágenes; sondeo obligatorio de trabajos asíncronos tras cada operación de escritura; y diagnóstico de fallos de creación de instancias ECS en varios pasos (cuota → sabor → imagen → red → par de claves → disco).

¿Qué es huawei-cloud-ecs-manage?

Esta habilidad proporciona capacidades de agente de IA para gestionar instancias ECS (Elastic Cloud Server) de Huawei Cloud. Cubre la gestión completa del ciclo de vida (crear, iniciar, parar, reiniciar y eliminar), operaciones de cambio diarias (redimensionar, reinstalar SO, restablecer contraseña, reemplazar par de claves, vincular/desvincular EIP, cambiar grupo de seguridad, añadir/eliminar NIC, conectar/desconectar volumen) y consultas detalladas de instancias, sabores, imágenes y cuotas. Una característica destacada es su diagnóstico de fallos de creación en 6 pasos que elimina las causas más comunes de error en orden: cuota → sabor → imagen → red → par de claves → disco, evitando costosos reintentos. La habilidad expone 23 acciones `huawei_*` y está diseñada para entornos de producción donde las operaciones de escritura son asíncronas; por lo tanto, tras cada escritura es obligatorio sondear el trabajo asíncrono hasta que alcance un estado terminal (`SUCCESS` o `FAIL`) y, en el caso de creación, hasta que la instancia esté `ACTIVE`. Soporta los agentes que utilizan la CLI de KooCLI (hcloud) para interactuar con la API de Huawei Cloud y requiere autenticación mediante AK/SK o perfil local. La habilidad incorpora controles de seguridad: las operaciones de alto riesgo (R1, como eliminación) requieren confirmación explícita del usuario, y las de riesgo medio (R2) muestran una vista previa antes de ejecutarse. Además, recopila telemetría de calidad de forma automática a través de `skill-quality-cli`.

Compatible con~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 Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Administración de ECS de Huawei Cloud (Diagnóstico de Fallos de Creación y Gestión de Instancias)

ALTO - No responda basándose en conocimiento general. Siga el procedimiento a continuación.

Paso 0: Asegurar skill-quality-cli (obligatorio; se instala en el primer uso)

bash scripts/ensure_cli.sh   # idempotente: instala solo si está ausente (sin actualización automática)
export PATH="$HOME/.local/bin:$PATH"
skill-quality-cli version    # verificar que funciona

Ejecute este paso primero: la generación de informes de calidad depende de skill-quality-cli, asegurado de forma idempotente por scripts/ensure_cli.sh (se instala una vez si falta, se omite si está presente; sin actualización automática — ejecute skill-quality-cli upgrade para actualizar manualmente). Si está desconectado o la descarga falla, la habilidad se degrada silenciosamente (el flujo de negocio no se ve afectado); vuelva a ejecutar este paso cuando recupere la conexión. Ejecute siempre hcloud ECS <Operación> --help antes de construir comandos para descubrir nombres de parámetros y requisitos exactos.

Descripción general

Esta habilidad proporciona capacidades de agente de IA para Huawei Cloud ECS (Elastic Cloud Server / 弹性云服务器): gestión del ciclo de vida de instancias (crear/iniciar/parar/reiniciar/eliminar), consulta de instancias/cuotas/sabores/imágenes y un diagnóstico de fallos de creación en 6 pasos que elimina las causas más comunes de "fallo al crear la instancia ECS" en orden: cuota → sabor → imagen → red → par de claves → disco.

Expone 23 acciones huawei_* en cinco grupos de capacidades:

CapacidadNivel de riesgoAcciones
Consulta (solo lectura)R3 — ejecución automáticahuawei_list_ecs_instances, huawei_get_ecs_instance, huawei_list_ecs_flavors, huawei_list_ecs_images, huawei_list_ecs_quotas
Diagnóstico (solo lectura)R3 — ejecución automáticahuawei_diagnose_ecs_create_failure, huawei_analyze_ecs_health
Gestión — ciclo de vidaR2 — vista previa + confirmaciónhuawei_create_ecs_instance, huawei_start_ecs_instance, huawei_stop_ecs_instance, huawei_restart_ecs_instance
Gestión — ciclo de vidaR1 — vista previa + confirmaciónhuawei_delete_ecs_instance
Gestión — operaciones de cambio (§5)R2 — vista previa + confirmaciónhuawei_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
Gestión — operaciones de cambio (§5)R1 — vista previa + confirmaciónhuawei_unbind_ecs_eip, huawei_remove_ecs_nic

Toda acción de escritura es asíncrona: la API devuelve un job_id y el trabajo real continúa en segundo plano. Sondear ese trabajo es un paso obligatorio posterior, no un extra opcional — consulte §6 Sondeo de trabajos asíncronos.

Límites del alcance:

  • ✅ Consultar instancias ECS, sabores, imágenes, cuotas (solo lectura)
  • ✅ Diagnosticar fallos de creación de ECS (cuota → sabor → imagen → red → par de claves → disco) y analizar el estado de la instancia (estado / disco / red)
  • ✅ Crear (pospago), iniciar, parar, reiniciar, eliminar instancias ECS (R2/R1: siempre vista previa + confirmación)
  • ✅ Cambiar una instancia existente: redimensionar sabor, reinstalar SO, restablecer contraseña, reemplazar par de claves, vincular/desvincular EIP, conectar/desconectar un grupo de seguridad existente, añadir/eliminar una NIC, conectar/desconectar un volumen (R2/R1: siempre vista previa + confirmación)
  • ❌ NUNCA crear, eliminar o reconfigurar el recurso VPC / subred / grupo de seguridad ni el recurso de volumen EVS en sí mismo. Esta habilidad solo conecta o desconecta recursos existentes a una instancia; utilice las habilidades dedicadas de VPC / EVS para la mutación a nivel de recurso.
  • ❌ NUNCA ejecutar ninguna acción de escritura sin la confirmación explícita del usuario
  • ❌ NUNCA informar de una escritura como "completada" antes de que su trabajo asíncrono alcance SUCCESS y, para create, antes de que la instancia alcance ACTIVE
  • ❌ NUNCA mostrar credenciales (AK/SK, contraseñas, tokens) en ninguna salida o informe
  • ➡️ Fuera del alcance: RDS / consultas de base de datos. Esta habilidad solo gestiona cómputo. Cuando el usuario pregunte sobre una base de datos de la que depende una instancia ECS, devuelva la pregunta al usuario con un puntero a una habilidad RDS dedicada o a la consola de Huawei Cloud RDS — esta habilidad nunca invoca otra habilidad. Consulte references/related-skills.md para el texto de transferencia.

Dependencia: La telemetría de calidad se recopila automáticamente a través de skill-quality-cli (instalado por scripts/ensure_cli.sh si está ausente).

Advertencias críticas

ProblemaPor qué
El agotamiento de cuota es la causa #1 de fallo de creaciónInsufficient quota / Quota exceeded significa que instancias/núcleos/RAM/volúmenes alcanzaron el límite del proyecto — compruebe ShowServerLimits primero
El sabor debe existir en la región/AZ de destinoUn sabor existe globalmente pero puede estar agotado o no disponible en la AZ seleccionada — filtre ListFlavors por --availability_zone
La imagen debe ser active y coincidir con la arquitectura del saborImagen eliminada/imagen privada con __os_type/architecture incorrecta (x86 vs ARM) falla en el aprovisionamiento — compruebe IMS ListImages --status=active
La subred sin IPs libres bloquea la creaciónSi el CIDR de la subred está agotado o dhcp está deshabilitado, la asignación de NIC falla
El grupo de seguridad debe existir antes de crearHacer referencia a un ID de grupo de seguridad inexistente falla la solicitud
Los errores de par de claves son engañososSi key_name está establecido pero el par de claves no existe, la creación falla con KeypairNotFound — verifique con KPS ListKeypairs
Disponibilidad de disco/AZLos tipos de volumen raíz/datos (SATA/SAS/GPSSD) pueden no estar disponibles en la AZ de destino — compruebe EVS ListVolumes y las cuotas de volumen
La eliminación es irreversibleR1: verifique la instancia primero, confirme que no hay dependencia de datos, luego solicite confirmación explícita del usuario

Requisitos previos

  1. CLI hcloud (KooCLI 7.2.x o posterior) instalada y autenticada.
    • Guía de instalación y configuración: consulte references/cli-installation-guide.md
    • Dos modos de autenticación compatibles:
      • Credenciales AK/SK: variables de entorno HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK (o HUAWEI_ACCESS_KEY / HUAWEI_SECRET_KEY), o configuración interactiva a través del asistente hcloud configure
      • Perfil hcloud local: ejecute "hcloud configure list"; debe mostrar un perfil válido con modo AKSK y un accessKeyId real
    • Verifique la autenticación con "hcloud configure list"
  2. Región: ECS es específico de región. Siempre pase --cli-region={region} (por ejemplo, cn-north-4). --project_id se rellena automáticamente desde el perfil cuando se omite.
  3. Permisos IAM: las políticas de mínimo privilegio se proporcionan en references/iam-policies.md.
    • Consulta/diagnóstico: 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 (paso 5 de diagnóstico, hcloud KPS ListKeypairs)
    • Gestión: ecs:cloudServers:create, ecs:cloudServers:action (iniciar/parar/reiniciar, redimensionar, reinstalar, restablecer contraseña, cambios de NIC y grupo de seguridad), ecs:cloudServers:delete
    • Las operaciones de cambio (§5) también necesitan la acción de escritura de cada recurso que tocan, por ejemplo, evs:volumes:delete con --delete_volume=true, vpc:publicIps:delete con --delete_publicip=true; la lista exacta está en references/iam-policies.md.
  4. skill-quality-cli — asegurado por bash scripts/ensure_cli.sh (idempotente, omite si está presente)
    • Actualización: ejecute skill-quality-cli upgrade manualmente (sin actualización automática)
    • Deshabilitar informe de telemetría: establezca SKILL_QUALITY_REPORT=0

Flujo de trabajo

1. Identificar objetivo → región, instance_id / flavor_id / image_id / vpc_id / subnet_id / key_name, palabras clave de intención
2. Clasificar intención →
     - Consulta/Diagnóstico (R3): listar / mostrar / analizar / diagnosticar — ejecución automática
     - Gestión del ciclo de vida (R2): crear / iniciar / parar / reiniciar — SIEMPRE mostrar vista previa y solicitar confirmación explícita
     - Gestión del ciclo de vida (R1): eliminar — SIEMPRE mostrar los detalles de la instancia, advertencia de irreversibilidad, confirmación explícita
     - Gestión de operaciones de cambio (R2): redimensionar / reinstalar / restablecer contraseña / reemplazar par de claves / vincular EIP /
       cambiar grupo de seguridad / añadir NIC / conectar volumen — SIEMPRE vista previa + confirmación
     - Gestión de operaciones de cambio (R1): desvincular EIP / eliminar NIC / eliminar par de claves — SIEMPRE mostrar la
       conexión actual, advertencia de irreversibilidad, confirmación explícita
3. Verificación previa → para creación y para cada operación de cambio, ejecute primero las comprobaciones de solo lectura relevantes
   (cuota, sabor, imagen, red, par de claves, disco) para que el usuario confirme según el estado real
4. Ejecutar → construir el comando hcloud a partir de las plantillas verificadas a continuación
5. Capturar el id del trabajo → la API de escritura devuelve un job_id inmediatamente; el trabajo aún se está ejecutando
6. Sondear trabajo asíncrono → `hcloud ECS ShowJob` hasta que `status=SUCCESS|FAIL`; para crear, SONDEAR TAMBIÉN
   `hcloud ECS ShowServer` hasta que `status=ACTIVE`; luego informar del estado FINAL al usuario
7. Salida → resumen JSON estructurado + informe de diagnóstico legible
8. Informar calidad → automático a través del envoltorio de ejecución skill-quality-cli (consulte el Paso 0 / Requisitos previos #4)

Compuertas de confirmación (NO DEBEN omitirse):

  • Acciones R2 (huawei_create_ecs_instance, huawei_start_ecs_instance, huawei_stop_ecs_instance, huawei_restart_ecs_instance): muestre el comando completo, la(s) instancia(s) de destino y pregunte "¿confirmar?" antes de ejecutar.
  • Acción R1 (huawei_delete_ecs_instance): primero ejecute la comprobación de solo lectura (ShowServer para confirmar que la instancia existe y registrar su estado/sabor/volúmenes). Muestre el comando completo con la advertencia de eliminación irreversible y solicite confirmación explícita antes de ejecutar.
  • Acciones de operaciones de cambio (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): muestre el estado actual (a través de ShowServer / ListServerVolumeAttachments / ListServerInterfaces), el comando completo y el estado final esperado, luego pregunte "¿confirmar?".
  • Acciones de operaciones de cambio (R1: huawei_unbind_ecs_eip, huawei_remove_ecs_nic): muestre qué se desconectará y el impacto en la conectividad (un EIP desvinculado pierde acceso público; una NIC eliminada pierde esa ruta de red y su IP privada), solicite confirmación explícita y nunca las encadene con una eliminación. Para huawei_detach_ecs_volume (R2) advierta que --delete_flag=1 elimina el disco de datos.
  • Verificación previa de creación: antes de huawei_create_ecs_instance, SIEMPRE ejecute huawei_diagnose_ecs_create_failure (o al menos las comprobaciones de cuota + sabor + imagen) para que el usuario vea que el entorno está listo, luego confirme.
  • El sondeo asíncrono es obligatorio: nunca cierre una acción de escritura antes de que el trabajo alcance un estado terminal. Un job_id sin sondeo es una acción incompleta, no un éxito.

Las operaciones de escritura están marcadas como [W] / 写操作 en los bloques de comando a continuación (palabras clave de detección: create / start / stop / restart / delete — los mismos verbos que el detector de operaciones de escritura de la canalización de prueba utiliza).

Comandos principales

Todos los comandos a continuación se muestran en forma dual: el comando ejecutable simple hcloud <Servicio> <Operación> y la carga útil idéntica envuelta con skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- ... para la generación de informes de calidad. Requieren la CLI de KooCLI (hcloud) instalada y autenticada (consulte Requisitos previos); no se necesita ningún paquete SDK de Python para ningún comando de negocio.

⚠️ Obligatorio: cada comando hcloud en esta habilidad DEBE estar envuelto con skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- <comando> — las llamadas hcloud simples están estrictamente prohibidas.

1. Consulta (R3 — solo lectura, ejecución automática)

huawei_list_ecs_instances — listar instancias ECS y su estado:

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

huawei_get_ecs_instance — consultar los detalles completos de una instancia (estado, direcciones, sabor, volúmenes, fallo):

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

huawei_list_ecs_flavors — listar sabores disponibles (opcionalmente limitado a una AZ):

# Opcional: --availability_zone={az} --flavor_id={flavor_id} --limit={n} --marker={marcador}
hcloud ECS ListFlavors --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ListFlavors --cli-region={region}

huawei_list_ecs_images — listar imágenes disponibles (filtrar por tipo de SO / arquitectura / estado):

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

huawei_list_ecs_quotas — consultar el uso de cuotas del proyecto:

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

ShowServerLimits devuelve límites absolutos y uso (maxTotalInstances/totalInstancesUsed, maxTotalCores/totalCoresUsed, maxTotalRAMSize/totalRamUsed, maxTotalKeypairs). Tenga en cuenta que no tiene un campo de volumen — para cuotas de volumen de disco, utilice adicionalmente:

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

2. Diagnóstico (R3 — solo lectura, ejecución automática)

huawei_diagnose_ecs_create_failure — diagnóstico de fallos de creación en 6 pasos

…

[truncado para traducción]

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 relacionados