

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création et utilisation d'alias dans AWS CLI
<a name="cli-usage-alias"></a>

Les alias sont des raccourcis que vous pouvez créer dans le AWS Command Line Interface (AWS CLI) pour raccourcir les commandes ou les scripts que vous utilisez fréquemment. Vous créez des alias dans le fichier `alias` situé dans votre dossier de configuration.

**Topics**
+ [Conditions préalables](#cli-usage-alias-prepreqs)
+ [Étape 1 : création du fichier d’alias](#cli-usage-alias-create-file)
+ [Étape 2 : création d’un alias](#cli-usage-alias-create-alias)
+ [Étape 3 : appel d’un alias](#cli-usage-alias-call-alias)
+ [Exemples de référentiel d’alias](#cli-usage-alias-examples)
+ [Ressources](#cli-usage-alias-references)

## Conditions préalables
<a name="cli-usage-alias-prepreqs"></a>

Pour utiliser les commandes d’alias, vous devez respecter les exigences suivantes :
+ Installez et configurez l’ AWS CLI. Pour plus d’informations, consultez [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md) et [Authentification et informations d'accès pour AWS CLI](cli-chap-authentication.md).
+ Utilisez une AWS CLI version minimale de 1.11.24 ou 2.0.0.
+ (Facultatif) Pour utiliser des scripts AWS CLI alias bash, vous devez utiliser un terminal compatible avec bash.

## Étape 1 : création du fichier d’alias
<a name="cli-usage-alias-create-file"></a>

Pour créer le `alias` fichier, vous pouvez utiliser la navigation dans les fichiers et un éditeur de texte, ou utiliser votre terminal préféré en suivant la step-by-step procédure. Pour créer rapidement votre fichier d’alias, utilisez le bloc de commande suivant.

------
#### [ Linux and macOS ]

```
$ mkdir -p ~/.aws/cli
$ echo '[toplevel]' > ~/.aws/cli/alias
```

------
#### [ Windows ]

```
C:\> md %USERPROFILE%\.aws\cli
C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias
```

------

**Pour créer le fichier d’alias**

1. Créez un dossier nommé `cli` dans votre dossier AWS CLI de configuration. Par défaut, le dossier de configuration est `~/.aws/` sous Linux ou macOS, et `%USERPROFILE%\.aws\` sous Windows. Vous pouvez le créer par le biais de votre navigation dans les fichiers ou à l’aide de la commande suivante.

------
#### [ Linux and macOS ]

   ```
   $ mkdir -p ~/.aws/cli
   ```

------
#### [ Windows ]

   ```
   C:\> md %USERPROFILE%\.aws\cli
   ```

------

   Le chemin par défaut du dossier `cli` obtenu est `~/.aws/cli/` sous Linux ou macOS, et `%USERPROFILE%\.aws\cli` sous Windows.

1. Dans le dossier `cli`, créez un fichier texte nommé `alias` sans extension et ajoutez `[toplevel]` à la première ligne. Vous pouvez créer ce fichier via votre éditeur de texte préféré ou utiliser la commande suivante.

------
#### [ Linux and macOS ]

   ```
   $ echo '[toplevel]' > ~/.aws/cli/alias
   ```

------
#### [ Windows ]

   ```
   C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias
   ```

------

## Étape 2 : création d’un alias
<a name="cli-usage-alias-create-alias"></a>

Vous pouvez créer un alias à l’aide de commandes de base ou de scripts bash.

### Création d’un alias de commande de base
<a name="cli-usage-alias-create-alias-basic"></a>

Vous pouvez créer votre alias en ajoutant une commande à l’aide de la syntaxe suivante dans le fichier `alias` que vous avez créé à l’étape précédente. 

**Syntaxe**

```
aliasname = command [--options]
```

*aliasname*C'est ce que tu appelles ton alias. *command*Il s'agit de la commande que vous souhaitez appeler, qui peut inclure d'autres alias. Vous pouvez inclure des options ou des paramètres dans votre alias, ou les ajouter lorsque vous appelez votre alias.

L’exemple suivant crée un alias nommé `aws whoami` à l’aide de la commande [https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html). Comme cet alias appelle une commande existante de l’ AWS CLI , vous pouvez écrire la commande sans le préfixe `aws`.

```
whoami = sts get-caller-identity
```

L’exemple suivant reprend l’exemple `whoami` précédent et ajoute le filtre `Account` et les options `output` de texte.

```
whoami2 = sts get-caller-identity --query Account --output text
```

### Création d’un alias de sous-commande
<a name="cli-usage-alias-create-alias-sub-command"></a>

**Note**  
La fonctionnalité d'alias de sous-commande nécessite une AWS CLI version minimale de 1.11.24 ou 2.0.0

Vous pouvez créer un alias pour des sous-commandes en ajoutant une commande à l’aide de la syntaxe suivante dans le fichier `alias` que vous avez créé à l’étape précédente. 

**Syntaxe**

```
[command commandGroup]
aliasname = command [--options]
```

*commandGroup*Il s'agit de l'espace de noms de commande, par exemple la commande `aws ec2 describe-regions` se trouve sous le groupe de `ec2` commandes. *aliasname*C'est ce que tu appelles ton alias. *command*Il s'agit de la commande que vous souhaitez appeler, qui peut inclure d'autres alias. Vous pouvez inclure des options ou des paramètres dans votre alias, ou les ajouter lorsque vous appelez votre alias.

L’exemple suivant crée un alias nommé `aws ec2 regions` à l’aide de la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-regions.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-regions.html). Comme cet alias appelle une commande existante de l’ AWS CLI dans l’espace de noms de commande `ec2`, vous pouvez écrire la commande sans le préfixe `aws ec2`.

```
[command ec2]
regions = describe-regions --query Regions[].RegionName
```

Pour créer des alias à partir de commandes situées en dehors de l’espace de noms des commandes, préfixez la commande complète avec un point d’exclamation. L’exemple suivant crée un alias nommé `aws ec2 instance-profiles` à l’aide de la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles.html).

```
[command ec2]
instance-profiles = !aws iam list-instance-profiles
```

**Note**  
Les alias utilisent uniquement les espaces de noms de commande existants et vous ne pouvez pas en créer de nouveaux. Par exemple, vous ne pouvez pas créer d’alias avec la section `[command johnsmith]`, car l’espace de noms de commande `johnsmith` n’existe pas déjà.

### Création d’un alias de script bash
<a name="cli-usage-alias-create-alias-scripting"></a>

**Avertissement**  
Pour utiliser des scripts AWS CLI alias bash, vous devez utiliser un terminal compatible avec bash

Vous pouvez créer un alias à l’aide de scripts bash pour des processus plus avancés en utilisant la syntaxe suivante.

**Syntaxe**

```
aliasname = 
    !f() {
        script content
}; f
```

*aliasname*C'est ce que vous appelez votre alias et *script content* c'est le script que vous souhaitez exécuter lorsque vous appelez l'alias.

L’exemple suivant utilise `opendns` pour générer votre adresse IP actuelle. Comme vous pouvez utiliser des alias dans d’autres alias, l’alias `myip` suivant est utile pour autoriser ou révoquer l’accès à votre adresse IP depuis d’autres alias. 

```
myip =
  !f() {
    dig +short myip.opendns.com @resolver1.opendns.com
  }; f
```

L’exemple de script suivant appelle l’alias `aws myip` précédent pour autoriser votre adresse IP pour l’entrée d’un groupe de sécurité Amazon EC2.

```
authorize-my-ip =
  !f() {
    ip=$(aws myip)
    aws ec2 authorize-security-group-ingress --group-id ${1} --cidr $ip/32 --protocol tcp --port 22
  }; f
```

Lorsque vous appelez des alias utilisant des scripts bash, les variables sont toujours transmises dans l’ordre dans lequel vous les avez saisies. Dans les scripts bash, les noms des variables ne sont pas pris en compte, mais uniquement l’ordre dans lequel elles apparaissent. Dans l’exemple d’alias `textalert` suivant, la variable de l’option `--message` est la première et l’option `--phone-number` la deuxième.

```
textalert =
  !f() {
    aws sns publish --message "${1}" --phone-number ${2}
  }; f
```

## Étape 3 : appel d’un alias
<a name="cli-usage-alias-call-alias"></a>

Pour exécuter l’alias que vous avez créé dans votre fichier `alias`, utilisez la syntaxe suivante. Vous pouvez ajouter des options supplémentaires lorsque vous appelez votre alias.

**Syntaxe**

```
$ aws aliasname
```

L’exemple suivant utilise l’alias de commande `aws whoami`.

```
$ aws whoami
{
    "UserId": "A12BCD34E5FGHI6JKLM",
    "Account": "1234567890987",
    "Arn": "arn:aws:iam::1234567890987:user/userName"
}
```

L’exemple suivant utilise l’alias `aws whoami` avec des options supplémentaires pour renvoyer uniquement le nombre `Account` dans la sortie `text`.

```
$ aws whoami --query Account --output text
1234567890987
```

L’exemple suivant utilise l’[alias de sous-commande](#cli-usage-alias-create-alias-sub-command) `aws ec2 regions`.

```
$ aws ec2 regions
[
    "ap-south-1",
    "eu-north-1",
    "eu-west-3",
    "eu-west-2",
...
```

### Appel d’un alias à l’aide de variables de script bash
<a name="cli-usage-alias-call-alias-variables"></a>

Lorsque vous appelez des alias utilisant des scripts bash, les variables sont toujours transmises dans l’ordre dans lequel vous les avez saisies. Dans les scripts bash, le nom des variables n’est pas pris en compte, mais uniquement l’ordre dans lequel elles apparaissent. Dans l’exemple d’alias `textalert` suivant, la variable de l’option `--message` est la première et l’option `--phone-number` la deuxième.

```
textalert =
  !f() {
    aws sns publish --message "${1}" --phone-number ${2}
  }; f
```

Lorsque vous appelez l’alias `textalert`, vous devez transmettre les variables dans le même ordre que celui dans lequel elles sont exécutées dans l’alias. Dans l’exemple suivant, nous utilisons les variables `$message` et `$phone`. La variable `$message` est transmise sous la forme `${1}` pour l’option `--message` et la variable `$phone` est transmise sous la forme `${2}` pour l’option `--phone-number`. Cela permet d’appeler avec succès l’alias `textalert` afin d’envoyer un message.

```
$ aws textalert $message $phone
{
    "MessageId": "1ab2cd3e4-fg56-7h89-i01j-2klmn34567"
}
```

Dans l’exemple suivant, l’ordre est changé lors de l’appel de l’alias à `$phone` et `$message`. La variable `$phone` est transmise sous la forme `${1}` pour l’option `--message` et la variable `$message` est transmise sous la forme `${2}` pour l’option `--phone-number`. Comme les variables ne sont pas dans l’ordre, l’alias les transmet de manière incorrecte. Cela provoque une erreur, car le contenu de `$message` ne correspond pas aux exigences de formatage des numéros de téléphone pour l’option `--phone-number`.

```
$ aws textalert $phone $message
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: text
```

## Exemples de référentiel d’alias
<a name="cli-usage-alias-examples"></a>

Le [référentiel d'AWS CLI alias *GitHub*](https://github.com/awslabs/awscli-aliases)contient des exemples d' AWS CLI alias créés par l'équipe de AWS CLI développeurs et la communauté. Vous pouvez utiliser l’exemple de fichier `alias` complet ou utiliser des alias individuels pour votre propre usage.

**Avertissement**  
L’exécution des commandes de cette section supprime votre fichier `alias` existant. Pour éviter de remplacer votre fichier d’alias existant, modifiez l’emplacement de votre téléchargement.

**Pour utiliser les alias du référentiel**

1. Installez Git. Pour les instructions d’installation, consultez [Getting Started - Installing Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) dans la *documentation Git*.

1. Installez la commande `jp`. La commande `jp` est utilisée dans l’alias `tostring`. Pour les instructions d'installation, consultez le fichier [JMESPath (jp) README.md](https://github.com/jmespath/jp) sur. *GitHub*

1. Installez la commande `jq`. La commande `jq` est utilisée dans l’alias `tostring-with-jq`. Pour les instructions d'installation, consultez le [processeur JSON (jq) activé *GitHub*](https://stedolan.github.io/jq/download/).

1. Téléchargez le fichier `alias` en effectuant l’une des actions suivantes :
   + Exécutez les commandes suivantes pour télécharger le fichier `alias` depuis le référentiel et le copier dans votre dossier de configuration.

------
#### [ Linux and macOS ]

     ```
     $ git clone https://github.com/awslabs/awscli-aliases.git
     $ mkdir -p ~/.aws/cli
     $ cp awscli-aliases/alias ~/.aws/cli/alias
     ```

------
#### [ Windows ]

     ```
     C:\> git clone https://github.com/awslabs/awscli-aliases.git
     C:\> md %USERPROFILE%\.aws\cli
     C:\> copy awscli-aliases\alias %USERPROFILE%\.aws\cli
     ```

------
   + Téléchargez-le directement depuis le référentiel et enregistrez-le dans le `cli` dossier de votre dossier AWS CLI de configuration. Par défaut, le dossier de configuration est `~/.aws/` sous Linux ou macOS, et `%USERPROFILE%\.aws\` sous Windows. 

1. Pour vérifier que les alias fonctionnent, exécutez l’alias suivant.

   ```
   $ aws whoami
   ```

   Cela affiche la même réponse que la commande `aws sts get-caller-identity` :

   ```
   {
       "Account": "012345678901",
       "UserId": "AIUAINBADX2VEG2TC6HD6",
       "Arn": "arn:aws:iam::012345678901:user/myuser"
   }
   ```

## Ressources
<a name="cli-usage-alias-references"></a>
+ Le [référentiel d'AWS CLI alias *GitHub*](https://github.com/awslabs/awscli-aliases)contient des exemples d' AWS CLI alias créés par l'équipe de AWS CLI développeurs et la contribution de la AWS CLI communauté.
+ L'annonce de la fonctionnalité d'alias publiée dans [AWS re:Invent 2016 : The Effective AWS CLI User](https://www.youtube.com/watch?t=1590&v=Xc1dHtWa9-Q) on. *YouTube* 
+ [https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html](https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html)