Tutoriel : Création d'un composant personnalisé avec des paramètres d'entrée - EC2Image Builder

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.

Tutoriel : Création d'un composant personnalisé avec des paramètres d'entrée

Vous pouvez gérer les composants Image Builder, notamment créer et définir les paramètres des composants, directement depuis la console EC2 Image Builder AWS CLI, depuis ou depuis Image Builder API ouSDKs. Dans cette section, nous aborderons la création et l'utilisation de paramètres dans votre composant, ainsi que leur définition via la console Image Builder et AWS CLI les commandes lors de l'exécution.

Important

Les paramètres des composants sont des valeurs en texte brut et sont connectés AWS CloudTrail. Nous vous recommandons d'utiliser AWS Secrets Manager le AWS Systems Manager Parameter Store pour stocker vos secrets. Pour plus d'informations sur Secrets Manager, voir Qu'est-ce que Secrets Manager ? dans le guide de AWS Secrets Manager l'utilisateur. Pour plus d'informations sur AWS Systems Manager Parameter Store, voir AWS Systems Manager Parameter Store dans le guide de AWS Systems Manager l'utilisateur.

Utiliser les paramètres dans le document de votre YAML composant

Pour créer un composant, vous devez fournir un document YAML ou un composant JSON d'application. Le document contient le code qui s'exécute pendant les phases et les étapes que vous définissez pour personnaliser votre image. La recette qui fait référence au composant peut définir les paramètres pour personnaliser les valeurs lors de l'exécution, avec des valeurs par défaut qui prennent effet si le paramètre n'est pas défini sur une valeur spécifique.

Création d'un document de composant avec des paramètres d'entrée

Cette section explique comment définir et utiliser les paramètres d'entrée dans le document de votre YAML composant.

Pour créer un document de composant d'YAMLapplication qui utilise des paramètres et exécute des commandes dans vos instances de build ou de test Image Builder, suivez les étapes correspondant à votre système d'exploitation d'image :

Linux
Création d'un document de YAML composant

Utilisez un outil d'édition de fichiers pour créer un fichier de document de composant. Les exemples de documentation utilisent un fichier nommé hello-world-test.yaml qui inclut le contenu suivant :

# Document Start # name: "HelloWorldTestingDocument-Linux" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
Astuce

Utilisez un outil tel que ce YAMLvalidateur en ligne ou une extension YAML lint dans votre environnement de code pour vérifier que votre code YAML est bien formé.

Windows
Création d'un document de YAML composant

Utilisez un outil d'édition de fichiers pour créer un fichier de document de composant. Les exemples de documentation utilisent un fichier nommé hello-world-test.yaml qui inclut le contenu suivant :

# Document Start # name: "HelloWorldTestingDocument-Windows" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
Astuce

Utilisez un outil tel que ce YAMLvalidateur en ligne ou une extension YAML lint dans votre environnement de code pour vérifier que votre code YAML est bien formé.

Pour plus d'informations sur les phases, les étapes et la syntaxe des documents des composants de AWSTOE l'application, voir Utiliser des documents dans AWSTOE. Pour plus d'informations sur les paramètres et leurs exigences, consultez la Paramètres section de la AWSTOE page Définir et référencer les variables.

Création d'un composant à partir du document du YAML composant

Quelle que soit la méthode utilisée pour créer un AWSTOE composant, le document du composant d'YAMLapplication est toujours requis comme référence.

Définissez les paramètres des composants dans une recette Image Builder depuis la console

La définition des paramètres des composants fonctionne de la même manière pour les recettes d'images et les recettes de conteneurs. Lorsque vous créez une nouvelle recette ou une nouvelle version d'une recette, vous choisissez les composants à inclure dans les listes Composants de construction et Composants de test. Les listes de composants incluent les composants applicables au système d'exploitation de base que vous avez choisi pour votre image.

Une fois que vous avez sélectionné un composant, il s'affiche dans la section Composants sélectionnés, directement sous les listes de composants. Les options de configuration sont affichées pour chaque composant sélectionné. Si des paramètres d'entrée sont définis pour votre composant, ils sont affichés sous la forme d'une section extensible appelée Paramètres d'entrée.

Les paramètres suivants sont affichés pour chaque paramètre défini pour votre composant :

  • Nom du paramètre (non modifiable) : nom du paramètre.

  • Description (non modifiable) — Description du paramètre

  • Type (non modifiable) : type de données pour la valeur du paramètre.

  • Valeur — La valeur du paramètre. Si vous utilisez ce composant pour la première fois dans cette recette et qu'une valeur par défaut a été définie pour le paramètre d'entrée, la valeur par défaut apparaît dans la zone Valeur avec du texte grisé. Si aucune autre valeur n'est saisie, Image Builder utilise la valeur par défaut.