|
|
|
- name: Create virtual network
|
|
|
|
azure_rm_virtualnetwork:
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
name: testnic001
|
|
|
|
address_prefixes: "10.10.0.0/16"
|
|
|
|
register: vn
|
|
|
|
|
|
|
|
- name: Add subnet
|
|
|
|
azure_rm_subnet:
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
name: testnic001
|
|
|
|
address_prefix: "10.10.0.0/24"
|
|
|
|
virtual_network: testnic001
|
|
|
|
|
|
|
|
- name: Create NIC (check mode)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
public_ip_name: testnic001
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
security_group: testnic001
|
|
|
|
register: output
|
|
|
|
check_mode: yes
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Create NIC
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
public_ip_name: testnic001
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
security_group: testnic001
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
- output.state.ip_configuration.subnet.name == 'testnic001'
|
|
|
|
|
|
|
|
- name: Update the NIC with mutilple ip configurations (check mode)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig-add
|
|
|
|
public_ip_name: testnic002
|
|
|
|
- name: default
|
|
|
|
public_ip_name: testnic001
|
|
|
|
primary: True
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
- name: ipconfig1
|
|
|
|
public_ip_name: testnic003
|
|
|
|
register: output
|
|
|
|
check_mode: yes
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Update the NIC with mutilple ip configurations
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig-add
|
|
|
|
public_ip_name: testnic002
|
|
|
|
- name: default
|
|
|
|
public_ip_name: testnic001
|
|
|
|
primary: True
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
- name: ipconfig1
|
|
|
|
public_ip_name: testnic003
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
- not output.state.ip_configuration
|
|
|
|
- output.state.ip_configurations | length == 3
|
|
|
|
|
|
|
|
- name: Update the NIC with mutilple ip configurations (idempotent)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig-add
|
|
|
|
public_ip_name: testnic002
|
|
|
|
- name: default
|
|
|
|
public_ip_name: testnic001
|
|
|
|
primary: True
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
- name: ipconfig1
|
|
|
|
public_ip_name: testnic003
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not output.changed
|
|
|
|
|
|
|
|
- name: Remove one ip configuration
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig-add
|
|
|
|
public_ip_name: testnic002
|
|
|
|
- name: default
|
|
|
|
public_ip_name: testnic001
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
primary: True
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not output.state.ip_configuration
|
|
|
|
- output.state.ip_configurations | length == 2
|
|
|
|
|
|
|
|
- name: IP configuration without public IP
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001noip
|
|
|
|
security_group: testnic001
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig1
|
|
|
|
primary: True
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.state.ip_configurations[0].public_ip_address == None
|
|
|
|
|
|
|
|
- name: Delete the NIC (check mode)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
state: absent
|
|
|
|
check_mode: yes
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Delete the NIC
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
state: absent
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
|
|
|
|
- name: Delete the NIC (idempotent)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
state: absent
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not output.changed
|