- name: Read Element Web config.json ansible.builtin.slurp: src: "{{ element_web_config_path }}" register: element_web_config_content - name: Load JSON data from config.json ansible.builtin.set_fact: element_web_config: "{{ element_web_config_content['content'] | b64decode | from_json }}" - name: Update Element Call configuration in config.json ansible.builtin.set_fact: updated_element_call_config: > {{ { "element_call": { "url": "https://{{ matrix_element_call_domain }}", "participant_limit": 8, "brand": "Element Call", "use_exclusively": true }, "features": { "feature_video_rooms": true, "feature_new_room_decoration_ui": true, "feature_group_calls": true, "feature_element_call_video_rooms": true } } }} - name: Merge updated Element Call configuration with existing config.json ansible.builtin.set_fact: element_web_config: "{{ element_web_config | combine(updated_element_call_config, recursive=True) }}" - name: Write updated Element Web config.json ansible.builtin.copy: content: "{{ element_web_config | to_nice_json }}" dest: "{{ element_web_config_path }}" mode: '0644' owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"