diff options
| author | omnom62 <75066712+omnom62@users.noreply.github.com> | 2026-04-08 05:18:50 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-08 05:18:50 +1000 |
| commit | cf76cff9a8f56dad3d65aab8e34dda8b4d94d95a (patch) | |
| tree | 0bbf1e38e029e2cbd141addedd2a01f8c05dfaf0 | |
| parent | 6b8c182fbfac73128588b8a0e50816cc8b099616 (diff) | |
| parent | 16e6f21de8e90833e2284aeab6cd39d2e1482155 (diff) | |
| download | vyos.vyos-cf76cff9a8f56dad3d65aab8e34dda8b4d94d95a.tar.gz vyos.vyos-cf76cff9a8f56dad3d65aab8e34dda8b4d94d95a.zip | |
Merge branch 'main' into dependabot/github_actions/ansible/team-devtools/dot-github/workflows/ah_token_refresh.yml-26.2.0
| -rw-r--r-- | changelogs/fragments/T8205_vyos_user_aggregate_fix.yml | 3 | ||||
| -rw-r--r-- | plugins/modules/vyos_user.py | 2 | ||||
| -rw-r--r-- | tests/unit/modules/network/vyos/test_vyos_user.py | 40 |
3 files changed, 45 insertions, 0 deletions
diff --git a/changelogs/fragments/T8205_vyos_user_aggregate_fix.yml b/changelogs/fragments/T8205_vyos_user_aggregate_fix.yml new file mode 100644 index 00000000..b9f5dead --- /dev/null +++ b/changelogs/fragments/T8205_vyos_user_aggregate_fix.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - plugins/modules/vyos_user.py - Fix aggregate option when extra user properties are defined diff --git a/plugins/modules/vyos_user.py b/plugins/modules/vyos_user.py index 7aaa45ae..d2f23509 100644 --- a/plugins/modules/vyos_user.py +++ b/plugins/modules/vyos_user.py @@ -363,6 +363,8 @@ def get_param_value(key, item, module): # if key doesn't exist in the item, get it from module.params if not item.get(key): value = module.params[key] + else: + value = item.get(key) # validate the param value (if validator func exists) validator = globals().get("validate_%s" % key) diff --git a/tests/unit/modules/network/vyos/test_vyos_user.py b/tests/unit/modules/network/vyos/test_vyos_user.py index e8c50783..d1e7f162 100644 --- a/tests/unit/modules/network/vyos/test_vyos_user.py +++ b/tests/unit/modules/network/vyos/test_vyos_user.py @@ -237,3 +237,43 @@ class TestVyosUserModule(TestVyosModule): ), ) result = self.execute_module(changed=False) + + def test_vyos_user_aggregate_with_public_keys(self): + set_module_args( + dict( + aggregate=[ + dict( + name="user1", + public_keys=[ + dict( + name="user1@host1", + key="AAAAC3NzaC1lZDI1NTE5AAAAIFIR0jrMvBdmvTJNY5EDhOD+eixvbOinhY1eBU2u", + type="ssh-ed25519", + ), + ], + ), + dict( + name="user2", + public_keys=[ + dict( + name="user2@host2", + key="AAAAC3NzaC1lZDI1NTE5AAAAIFIR0jrMvBdmvTJNY5EDhOD+eixvbOinhY1eBU2u", + type="ssh-ed25519", + ), + ], + ), + ], + ), + ) + result = self.execute_module(changed=True) + self.assertEqual( + sorted(result["commands"]), + sorted( + [ + "set system login user user1 authentication public-keys user1@host1 key 'AAAAC3NzaC1lZDI1NTE5AAAAIFIR0jrMvBdmvTJNY5EDhOD+eixvbOinhY1eBU2u'", + "set system login user user1 authentication public-keys user1@host1 type 'ssh-ed25519'", + "set system login user user2 authentication public-keys user2@host2 key 'AAAAC3NzaC1lZDI1NTE5AAAAIFIR0jrMvBdmvTJNY5EDhOD+eixvbOinhY1eBU2u'", + "set system login user user2 authentication public-keys user2@host2 type 'ssh-ed25519'", + ], + ), + ) |
