Skip to content

Commit fa91fd6

Browse files
author
Rolf Offermanns
committed
feat(api): Add API integration for group service account access tokens
1 parent 1f5309e commit fa91fd6

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

gitlab/v4/objects/service_accounts.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,23 @@
1919
]
2020

2121

22+
class GroupServiceAccountAccessToken(ObjectRotateMixin, RESTObject):
23+
pass
24+
25+
26+
class GroupServiceAccountAccessTokenManager(
27+
CreateMixin[GroupServiceAccountAccessToken],
28+
RotateMixin[GroupServiceAccountAccessToken],
29+
):
30+
_path = "/groups/{group_id}/service_accounts/{user_id}/personal_access_tokens"
31+
_obj_cls = GroupServiceAccountAccessToken
32+
_from_parent_attrs = {"group_id": "group_id", "user_id": "id"}
33+
_create_attrs = RequiredOptional(
34+
required=("name", "scopes"), optional=("expires_at",)
35+
)
36+
_types = {"scopes": ArrayAttribute}
37+
38+
2239
class ServiceAccount(RESTObject):
2340
pass
2441

@@ -30,6 +47,7 @@ class ServiceAccountManager(CreateMixin[ServiceAccount], ListMixin[ServiceAccoun
3047

3148

3249
class GroupServiceAccount(ObjectDeleteMixin, RESTObject):
50+
access_tokens: GroupServiceAccountAccessTokenManager
3351
pass
3452

3553

@@ -42,20 +60,3 @@ class GroupServiceAccountManager(
4260
_obj_cls = GroupServiceAccount
4361
_from_parent_attrs = {"group_id": "id"}
4462
_create_attrs = RequiredOptional(optional=("name", "username"))
45-
46-
47-
class GroupServiceAccountAccessToken(ObjectRotateMixin, RESTObject):
48-
pass
49-
50-
51-
class GroupServiceAccountAccessTokenManager(
52-
CreateMixin[GroupServiceAccountAccessToken],
53-
RotateMixin[GroupServiceAccountAccessToken],
54-
):
55-
_path = "/groups/{group_id}/service_accounts/{user_id}/personal_access_tokens"
56-
_obj_cls = GroupServiceAccountAccessToken
57-
_from_parent_attrs = {"group_id": "id", "user_id": "user_id"}
58-
_create_attrs = RequiredOptional(
59-
required=("name", "scopes"), optional=("expires_at",)
60-
)
61-
_types = {"scopes": ArrayAttribute}

0 commit comments

Comments
 (0)