.. _cisco.iosxr.iosxr_static_routes_module:


*******************************
cisco.iosxr.iosxr_static_routes
*******************************

**Resource module to configure static routes.**


Version added: 1.0.0

.. contents::
   :local:
   :depth: 1


Synopsis
--------
- This module manages static routes on devices running Cisco IOS-XR.




Parameters
----------

.. raw:: html

    <table  border=0 cellpadding=0 class="documentation-table">
        <tr>
            <th colspan="5">Parameter</th>
            <th>Choices/<font color="blue">Defaults</font></th>
            <th width="100%">Comments</th>
        </tr>
            <tr>
                <td colspan="5">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>config</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">list</span>
                         / <span style="color: purple">elements=dictionary</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>A dictionary of static route options.</div>
                </td>
            </tr>
                                <tr>
                    <td class="elbow-placeholder"></td>
                <td colspan="4">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>address_families</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">list</span>
                         / <span style="color: purple">elements=dictionary</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>A dictionary specifying the address family to which the static route(s) belong.</div>
                </td>
            </tr>
                                <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="3">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>afi</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                         / <span style="color: red">required</span>
                    </div>
                </td>
                <td>
                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
                                    <li>ipv4</li>
                                    <li>ipv6</li>
                        </ul>
                </td>
                <td>
                        <div>Specifies the top level address family indicator.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="3">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>routes</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">list</span>
                         / <span style="color: purple">elements=dictionary</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>A dictionary that specifies the static route configurations.</div>
                </td>
            </tr>
                                <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="2">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>dest</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                         / <span style="color: red">required</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>An IPv4 or IPv6 address in CIDR notation that specifies the destination network for the static route.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="2">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>next_hops</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">list</span>
                         / <span style="color: purple">elements=dictionary</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Next hops to the specified destination.</div>
                </td>
            </tr>
                                <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>admin_distance</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">integer</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>The administrative distance for this static route.</div>
                        <div>Refer to vendor documentation for valid values.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>description</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifies the description for this static route.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>dest_vrf</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>The destination VRF.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>forward_router_address</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>The IP address of the next hop that can be used to reach the destination network.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>interface</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>The interface to use to reach the destination.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>metric</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">integer</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifes the metric for this static route.</div>
                        <div>Refer to vendor documentation for valid values.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>tag</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">integer</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifies a numeric tag for this static route.</div>
                        <div>Refer to vendor documentation for valid values.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>track</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifies the object to be tracked.</div>
                        <div>This enables object tracking for static routes.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>tunnel_id</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">integer</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifies a tunnel id for the route.</div>
                        <div>Refer to vendor documentation for valid values.</div>
                </td>
            </tr>
            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>vrflabel</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">integer</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>Specifies the VRF label for this static route.</div>
                        <div>Refer to vendor documentation for valid values.</div>
                </td>
            </tr>


            <tr>
                    <td class="elbow-placeholder"></td>
                    <td class="elbow-placeholder"></td>
                <td colspan="3">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>safi</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                         / <span style="color: red">required</span>
                    </div>
                </td>
                <td>
                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
                                    <li>unicast</li>
                                    <li>multicast</li>
                        </ul>
                </td>
                <td>
                        <div>Specifies the subsequent address family indicator.</div>
                </td>
            </tr>

            <tr>
                    <td class="elbow-placeholder"></td>
                <td colspan="4">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>vrf</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>The VRF to which the static route(s) belong.</div>
                </td>
            </tr>

            <tr>
                <td colspan="5">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>running_config</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                </td>
                <td>
                        <div>This option is used only with state <em>parsed</em>.</div>
                        <div>The value of this option should be the output received from the IOS-XR device by executing the command <b>show running-config router static</b>.</div>
                        <div>The state <em>parsed</em> reads the configuration from <code>running_config</code> option and transforms it into Ansible structured data as per the resource module&#x27;s argspec and the value is then returned in the <em>parsed</em> key within the result.</div>
                </td>
            </tr>
            <tr>
                <td colspan="5">
                    <div class="ansibleOptionAnchor" id="parameter-"></div>
                    <b>state</b>
                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
                    <div style="font-size: small">
                        <span style="color: purple">string</span>
                    </div>
                </td>
                <td>
                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
                                    <li><div style="color: blue"><b>merged</b>&nbsp;&larr;</div></li>
                                    <li>replaced</li>
                                    <li>overridden</li>
                                    <li>deleted</li>
                                    <li>gathered</li>
                                    <li>rendered</li>
                                    <li>parsed</li>
                        </ul>
                </td>
                <td>
                        <div>The state the configuration should be left in.</div>
                </td>
            </tr>
    </table>
    <br/>




