|
|
|
- name: Prepare random number
|
|
|
|
set_fact:
|
|
|
|
dbname: "cosmos{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
|
|
|
|
vnname: "vn{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
|
|
|
|
subnetname: "subnet{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
|
|
|
|
run_once: yes
|
|
|
|
|
|
|
|
- name: Create virtual network
|
|
|
|
azure_rm_virtualnetwork:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ vnname }}"
|
|
|
|
address_prefixes_cidr:
|
|
|
|
- 10.1.0.0/16
|
|
|
|
- 172.100.0.0/16
|
|
|
|
dns_servers:
|
|
|
|
- 127.0.0.1
|
|
|
|
- 127.0.0.3
|
|
|
|
|
|
|
|
- name: Add subnet
|
|
|
|
azure_rm_subnet:
|
|
|
|
name: "{{ subnetname }}"
|
|
|
|
virtual_network_name: "{{ vnname }}"
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
address_prefix_cidr: "10.1.0.0/24"
|
|
|
|
|
|
|
|
- name: Create instance of Database Account -- check mode
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
location: eastus
|
|
|
|
geo_rep_locations:
|
|
|
|
- name: eastus
|
|
|
|
failover_priority: 0
|
|
|
|
database_account_offer_type: Standard
|
|
|
|
check_mode: yes
|
|
|
|
register: output
|
|
|
|
- name: Assert the resource instance is well created
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Create instance of Database Account
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
location: eastus
|
|
|
|
geo_rep_locations:
|
|
|
|
- name: eastus
|
|
|
|
failover_priority: 0
|
|
|
|
- name: westus
|
|
|
|
failover_priority: 1
|
|
|
|
database_account_offer_type: Standard
|
|
|
|
is_virtual_network_filter_enabled: yes
|
|
|
|
virtual_network_rules:
|
|
|
|
- subnet:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
virtual_network_name: "{{ vnname }}"
|
|
|
|
subnet_name: "{{ subnetname }}"
|
|
|
|
ignore_missing_vnet_service_endpoint: yes
|
|
|
|
register: output
|
|
|
|
- name: Assert the resource instance is well created
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Create again instance of Database Account
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
location: eastus
|
|
|
|
geo_rep_locations:
|
|
|
|
- name: eastus
|
|
|
|
failover_priority: 0
|
|
|
|
- name: westus
|
|
|
|
failover_priority: 1
|
|
|
|
database_account_offer_type: Standard
|
|
|
|
is_virtual_network_filter_enabled: yes
|
|
|
|
virtual_network_rules:
|
|
|
|
- subnet:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
virtual_network_name: "{{ vnname }}"
|
|
|
|
subnet_name: "{{ subnetname }}"
|
|
|
|
ignore_missing_vnet_service_endpoint: yes
|
|
|
|
register: output
|
|
|
|
- name: Assert the state has not changed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed == false
|
|
|
|
|
|
|
|
- name: Create again instance of Database Account -- change something
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
location: eastus
|
|
|
|
geo_rep_locations:
|
|
|
|
- name: eastus
|
|
|
|
failover_priority: 0
|
|
|
|
- name: westus
|
|
|
|
failover_priority: 1
|
|
|
|
database_account_offer_type: Standard
|
|
|
|
is_virtual_network_filter_enabled: yes
|
|
|
|
virtual_network_rules:
|
|
|
|
- subnet:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
virtual_network_name: "{{ vnname }}"
|
|
|
|
subnet_name: "{{ subnetname }}"
|
|
|
|
ignore_missing_vnet_service_endpoint: yes
|
|
|
|
enable_automatic_failover: yes
|
|
|
|
register: output
|
|
|
|
- name: Assert the state has not changed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Delete instance of Database Account -- check mode
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
state: absent
|
|
|
|
check_mode: yes
|
|
|
|
register: output
|
|
|
|
- name: Assert the state has changed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Delete instance of Database Account
|
|
|
|
azure_rm_cosmosdbaccount:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: "{{ dbname }}"
|
|
|
|
state: absent
|
|
|
|
register: output
|
|
|
|
- name: Assert the state has changed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
# currently disabled as there's a bug in SDK / Service
|
|
|
|
#- name: Delete unexisting instance of Database Account
|
|
|
|
# azure_rm_cosmosdbaccount:
|
|
|
|
# resource_group: "{{ resource_group }}"
|
|
|
|
# name: "{{ dbname }}"
|
|
|
|
# state: absent
|
|
|
|
# register: output
|
|
|
|
#- name: Assert the state has changed
|
|
|
|
# assert:
|
|
|
|
# that:
|
|
|
|
# - output.changed == false
|