mreg-cli 1.7.2__tar.gz → 1.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/CHANGELOG.md +33 -0
  2. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/PKG-INFO +21 -1
  3. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/README.md +20 -0
  4. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/testsuite +10 -7
  5. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/testsuite-result.json +2312 -1865
  6. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/_version.py +3 -3
  7. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/models.py +24 -3
  8. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/cli.py +10 -0
  9. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/help.py +18 -0
  10. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/core.py +62 -21
  11. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/logging.py +14 -11
  12. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/network.py +102 -26
  13. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/config.py +21 -8
  14. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/dirs.py +4 -0
  15. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/log.py +8 -1
  16. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/main.py +2 -1
  17. mreg_cli-1.8.0/mreg_cli/utilities/fs.py +84 -0
  18. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/PKG-INFO +21 -1
  19. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/SOURCES.txt +2 -0
  20. mreg_cli-1.8.0/tests/commands/test_host.py +61 -0
  21. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_config.py +81 -1
  22. mreg_cli-1.8.0/tests/utilities/__init__.py +0 -0
  23. mreg_cli-1.7.2/mreg_cli/utilities/fs.py +0 -57
  24. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/.github/workflows/publish.yml +0 -0
  25. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/.github/workflows/test.yml +0 -0
  26. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/.gitignore +0 -0
  27. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/.markdownlint.json +0 -0
  28. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/AUTHORS +0 -0
  29. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/CONTRIBUTING +0 -0
  30. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/LICENSE +0 -0
  31. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/Dockerfile +0 -0
  32. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/diff.py +0 -0
  33. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/docker-compose.yml +0 -0
  34. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/run_testsuite_and_record.sh +0 -0
  35. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/ci/run_testsuite_and_record_V2.sh +0 -0
  36. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/data/mreg-cli.conf +0 -0
  37. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/__about__.py +0 -0
  38. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/__init__.py +0 -0
  39. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/__main__.py +0 -0
  40. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/__init__.py +0 -0
  41. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/abstracts.py +0 -0
  42. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/endpoints.py +0 -0
  43. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/errors.py +0 -0
  44. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/fields.py +0 -0
  45. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/api/history.py +0 -0
  46. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/cache.py +0 -0
  47. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/__init__.py +0 -0
  48. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/base.py +0 -0
  49. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/cache.py +0 -0
  50. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/dhcp.py +0 -0
  51. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/group.py +0 -0
  52. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host.py +0 -0
  53. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/__init__.py +0 -0
  54. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/a_aaaa.py +0 -0
  55. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/bacnet.py +0 -0
  56. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/cname.py +0 -0
  57. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/host_submodules/rr.py +0 -0
  58. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/label.py +0 -0
  59. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/permission.py +0 -0
  60. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/policy.py +0 -0
  61. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/recording.py +0 -0
  62. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/registry.py +0 -0
  63. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/root.py +0 -0
  64. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/commands/zone.py +0 -0
  65. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/errorbuilder.py +0 -0
  66. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/exceptions.py +0 -0
  67. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/help_formatter.py +0 -0
  68. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/outputmanager.py +0 -0
  69. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/prompt.py +0 -0
  70. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/py.typed +0 -0
  71. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/tags.txt +0 -0
  72. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/tokenfile.py +0 -0
  73. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/types.py +0 -0
  74. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/utilities/__init__.py +0 -0
  75. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/utilities/api.py +0 -0
  76. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/utilities/shared.py +0 -0
  77. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli/utilities/validators.py +0 -0
  78. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/dependency_links.txt +0 -0
  79. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/entry_points.txt +0 -0
  80. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/requires.txt +0 -0
  81. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/mreg_cli.egg-info/top_level.txt +0 -0
  82. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/pyproject.toml +0 -0
  83. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/run.py +0 -0
  84. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/setup.cfg +0 -0
  85. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/__init__.py +0 -0
  86. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/api/__init__.py +0 -0
  87. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/api/test_fields.py +0 -0
  88. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/api/test_models.py +0 -0
  89. {mreg_cli-1.7.2/tests/utilities → mreg_cli-1.8.0/tests/commands}/__init__.py +0 -0
  90. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/conftest.py +0 -0
  91. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_cache.py +0 -0
  92. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_errorbuilder.py +0 -0
  93. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_exceptions.py +0 -0
  94. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_outputmanager.py +0 -0
  95. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_prompt.py +0 -0
  96. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_tokenfile.py +0 -0
  97. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/test_types.py +0 -0
  98. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/utilities/test_api.py +0 -0
  99. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tests/utilities/test_fs.py +0 -0
  100. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/tox.ini +0 -0
  101. {mreg_cli-1.7.2 → mreg_cli-1.8.0}/uv.lock +0 -0
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  <!-- ## Unreleased -->
9
9
 
