diff options
Diffstat (limited to 'docs/vyos.vyos.vyos_static_routes_module.rst')
-rw-r--r-- | docs/vyos.vyos.vyos_static_routes_module.rst | 1168 |
1 files changed, 1168 insertions, 0 deletions
diff --git a/docs/vyos.vyos.vyos_static_routes_module.rst b/docs/vyos.vyos.vyos_static_routes_module.rst new file mode 100644 index 0000000..f73693c --- /dev/null +++ b/docs/vyos.vyos.vyos_static_routes_module.rst @@ -0,0 +1,1168 @@ +:orphan: + +.. _vyos.vyos.vyos_static_routes_module: + + +**************************** +vyos.vyos.vyos_static_routes +**************************** + +**Static routes resource module** + + +Version added: 1.0.0 + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- +- This module manages attributes of static routes on VyOS network devices. + + + + +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 provided static route configuration.</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 type of route.</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 ditionary that specify 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>blackhole_config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configured to silently discard packets.</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>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>Distance for the 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>type</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 is to configure only blackhole.</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/v6 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>Distance value for the 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>enabled</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable IPv4/v6 next-hop 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>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> + / <span style="color: red">required</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>Name of the outgoing interface.</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 VyOS device by executing the command <b>show configuration commands | grep static route</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'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> ←</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 of the configuration after module completion.</div> + </td> + </tr> + </table> + <br/> + + +Notes +----- + +.. note:: + - Tested against VyOS 1.1.8 (helium). + - This module works with connection ``network_cli``. See `the VyOS OS Platform Options <../network/user_guide/platform_vyos.html>`_. + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + # Using merged + # + # Before state: + # ------------- + # + # vyos@vyos:~$ show configuration commands | grep static + # + - name: Merge the provided configuration with the exisiting running configuration + vyos.vyos.vyos_static_routes: + config: + - address_families: + - afi: ipv4 + routes: + - dest: 192.0.2.32/28 + blackhole_config: + type: blackhole + next_hops: + - forward_router_address: 192.0.2.6 + - forward_router_address: 192.0.2.7 + - address_families: + - afi: ipv6 + routes: + - dest: 2001:db8:1000::/36 + blackhole_config: + distance: 2 + next_hops: + - forward_router_address: 2001:db8:2000:2::1 + - forward_router_address: 2001:db8:2000:2::2 + state: merged + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # before": [] + # + # "commands": [ + # "set protocols static route 192.0.2.32/28", + # "set protocols static route 192.0.2.32/28 blackhole", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.6'", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.7'", + # "set protocols static route6 2001:db8:1000::/36", + # "set protocols static route6 2001:db8:1000::/36 blackhole distance '2'", + # "set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1'", + # "set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2'" + # ] + # + # "after": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.6" + # }, + # { + # "forward_router_address": "192.0.2.7" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # After state: + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + + + # Using replaced + # + # Before state: + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route 192.0.2.33/28 'blackhole' + # set protocols static route 192.0.2.33/28 next-hop '192.0.2.3' + # set protocols static route 192.0.2.33/28 next-hop '192.0.2.4' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + # + - name: Replace device configurations of listed static routes with provided configurations + vyos.vyos.vyos_static_routes: + config: + - address_families: + - afi: ipv4 + routes: + - dest: 192.0.2.32/28 + blackhole_config: + distance: 2 + next_hops: + - forward_router_address: 192.0.2.7 + enabled: false + - forward_router_address: 192.0.2.9 + state: replaced + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # "before": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.6" + # }, + # { + # "forward_router_address": "192.0.2.7" + # } + # ] + # }, + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.33/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.3" + # }, + # { + # "forward_router_address": "192.0.2.4" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # "commands": [ + # "delete protocols static route 192.0.2.32/28 next-hop '192.0.2.6'", + # "delete protocols static route 192.0.2.32/28 next-hop '192.0.2.7'", + # "set protocols static route 192.0.2.32/28 next-hop 192.0.2.7 'disable'", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.7'", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.9'", + # "set protocols static route 192.0.2.32/28 blackhole distance '2'" + # ] + # + # "after": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "enabled": false, + # "forward_router_address": "192.0.2.7" + # }, + # { + # "forward_router_address": "192.0.2.9" + # } + # ] + # }, + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.33/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.3" + # }, + # { + # "forward_router_address": "192.0.2.4" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # After state: + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 blackhole distance '2' + # set protocols static route 192.0.2.32/28 next-hop 192.0.2.7 'disable' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.9' + # set protocols static route 192.0.2.33/28 'blackhole' + # set protocols static route 192.0.2.33/28 next-hop '192.0.2.3' + # set protocols static route 192.0.2.33/28 next-hop '192.0.2.4' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + + + # Using overridden + # + # Before state + # -------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 blackhole distance '2' + # set protocols static route 192.0.2.32/28 next-hop 192.0.2.7 'disable' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.9' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + # + - name: Overrides all device configuration with provided configuration + vyos.vyos.vyos_static_routes: + config: + - address_families: + - afi: ipv4 + routes: + - dest: 198.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.18 + state: overridden + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # "before": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "enabled": false, + # "forward_router_address": "192.0.2.7" + # }, + # { + # "forward_router_address": "192.0.2.9" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # "commands": [ + # "delete protocols static route 192.0.2.32/28", + # "delete protocols static route6 2001:db8:1000::/36", + # "set protocols static route 198.0.2.48/28", + # "set protocols static route 198.0.2.48/28 next-hop '192.0.2.18'" + # + # + # "after": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "dest": "198.0.2.48/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.18" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # + # After state + # ------------ + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 198.0.2.48/28 next-hop '192.0.2.18' + + + # Using deleted to delete static route based on afi + # + # Before state + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + # + - name: Delete static route based on afi. + vyos.vyos.vyos_static_routes: + config: + - address_families: + - afi: ipv4 + - afi: ipv6 + state: deleted + # + # + # ------------------------ + # Module Execution Results + # ------------------------ + # + # "before": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.6" + # }, + # { + # "forward_router_address": "192.0.2.7" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # "commands": [ + # "delete protocols static route", + # "delete protocols static route6" + # ] + # + # "after": [] + # After state + # ------------ + # vyos@vyos# run show configuration commands | grep static + # set protocols 'static' + + + # Using deleted to delete all the static routes when passes config is empty + # + # Before state + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + # + - name: Delete all the static routes. + vyos.vyos.vyos_static_routes: + config: + state: deleted + # + # + # ------------------------ + # Module Execution Results + # ------------------------ + # + # "before": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.6" + # }, + # { + # "forward_router_address": "192.0.2.7" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # "commands": [ + # "delete protocols static route", + # "delete protocols static route6" + # ] + # + # "after": [] + # After state + # ------------ + # vyos@vyos# run show configuration commands | grep static + # set protocols 'static' + + + # Using rendered + # + # + - name: Render the commands for provided configuration + vyos.vyos.vyos_static_routes: + config: + - address_families: + - afi: ipv4 + routes: + - dest: 192.0.2.32/28 + blackhole_config: + type: blackhole + next_hops: + - forward_router_address: 192.0.2.6 + - forward_router_address: 192.0.2.7 + - address_families: + - afi: ipv6 + routes: + - dest: 2001:db8:1000::/36 + blackhole_config: + distance: 2 + next_hops: + - forward_router_address: 2001:db8:2000:2::1 + - forward_router_address: 2001:db8:2000:2::2 + state: rendered + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # + # "rendered": [ + # "set protocols static route 192.0.2.32/28", + # "set protocols static route 192.0.2.32/28 blackhole", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.6'", + # "set protocols static route 192.0.2.32/28 next-hop '192.0.2.7'", + # "set protocols static route6 2001:db8:1000::/36", + # "set protocols static route6 2001:db8:1000::/36 blackhole distance '2'", + # "set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1'", + # "set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2'" + # ] + + + # Using parsed + # + # + - name: Parse the provided running configuration + vyos.vyos.vyos_static_routes: + running_config: + "set protocols static route 192.0.2.32/28 'blackhole' + set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2'" + state: parsed + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # + # "parsed": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + + + # Using gathered + # + # Before state: + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + # + - name: Gather listed static routes with provided configurations + vyos.vyos.vyos_static_routes: + config: + state: gathered + # + # + # ------------------------- + # Module Execution Result + # ------------------------- + # + # "gathered": [ + # { + # "address_families": [ + # { + # "afi": "ipv4", + # "routes": [ + # { + # "blackhole_config": { + # "type": "blackhole" + # }, + # "dest": "192.0.2.32/28", + # "next_hops": [ + # { + # "forward_router_address": "192.0.2.6" + # }, + # { + # "forward_router_address": "192.0.2.7" + # } + # ] + # } + # ] + # }, + # { + # "afi": "ipv6", + # "routes": [ + # { + # "blackhole_config": { + # "distance": 2 + # }, + # "dest": "2001:db8:1000::/36", + # "next_hops": [ + # { + # "forward_router_address": "2001:db8:2000:2::1" + # }, + # { + # "forward_router_address": "2001:db8:2000:2::2" + # } + # ] + # } + # ] + # } + # ] + # } + # ] + # + # + # After state: + # ------------- + # + # vyos@vyos:~$ show configuration commands| grep static + # set protocols static route 192.0.2.32/28 'blackhole' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.6' + # set protocols static route 192.0.2.32/28 next-hop '192.0.2.7' + # set protocols static route6 2001:db8:1000::/36 blackhole distance '2' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::1' + # set protocols static route6 2001:db8:1000::/36 next-hop '2001:db8:2000:2::2' + + + + + + +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;">["set protocols static route 192.0.2.32/28 next-hop '192.0.2.6'", "set protocols static route 192.0.2.32/28 'blackhole'"]</div> + </td> + </tr> + </table> + <br/><br/> + + +Status +------ + + +Authors +~~~~~~~ + +- Rohit Thakur (@rohitthakur2590) + + +.. hint:: + Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up. |