Мне пришлось изменить playbook, потому что acl_profile_name
может быть больше 1. Теперь я хочу сослаться на gama-ansible
и пройти через - "*/rw/export/mobile/>"
и - "*/rw/export/supplyChain/>"
:
acl_allow_subscribe:
acl_profile_name: gama-ansible
- "*/de/export/mobile/>"
- "*/de/export/supplyChain/>"
acl_profile_name: beta-ansible
- "*/uk/import/mobile/>"
- "*/uk/import/supplyChain/>"
ссылайтесь на них здесь:
- name: Add ACL Publish Exception
solace_acl_subscribe_topic_exception:
name: "{{item}}"
acl_profile_name: "{{ item.value.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
topic_syntax: mqtt
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
loop: "{{acl_allow_subscribe}}"
Я получаю сообщение об ошибке. Ошибка: 'acl_profile_name' не определено \ n \ n
До того, как я изменил файлы yaml, он работал нормально и выглядел так:
acl_profile_name: "gama-ansible"
acl_allow_subscribe:
- "*/de/export/mobile/>"
- "*/de/export/supplyChain/>"
упоминается таким образом:
- name: Add ACL Subscribe Exception
solace_acl_subscribe_topic_exception:
name: "{{item}}"
acl_profile_name: "{{ acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
topic_syntax: mqtt
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
loop: "{{acl_allow_subscribe}}"
Я попытался реализовать это таким образом (на основе первого комментария @gary lopez ниже), но получаю сообщение об ошибке:
на что я хочу сослаться: (примечание: - acl_profile_name: idocument
под acl_allow_subscribe не имеет значений)
acl_allow_subscribe:
- acl_profile_name: gama-ansible
values:
- "*/de/export/mobile/>"
- "*/de/export/supplyChain/>"
- acl_profile_name: idocument
values:
acl_allow_publish:
- acl_profile_name: gama-ansible
values:
- "*/uk /export/mobile/>"
- "*/uk/export/mobile/>"
- acl_profile_name: idocument
values:
- "*/de/idoc/>"
- "*/de/idoc/>"
This is how I referenced it:
- name: Remove ACL Profile
solace_acl_profile:
name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
state: absent
- name: Add ACL Profile
solace_acl_profile:
name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
settings:
clientConnectDefaultAction: allow
- name: Update ACL Profile
solace_acl_profile:
name: "{{item.0.acl_profile_name}}"
msg_vpn: "{{ msg_vpn }}"
settings:
publishTopicDefaultAction: disallow
# PUBLISH
- name: Remove ACL Publish Exception
solace_acl_publish_topic_exception:
name: "{{item.1}}"
acl_profile_name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
state: absent
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
loop: "{{acl_allow_publish}}"
- name: Add ACL Publish Exception
solace_acl_publish_topic_exception:
name: "{{item.1}}"
acl_profile_name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
topic_syntax: mqtt
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
with_subelements:
- "{{ acl_allow_publish }}"
- values
# SUBSCRIBE
- name: Remove ACL Subscribe Exception
solace_acl_subscribe_topic_exception:
name: "{{item.1}}"
acl_profile_name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
state: absent
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
with_subelements:
- "{{ acl_allow_subscribe }}"
- values
- name: Add ACL Subscribe Exception
solace_acl_subscribe_topic_exception:
name: "{{item.1}}"
acl_profile_name: "{{ item.0.acl_profile_name }}"
msg_vpn: "{{ msg_vpn }}"
topic_syntax: mqtt
semp_version: "{{ ansible_facts.solace.about.api.sempVersion }}"
with_subelements:
- "{{ acl_allow_subscribe }}"
- values
При ссылке он должен перебирать acl_profile_names и значения