diff options
author | ayoub mrini <amrini@wiremind.fr> | 2020-03-19 23:30:40 +0100 |
---|---|---|
committer | ayoub mrini <amrini@wiremind.fr> | 2020-04-06 20:52:35 +0200 |
commit | 01de524ce39a67b549b3157bf4de827dd0568d6b (patch) | |
tree | e195869989b88b998ab0452ac8572c02895db396 /gitlab/v4/objects.py | |
parent | c5904c4c2e79ec302ff0de20bcb2792be4924bbe (diff) | |
download | gitlab-01de524ce39a67b549b3157bf4de827dd0568d6b.tar.gz |
feat(api): add support for Gitlab Deploy Token API
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r-- | gitlab/v4/objects.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 8852a1e..116c7ec 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -695,6 +695,43 @@ class DeployKeyManager(ListMixin, RESTManager): _obj_cls = DeployKey +class DeployToken(ObjectDeleteMixin, RESTObject): + pass + + +class DeployTokenManager(ListMixin, RESTManager): + _path = "/deploy_tokens" + _obj_cls = DeployToken + + +class ProjectDeployToken(ObjectDeleteMixin, RESTObject): + pass + + +class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): + _path = "/projects/%(project_id)s/deploy_tokens" + _from_parent_attrs = {"project_id": "id"} + _obj_cls = ProjectDeployToken + _create_attrs = ( + ("name", "scopes",), + ("expires_at", "username",), + ) + + +class GroupDeployToken(ObjectDeleteMixin, RESTObject): + pass + + +class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): + _path = "/groups/%(group_id)s/deploy_tokens" + _from_parent_attrs = {"group_id": "id"} + _obj_cls = GroupDeployToken + _create_attrs = ( + ("name", "scopes",), + ("expires_at", "username",), + ) + + class NotificationSettings(SaveMixin, RESTObject): _id_attr = None @@ -1301,6 +1338,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject): ("subgroups", "GroupSubgroupManager"), ("variables", "GroupVariableManager"), ("clusters", "GroupClusterManager"), + ("deploytokens", "GroupDeployTokenManager"), ) @cli.register_custom_action("Group", ("to_project_id",)) @@ -4212,6 +4250,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject): ("clusters", "ProjectClusterManager"), ("additionalstatistics", "ProjectAdditionalStatisticsManager"), ("issuesstatistics", "ProjectIssuesStatisticsManager"), + ("deploytokens", "ProjectDeployTokenManager"), ) @cli.register_custom_action("Project", ("submodule", "branch", "commit_sha")) |