diff options
Diffstat (limited to 'ansible_collections/community/routeros')
13 files changed, 578 insertions, 134 deletions
diff --git a/ansible_collections/community/routeros/.github/workflows/ansible-test.yml b/ansible_collections/community/routeros/.github/workflows/ansible-test.yml index 0444f593f..f743ae51a 100644 --- a/ansible_collections/community/routeros/.github/workflows/ansible-test.yml +++ b/ansible_collections/community/routeros/.github/workflows/ansible-test.yml @@ -34,6 +34,7 @@ jobs: - stable-2.14 - stable-2.15 - stable-2.16 + - stable-2.17 - devel # Ansible-test on various stable branches does not yet work well with cgroups v2. # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04 @@ -79,6 +80,7 @@ jobs: - stable-2.14 - stable-2.15 - stable-2.16 + - stable-2.17 - devel steps: @@ -113,6 +115,7 @@ jobs: python: - "3.10" - "3.11" + - "3.12" include: # 2.9 - ansible: stable-2.9 @@ -142,6 +145,9 @@ jobs: # 2.16 - ansible: stable-2.16 python: "3.10" + # 2.17 + - ansible: stable-2.17 + python: "3.12" steps: - name: >- diff --git a/ansible_collections/community/routeros/CHANGELOG.md b/ansible_collections/community/routeros/CHANGELOG.md index 99d0bbe6a..adb4f7420 100644 --- a/ansible_collections/community/routeros/CHANGELOG.md +++ b/ansible_collections/community/routeros/CHANGELOG.md @@ -2,106 +2,109 @@ **Topics** -- <a href="#v2-14-0">v2\.14\.0</a> +- <a href="#v2-15-0">v2\.15\.0</a> - <a href="#release-summary">Release Summary</a> - <a href="#minor-changes">Minor Changes</a> -- <a href="#v2-13-0">v2\.13\.0</a> +- <a href="#v2-14-0">v2\.14\.0</a> - <a href="#release-summary-1">Release Summary</a> - <a href="#minor-changes-1">Minor Changes</a> - - <a href="#bugfixes">Bugfixes</a> -- <a href="#v2-12-0">v2\.12\.0</a> +- <a href="#v2-13-0">v2\.13\.0</a> - <a href="#release-summary-2">Release Summary</a> - <a href="#minor-changes-2">Minor Changes</a> -- <a href="#v2-11-0">v2\.11\.0</a> + - <a href="#bugfixes">Bugfixes</a> +- <a href="#v2-12-0">v2\.12\.0</a> - <a href="#release-summary-3">Release Summary</a> - <a href="#minor-changes-3">Minor Changes</a> -- <a href="#v2-10-0">v2\.10\.0</a> +- <a href="#v2-11-0">v2\.11\.0</a> - <a href="#release-summary-4">Release Summary</a> - <a href="#minor-changes-4">Minor Changes</a> - - <a href="#bugfixes-1">Bugfixes</a> -- <a href="#v2-9-0">v2\.9\.0</a> +- <a href="#v2-10-0">v2\.10\.0</a> - <a href="#release-summary-5">Release Summary</a> - <a href="#minor-changes-5">Minor Changes</a> + - <a href="#bugfixes-1">Bugfixes</a> +- <a href="#v2-9-0">v2\.9\.0</a> + - <a href="#release-summary-6">Release Summary</a> + - <a href="#minor-changes-6">Minor Changes</a> - <a href="#bugfixes-2">Bugfixes</a> - <a href="#v2-8-3">v2\.8\.3</a> - - <a href="#release-summary-6">Release Summary</a> + - <a href="#release-summary-7">Release Summary</a> - <a href="#known-issues">Known Issues</a> - <a href="#v2-8-2">v2\.8\.2</a> - - <a href="#release-summary-7">Release Summary</a> + - <a href="#release-summary-8">Release Summary</a> - <a href="#bugfixes-3">Bugfixes</a> - <a href="#v2-8-1">v2\.8\.1</a> - - <a href="#release-summary-8">Release Summary</a> + - <a href="#release-summary-9">Release Summary</a> - <a href="#bugfixes-4">Bugfixes</a> - <a href="#v2-8-0">v2\.8\.0</a> - - <a href="#release-summary-9">Release Summary</a> - - <a href="#minor-changes-6">Minor Changes</a> - - <a href="#bugfixes-5">Bugfixes</a> -- <a href="#v2-7-0">v2\.7\.0</a> - <a href="#release-summary-10">Release Summary</a> - <a href="#minor-changes-7">Minor Changes</a> - - <a href="#bugfixes-6">Bugfixes</a> -- <a href="#v2-6-0">v2\.6\.0</a> + - <a href="#bugfixes-5">Bugfixes</a> +- <a href="#v2-7-0">v2\.7\.0</a> - <a href="#release-summary-11">Release Summary</a> - <a href="#minor-changes-8">Minor Changes</a> - - <a href="#bugfixes-7">Bugfixes</a> -- <a href="#v2-5-0">v2\.5\.0</a> + - <a href="#bugfixes-6">Bugfixes</a> +- <a href="#v2-6-0">v2\.6\.0</a> - <a href="#release-summary-12">Release Summary</a> - <a href="#minor-changes-9">Minor Changes</a> - - <a href="#bugfixes-8">Bugfixes</a> -- <a href="#v2-4-0">v2\.4\.0</a> + - <a href="#bugfixes-7">Bugfixes</a> +- <a href="#v2-5-0">v2\.5\.0</a> - <a href="#release-summary-13">Release Summary</a> - <a href="#minor-changes-10">Minor Changes</a> + - <a href="#bugfixes-8">Bugfixes</a> +- <a href="#v2-4-0">v2\.4\.0</a> + - <a href="#release-summary-14">Release Summary</a> + - <a href="#minor-changes-11">Minor Changes</a> - <a href="#bugfixes-9">Bugfixes</a> - <a href="#known-issues-1">Known Issues</a> - <a href="#v2-3-1">v2\.3\.1</a> - - <a href="#release-summary-14">Release Summary</a> + - <a href="#release-summary-15">Release Summary</a> - <a href="#known-issues-2">Known Issues</a> - <a href="#v2-3-0">v2\.3\.0</a> - - <a href="#release-summary-15">Release Summary</a> - - <a href="#minor-changes-11">Minor Changes</a> + - <a href="#release-summary-16">Release Summary</a> + - <a href="#minor-changes-12">Minor Changes</a> - <a href="#bugfixes-10">Bugfixes</a> - <a href="#v2-2-1">v2\.2\.1</a> - - <a href="#release-summary-16">Release Summary</a> + - <a href="#release-summary-17">Release Summary</a> - <a href="#bugfixes-11">Bugfixes</a> - <a href="#v2-2-0">v2\.2\.0</a> - - <a href="#release-summary-17">Release Summary</a> - - <a href="#minor-changes-12">Minor Changes</a> + - <a href="#release-summary-18">Release Summary</a> + - <a href="#minor-changes-13">Minor Changes</a> - <a href="#bugfixes-12">Bugfixes</a> - <a href="#new-modules">New Modules</a> - <a href="#v2-1-0">v2\.1\.0</a> - - <a href="#release-summary-18">Release Summary</a> - - <a href="#minor-changes-13">Minor Changes</a> + - <a href="#release-summary-19">Release Summary</a> + - <a href="#minor-changes-14">Minor Changes</a> - <a href="#bugfixes-13">Bugfixes</a> - <a href="#new-modules-1">New Modules</a> - <a href="#v2-0-0">v2\.0\.0</a> - - <a href="#release-summary-19">Release Summary</a> - - <a href="#minor-changes-14">Minor Changes</a> + - <a href="#release-summary-20">Release Summary</a> + - <a href="#minor-changes-15">Minor Changes</a> - <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a> - <a href="#bugfixes-14">Bugfixes</a> - <a href="#new-plugins">New Plugins</a> - <a href="#filter">Filter</a> - <a href="#v1-2-0">v1\.2\.0</a> - - <a href="#release-summary-20">Release Summary</a> - - <a href="#minor-changes-15">Minor Changes</a> - - <a href="#bugfixes-15">Bugfixes</a> -- <a href="#v1-1-0">v1\.1\.0</a> - <a href="#release-summary-21">Release Summary</a> - <a href="#minor-changes-16">Minor Changes</a> -- <a href="#v1-0-1">v1\.0\.1</a> + - <a href="#bugfixes-15">Bugfixes</a> +- <a href="#v1-1-0">v1\.1\.0</a> - <a href="#release-summary-22">Release Summary</a> + - <a href="#minor-changes-17">Minor Changes</a> +- <a href="#v1-0-1">v1\.0\.1</a> + - <a href="#release-summary-23">Release Summary</a> - <a href="#bugfixes-16">Bugfixes</a> - <a href="#v1-0-0">v1\.0\.0</a> - - <a href="#release-summary-23">Release Summary</a> + - <a href="#release-summary-24">Release Summary</a> - <a href="#bugfixes-17">Bugfixes</a> - <a href="#v0-1-1">v0\.1\.1</a> - - <a href="#release-summary-24">Release Summary</a> + - <a href="#release-summary-25">Release Summary</a> - <a href="#bugfixes-18">Bugfixes</a> - <a href="#v0-1-0">v0\.1\.0</a> - - <a href="#release-summary-25">Release Summary</a> - - <a href="#minor-changes-17">Minor Changes</a> + - <a href="#release-summary-26">Release Summary</a> + - <a href="#minor-changes-18">Minor Changes</a> -<a id="v2-14-0"></a> -## v2\.14\.0 +<a id="v2-15-0"></a> +## v2\.15\.0 <a id="release-summary"></a> ### Release Summary @@ -111,6 +114,28 @@ Feature release\. <a id="minor-changes"></a> ### Minor Changes +* api\_info\, api\_modify \- Add RouterOS 7\.x support to <code>/mpls ldp</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/271](https\://github\.com/ansible\-collections/community\.routeros/pull/271)\)\. +* api\_info\, api\_modify \- add <code>/ip route rule</code> path for RouterOS 6\.x \([https\://github\.com/ansible\-collections/community\.routeros/pull/278](https\://github\.com/ansible\-collections/community\.routeros/pull/278)\)\. +* api\_info\, api\_modify \- add <code>/routing filter</code> path for RouterOS 6\.x \([https\://github\.com/ansible\-collections/community\.routeros/pull/279](https\://github\.com/ansible\-collections/community\.routeros/pull/279)\)\. +* api\_info\, api\_modify \- add default value for <code>from\-pool</code> field in <code>/ipv6 address</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/270](https\://github\.com/ansible\-collections/community\.routeros/pull/270)\)\. +* api\_info\, api\_modify \- add missing path <code>/interface pppoe\-server server</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/273](https\://github\.com/ansible\-collections/community\.routeros/pull/273)\)\. +* api\_info\, api\_modify \- add missing path <code>/ip dhcp\-relay</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/276](https\://github\.com/ansible\-collections/community\.routeros/pull/276)\)\. +* api\_info\, api\_modify \- add missing path <code>/queue simple</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/269](https\://github\.com/ansible\-collections/community\.routeros/pull/269)\)\. +* api\_info\, api\_modify \- add missing path <code>/queue type</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/274](https\://github\.com/ansible\-collections/community\.routeros/pull/274)\)\. +* api\_info\, api\_modify \- add missing paths <code>/routing bgp aggregate</code>\, <code>/routing bgp network</code> and <code>/routing bgp peer</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/277](https\://github\.com/ansible\-collections/community\.routeros/pull/277)\)\. +* api\_info\, api\_modify \- add support for paths <code>/mpls interface</code>\, <code>/mpls ldp accept\-filter</code>\, <code>/mpls ldp advertise\-filter</code> and <code>mpls ldp interface</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/272](https\://github\.com/ansible\-collections/community\.routeros/pull/272)\)\. + +<a id="v2-14-0"></a> +## v2\.14\.0 + +<a id="release-summary-1"></a> +### Release Summary + +Feature release\. + +<a id="minor-changes-1"></a> +### Minor Changes + * api\_info\, api\_modify \- add read\-only fields <code>installed\-version</code>\, <code>latest\-version</code> and <code>status</code> in <code>system package update</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/263](https\://github\.com/ansible\-collections/community\.routeros/pull/263)\)\. * api\_info\, api\_modify \- added support for <code>interface wifi</code> and its sub\-paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/266](https\://github\.com/ansible\-collections/community\.routeros/pull/266)\)\. * api\_info\, api\_modify \- remove default value for read\-only <code>running</code> field in <code>interface wireless</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/264](https\://github\.com/ansible\-collections/community\.routeros/pull/264)\)\. @@ -118,12 +143,12 @@ Feature release\. <a id="v2-13-0"></a> ## v2\.13\.0 -<a id="release-summary-1"></a> +<a id="release-summary-2"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-1"></a> +<a id="minor-changes-2"></a> ### Minor Changes * api\_info\, api\_modify \- make path <code>user group</code> modifiable and add <code>comment</code> attribute \([https\://github\.com/ansible\-collections/community\.routeros/issues/256](https\://github\.com/ansible\-collections/community\.routeros/issues/256)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/257](https\://github\.com/ansible\-collections/community\.routeros/pull/257)\)\. @@ -137,12 +162,12 @@ Bugfix and feature release\. <a id="v2-12-0"></a> ## v2\.12\.0 -<a id="release-summary-2"></a> +<a id="release-summary-3"></a> ### Release Summary Feature release\. -<a id="minor-changes-2"></a> +<a id="minor-changes-3"></a> ### Minor Changes * api\_info\, api\_modify \- add <code>interface ovpn\-client</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/242](https\://github\.com/ansible\-collections/community\.routeros/issues/242)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/244](https\://github\.com/ansible\-collections/community\.routeros/pull/244)\)\. @@ -156,12 +181,12 @@ Feature release\. <a id="v2-11-0"></a> ## v2\.11\.0 -<a id="release-summary-3"></a> +<a id="release-summary-4"></a> ### Release Summary Feature and bugfix release\. -<a id="minor-changes-3"></a> +<a id="minor-changes-4"></a> ### Minor Changes * api\_info\, api\_modify \- add missing DoH parameters <code>doh\-max\-concurrent\-queries</code>\, <code>doh\-max\-server\-connections</code>\, and <code>doh\-timeout</code> to the <code>ip dns</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/230](https\://github\.com/ansible\-collections/community\.routeros/issues/230)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/235](https\://github\.com/ansible\-collections/community\.routeros/pull/235)\) @@ -176,12 +201,12 @@ Feature and bugfix release\. <a id="v2-10-0"></a> ## v2\.10\.0 -<a id="release-summary-4"></a> +<a id="release-summary-5"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-4"></a> +<a id="minor-changes-5"></a> ### Minor Changes * api\_info \- add new <code>include\_read\_only</code> option to select behavior for read\-only values\. By default these are not returned \([https\://github\.com/ansible\-collections/community\.routeros/pull/213](https\://github\.com/ansible\-collections/community\.routeros/pull/213)\)\. @@ -213,12 +238,12 @@ Bugfix and feature release\. <a id="v2-9-0"></a> ## v2\.9\.0 -<a id="release-summary-5"></a> +<a id="release-summary-6"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-5"></a> +<a id="minor-changes-6"></a> ### Minor Changes * api\_info\, api\_modify \- add path <code>caps\-man channel</code> and enable path <code>caps\-man manager interface</code> \([https\://github\.com/ansible\-collections/community\.routeros/issues/193](https\://github\.com/ansible\-collections/community\.routeros/issues/193)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/194](https\://github\.com/ansible\-collections/community\.routeros/pull/194)\)\. @@ -232,7 +257,7 @@ Bugfix and feature release\. <a id="v2-8-3"></a> ## v2\.8\.3 -<a id="release-summary-6"></a> +<a id="release-summary-7"></a> ### Release Summary Maintenance release with updated documentation\. @@ -253,7 +278,7 @@ for the rendered HTML version of the documentation of the latest release\. <a id="v2-8-2"></a> ## v2\.8\.2 -<a id="release-summary-7"></a> +<a id="release-summary-8"></a> ### Release Summary Bugfix release\. @@ -266,7 +291,7 @@ Bugfix release\. <a id="v2-8-1"></a> ## v2\.8\.1 -<a id="release-summary-8"></a> +<a id="release-summary-9"></a> ### Release Summary Bugfix release\. @@ -279,12 +304,12 @@ Bugfix release\. <a id="v2-8-0"></a> ## v2\.8\.0 -<a id="release-summary-9"></a> +<a id="release-summary-10"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-6"></a> +<a id="minor-changes-7"></a> ### Minor Changes * api\_modify \- adapt data for API paths <code>ip dhcp\-server network</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/156](https\://github\.com/ansible\-collections/community\.routeros/pull/156)\)\. @@ -304,12 +329,12 @@ Bugfix and feature release\. <a id="v2-7-0"></a> ## v2\.7\.0 -<a id="release-summary-10"></a> +<a id="release-summary-11"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-7"></a> +<a id="minor-changes-8"></a> ### Minor Changes * api\_modify\, api\_info \- support API paths <code>ip arp</code>\, <code>ip firewall raw</code>\, <code>ipv6 firewall raw</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/144](https\://github\.com/ansible\-collections/community\.routeros/pull/144)\)\. @@ -322,12 +347,12 @@ Bugfix and feature release\. <a id="v2-6-0"></a> ## v2\.6\.0 -<a id="release-summary-11"></a> +<a id="release-summary-12"></a> ### Release Summary Regular bugfix and feature release\. -<a id="minor-changes-8"></a> +<a id="minor-changes-9"></a> ### Minor Changes * api\_modify\, api\_info \- add field <code>regexp</code> to <code>ip dns static</code> \([https\://github\.com/ansible\-collections/community\.routeros/issues/141](https\://github\.com/ansible\-collections/community\.routeros/issues/141)\)\. @@ -342,12 +367,12 @@ Regular bugfix and feature release\. <a id="v2-5-0"></a> ## v2\.5\.0 -<a id="release-summary-12"></a> +<a id="release-summary-13"></a> ### Release Summary Feature and bugfix release\. -<a id="minor-changes-9"></a> +<a id="minor-changes-10"></a> ### Minor Changes * api\_info\, api\_modify \- support API paths <code>interface ethernet poe</code>\, <code>interface gre6</code>\, <code>interface vrrp</code> and also support all previously missing fields of entries in <code>ip dhcp\-server</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/137](https\://github\.com/ansible\-collections/community\.routeros/pull/137)\)\. @@ -360,12 +385,12 @@ Feature and bugfix release\. <a id="v2-4-0"></a> ## v2\.4\.0 -<a id="release-summary-13"></a> +<a id="release-summary-14"></a> ### Release Summary Feature release improving the <code>api\*</code> modules\. -<a id="minor-changes-10"></a> +<a id="minor-changes-11"></a> ### Minor Changes * api\* modules \- Add new option <code>force\_no\_cert</code> to connect with ADH ciphers \([https\://github\.com/ansible\-collections/community\.routeros/pull/124](https\://github\.com/ansible\-collections/community\.routeros/pull/124)\)\. @@ -404,7 +429,7 @@ Feature release improving the <code>api\*</code> modules\. <a id="v2-3-1"></a> ## v2\.3\.1 -<a id="release-summary-14"></a> +<a id="release-summary-15"></a> ### Release Summary Maintenance release with improved documentation\. @@ -417,12 +442,12 @@ Maintenance release with improved documentation\. <a id="v2-3-0"></a> ## v2\.3\.0 -<a id="release-summary-15"></a> +<a id="release-summary-16"></a> ### Release Summary Feature and bugfix release\. -<a id="minor-changes-11"></a> +<a id="minor-changes-12"></a> ### Minor Changes * The collection repository conforms to the [REUSE specification](https\://reuse\.software/spec/) except for the changelog fragments \([https\://github\.com/ansible\-collections/community\.routeros/pull/108](https\://github\.com/ansible\-collections/community\.routeros/pull/108)\)\. @@ -437,7 +462,7 @@ Feature and bugfix release\. <a id="v2-2-1"></a> ## v2\.2\.1 -<a id="release-summary-16"></a> +<a id="release-summary-17"></a> ### Release Summary Bugfix release\. @@ -451,12 +476,12 @@ Bugfix release\. <a id="v2-2-0"></a> ## v2\.2\.0 -<a id="release-summary-17"></a> +<a id="release-summary-18"></a> ### Release Summary New feature release\. -<a id="minor-changes-12"></a> +<a id="minor-changes-13"></a> ### Minor Changes * All software licenses are now in the <code>LICENSES/</code> directory of the collection root\. Moreover\, <code>SPDX\-License\-Identifier\:</code> is used to declare the applicable license for every file that is not automatically generated \([https\://github\.com/ansible\-collections/community\.routeros/pull/101](https\://github\.com/ansible\-collections/community\.routeros/pull/101)\)\. @@ -475,12 +500,12 @@ New feature release\. <a id="v2-1-0"></a> ## v2\.1\.0 -<a id="release-summary-18"></a> +<a id="release-summary-19"></a> ### Release Summary Feature and bugfix release with new modules\. -<a id="minor-changes-13"></a> +<a id="minor-changes-14"></a> ### Minor Changes * Added a <code>community\.routeros\.api</code> module defaults group\. Use with <code>group/community\.routeros\.api</code> to provide options for all API\-based modules \([https\://github\.com/ansible\-collections/community\.routeros/pull/89](https\://github\.com/ansible\-collections/community\.routeros/pull/89)\)\. @@ -504,12 +529,12 @@ Feature and bugfix release with new modules\. <a id="v2-0-0"></a> ## v2\.0\.0 -<a id="release-summary-19"></a> +<a id="release-summary-20"></a> ### Release Summary A new major release with breaking changes in the behavior of <code>community\.routeros\.api</code> and <code>community\.routeros\.command</code>\. -<a id="minor-changes-14"></a> +<a id="minor-changes-15"></a> ### Minor Changes * api \- make validation of <code>WHERE</code> for <code>query</code> more strict \([https\://github\.com/ansible\-collections/community\.routeros/pull/53](https\://github\.com/ansible\-collections/community\.routeros/pull/53)\)\. @@ -545,12 +570,12 @@ A new major release with breaking changes in the behavior of <code>community\.ro <a id="v1-2-0"></a> ## v1\.2\.0 -<a id="release-summary-20"></a> +<a id="release-summary-21"></a> ### Release Summary Bugfix and feature release\. -<a id="minor-changes-15"></a> +<a id="minor-changes-16"></a> ### Minor Changes * Avoid internal ansible\-core module\_utils in favor of equivalent public API available since at least Ansible 2\.9 \([https\://github\.com/ansible\-collections/community\.routeros/pull/38](https\://github\.com/ansible\-collections/community\.routeros/pull/38)\)\. @@ -566,12 +591,12 @@ Bugfix and feature release\. <a id="v1-1-0"></a> ## v1\.1\.0 -<a id="release-summary-21"></a> +<a id="release-summary-22"></a> ### Release Summary This release allow dashes in usernames for SSH\-based modules\. -<a id="minor-changes-16"></a> +<a id="minor-changes-17"></a> ### Minor Changes * command \- added support for a dash \(<code>\-</code>\) in username \([https\://github\.com/ansible\-collections/community\.routeros/pull/18](https\://github\.com/ansible\-collections/community\.routeros/pull/18)\)\. @@ -580,7 +605,7 @@ This release allow dashes in usernames for SSH\-based modules\. <a id="v1-0-1"></a> ## v1\.0\.1 -<a id="release-summary-22"></a> +<a id="release-summary-23"></a> ### Release Summary Maintenance release with a bugfix for <code>api</code>\. @@ -593,7 +618,7 @@ Maintenance release with a bugfix for <code>api</code>\. <a id="v1-0-0"></a> ## v1\.0\.0 -<a id="release-summary-23"></a> +<a id="release-summary-24"></a> ### Release Summary This is the first production \(non\-prerelease\) release of <code>community\.routeros</code>\. @@ -606,7 +631,7 @@ This is the first production \(non\-prerelease\) release of <code>community\.rou <a id="v0-1-1"></a> ## v0\.1\.1 -<a id="release-summary-24"></a> +<a id="release-summary-25"></a> ### Release Summary Small improvements and bugfixes over the initial release\. @@ -619,12 +644,12 @@ Small improvements and bugfixes over the initial release\. <a id="v0-1-0"></a> ## v0\.1\.0 -<a id="release-summary-25"></a> +<a id="release-summary-26"></a> ### Release Summary The <code>community\.routeros</code> continues the work on the Ansible RouterOS modules from their state in <code>community\.network</code> 1\.2\.0\. The changes listed here are thus relative to the modules <code>community\.network\.routeros\_\*</code>\. -<a id="minor-changes-17"></a> +<a id="minor-changes-18"></a> ### Minor Changes * facts \- now also collecting data about BGP and OSPF \([https\://github\.com/ansible\-collections/community\.network/pull/101](https\://github\.com/ansible\-collections/community\.network/pull/101)\)\. diff --git a/ansible_collections/community/routeros/CHANGELOG.rst b/ansible_collections/community/routeros/CHANGELOG.rst index c7cc6ef67..1b3a76077 100644 --- a/ansible_collections/community/routeros/CHANGELOG.rst +++ b/ansible_collections/community/routeros/CHANGELOG.rst @@ -4,6 +4,28 @@ Community RouterOS Release Notes .. contents:: Topics +v2.15.0 +======= + +Release Summary +--------------- + +Feature release. + +Minor Changes +------------- + +- api_info, api_modify - Add RouterOS 7.x support to ``/mpls ldp`` path (https://github.com/ansible-collections/community.routeros/pull/271). +- api_info, api_modify - add ``/ip route rule`` path for RouterOS 6.x (https://github.com/ansible-collections/community.routeros/pull/278). +- api_info, api_modify - add ``/routing filter`` path for RouterOS 6.x (https://github.com/ansible-collections/community.routeros/pull/279). +- api_info, api_modify - add default value for ``from-pool`` field in ``/ipv6 address`` (https://github.com/ansible-collections/community.routeros/pull/270). +- api_info, api_modify - add missing path ``/interface pppoe-server server`` (https://github.com/ansible-collections/community.routeros/pull/273). +- api_info, api_modify - add missing path ``/ip dhcp-relay`` (https://github.com/ansible-collections/community.routeros/pull/276). +- api_info, api_modify - add missing path ``/queue simple`` (https://github.com/ansible-collections/community.routeros/pull/269). +- api_info, api_modify - add missing path ``/queue type`` (https://github.com/ansible-collections/community.routeros/pull/274). +- api_info, api_modify - add missing paths ``/routing bgp aggregate``, ``/routing bgp network`` and ``/routing bgp peer`` (https://github.com/ansible-collections/community.routeros/pull/277). +- api_info, api_modify - add support for paths ``/mpls interface``, ``/mpls ldp accept-filter``, ``/mpls ldp advertise-filter`` and ``mpls ldp interface`` (https://github.com/ansible-collections/community.routeros/pull/272). + v2.14.0 ======= diff --git a/ansible_collections/community/routeros/FILES.json b/ansible_collections/community/routeros/FILES.json index 65dc9b337..483d87e4f 100644 --- a/ansible_collections/community/routeros/FILES.json +++ b/ansible_collections/community/routeros/FILES.json @@ -25,7 +25,7 @@ "name": ".github/workflows/ansible-test.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7733552e950b67d67c9b00ef9bb1d15c38ee2d765d47ab2d7404cc5efa6fa0b7", + "chksum_sha256": "bf90bb7d4687afa28b6d64eed2a4ef8761badbd5759319daff0621394fe8a1fe", "format": 1 }, { @@ -151,7 +151,7 @@ "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9c3d4e8049fa8e3b5e55c2997f4df70ac1942517cfbddb28d7caafef030ba12", + "chksum_sha256": "5780b9cd9fd37dcad0b122ae762afbe426e800c7fda9496e50163c628d77a823", "format": 1 }, { @@ -211,6 +211,13 @@ "format": 1 }, { + "name": "docs/docsite/config.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0c5ec9ff76cf4db33b5d3f771419ef50d448e5d510cb7a98fc07dd9ecee69c4e", + "format": 1 + }, + { "name": "docs/docsite/extra-docs.yml", "ftype": "file", "chksum_type": "sha256", @@ -354,7 +361,7 @@ "name": "plugins/module_utils/_api_data.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5880a7e63053e5f40b3824e0e8311dc2f61d93bcadc0d639d65dcc3ba88a723", + "chksum_sha256": "2b2dd685aa6a3fd4d481f12ced0ed0284a65d4773844c4c9a30ea3b4cbd38297", "format": 1 }, { @@ -424,14 +431,14 @@ "name": "plugins/modules/api_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed9d94602cc1c6c87fa65e829342c83724376cc8b0d47072e74a6119e10e0505", + "chksum_sha256": "f86b949f2a5f6da6df2061711adf35ff727c034c7c9b7dc4e3bbb50fe80f0dd8", "format": 1 }, { "name": "plugins/modules/api_modify.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "81752a1a70ce47134663c2d721673481a8aea6995469092ae24b13303772820c", + "chksum_sha256": "2ec95cb3af816b5ee9b3e54ead9258c177f559038d57de7f253f4d9b6f179784", "format": 1 }, { @@ -806,6 +813,20 @@ "format": 1 }, { + "name": "tests/sanity/ignore-2.18.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1af4ae071777877caae7e48c7a1a1c905d990e0d4d832b285970307cc5ad03df", + "format": 1 + }, + { + "name": "tests/sanity/ignore-2.18.txt.license", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6eb915239f9f35407fa68fdc41ed6522f1fdcce11badbdcd6057548023179ac1", + "format": 1 + }, + { "name": "tests/sanity/ignore-2.9.txt", "ftype": "file", "chksum_type": "sha256", @@ -1257,7 +1278,7 @@ "name": "CHANGELOG.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b99dd5a4c3af9a341ee8435a0bd595a093508da336b35963c9f4c21e40442a90", + "chksum_sha256": "3add5cc457f4a9b36baea353affd9965843342f141333acdce5af15d84d7ae2b", "format": 1 }, { @@ -1271,7 +1292,7 @@ "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f13293d73ce0d0f4ac5a07b1b7e69d3efbfd36dca003148072b792bb5678ffe", + "chksum_sha256": "ed20bebf70ccd5e1e94da8f399771dddf40744a2c2da0283fe210fc6c47d77ca", "format": 1 }, { @@ -1292,7 +1313,7 @@ "name": "README.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be40d1889fd07a702d1422a4da11a614fc9cce965f548eae37f50dfa8cf0ba46", + "chksum_sha256": "f5ae35bdf559206e7f48123c0928ef6b5d9bc29f8a6b6eef90aa731e81aaa516", "format": 1 }, { diff --git a/ansible_collections/community/routeros/MANIFEST.json b/ansible_collections/community/routeros/MANIFEST.json index 02c5b44f9..ddec534d7 100644 --- a/ansible_collections/community/routeros/MANIFEST.json +++ b/ansible_collections/community/routeros/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "community", "name": "routeros", - "version": "2.14.0", + "version": "2.15.0", "authors": [ "Egor Zaitsev (github.com/heuels)", "Nikolay Dachev (github.com/NikolayDachev)", @@ -31,7 +31,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b61bc5f91d12dd9344c686a1ce2650fea27acfe4e6dceb5ac36d8fc236ecadc0", + "chksum_sha256": "a36cd24eef5f055d20b8836410e23e222aa2aa857c025faadc9e10767b95fec6", "format": 1 }, "format": 1 diff --git a/ansible_collections/community/routeros/README.md b/ansible_collections/community/routeros/README.md index df692d6d5..e617a8f89 100644 --- a/ansible_collections/community/routeros/README.md +++ b/ansible_collections/community/routeros/README.md @@ -13,7 +13,7 @@ You can find [documentation for the modules and plugins in this collection here] ## Tested with Ansible -Tested with the current Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, ansible-core 2.14, ansible-core 2.15, and ansible-core 2.16 releases and the current development version of ansible-core. Ansible versions before 2.9.10 are not supported. +Tested with the current Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, ansible-core 2.14, ansible-core 2.15, ansible-core 2.16, and ansible-core 2.17 releases and the current development version of ansible-core. Ansible versions before 2.9.10 are not supported. ## External requirements diff --git a/ansible_collections/community/routeros/changelogs/changelog.yaml b/ansible_collections/community/routeros/changelogs/changelog.yaml index e23348b3a..62320dd0e 100644 --- a/ansible_collections/community/routeros/changelogs/changelog.yaml +++ b/ansible_collections/community/routeros/changelogs/changelog.yaml @@ -339,6 +339,38 @@ releases: - 264-wireless-running-default.yml - 266-interface-wifi.yml release_date: '2024-03-25' + 2.15.0: + changes: + minor_changes: + - api_info, api_modify - Add RouterOS 7.x support to ``/mpls ldp`` path (https://github.com/ansible-collections/community.routeros/pull/271). + - api_info, api_modify - add ``/ip route rule`` path for RouterOS 6.x (https://github.com/ansible-collections/community.routeros/pull/278). + - api_info, api_modify - add ``/routing filter`` path for RouterOS 6.x (https://github.com/ansible-collections/community.routeros/pull/279). + - api_info, api_modify - add default value for ``from-pool`` field in ``/ipv6 + address`` (https://github.com/ansible-collections/community.routeros/pull/270). + - api_info, api_modify - add missing path ``/interface pppoe-server server`` + (https://github.com/ansible-collections/community.routeros/pull/273). + - api_info, api_modify - add missing path ``/ip dhcp-relay`` (https://github.com/ansible-collections/community.routeros/pull/276). + - api_info, api_modify - add missing path ``/queue simple`` (https://github.com/ansible-collections/community.routeros/pull/269). + - api_info, api_modify - add missing path ``/queue type`` (https://github.com/ansible-collections/community.routeros/pull/274). + - api_info, api_modify - add missing paths ``/routing bgp aggregate``, ``/routing + bgp network`` and ``/routing bgp peer`` (https://github.com/ansible-collections/community.routeros/pull/277). + - api_info, api_modify - add support for paths ``/mpls interface``, ``/mpls + ldp accept-filter``, ``/mpls ldp advertise-filter`` and ``mpls ldp interface`` + (https://github.com/ansible-collections/community.routeros/pull/272). + release_summary: Feature release. + fragments: + - 2.15.0.yml + - 269-add-queue_simple-path.yml + - 270_fix_ipv6_from_pool_default_value.yml + - 271-mpls_ldp_routeros_7_support.yml + - 272-additional_mpls_path_support.yml + - 273-add_interface_pppoe-server_support.yml + - 274-add_queue_type_path.yml + - 276-add_ip_dhcp-relay_path.yml + - 277-add_routing_bgp_paths.yml + - 278-add_ip_route_rule_path.yml + - 279-add_routing_filter_path.yml + release_date: '2024-04-20' 2.2.0: changes: bugfixes: diff --git a/ansible_collections/community/routeros/docs/docsite/config.yml b/ansible_collections/community/routeros/docs/docsite/config.yml new file mode 100644 index 000000000..1d6cf8554 --- /dev/null +++ b/ansible_collections/community/routeros/docs/docsite/config.yml @@ -0,0 +1,7 @@ +--- +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +changelog: + write_changelog: true diff --git a/ansible_collections/community/routeros/plugins/module_utils/_api_data.py b/ansible_collections/community/routeros/plugins/module_utils/_api_data.py index a421cffee..fdf5cba58 100644 --- a/ansible_collections/community/routeros/plugins/module_utils/_api_data.py +++ b/ansible_collections/community/routeros/plugins/module_utils/_api_data.py @@ -729,6 +729,23 @@ PATHS = { }, ), ), + ('ip', 'route', 'rule'): APIData( + versioned=[ + ('7', '<', VersionedAPIData( + fully_understood=True, + fields={ + 'action': KeyInfo(default='lookup'), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'disabled': KeyInfo(default=False), + 'dst-address': KeyInfo(can_disable=True), + 'interface': KeyInfo(can_disable=True), + 'routing-mark': KeyInfo(can_disable=True), + 'src-address': KeyInfo(can_disable=True), + 'table': KeyInfo(default='main'), + }, + )), + ], + ), ('ip', 'vrf'): APIData( versioned=[ ('7', '>=', VersionedAPIData( @@ -787,6 +804,73 @@ PATHS = { }, ), ), + ('routing', 'filter'): APIData( + versioned=[ + ('7', '<', VersionedAPIData( + fully_understood=True, + fields={ + 'action': KeyInfo(default='passthrough'), + 'address-family': KeyInfo(can_disable=True), + 'append-bgp-communities': KeyInfo(can_disable=True), + 'append-route-targets': KeyInfo(can_disable=True), + 'bgp-as-path': KeyInfo(can_disable=True), + 'bgp-as-path-length': KeyInfo(can_disable=True), + 'bgp-atomic-aggregate': KeyInfo(can_disable=True), + 'bgp-communities': KeyInfo(can_disable=True), + 'bgp-local-pref': KeyInfo(can_disable=True), + 'bgp-med': KeyInfo(can_disable=True), + 'bgp-origin': KeyInfo(can_disable=True), + 'bgp-weight': KeyInfo(can_disable=True), + 'chain': KeyInfo(required=True), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'disabled': KeyInfo(default=False), + 'distance': KeyInfo(can_disable=True), + 'invert-match': KeyInfo(default=False), + 'jump-target': KeyInfo(), + 'locally-originated-bgp': KeyInfo(can_disable=True), + 'match-chain': KeyInfo(can_disable=True), + 'ospf-type': KeyInfo(can_disable=True), + 'pref-src': KeyInfo(can_disable=True), + 'prefix': KeyInfo(default='0.0.0.0/0'), + 'prefix-length': KeyInfo(can_disable=True), + 'protocol': KeyInfo(can_disable=True), + 'route-comment': KeyInfo(can_disable=True), + 'route-tag': KeyInfo(can_disable=True), + 'route-targets': KeyInfo(can_disable=True), + 'routing-mark': KeyInfo(can_disable=True), + 'scope': KeyInfo(can_disable=True), + 'set-bgp-communities': KeyInfo(can_disable=True), + 'set-bgp-local-pref': KeyInfo(can_disable=True), + 'set-bgp-med': KeyInfo(can_disable=True), + 'set-bgp-prepend': KeyInfo(can_disable=True), + 'set-bgp-prepend-path': KeyInfo(), + 'set-bgp-weight': KeyInfo(can_disable=True), + 'set-check-gateway': KeyInfo(can_disable=True), + 'set-disabled': KeyInfo(can_disable=True), + 'set-distance': KeyInfo(can_disable=True), + 'set-in-nexthop': KeyInfo(can_disable=True), + 'set-in-nexthop-direct': KeyInfo(can_disable=True), + 'set-in-nexthop-ipv6': KeyInfo(can_disable=True), + 'set-in-nexthop-linklocal': KeyInfo(can_disable=True), + 'set-out-nexthop': KeyInfo(can_disable=True), + 'set-out-nexthop-ipv6': KeyInfo(can_disable=True), + 'set-out-nexthop-linklocal': KeyInfo(can_disable=True), + 'set-pref-src': KeyInfo(can_disable=True), + 'set-route-comment': KeyInfo(can_disable=True), + 'set-route-tag': KeyInfo(can_disable=True), + 'set-route-targets': KeyInfo(can_disable=True), + 'set-routing-mark': KeyInfo(can_disable=True), + 'set-scope': KeyInfo(can_disable=True), + 'set-site-of-origin': KeyInfo(can_disable=True), + 'set-target-scope': KeyInfo(can_disable=True), + 'set-type': KeyInfo(can_disable=True), + 'set-use-te-nexthop': KeyInfo(can_disable=True), + 'site-of-origin': KeyInfo(can_disable=True), + 'target-scope': KeyInfo(can_disable=True), + }, + )), + ], + ), ('routing', 'filter', 'rule'): APIData( versioned=[ ('7', '>=', VersionedAPIData( @@ -1397,7 +1481,7 @@ PATHS = { 'comment': KeyInfo(can_disable=True, remove_value=''), 'disabled': KeyInfo(default=False), 'eui-64': KeyInfo(default=False), - 'from-pool': KeyInfo(), + 'from-pool': KeyInfo(default=''), 'interface': KeyInfo(required=True), 'no-dad': KeyInfo(default=False), }, @@ -1497,6 +1581,28 @@ PATHS = { }, ), ), + ('interface', 'pppoe-server', 'server'): APIData( + unversioned=VersionedAPIData( + fully_understood=True, + primary_keys=('interface', ), + fields={ + 'accept-empty-service': KeyInfo(default=True), + 'authentication': KeyInfo(default='pap,chap,mschap1,mschap2'), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'default-profile': KeyInfo(default='default'), + 'disabled': KeyInfo(default=True), + 'interface': KeyInfo(required=True), + 'keepalive-timeout': KeyInfo(default=10), + 'max-mru': KeyInfo(default='auto'), + 'max-mtu': KeyInfo(default='auto'), + 'max-sessions': KeyInfo(default='unlimited'), + 'mrru': KeyInfo(default='disabled'), + 'one-session-per-host': KeyInfo(default=False), + 'pado-delay': KeyInfo(default=0), + 'service-name': KeyInfo(default=''), + }, + ), + ), ('interface', 'pptp-server', 'server'): APIData( unversioned=VersionedAPIData( single_value=True, @@ -2557,6 +2663,22 @@ PATHS = { }, ), ), + ('ip', 'dhcp-relay'): APIData( + unversioned=VersionedAPIData( + fully_understood=True, + primary_keys=('name',), + fields={ + 'add-relay-info': KeyInfo(default=False), + 'delay-threshold': KeyInfo(can_disable=True, remove_value='none'), + 'dhcp-server': KeyInfo(required=True), + 'disabled': KeyInfo(default=False), + 'interface': KeyInfo(required=True), + 'local-address': KeyInfo(can_disable=True, remove_value='0.0.0.0'), + 'name': KeyInfo(), + 'relay-info-remote-id': KeyInfo(), + }, + ), + ), ('ip', 'dhcp-server', 'config'): APIData( unversioned=VersionedAPIData( single_value=True, @@ -3591,29 +3713,90 @@ PATHS = { ), ('mpls', 'interface'): APIData( unversioned=VersionedAPIData( - unknown_mechanism=True, - # primary_keys=('default', ), + fully_understood=True, fields={ - 'default': KeyInfo(), - 'disabled': KeyInfo(), - 'interface': KeyInfo(), + 'disabled': KeyInfo(default=False), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'interface': KeyInfo(required=True), 'mpls-mtu': KeyInfo(), + 'info': KeyInfo(can_disable=True), }, ), ), ('mpls', 'ldp'): APIData( + versioned=[ + ('7.1', '>=', VersionedAPIData( + fully_understood=True, + primary_keys=('vrf', ), + fields={ + 'afi': KeyInfo(can_disable=True), + 'distribute-for-default': KeyInfo(can_disable=True), + 'path-vector-limit': KeyInfo(can_disable=True), + 'vrf': KeyInfo(), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'hop-limit': KeyInfo(can_disable=True), + 'preferred-afi': KeyInfo(can_disable=True), + 'loop-detect': KeyInfo(can_disable=True), + 'transport-addresses': KeyInfo(can_disable=True), + 'disabled': KeyInfo(default=False), + 'lsr-id': KeyInfo(can_disable=True), + 'use-explicit-null': KeyInfo(can_disable=True), + }, + )), + ('7.1', '<', VersionedAPIData( + single_value=True, + fully_understood=True, + fields={ + 'distribute-for-default-route': KeyInfo(default=False), + 'enabled': KeyInfo(default=False), + 'hop-limit': KeyInfo(default=255), + 'loop-detect': KeyInfo(default=False), + 'lsr-id': KeyInfo(default='0.0.0.0'), + 'path-vector-limit': KeyInfo(default=255), + 'transport-address': KeyInfo(default='0.0.0.0'), + 'use-explicit-null': KeyInfo(default=False), + }, + )), + ], + ), + ('mpls', 'ldp', 'accept-filter'): APIData( unversioned=VersionedAPIData( - single_value=True, fully_understood=True, fields={ - 'distribute-for-default-route': KeyInfo(default=False), - 'enabled': KeyInfo(default=False), - 'hop-limit': KeyInfo(default=255), - 'loop-detect': KeyInfo(default=False), - 'lsr-id': KeyInfo(default='0.0.0.0'), - 'path-vector-limit': KeyInfo(default=255), - 'transport-address': KeyInfo(default='0.0.0.0'), - 'use-explicit-null': KeyInfo(default=False), + 'accept': KeyInfo(can_disable=True), + 'disabled': KeyInfo(default=False), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'neighbor': KeyInfo(can_disable=True), + 'prefix': KeyInfo(can_disable=True), + 'vrf': KeyInfo(can_disable=True), + }, + ), + ), + ('mpls', 'ldp', 'advertise-filter'): APIData( + unversioned=VersionedAPIData( + fully_understood=True, + fields={ + 'advertise': KeyInfo(default=''), + 'disabled': KeyInfo(default=False), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'neighbor': KeyInfo(), + 'prefix': KeyInfo(), + 'vrf': KeyInfo(), + }, + ), + ), + ('mpls', 'ldp', 'interface'): APIData( + unversioned=VersionedAPIData( + fully_understood=True, + fields={ + 'disabled': KeyInfo(default=False), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'accept-dynamic-neighbors': KeyInfo(can_disable=True), + 'afi': KeyInfo(can_disable=True), + 'hello-interval': KeyInfo(can_disable=True), + 'hold-time': KeyInfo(can_disable=True), + 'interface': KeyInfo(required=True), + 'transport-addresses': KeyInfo(can_disable=True), }, ), ), @@ -4239,6 +4422,30 @@ PATHS = { }, ), ), + ('queue', 'simple'): APIData( + unversioned=VersionedAPIData( + primary_keys=('name', ), + fully_understood=True, + fields={ + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'dst': KeyInfo(can_disable=True, remove_value=''), + 'time': KeyInfo(can_disable=True, remove_value=''), + 'bucket-size': KeyInfo(default='0.1/0.1'), + 'burst-limit': KeyInfo(default='0/0'), + 'burst-threshold': KeyInfo(default='0/0'), + 'burst-time': KeyInfo(default='0s/0s'), + 'disabled': KeyInfo(default=False), + 'limit-at': KeyInfo(default='0/0'), + 'max-limit': KeyInfo(default='0/0'), + 'name': KeyInfo(), + 'packet-marks': KeyInfo(default=''), + 'parent': KeyInfo(default='none'), + 'priority': KeyInfo(default='8/8'), + 'queue': KeyInfo(default='default-small/default-small'), + 'target': KeyInfo(required=True), + }, + ), + ), ('queue', 'tree'): APIData( unversioned=VersionedAPIData( primary_keys=('name', ), @@ -4260,6 +4467,64 @@ PATHS = { }, ), ), + ('queue', 'type'): APIData( + unversioned=VersionedAPIData( + primary_keys=('name', ), + fully_understood=True, + fields={ + 'name': KeyInfo(), + 'kind': KeyInfo(required=True), + 'bfifo-limit': KeyInfo(default=15000), + 'cake-ack-filter': KeyInfo(default='none'), + 'cake-atm': KeyInfo(default='none'), + 'cake-autorate-ingress': KeyInfo(can_disable=True), + 'cake-bandwidth': KeyInfo(can_disable=True, remove_value=0), + 'cake-diffserv': KeyInfo(default='diffserv3'), + 'cake-flowmode': KeyInfo(default='triple-isolate'), + 'cake-memlimit': KeyInfo(default=0), + 'cake-mpu': KeyInfo(can_disable=True, remove_value=''), + 'cake-nat': KeyInfo(can_disable=True, remove_value=False), + 'cake-overhead': KeyInfo(default=0), + 'cake-overhead-scheme': KeyInfo(can_disable=True, remove_value=''), + 'cake-rtt': KeyInfo(default='100ms'), + 'cake-rtt-scheme': KeyInfo(default='none'), + 'cake-wash': KeyInfo(can_disable=True, remove_value=False), + 'codel-ce-threshold': KeyInfo(can_disable=True, remove_value=''), + 'codel-ecn': KeyInfo(can_disable=True, remove_value=False), + 'codel-interval': KeyInfo(default='100ms'), + 'codel-limit': KeyInfo(default=1000), + 'codel-target': KeyInfo(default='5ms'), + 'fq-codel-ce-threshold': KeyInfo(can_disable=True, remove_value=''), + 'fq-codel-ecn': KeyInfo(default=True), + 'fq-codel-flows': KeyInfo(default=1024), + 'fq-codel-interval': KeyInfo(default='100ms'), + 'fq-codel-limit': KeyInfo(default=10240), + 'fq-codel-memlimit': KeyInfo(default=33554432), + 'fq-codel-quantum': KeyInfo(default=1514), + 'fq-codel-target': KeyInfo(default='5ms'), + 'mq-pfifo-limit': KeyInfo(default=50), + 'pcq-burst-rate': KeyInfo(default=0), + 'pcq-burst-threshold': KeyInfo(default=0), + 'pcq-burst-time': KeyInfo(default='10s'), + 'pcq-classifier': KeyInfo(can_disable=True, remove_value=''), + 'pcq-dst-address-mask': KeyInfo(default=32), + 'pcq-dst-address6-mask': KeyInfo(default=128), + 'pcq-limit': KeyInfo(default=50), + 'pcq-rate': KeyInfo(default=0), + 'pcq-src-address-mask': KeyInfo(default=32), + 'pcq-src-address6-mask': KeyInfo(default=128), + 'pcq-total-limit': KeyInfo(default=2000), + 'pfifo-limit': KeyInfo(default=50), + 'red-avg-packet': KeyInfo(default=1000), + 'red-burst': KeyInfo(default=20), + 'red-limit': KeyInfo(default=60), + 'red-max-threshold': KeyInfo(default=50), + 'red-min-threshold': KeyInfo(default=10), + 'sfq-allot': KeyInfo(default=1514), + 'sfq-perturb': KeyInfo(default=5), + }, + ), + ), ('interface', 'ethernet', 'switch'): APIData( unversioned=VersionedAPIData( fixed_entries=True, @@ -4335,32 +4600,20 @@ PATHS = { }, ), ), - ('queue', 'type'): APIData( + ('routing', 'bgp', 'aggregate'): APIData( unversioned=VersionedAPIData( - has_identifier=True, + primary_keys=('prefix',), + fully_understood=True, fields={ - 'kind': KeyInfo(), - 'mq-pfifo-limit': KeyInfo(), - 'name': KeyInfo(), - 'pcq-burst-rate': KeyInfo(), - 'pcq-burst-threshold': KeyInfo(), - 'pcq-burst-time': KeyInfo(), - 'pcq-classifier': KeyInfo(), - 'pcq-dst-address-mask': KeyInfo(), - 'pcq-dst-address6-mask': KeyInfo(), - 'pcq-limit': KeyInfo(), - 'pcq-rate': KeyInfo(), - 'pcq-src-address-mask': KeyInfo(), - 'pcq-src-address6-mask': KeyInfo(), - 'pcq-total-limit': KeyInfo(), - 'pfifo-limit': KeyInfo(), - 'red-avg-packet': KeyInfo(), - 'red-burst': KeyInfo(), - 'red-limit': KeyInfo(), - 'red-max-threshold': KeyInfo(), - 'red-min-threshold': KeyInfo(), - 'sfq-allot': KeyInfo(), - 'sfq-perturb': KeyInfo(), + 'advertise-filter': KeyInfo(), + 'attribute-filter': KeyInfo(), + 'disabled': KeyInfo(default=False), + 'include-igp': KeyInfo(default=False), + 'inherit-attributes': KeyInfo(default=True), + 'instance': KeyInfo(required=True), + 'prefix': KeyInfo(required=True), + 'summary-only': KeyInfo(default=True), + 'suppress-filter': KeyInfo(), }, ), ), @@ -4448,6 +4701,53 @@ PATHS = { }, ), ), + ('routing', 'bgp', 'network'): APIData( + unversioned=VersionedAPIData( + primary_keys=('network',), + fully_understood=True, + fields={ + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'disabled': KeyInfo(default=False), + 'network': KeyInfo(required=True), + 'synchronize': KeyInfo(default=True), + }, + ), + ), + ('routing', 'bgp', 'peer'): APIData( + unversioned=VersionedAPIData( + primary_keys=('name', ), + fully_understood=True, + fields={ + 'address-families': KeyInfo(default='ip'), + 'allow-as-in': KeyInfo(can_disable=True, remove_value=''), + 'as-override': KeyInfo(default=False), + 'cisco-vpls-nlri-len-fmt': KeyInfo(), + 'comment': KeyInfo(can_disable=True, remove_value=''), + 'default-originate': KeyInfo(default='never'), + 'disabled': KeyInfo(default=False), + 'hold-time': KeyInfo(default='3m'), + 'in-filter': KeyInfo(), + 'instance': KeyInfo(), + 'keepalive-time': KeyInfo(can_disable=True, remove_value=''), + 'max-prefix-limit': KeyInfo(can_disable=True, remove_value=''), + 'max-prefix-restart-time': KeyInfo(can_disable=True, remove_value=''), + 'multihop': KeyInfo(default=False), + 'name': KeyInfo(), + 'nexthop-choice': KeyInfo(default='default'), + 'passive': KeyInfo(default=False), + 'out-filter': KeyInfo(), + 'remote-address': KeyInfo(required=True), + 'remote-as': KeyInfo(required=True), + 'remote-port': KeyInfo(can_disable=True, remove_value=''), + 'remove-private-as': KeyInfo(default=False), + 'route-reflect': KeyInfo(default=False), + 'tcp-md5-key': KeyInfo(), + 'ttl': KeyInfo(default='default'), + 'update-source': KeyInfo(can_disable=True, remove_value='none'), + 'use-bfd': KeyInfo(default=False), + }, + ), + ), ('routing', 'bgp', 'template'): APIData( unversioned=VersionedAPIData( primary_keys=('name', ), diff --git a/ansible_collections/community/routeros/plugins/modules/api_info.py b/ansible_collections/community/routeros/plugins/modules/api_info.py index f9a39464f..a3e800ee3 100644 --- a/ansible_collections/community/routeros/plugins/modules/api_info.py +++ b/ansible_collections/community/routeros/plugins/modules/api_info.py @@ -75,6 +75,7 @@ options: - interface ovpn-server server - interface ppp-client - interface pppoe-client + - interface pppoe-server server - interface pptp-server server - interface sstp-server server - interface vlan @@ -120,6 +121,7 @@ options: - ip cloud advanced - ip dhcp-client - ip dhcp-client option + - ip dhcp-relay - ip dhcp-server - ip dhcp-server config - ip dhcp-server lease @@ -147,6 +149,7 @@ options: - ip pool - ip proxy - ip route + - ip route rule - ip route vrf - ip service - ip settings @@ -174,18 +177,28 @@ options: - ipv6 route - ipv6 settings - mpls + - mpls interface - mpls ldp + - mpls ldp accept-filter + - mpls ldp advertise-filter + - mpls ldp interface - port firmware - port remote-access - ppp aaa - ppp profile - queue interface + - queue simple - queue tree + - queue type - radius - radius incoming + - routing bgp aggregate - routing bgp connection - routing bgp instance + - routing bgp network + - routing bgp peer - routing bgp template + - routing filter - routing filter rule - routing filter select-rule - routing id diff --git a/ansible_collections/community/routeros/plugins/modules/api_modify.py b/ansible_collections/community/routeros/plugins/modules/api_modify.py index d71750073..cd5b3a93d 100644 --- a/ansible_collections/community/routeros/plugins/modules/api_modify.py +++ b/ansible_collections/community/routeros/plugins/modules/api_modify.py @@ -84,6 +84,7 @@ options: - interface ovpn-server server - interface ppp-client - interface pppoe-client + - interface pppoe-server server - interface pptp-server server - interface sstp-server server - interface vlan @@ -129,6 +130,7 @@ options: - ip cloud advanced - ip dhcp-client - ip dhcp-client option + - ip dhcp-relay - ip dhcp-server - ip dhcp-server config - ip dhcp-server lease @@ -156,6 +158,7 @@ options: - ip pool - ip proxy - ip route + - ip route rule - ip route vrf - ip service - ip settings @@ -183,18 +186,28 @@ options: - ipv6 route - ipv6 settings - mpls + - mpls interface - mpls ldp + - mpls ldp accept-filter + - mpls ldp advertise-filter + - mpls ldp interface - port firmware - port remote-access - ppp aaa - ppp profile - queue interface + - queue simple - queue tree + - queue type - radius - radius incoming + - routing bgp aggregate - routing bgp connection - routing bgp instance + - routing bgp network + - routing bgp peer - routing bgp template + - routing filter - routing filter rule - routing filter select-rule - routing id diff --git a/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt b/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt new file mode 100644 index 000000000..0a5234bdb --- /dev/null +++ b/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt @@ -0,0 +1,2 @@ +update-docs.py shebang +tests/unit/compat/mock.py pylint:use-yield-from # suggested construct does not work with Python 2 diff --git a/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt.license b/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt.license new file mode 100644 index 000000000..edff8c768 --- /dev/null +++ b/ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt.license @@ -0,0 +1,3 @@ +GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +SPDX-License-Identifier: GPL-3.0-or-later +SPDX-FileCopyrightText: Ansible Project |