--- # - name: Get current CORS rules # ansible.builtin.command: b2 bucket get "{{ backblaze_bucket_name }}" # register: b2_get_result # changed_when: false # - name: Extract current CORS rules JSON # ansible.builtin.set_fact: # current_cors: "{{ (b2_get_result.stdout | from_json).corsRules | default([]) }}" # - name: Load desired CORS rules # ansible.builtin.slurp: # src: "{{ cors_file }}" # register: desired_cors_raw # - name: Decode and parse desired CORS rules # ansible.builtin.set_fact: # desired_cors: "{{ desired_cors_raw.content | b64decode | from_json }}" # - name: Compare and set CORS if different # ansible.builtin.command: > # b2 bucket update --cors-rules "{{ desired_cors_raw.content | b64decode }}" "{{ bucket_name }}" # when: current_cors | to_json != desired_cors | to_json # changed_when: true # # - name: Render cors-rules.json from template ansible.builtin.template: mode: "0755" src: cors-rules.json.j2 dest: /tmp/cors-rules.json - name: Get current CORS rules ansible.builtin.command: b2 bucket get "{{ backblaze_bucket_name }}" register: b2_get_result changed_when: false - name: Extract current CORS rules JSON ansible.builtin.set_fact: current_cors: "{{ (b2_get_result.stdout | from_json).corsRules | default([]) }}" - name: Load desired CORS rules ansible.builtin.slurp: src: /tmp/cors-rules.json register: desired_cors_raw - name: Decode and parse desired CORS rules ansible.builtin.set_fact: desired_cors: "{{ desired_cors_raw.content | b64decode | from_json }}" - name: Debug desired_cors ansible.builtin.debug: var: desired_cors - name: Debug current_cors ansible.builtin.debug: var: current_cors - name: Compare and set CORS if different ansible.builtin.command: > b2 bucket update --cors-rules "{{ desired_cors_raw.content | b64decode }}" "{{ backblaze_bucket_name }}" when: current_cors | to_json != desired_cors | to_json changed_when: true