Examples
--------

.. code-block:: yaml

    # Using merged

    # Before state
    # -------------
    # RP/0/RP0/CPU0:ios#show running-config router static
    # Sat Feb 22 07:46:30.089 UTC
    # % No such configuration item(s)
    #
    - name: Merge the provided configuration with the existing running configuration
      cisco.iosxr.iosxr_static_routes:
        config:
          - address_families:
              - afi: ipv4
                safi: unicast
                routes:
                  - dest: 192.0.2.16/28
                    next_hops:
                      - forward_router_address: 192.0.2.10
                        interface: FastEthernet0/0/0/1
                        description: LAB
                        metric: 120
                        tag: 10
                      - interface: FastEthernet0/0/0/5
                        track: ip_sla_1
                  - dest: 192.0.2.32/28
                    next_hops:
                      - forward_router_address: 192.0.2.11
                        admin_distance: 100
              - afi: ipv6
                safi: unicast
                routes:
                  - dest: '2001:db8:1000::/36'
                    next_hops:
                      - interface: FastEthernet0/0/0/7
                        description: DC
                      - interface: FastEthernet0/0/0/8
                        forward_router_address: '2001:db8:2000:2::1'
          - vrf: DEV_SITE
            address_families:
              - afi: ipv4
                safi: unicast
                routes:
                  - dest: 192.0.2.48/28
                    next_hops:
                      - forward_router_address: 192.0.2.12
                        description: DEV
                        dest_vrf: test_1
                  - dest: 192.0.2.80/28
                    next_hops:
                      - interface: FastEthernet0/0/0/2
                        forward_router_address: 192.0.2.14
                        dest_vrf: test_1
                        track: ip_sla_2
                        vrflabel: 124
        state: merged


    # Task Output
    # -----------
    # before: []
    # commands:
    # - router static
    # - address-family ipv4 unicast
    # - 192.0.2.16/28 192.0.2.10 FastEthernet0/0/0/1 description LAB metric 120 tag 10
    # - 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    # - 192.0.2.32/28 192.0.2.11 100
    # - address-family ipv6 unicast
    # - 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    # - 2001:db8:1000::/36 2001:db8:2000:2::1 FastEthernet0/0/0/8
    # - vrf DEV_SITE
    # - address-family ipv4 unicast
    # - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    # - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124
    # after:
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.16/28
    #             next_hops:
    #               - description: LAB
    #                 forward_router_address: 192.0.2.10
    #                 interface: FastEthernet0/0/0/1
    #                 metric: 120
    #                 tag: 10
    #               - interface: FastEthernet0/0/0/5
    #                 track: ip_sla_1
    #           - dest: 192.0.2.32/28
    #             next_hops:
    #               - admin_distance: 100
    #                 forward_router_address: 192.0.2.11
    #         safi: unicast
    #       - afi: ipv6
    #         routes:
    #           - dest: 2001:db8:1000::/36
    #             next_hops:
    #               - description: DC
    #                 interface: FastEthernet0/0/0/7
    #               - forward_router_address: 2001:db8:2000:2::1
    #                 interface: FastEthernet0/0/0/8
    #         safi: unicast
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.48/28
    #             next_hops:
    #               - description: DEV
    #                 dest_vrf: test_1
    #                 forward_router_address: 192.0.2.12
    #           - dest: 192.0.2.80/28
    #             next_hops:
    #               - dest_vrf: test_1
    #                 forward_router_address: 192.0.2.14
    #                 interface: FastEthernet0/0/0/2
    #                 track: ip_sla_2
    #                 vrflabel: 124
    #         safi: unicast
    #     vrf: DEV_SITE


    #
    # After state
    # -------------
    # RP/0/RP0/CPU0:ios#show running-config router static
    # Sat Feb 22 07:49:11.754 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    # Using merged to update existing static routes

    # Before state
    # -------------
    # RP/0/RP0/CPU0:ios#show running-config router static
    # Sat Feb 22 07:49:11.754 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Update existing static routes configuration using merged
      cisco.iosxr.iosxr_static_routes:
        config:
          - vrf: DEV_SITE
            address_families:
              - afi: ipv4
                safi: unicast
                routes:
                  - dest: 192.0.2.48/28
                    next_hops:
                      - forward_router_address: 192.0.2.12
                        vrflabel: 2301
                        dest_vrf: test_1
                  - dest: 192.0.2.80/28
                    next_hops:
                      - interface: FastEthernet0/0/0/2
                        forward_router_address: 192.0.2.14
                        dest_vrf: test_1
                        description: rt_test_1
        state: merged

    # Task Output
    # -----------
    # before:
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.16/28
    #             next_hops:
    #               - description: LAB
    #                 forward_router_address: 192.0.2.10
    #                 interface: FastEthernet0/0/0/1
    #                 metric: 120
    #                 tag: 10
    #               - interface: FastEthernet0/0/0/5
    #                 track: ip_sla_1
    #           - dest: 192.0.2.32/28
    #             next_hops:
    #               - admin_distance: 100
    #                 forward_router_address: 192.0.2.11
    #         safi: unicast
    #       - afi: ipv6
    #         routes:
    #           - dest: 2001:db8:1000::/36
    #             next_hops:
    #               - description: DC
    #                 interface: FastEthernet0/0/0/7
    #               - forward_router_address: 2001:db8:2000:2::1
    #                 interface: FastEthernet0/0/0/8
    #         safi: unicast
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.48/28
    #             next_hops:
    #               - description: DEV
    #                 dest_vrf: test_1
    #                 forward_router_address: 192.0.2.12
    #           - dest: 192.0.2.80/28
    #             next_hops:
    #               - dest_vrf: test_1
    #                 forward_router_address: 192.0.2.14
    #                 interface: FastEthernet0/0/0/2
    #                 track: ip_sla_2
    #                 vrflabel: 124
    #         safi: unicast
    #     vrf: DEV_SITE
    # commands:
    # - router static
    # - vrf DEV_SITE
    # - address-family ipv4 unicast
    # - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301
    # - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124
    # after:
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.16/28
    #             next_hops:
    #               - description: LAB
    #                 forward_router_address: 192.0.2.10
    #                 interface: FastEthernet0/0/0/1
    #                 metric: 120
    #                 tag: 10
    #               - interface: FastEthernet0/0/0/5
    #                 track: ip_sla_1
    #           - dest: 192.0.2.32/28
    #             next_hops:
    #               - admin_distance: 100
    #                 forward_router_address: 192.0.2.11
    #         safi: unicast
    #       - afi: ipv6
    #         routes:
    #           - dest: 2001:db8:1000::/36
    #             next_hops:
    #               - description: DC
    #                 interface: FastEthernet0/0/0/7
    #               - forward_router_address: 2001:db8:2000:2::1
    #                 interface: FastEthernet0/0/0/8
    #         safi: unicast
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.48/28
    #             next_hops:
    #               - description: DEV
    #                 dest_vrf: test_1
    #                 forward_router_address: 192.0.2.12
    #                 vrflabel: 2301
    #           - dest: 192.0.2.80/28
    #             next_hops:
    #               - description: rt_test_1
    #                 dest_vrf: test_1
    #                 forward_router_address: 192.0.2.14
    #                 interface: FastEthernet0/0/0/2
    #                 track: ip_sla_2
    #                 vrflabel: 124
    #         safi: unicast
    #     vrf: DEV_SITE

    # After state
    # -------------
    # RP/0/RP0/CPU0:ios#show running-config router static
    # Sat Feb 22 07:49:11.754 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301
    #    192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124
    #   !
    #  !
    # !

    # Using replaced to replace all next hop entries for a single destination network

    # Before state
    # --------------

    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 07:59:08.669 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Replace device configurations of static routes with provided configurations
      cisco.iosxr.iosxr_static_routes:
        config:
          - vrf: DEV_SITE
            address_families:
              - afi: ipv4
                safi: unicast
                routes:
                  - dest: 192.0.2.48/28
                    next_hops:
                      - forward_router_address: 192.0.2.15
                        interface: FastEthernet0/0/0/3
                        description: DEV_NEW
                        dest_vrf: dev_test_2
        state: replaced

    # Task Output
    # -----------
    # before:
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 0.0.0.0/0
    #             next_hops:
    #               - forward_router_address: 10.0.151.254
    #                 interface: MgmtEth0
    #           - dest: 192.0.2.16/28
    #             next_hops:
    #               - description: LAB
    #                 forward_router_address: 192.0.2.10
    #                 interface: FastEthernet0/0/0/1
    #                 metric: 120
    #                 tag: 10
    #               - interface: FastEthernet0/0/0/5
    #                 track: ip_sla_1
    #           - dest: 192.0.2.32/28
    #             next_hops:
    #               - admin_distance: 100
    #                 forward_router_address: 192.0.2.11
    #         safi: unicast
    #       - afi: ipv6
    #         routes:
    #           - dest: 2001:db8:1000::/36
    #             next_hops:
    #               - description: DC
    #                 interface: FastEthernet0/0/0/7
    #               - forward_router_address: 2001:db8:2000:2::1
    #                 interface: FastEthernet0/0/0/8
    #         safi: unicast
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.48/28
    #             next_hops:
    #               - description: DEV
    #                 dest_vrf: test_1
    #                 forward_router_address: 192.0.2.12
    #               - forward_router_address: 192.0.3.24
    #                 interface: GigabitEthernet0/0/0/1
    #                 vrflabel: 2302
    #           - dest: 192.0.2.80/28
    #             next_hops:
    #               - dest_vrf: test_1
    #                 forward_router_address: 192.0.2.14
    #                 interface: FastEthernet0/0/0/2
    #                 track: ip_sla_2
    #                 vrflabel: 124
    #         safi: unicast
    #     vrf: DEV_SITE
    # commands:
    # - router static
    # - vrf DEV_SITE
    # - address-family ipv4 unicast
    # - no 192.0.2.48/28 vrf test_1 192.0.2.12
    # - no 192.0.2.48/28 192.0.3.24 GigabitEthernet0/0/0/1
    # - 192.0.2.48/28 vrf dev_test_2 192.0.2.15 FastEthernet0/0/0/3 description DEV_NEW
    # after:
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.16/28
    #             next_hops:
    #               - description: LAB
    #                 forward_router_address: 192.0.2.10
    #                 interface: FastEthernet0/0/0/1
    #                 metric: 120
    #                 tag: 10
    #               - interface: FastEthernet0/0/0/5
    #                 track: ip_sla_1
    #           - dest: 192.0.2.32/28
    #             next_hops:
    #               - admin_distance: 100
    #                 forward_router_address: 192.0.2.11
    #         safi: unicast
    #       - afi: ipv6
    #         routes:
    #           - dest: 2001:db8:1000::/36
    #             next_hops:
    #               - description: DC
    #                 interface: FastEthernet0/0/0/7
    #               - forward_router_address: 2001:db8:2000:2::1
    #                 interface: FastEthernet0/0/0/8
    #         safi: unicast
    #   - address_families:
    #       - afi: ipv4
    #         routes:
    #           - dest: 192.0.2.48/28
    #             next_hops:
    #               - description: DEV_NEW
    #                 dest_vrf: dev_test_2
    #                 forward_router_address: 192.0.2.15
    #                 interface: FastEthernet0/0/0/3
    #           - dest: 192.0.2.80/28
    #             next_hops:
    #               - dest_vrf: test_1
    #                 forward_router_address: 192.0.2.14
    #                 interface: FastEthernet0/0/0/2
    #                 track: ip_sla_2
    #                 vrflabel: 124
    #         safi: unicast
    #     vrf: DEV_SITE

    # After state
    # ------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 08:04:07.085 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf dev_test_2 FastEthernet0/0/0/3 192.0.2.15 description DEV_NEW
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    # Using overridden to override all static route entries on the device

    # Before state
    # -------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 07:59:08.669 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Overridde all static routes configuration with provided configuration
      cisco.iosxr.iosxr_static_routes:
        config:
          - vrf: DEV_NEW
            address_families:
              - afi: ipv4
                safi: unicast
                routes:
                  - dest: 192.0.2.48/28
                    next_hops:
                      - forward_router_address: 192.0.2.15
                        interface: FastEthernet0/0/0/3
                        description: DEV1
              - afi: ipv6
                safi: unicast
                routes:
                  - dest: '2001:db8:3000::/36'
                    next_hops:
                      - interface: FastEthernet0/0/0/4
                        forward_router_address: '2001:db8:2000:2::2'
                        description: PROD1
                        track: ip_sla_1
        state: overridden

    # Task Output
    # -----------
    # before:
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.16/28
    #               next_hops:
    #                 - description: LAB
    #                   forward_router_address: 192.0.2.10
    #                   interface: FastEthernet0/0/0/1
    #                   metric: 120
    #                   tag: 10
    #                 - interface: FastEthernet0/0/0/5
    #                   track: ip_sla_1
    #             - dest: 192.0.2.32/28
    #               next_hops:
    #                 - admin_distance: 100
    #                   forward_router_address: 192.0.2.11
    #           safi: unicast
    #         - afi: ipv6
    #           routes:
    #             - dest: 2001:db8:1000::/36
    #               next_hops:
    #                 - description: DC
    #                   interface: FastEthernet0/0/0/7
    #                 - forward_router_address: 2001:db8:2000:2::1
    #                   interface: FastEthernet0/0/0/8
    #           safi: unicast
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.48/28
    #               next_hops:
    #                 - description: DEV
    #                   dest_vrf: test_1
    #                   forward_router_address: 192.0.2.12
    #                 - forward_router_address: 192.0.3.24
    #                   interface: GigabitEthernet0/0/0/1
    #                   vrflabel: 2302
    #             - dest: 192.0.2.80/28
    #               next_hops:
    #                 - dest_vrf: test_1
    #                   forward_router_address: 192.0.2.14
    #                   interface: FastEthernet0/0/0/2
    #                   track: ip_sla_2
    #                   vrflabel: 124
    #           safi: unicast
    #       vrf: DEV_SITE
    # commands:
    #     - router static
    #     - no vrf DEV_SITE
    #     - no address-family ipv4 unicast
    #     - no address-family ipv6 unicast
    #     - vrf DEV_NEW
    #     - address-family ipv4 unicast
    #     - 192.0.2.48/28 192.0.2.15 FastEthernet0/0/0/3 description DEV1
    #     - address-family ipv6 unicast
    #     - 2001:db8:3000::/36 2001:db8:2000:2::2 FastEthernet0/0/0/4 description PROD1
    #       track ip_sla_1
    # after:
    #     - vrf: DEV_NEW
    #       address_families:
    #         - afi: ipv4
    #           safi: unicast
    #           routes:
    #             - dest: 192.0.2.48/28
    #               next_hops:
    #                 - forward_router_address: 192.0.2.15
    #                   interface: FastEthernet0/0/0/3
    #                   description: DEV1
    #         - afi: ipv6
    #           safi: unicast
    #           routes:
    #             - dest: 2001:db8:3000::/36
    #               next_hops:
    #                 - interface: FastEthernet0/0/0/4
    #                   forward_router_address: 2001:db8:2000:2::2
    #                   description: PROD1
    #                   track: ip_sla_1

    # After state
    # -------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 08:07:41.516 UTC
    # router static
    #  vrf DEV_NEW
    #   address-family ipv4 unicast
    #    192.0.2.48/28 FastEthernet0/0/0/3 192.0.2.15 description DEV1
    #   !
    #   address-family ipv6 unicast
    #    2001:db8:3000::/36 FastEthernet0/0/0/4 2001:db8:2000:2::2 description PROD1 track ip_sla_1
    #   !
    #  !
    # !

    # Using deleted to delete all destination network entries under a single AFI

    # Before state
    # -------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 07:59:08.669 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Delete all destination network entries under a single AFI
      cisco.iosxr.iosxr_static_routes:
        config:
          - vrf: DEV_SITE
            address_families:
              - afi: ipv4
                safi: unicast
        state: deleted

    # Task output
    # -----------------------
    # before:
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.16/28
    #               next_hops:
    #                 - description: LAB
    #                   forward_router_address: 192.0.2.10
    #                   interface: FastEthernet0/0/0/1
    #                   metric: 120
    #                   tag: 10
    #                 - interface: FastEthernet0/0/0/5
    #                   track: ip_sla_1
    #             - dest: 192.0.2.32/28
    #               next_hops:
    #                 - admin_distance: 100
    #                   forward_router_address: 192.0.2.11
    #           safi: unicast
    #         - afi: ipv6
    #           routes:
    #             - dest: 2001:db8:1000::/36
    #               next_hops:
    #                 - description: DC
    #                   interface: FastEthernet0/0/0/7
    #                 - forward_router_address: 2001:db8:2000:2::1
    #                   interface: FastEthernet0/0/0/8
    #           safi: unicast
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.48/28
    #               next_hops:
    #                 - description: DEV
    #                   dest_vrf: test_1
    #                   forward_router_address: 192.0.2.12
    #                 - forward_router_address: 192.0.3.24
    #                   interface: GigabitEthernet0/0/0/1
    #                   vrflabel: 2302
    #             - dest: 192.0.2.80/28
    #               next_hops:
    #                 - dest_vrf: test_1
    #                   forward_router_address: 192.0.2.14
    #                   interface: FastEthernet0/0/0/2
    #                   track: ip_sla_2
    #                   vrflabel: 124
    #           safi: unicast
    #       vrf: DEV_SITE
    # commands:
    #  - router static
    #  - vrf DEV_SITE
    #  - no address-family ipv4 unicast
    # after:
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.16/28
    #               next_hops:
    #                 - description: LAB
    #                   forward_router_address: 192.0.2.10
    #                   interface: FastEthernet0/0/0/1
    #                   metric: 120
    #                   tag: 10
    #                 - interface: FastEthernet0/0/0/5
    #                   track: ip_sla_1
    #             - dest: 192.0.2.32/28
    #               next_hops:
    #                 - admin_distance: 100
    #                   forward_router_address: 192.0.2.11
    #           safi: unicast
    #         - afi: ipv6
    #           routes:
    #             - dest: 2001:db8:1000::/36
    #               next_hops:
    #                 - description: DC
    #                   interface: FastEthernet0/0/0/7
    #                 - forward_router_address: 2001:db8:2000:2::1
    #                   interface: FastEthernet0/0/0/8
    #           safi: unicast
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.48/28
    #               next_hops:
    #                 - description: DEV
    #                   dest_vrf: test_1
    #                   forward_router_address: 192.0.2.12
    #                 - forward_router_address: 192.0.3.24
    #                   interface: GigabitEthernet0/0/0/1
    #                   vrflabel: 2302
    #             - dest: 192.0.2.80/28
    #               next_hops:
    #                 - dest_vrf: test_1
    #                   forward_router_address: 192.0.2.14
    #                   interface: FastEthernet0/0/0/2
    #                   track: ip_sla_2
    #                   vrflabel: 124
    #           safi: unicast
    #     - vrf: DEV_SITE

    # After state
    # ------------

    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 08:16:41.464 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #  !
    # !

    # Using deleted to remove all static route entries from the device

    # Before state
    # -------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 07:59:08.669 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Delete static routes configuration
      cisco.iosxr.iosxr_static_routes:
        state: deleted

    # Task output
    # -----------------------
    # before:
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.16/28
    #               next_hops:
    #                 - description: LAB
    #                   forward_router_address: 192.0.2.10
    #                   interface: FastEthernet0/0/0/1
    #                   metric: 120
    #                   tag: 10
    #                 - interface: FastEthernet0/0/0/5
    #                   track: ip_sla_1
    #             - dest: 192.0.2.32/28
    #               next_hops:
    #                 - admin_distance: 100
    #                   forward_router_address: 192.0.2.11
    #           safi: unicast
    #         - afi: ipv6
    #           routes:
    #             - dest: 2001:db8:1000::/36
    #               next_hops:
    #                 - description: DC
    #                   interface: FastEthernet0/0/0/7
    #                 - forward_router_address: 2001:db8:2000:2::1
    #                   interface: FastEthernet0/0/0/8
    #           safi: unicast
    #     - address_families:
    #         - afi: ipv4
    #           routes:
    #             - dest: 192.0.2.48/28
    #               next_hops:
    #                 - description: DEV
    #                   dest_vrf: test_1
    #                   forward_router_address: 192.0.2.12
    #                 - forward_router_address: 192.0.3.24
    #                   interface: GigabitEthernet0/0/0/1
    #                   vrflabel: 2302
    #             - dest: 192.0.2.80/28
    #               next_hops:
    #                 - dest_vrf: test_1
    #                   forward_router_address: 192.0.2.14
    #                   interface: FastEthernet0/0/0/2
    #                   track: ip_sla_2
    #                   vrflabel: 124
    #           safi: unicast
    #       vrf: DEV_SITE
    # commands:
    #     - no router static
    # after: []
    # After state
    # ------------
    # RP/0/RP0/CPU0:ios#sh running-config router static
    # Sat Feb 22 08:50:43.038 UTC
    # % No such configuration item(s)

    # Using gathered to gather static route facts from the device

    - name: Gather static routes facts from the device using iosxr_static_routes module
      cisco.iosxr.iosxr_static_routes:
        state: gathered

    # Task output (redacted)
    # -----------------------
    # "gathered": [
    #    {
    #        "address_families": [
    #            {
    #                "afi": "ipv4",
    #                "routes": [
    #                    {
    #                        "dest": "192.0.2.16/28",
    #                        "next_hops": [
    #                            {
    #                                "description": "LAB",
    #                                "forward_router_address": "192.0.2.10",
    #                                "interface": "FastEthernet0/0/0/1",
    #                                "metric": 120,
    #                                "tag": 10
    #                            },
    #                            {
    #                                "interface": "FastEthernet0/0/0/5",
    #                                "track": "ip_sla_1"
    #                            }
    #                        ]
    #                    },
    #                    {
    #                        "dest": "192.0.2.32/28",
    #                        "next_hops": [
    #                            {
    #                                "admin_distance": 100,
    #                                "forward_router_address": "192.0.2.11"
    #                            }
    #                        ]
    #                    }
    #                ],
    #                "safi": "unicast"
    #            },
    #            {
    #                "afi": "ipv6",
    #                "routes": [
    #                    {
    #                        "dest": "2001:db8:1000::/36",
    #                        "next_hops": [
    #                            {
    #                                "description": "DC",
    #                                "interface": "FastEthernet0/0/0/7"
    #                            },
    #                            {
    #                                "forward_router_address": "2001:db8:2000:2::1",
    #                                "interface": "FastEthernet0/0/0/8"
    #                            }
    #                        ]
    #                    }
    #                ],
    #                "safi": "unicast"
    #            }
    #        ]
    #    },
    #    {
    #        "address_families": [
    #            {
    #                "afi": "ipv4",
    #                "routes": [
    #                    {
    #                        "dest": "192.0.2.48/28",
    #                        "next_hops": [
    #                            {
    #                                "description": "DEV",
    #                                "dest_vrf": "test_1",
    #                                "forward_router_address": "192.0.2.12"
    #                            },
    #                            {
    #                                "forward_router_address": "192.0.3.24",
    #                                "interface": "GigabitEthernet0/0/0/1",
    #                                "vrflabel": 2302
    #                            }
    #                        ]
    #                    },
    #                    {
    #                        "dest": "192.0.2.80/28",
    #                        "next_hops": [
    #                            {
    #                                "dest_vrf": "test_1",
    #                                "forward_router_address": "192.0.2.14",
    #                                "interface": "FastEthernet0/0/0/2",
    #                                "track": "ip_sla_2",
    #                                "vrflabel": 124
    #                            }
    #                        ]
    #                    }
    #                ],
    #                "safi": "unicast"
    #            }
    #        ],
    #        "vrf": "DEV_SITE"
    #    }
    #  ]

    # Using rendered

    - name: Render platform specific commands (without connecting to the device)
      cisco.iosxr.iosxr_static_routes: null
      config:
        - vrf: DEV_SITE
          address_families:
            - afi: ipv4
              safi: unicast
              routes:
                - dest: 192.0.2.48/28
                  next_hops:
                    - forward_router_address: 192.0.2.12
                      description: DEV
                      dest_vrf: test_1
                - dest: 192.0.2.80/28
                  next_hops:
                    - interface: FastEthernet0/0/0/2
                      forward_router_address: 192.0.2.14
                      dest_vrf: test_1
                      track: ip_sla_2
                      vrflabel: 124

    # Task Output (redacted)
    # -----------------------
    # "rendered": [
    #    "router static"s,
    #    "vrf DEV_SITE",
    #    "address-family ipv4 unicast",
    #    "192.0.2.48/28 vrf test_1 192.0.2.12 description DEV",
    #    "192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124"

    # Using parsed

    # parsed.cfg
    # ------------
    # Fri Nov 29 21:10:41.896 UTC
    # router static
    #  address-family ipv4 unicast
    #   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
    #   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
    #   192.0.2.32/28 192.0.2.11 100
    #  !
    #  address-family ipv6 unicast
    #   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
    #   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
    #  !
    #  vrf DEV_SITE
    #   address-family ipv4 unicast
    #    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
    #    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
    #   !
    #  !
    # !

    - name: Use parsed state to convert externally supplied device specific static routes
        commands to structured format
      cisco.iosxr.iosxr_static_routes:
        running_config: "{{ lookup('file', '../../fixtures/parsed.cfg') }}"
        state: parsed

    # Task output (redacted)
    # -----------------------
    # "parsed": [
    #        {
    #            "address_families": [
    #                {
    #                    "afi": "ipv4",
    #                    "routes": [
    #                        {
    #                            "dest": "192.0.2.16/28",
    #                            "next_hops": [
    #                                {
    #                                    "description": "LAB",
    #                                    "forward_router_address": "192.0.2.10",
    #                                    "interface": "FastEthernet0/0/0/1",
    #                                    "metric": 120,
    #                                    "tag": 10
    #                                },
    #                                {
    #                                    "interface": "FastEthernet0/0/0/5",
    #                                    "track": "ip_sla_1"
    #                                }
    #                            ]
    #                        },
    #                        {
    #                            "dest": "192.0.2.32/28",
    #                            "next_hops": [
    #                                {
    #                                    "admin_distance": 100,
    #                                    "forward_router_address": "192.0.2.11"
    #                                }
    #                            ]
    #                        }
    #                    ],
    #                    "safi": "unicast"
    #                },
    #                {
    #                    "afi": "ipv6",
    #                    "routes": [
    #                        {
    #                            "dest": "2001:db8:1000::/36",
    #                            "next_hops": [
    #                                {
    #                                    "description": "DC",
    #                                    "interface": "FastEthernet0/0/0/7"
    #                                },
    #                                {
    #                                    "forward_router_address": "2001:db8:2000:2::1",
    #                                    "interface": "FastEthernet0/0/0/8"
    #                                }
    #                            ]
    #                        }
    #                    ],
    #                    "safi": "unicast"
    #                }
    #            ]
    #        },
    #        {
    #            "address_families": [
    #                {
    #                    "afi": "ipv4",
    #                    "routes": [
    #                        {
    #                            "dest": "192.0.2.48/28",
    #                            "next_hops": [
    #                                {
    #                                    "description": "DEV",
    #                                    "dest_vrf": "test_1",
    #                                    "forward_router_address": "192.0.2.12"
    #                                }
    #                            ]
    #                        },
    #                        {
    #                            "dest": "192.0.2.80/28",
    #                            "next_hops": [
    #                                {
    #                                    "dest_vrf": "test_1",
    #                                    "forward_router_address": "192.0.2.14",
    #                                    "interface": "FastEthernet0/0/0/2",
    #                                    "track": "ip_sla_2",
    #                                    "vrflabel": 124
    #                                }
    #                            ]
    #                        }
    #                    ],
    #                    "safi": "unicast"
    #                }
    #            ],
    #            "vrf": "DEV_SITE"
    #        }
    #    ]
    # }



