1+ from typing import Any , cast , Union
2+
13from gitlab import types
24from gitlab .base import RequiredOptional , RESTManager , RESTObject
3- from gitlab .mixins import CreateMixin , DeleteMixin , ListMixin , ObjectDeleteMixin
5+ from gitlab .mixins import (
6+ CreateMixin ,
7+ DeleteMixin ,
8+ ListMixin ,
9+ ObjectDeleteMixin ,
10+ RetrieveMixin ,
11+ )
412
513__all__ = [
614 "DeployToken" ,
@@ -25,7 +33,7 @@ class GroupDeployToken(ObjectDeleteMixin, RESTObject):
2533 pass
2634
2735
28- class GroupDeployTokenManager (ListMixin , CreateMixin , DeleteMixin , RESTManager ):
36+ class GroupDeployTokenManager (RetrieveMixin , CreateMixin , DeleteMixin , RESTManager ):
2937 _path = "/groups/{group_id}/deploy_tokens"
3038 _from_parent_attrs = {"group_id" : "id" }
3139 _obj_cls = GroupDeployToken
@@ -41,12 +49,17 @@ class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager):
4149 )
4250 _types = {"scopes" : types .CommaSeparatedListAttribute }
4351
52+ def get (
53+ self , id : Union [str , int ], lazy : bool = False , ** kwargs : Any
54+ ) -> GroupDeployToken :
55+ return cast (GroupDeployToken , super ().get (id = id , lazy = lazy , ** kwargs ))
56+
4457
4558class ProjectDeployToken (ObjectDeleteMixin , RESTObject ):
4659 pass
4760
4861
49- class ProjectDeployTokenManager (ListMixin , CreateMixin , DeleteMixin , RESTManager ):
62+ class ProjectDeployTokenManager (RetrieveMixin , CreateMixin , DeleteMixin , RESTManager ):
5063 _path = "/projects/{project_id}/deploy_tokens"
5164 _from_parent_attrs = {"project_id" : "id" }
5265 _obj_cls = ProjectDeployToken
@@ -61,3 +74,8 @@ class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager
6174 ),
6275 )
6376 _types = {"scopes" : types .CommaSeparatedListAttribute }
77+
78+ def get (
79+ self , id : Union [str , int ], lazy : bool = False , ** kwargs : Any
80+ ) -> ProjectDeployToken :
81+ return cast (ProjectDeployToken , super ().get (id = id , lazy = lazy , ** kwargs ))
0 commit comments