

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.

# AWS IoT Greengrass Interface de ligne de commande du kit de développement
<a name="greengrass-development-kit-cli"></a>

L'interface de ligne de commande du kit de AWS IoT Greengrass développement (GDK CLI) fournit des fonctionnalités qui vous aident à développer des composants [Greengrass personnalisés](develop-greengrass-components.md). Vous pouvez utiliser la CLI GDK pour créer, créer et publier des composants personnalisés. Lorsque vous créez un référentiel de composants avec la CLI GDK, vous pouvez partir d'un modèle ou d'un composant communautaire du catalogue de logiciels [Greengrass](greengrass-software-catalog.md). Ensuite, vous pouvez choisir un système de compilation qui empaquète les fichiers sous forme d'archives ZIP, utilise un script de génération Maven ou Gradle ou exécute une commande de construction personnalisée. Après avoir créé un composant, vous pouvez utiliser la CLI GDK pour le publier sur le AWS IoT Greengrass service. Vous pouvez ainsi utiliser la AWS IoT Greengrass console ou l'API pour déployer le composant sur vos appareils principaux Greengrass.

Lorsque vous développez des composants Greengrass sans la CLI GDK, vous devez mettre à jour la version et l' URIs artefact dans [le fichier de recette du composant](component-recipe-reference.md) chaque fois que vous créez une nouvelle version du composant. Lorsque vous utilisez la CLI GDK, elle peut automatiquement mettre à jour la version et l'artefact URIs pour vous chaque fois que vous publiez une nouvelle version du composant.

