276 lines
7 KiB
YAML
276 lines
7 KiB
YAML
- name: Prepare random number
|
|
set_fact:
|
|
cdnprofilename: "cdnprofile{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
|
|
endpointname: "endpoint{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
|
|
run_once: yes
|
|
|
|
|
|
- name: Create a CDN profile(check mode)
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
sku: standard_akamai
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
check_mode: yes
|
|
|
|
- name: Check there is no CDN profile created
|
|
azure_rm_cdnprofile_facts:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
register: fact
|
|
|
|
- name: Check there is no CDN profile created
|
|
assert: { that: "{{ fact.cdnprofiles | length }} == 0" }
|
|
|
|
- name: Create a CDN profile
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
sku: standard_akamai
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
register: output
|
|
|
|
- name: Assert the CDN profile is well created
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
- output.id != ''
|
|
|
|
- name: Gather CDN profile facts
|
|
azure_rm_cdnprofile_facts:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
register: fact
|
|
|
|
- name: Assert fact returns the created one
|
|
assert:
|
|
that:
|
|
- "fact.cdnprofiles | length == 1"
|
|
- fact.cdnprofiles[0].sku == 'Standard_Akamai'
|
|
- fact.cdnprofiles[0].tags.foo == 'bar'
|
|
|
|
- name: Create a CDN profile (idempotent)
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
sku: standard_akamai
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
register: output
|
|
|
|
- name: Assert idempotent
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Update the CDN profile
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
sku: standard_akamai
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
baz: qux
|
|
register: output
|
|
|
|
- name: Assert the CDN profile is updated
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Delete the CDN profile(check mode)
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
state: absent
|
|
check_mode: yes
|
|
|
|
- name: Gather CDN profile facts
|
|
azure_rm_cdnprofile_facts:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
register: fact
|
|
|
|
- name: Assert the CDN is still there
|
|
assert:
|
|
that:
|
|
- "fact.cdnprofiles | length == 1"
|
|
- fact.cdnprofiles[0].sku == 'Standard_Akamai'
|
|
- fact.cdnprofiles[0].tags.foo == 'bar'
|
|
- fact.cdnprofiles[0].tags.baz == 'qux'
|
|
|
|
- name: Create a Azure CDN endpoint(check mode)
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
origins:
|
|
- name: "org{{ endpointname }}"
|
|
host_name: "www.google.com"
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
check_mode: yes
|
|
|
|
- name: Create a Azure CDN endpoint
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
origins:
|
|
- name: "org{{ endpointname }}"
|
|
host_name: "www.google.com"
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
register: output
|
|
|
|
- name: Assert the Azure CDN endpoint is well created
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
- output.id
|
|
|
|
- name: Get facts of a Azure CDN endpoint
|
|
azure_rm_cdnendpoint_facts:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
register: facts
|
|
|
|
- name: Assert facts output
|
|
assert:
|
|
that:
|
|
- facts['cdnendpoints'] | length == 1
|
|
- facts['cdnendpoints'][0]['id']
|
|
- facts['cdnendpoints'][0]['name']
|
|
- facts['cdnendpoints'][0]['profile_name']
|
|
- facts['cdnendpoints'][0]['origin']
|
|
- facts['cdnendpoints'][0]['location']
|
|
- facts['cdnendpoints'][0]['provisioning_state']
|
|
- facts['cdnendpoints'][0]['resource_state']
|
|
|
|
- name: Create a Azure CDN endpoint(idempotent)
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
origins:
|
|
- name: "org{{ endpointname }}"
|
|
host_name: "www.google.com"
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: bar
|
|
register: output
|
|
|
|
- name: Assert idempotent
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Stop a Azure CDN endpoint
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
started: False
|
|
register: output
|
|
|
|
- name: Assert stopped
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Stop a Azure CDN endpoint(idempotent)
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
started: False
|
|
register: output
|
|
|
|
- name: Assert still stopped and not changed
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Start a Azure CDN endpoint
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
started: True
|
|
register: output
|
|
|
|
- name: Assert started
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Update the Azure CDN endpoint
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
origin_path: /test/
|
|
tags:
|
|
testing: testing
|
|
delete: on-exit
|
|
foo: baz
|
|
register: output
|
|
|
|
- name: Assert the Azure CDN endpoint is updated
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Delete a Azure CDN endpoint(check mode)
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
state: absent
|
|
check_mode: yes
|
|
|
|
- name: Delete a Azure CDN endpoint
|
|
azure_rm_cdnendpoint:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ endpointname }}"
|
|
profile_name: "{{ cdnprofilename }}"
|
|
state: absent
|
|
|
|
- name: Delete the CDN profile
|
|
azure_rm_cdnprofile:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
state: absent
|
|
register: output
|
|
|
|
- name: Assert the CDN profile is well deleted
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Get CDN profile fact
|
|
azure_rm_cdnprofile_facts:
|
|
resource_group: "{{ resource_group }}"
|
|
name: "{{ cdnprofilename }}"
|
|
register: fact
|
|
|
|
- name: Assert fact returns empty
|
|
assert:
|
|
that:
|
|
- "fact.cdnprofiles | length == 0"
|