diff options
author | Ben Brown <ben.brown@codethink.co.uk> | 2021-05-25 14:14:18 +0100 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2021-06-03 09:22:10 +0100 |
commit | a81525a2377aaed797af0706b00be7f5d8616d22 (patch) | |
tree | df32c795081135a1f7abde8500b72c382f68c9b9 /gitlab | |
parent | 74f5e62ef5bfffc7ba21494d05dbead60b59ecf0 (diff) | |
download | gitlab-a81525a2377aaed797af0706b00be7f5d8616d22.tar.gz |
feat: add keys endpoint
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/client.py | 1 | ||||
-rw-r--r-- | gitlab/v4/objects/__init__.py | 1 | ||||
-rw-r--r-- | gitlab/v4/objects/keys.py | 26 |
3 files changed, 28 insertions, 0 deletions
diff --git a/gitlab/client.py b/gitlab/client.py index d19acfb..f628d4f 100644 --- a/gitlab/client.py +++ b/gitlab/client.py @@ -119,6 +119,7 @@ class Gitlab(object): self.hooks = objects.HookManager(self) self.issues = objects.IssueManager(self) self.issues_statistics = objects.IssuesStatisticsManager(self) + self.keys = objects.KeyManager(self) self.ldapgroups = objects.LDAPGroupManager(self) self.licenses = objects.LicenseManager(self) self.namespaces = objects.NamespaceManager(self) diff --git a/gitlab/v4/objects/__init__.py b/gitlab/v4/objects/__init__.py index 3317396..2dd7973 100644 --- a/gitlab/v4/objects/__init__.py +++ b/gitlab/v4/objects/__init__.py @@ -43,6 +43,7 @@ from .groups import * from .hooks import * from .issues import * from .jobs import * +from .keys import * from .labels import * from .ldap import * from .members import * diff --git a/gitlab/v4/objects/keys.py b/gitlab/v4/objects/keys.py new file mode 100644 index 0000000..7f8fa0e --- /dev/null +++ b/gitlab/v4/objects/keys.py @@ -0,0 +1,26 @@ +from gitlab.base import RESTManager, RESTObject +from gitlab.mixins import GetMixin + +__all__ = [ + "Key", + "KeyManager", +] + + +class Key(RESTObject): + pass + + +class KeyManager(GetMixin, RESTManager): + _path = "/keys" + _obj_cls = Key + + def get(self, id=None, **kwargs): + if id is not None: + return super(KeyManager, self).get(id, **kwargs) + + if "fingerprint" not in kwargs: + raise AttributeError("Missing attribute: id or fingerprint") + + server_data = self.gitlab.http_get(self.path, **kwargs) + return self._obj_cls(self, server_data) |