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+
2239class ServiceAccount (RESTObject ):
2340 pass
2441
@@ -30,6 +47,7 @@ class ServiceAccountManager(CreateMixin[ServiceAccount], ListMixin[ServiceAccoun
3047
3148
3249class 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