Условия внутри тела URI Ansible - PullRequest
0 голосов
/ 04 декабря 2018

В следующей задаче я хотел бы выполнить: - всегда param1 + его состояние;- param2 + его состояние, только если оно существует в файлах значений;

Если param2 и его состояние не существует в файле значений, я хотел бы продолжить работу без ошибок, поскольку другие машины могут иметь param2 + его состояние,

Я пробовал что-то подобное, но что-то не так:

- uri:
      method: PATCH
      url: https://10.10.10.10/api/xyz
      status_code: 200, 201
      force_basic_auth: yes
      user: user
      password: pass
      return_content: yes
      validate_certs: no
      body_format: "json"
      body:
       replace:
         data:
                - param1: ABC
                  state: enabled
                - param2: "{{ param2 | default(omit) }}"
                  state: "{{ state | default(omit) }}"

1 Ответ

0 голосов
/ 04 декабря 2018

Параметр 2 является необязательным?Попробуйте отобразить ваше тело как шаблон с помощью плагина поиска шаблона: https://docs.ansible.com/ansible/2.5/plugins/lookup/template.html

В шаблоне можно использовать условные блоки и т. Д. И построить тело так, как вы ожидаете.

...