mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
azure_rm_networkinterface: support the multiple ip configuration (#32882)
* support the mutilple ip configuration * Update azure_rm_networkinterface.py * add test * fix spell * make the virtual network name more flexiable * add test * fix * fix lint * add test * fix parameter * deprecate the flatten ip configuration * fix lint * fix encoding * fix mirror * fix * load model from common
This commit is contained in:
parent
e970ae102c
commit
6f67d68f5a
6 changed files with 416 additions and 213 deletions
|
@ -0,0 +1,3 @@
|
|||
cloud/azure
|
||||
posix/ci/cloud/group2/azure
|
||||
destructive
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- setup_azure
|
|
@ -0,0 +1,169 @@
|
|||
- 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: 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
|
Loading…
Add table
Add a link
Reference in a new issue