summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-11-05 07:54:09 +0100
committerGauvain Pocentek <gauvain@pocentek.net>2016-11-05 07:54:09 +0100
commit0c1817f8be113a949218332a61655a1a835248c5 (patch)
treeb129d02c7879be60458ffec6ed5381d117c8a6cc
parent12fca8409156b910cab0240bf77726a0b0bca1e0 (diff)
parent6bedfc32e1f35e21ab3f1c6f0a2cf5c66b06a95e (diff)
downloadgitlab-0c1817f8be113a949218332a61655a1a835248c5.tar.gz
Merge branch 'master-project-deploy-keys' of https://github.com/Asher256/python-gitlab into Asher256-master-project-deploy-keys
-rw-r--r--docs/gl_objects/deploy_keys.py8
-rw-r--r--docs/gl_objects/deploy_keys.rst12
-rw-r--r--gitlab/exceptions.py4
-rw-r--r--gitlab/objects.py12
4 files changed, 36 insertions, 0 deletions
diff --git a/docs/gl_objects/deploy_keys.py b/docs/gl_objects/deploy_keys.py
index 7a69fa3..40da95c 100644
--- a/docs/gl_objects/deploy_keys.py
+++ b/docs/gl_objects/deploy_keys.py
@@ -34,3 +34,11 @@ key = project.keys.list(key_id)
# or
key.delete()
# end delete
+
+# enable
+key = project.keys.enable(key_id)
+# end enable
+
+# disable
+key = project.keys.disable(key_id)
+# end disable
diff --git a/docs/gl_objects/deploy_keys.rst b/docs/gl_objects/deploy_keys.rst
index e67e2c1..57c1298 100644
--- a/docs/gl_objects/deploy_keys.rst
+++ b/docs/gl_objects/deploy_keys.rst
@@ -56,3 +56,15 @@ Delete a deploy key for a project:
.. literalinclude:: deploy_keys.py
:start-after: # delete
:end-before: # end delete
+
+Enable a deploy key for a project:
+
+.. literalinclude:: deploy_keys.py
+ :start-after: # enable
+ :end-before: # end enable
+
+Disable a deploy key for a project:
+
+.. literalinclude:: deploy_keys.py
+ :start-after: # disable
+ :end-before: # end disable
diff --git a/gitlab/exceptions.py b/gitlab/exceptions.py
index 733551f..1d1f477 100644
--- a/gitlab/exceptions.py
+++ b/gitlab/exceptions.py
@@ -75,6 +75,10 @@ class GitlabTransferProjectError(GitlabOperationError):
pass
+class GitlabProjectDeployKeyError(GitlabOperationError):
+ pass
+
+
class GitlabCancelError(GitlabOperationError):
pass
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 23887c4..48dd257 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -1253,6 +1253,18 @@ class ProjectKey(GitlabObject):
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.parent.id, key_id)
+ r = self.gitlab._raw_post(url)
+ raise_error_from_response(r, GitlabProjectDeployKeyError, 201)
+
+ def disable(self, key_id):
+ """Disable a deploy key for a project."""
+ url = '/projects/%s/deploy_keys/%s/disable' % (self.parent.id, key_id)
+ r = self.gitlab._raw_delete(url)
+ raise_error_from_response(r, GitlabProjectDeployKeyError, 201)
+
class ProjectEvent(GitlabObject):
_url = '/projects/%(project_id)s/events'