19
19
]
20
20
21
21
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
+
22
39
class ServiceAccount (RESTObject ):
23
40
pass
24
41
@@ -30,6 +47,7 @@ class ServiceAccountManager(CreateMixin[ServiceAccount], ListMixin[ServiceAccoun
30
47
31
48
32
49
class GroupServiceAccount (ObjectDeleteMixin , RESTObject ):
50
+ access_tokens : GroupServiceAccountAccessTokenManager
33
51
pass
34
52
35
53
@@ -42,20 +60,3 @@ class GroupServiceAccountManager(
42
60
_obj_cls = GroupServiceAccount
43
61
_from_parent_attrs = {"group_id" : "id" }
44
62
_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