summaryrefslogtreecommitdiffstats
path: root/ansible_collections/community/routeros
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/community/routeros')
-rw-r--r--ansible_collections/community/routeros/.github/workflows/ansible-test.yml6
-rw-r--r--ansible_collections/community/routeros/CHANGELOG.md193
-rw-r--r--ansible_collections/community/routeros/CHANGELOG.rst22
-rw-r--r--ansible_collections/community/routeros/FILES.json37
-rw-r--r--ansible_collections/community/routeros/MANIFEST.json4
-rw-r--r--ansible_collections/community/routeros/README.md2
-rw-r--r--ansible_collections/community/routeros/changelogs/changelog.yaml32
-rw-r--r--ansible_collections/community/routeros/docs/docsite/config.yml7
-rw-r--r--ansible_collections/community/routeros/plugins/module_utils/_api_data.py378
-rw-r--r--ansible_collections/community/routeros/plugins/modules/api_info.py13
-rw-r--r--ansible_collections/community/routeros/plugins/modules/api_modify.py13
-rw-r--r--ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt2
-rw-r--r--ansible_collections/community/routeros/tests/sanity/ignore-2.18.txt.license3
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