mreg-cli 1.8.2__tar.gz → 1.8.3__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.8.2 → mreg_cli-1.8.3}/.github/workflows/test.yml +15 -8
  2. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/CHANGELOG.md +14 -0
  3. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/PKG-INFO +1 -1
  4. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/docker-compose.yml +1 -1
  5. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/run_testsuite_and_record_V2.sh +14 -5
  6. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/testsuite-result.json +3020 -2191
  7. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/_version.py +3 -3
  8. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/endpoints.py +3 -1
  9. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/history.py +1 -1
  10. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/models.py +103 -9
  11. mreg_cli-1.8.3/mreg_cli/choices.py +19 -0
  12. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/core.py +108 -10
  13. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/network.py +11 -2
  14. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/utilities/api.py +2 -2
  15. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/PKG-INFO +1 -1
  16. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/SOURCES.txt +1 -1
  17. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_exceptions.py +1 -11
  18. mreg_cli-1.8.2/ci/run_testsuite_and_record.sh +0 -46
  19. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/.github/workflows/publish.yml +0 -0
  20. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/.gitignore +0 -0
  21. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/.markdownlint.json +0 -0
  22. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/AUTHORS +0 -0
  23. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/CONTRIBUTING +0 -0
  24. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/LICENSE +0 -0
  25. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/README.md +0 -0
  26. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/Dockerfile +0 -0
  27. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/diff.py +0 -0
  28. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/ci/testsuite +0 -0
  29. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/data/mreg-cli.conf +0 -0
  30. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/__about__.py +0 -0
  31. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/__init__.py +0 -0
  32. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/__main__.py +0 -0
  33. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/__init__.py +0 -0
  34. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/abstracts.py +0 -0
  35. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/errors.py +0 -0
  36. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/api/fields.py +0 -0
  37. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/cache.py +0 -0
  38. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/cli.py +0 -0
  39. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/__init__.py +0 -0
  40. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/base.py +0 -0
  41. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/cache.py +0 -0
  42. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/dhcp.py +0 -0
  43. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/group.py +0 -0
  44. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/help.py +0 -0
  45. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host.py +0 -0
  46. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/__init__.py +0 -0
  47. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/a_aaaa.py +0 -0
  48. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/bacnet.py +0 -0
  49. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/cname.py +0 -0
  50. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/host_submodules/rr.py +0 -0
  51. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/label.py +0 -0
  52. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/logging.py +0 -0
  53. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/permission.py +0 -0
  54. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/policy.py +0 -0
  55. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/recording.py +0 -0
  56. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/registry.py +0 -0
  57. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/root.py +0 -0
  58. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/commands/zone.py +0 -0
  59. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/config.py +0 -0
  60. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/dirs.py +0 -0
  61. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/errorbuilder.py +0 -0
  62. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/exceptions.py +0 -0
  63. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/help_formatter.py +0 -0
  64. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/log.py +0 -0
  65. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/main.py +0 -0
  66. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/outputmanager.py +0 -0
  67. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/prompt.py +0 -0
  68. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/py.typed +0 -0
  69. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/tags.txt +0 -0
  70. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/tokenfile.py +0 -0
  71. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/types.py +0 -0
  72. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/utilities/__init__.py +0 -0
  73. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/utilities/fs.py +0 -0
  74. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/utilities/shared.py +0 -0
  75. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli/utilities/validators.py +0 -0
  76. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/dependency_links.txt +0 -0
  77. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/entry_points.txt +0 -0
  78. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/requires.txt +0 -0
  79. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/mreg_cli.egg-info/top_level.txt +0 -0
  80. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/pyproject.toml +0 -0
  81. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/run.py +0 -0
  82. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/setup.cfg +0 -0
  83. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/__init__.py +0 -0
  84. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/api/__init__.py +0 -0
  85. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/api/test_fields.py +0 -0
  86. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/api/test_models.py +0 -0
  87. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/commands/__init__.py +0 -0
  88. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/commands/test_host.py +0 -0
  89. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/conftest.py +0 -0
  90. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_cache.py +0 -0
  91. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_config.py +0 -0
  92. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_errorbuilder.py +0 -0
  93. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_outputmanager.py +0 -0
  94. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_prompt.py +0 -0
  95. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_tokenfile.py +0 -0
  96. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/test_types.py +0 -0
  97. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/utilities/__init__.py +0 -0
  98. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/utilities/test_api.py +0 -0
  99. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tests/utilities/test_fs.py +0 -0
  100. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/tox.ini +0 -0
  101. {mreg_cli-1.8.2 → mreg_cli-1.8.3}/uv.lock +0 -0
@@ -1,4 +1,11 @@
1
- on: [push, pull_request]
1
+ on:
2
+ push:
3
+ pull_request:
4
+ workflow_dispatch:
5
+ inputs:
6
+ mreg_image:
7
+ description: "MREG Docker image to use for testing"
8
+ required: false
2
9
 
