159 lines
4.2 KiB
YAML
159 lines
4.2 KiB
YAML
|
- 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: Try to query a list - same without API version
|
||
|
azure_rm_resource_facts:
|
||
|
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: Query all the resources in the resource group
|
||
|
azure_rm_resource_facts:
|
||
|
resource_group: "{{ resource_group }}"
|
||
|
resource_type: resources
|
||
|
register: output
|
||
|
- name: Assert value was returned
|
||
|
assert:
|
||
|
that:
|
||
|
- not output.changed
|
||
|
- 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 - without API version
|
||
|
azure_rm_resource:
|
||
|
polling_timeout: 600
|
||
|
polling_interval: 60
|
||
|
method: DELETE
|
||
|
resource_group: "{{ resource_group }}"
|
||
|
provider: Storage
|
||
|
resource_type: storageAccounts
|
||
|
resource_name: "{{ storageaccountname }}"
|