URI主体内部的条件

时间:2018-12-04 15:40:42

标签: ansible uri jinja2

在以下任务中,我想运行: -始终为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 :(得分:2)

参数2是可选的吗?尝试使用模板查找插件将您的身体渲染为模板:https://docs.ansible.com/ansible/2.5/plugins/lookup/template.html

您可以在模板中包含条件块等,并按您期望的方式构建主体。