- name: Prepare random number set_fact: nsgname: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" storageaccountname: "stacc{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" dbname: "mdb{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" run_once: yes - name: Call REST API azure_rm_resource: api_version: '2018-02-01' resource_group: "{{ resource_group }}" provider: network resource_type: networksecuritygroups resource_name: "{{ nsgname }}" body: location: eastus idempotency: yes register: output - name: Assert that something has changed assert: that: output.changed - name: Call REST API azure_rm_resource: api_version: '2018-02-01' resource_group: "{{ resource_group }}" provider: network resource_type: networksecuritygroups resource_name: "{{ nsgname }}" body: location: eastus idempotency: yes register: output - name: Assert that nothing has changed assert: that: not output.changed - name: Call REST API azure_rm_resource: api_version: '2018-02-01' resource_group: "{{ resource_group }}" provider: network resource_type: networksecuritygroups resource_name: "{{ nsgname }}" body: location: eastus tags: a: "abc" b: "cde" idempotency: yes register: output - name: Assert that something has changed assert: that: output.changed - name: Try to get information about account azure_rm_resource_facts: api_version: '2018-02-01' resource_group: "{{ resource_group }}" provider: network resource_type: networksecuritygroups resource_name: "{{ nsgname }}" register: output - name: Assert value was returned assert: that: - not output.changed - output.response[0]['name'] != None - output.response | length == 1 - name: Try to query a list azure_rm_resource_facts: api_version: '2018-02-01' resource_group: "{{ resource_group }}" provider: network resource_type: networksecuritygroups register: output - name: Assert value was returned assert: that: - not output.changed - output.response[0]['name'] != None - output.response | length >= 1 - name: Create storage account that requires LRO polling azure_rm_resource: polling_timeout: 600 polling_interval: 60 api_version: '2018-07-01' resource_group: "{{ resource_group }}" provider: Storage resource_type: storageAccounts resource_name: "{{ storageaccountname }}" body: sku: name: Standard_GRS kind: Storage location: eastus register: output - name: Assert that storage was successfully created assert: that: "output['response']['name'] == '{{ storageaccountname }}'" - name: Try to storage keys -- special case when subresource part has no name azure_rm_resource: resource_group: "{{ resource_group }}" provider: storage resource_type: storageAccounts resource_name: "{{ storageaccountname }}" subresource: - type: listkeys api_version: '2018-03-01-preview' method: POST register: keys - name: Assert that key was returned assert: that: keys['response']['keys'][0]['value'] | length > 0 - name: Delete storage azure_rm_resource: polling_timeout: 600 polling_interval: 60 method: DELETE api_version: '2018-07-01' resource_group: "{{ resource_group }}" provider: Storage resource_type: storageAccounts resource_name: "{{ storageaccountname }}"