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 | Sí |
La expresión condicional puede contener exactamente uno de los siguientes tipos de operadores en el nivel superior.
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. |
else | No |
Define la acción que se debe realizar si la expresión condicional se evalúa como. |
acción escalonada | Condicional |
Al utilizar
|
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'