diff options
author | GomathiselviS <gomathiselvi@gmail.com> | 2021-05-18 17:42:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-18 21:42:51 +0000 |
commit | 32640ce6235001e8c296c1d2984fcf3058630181 (patch) | |
tree | 8e181a697280ce6200d8e93ba58d0083dacbccf9 | |
parent | 5b66d83236407944703dc1cdf18eb380997cae75 (diff) | |
download | vyos-ansible-old-32640ce6235001e8c296c1d2984fcf3058630181.tar.gz vyos-ansible-old-32640ce6235001e8c296c1d2984fcf3058630181.zip |
VYOS release 2.3.0 (#167)2.3.0
VYOS release 2.3.0
Reviewed-by: https://github.com/apps/ansible-zuul
-rw-r--r-- | CHANGELOG.rst | 24 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | changelogs/changelog.yaml | 22 | ||||
-rw-r--r-- | changelogs/fragments/160_available_network_resources.yaml | 3 | ||||
-rw-r--r-- | changelogs/fragments/changelog_doc_path_update.yaml | 3 | ||||
-rw-r--r-- | changelogs/fragments/fix_delete_route_maps.yaml | 3 | ||||
-rw-r--r-- | changelogs/fragments/fix_port_groups.yaml | 3 | ||||
-rw-r--r-- | changelogs/fragments/fix_static_routes_distance.yaml | 3 | ||||
-rw-r--r-- | changelogs/fragments/vyos-route-maps.yaml | 3 | ||||
-rw-r--r-- | docs/vyos.vyos.vyos_facts_module.rst | 19 | ||||
-rw-r--r-- | docs/vyos.vyos.vyos_route_maps_module.rst | 2042 |
11 files changed, 2108 insertions, 18 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9a931d6..de7fd13 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,25 @@ Vyos Collection Release Notes .. contents:: Topics +v2.3.0 +====== + +Minor Changes +------------- + +- Add vyos_route_maps resource module (https://github.com/ansible-collections/vyos.vyos/pull/156.). + +Bugfixes +-------- + +- change admin_distance to distance while generating static_routes nexthop command. +- firewall_global - port-groups were not added (https://github.com/ansible-collections/vyos.vyos/issues/107) + +New Modules +----------- + +- vyos_route_maps - Route Map Resource Module. + v2.2.0 ====== @@ -13,6 +32,11 @@ Security Fixes - Mask values of sensitive keys in module result. +Minor Changes +------------- + +- Add support for available_network_resources key, which allows to fetch the available resources for a platform (https://github.com/ansible-collections/vyos.vyos/issues/138). + v2.1.0 ====== @@ -56,6 +56,7 @@ Name | Description [vyos.vyos.vyos_ospfv2](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ospfv2_module.rst)|OSPFv2 resource module [vyos.vyos.vyos_ospfv3](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ospfv3_module.rst)|OSPFV3 resource module [vyos.vyos.vyos_ping](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ping_module.rst)|Tests reachability using ping from VyOS network devices +[vyos.vyos.vyos_route_maps](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_route_maps_module.rst)|Route Map Resource Module. [vyos.vyos.vyos_static_route](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_static_route_module.rst)|(deprecated, removed after 2022-06-01) Manage static IP routes on Vyatta VyOS network devices [vyos.vyos.vyos_static_routes](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_static_routes_module.rst)|Static routes resource module [vyos.vyos.vyos_system](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_system_module.rst)|Run `set system` commands on VyOS devices diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 1978f01..706e4a5 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -223,8 +223,30 @@ releases: changes: security_fixes: - Mask values of sensitive keys in module result. + minor_changes: + - Add support for available_network_resources key, which allows to fetch the + available resources for a platform (https://github.com/ansible-collections/vyos.vyos/issues/138). fragments: - 147-add_ignore_txt.yml + - 160_available_network_resources.yaml - no_log_mask.yaml - remove-old-test-deps.yml release_date: '2021-04-27' + 2.3.0: + changes: + bugfixes: + - change admin_distance to distance while generating static_routes nexthop command. + - firewall_global - port-groups were not added (https://github.com/ansible-collections/vyos.vyos/issues/107) + minor_changes: + - Add vyos_route_maps resource module (https://github.com/ansible-collections/vyos.vyos/pull/156.). + fragments: + - changelog_doc_path_update.yaml + - fix_delete_route_maps.yaml + - fix_port_groups.yaml + - fix_static_routes_distance.yaml + - vyos-route-maps.yaml + modules: + - description: Route Map Resource Module. + name: vyos_route_maps + namespace: '' + release_date: '2021-05-18' diff --git a/changelogs/fragments/160_available_network_resources.yaml b/changelogs/fragments/160_available_network_resources.yaml deleted file mode 100644 index c7a92f2..0000000 --- a/changelogs/fragments/160_available_network_resources.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - Add support for available_network_resources key, which allows to fetch the available resources for a platform (https://github.com/ansible-collections/vyos.vyos/issues/138). diff --git a/changelogs/fragments/changelog_doc_path_update.yaml b/changelogs/fragments/changelog_doc_path_update.yaml deleted file mode 100644 index e32d829..0000000 --- a/changelogs/fragments/changelog_doc_path_update.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -trivial: - - Update changelog doc path link in README. diff --git a/changelogs/fragments/fix_delete_route_maps.yaml b/changelogs/fragments/fix_delete_route_maps.yaml deleted file mode 100644 index ac14f57..0000000 --- a/changelogs/fragments/fix_delete_route_maps.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -trivial: - - fix delete integration test diff --git a/changelogs/fragments/fix_port_groups.yaml b/changelogs/fragments/fix_port_groups.yaml deleted file mode 100644 index abe592b..0000000 --- a/changelogs/fragments/fix_port_groups.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - firewall_global - port-groups were not added (https://github.com/ansible-collections/vyos.vyos/issues/107) diff --git a/changelogs/fragments/fix_static_routes_distance.yaml b/changelogs/fragments/fix_static_routes_distance.yaml deleted file mode 100644 index 97caa18..0000000 --- a/changelogs/fragments/fix_static_routes_distance.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - change admin_distance to distance while generating static_routes nexthop command. diff --git a/changelogs/fragments/vyos-route-maps.yaml b/changelogs/fragments/vyos-route-maps.yaml deleted file mode 100644 index 6f4e07f..0000000 --- a/changelogs/fragments/vyos-route-maps.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - Add vyos_route_maps resource module (https://github.com/ansible-collections/vyos.vyos/pull/156.). diff --git a/docs/vyos.vyos.vyos_facts_module.rst b/docs/vyos.vyos.vyos_facts_module.rst index 3177888..b931d4c 100644 --- a/docs/vyos.vyos.vyos_facts_module.rst +++ b/docs/vyos.vyos.vyos_facts_module.rst @@ -36,6 +36,25 @@ Parameters <tr> <td colspan="2"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>available_network_resources</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><div style="color: blue"><b>no</b> ←</div></li> + <li>yes</li> + </ul> + </td> + <td> + <div>When 'True' a list of network resources for which resource modules are available will be provided.</div> + </td> + </tr> + <tr> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>gather_network_resources</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> diff --git a/docs/vyos.vyos.vyos_route_maps_module.rst b/docs/vyos.vyos.vyos_route_maps_module.rst new file mode 100644 index 0000000..78c75b4 --- /dev/null +++ b/docs/vyos.vyos.vyos_route_maps_module.rst @@ -0,0 +1,2042 @@ +.. _vyos.vyos.vyos_route_maps_module: + + +************************* +vyos.vyos.vyos_route_maps +************************* + +**Route Map Resource Module.** + + +Version added: 2.3.0 + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- +- This module manages route map configurations on devices running VYOS. + + + + +Parameters +---------- + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="6">Parameter</th> + <th>Choices/<font color="blue">Defaults</font></th> + <th width="100%">Comments</th> + </tr> + <tr> + <td colspan="6"> + <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 list of route-map configuration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>entries</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>Route Map rules.</div> + <div style="font-size: small; color: darkgreen"><br/>aliases: rules</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>action</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>deny</li> + <li>permit</li> + </ul> + </td> + <td> + <div>Action for matching routes</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>call</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>Route map name</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>continue_sequence</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>Continue on a different entry within the route-map.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <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>Description for the rule.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>match</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>Route parameters to match.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_path</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>Set as-path.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>community</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>BGP community attribute.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>community_list</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>BGP community-list to match</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>exact_match</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>BGP community-list to match</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>extcommunity</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>Extended community name.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <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>First hop interface of a route to match.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ip</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>IP prefix parameters to match.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>address</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>IP address of route to match.</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>list_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>access-list</li> + <li>prefix-list</li> + </ul> + </td> + <td> + <div>type of list</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>value of access-list and prefix list</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop</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>next hop prefix list.</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>list_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>access-list</li> + <li>prefix-list</li> + </ul> + </td> + <td> + <div>type of list</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>value of access-list and prefix list</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_source</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>IP route-source to match</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>list_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>access-list</li> + <li>prefix-list</li> + </ul> + </td> + <td> + <div>type of list</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>value of access-list and prefix list</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ipv6</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>IPv6 prefix parameters to match.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>address</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>IPv6 address of route to match.</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>list_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>access-list</li> + <li>prefix-list</li> + </ul> + </td> + <td> + <div>type of list</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 class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>value of access-list and prefix list</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop</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>next-hop ipv6 address IPv6 <h:h:h:h:h:h:h:h>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>large_community_large_community_list</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>BGP large-community-list to match.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <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>Route metric <1-65535>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>origin</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>ebgp</li> + <li>ibgp</li> + <li>incomplete</li> + </ul> + </td> + <td> + <div>bgp origin.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>peer</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>Peer IP address <x.x.x.x>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>rpki</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>notfound</li> + <li>invalid</li> + <li>valid</li> + </ul> + </td> + <td> + <div>RPKI validation value.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>on_match</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>Exit policy on matches.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>goto</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>Rule number to goto on match <1-65535>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next</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>Next sequence number to goto on match.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>sequence</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>Route map rule number <1-65535>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</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>Route parameters.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>aggregator</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>Border Gateway Protocol (BGP) aggregator attribute.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as</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>AS number of an aggregation.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ip</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>IP address.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_path_exclude</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>BGP AS path exclude string ex "456 64500 45001"</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_path_prepend</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>Prepend string for a Border Gateway Protocol (BGP) AS-path attribute.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>atomic_aggregate</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>Border Gateway Protocol (BGP) atomic aggregate attribute.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bgp_extcommunity_rt</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>ExtCommunity in format AS:value</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>comm_list</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>Border Gateway Protocol (BGP) communities matching a community-list.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>comm_list</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>BGP communities with a community-list.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>delete</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>Delete BGP communities matching the community-list.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>community</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>Border Gateway Protocl (BGP) community attribute.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>Community in 4 octet AS:value format or it can be from local-AS, no-advertise,no-expert,internet,additive,none.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>extcommunity_rt</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>Set route target value.ASN:nn_or_IP_address:nn VPN extended community.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>extcommunity_soo</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>Set Site of Origin value. ASN:nn_or_IP_address:nn VPN extended community</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ip_next_hop</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>IP address.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ipv6_next_hop</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>Nexthop IPv6 address.</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ip_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>global</li> + <li>local</li> + </ul> + </td> + <td> + <div>Global or Local</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="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</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>ipv6 address</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>large_community</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>Set BGP large community value.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_preference</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>Border Gateway Protocol (BGP) local preference attribute.Example <0-4294967295>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <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">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Destination routing protocol metric. Example <0-4294967295>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>metric_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> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>type-1</li> + <li>type-2</li> + </ul> + </td> + <td> + <div>Open Shortest Path First (OSPF) external metric-type.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>origin</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>egp</li> + <li>igp</li> + <li>incomplete</li> + </ul> + </td> + <td> + <div>Set bgp origin.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>originator_id</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>Border Gateway Protocol (BGP) originator ID attribute. Orignator IP address.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>src</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>Source address for route. Example <x.x.x.x> IP address.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <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">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Tag value for routing protocol. Example <1-65535></div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>weight</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>Border Gateway Protocol (BGP) weight attribute. Example <0-4294967295></div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_map</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>Route map name.</div> + </td> + </tr> + + <tr> + <td colspan="6"> + <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 route-map</b>.</div> + <div>The state <em>parsed</em> reads the configuration from <code>show configuration commands | grep route-map</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="6"> + <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>deleted</li> + <li><div style="color: blue"><b>merged</b> ←</div></li> + <li>overridden</li> + <li>replaced</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/> + + +Notes +----- + +.. note:: + - Tested against vyos 1.2. + - This module works with connection ``network_cli``. + + + +Examples +-------- + +.. code-block:: yaml + + # Using merged + # Before state + + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # vyos@vyos:~$ + - name: Merge the provided configuration with the exisiting running configuration + register: result + vyos.vyos.vyos_route_maps: &id001 + config: + - route_map: test1 + entries: + - sequence: 1 + description: "test" + action: permit + continue: 2 + on_match: + next: True + - route_map: test3 + entries: + - sequence: 1 + action: permit + match: + rpki: invalid + metric: 1 + peer: 192.0.2.32 + set: + local_preference: 4 + metric: 5 + metric_type: "type-1" + origin: egp + originator_id: 192.0.2.34 + tag: 5 + weight: 4 + state: merged + # After State + # vyos@vyos:~$ show configuration commands | match "set policy route-maps" + # set policy route-map test1 rule 1 description test + # set policy route-map test1 rule 1 action permit + # set policy route-map test1 rule 1 continue 2 + # set policy route-map test1 rule 1 on-match next + # set policy route-map test3 rule 1 action permit + # set policy route-map test3 rule 1 set local-preference 4 + # set policy route-map test3 rule 1 set metric 5 + # set policy route-map test3 rule 1 set metric-type type-1 + # set policy route-map test3 rule 1 set origin egp + # set policy route-map test3 rule 1 set originator-id 192.0.2.34 + # set policy route-map test3 rule 1 set tag 5 + # set policy route-map test3 rule 1 set weight 4 + # set policy route-map test3 rule 1 match metric 1 + # set policy route-map test3 rule 1 match peer 192.0.2.32 + # set policy route-map test3 rule 1 match rpki invalid + + # "after": [ + # { + # "entries": [ + # { + # "action": "permit", + # "continue_sequence": 2, + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # } + # ], + # "route_map": "test1" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 1, + # "peer": "192.0.2.32", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "local_preference": "4", + # "metric": "5", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "5", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "before": {}, + # "changed": true, + # "commands": [ + # "set policy route-map test1 rule 1 description test", + # "set policy route-map test1 rule 1 action permit", + # "set policy route-map test1 rule 1 continue 2", + # "set policy route-map test1 rule 1 on-match next", + # "set policy route-map test3 rule 1 action permit", + # "set policy route-map test3 rule 1 set local-preference 4", + # "set policy route-map test3 rule 1 set metric 5", + # "set policy route-map test3 rule 1 set metric-type type-1", + # "set policy route-map test3 rule 1 set origin egp", + # "set policy route-map test3 rule 1 set originator-id 192.0.2.34", + # "set policy route-map test3 rule 1 set tag 5", + # "set policy route-map test3 rule 1 set weight 4", + # "set policy route-map test3 rule 1 match metric 1", + # "set policy route-map test3 rule 1 match peer 192.0.2.32", + # "set policy route-map test3 rule 1 match rpki invalid" + # ], + + # Using replaced: + # -------------- + + # Before state: + # vyos@vyos:~$ show configuration commands | match "set route-map policy" + # set policy route-map test2 rule 1 action 'permit' + # set policy route-map test2 rule 1 description 'test' + # set policy route-map test2 rule 1 on-match next + # set policy route-map test2 rule 2 action 'permit' + # set policy route-map test2 rule 2 on-match goto '4' + # set policy route-map test3 rule 1 action 'permit' + # set policy route-map test3 rule 1 match metric '1' + # set policy route-map test3 rule 1 match peer '192.0.2.32' + # set policy route-map test3 rule 1 match rpki 'invalid' + # set policy route-map test3 rule 1 set community 'internet' + # set policy route-map test3 rule 1 set ip-next-hop '192.0.2.33' + # set policy route-map test3 rule 1 set local-preference '4' + # set policy route-map test3 rule 1 set metric '5' + # set policy route-map test3 rule 1 set metric-type 'type-1' + # set policy route-map test3 rule 1 set origin 'egp' + # set policy route-map test3 rule 1 set originator-id '192.0.2.34' + # set policy route-map test3 rule 1 set tag '5' + # set policy route-map test3 rule 1 set weight '4' + # + # - name: Replace the provided configuration with the exisiting running configuration + # register: result + # vyos.vyos.vyos_route_maps: &id001 + # config: + # - route_map: test3 + # entries: + # - sequence: 1 + # action: permit + # match: + # rpki: invalid + # metric: 3 + # peer: 192.0.2.35 + # set: + # local_preference: 6 + # metric: 4 + # metric_type: "type-1" + # origin: egp + # originator_id: 192.0.2.34 + # tag: 4 + # weight: 4 + # state: replaced + # After state: + + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # set policy route-map test3 rule 1 set local-preference 6 + # set policy route-map test3 rule 1 set metric 4 + # set policy route-map test3 rule 1 set tag 4 + # set policy route-map test3 rule 1 match metric 3 + # set policy route-map test3 rule 1 match peer 192.0.2.35 + # vyos@vyos:~$ + # + # + # Module Execution: + # + # "after": [ + # { + # "entries": [ + # { + # "action": "permit", + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # }, + # { + # "action": "permit", + # "on_match": { + # "goto": 4 + # }, + # "sequence": 2 + # } + # ], + # "route_map": "test2" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 3, + # "peer": "192.0.2.35", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "local_preference": "6", + # "metric": "4", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "4", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "before": [ + # { + # "entries": [ + # { + # "action": "permit", + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # }, + # { + # "action": "permit", + # "on_match": { + # "goto": 4 + # }, + # "sequence": 2 + # } + # ], + # "route_map": "test2" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 1, + # "peer": "192.0.2.32", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "community": { + # "value": "internet" + # }, + # "ip_next_hop": "192.0.2.33", + # "local_preference": "4", + # "metric": "5", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "5", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "changed": true, + # "commands": [ + # "delete policy route-map test3 rule 1 set ip-next-hop 192.0.2.33", + # "set policy route-map test3 rule 1 set local-preference 6", + # "set policy route-map test3 rule 1 set metric 4", + # "set policy route-map test3 rule 1 set tag 4", + # "delete policy route-map test3 rule 1 set community internet", + # "set policy route-map test3 rule 1 match metric 3", + # "set policy route-map test3 rule 1 match peer 192.0.2.35" + # ], + # + # Using deleted: + # ------------- + + # Before state: + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # set policy route-map test3 rule 1 set local-preference 6 + # set policy route-map test3 rule 1 set metric 4 + # set policy route-map test3 rule 1 set tag 4 + # set policy route-map test3 rule 1 match metric 3 + # set policy route-map test3 rule 1 match peer 192.0.2.35 + # vyos@vyos:~$ + # + # - name: Delete the provided configuration + # register: result + # vyos.vyos.vyos_route_maps: + # config: + # state: deleted + # After state: + + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # vyos@vyos:~$ + # + # + # Module Execution: + # + # "after": {}, + # "before": [ + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 3, + # "peer": "192.0.2.35", + # }, + # "sequence": 1, + # "set": { + # "local_preference": "6", + # "metric": "4", + # "tag": "4", + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "changed": true, + # "commands": [ + # "delete policy route-map test3" + # ], + # + # using gathered: + # -------------- + # + # Before state: + # vyos@vyos:~$ show configuration commands | match "set policy route-maps" + # set policy route-map test1 rule 1 description test + # set policy route-map test1 rule 1 action permit + # set policy route-map test1 rule 1 continue 2 + # set policy route-map test1 rule 1 on-match next + # set policy route-map test3 rule 1 action permit + # set policy route-map test3 rule 1 set local-preference 4 + # set policy route-map test3 rule 1 set metric 5 + # set policy route-map test3 rule 1 set metric-type type-1 + # set policy route-map test3 rule 1 set origin egp + # set policy route-map test3 rule 1 set originator-id 192.0.2.34 + # set policy route-map test3 rule 1 set tag 5 + # set policy route-map test3 rule 1 set weight 4 + # set policy route-map test3 rule 1 match metric 1 + # set policy route-map test3 rule 1 match peer 192.0.2.32 + # set policy route-map test3 rule 1 match rpki invalid + # + # - name: gather configs + # vyos.vyos.vyos_route_maps: + # state: gathered + + # "gathered": [ + # { + # "entries": [ + # { + # "action": "permit", + # "continue_sequence": 2, + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # } + # ], + # "route_map": "test1" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 1, + # "peer": "192.0.2.32", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "local_preference": "4", + # "metric": "5", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "5", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ] + + # Using parsed: + # ------------ + + # parsed.cfg + # set policy route-map test1 rule 1 description test + # set policy route-map test1 rule 1 action permit + # set policy route-map test1 rule 1 continue 2 + # set policy route-map test1 rule 1 on-match next + # set policy route-map test3 rule 1 action permit + # set policy route-map test3 rule 1 set local-preference 4 + # set policy route-map test3 rule 1 set metric 5 + # set policy route-map test3 rule 1 set metric-type type-1 + # set policy route-map test3 rule 1 set origin egp + # set policy route-map test3 rule 1 set originator-id 192.0.2.34 + # set policy route-map test3 rule 1 set tag 5 + # set policy route-map test3 rule 1 set weight 4 + # set policy route-map test3 rule 1 match metric 1 + # set policy route-map test3 rule 1 match peer 192.0.2.32 + # set policy route-map test3 rule 1 match rpki invalid + # + # - name: parse configs + # vyos.vyos.vyos_route_maps: + # running_config: "{{ lookup('file', './parsed.cfg') }}" + # state: parsed + # tags: + # - parsed + # + # Module execution: + # "parsed": [ + # { + # "entries": [ + # { + # "action": "permit", + # "continue_sequence": 2, + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # } + # ], + # "route_map": "test1" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 1, + # "peer": "192.0.2.32", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "local_preference": "4", + # "metric": "5", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "5", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ] + # + # + # Using rendered: + # -------------- + # - name: Structure provided configuration into device specific commands + # register: result + # vyos.vyos.vyos_route_maps: &id001 + # config: + # - route_map: test1 + # entries: + # - sequence: 1 + # description: "test" + # action: permit + # continue_sequence: 2 + # on_match: + # next: True + # - route_map: test3 + # entries: + # - sequence: 1 + # action: permit + # match: + # rpki: invalid + # metric: 1 + # peer: 192.0.2.32 + # set: + # local_preference: 4 + # metric: 5 + # metric_type: "type-1" + # origin: egp + # originator_id: 192.0.2.34 + # tag: 5 + # weight: 4 + # state: rendered + # Module Execution: + # "rendered": [ + # "set policy route-map test1 rule 1 description test", + # "set policy route-map test1 rule 1 action permit", + # "set policy route-map test1 rule 1 continue 2", + # "set policy route-map test1 rule 1 on-match next", + # "set policy route-map test3 rule 1 action permit", + # "set policy route-map test3 rule 1 set local-preference 4", + # "set policy route-map test3 rule 1 set metric 5", + # "set policy route-map test3 rule 1 set metric-type type-1", + # "set policy route-map test3 rule 1 set origin egp", + # "set policy route-map test3 rule 1 set originator-id 192.0.2.34", + # "set policy route-map test3 rule 1 set tag 5", + # "set policy route-map test3 rule 1 set weight 4", + # "set policy route-map test3 rule 1 match metric 1", + # "set policy route-map test3 rule 1 match peer 192.0.2.32", + # "set policy route-map test3 rule 1 match rpki invalid" + # ] + # + # + # Using overridden: + # -------------- + # Before state: + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # set policy route-map test2 rule 1 action 'permit' + # set policy route-map test2 rule 1 description 'test' + # set policy route-map test2 rule 1 on-match next + # set policy route-map test2 rule 2 action 'permit' + # set policy route-map test2 rule 2 on-match goto '4' + # set policy route-map test3 rule 1 action 'permit' + # set policy route-map test3 rule 1 match metric '1' + # set policy route-map test3 rule 1 match peer '192.0.2.32' + # set policy route-map test3 rule 1 match rpki 'invalid' + # set policy route-map test3 rule 1 set community 'internet' + # set policy route-map test3 rule 1 set ip-next-hop '192.0.2.33' + # set policy route-map test3 rule 1 set local-preference '4' + # set policy route-map test3 rule 1 set metric '5' + # set policy route-map test3 rule 1 set metric-type 'type-1' + # set policy route-map test3 rule 1 set origin 'egp' + # set policy route-map test3 rule 1 set originator-id '192.0.2.34' + # set policy route-map test3 rule 1 set tag '5' + # set policy route-map test3 rule 1 set weight '4' + # + # - name: Override the existing configuration with the provided running configuration + # register: result + # vyos.vyos.vyos_route_maps: &id001 + # config: + # - route_map: test3 + # entries: + # - sequence: 1 + # action: permit + # match: + # rpki: invalid + # metric: 3 + # peer: 192.0.2.35 + # set: + # local_preference: 6 + # metric: 4 + # metric_type: "type-1" + # origin: egp + # originator_id: 192.0.2.34 + # tag: 4 + # weight: 4 + # state: overridden + # After state: + + # vyos@vyos:~$ show configuration commands | match "set policy route-map" + # set policy route-map test3 rule 1 set metric-type 'type-1' + # set policy route-map test3 rule 1 set origin 'egp' + # set policy route-map test3 rule 1 set originator-id '192.0.2.34' + # set policy route-map test3 rule 1 set weight '4' + # set policy route-map test3 rule 1 set local-preference 6 + # set policy route-map test3 rule 1 set metric 4 + # set policy route-map test3 rule 1 set tag 4 + # set policy route-map test3 rule 1 match metric 3 + # set policy route-map test3 rule 1 match peer 192.0.2.35 + # set policy route-map test3 rule 1 match rpki 'invalid' + + # Module Execution: + # "after": [ + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 3, + # "peer": "192.0.2.35", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "local_preference": "6", + # "metric": "4", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "4", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "before": [ + # { + # "entries": [ + # { + # "action": "permit", + # "description": "test", + # "on_match": { + # "next": true + # }, + # "sequence": 1 + # }, + # { + # "action": "permit", + # "on_match": { + # "goto": 4 + # }, + # "sequence": 2 + # } + # ], + # "route_map": "test2" + # }, + # { + # "entries": [ + # { + # "action": "permit", + # "match": { + # "metric": 1, + # "peer": "192.0.2.32", + # "rpki": "invalid" + # }, + # "sequence": 1, + # "set": { + # "community": { + # "value": "internet" + # }, + # "ip_next_hop": "192.0.2.33", + # "local_preference": "4", + # "metric": "5", + # "metric_type": "type-1", + # "origin": "egp", + # "originator_id": "192.0.2.34", + # "tag": "5", + # "weight": "4" + # } + # } + # ], + # "route_map": "test3" + # } + # ], + # "changed": true, + # "commands": [ + # "delete policy route-map test2", + # "delete policy route-map test3 rule 1 set ip-next-hop 192.0.2.33", + # "set policy route-map test3 rule 1 set local-preference 6", + # "set policy route-map test3 rule 1 set metric 4", + # "set policy route-map test3 rule 1 set tag 4", + # "delete policy route-map test3 rule 1 set community internet", + # "set policy route-map test3 rule 1 match metric 3", + # "set policy route-map test3 rule 1 match peer 192.0.2.35" + # ], + # + + + + +Status +------ + + +Authors +~~~~~~~ + +- Ashwini Mhatre (@amhatre) |