Utiliser des constructions conditionnelles dans AWSTOE - 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.

Utiliser des constructions conditionnelles dans AWSTOE

Les constructions conditionnelles exécutent différentes actions dans le document de votre composant selon que l'expression conditionnelle spécifiée est évaluée à true ou. false Vous pouvez utiliser la if construction pour contrôler le flux d'exécution dans le document de votre composant.

si Construct

Vous pouvez utiliser la if construction pour évaluer si une étape doit être exécutée ou non. Par défaut, lorsque l'expression if conditionnelle est évaluée àtrue, AWSTOE exécute l'étape, et lorsque la condition est évaluée àfalse, AWSTOE ignore l'étape. Si une étape est ignorée, elle est considérée comme une étape réussie lorsqu' AWSTOE il est déterminé si la phase et le document ont été exécutés correctement.

Note

Une if instruction n'est évaluée qu'une seule fois, même si l'étape déclenche un redémarrage. Si une étape redémarre, elle reconnaît que l'ifinstruction a déjà été évaluée et continue là où elle s'est arrêtée.

Syntaxe

if: - <conditional expression>: [then: <step action>] [else: <step action>]
Nom de la touche Obligatoire Description
expression conditionnelle Oui

L'expression conditionnelle peut contenir exactement l'un des types d'opérateurs suivants au niveau supérieur.

  • Opérateur de comparaison : pour obtenir la liste des opérateurs de comparaison et des informations sur leur fonctionnement dans les documents relatifs aux AWSTOE composants, voirOpérateurs de comparaison.

  • Opérateur logique : les opérateurs logiques incluent and ornot, et et opèrent sur un ou plusieurs opérateurs de comparaison. Pour plus d'informations sur le fonctionnement des opérateurs logiques dans les documents relatifs aux AWSTOE composants, consultezOpérateurs logiques.

Si votre expression doit satisfaire plusieurs conditions, utilisez un opérateur logique pour spécifier vos conditions.

then Non

Définit l'action à effectuer si l'expression conditionnelle est évaluée àtrue.

else Non

Définit l'action à effectuer si l'expression conditionnelle est évaluée àfalse.

action par étapes Conditionnel

Lorsque vous utilisez then ouelse, vous devez spécifier l'une des étapes suivantes :

  • Abandonner : AWSTOE marque l'étape comme ayant échoué.

  • Exécuter : AWSTOE exécute l'étape.

  • Ignorer : permet de AWSTOE sauter l'étape.

Exemple 1 : installer le package

Les exemples d'étapes suivants, tirés d'un document de AWSTOE composant, utilisent des opérateurs logiques pour tester une valeur de paramètre et exécuter les commandes du gestionnaire de packages appropriées pour installer une application si le package est décompressé.

- name: InstallUnzipAptGet action: ExecuteBash if: and: - binaryExists: 'apt-get' - not: binaryExists: 'unzip' inputs: commands: - sudo apt-get update - sudo apt-get install -y unzip - name: InstallUnzipYum action: ExecuteBash if: and: - binaryExists: 'yum' - not: binaryExists: 'unzip' inputs: commands: - sudo yum install -y unzip - name: InstallUnzipZypper action: ExecuteBash if: and: - binaryExists: 'zypper' - not: binaryExists: 'unzip' inputs: commands: - sudo zypper refresh - sudo zypper install -y unzip
Exemple 2 : sauter une étape

L'exemple suivant montre deux manières de sauter une étape. L'un utilise un opérateur logique et l'autre un opérateur de comparaison avec l'action Skip step.

# Creates a file if it does not exist using not - name: CreateMyConfigFile-1 action: ExecuteBash if: not: fileExists: '/etc/my_config' inputs: commands: - echo "Hello world" > '/etc/my_config' # Creates a file if it does not exist using then and else - name: CreateMyConfigFile-2 action: ExecuteBash if: fileExists: '/etc/my_config' then: Skip else: Execute inputs: commands: - echo "Hello world" > '/etc/my_config'