Как я могу разорвать цикл with_items на основе условия - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу выйти из цикла with_items, основываясь на условии. Это условие для аргументов ради, если стандартный вывод команды равен конкретной строке.

Очевидно, что приведенный ниже пример не работает, но это идея того, что я хочу сделать.

Например:

- name: testing loop
  shell: "echo {{ item }}"
  with_items:
     - "one"
     - "two"
     - "three"
  register: shell_command # registering the shell command and it's attributes
  when: shell_command.stdout == "two" # break once the stdout of the run shell command matches the string "two". So it will run twice and break on the second.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

В данный момент это кажется невозможным, как вы можете видеть здесь . Существует непроверенный хак .

0 голосов
/ 06 ноября 2018

Если вы хотите прервать всю книгу, попробуйте следующее:

 - name: testing loop
            shell: "echo {{ item }}"
            with_items:
              - "one"
              - "two"
              - "three"
            register: shell_command
            failed_when: "'two' in shell_command.stdout"

Или вы можете просто добавить ignore_errors: yes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...