10
+ ## [1.8.0](https://github.com/unioslo/mreg-cli/releases/tag/1.8.0) - 2025-12-09
11
+
12
+ ### Added
13
+
14
+ - Persistent command history.
15
+ - History is stored in a file, configurable with the `history_file` config option. Defaults to `$XDG_DATA_HOME/mreg-cli/history`.
16
+ - History can be enabled/disabled with the `history` config option.
17
+ - History can be cleared with the new `help clear_history` command.
18
+ - `network set_max_communities <network> <max_communities>` command to set the maximum number of communities allowed on a network.
19
+ - `network unset_max_communities <network>` command to unset the maximum number of communities allowed on a network.
20
+
21
+ ### Changed
22
+
23
+ - Renamed `network policy_set_prefix` to `network policy_set_pattern`.
24
+ - Renamed `network policy_unset_prefix` to `network policy_unset_pattern`.
25
+
26
+ ### Fixed
27
+
28
+ - `logging start` showing "disabled" instead of the actual logging status.
29
+ - `host remove` error message suggesting incorrect option and syntax when `-override` is required.
30
+
31
+ ## [1.7.3](https://github.com/unioslo/mreg-cli/releases/tag/1.7.3) - 2025-11-18
32
+
33
+ ### Changed
34
+
35
+ - No longer requires a writable log file to start the application. In extreme cases where no writable log file directory can be found, logging will be disabled.
36
+
37
+ ### Fixed
38
+
39
+ - Temporary file creation failing due to non-unique filename in `/tmp` directory. Now creates a unique temporary directory for the temporary file.
40
+
10
41
  ## [1.7.2](https://github.com/unioslo/mreg-cli/releases/tag/1.7.2) - 2025-11-17
11
42
 
12
43
  ### Fixed
@@ -73,6 +104,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
73
104
  - `logging start` no longer toggles logging on and off. Now aborts if logging is already enabled.
74
105
  - `logging stop` now aborts if logging is not enabled.
75
106
  - `logging status` now shows if logging is enabled or not.
107
+ - `network policy_set_prefix` renamed to `network policy_set_pattern`.
108
+ - `network policy_unset_prefix` renamed to `network policy_unset_pattern`.
76
109
 
77
110
  ## [1.6.0](https://github.com/unioslo/mreg-cli/releases/tag/1.6.0) - 2025-10-13
78
111
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mreg-cli
3
- Version: 1.7.2
3
+ Version: 1.8.0
4
4
  Summary: MREG interactive command line client
5
5
  Author: Others (see AUTHORS)
6
6
  Author-email: Øyvind Kolbu <oyvind.kolbu@usit.uio.no>, Safet A <amedov@usit.uio.no>, Magnus Hirth <mhmorgan42@gmail.com>, Nico <nicolaydmohebi@gmail.com>, Marius Bakke <marius.bakke@usit.uio.no>, Fredrik Larsen <fredrik.larsen@usit.uio.no>, Paal Braathen <paal.braathen@usit.uio.no>, Nils Hiorth <nils@nls.me>, Dmytro Karpenko <dmytrok@usit.uio.no>
