23 lines
1 KiB
YAML
23 lines
1 KiB
YAML
- name: Add IP address
|
|
win_shell: >
|
|
New-NetIPAddress -InterfaceAlias {{ interface.name }}
|
|
-AddressFamily IPv{{ address.family.value }}
|
|
-IPAddress "{{ address.address | ipaddr("address") }}" -PrefixLength {{ address.address | ipaddr("prefix") }}
|
|
register: result
|
|
changed_when: "not result.stderr or 'Instance MSFT_NetIPAddress already exists' not in result.stderr"
|
|
failed_when: false
|
|
|
|
- name: Get gateway for prefix
|
|
set_fact:
|
|
prefix: "{{ prefixes | selectattr('prefix', '==', address.address|ipaddr('subnet')) | first }}"
|
|
|
|
- name: Set gateway
|
|
when: address.family.value == 4 and prefix.custom_fields.gateway
|
|
win_shell: >
|
|
New-NetRoute -InterfaceAlias {{ interface.name }}
|
|
-AddressFamily IPv{{ address.family.value }}
|
|
-DestinationPrefix {{ "0.0.0.0/0" if address.family.value == 4 else "::/0" }}
|
|
-NextHop {{ prefix.custom_fields.gateway.address | ipaddr("address") }}
|
|
register: result
|
|
changed_when: "not result.stderr or 'Instance MSFT_NetRoute already exists' not in result.stderr"
|
|
failed_when: false
|