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.
Le document de définition du format YAML configure les étapes d'entrée, de sortie et de flux de travail pour les étapes de génération et de test du processus de création d'image. Vous pouvez partir de modèles qui incluent des étapes standardisées, ou vous pouvez partir de zéro pour définir votre propre flux de travail. Que vous utilisiez un modèle ou que vous partiez de zéro, vous pouvez personnaliser le flux de travail en fonction de vos besoins.
Structure d'un document de flux de travail YAML
Le document de flux de travail YAML utilisé par Image Builder pour effectuer des actions de création et de test d'images est structuré comme suit.
Identification des documents relatifs au flux
Identifie le flux de travail de manière unique. Cette section peut inclure les attributs suivants.
Champ |
Description |
Type |
Obligatoire |
---|---|---|---|
name |
Nom du document de flux de travail. |
Chaîne |
Non |
description |
Description du document. |
Chaîne |
Non |
schemaVersion |
La version du schéma du document, actuellement 1.0. |
Chaîne |
Oui |
Exemple
---
name: sample-test-image
description: Workflow for a sample image, with extra configuration options exposed through workflow parameters.
schemaVersion: 1.0
Paramètres d'entrée du document de flux de travail
Cette partie du document de flux de travail définit les paramètres d'entrée que l'appelant peut spécifier. Si vous n'avez aucun paramètre, vous pouvez omettre cette section. Si vous spécifiez des paramètres, chaque paramètre peut inclure les attributs suivants.
Champ |
Description |
Type |
Obligatoire |
Constraints |
---|---|---|---|---|
name |
Nom du paramètre. |
Chaîne |
Oui |
|
description |
Description du paramètre. |
Chaîne |
Non |
|
default |
La valeur par défaut du paramètre, si aucune valeur n'est fournie. Si vous n'incluez pas de valeur par défaut dans la définition du paramètre, la valeur du paramètre est requise lors de l'exécution. |
Correspond au type de données du paramètre. |
Non |
|
type |
Type de données du paramètre. Si vous n'incluez pas le type de données dans la définition du paramètre, le type de paramètre est par défaut une valeur de chaîne requise lors de l'exécution. |
Chaîne |
Oui |
Le type de données du paramètre doit être l'un des suivants :
|
Exemple
Spécifiez le paramètre dans le document de flux de travail.
parameters:
- name: waitForActionAtEnd
type: boolean
default: true
description: "Wait for an external action at the end of the workflow"
Utilisez la valeur du paramètre dans le document de flux de travail.
$.parameters.waitForActionAtEnd
Étapes du document de workflow
Spécifie jusqu'à 15 étapes d'actions pour le flux de travail. Les étapes s'exécutent dans l'ordre dans lequel elles sont définies dans le document de flux de travail. En cas d'échec, une annulation s'exécute dans l'ordre inverse, en commençant par l'étape qui a échoué et en remontant jusqu'aux étapes précédentes.
Chaque étape peut faire référence au résultat de toute action d'étape précédente. C'est ce que l'on appelle le chaînage ou le référencement. Pour faire référence au résultat d'une action d'une étape précédente, vous pouvez utiliser un JSONPath sélecteur. Par exemple :
$.stepOutputs.step-name
.output-name
Pour de plus amples informations, veuillez consulter Utiliser des variables dynamiques dans votre document de flux de travail.
Note
Même si l'étape elle-même ne possède pas d'attribut de sortie, toute sortie d'une action d'étape est incluse dans stepOutput
l'étape.
Chaque étape peut inclure les attributs suivants.
Champ |
Description |
Type |
Obligatoire |
Valeur par défaut |
Constraints |
---|---|---|---|---|---|
action |
Action de flux de travail exécutée par cette étape. |
Chaîne |
Oui |
Doit être une action d'étape prise en charge pour les documents de flux de travail Image Builder. |
|
|
Les instructions conditionnelles ajoutent un flux de points de décision de contrôle au corps des étapes de votre flux de travail. |
Dict |
Non |
Image Builder prend en charge les instructions conditionnelles suivantes en tant que modificateurs de l'
|
|
description |
Description de l'étape. |
Chaîne |
Non |
Les chaînes vides ne sont pas autorisées. Si elle est incluse, la longueur doit être comprise entre 1 et 1024 caractères. |
|
inputs |
Contient les paramètres nécessaires à l'exécution de l'action de l'étape. Vous pouvez spécifier des valeurs clés sous forme de valeurs statiques ou avec une JSONPath variable correspondant au type de données approprié. |
Dict |
Oui |
||
name |
Nom de l'étape. Ce nom doit être unique dans le document de flux de travail. |
Chaîne |
Oui |
La longueur doit être comprise entre 3 et 128 caractères. Peut inclure des caractères alphanumériques et. |
|
onFailure |
Configure l'action à effectuer en cas d'échec de l'étape, comme suit. Attitude
|
Chaîne |
Non |
|
|
Rollback activé |
Configure si l'étape sera annulée en cas d'échec. Vous pouvez utiliser une valeur booléenne statique ou une JSONPath variable dynamique qui se résout en valeur booléenne. |
Booléen |
Non |
|
|
timeoutSeconds |
Durée maximale, en secondes, pendant laquelle l'étape s'exécute avant d'échouer et de réessayer, si de nouvelles tentatives s'appliquent. |
Entier |
Non |
Dépend de la valeur par défaut définie pour l'action de l'étape, le cas échéant. |
Entre 1 et 86 400 secondes (24 heures maximum) |
Exemple
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: ApplyTestComponents
action: ExecuteComponents
onFailure: Abort
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: "$.parameters.waitForActionAtEnd"
Sorties de documents de workflow
Définit les sorties pour le flux de travail. Chaque sortie est une paire clé-valeur qui spécifie le nom de la sortie et la valeur. Vous pouvez utiliser les sorties pour exporter des données au moment de l'exécution que les flux de travail suivants pourront utiliser. Cette section est facultative.
Chaque sortie que vous définissez inclut les attributs suivants.
Champ |
Description |
Type |
Obligatoire |
---|---|---|---|
name |
Nom de la sortie. Le nom doit être unique pour tous les flux de travail que vous incluez dans votre pipeline. |
Chaîne |
Oui |
value |
La valeur de la sortie. La valeur de la chaîne peut être une variable dynamique, telle qu'un fichier de sortie issu d'une action d'étape. Pour de plus amples informations, veuillez consulter Utiliser des variables dynamiques dans votre document de flux de travail. |
Chaîne |
Oui |
Exemple
Créez un ID d'image de sortie pour le document de flux de travail avec le résultat de l'createProdImage
étape.
outputs:
- name: 'outputImageId'
value: '$.stepOutputs.createProdImage.imageId'
Reportez-vous au résultat du flux de travail dans le flux de travail suivant.
$.workflowOutputs.outputImageId