- name: Create storage account name set_fact: storage_account: "{{ resource_group | hash('md5') | truncate(24, True, '') }}" - name: Create storage account azure_rm_storageaccount: resource_group: "{{ resource_group }}" name: "{{ storage_account }}" account_type: Standard_LRS state: present - name: Create container azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs - name: Force upload blob azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs blob: 'Ratings.png' src: './targets/azure_rm_storageblob/files/Ratings.png' content_type: image/png tags: val1: foo val2: bar force: yes - name: Upload blob idempotence azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs blob: 'Ratings.png' src: './targets/azure_rm_storageblob/files/Ratings.png' content_type: image/png tags: val1: foo val2: bar register: upload_facts - assert: that: "not upload_facts.changed" - name: Download file idempotence azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs blob: 'Ratings.png' dest: './targets/azure_rm_storageblob/files/Ratings.png' register: download_results - assert: that: not download_results.changed - file: path="/tmp/Ratings.png" state=absent - name: Download file azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs blob: 'Ratings.png' dest: '/tmp/Ratings.png' register: download_results - assert: that: "download_results.changed" - find: paths='/tmp' patterns="Ratings.png" register: find_results - assert: { that: "find_results['matched'] == 1" } - name: Do not delete container that has blobs azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs state: absent register: output - assert: that: "not output.changed" - name: Delete blob object azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs blob: "Ratings.png" state: absent register: output - assert: that: "output.changed" - name: Delete container azure_rm_storageblob: resource_group: "{{ resource_group }}" account_name: "{{ storage_account }}" container_name: my-blobs state: absent register: output - assert: that: "output.changed" - name: Delete storage account azure_rm_storageaccount: resource_group: "{{ resource_group }}" name: "{{ storage_account }}" state: absent