Return Values
-------------
Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module:

.. raw:: html

    <table border=0 cellpadding=0 class="documentation-table">
        <tr>
            <th colspan="1">Key</th>
            <th>Returned</th>
            <th width="100%">Description</th>
        </tr>
            <tr>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="return-"></div>
                    <b>after</b>
                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
                    <div style="font-size: small">
                      <span style="color: purple">list</span>
                    </div>
                </td>
                <td>when changed</td>
                <td>
                            <div>The resulting configuration model invocation.</div>
                    <br/>
                        <div style="font-size: smaller"><b>Sample:</b></div>
                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format
     of the parameters above.</div>
                </td>
            </tr>
            <tr>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="return-"></div>
                    <b>before</b>
                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
                    <div style="font-size: small">
                      <span style="color: purple">list</span>
                    </div>
                </td>
                <td>always</td>
                <td>
                            <div>The configuration prior to the model invocation.</div>
                    <br/>
                        <div style="font-size: smaller"><b>Sample:</b></div>
                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format
     of the parameters above.</div>
                </td>
            </tr>
            <tr>
                <td colspan="1">
                    <div class="ansibleOptionAnchor" id="return-"></div>
                    <b>commands</b>
                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
                    <div style="font-size: small">
                      <span style="color: purple">list</span>
                    </div>
                </td>
                <td>always</td>
                <td>
                            <div>The set of commands pushed to the remote device.</div>
                    <br/>
                        <div style="font-size: smaller"><b>Sample:</b></div>
                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">[&#x27;router static&#x27;, &#x27;vrf dev_site&#x27;, &#x27;address-family ipv4 unicast&#x27;, &#x27;192.0.2.48/28 192.0.2.12 FastEthernet0/0/0/1 track ip_sla_10 description dev1&#x27;, &#x27;address-family ipv6 unicast&#x27;, &#x27;no 2001:db8:1000::/36&#x27;, &#x27;2001:db8:3000::/36 2001:db8:2000:2::2 FastEthernet0/0/0/4 track ip_sla_11 description prod1&#x27;]</div>
                </td>
            </tr>
    </table>
    <br/><br/>


Status
------


Authors
~~~~~~~

- Nilashish Chakraborty (@NilashishC)
