Ansible:uri模块忽略状态码
Ansible: uri module ignores status code
使用以下代码迭代访问休息端点(事实上是人工制品):
- name: create local snapshots repositories
uri:
url: "{{ api_endpoint }}/repositories/{{ item }}-local-snapshots"
method: PUT
user: 'username'
password: 'somepass'
body: "{{ local_snapshots_repo_json|to_json }}"
force_basic_auth: yes
body_format: json
return_content: yes
status_code: 200, 400
register: result
changed_when: result.status == 400
with_items: "{{ projects }}"
但是,无论我在 changed_when
控件中使用什么,任务都不会导致更改(例如 changed_when == 400
或 changed_when != 400
或 changed_when != 'foo'
)。
有什么建议吗?
缩进错误。
changed_when
是一个指令,定义为属于任务字典的键,而不是模块操作的参数。
使用以下代码迭代访问休息端点(事实上是人工制品):
- name: create local snapshots repositories
uri:
url: "{{ api_endpoint }}/repositories/{{ item }}-local-snapshots"
method: PUT
user: 'username'
password: 'somepass'
body: "{{ local_snapshots_repo_json|to_json }}"
force_basic_auth: yes
body_format: json
return_content: yes
status_code: 200, 400
register: result
changed_when: result.status == 400
with_items: "{{ projects }}"
但是,无论我在 changed_when
控件中使用什么,任务都不会导致更改(例如 changed_when == 400
或 changed_when != 400
或 changed_when != 'foo'
)。
有什么建议吗?
缩进错误。
changed_when
是一个指令,定义为属于任务字典的键,而不是模块操作的参数。