summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2017-02-04 08:54:55 +0100
committerGauvain Pocentek <gauvain@pocentek.net>2017-02-04 08:58:54 +0100
commit492a75121375059a66accbbbd6af433acf6d7106 (patch)
treecaec79591c0a886dd035384d476de86fb9e22d33 /gitlab
parentdad134556dd624243c85b5f61a40cc893357492d (diff)
downloadgitlab-492a75121375059a66accbbbd6af433acf6d7106.tar.gz
Deploy keys: rework enable/disable
The method have been moved to the keys manager class as they don't make sens at all on the project keys themselves. Update doc and add tests. Fixes #196
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/objects.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 846da20..1ea3049 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -1366,24 +1366,23 @@ class ProjectKey(GitlabObject):
requiredUrlAttrs = ['project_id']
requiredCreateAttrs = ['title', 'key']
- def enable(self):
+
+class ProjectKeyManager(BaseManager):
+ obj_cls = ProjectKey
+
+ def enable(self, key_id):
"""Enable a deploy key for a project."""
- url = '/projects/%s/deploy_keys/%s/enable' % (self.project_id, self.id)
+ url = '/projects/%s/deploy_keys/%s/enable' % (self.parent.id, key_id)
r = self.gitlab._raw_post(url)
raise_error_from_response(r, GitlabProjectDeployKeyError, 201)
- def disable(self):
+ def disable(self, key_id):
"""Disable a deploy key for a project."""
- url = '/projects/%s/deploy_keys/%s/disable' % (self.project_id,
- self.id)
+ url = '/projects/%s/deploy_keys/%s/disable' % (self.parent.id, key_id)
r = self.gitlab._raw_delete(url)
raise_error_from_response(r, GitlabProjectDeployKeyError, 200)
-class ProjectKeyManager(BaseManager):
- obj_cls = ProjectKey
-
-
class ProjectEvent(GitlabObject):
_url = '/projects/%(project_id)s/events'
canGet = 'from_list'