@@ -884,6 +884,26 @@ Time-to-live for cached API results, in seconds. Defaults to 300 seconds (5 minu
884
884
  cache_ttl=300
885
885
  ```
886
886
 
887
+ ### History
888
+
889
+ Enable/disable command history. Enabled by default.
890
+
891
+ ```ini
892
+ [mreg]
893
+ history=true
894
+ ```
895
+
896
+ ### History file
897
+
898
+ Location of the command history file. Defaults to `$XDG_DATA_DIRS/mreg-cli/history`, which is typically `~/.local/share/mreg-cli/history`.
899
+
900
+ ```ini
901
+ [mreg]
902
+ history_file=/path/to/history/file
903
+ ```
904
+
905
+ <!-- Stuff that really shouldn't be in the config found below: -->
906
+
887
907
  ### Category tags
888
908
 
889
909
  List of valid category tags for networks. Used by `network create`.
@@ -176,6 +176,26 @@ Time-to-live for cached API results, in seconds. Defaults to 300 seconds (5 minu
176
176
  cache_ttl=300
177
177
  ```
178
178
 
179
+ ### History
180
+
181
+ Enable/disable command history. Enabled by default.
182
+
183
+ ```ini
184
+ [mreg]
185
+ history=true
186
+ ```
187
+
188
+ ### History file
189
+
190
+ Location of the command history file. Defaults to `$XDG_DATA_DIRS/mreg-cli/history`, which is typically `~/.local/share/mreg-cli/history`.
191
+
192
+ ```ini
193
+ [mreg]
194
+ history_file=/path/to/history/file
195
+ ```
196
+
197
+ <!-- Stuff that really shouldn't be in the config found below: -->
198
+
179
199
  ### Category tags
180
200
 
181
201
  List of valid category tags for networks. Used by `network create`.
@@ -443,6 +443,9 @@ network policy_info Autoconfigure
443
443
  network policy_add 10.0.2.0/28 SecurePolicy
444
444
  network policy_add 10.0.2.0/28 Autoconfigure # requires force
445
445
  network policy_add 10.0.2.0/28 Autoconfigure -force
446
+ network set_max_communities 10.0.2.0/28 5
447
+ network info 10.0.2.0/28
448
+ network unset_max_communities 10.0.2.0/28
446
449
  network info 10.0.2.0/28
447
450
  network policy_delete Autoconfigure # requires force
448
451
  network policy_delete Autoconfigure -force
@@ -474,18 +477,18 @@ host info tinyhost
474
477
  network community_info 10.0.2.0/28 guests
475
478
  network community_info 10.0.2.0/28 lab
476
479
 
477
- # Custom communtiy mapping prefix
478
- network policy_create CustomPrefix "Custom community mapping prefix" -prefix "custom" # no attributes
479
- network create -network 10.0.3.0/24 -desc "CustomPrefixNet" -policy CustomPrefix # add policy during creation
480
- network policy_info CustomPrefix
480
+ # Custom community mapping template pattern
481
+ network policy_create CustomPattern "Custom community mapping template pattern" -pattern "custom" # no attributes
482
+ network create -network 10.0.3.0/24 -desc "CustomPatternNet" -policy CustomPattern # add policy during creation
483
+ network policy_info CustomPattern
481
484
  network community_create 10.0.3.0/24 foo "Foo community"
482
485
  network community_info 10.0.3.0/24 foo
483
- network policy_set_prefix CustomPrefix "newprefix"
486
+ network policy_set_pattern CustomPattern "newpattern"
484
487
  network community_info 10.0.3.0/24 foo
485
- network policy_unset_prefix CustomPrefix
488
+ network policy_unset_pattern CustomPattern
486
489
  network community_info 10.0.3.0/24 foo
487
490
  network remove 10.0.3.0/24 -force
488
- network policy_delete CustomPrefix
491
+ network policy_delete CustomPattern
489
492
 
490
493
  ## Rename community
491
494
  network community_rename 10.0.2.0/28 lab labequipment