8000 feat(api): Add API integration for group service account access tokens · python-gitlab/python-gitlab@c968911 · GitHub
[go: up one dir, main page]

Skip to content

Commit c968911

Browse files
Rolf OffermannsJohnVillalovos
authored andcommitted
feat(api): Add API integration for group service account access tokens
1 parent f256bcc commit c968911

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

gitlab/v4/objects/service_accounts.py

Lines changed: 18 additions & 18 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,7 +47,7 @@ class ServiceAccountManager(CreateMixin[ServiceAccount], ListMixin[ServiceAccoun
3047

3148

3249
class GroupServiceAccount(ObjectDeleteMixin, RESTObject):
33-
pass
50+
access_tokens: GroupServiceAccountAccessTokenManager
3451

3552

3653
class GroupServiceAccountManager(
@@ -42,20 +59,3 @@ class GroupServiceAccountManager(
4259
_obj_cls = GroupServiceAccount
4360
_from_parent_attrs = {"group_id": "id"}
4461
_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)
0