--- - name: add a static route win_route: destination: "{{ destination_ip_address }}/32" gateway: "{{ default_gateway }}" metric: 1 state: present register: route - name: check if route successfully added win_shell: (Get-CimInstance win32_ip4PersistedrouteTable -Filter "Destination = '{{ destination_ip_address }}'").Caption register: route_added - name: check route default gateway win_shell: (Get-CimInstance win32_ip4PersistedrouteTable -Filter "Destination = '{{ destination_ip_address }}'").NextHop register: route_gateway - name: test if route successfully added assert: that: - route is changed - route_added.stdout_lines[0] == "{{ destination_ip_address }}" - route_gateway.stdout_lines[0] == "{{ default_gateway }}" - name: add a static route to test idempotency win_route: destination: "{{ destination_ip_address }}/32" gateway: "{{ default_gateway }}" metric: 1 state: present register: idempotent_route - name: test idempotency assert: that: - idempotent_route is not changed - idempotent_route.output == "Static route already exists" - name: remove route win_route: destination: "{{ destination_ip_address }}/32" state: absent register: route_removed - name: check route is removed win_shell: Get-CimInstance win32_ip4PersistedrouteTable -Filter "Destination = '{{ destination_ip_address }}'" register: check_route_removed - name: test route is removed assert: that: - route_removed is changed - check_route_removed.stdout == '' - name: remove static route to test idempotency win_route: destination: "{{ destination_ip_address }}/32" state: absent register: idempotent_route_removed - name: test idempotency assert: that: - idempotent_route_removed is not changed - idempotent_route_removed.output == "No route to remove" - name: add route to wrong ip address win_route: destination: "715.18.0.0/32" gateway: "{{ default_gateway }}" metric: 1 state: present ignore_errors: yes register: wrong_ip - name: test route to wrong ip address assert: that: - wrong_ip is failed