week06
This commit is contained in:
84
env/lib/python3.12/site-packages/gitlab/v4/objects/deploy_tokens.py
vendored
Normal file
84
env/lib/python3.12/site-packages/gitlab/v4/objects/deploy_tokens.py
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
from typing import Any, cast, Union
|
||||
|
||||
from gitlab import types
|
||||
from gitlab.base import RESTManager, RESTObject
|
||||
from gitlab.mixins import (
|
||||
CreateMixin,
|
||||
DeleteMixin,
|
||||
ListMixin,
|
||||
ObjectDeleteMixin,
|
||||
RetrieveMixin,
|
||||
)
|
||||
from gitlab.types import RequiredOptional
|
||||
|
||||
__all__ = [
|
||||
"DeployToken",
|
||||
"DeployTokenManager",
|
||||
"GroupDeployToken",
|
||||
"GroupDeployTokenManager",
|
||||
"ProjectDeployToken",
|
||||
"ProjectDeployTokenManager",
|
||||
]
|
||||
|
||||
|
||||
class DeployToken(ObjectDeleteMixin, RESTObject):
|
||||
pass
|
||||
|
||||
|
||||
class DeployTokenManager(ListMixin, RESTManager):
|
||||
_path = "/deploy_tokens"
|
||||
_obj_cls = DeployToken
|
||||
|
||||
|
||||
class GroupDeployToken(ObjectDeleteMixin, RESTObject):
|
||||
pass
|
||||
|
||||
|
||||
class GroupDeployTokenManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager):
|
||||
_path = "/groups/{group_id}/deploy_tokens"
|
||||
_from_parent_attrs = {"group_id": "id"}
|
||||
_obj_cls = GroupDeployToken
|
||||
_create_attrs = RequiredOptional(
|
||||
required=(
|
||||
"name",
|
||||
"scopes",
|
||||
),
|
||||
optional=(
|
||||
"expires_at",
|
||||
"username",
|
||||
),
|
||||
)
|
||||
_list_filters = ("scopes",)
|
||||
_types = {"scopes": types.ArrayAttribute}
|
||||
|
||||
def get(
|
||||
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
|
||||
) -> GroupDeployToken:
|
||||
return cast(GroupDeployToken, super().get(id=id, lazy=lazy, **kwargs))
|
||||
|
||||
|
||||
class ProjectDeployToken(ObjectDeleteMixin, RESTObject):
|
||||
pass
|
||||
|
||||
|
||||
class ProjectDeployTokenManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager):
|
||||
_path = "/projects/{project_id}/deploy_tokens"
|
||||
_from_parent_attrs = {"project_id": "id"}
|
||||
_obj_cls = ProjectDeployToken
|
||||
_create_attrs = RequiredOptional(
|
||||
required=(
|
||||
"name",
|
||||
"scopes",
|
||||
),
|
||||
optional=(
|
||||
"expires_at",
|
||||
"username",
|
||||
),
|
||||
)
|
||||
_list_filters = ("scopes",)
|
||||
_types = {"scopes": types.ArrayAttribute}
|
||||
|
||||
def get(
|
||||
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
|
||||
) -> ProjectDeployToken:
|
||||
return cast(ProjectDeployToken, super().get(id=id, lazy=lazy, **kwargs))
|
Reference in New Issue
Block a user