diff options
Diffstat (limited to 'gitlab/v4/objects/keys.py')
-rw-r--r-- | gitlab/v4/objects/keys.py | 26 |
1 files changed, 26 insertions, 0 deletions
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) |