La CLI GDK est open source et disponible sur GitHub. Vous pouvez personnaliser et étendre la CLI GDK pour répondre à vos besoins de développement de composants. Nous vous invitons à ouvrir des problèmes et à extraire des requêtes sur le GitHub référentiel. Vous pouvez trouver la source de la CLI GDK sur le lien suivant : [https://github.com/aws-greengrass/aws-greengrass-gdk-cli](https://github.com/aws-greengrass/aws-greengrass-gdk-cli)

## Prérequis
<a name="gdk-cli-prerequisites"></a>

Pour installer et utiliser la CLI du Greengrass Development Kit, vous avez besoin des éléments suivants :
+ Un Compte AWS. Si vous n'en avez pas, veuillez consulter [Configurez un Compte AWS](setting-up.md#set-up-aws-account).
+ Un ordinateur de développement de type Windows, macOS ou Unix doté d'une connexion Internet.
+ Pour la version 1.1.0 ou ultérieure de GDK CLI, [Python](https://www.python.org/downloads/) 3.6 ou version ultérieure est installé sur votre ordinateur de développement.

  Pour la version 1.0.0 de la CLI GDK, [Python](https://www.python.org/downloads/) 3.8 ou version ultérieure installé sur votre ordinateur de développement.
+ [Git](https://git-scm.com/) est installé sur votre ordinateur de développement.
+ <a name="development-component-aws-cli-prerequisite"></a>AWS Command Line Interface (AWS CLI) installé et configuré avec des informations d'identification sur votre ordinateur de développement. Pour plus d'informations, consultez les [sections Installation, mise à jour et désinstallation du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) et [Configuration du AWS CLI dans le](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) *guide de l'AWS Command Line Interface utilisateur*.
**Note**  
Si vous utilisez un Raspberry Pi ou un autre appareil ARM 32 bits, installez la AWS CLI V1. AWS CLI La V2 n'est pas disponible pour les appareils ARM 32 bits. Pour plus d'informations, voir [Installation, mise à jour et désinstallation de la AWS CLI version 1](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html).
+ Pour utiliser la CLI GDK afin de publier des composants sur le AWS IoT Greengrass service, vous devez disposer des autorisations suivantes :
  + `s3:CreateBucket`
  + `s3:GetBucketLocation`
  + `s3:PutObject`
  + `greengrass:CreateComponentVersion`
  + `greengrass:ListComponentVersions`
+ Pour utiliser la CLI GDK afin de créer un composant dont les artefacts existent dans un compartiment S3 et non dans le système de fichiers local, vous devez disposer des autorisations suivantes :
  + `s3:ListBucket`

  Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.

## Journal des modifications
<a name="gdk-cli-changelog"></a>

Le tableau suivant décrit les modifications apportées à chaque version de la CLI GDK. Pour plus d'informations, consultez la [page des versions de la CLI GDK](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/releases) sur GitHub.


|  **Version**  |  **Modifications**  | 
| --- | --- | 
|  1.6.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.6.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.6.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.5.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.4.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.0.0  |  Première version.  | 

# Installation ou mise à jour de l'interface de ligne de commande AWS IoT Greengrass du kit de développement
<a name="install-greengrass-development-kit-cli"></a>

L'interface de ligne de commande du kit de AWS IoT Greengrass développement (GDK CLI) est basée sur Python, vous pouvez donc `pip` l'installer sur votre ordinateur de développement.

**Astuce**  
Vous pouvez également installer la CLI GDK dans un environnement virtuel Python tel que [venv](https://docs.python.org/3/library/venv.html#module-venv). Pour plus d'informations, consultez [Environnements virtuels et packages](https://docs.python.org/3/tutorial/venv.html) dans la *documentation de Python 3*.

**Pour installer ou mettre à jour la CLI GDK**

1. Exécutez la commande suivante pour installer la dernière version de la CLI GDK à partir de son [GitHubréférentiel](https://github.com/aws-greengrass/aws-greengrass-gdk-cli).

   ```
   python3 -m pip install -U git+https://github.com/aws-greengrass/aws-greengrass-gdk-cli.git@v1.6.2
   ```
**Note**  
Pour installer une version spécifique de la CLI GDK, remplacez-la *versionTag* par la balise de version à installer. Vous pouvez consulter les balises de version de la CLI GDK dans son [GitHubréférentiel](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/tags).  

   ```
   python3 -m pip install -U git+https://github.com/aws-greengrass/aws-greengrass-gdk-cli.git@versionTag
   ```

1. <a name="gdk-cli-verify-installation"></a>Exécutez la commande suivante pour vérifier que la CLI GDK a été correctement installée.

   ```
   gdk --help
   ```

   Si la `gdk` commande n'est pas trouvée, ajoutez son dossier dans PATH.
   + Sur les appareils Linux, ajoutez `/home/MyUser/.local/bin` à PATH et remplacez-le par *MyUser* le nom de votre utilisateur.
   + Sur les appareils Windows, ajoutez `PythonPath\\Scripts` à PATH et remplacez-le par *PythonPath* le chemin d'accès au dossier Python de votre appareil.

Vous pouvez désormais utiliser la CLI GDK pour créer, créer et publier des composants Greengrass. Pour plus d'informations sur l'utilisation de la CLI GDK, consultez[AWS IoT Greengrass Commandes de l'interface de ligne de commande du kit de développement](greengrass-development-kit-cli-commands.md).

# AWS IoT Greengrass Commandes de l'interface de ligne de commande du kit de développement
<a name="greengrass-development-kit-cli-commands"></a>

L'interface de ligne de commande du kit de AWS IoT Greengrass développement (GDK CLI) fournit une interface de ligne de commande que vous pouvez utiliser pour créer, créer et publier des composants Greengrass sur votre ordinateur de développement. Les commandes GDK CLI utilisent le format suivant.

```
gdk <command> <subcommand> [arguments]
```

Lorsque vous [installez la CLI GDK](install-greengrass-development-kit-cli.md), le programme d'installation ajoute des éléments `gdk` au PATH afin que vous puissiez exécuter la CLI GDK depuis la ligne de commande.

Vous pouvez utiliser les arguments suivants avec n'importe quelle commande :
+ Utilisez `-h` ou `--help` pour obtenir des informations sur une commande GDK CLI.
+ Utilisez `-v` ou `--version` pour voir quelle version de GDK CLI est installée.
+ Utilisez `-d` ou `--debug` pour générer des journaux détaillés que vous pouvez utiliser pour déboguer la CLI GDK.

Cette section décrit les commandes de la CLI GDK et fournit des exemples pour chaque commande. Le synopsis de chaque commande montre ses arguments et leur utilisation. Les arguments facultatifs sont indiqués entre crochets.

**Topics**
+ [composant](greengrass-development-kit-cli-component.md)
+ [config](greengrass-development-kit-cli-config.md)
+ [test-e2e](greengrass-development-kit-cli-test.md)

# composant
<a name="greengrass-development-kit-cli-component"></a>

Utilisez la `component` commande dans l'interface de ligne de commande du kit de AWS IoT Greengrass développement (CLI GDK) pour créer, créer et publier des composants Greengrass personnalisés.

**Topics**
+ [init](#greengrass-development-kit-cli-component-init)
+ [build](#greengrass-development-kit-cli-component-build)
+ [publication](#greengrass-development-kit-cli-component-publish)
+ [liste](#greengrass-development-kit-cli-component-list)

## init
<a name="greengrass-development-kit-cli-component-init"></a>

Initialisez un dossier de composants Greengrass à partir d'un modèle de composant ou d'un composant communautaire.

<a name="gdk-cli-component-templates-community-components"></a>La CLI GDK récupère les composants communautaires du [catalogue des logiciels Greengrass](greengrass-software-catalog.md) et les modèles de composants du référentiel de modèles de [AWS IoT Greengrass composants](https://github.com/aws-greengrass/aws-greengrass-component-templates) sur. GitHub

**Note**  
<a name="gdk-cli-component-init-empty-folder-requirement"></a>Si vous utilisez GDK CLI v1.0.0, vous devez exécuter cette commande dans un dossier vide. La CLI GDK télécharge le modèle ou le composant communautaire dans le dossier actuel.  
<a name="gdk-cli-component-init-empty-folder-requirement-gdk-cli-v1.1.0"></a>Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, vous pouvez spécifier l'`--name`argument pour spécifier le dossier dans lequel la CLI GDK télécharge le modèle ou le composant communautaire. Si vous utilisez cet argument, spécifiez un dossier qui n'existe pas. La CLI GDK crée le dossier pour vous. Si vous ne spécifiez pas cet argument, la CLI GDK utilise le dossier actuel, qui doit être vide.  
Si le composant utilise le [système de génération zip](gdk-cli-configuration-file.md#gdk-cli-configuration-file-build-system), la CLI GDK compresse certains fichiers du dossier du composant dans un fichier zip portant le même nom que le dossier du composant. Par exemple, si le nom du dossier du composant est`HelloWorld`, la CLI GDK crée un fichier zip nommé`HelloWorld.zip`. Dans la recette du composant, le nom de l'artefact zip doit correspondre au nom du dossier du composant. Si vous utilisez la version 1.0.0 de la CLI GDK sur un appareil Windows, les noms des dossiers de composants et des fichiers zip ne doivent contenir que des lettres minuscules.  
Si vous initialisez un modèle ou un composant communautaire qui utilise le système de génération zip dans un dossier portant un nom différent de celui du modèle ou du composant, vous devez modifier le nom de l'artefact zip dans la recette du composant. Mettez à jour les `Lifecycle` définitions `Artifacts` et de manière à ce que le nom du fichier zip corresponde au nom du dossier du composant. L'exemple suivant met en évidence le nom du fichier zip dans les `Lifecycle` définitions `Artifacts` et.  

```
{
  ...
  "Manifests": [
    {
      "Platform": {
        "os": "all"
      },
      "Artifacts": [
        {
          "URI": "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip",
          "Unarchive": "ZIP"
        }
      ],
      "Lifecycle": {
        "Run": "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}"
      }
    }
  ]
}
```

```
---
...
Manifests:
  - Platform:
      os: all
    Artifacts:
      - URI: "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip"
        Unarchive: ZIP
    Lifecycle:
      Run: "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}"
```

**Résumé**  

```
$ gdk component init
    [--language]
    [--template]
    [--repository]
    [--name]
```

**Arguments (initialisation à partir du modèle de composant)**  
+ `-l`, `--language` — Langage de programmation à utiliser pour le modèle que vous spécifiez.

  Vous devez spécifier soit, `--repository` soit `--language` et`--template`.
+ `-t`, `--template` — Modèle de composant à utiliser pour un projet de composant local. Pour afficher les modèles disponibles, utilisez la commande [list](#greengrass-development-kit-cli-component-list).

  Vous devez spécifier soit, `--repository` soit `--language` et`--template`.
+ `-n`, `--name` — (Facultatif) Le nom du dossier local dans lequel la CLI GDK initialise le composant. Spécifiez un dossier qui n'existe pas. La CLI GDK crée le dossier pour vous.

  Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.

**Arguments (initialisation à partir du composant communautaire)**  
+ `-r`, `--repository` — Le composant communautaire à récupérer dans le dossier local. Pour afficher les composants communautaires disponibles, utilisez la commande [list](#greengrass-development-kit-cli-component-list).

  Vous devez spécifier soit, `--repository` soit `--language` et`--template`.
+ `-n`, `--name` — (Facultatif) Le nom du dossier local dans lequel la CLI GDK initialise le composant. Spécifiez un dossier qui n'existe pas. La CLI GDK crée le dossier pour vous.

  Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande pour initialiser un dossier de composants à partir du modèle Python Hello World.  

```
$ gdk component init -l python -t HelloWorld
[2021-11-29 12:51:40] INFO - Initializing the project directory with a python component template - 'HelloWorld'.
[2021-11-29 12:51:40] INFO - Fetching the component template 'HelloWorld-python' from Greengrass Software Catalog.
```
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande pour initialiser un dossier de composants à partir d'un composant communautaire.  

```
$ gdk component init -r aws-greengrass-labs-database-influxdb
[2022-01-24 15:44:33] INFO - Initializing the project directory with a component from repository catalog - 'aws-greengrass-labs-database-influxdb'.
[2022-01-24 15:44:33] INFO - Fetching the component repository 'aws-greengrass-labs-database-influxdb' from Greengrass Software Catalog.
```

## build
<a name="greengrass-development-kit-cli-component-build"></a>

Intégrez la source d'un composant dans une recette et des artefacts que vous pouvez publier sur le AWS IoT Greengrass service. La CLI GDK exécute le système de génération que vous spécifiez dans le [fichier de configuration de la CLI GDK](gdk-cli-configuration-file.md),. `gdk-config.json` Vous devez exécuter cette commande dans le dossier où se trouve le `gdk-config.json` fichier.

Lorsque vous exécutez cette commande, la CLI GDK crée une recette et des artefacts dans le `greengrass-build` dossier du dossier des composants. La CLI GDK enregistre la recette dans le `greengrass-build/recipes` dossier et enregistre les artefacts dans le `greengrass-build/artifacts/componentName/componentVersion` dossier.

Si vous utilisez GDK CLI v1.1.0 ou version ultérieure, la recette du composant peut spécifier des artefacts qui existent dans un compartiment S3 mais pas dans le dossier de construction du composant local. Vous pouvez utiliser cette fonctionnalité pour réduire l'utilisation de la bande passante lorsque vous développez des composants comportant de gros artefacts, tels que des modèles d'apprentissage automatique.

Après avoir créé un composant, vous pouvez effectuer l'une des opérations suivantes pour le tester sur un appareil Greengrass principal :
+ Si vous développez sur un appareil différent de celui sur lequel vous exécutez le logiciel AWS IoT Greengrass Core, vous devez publier le composant pour le déployer sur un appareil principal Greengrass. Publiez le composant sur le AWS IoT Greengrass service et déployez-le sur le périphérique principal de Greengrass. Pour plus d'informations, consultez la commande de [publication](#greengrass-development-kit-cli-component-build) et[Créer des déploiements](create-deployments.md).
+ Si vous développez sur le même appareil que celui sur lequel vous exécutez le logiciel AWS IoT Greengrass Core, vous pouvez publier le composant sur le AWS IoT Greengrass service à déployer, ou vous pouvez créer un déploiement local pour installer et exécuter le composant. Pour créer un déploiement local, utilisez la CLI Greengrass. Pour plus d’informations, consultez [Interface de ligne de commande Greengrass](gg-cli.md) et [Testez AWS IoT Greengrass les composants avec des déploiements locaux](test-components.md). Lorsque vous créez le déploiement local, `greengrass-build/recipes` spécifiez-le comme dossier de recettes et `greengrass-build/artifacts` comme dossier d'artefacts.

**Résumé**  

```
$ gdk component build
```

**Arguments**  
Aucun

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.  

```
$ gdk component build
[2021-11-29 13:18:49] INFO - Getting project configuration from gdk-config.json
[2021-11-29 13:18:49] INFO - Found component recipe file 'recipe.yaml' in the  project directory.
[2021-11-29 13:18:49] INFO - Building the component 'com.example.PythonHelloWorld' with the given project configuration.
[2021-11-29 13:18:49] INFO - Using 'zip' build system to build the component.
[2021-11-29 13:18:49] WARNING - This component is identified as using 'zip' build system. If this is incorrect, please exit and specify custom build command in the 'gdk-config.json'.
[2021-11-29 13:18:49] INFO - Zipping source code files of the component.
[2021-11-29 13:18:49] INFO - Copying over the build artifacts to the greengrass component artifacts build folder.
[2021-11-29 13:18:49] INFO - Updating artifact URIs in the recipe.
[2021-11-29 13:18:49] INFO - Creating component recipe in 'C:\Users\MyUser\Documents\greengrass-components\python\HelloWorld\greengrass-build\recipes'.
```

## publication
<a name="greengrass-development-kit-cli-component-publish"></a>

Publiez ce composant sur le AWS IoT Greengrass service. Cette commande télécharge les artefacts de construction dans un compartiment S3, met à jour l'URI de l'artefact dans la recette et crée une nouvelle version du composant à partir de la recette. La CLI GDK utilise le compartiment S3 et la AWS région que vous spécifiez dans le [fichier de configuration de la CLI GDK](gdk-cli-configuration-file.md),. `gdk-config.json` Vous devez exécuter cette commande dans le dossier où se trouve le `gdk-config.json` fichier.

<a name="gdk-cli-s3-bucket-name-formation"></a>Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, vous pouvez spécifier l'`--bucket`argument pour spécifier le compartiment S3 dans lequel la CLI GDK télécharge les artefacts du composant. <a name="gdk-cli-s3-bucket-name-formation-format"></a>Si vous ne spécifiez pas cet argument, la CLI GDK télécharge vers le compartiment S3 dont le nom est`bucket-region-accountId`, où *bucket* et *region* sont les valeurs que vous spécifiez`gdk-config.json`, ainsi que votre *accountId* Compte AWS identifiant. La CLI GDK crée le bucket s'il n'existe pas.

Si vous utilisez la CLI GDK v1.2.0 ou une version ultérieure, vous pouvez remplacer ce qui est Région AWS spécifié dans le fichier de configuration de la CLI GDK à l'aide du paramètre. `--region` Vous pouvez également définir des options supplémentaires à l'aide du `--options` paramètre. Pour obtenir la liste des options disponibles, consultez[Fichier de configuration CLI du Greengrass Development Kit](gdk-cli-configuration-file.md).

Lorsque vous exécutez cette commande, la CLI GDK publie le composant avec la version que vous spécifiez dans la recette. Si vous le spécifiez`NEXT_PATCH`, la CLI GDK utilise la prochaine version du correctif qui n'existe pas encore. Les versions sémantiques utilisent une *majeure*. *mineur*. système de numérotation des *patchs*. Pour plus d'informations, consultez la [spécification de version sémantique](https://semver.org/).

**Note**  
Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, lorsque vous exécutez cette commande, la CLI GDK vérifie si le composant est créé. Si le composant n'est pas créé, la CLI GDK [le construit](#greengrass-development-kit-cli-component-build) avant de le publier.

**Résumé**  

```
$ gdk component publish
    [--bucket] [--region] [--options]
```

**Arguments**  
+ `-b`, `--bucket` — (Facultatif) Spécifiez le nom du compartiment S3 dans lequel la CLI GDK publie les artefacts des composants.

   <a name="gdk-cli-s3-bucket-name-formation-format"></a>Si vous ne spécifiez pas cet argument, la CLI GDK télécharge vers le compartiment S3 dont le nom est`bucket-region-accountId`, où *bucket* et *region* sont les valeurs que vous spécifiez`gdk-config.json`, ainsi que votre *accountId* Compte AWS identifiant. La CLI GDK crée le bucket s'il n'existe pas. 

  La CLI GDK crée le bucket s'il n'existe pas.

  Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.
+ `-r`, `--region` — (Facultatif) Spécifiez le nom du Région AWS to lorsque le composant est créé. Cet argument remplace le nom de la région dans la configuration de la CLI GDK.

  Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.
+ `-o`, `--options` (Facultatif) Spécifiez une liste d'options pour publier un composant. L'argument doit être une chaîne JSON valide ou un chemin de fichier vers un fichier JSON contenant les options de publication. Cet argument remplace les options de la configuration de la CLI GDK. 

  Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.  

```
$ gdk component publish
[2021-11-29 13:45:29] INFO - Getting project configuration from gdk-config.json
[2021-11-29 13:45:29] INFO - Found component recipe file 'recipe.yaml' in the  project directory.
[2021-11-29 13:45:29] INFO - Found credentials in shared credentials file: ~/.aws/credentials
[2021-11-29 13:45:30] INFO - Publishing the component 'com.example.PythonHelloWorld' with the given project configuration.
[2021-11-29 13:45:30] INFO - No private version of the component 'com.example.PythonHelloWorld' exist in the account. Using '1.0.0' as the next version to create.
[2021-11-29 13:45:30] INFO - Uploading the component built artifacts to s3 bucket.
[2021-11-29 13:45:30] INFO - Uploading component artifacts to S3 bucket: {bucket}. If this is your first time using this bucket, add the 's3:GetObject' permission to each core device's token exchange role to allow it to download the component artifacts. For more information, see https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html.
[2021-11-29 13:45:30] INFO - Not creating an artifacts bucket as it already exists.
[2021-11-29 13:45:30] INFO - Updating the component recipe com.example.PythonHelloWorld-1.0.0.
[2021-11-29 13:45:30] INFO - Creating a new greengrass component com.example.PythonHelloWorld-1.0.0
[2021-11-29 13:45:30] INFO - Created private version '1.0.0' of the component in the account.'com.example.PythonHelloWorld'.
```

## liste
<a name="greengrass-development-kit-cli-component-list"></a>

Récupérez la liste des modèles de composants et des composants communautaires disponibles.

<a name="gdk-cli-component-templates-community-components"></a>La CLI GDK récupère les composants communautaires du [catalogue des logiciels Greengrass](greengrass-software-catalog.md) et les modèles de composants du référentiel de modèles de [AWS IoT Greengrass composants](https://github.com/aws-greengrass/aws-greengrass-component-templates) sur. GitHub

Vous pouvez transmettre le résultat de cette commande à la commande [init](#greengrass-development-kit-cli-component-init) pour initialiser les référentiels de composants à partir de modèles et de composants communautaires.

**Résumé**  

```
$ gdk component list
    [--template]
    [--repository]
```

**Arguments**  
+ `-t`, `--template` — (Facultatif) Spécifiez cet argument pour répertorier les modèles de composants disponibles. Cette commande affiche le nom et la langue de chaque modèle au format`name-language`. Par exemple, dans`HelloWorld-python`, le nom du modèle est `HelloWorld` et la langue est`python`.
+ `-r`, `--repository` — (Facultatif) Spécifiez cet argument pour répertorier les référentiels de composants communautaires disponibles.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.  

```
$ gdk component list --template
[2021-11-29 12:29:04] INFO - Listing all the available component templates from Greengrass Software Catalog.
[2021-11-29 12:29:04] INFO - Found '2' component templates to display.
1. HelloWorld-python
2. HelloWorld-java
```

# config
<a name="greengrass-development-kit-cli-config"></a>

Utilisez la `config` commande de l'interface de ligne de commande du kit de AWS IoT Greengrass développement (CLI GDK) pour modifier la configuration du GDK dans le fichier de configuration,. `gdk-config.json`

**Topics**
+ [mise à jour](#greengrass-development-kit-cli-config-update)

## mise à jour
<a name="greengrass-development-kit-cli-config-update"></a>

Lancez une invite interactive pour modifier les champs d'un fichier de configuration GDK existant.

**Résumé**  

```
$ gdk config update
    [--component]
```

**Arguments**  
+ `-c`, `--component` — Pour mettre à jour les champs relatifs aux composants dans le `gdk-config.json` fichier. Cet argument est obligatoire car il s'agit de la seule option.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande pour configurer un composant.  

```
$ gdk config update --component
Current value of the REQUIRED component_name is (default: com.example.PythonHelloWorld): 
Current value of the REQUIRED author is (default: author): 
Current value of the REQUIRED version is (default: NEXT_PATCH): 
Do you want to change the build configurations? (y/n) 
Do you want to change the publish configurations? (y/n)
[2023-09-26 10:19:48] INFO - Config file has been updated. Exiting...
```

# test-e2e
<a name="greengrass-development-kit-cli-test"></a>

Utilisez la `test-e2e` commande de l'interface de ligne de commande du kit de AWS IoT Greengrass développement (CLI GDK) pour initialiser, créer et end-to-end exécuter des modules de test dans le projet GDK.

**Topics**
+ [init](#greengrass-development-kit-cli-test-init)
+ [build](#greengrass-development-kit-cli-test-build)
+ [run](#greengrass-development-kit-cli-test-run)

## init
<a name="greengrass-development-kit-cli-test-init"></a>

Initialisez un projet GDK CLI existant avec un module de test qui utilise Greengrass Testing Framework (GTF).

Par défaut, la CLI GDK récupère le modèle de module maven depuis le référentiel de [modèles de AWS IoT Greengrass composants](https://github.com/aws-greengrass/aws-greengrass-component-templates) sur. GitHub Ce module maven est livré avec une dépendance au fichier `aws-greengrass-testing-standalone` JAR.

Cette commande crée un nouveau répertoire appelé `gg-e2e-tests` inside of the GDK project. Si le répertoire du module de test existe déjà et qu'il n'est pas vide, la commande s'arrête sans rien faire. Ce `gg-e2e-tests` dossier contient la fonctionnalité Cucumber et les définitions d'étapes structurées dans un projet Maven.

Par défaut, cette commande essaie d'utiliser la dernière version de GTF.

**Résumé**  

```
$ gdk test-e2e init
    [--gtf-version]
```

**Arguments**  
+ `-ov`, `--gtf-version` — (Facultatif) Version du GTF à utiliser avec le module de end-to-end test dans le projet GDK. Cette valeur doit être l'une des versions GTF des [versions](https://github.com/aws-greengrass/aws-greengrass-testing/releases). Cet argument remplace celui de la configuration `gtf_version` de la CLI GDK.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande pour initialiser le projet GDK avec le module de test.  

```
$ gdk test-e2e init
[2023-12-06 12:20:28] INFO - Using the GTF version provided in the GDK test config 1.2.0
[2023-12-06 12:20:28] INFO - Downloading the E2E testing template from GitHub into gg-e2e-tests directory...
```

## build
<a name="greengrass-development-kit-cli-test-build"></a>

**Note**  
Vous devez créer le composant en l'exécutant **gdk component build** avant de créer le module de end-to-end test.

Créez le module end-to-end de test. La CLI GDK crée le module de test à l'aide du système de génération que vous spécifiez dans le [fichier de configuration de la CLI GDK](gdk-cli-configuration-file.md)`gdk-config.json`, sous la `test-e2e` propriété. Vous devez exécuter cette commande dans le dossier où se trouve le `gdk-config.json` fichier.

Par défaut, la CLI GDK utilise le système de construction maven pour créer le module de test. [Maven](https://maven.apache.org/) est requis pour exécuter la `gdk test-e2e build` commande.

Vous devez créer le composant en l'exécutant **gdk-component-build** avant de créer le module de test, si les fichiers de fonctionnalités de test contiennent des variables telles que `GDK_COMPONENT_NAME` et `GDK_COMPONENT_RECIPE_FILE` à interpoler.

Lorsque vous exécutez cette commande, la CLI GDK interpole toutes les variables de la configuration du projet GDK et crée le `gg-e2e-tests` module pour générer le fichier JAR de test final.

**Résumé**  

```
$ gdk test-e2e build
```

**Arguments**  
Aucun

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.  

```
$ gdk test-e2e build
[2023-07-20 15:36:48] INFO - Updating feature file: file:///path/to//HelloWorld/greengrass-build/gg-e2e-tests/src/main/resources/greengrass/features/component.feature
[2023-07-20 15:36:48] INFO - Creating the E2E testing recipe file:///path/to/HelloWorld/greengrass-build/recipes/e2e_test_recipe.yaml
[2023-07-20 15:36:48] INFO - Building the E2E testing module
[2023-07-20 15:36:48] INFO - Running the build command 'mvn package'
.........
```

## run
<a name="greengrass-development-kit-cli-test-run"></a>

Exécutez le module de test avec les options de test du fichier de configuration GDK.

**Note**  
Vous devez créer le module de test en l'exécutant **gdk test-e2e build** avant d'exécuter les end-to-end tests.

**Résumé**  

```
$ gdk test-e2e run
    [--gtf-options]
```

**Arguments**  
+ `-oo`, `--gtf-options` — (Facultatif) Spécifiez une liste d'options pour exécuter les end-to-end tests. L'argument doit être une chaîne JSON valide ou un chemin de fichier vers un fichier JSON contenant les options GTF. Les options fournies dans le fichier de configuration sont fusionnées avec celles fournies dans les arguments de commande. Si une option est présente aux deux endroits, celle en argument a priorité sur celle du fichier de configuration.

  Si l'`tags`option n'est pas spécifiée dans cette commande, GDK l'utilise `Sample` pour les balises. Si `ggc-archive` ce n'est pas spécifié, GDK télécharge la dernière version de l'archive Greengrass nucleus.

**Sortie**  
L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.  

```
$ gdk test-e2e run
[2023-07-20 16:35:53] INFO - Downloading latest nucleus archive from url https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-latest.zip
[2023-07-20 16:35:57] INFO - Running test jar with command java -jar /path/to/greengrass-build/gg-e2e-tests/target/uat-features-1.0.0.jar —ggc-archive=/path/to/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip —tags=Sample

16:35:59.693 [] [] [] [INFO] com.aws.greengrass.testing.modules.GreengrassContextModule - Extracting /path/to/workplace/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip into /var/folders/7g/ltzcb_3s77nbtmkzfb6brwv40000gr/T/gg-testing-7718418114158172636/greengrass
16:36:00.534 [gtf-1.1.0-SNAPSHOT] [] [] [INFO] com.aws.greengrass.testing.features.LoggerSteps - GTF Version is gtf-1.1.0-SNAPSHOT
.......
```

# Fichier de configuration CLI du Greengrass Development Kit
<a name="gdk-cli-configuration-file"></a>

L'interface de ligne de commande du kit de AWS IoT Greengrass développement (CLI GDK) lit un fichier de configuration `gdk-config.json` nommé pour créer et publier des composants. Ce fichier de configuration doit exister à la racine du référentiel de composants. Vous pouvez utiliser la [commande d'initialisation](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-init) de la CLI GDK pour initialiser les référentiels de composants avec ce fichier de configuration.

**Topics**
+ [Format de fichier de configuration GDK CLI](#gdk-config-format)
+ [Exemples de fichiers de configuration GDK CLI](#gdk-config-examples)

## Format de fichier de configuration GDK CLI
<a name="gdk-config-format"></a>

Lorsque vous définissez un fichier de configuration GDK CLI pour un composant, vous spécifiez les informations suivantes au format JSON.

`gdk_version`  
Version minimale de la CLI GDK compatible avec ce composant. Cette valeur doit être l'une des versions de la CLI GDK des [versions](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/releases).

`component`  
Configuration de ce composant.    
`componentName`    
`author`  
L'auteur ou l'éditeur du composant.  
`version`  
Version du composant. Spécifiez l’un des éléments suivants :  <a name="gdk-cli-configuration-file-component-version-options"></a>
+ `NEXT_PATCH`— Lorsque vous choisissez cette option, la CLI GDK définit la version lorsque vous publiez le composant. La CLI GDK interroge le AWS IoT Greengrass service pour identifier la dernière version publiée du composant. Ensuite, il définit la version sur la version de correctif suivante après cette version. Si vous n'avez jamais publié le composant auparavant, la CLI GDK utilise la version`1.0.0`.

  Si vous choisissez cette option, vous ne pouvez pas utiliser la [CLI Greengrass](greengrass-cli-component.md) pour déployer et tester localement le composant sur votre ordinateur de développement local qui exécute le logiciel AWS IoT Greengrass Core. Pour activer les déploiements locaux, vous devez plutôt spécifier une version sémantique.
+ Une version sémantique, telle que**1.0.0**. Les versions sémantiques utilisent une *majeure*. *mineur*. système de numérotation des *patchs*. Pour plus d'informations, consultez la [spécification de version sémantique](https://semver.org/).

  Si vous développez des composants sur un appareil principal Greengrass sur lequel vous souhaitez les déployer et les tester, choisissez cette option. Vous devez créer le composant avec une version spécifique pour créer des déploiements locaux avec la CLI [Greengrass](greengrass-cli-component.md).  
`build`  
Configuration à utiliser pour intégrer la source de ce composant en artefacts. Cet objet contient les informations suivantes :    
  `build_system`   
Le système de compilation à utiliser. Sélectionnez parmi les options suivantes :  <a name="gdk-cli-configuration-file-component-build-system-options"></a>
+ `zip`— Regroupe le dossier du composant dans un fichier ZIP à définir comme seul artefact du composant. Choisissez cette option pour les types de composants suivants :
  + Composants utilisant des langages de programmation interprétés, tels que Python ou JavaScript.
  + Composants qui empaquetent des fichiers autres que du code, tels que des modèles d'apprentissage automatique ou d'autres ressources.

  La CLI GDK compresse le dossier du composant dans un fichier zip portant le même nom que le dossier du composant. Par exemple, si le nom du dossier du composant est`HelloWorld`, la CLI GDK crée un fichier zip nommé`HelloWorld.zip`.
**Note**  
Si vous utilisez la version 1.0.0 de la CLI GDK sur un appareil Windows, les noms des dossiers de composants et des fichiers zip ne doivent contenir que des lettres minuscules.

  Lorsque la CLI GDK comprime le dossier du composant dans un fichier zip, elle ignore les fichiers suivants :
  + le fichier `gdk-config.json` ;
  + Le fichier de recette (`recipe.json`ou`recipe.yaml`)
  + Créez des dossiers, tels que `greengrass-build`
+ `maven`— Exécute la `mvn clean package` commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent [Maven](https://maven.apache.org/), tels que les composants Java.

  Sur les appareils Windows, cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.
+ `gradle`— Exécute la `gradle build` commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent [Gradle](https://gradle.org/). Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.

  Le système de `gradle` construction prend en charge Kotlin DSL en tant que fichier de construction. Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.
+ `gradlew`— Exécute la `gradlew` commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent le [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html).

  Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.
+ `custom`— Exécute une commande personnalisée pour intégrer la source du composant dans une recette et des artefacts. Spécifiez la commande personnalisée dans le `custom_build_command` paramètre.  
`custom_build_command`  
(Facultatif) La commande de construction personnalisée à exécuter pour un système de génération personnalisé. Vous devez spécifier ce paramètre si vous spécifiez `custom` pour`build_system`.  
Cette commande doit créer une recette et des artefacts dans les dossiers suivants du dossier des composants. La CLI GDK crée ces dossiers pour vous lorsque vous exécutez la [commande component build](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-build).  
+ Dossier de recettes : `greengrass-build/recipes`
+ Dossier Artifacts : `greengrass-build/artifacts/componentName/componentVersion`

  Remplacez *componentName* par le nom du composant et remplacez *componentVersion* par la version du composant ou`NEXT_PATCH`.
Vous pouvez spécifier une chaîne unique ou une liste de chaînes, chaque chaîne étant un mot dans la commande. Par exemple, pour exécuter une commande de génération personnalisée pour un composant C\$1\$1, vous pouvez spécifier **cmake --build build --config Release** ou**["cmake", "--build", "build", "--config", "Release"]**.  
Pour voir un exemple de système de construction personnalisé, consultez le [aws.greengrass.labs.LocalWebServer community component sur GitHub](https://github.com/awslabs/aws-greengrass-labs-local-web-server).  
`options`  
(Facultatif) Options de configuration supplémentaires utilisées pendant le processus de création du composant.  
Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.    
`excludes`  
Liste de modèles globaux qui définissent les fichiers à exclure du répertoire des composants lors de la création du fichier zip. Valable uniquement lorsque `build_system` c'est le cas`zip`.  
Dans les versions 1.4.0 et antérieures de la CLI GDK, tout fichier correspondant à une entrée de la liste des exclusions est exclu de tous les sous-répertoires du composant. Pour obtenir le même comportement dans les versions 1.5.0 et ultérieures de la CLI GDK, ajoutez les `**/` entrées existantes dans la liste des exclusions. Par exemple, `*.txt` exclura les fichiers texte du répertoire uniquement ; `**/*.txt` exclura les fichiers texte de tous les répertoires et sous-répertoires.  
Dans les versions 1.5.0 et ultérieures de la CLI GDK, vous pouvez voir un avertissement lors de la création du composant lorsque cela `excludes` est défini dans le fichier de configuration GDK. Pour désactiver cet avertissement, définissez la variable `GDK_EXCLUDES_WARN_IGNORE` d'environnement sur`true`.
La CLI GDK exclut toujours les fichiers suivants du fichier zip :  
+ le fichier `gdk-config.json` ;
+ Le fichier de recette (`recipe.json`ou`recipe.yaml`)
+ Créez des dossiers, tels que `greengrass-build`
Les fichiers suivants sont exclus par défaut. Cependant, vous pouvez contrôler lesquels de ces fichiers sont exclus à l'aide de `excludes` cette option.  
+ Tout dossier commençant par le préfixe « test » () `test*`
+ Tous les fichiers cachés
+ Le dossier `node_modules`
Si vous spécifiez l'`excludes`option, la CLI GDK exclut uniquement les fichiers que vous avez définis avec l'`excludes`option. Si vous ne spécifiez pas `excludes` cette option, la CLI GDK exclut les fichiers et dossiers par défaut indiqués précédemment.  
`zip_name`  
Le nom du fichier zip à utiliser lorsque vous créez un artefact zip pendant le processus de génération. Valable uniquement lorsque `build_system` c'est le cas`zip`. Si le `build_system` champ est vide, le nom du composant est utilisé pour le nom du fichier zip.  
`publish`  
Configuration à utiliser pour publier ce composant sur le AWS IoT Greengrass service.  
<a name="gdk-cli-s3-bucket-name-formation"></a>Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, vous pouvez spécifier l'`--bucket`argument pour spécifier le compartiment S3 dans lequel la CLI GDK télécharge les artefacts du composant. <a name="gdk-cli-s3-bucket-name-formation-format"></a>Si vous ne spécifiez pas cet argument, la CLI GDK télécharge vers le compartiment S3 dont le nom est`bucket-region-accountId`, où *bucket* et *region* sont les valeurs que vous spécifiez`gdk-config.json`, ainsi que votre *accountId* Compte AWS identifiant. La CLI GDK crée le bucket s'il n'existe pas.  
Cet objet contient les informations suivantes :    
`bucket`  
Le nom du compartiment S3 à utiliser pour héberger les artefacts du composant.  
`region`  
L' Région AWS endroit où la CLI GDK publie ce composant.  
Cette propriété est facultative si vous utilisez GDK CLI v1.3.0 ou version ultérieure.  
`options`  
(Facultatif) Options de configuration supplémentaires utilisées lors de la création de la version du composant.  
Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.    
`file_upload_args`  
Structure JSON contenant des arguments envoyés à Amazon S3 lors du chargement de fichiers dans un compartiment, tels que des métadonnées et des mécanismes de chiffrement. Pour une liste des arguments autorisés, consultez la [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer.ALLOWED_UPLOAD_ARGS](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer.ALLOWED_UPLOAD_ARGS)classe dans la documentation de *Boto3*. .

`test-e2e`  
(Facultatif) Configuration à utiliser lors du end-to-end test du composant. Cette fonctionnalité est disponible pour GDK CLI v1.3.0 et versions ultérieures.    
`build`  
`build_system`— Le système de construction à utiliser. L'option par défaut est`maven`. Sélectionnez parmi les options suivantes :  
+ `maven`— Exécute la `mvn package` commande pour créer le module de test. Choisissez cette option pour créer le module de test qui utilise [Maven](https://maven.apache.org/).
+ `gradle`— Exécute la `gradle build` commande pour créer le module de test. Choisissez cette option pour le module de test qui utilise [Gradle](https://gradle.org/).   
`gtf_version`  
(Facultatif) Version du Greengrass Testing Framework (GTF) à utiliser comme dépendance du module de end-to-end test lorsque vous initialisez le projet GDK avec GTF. Cette valeur doit être l'une des versions GTF des [versions](https://github.com/aws-greengrass/aws-greengrass-testing/releases). La valeur par défaut est GTF version 1.1.0.  
`gtf_options`  
(Facultatif) Options de configuration supplémentaires utilisées lors du end-to-end test du composant.  
<a name="gtf_options"></a>La liste suivante inclut les options que vous pouvez utiliser avec la version 1.1.0 de GTF.  
+ `additional-plugins`— (Facultatif) Plugins Cucumber supplémentaires
+ `aws-region`— Cible des points de terminaison régionaux spécifiques pour les AWS services. La valeur par défaut correspond à ce que le AWS SDK découvre.
+ `credentials-path`— Chemin d'accès facultatif aux informations d'identification du AWS profil. Par défaut, ce sont les informations d'identification découvertes sur l'environnement hôte.
+ `credentials-path-rotation`— Durée de rotation facultative pour les AWS informations d'identification. La valeur par défaut est de 15 minutes ou`PT15M`.
+ `csr-path`— Le chemin du CSR à l'aide duquel le certificat de l'appareil sera généré.
+ `device-mode`— L'appareil cible en cours de test. Par défaut, il s'agit d'un appareil local.
+ `env-stage`— Cible l'environnement de déploiement de Greengrass. Par défaut, c'est la production.
+ `existing-device-cert-arn`— L'ARN d'un certificat existant que vous souhaitez utiliser comme certificat d'appareil pour Greengrass.
+ `feature-path`— Fichier ou répertoire contenant des fichiers de fonctionnalités supplémentaires. Par défaut, aucun fichier de fonctionnalités supplémentaire n'est utilisé.
+ `gg-cli-version`— Remplace la version de la CLI Greengrass. La valeur par défaut est celle trouvée dans. `ggc.version`
+ `gg-component-bucket`— Le nom d'un compartiment Amazon S3 existant qui héberge les composants Greengrass.
+ `gg-component-overrides`— Liste des remplacements de composants Greengrass.
+ `gg-persist`— Liste des éléments de test à conserver après un essai. Le comportement par défaut est de ne rien conserver. Les valeurs acceptées sont : `aws.resources``installed.software`, et`generated.files`.
+ `gg-runtime`— Une liste de valeurs destinées à influencer la manière dont le test interagit avec les ressources de test. Ces valeurs remplacent le paramètre. `gg.persist` Si la valeur par défaut est vide, cela suppose que toutes les ressources de test sont gérées par scénario de test, y compris le moteur d'exécution Greengrass installé. Les valeurs acceptées sont : `aws.resources``installed.software`, et`generated.files`.
+ `ggc-archive`— Le chemin d'accès au composant du noyau Greengrass archivé.
+ `ggc-install-root`— Répertoire pour installer le composant Greengrass nucleus. La valeur par défaut est test.temp.path et le dossier test run.
+ `ggc-log-level`— Définissez le niveau logarithmique du noyau Greengrass pour le test. La valeur par défaut est « INFO ».
+ `ggc-tes-rolename`— Le rôle IAM que AWS IoT Greengrass Core assumera pour accéder aux AWS services. Si aucun rôle portant un nom donné n'existe, un rôle sera créé avec une politique d'accès par défaut.
+ `ggc-trusted-plugins`— La liste séparée par des virgules des chemins (sur l'hôte) des plugins fiables qui doivent être ajoutés à Greengrass. Pour fournir le chemin sur le DUT lui-même, préfixez-le par « dut : »
+ `ggc-user-name`— La valeur POSIXUser user:group pour le noyau Greengrass. La valeur par défaut est le nom d'utilisateur actuel connecté.
+ `ggc-version`— Remplace la version du composant Greengrass nucleus en cours d'exécution. La valeur par défaut est celle trouvée dans ggc.archive.
+ `log-level`— Niveau de journalisation du test. La valeur par défaut est « INFO ».
+ `parallel-config`— Ensemble d'index de lots et de nombre de lots sous forme de chaîne JSON. La valeur par défaut de l'index des lots est 0 et le nombre de lots est 1.
+ `proxy-url`— Configurez tous les tests pour acheminer le trafic via cette URL.
+ `tags`— Exécutez uniquement des balises de fonctionnalité. Peut être intersecté avec « & »
+ `test-id-prefix`— Un préfixe commun appliqué à toutes les ressources spécifiques au test, y compris les noms de AWS ressources et les balises. Le préfixe par défaut est « gg ».
+ `test-log-path`— Répertoire qui contiendra les résultats de l'ensemble du test. La valeur par défaut est « TestResults ».
+ `test-results-json`— Indicateur permettant de déterminer si le rapport Cucumber JSON résultant est généré écrit sur le disque. La valeur par défaut est true (vrai).
+ `test-results-log`— Indicateur permettant de déterminer si la sortie de console est générée écrite sur le disque. La valeur par défaut est false.
+ `test-results-xml`— Indicateur permettant de déterminer si le rapport JUnit XML obtenu est généré et écrit sur le disque. La valeur par défaut est true (vrai).
+ `test-temp-path`— Répertoire pour générer des artefacts de test locaux. La valeur par défaut est un répertoire temporaire aléatoire préfixé par gg-testing.
+ `timeout-multiplier`— Multiplicateur fourni à tous les délais d'expiration des tests. La valeur par défaut est 1,0.

## Exemples de fichiers de configuration GDK CLI
<a name="gdk-config-examples"></a>

Vous pouvez vous référer aux exemples de fichiers de configuration de la CLI GDK suivants pour vous aider à configurer les environnements de composants Greengrass.

### Bonjour tout le monde (Python)
<a name="gdk-config-example-hello-world-python"></a>

Le fichier de configuration de la CLI GDK suivant prend en charge un composant Hello World qui exécute un script Python. Ce fichier de configuration utilise le système de `zip` compilation pour empaqueter le script Python du composant dans un fichier ZIP que la CLI GDK télécharge sous forme d'artefact.

```
{
  "component": {
    "com.example.PythonHelloWorld": {
      "author": "Amazon",
      "version": "NEXT_PATCH",
      "build": {
        "build_system" : "zip",
        "options": {
           "excludes": [".*"]
        }
      },
      "publish": {
        "bucket": "greengrass-component-artifacts",
        "region": "us-west-2",
        "options": {
           "file_upload_args": {
              "Metadata": {
                 "some-key": "some-value"
              }
           }
        }
      }
    },
  "test-e2e":{
    "build":{
        "build_system": "maven"
    },
    "gtf_version": "1.1.0",
    "gtf_options": { 
         "tags": "Sample"
     }
  },
  "gdk_version": "1.6.1"
  }
}
```

### Bonjour tout le monde (Java)
<a name="gdk-config-example-hello-world-java"></a>

Le fichier de configuration GDK CLI suivant prend en charge un composant Hello World qui exécute une application Java. Ce fichier de configuration utilise le système de `maven` compilation pour empaqueter le code source Java du composant dans un fichier JAR que la CLI GDK télécharge sous forme d'artefact.

```
{
  "component": {
    "com.example.JavaHelloWorld": {
      "author": "Amazon",
      "version": "NEXT_PATCH",
      "build": {
        "build_system" : "maven"
      },
      "publish": {
        "bucket": "greengrass-component-artifacts",
        "region": "us-west-2",
        "options": {
           "file_upload_args": {
              "Metadata": {
                 "some-key": "some-value"
              }
           }
        }
      }
  },
  "test-e2e":{
    "build":{
        "build_system": "maven"
    },
    "gtf_version": "1.1.0",
    "gtf_options": { 
         "tags": "Sample"
     }
  },
  "gdk_version": "1.6.1"
  }
}
```

### Composantes communautaires
<a name="gdk-config-community-component-examples"></a>

Plusieurs composants communautaires du [catalogue de logiciels Greengrass](greengrass-software-catalog.md) utilisent la CLI GDK. Vous pouvez explorer les fichiers de configuration de la CLI GDK dans les référentiels de ces composants.

**Pour afficher les fichiers de configuration de la CLI GDK des composants de la communauté**

1. Exécutez la commande suivante pour répertorier les composants de la communauté qui utilisent la CLI GDK.

   ```
   gdk component list --repository
   ```

   La réponse indique le nom du GitHub référentiel pour chaque composant de communauté qui utilise la CLI GDK. Chaque référentiel existe au sein de l'`awslabs`organisation.

   ```
   [2022-02-22 17:27:31] INFO - Listing all the available component repositories from Greengrass Software Catalog.
   [2022-02-22 17:27:31] INFO - Found '6' component repositories to display.
   1. aws-greengrass-labs-database-influxdb
   2. aws-greengrass-labs-telemetry-influxdbpublisher
   3. aws-greengrass-labs-dashboard-grafana
   4. aws-greengrass-labs-dashboard-influxdb-grafana
   5. aws-greengrass-labs-local-web-server
   6. aws-greengrass-labs-lookoutvision-gstreamer
   ```

1. Ouvrez le GitHub référentiel d'un composant communautaire à l'adresse URL suivante. Remplacez *community-component-name* par le nom d'un composant communautaire de l'étape précédente.

   ```
   https://github.com/awslabs/community-component-name
   ```