|
|
|
- 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 public ip
|
|
|
|
azure_rm_publicipaddress:
|
|
|
|
name: ansiblepip3
|
|
|
|
resource_group: '{{ resource_group }}'
|
|
|
|
|
|
|
|
- name: create load balancer with multiple parameters
|
|
|
|
azure_rm_loadbalancer:
|
|
|
|
resource_group: '{{ resource_group }}'
|
|
|
|
name: lbtestfromansible
|
|
|
|
frontend_ip_configurations:
|
|
|
|
- name: frontendipconf0
|
|
|
|
public_ip_address: ansiblepip3
|
|
|
|
backend_address_pools:
|
|
|
|
- name: backendaddrpool0
|
|
|
|
- name: backendaddrpool1
|
|
|
|
probes:
|
|
|
|
- name: prob0
|
|
|
|
port: 80
|
|
|
|
inbound_nat_pools:
|
|
|
|
- name: inboundnatpool0
|
|
|
|
frontend_ip_configuration_name: frontendipconf0
|
|
|
|
protocol: Tcp
|
|
|
|
frontend_port_range_start: 80
|
|
|
|
frontend_port_range_end: 81
|
|
|
|
backend_port: 8080
|
|
|
|
load_balancing_rules:
|
|
|
|
- name: lbrbalancingrule0
|
|
|
|
frontend_ip_configuration: frontendipconf0
|
|
|
|
backend_address_pool: backendaddrpool0
|
|
|
|
frontend_port: 80
|
|
|
|
backend_port: 80
|
|
|
|
probe: prob0
|
|
|
|
register: lb
|
|
|
|
|
|
|
|
- name: create public ip
|
|
|
|
azure_rm_publicipaddress:
|
|
|
|
name: ansiblepip3
|
|
|
|
resource_group: '{{ resource_group }}'
|
|
|
|
|
|
|
|
- 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 using virtual_network resource_group parameter
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001rg
|
|
|
|
virtual_network:
|
|
|
|
name: testnic001
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
subnet: testnic001
|
|
|
|
public_ip_name: testnic001rg
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
security_group: testnic001
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- name: Create NIC using virtual_network resource_group parameter (idempotent)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001rg
|
|
|
|
virtual_network:
|
|
|
|
name: testnic001
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
subnet: testnic001
|
|
|
|
public_ip_name: testnic001rg
|
|
|
|
public_ip_allocation_method: Static
|
|
|
|
security_group: testnic001
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not output.changed
|
|
|
|
|
|
|
|
- name: Delete NIC
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001rg
|
|
|
|
state: absent
|
|
|
|
|
|
|
|
- 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:
|
|
|
|
name: testnic002
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
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:
|
|
|
|
name: testnic002
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
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:
|
|
|
|
name: testnic002
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
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
|
|
|
|
load_balancer_backend_address_pools:
|
|
|
|
- "{{ lb.state.backend_address_pools[0].id }}"
|
|
|
|
- name: backendaddrpool1
|
|
|
|
load_balancer: lbtestfromansible
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- output.changed
|
|
|
|
- not output.state.ip_configuration
|
|
|
|
- output.state.ip_configurations | length == 3
|
|
|
|
- output.state.network_security_group.name == 'testnic002'
|
|
|
|
|
|
|
|
- name: Update the NIC with mutilple ip configurations (idempotent)
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group: "{{ output.state.network_security_group.id }}"
|
|
|
|
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
|
|
|
|
load_balancer_backend_address_pools:
|
|
|
|
- "{{ lb.state.backend_address_pools[0].id }}"
|
|
|
|
- name: backendaddrpool1
|
|
|
|
load_balancer: lbtestfromansible
|
|
|
|
register: output
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not output.changed
|
|
|
|
|
|
|
|
- name: Remove one ip configuration
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001
|
|
|
|
security_group:
|
|
|
|
name: testnic002
|
|
|
|
resource_group: "{{ resource_group_secondary }}"
|
|
|
|
virtual_network: "{{ vn.state.id }}"
|
|
|
|
subnet: testnic001
|
|
|
|
ip_configurations:
|
|
|
|
- name: ipconfig1
|
|
|
|
public_ip_name: testnic003
|
|
|
|
load_balancer_backend_address_pools:
|
|
|
|
- "{{ lb.state.backend_address_pools[0].id }}"
|
|
|
|
- name: backendaddrpool1
|
|
|
|
load_balancer: lbtestfromansible
|
|
|
|
- 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 and NSG
|
|
|
|
azure_rm_networkinterface:
|
|
|
|
resource_group: "{{ resource_group }}"
|
|
|
|
name: testnic001noip
|
|
|
|
create_with_security_group: False
|
|
|
|
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
|
|
|
|
- output.state.network_security_group == 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: "{{ item }}"
|
|
|
|
state: absent
|
|
|
|
with_items:
|
|
|
|
- testnic001
|
|
|
|
- testnic001noip
|
|
|
|
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
|