Los parámetros de los comandos de Alibaba Cloud CLI se clasifican en opciones globales, que controlan el comportamiento del CLI, y parámetros de negocio, que se pasan a los subcomandos. Este tema describe cómo consultar los parámetros disponibles, formatear valores de parámetros de diversos tipos de datos y utilizar la función de autocompletado.
Requisitos previos
Alibaba Cloud CLI 3.3.0 o posterior está instalado. Para obtener instrucciones de instalación, consulte Install, update, and uninstall Alibaba Cloud CLI. Si su versión actual es anterior a la 3.3.0, consulte Migrate from legacy to plugin-based CLI para completar la migración.
Las credenciales están configuradas para Alibaba Cloud CLI. Para obtener instrucciones de configuración, consulte Configure and manage credentials.
Tipos de parámetros
Un comando del CLI consta de un comando, un subcomando y parámetros:
aliyun <command> <sub-command> [parameters]
Los parámetros se clasifican en dos tipos:
Opciones globales: Controlan el comportamiento del propio CLI, como la selección de región, el formato de salida y la paginación. Las opciones globales se aplican a todos los comandos.
Parámetros de negocio: Campos de solicitud que se pasan a los subcomandos. Los parámetros de negocio varían según la operación.
En el siguiente ejemplo, --help es una opción global y --biz-region-id es un parámetro de negocio:
aliyun ecs describe-instances --help
aliyun ecs describe-instances --biz-region-id cn-hangzhou
Opciones globales
Las siguientes opciones se aplican a todos los comandos de plugin, incluida la especificación de una región, la paginación de resultados de consulta y la habilitación del modo de prueba:
|
Opción |
Tipo |
Descripción |
|
|
string |
Especifica el ID de región, como |
|
|
string |
Especifica la URL del endpoint de la API. En la mayoría de los casos, no es necesario establecer esta opción manualmente. |
|
|
string |
Filtra la salida mediante una expresión JMESPath. |
|
|
list |
Agrega automáticamente todos los resultados paginados de la API. |
|
|
bool |
Modo de prueba: valida los parámetros e imprime el contenido de la solicitud sin enviarla realmente. Para comandos de plugin, utilice esta opción en lugar de la opción heredada |
|
|
bool |
Modo asistido por IA. Cuando se habilita, se agrega un identificador de IA al encabezado User-Agent de la solicitud de API actual. |
|
|
string |
Establece el nivel de salida de registros para depuración y solución de problemas. Valores válidos: |
|
|
bool |
Modo silencioso: suprime la salida de respuesta de la API. Esta opción es adecuada para scripts y escenarios de CI/CD. |
|
|
bool |
Muestra información de ayuda. |
--cli-dry-run es mutuamente excluyente con --pager y --quiet. Estas opciones no pueden utilizarse juntas porque el modo de prueba no envía solicitudes reales.
Parámetros de negocio
Los parámetros de negocio son campos de solicitud que se pasan a los subcomandos. Las distintas operaciones tienen diferentes parámetros de negocio.
aliyun ecs describe-instances --biz-region-id cn-hangzhou --cli-dry-run
Los tipos de datos de los parámetros de negocio se definen mediante las API. Los tipos comunes incluyen:
String: Una cadena de texto, como un ID o nombre de instancia.
Integer: Un número entero, como un número de página o un recuento.
Boolean: Un valor booleano de
trueofalse.Array / JSON: Una matriz u objeto JSON, como una lista de IDs de disco o un objeto de etiqueta.
Descubrir parámetros
Puede consultar los parámetros que admite un comando mediante la información de ayuda del CLI o el portal en línea de OpenAPI.
Uso de la información de ayuda del CLI
Agregue --help a un comando para ver todos los parámetros compatibles y sus descripciones. El formato de la salida de ayuda varía según el tipo de comando.
Comandos integrados
Los comandos integrados forman parte del programa principal de Alibaba Cloud CLI y pueden utilizarse directamente sin instalar plugins adicionales, como configure. La salida de ayuda para comandos integrados muestra subcomandos u opciones específicas:
aliyun configure --help
Salida de ayuda:
configure credential and settings
Usage:
aliyun configure --mode {AK|RamRoleArn|EcsRamRole|OIDC|External|CredentialsURI|ChainableRamRoleArn|CloudSSO|OAuth} --profile <profileName> [--config-path <configPath>]
Commands:
get print configuration values
set set config in non interactive mode
list list all config profile
delete delete the specified profile
switch switch default profile
safety-policy manage safety policy and human-in-the-loop rules
ai-mode manage global AI mode and User-Agent for API calls
plugin-settings manage global plugin system settings
Comandos de plugin
La salida de ayuda para comandos de plugin de servicios en la nube muestra los nombres de los parámetros en formato kebab-case, incluidos los tipos de parámetros y los valores predeterminados:
aliyun ecs describe-instances --help
Salida de ayuda:
Description: Queries a list of instances and their details based on specified conditions
API Version: 2014-05-26
Usage:
aliyun ecs describe-instances [parameters]
Parameters:
--biz-region-id string (required), The ID of the region where the
instance resides. You can call https://help.aliyun.
com/document_detail/25609.html to query the latest
list of Alibaba Cloud regions
--additional-attributes list, The list of other instance attributes
format: --additional-attributes value1 value2 value3
--device-available bool, > This parameter is in invitational preview
and is not available for use
......
Global Flags:
--cli-ai-mode bool, For this run, enable AI-mode
--cli-dry-run bool, Enable dry-run mode: print request details
without sending the actual API call
--cli-query string, Use `--cli-query <jmespath>` to filter
output with JMESPath expression
--endpoint string, Override service endpoint (e.g., --endpoint
https://ecs.cn-hangzhou.aliyuncs.com)
......
Examples:
aliyun ecs describe-instances --biz-region-id example-value
aliyun ecs describe-instances --biz-region-id example-value --vpc-id example-value
Uso del portal de OpenAPI
El portal de OpenAPI de Alibaba Cloud permite depurar API en línea y genera automáticamente ejemplos de comandos del CLI. Para obtener más información, consulte Generate and run CLI commands with OpenAPI Explorer.
Valores de parámetros
La forma de pasar valores de parámetros varía según el tipo de datos y el entorno del sistema operativo.
Valores de parámetros de tipos comunes
|
Tipo de dato |
Formato |
Ejemplo |
|
Integer |
Pase el valor directamente sin comillas. |
|
|
String |
Pase el valor directamente si no contiene caracteres especiales. Encierre el valor entre comillas si contiene caracteres especiales. |
|
|
Boolean |
Una opción que habilita o deshabilita una función. Por ejemplo, incluir |
|
|
String list |
Separe varios valores con comas y encierre toda la lista entre comillas. |
|
|
JSON array |
Una cadena con formato JSON encerrada entre comillas. |
|
|
Date |
Formato ISO 8601: |
|
Los distintos sistemas operativos y entornos de terminal manejan las comillas de manera diferente. Al pasar valores de parámetros que contienen caracteres especiales, utilice las siguientes reglas de citación:
|
Entorno |
Comillas generales |
Comillas para la opción --body |
|
Linux / macOS |
Comillas simples |
Comillas dobles |
|
Símbolo del sistema de Windows |
Comillas dobles |
Comillas dobles |
|
Windows PowerShell |
Comillas simples |
Comillas simples |
Valores de parámetros JSON
Algunos parámetros de comandos requieren valores en formato JSON. La elección de comillas externas e internas varía según el sistema operativo.
Matrices JSON
-
Linux / macOS: Utilice comillas simples para la capa externa y comillas dobles para los valores internos.
aliyun ecs describe-disks --disk-ids '["d-bp1****","d-bp2****","d-bp3****"]' --biz-region-id cn-hangzhou -
Windows (Símbolo del sistema y PowerShell): Utilice comillas dobles para la capa externa y comillas simples para los valores internos.
aliyun ecs describe-disks --disk-ids "['d-bp1****','d-bp2****','d-bp3****']" --biz-region-id cn-hangzhou
Objetos JSON
Cuando un valor de parámetro es un objeto JSON, encierre cada objeto JSON entre llaves {} y separe claves y valores con dos puntos :.
-
Linux / macOS:
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers '[{"ServerId":"i-bp1****"},{"ServerId":"i-bp2****"}]' -
Windows (Símbolo del sistema y PowerShell):
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers "[{'ServerId':'i-bp1****'},{'ServerId':'i-bp2****'}]"
Valores que contienen caracteres especiales
Valores que comienzan con un guion (-)
Cuando un valor de parámetro comienza con -, el CLI puede interpretarlo erróneamente como otro nombre de parámetro:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange "-1/-1" --method POST --force
Utilice un signo igual para conectar el nombre del parámetro y el valor a fin de resolver este problema:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange=-1/-1 --method POST --force
Caracteres especiales del shell
Cuando los valores de los parámetros contienen caracteres especiales del shell ($, , \, espacios, etc.), debe encerrarlos entre comillas. En Linux / macOS, utilice comillas simples para evitar que el shell interprete los caracteres especiales. En el Símbolo del sistema de Windows, utilice comillas dobles.
# Linux/macOS/PowerShell
aliyun ecs describe-images --image-name 'Example Image'
# Windows CMD
aliyun ecs describe-images --image-name "Example Image"
# Linux/macOS
aliyun xxx --param '$literal_dollar'
Cargar valores de parámetros desde un archivo
Cuando un valor de parámetro es extenso, como un certificado o una carga útil JSON grande, resulta más práctico cargar el valor desde un archivo local.
--body-file (llamadas a API RESTful)
En llamadas a API RESTful, utilice --body-file para cargar el cuerpo de la solicitud HTTP desde un archivo local.
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body-file request.json
Sustitución de comandos del shell y here-doc
También puede utilizar la sustitución de comandos del shell ($(cat ...)) o un here-doc para pasar el contenido del archivo al parámetro --body:
# Command substitution
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat request.json)"
# Here-doc (suitable for constructing inline JSON in scripts)
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat <<EOF
{
"nodepool_info": {
"name": "default-nodepool",
"resource_group_id": "rg-acfmyvw****"
}
}
EOF
)"
La sustitución de comandos del shell y here-doc solo son aplicables en entornos bash o zsh. Para entornos Windows, utilice --body-file.
Autocompletado de comandos
Alibaba Cloud CLI admite el autocompletado de comandos. Después de habilitar esta función, puede presionar Tab para autocompletar nombres de productos, nombres de operaciones y nombres de parámetros.
El autocompletado solo es compatible en entornos bash o zsh en sistemas Linux y macOS. El autocompletado abarca nombres de productos, nombres de operaciones y nombres de parámetros, pero no incluye valores de parámetros.
Ejecute el siguiente comando para habilitar el autocompletado:
aliyun auto-completion
Después de habilitar el autocompletado, ejecute el siguiente comando para aplicar la configuración inmediatamente o reinicie la terminal:
# bash
source ~/.bash_profile
# zsh
source ~/.zshrc
Para comprobar que el autocompletado funciona, escriba aliyun y presione Tab. Si aparece una lista de comandos candidatos (como configure), el autocompletado está habilitado.
Para deshabilitar el autocompletado, ejecute:
aliyun auto-completion --uninstall
Preguntas frecuentes
--help muestra un parámetro como Opcional. ¿Puedo omitirlo siempre?
No necesariamente. Algunos comandos tienen parámetros mutuamente excluyentes, lo que significa que debe especificar uno u otro. Dichos parámetros se marcan individualmente como opcionales, pero se debe especificar al menos uno de ellos. De lo contrario, se devuelve un error. Para conocer las reglas de requisitos específicos, consulte la documentación de la API del producto correspondiente.