Usa costrutti condizionali in AWSTOE - EC2Image Builder

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa costrutti condizionali in AWSTOE

I costrutti condizionali eseguono azioni diverse nel documento del componente a seconda che l'espressione condizionale specificata restituisca o meno. true false È possibile utilizzare il if costrutto per controllare il flusso di esecuzione nel documento componente.

if Construct

È possibile utilizzare il if costrutto per valutare se un passaggio deve essere eseguito o meno. Per impostazione predefinita, quando l'espressione if condizionale restituisce, true AWSTOE esegue il passaggio e, quando la condizione restituisce, false AWSTOE salta il passaggio. Se un passaggio viene saltato, viene considerato un passaggio riuscito quando AWSTOE valuta se la fase e il documento sono stati eseguiti correttamente.

Nota

Un'ifistruzione viene valutata solo una volta, anche se il passaggio attiva un riavvio. Se un passaggio si riavvia, riconosce che l'ifistruzione è già stata valutata e continua da dove era stata interrotta.

Sintassi

if: - <conditional expression>: [then: <step action>] [else: <step action>]
Nome chiave Richiesto Descrizione
espressione condizionale

L'espressione condizionale può contenere esattamente uno dei seguenti tipi di operatori al livello superiore.

  • Operatore di confronto: per un elenco di operatori di confronto e informazioni sul loro funzionamento in AWSTOE documenti relativi ai componenti, vedereOperatori di confronto.

  • Operatore logico: gli operatori logici includono and ornot, e e operano su uno o più operatori di confronto. Per ulteriori informazioni sul funzionamento degli operatori logici in AWSTOE documenti dei componenti, vedereOperatori logici.

Se l'espressione deve soddisfare più condizioni, utilizza un operatore logico per specificare le condizioni.

poi No

Definisce l'azione da intraprendere se l'espressione condizionale restituisce. true

altro No

Definisce l'azione da intraprendere se l'espressione condizionale restituisce un risultato. false

azione graduale Condizionale

Quando si utilizza then oelse, è necessario specificare una delle seguenti azioni di fase:

  • Interrompi — AWSTOE contrassegna il passaggio come fallito.

  • Esegui — AWSTOE esegue il passaggio.

  • Salta — AWSTOE salta il passaggio.

Esempio 1: pacchetto di installazione

L'esempio seguente parte da un AWSTOE il documento componente utilizza operatori logici per testare il valore di un parametro ed esegue i comandi appropriati del gestore di pacchetti per installare un'applicazione se il pacchetto viene decompresso.

- 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
Esempio 2: salta un passaggio

L'esempio seguente mostra due modi per saltare un passaggio. Uno utilizza un operatore logico e l'altro utilizza un operatore di confronto con l'azione del Skip passaggio.

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