Utilice construcciones condicionales en TOE de AWS - EC2Image Builder

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilice construcciones condicionales en TOE de AWS

Las construcciones condicionales realizan diferentes acciones en el documento componente en función de si la expresión condicional especificada se evalúa como o. true false Puede utilizar la if construcción para controlar el flujo de ejecución del documento componente.

si Construct

Puede utilizar la if construcción para evaluar si un paso debe ejecutarse o no. De forma predeterminada, cuando la expresión if condicional se evalúa TOE de AWS comotrue, ejecuta el paso y cuando la condición se evalúa comofalse, se TOE de AWS salta el paso. Si se omite un paso, se considera un paso correcto al TOE de AWS evaluar si la fase y el documento se han ejecutado correctamente.

nota

Una if sentencia solo se evalúa una vez, incluso si el paso desencadena un reinicio. Si un paso se reinicia, reconoce que la if sentencia ya se ha evaluado y continúa donde la dejó.

Sintaxis

if: - <conditional expression>: [then: <step action>] [else: <step action>]
Nombre de la clave Obligatoria Descripción
expresión condicional

La expresión condicional puede contener exactamente uno de los siguientes tipos de operadores en el nivel superior.

  • Operador de comparación: para obtener una lista de los operadores de comparación e información sobre su funcionamiento en los documentos que los TOE de AWS componen, consulteOperadores de comparación.

  • Operador lógico: los operadores lógicos incluyen and ornot, y y funcionan con uno o más operadores de comparación. Para obtener más información sobre cómo funcionan los operadores lógicos en los documentos de los TOE de AWS componentes, consulteLogical operators (Operadores lógicos).

Si la expresión debe cumplir varias condiciones, utilice un operador lógico para especificarlas.

then No

Define la acción que se debe realizar si la expresión condicional se evalúa como. true

else No

Define la acción que se debe realizar si la expresión condicional se evalúa como. false

acción escalonada Condicional

Al utilizar then oelse, debe especificar una de las siguientes acciones de paso:

  • Abortar: TOE de AWS marca el paso como fallido.

  • Ejecutar: TOE de AWS ejecuta el paso.

  • Omitir: TOE de AWS omite el paso.

Ejemplo 1: paquete de instalación

Los siguientes pasos de ejemplo de un documento de TOE de AWS componentes utilizan operadores lógicos para probar el valor de un parámetro y ejecutar los comandos del administrador de paquetes adecuados para instalar una aplicación si el paquete está descomprimido.

- 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
Ejemplo 2: Omitir un paso

El siguiente ejemplo muestra dos formas de omitir un paso. Una usa un operador lógico y la otra usa un operador de comparación con la acción del Skip paso.

# 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'