Ansible: «объект dict» не имеет атрибута при использовании условия «когда» с == - PullRequest
0 голосов
/ 30 апреля 2020

Я изо всех сил пытаюсь установить что-то, используя условие when ...

В файле defauts / main.yml у меня есть

rcube_plugins:
    - name: 'account_details'
      repo: 'https://github.com/texxasrulez/account_details'
      config: 'true'

Одна из моих задач заключается в следующем:

- name: "[PLUGIN] - Install repo plugins configuration file"
  template:
    src: "plugins/{{ item.name }}/config.inc.php.j2"
    dest: "{{ rcube_latest_path }}/plugins/{{ item.name }}/config.inc.php"
    mode: 0644
    owner: "{{ rcube_app_username }}"
    group: "{{ rcube_app_group }}"
  with_items: '{{ rcube_plugins }}'
  when: item.config == 'true'

Итак, как вы видите, идея состоит в том, чтобы, например, файл конфигурации плагина "account_details" был развернут, только если для "config" установлено значение true.

Но это не работает. У меня есть это сообщение:

 "fatal: [roundcube]: FAILED! => {"msg": "The conditional check 'item.config == 'true'' failed. The error was: error while evaluating conditional (item.config == 'true'): 'dict object' has no attribute 'config'" 

Если я использую when: item.config is defined, это работает, но я не хочу этого, потому что это означает, что если config: 'false', он все равно будет установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...