在 ansible 中使用嵌套条件块

在 ansible 中使用嵌套条件块

我正在尝试在条件块内插入一个条件块:

- block:
  - postgresql_db: name={{ dbname }} state=absent
  - postgresql_db: name={{ dbname }}
  ...
  - block:
     - get_url: url={{ remote_database_dump }} dest={{ local_database_dump }}
     - command: pg_restore -d {{ dbname }} {{ local_database_dump }}
    when remote_database_dump != ""
  become: true
  become_user: postgres
  become_method: su
  when: db_recreate == "true"

但我收到一条ERROR! Syntax Error while loading YAML.消息。如果我删除when remote_database_dump != "",它就可以正常工作。

这种嵌套可以实现吗?如果可以,如何实现?

答案1

实际上,when remote_database_dump != ""后面缺少一个冒号when,因此正确的行是when: remote_database_dump != ""

相关内容