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 == 400changed_when != 400changed_when != 'foo')。

有什么建议吗?

缩进错误。

changed_when 是一个指令,定义为属于任务字典的键,而不是模块操作的参数。