3
10
  env:
4
11
  UV_FROZEN: 1
@@ -12,9 +19,9 @@ jobs:
12
19
  matrix:
13
20
  os: [ubuntu-22.04]
14
21
  python-version:
15
- - '3.11'
16
- - '3.12'
17
- - '3.13'
22
+ - "3.11"
23
+ - "3.12"
24
+ - "3.13"
18
25
  env:
19
26
  # Disable colors and formatting in Rich console output
20
27
  TERM: dumb
@@ -22,7 +29,7 @@ jobs:
22
29
  - name: Checkout
23
30
  uses: actions/checkout@v4
24
31
  - name: Test and compare api calls
25
- run: ci/run_testsuite_and_record_V2.sh ${{ matrix.python-version }}
32
+ run: ci/run_testsuite_and_record_V2.sh ${{ matrix.python-version }} ${{ github.event.inputs.mreg_image }}
26
33
 
27
34
  tox:
28
35
  name: tox
@@ -51,8 +58,8 @@ jobs:
51
58
  - uses: actions/checkout@v4
52
59
  - uses: DavidAnson/markdownlint-cli2-action@v18
53
60
  with:
54
- config: '.markdownlint.json'
55
- globs: '**/*.md'
61
+ config: ".markdownlint.json"
62
+ globs: "**/*.md"
56
63
 
57
64
  unit:
58
65
  name: Unit tests
@@ -63,7 +70,7 @@ jobs:
63
70
  python-version:
64
71
  - "3.11"
65
72
  - "3.12"
66
- - '3.13'
73
+ - "3.13"
67
74
  steps:
68
75
  - uses: actions/checkout@v4
69
76
  - name: Install uv
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  <!-- ## Unreleased -->
9
9
 
10
+ ## [1.8.3](https://github.com/unioslo/mreg-cli/releases/tag/1.8.3) - 2026-02-03
11
+
12
+ ### Added
13
+
14
+ - `host add_contact <host> <contact> [<contact> ...]` command to add one or more contacts to a host.
15
+ - `host remove_contact <host> <contact> [<contact> ...]` command to remove one or more contacts from a host.
16
+ - `host unset_contact <host> [-force]` command to remove all contacts from a host.
17
+ - `network community_list -sort <name|global>` option to sort communities by name or global name (defaults to name).
18
+
19
+ ### Changed
20
+
21
+ - `host set_contact <host> <contact> [<contact> ...]` command now accepts multiple contacts to set at once, replacing all existing contacts.
22
+ - `host add -contact` option now accepts multiple arguments.
23
+
10
24
  ## [1.8.2](https://github.com/unioslo/mreg-cli/releases/tag/1.8.2) - 2026-01-06
11
25
 
12
26
  <!-- NOTE: 1.8.1 skipped in changelog due to Github release issues that required creating a separate 1.8.1 release for PyPI. -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mreg-cli
3
- Version: 1.8.2
3
+ Version: 1.8.3
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>
@@ -13,7 +13,7 @@ services:
13
13
  start_period: 5s
14
14
 
15
15
  mreg:
16
- image: ghcr.io/unioslo/mreg:master
16
+ image: ${MREG_IMAGE:?MREG_IMAGE environment variable not set}
17
17
  container_name: mreg
18
18
  depends_on:
19
19
  postgres:
@@ -42,16 +42,25 @@ if [ ! -z "$1" ]; then
42
42
  fi
43
43
  echo "Python version $PYTHON_VERSION"
44
44
 
45
+ # get mreg image in order of argument > environment variable > default
46
+ if [ -n "$2" ]; then
47
+ MREG_IMAGE=$2
48
+ elif [ -z "$MREG_IMAGE" ]; then
49
+ MREG_IMAGE="ghcr.io/unioslo/mreg:master"
50
+ fi
51
+ export MREG_IMAGE
52
+
53
+ if [[ -n "$GITHUB_ACTIONS" ]]; then
54
+ echo "::notice::Using MREG image: $MREG_IMAGE"
55
+ else
56
+ echo "Using MREG image: $MREG_IMAGE"
57
+ fi
58
+
45
59
  # build a container image for mreg-cli
46
60
  docker build -f Dockerfile -t mreg-cli --build-arg python_version=$PYTHON_VERSION ..
47
61
 
48
62
  # start mreg+postgres in containers
49
63
  if [[ -n "$GITHUB_ACTIONS" ]]; then
50
- if [[ "$PODMAN" == "1" ]]; then
51
- docker compose $GH_PARAMS pull >/dev/null 2>&1
52
- else
53
- docker compose $GH_PARAMS pull --quiet
54
- fi
55
64
  docker compose $GH_PARAMS up -d
56
65
  else
57
66
  docker compose up -d