Les paramètres de commande d'Alibaba Cloud CLI se divisent en indicateurs globaux qui contrôlent le comportement de l'interface de ligne de commande et en paramètres métier transmis aux sous-commandes. Cette rubrique explique comment consulter les paramètres disponibles, formater les valeurs des différents types de données et utiliser la fonctionnalité de saisie semi-automatique.
Prérequis
Installez Alibaba Cloud CLI version 3.3.0 ou ultérieure. Pour obtenir des instructions d'installation, consultez Installer, mettre à jour et désinstaller Alibaba Cloud CLI. Si votre version actuelle est antérieure à la 3.3.0, consultez Migrer vers une CLI basée sur des plugins pour effectuer la migration.
Configurez les identifiants pour Alibaba Cloud CLI. Pour obtenir des instructions de configuration, consultez Configurer et gérer les identifiants.
Types de paramètres
Une commande CLI comprend une commande, une sous-commande et des paramètres :
aliyun <command> <sub-command> [parameters]
Les paramètres se classent en deux catégories :
Indicateurs globaux : ils contrôlent le comportement de la CLI elle-même, comme la sélection de la région, le format de sortie et la pagination. Les indicateurs globaux s'appliquent à toutes les commandes.
Paramètres métier : il s'agit des champs de requête transmis aux sous-commandes. Les paramètres métier varient selon l'opération.
Dans l'exemple suivant, --help est un indicateur global et --biz-region-id est un paramètre métier :
aliyun ecs describe-instances --help
aliyun ecs describe-instances --biz-region-id cn-hangzhou
Indicateurs globaux
Les indicateurs suivants s'appliquent à toutes les commandes de plugin, notamment pour spécifier une région, paginer les résultats de requête et activer le mode test :
|
Indicateur |
Type |
Description |
|
|
string |
Spécifie l'ID de la région, par exemple |
|
|
string |
Spécifie l'URL du endpoint API. Dans la plupart des cas, vous n'avez pas besoin de définir manuellement cet indicateur. |
|
|
string |
Filtre la sortie à l'aide d'une expression JMESPath. |
|
|
list |
Regroupe automatiquement tous les résultats d'API paginés. |
|
|
bool |
Mode test : valide les paramètres et affiche le contenu de la requête sans envoyer réellement celle-ci. Pour les commandes de plugin, utilisez cet indicateur à la place de l'ancien indicateur |
|
|
bool |
Mode assisté par IA. Lorsqu'il est activé, un identifiant IA est ajouté à l'en-tête User-Agent de la requête API en cours. |
|
|
string |
Définit le niveau de sortie des journaux pour le débogage et le dépannage. Valeurs valides : |
|
|
bool |
Mode silencieux : supprime la sortie de la réponse API. Cet indicateur convient aux scénarios de script et de CI/CD. |
|
|
bool |
Affiche les informations d'aide. |
--cli-dry-run est mutuellement exclusif avec --pager et --quiet. Ces indicateurs ne peuvent pas être utilisés ensemble, car le mode test n'envoie pas de requêtes réelles.
Paramètres métier
Les paramètres métier sont des champs de requête transmis aux sous-commandes. Chaque opération possède ses propres paramètres métier.
aliyun ecs describe-instances --biz-region-id cn-hangzhou --cli-dry-run
Les types de données des paramètres métier sont définis par les API. Les types courants incluent :
String : une chaîne de texte, telle qu'un ID ou un nom d'instance.
Integer : un nombre entier, tel qu'un numéro de page ou un compteur.
Boolean : une valeur booléenne
trueoufalse.Array / JSON : un tableau ou un objet JSON, tel qu'une liste d'IDs de disque ou un objet tag.
Découvrir les paramètres
Consultez les paramètres pris en charge par une commande à l'aide des informations d'aide de la CLI ou du portail OpenAPI en ligne.
Utiliser les informations d'aide de la CLI
Ajoutez --help à une commande pour afficher tous les paramètres pris en charge et leurs descriptions. Le format de la sortie d'aide varie selon le type de commande.
Commandes intégrées
Les commandes intégrées font partie du programme principal d'Alibaba Cloud CLI et peuvent être utilisées directement sans installer de plugins supplémentaires, comme configure. La sortie d'aide des commandes intégrées affiche les sous-commandes ou les options spécifiques :
aliyun configure --help
Sortie d'aide :
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
Commandes de plugin
La sortie d'aide des commandes de plugin de service cloud affiche les noms des paramètres au format kebab-case, y compris les types de paramètres et les valeurs par défaut :
aliyun ecs describe-instances --help
Sortie d'aide :
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
Utiliser le portail OpenAPI
Le portail OpenAPI d'Alibaba Cloud vous permet de déboguer les API en ligne et génère automatiquement des exemples de commandes CLI. Pour plus d'informations, consultez Générer et exécuter des commandes CLI avec OpenAPI Explorer.
Valeurs des paramètres
La manière de transmettre les valeurs des paramètres varie selon le type de données et l'environnement du système d'exploitation.
Valeurs des paramètres de type courant
|
Type de données |
Format |
Exemple |
|
Integer |
Transmettez la valeur directement sans guillemets. |
|
|
String |
Transmettez la valeur directement si elle ne contient pas de caractères spéciaux. Entourez la valeur de guillemets si elle contient des caractères spéciaux. |
|
|
Boolean |
Un indicateur qui active ou désactive une fonctionnalité. Par exemple, inclure |
|
|
Liste de chaînes |
Séparez plusieurs valeurs par des virgules et entourez la liste entière de guillemets. |
|
|
Tableau JSON |
Une chaîne au format JSON entourée de guillemets. |
|
|
Date |
Format ISO 8601 : |
|
Les différents systèmes d'exploitation et environnements de terminal gèrent les guillemets différemment. Lors de la transmission de valeurs de paramètres contenant des caractères spéciaux, appliquez les règles de mise entre guillemets suivantes :
|
Environnement |
Guillemets généraux |
Guillemets pour l'indicateur --body |
|
Linux / macOS |
Guillemets simples |
Guillemets doubles |
|
Invite de commandes Windows |
Guillemets doubles |
Guillemets doubles |
|
Windows PowerShell |
Guillemets simples |
Guillemets simples |
Valeurs des paramètres JSON
Certains paramètres de commande nécessitent des valeurs au format JSON. Le choix des guillemets externes et internes varie selon le système d'exploitation.
Tableaux JSON
-
Linux / macOS : utilisez des guillemets simples pour la couche externe et des guillemets doubles pour les valeurs internes.
aliyun ecs describe-disks --disk-ids '["d-bp1****","d-bp2****","d-bp3****"]' --biz-region-id cn-hangzhou -
Windows (Invite de commandes et PowerShell) : utilisez des guillemets doubles pour la couche externe et des guillemets simples pour les valeurs internes.
aliyun ecs describe-disks --disk-ids "['d-bp1****','d-bp2****','d-bp3****']" --biz-region-id cn-hangzhou
Objets JSON
Lorsqu'une valeur de paramètre est un objet JSON, entourez chaque objet JSON d'accolades {} et séparez les clés et les valeurs par des deux-points :.
-
Linux / macOS :
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers '[{"ServerId":"i-bp1****"},{"ServerId":"i-bp2****"}]' -
Windows (Invite de commandes et PowerShell) :
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers "[{'ServerId':'i-bp1****'},{'ServerId':'i-bp2****'}]"
Valeurs contenant des caractères spéciaux
Valeurs commençant par un trait d'union (-)
Lorsqu'une valeur de paramètre commence par -, la CLI peut l'interpréter à tort comme un autre nom de paramètre :
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange "-1/-1" --method POST --force
Utilisez un signe égal pour connecter le nom du paramètre et sa valeur afin de résoudre ce problème :
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange=-1/-1 --method POST --force
Caractères spéciaux du shell
Lorsque les valeurs des paramètres contiennent des caractères spéciaux du shell ($, , \, espaces, etc.), vous devez les entourer de guillemets. Sous Linux / macOS, utilisez des guillemets simples pour empêcher le shell d'interpréter les caractères spéciaux. Sous l'invite de commandes Windows, utilisez des guillemets doubles.
# 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'
Charger les valeurs des paramètres depuis un fichier
Lorsqu'une valeur de paramètre est longue, comme un certificat ou une charge utile JSON volumineuse, il est plus pratique de charger la valeur depuis un fichier local.
--body-file (appels d'API RESTful)
Dans les appels d'API RESTful, utilisez --body-file pour charger le corps de la requête HTTP depuis un fichier local.
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body-file request.json
Substitution de commande shell et here-doc
Vous pouvez également utiliser la substitution de commande shell ($(cat ...)) ou un here-doc pour transmettre le contenu du fichier au paramètre --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 substitution de commande shell et le here-doc ne s'appliquent qu'aux environnements bash ou zsh. Pour les environnements Windows, utilisez --body-file.
Saisie semi-automatique des commandes
Alibaba Cloud CLI prend en charge la saisie semi-automatique des commandes. Une fois cette fonctionnalité activée, vous pouvez appuyer sur la touche Tab pour compléter automatiquement les noms de produits, les noms d'opérations et les noms de paramètres.
La saisie semi-automatique n'est prise en charge que dans les environnements bash ou zsh sur les systèmes Linux et macOS. Elle couvre les noms de produits, les noms d'opérations et les noms de paramètres, mais pas les valeurs des paramètres.
Exécutez la commande suivante pour activer la saisie semi-automatique :
aliyun auto-completion
Après avoir activé la saisie semi-automatique, exécutez la commande suivante pour appliquer immédiatement la configuration ou redémarrez le terminal :
# bash
source ~/.bash_profile
# zsh
source ~/.zshrc
Pour vérifier que la saisie semi-automatique fonctionne, tapez aliyun et appuyez sur Tab. Si une liste de commandes candidates apparaît (comme configure), la saisie semi-automatique est activée.
Pour désactiver la saisie semi-automatique, exécutez :
aliyun auto-completion --uninstall
FAQ
--help indique qu'un paramètre est facultatif. Puis-je toujours l'omettre ?
Pas nécessairement. Certaines commandes comportent des paramètres mutuellement exclusifs, ce qui signifie que vous devez en spécifier un ou l'autre. Ces paramètres sont individuellement marqués comme facultatifs, mais au moins l'un d'eux doit être spécifié. Sinon, une erreur est renvoyée. Reportez-vous à la documentation de l'API du produit concerné pour connaître les règles d'exigence spécifiques.