metal-stack-api 0.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. buf/__init__.py +0 -0
  2. buf/validate/__init__.py +0 -0
  3. buf/validate/validate_pb2.py +450 -0
  4. buf/validate/validate_pb2.pyi +631 -0
  5. buf/validate/validate_pb2_grpc.py +4 -0
  6. metal_stack_api-0.0.3.dist-info/METADATA +26 -0
  7. metal_stack_api-0.0.3.dist-info/RECORD +107 -0
  8. metal_stack_api-0.0.3.dist-info/WHEEL +5 -0
  9. metal_stack_api-0.0.3.dist-info/top_level.txt +2 -0
  10. metalstack/__init__.py +0 -0
  11. metalstack/admin/__init__.py +0 -0
  12. metalstack/admin/v2/__init__.py +0 -0
  13. metalstack/admin/v2/filesystem_connecpy.py +214 -0
  14. metalstack/admin/v2/filesystem_pb2.py +60 -0
  15. metalstack/admin/v2/filesystem_pb2.pyi +45 -0
  16. metalstack/admin/v2/filesystem_pb2_grpc.py +169 -0
  17. metalstack/admin/v2/image_connecpy.py +270 -0
  18. metalstack/admin/v2/image_pb2.py +66 -0
  19. metalstack/admin/v2/image_pb2.pyi +58 -0
  20. metalstack/admin/v2/image_pb2_grpc.py +213 -0
  21. metalstack/admin/v2/ip_connecpy.py +158 -0
  22. metalstack/admin/v2/ip_pb2.py +53 -0
  23. metalstack/admin/v2/ip_pb2.pyi +39 -0
  24. metalstack/admin/v2/ip_pb2_grpc.py +125 -0
  25. metalstack/admin/v2/network_connecpy.py +326 -0
  26. metalstack/admin/v2/network_pb2.py +104 -0
  27. metalstack/admin/v2/network_pb2.pyi +122 -0
  28. metalstack/admin/v2/network_pb2_grpc.py +257 -0
  29. metalstack/admin/v2/partition_connecpy.py +270 -0
  30. metalstack/admin/v2/partition_pb2.py +72 -0
  31. metalstack/admin/v2/partition_pb2.pyi +90 -0
  32. metalstack/admin/v2/partition_pb2_grpc.py +213 -0
  33. metalstack/admin/v2/size_connecpy.py +214 -0
  34. metalstack/admin/v2/size_pb2.py +66 -0
  35. metalstack/admin/v2/size_pb2.pyi +54 -0
  36. metalstack/admin/v2/size_pb2_grpc.py +169 -0
  37. metalstack/admin/v2/tenant_connecpy.py +158 -0
  38. metalstack/admin/v2/tenant_pb2.py +58 -0
  39. metalstack/admin/v2/tenant_pb2.pyi +50 -0
  40. metalstack/admin/v2/tenant_pb2_grpc.py +125 -0
  41. metalstack/admin/v2/token_connecpy.py +158 -0
  42. metalstack/admin/v2/token_pb2.py +56 -0
  43. metalstack/admin/v2/token_pb2.pyi +34 -0
  44. metalstack/admin/v2/token_pb2_grpc.py +125 -0
  45. metalstack/api/__init__.py +0 -0
  46. metalstack/api/v2/__init__.py +0 -0
  47. metalstack/api/v2/common_pb2.py +66 -0
  48. metalstack/api/v2/common_pb2.pyi +128 -0
  49. metalstack/api/v2/common_pb2_grpc.py +4 -0
  50. metalstack/api/v2/filesystem_connecpy.py +270 -0
  51. metalstack/api/v2/filesystem_pb2.py +167 -0
  52. metalstack/api/v2/filesystem_pb2.pyi +229 -0
  53. metalstack/api/v2/filesystem_pb2_grpc.py +213 -0
  54. metalstack/api/v2/health_connecpy.py +102 -0
  55. metalstack/api/v2/health_pb2.py +70 -0
  56. metalstack/api/v2/health_pb2.pyi +80 -0
  57. metalstack/api/v2/health_pb2_grpc.py +81 -0
  58. metalstack/api/v2/image_connecpy.py +214 -0
  59. metalstack/api/v2/image_pb2.py +106 -0
  60. metalstack/api/v2/image_pb2.pyi +115 -0
  61. metalstack/api/v2/image_pb2_grpc.py +169 -0
  62. metalstack/api/v2/ip_connecpy.py +326 -0
  63. metalstack/api/v2/ip_pb2.py +159 -0
  64. metalstack/api/v2/ip_pb2.pyi +170 -0
  65. metalstack/api/v2/ip_pb2_grpc.py +257 -0
  66. metalstack/api/v2/methods_connecpy.py +158 -0
  67. metalstack/api/v2/methods_pb2.py +62 -0
  68. metalstack/api/v2/methods_pb2.pyi +50 -0
  69. metalstack/api/v2/methods_pb2_grpc.py +128 -0
  70. metalstack/api/v2/network_connecpy.py +382 -0
  71. metalstack/api/v2/network_pb2.py +191 -0
  72. metalstack/api/v2/network_pb2.pyi +247 -0
  73. metalstack/api/v2/network_pb2_grpc.py +301 -0
  74. metalstack/api/v2/partition_connecpy.py +158 -0
  75. metalstack/api/v2/partition_pb2.py +81 -0
  76. metalstack/api/v2/partition_pb2.pyi +79 -0
  77. metalstack/api/v2/partition_pb2_grpc.py +125 -0
  78. metalstack/api/v2/project_connecpy.py +718 -0
  79. metalstack/api/v2/project_pb2.py +156 -0
  80. metalstack/api/v2/project_pb2.pyi +230 -0
  81. metalstack/api/v2/project_pb2_grpc.py +565 -0
  82. metalstack/api/v2/size_connecpy.py +158 -0
  83. metalstack/api/v2/size_pb2.py +85 -0
  84. metalstack/api/v2/size_pb2.pyi +85 -0
  85. metalstack/api/v2/size_pb2_grpc.py +125 -0
  86. metalstack/api/v2/tenant_connecpy.py +718 -0
  87. metalstack/api/v2/tenant_pb2.py +140 -0
  88. metalstack/api/v2/tenant_pb2.pyi +236 -0
  89. metalstack/api/v2/tenant_pb2_grpc.py +565 -0
  90. metalstack/api/v2/token_connecpy.py +326 -0
  91. metalstack/api/v2/token_pb2.py +143 -0
  92. metalstack/api/v2/token_pb2.pyi +175 -0
  93. metalstack/api/v2/token_pb2_grpc.py +257 -0
  94. metalstack/api/v2/user_connecpy.py +102 -0
  95. metalstack/api/v2/user_pb2.py +48 -0
  96. metalstack/api/v2/user_pb2.pyi +38 -0
  97. metalstack/api/v2/user_pb2_grpc.py +81 -0
  98. metalstack/api/v2/version_connecpy.py +102 -0
  99. metalstack/api/v2/version_pb2.py +46 -0
  100. metalstack/api/v2/version_pb2.pyi +29 -0
  101. metalstack/api/v2/version_pb2_grpc.py +81 -0
  102. metalstack/infra/__init__.py +0 -0
  103. metalstack/infra/v2/__init__.py +0 -0
  104. metalstack/infra/v2/bmc_connecpy.py +102 -0
  105. metalstack/infra/v2/bmc_pb2.py +44 -0
  106. metalstack/infra/v2/bmc_pb2.pyi +14 -0
  107. metalstack/infra/v2/bmc_pb2_grpc.py +81 -0
@@ -0,0 +1,326 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/i2y/connecpy/protoc-gen-connecpy. DO NOT EDIT!
3
+ # source: metalstack/api/v2/token.proto
4
+
5
+ from typing import Optional, Protocol, Union
6
+
7
+ import httpx
8
+
9
+ from connecpy.async_client import AsyncConnecpyClient
10
+ from connecpy.base import Endpoint
11
+ from connecpy.server import ConnecpyServer
12
+ from connecpy.client import ConnecpyClient
13
+ from connecpy.context import ClientContext, ServiceContext
14
+ import metalstack.api.v2.token_pb2 as metalstack_dot_api_dot_v2_dot_token__pb2
15
+
16
+
17
+ class TokenService(Protocol):
18
+ async def Get(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse: ...
19
+ async def Create(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse: ...
20
+ async def Update(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse: ...
21
+ async def List(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse: ...
22
+ async def Revoke(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse: ...
23
+
24
+
25
+ class TokenServiceServer(ConnecpyServer):
26
+ def __init__(self, *, service: TokenService, server_path_prefix=""):
27
+ super().__init__()
28
+ self._prefix = f"{server_path_prefix}/metalstack.api.v2.TokenService"
29
+ self._endpoints = {
30
+ "Get": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse](
31
+ service_name="TokenService",
32
+ name="Get",
33
+ function=getattr(service, "Get"),
34
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest,
35
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse,
36
+ allowed_methods=("POST",),
37
+ ),
38
+ "Create": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse](
39
+ service_name="TokenService",
40
+ name="Create",
41
+ function=getattr(service, "Create"),
42
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest,
43
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse,
44
+ allowed_methods=("POST",),
45
+ ),
46
+ "Update": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse](
47
+ service_name="TokenService",
48
+ name="Update",
49
+ function=getattr(service, "Update"),
50
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest,
51
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse,
52
+ allowed_methods=("POST",),
53
+ ),
54
+ "List": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse](
55
+ service_name="TokenService",
56
+ name="List",
57
+ function=getattr(service, "List"),
58
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest,
59
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse,
60
+ allowed_methods=("POST",),
61
+ ),
62
+ "Revoke": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse](
63
+ service_name="TokenService",
64
+ name="Revoke",
65
+ function=getattr(service, "Revoke"),
66
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest,
67
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
68
+ allowed_methods=("POST",),
69
+ ),
70
+ }
71
+
72
+ def serviceName(self):
73
+ return "metalstack.api.v2.TokenService"
74
+
75
+
76
+ class TokenServiceSync(Protocol):
77
+ def Get(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse: ...
78
+ def Create(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse: ...
79
+ def Update(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse: ...
80
+ def List(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse: ...
81
+ def Revoke(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse: ...
82
+
83
+
84
+ class TokenServiceServerSync(ConnecpyServer):
85
+ def __init__(self, *, service: TokenServiceSync, server_path_prefix=""):
86
+ super().__init__()
87
+ self._prefix = f"{server_path_prefix}/metalstack.api.v2.TokenService"
88
+ self._endpoints = {
89
+ "Get": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse](
90
+ service_name="TokenService",
91
+ name="Get",
92
+ function=getattr(service, "Get"),
93
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest,
94
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse,
95
+ allowed_methods=("POST",),
96
+ ),
97
+ "Create": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse](
98
+ service_name="TokenService",
99
+ name="Create",
100
+ function=getattr(service, "Create"),
101
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest,
102
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse,
103
+ allowed_methods=("POST",),
104
+ ),
105
+ "Update": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse](
106
+ service_name="TokenService",
107
+ name="Update",
108
+ function=getattr(service, "Update"),
109
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest,
110
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse,
111
+ allowed_methods=("POST",),
112
+ ),
113
+ "List": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse](
114
+ service_name="TokenService",
115
+ name="List",
116
+ function=getattr(service, "List"),
117
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest,
118
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse,
119
+ allowed_methods=("POST",),
120
+ ),
121
+ "Revoke": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse](
122
+ service_name="TokenService",
123
+ name="Revoke",
124
+ function=getattr(service, "Revoke"),
125
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest,
126
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
127
+ allowed_methods=("POST",),
128
+ ),
129
+ }
130
+
131
+ def serviceName(self):
132
+ return "metalstack.api.v2.TokenService"
133
+
134
+
135
+ class TokenServiceClient(ConnecpyClient):
136
+ def Get(
137
+ self,
138
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest,
139
+ *,
140
+ ctx: Optional[ClientContext] = None,
141
+ server_path_prefix: str = "",
142
+ **kwargs,
143
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse:
144
+ method = "POST"
145
+ return self._make_request(
146
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Get",
147
+ ctx=ctx,
148
+ request=request,
149
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse,
150
+ method=method,
151
+ **kwargs,
152
+ )
153
+
154
+ def Create(
155
+ self,
156
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest,
157
+ *,
158
+ ctx: Optional[ClientContext] = None,
159
+ server_path_prefix: str = "",
160
+ **kwargs,
161
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse:
162
+ method = "POST"
163
+ return self._make_request(
164
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Create",
165
+ ctx=ctx,
166
+ request=request,
167
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse,
168
+ method=method,
169
+ **kwargs,
170
+ )
171
+
172
+ def Update(
173
+ self,
174
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest,
175
+ *,
176
+ ctx: Optional[ClientContext] = None,
177
+ server_path_prefix: str = "",
178
+ **kwargs,
179
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse:
180
+ method = "POST"
181
+ return self._make_request(
182
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Update",
183
+ ctx=ctx,
184
+ request=request,
185
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse,
186
+ method=method,
187
+ **kwargs,
188
+ )
189
+
190
+ def List(
191
+ self,
192
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest,
193
+ *,
194
+ ctx: Optional[ClientContext] = None,
195
+ server_path_prefix: str = "",
196
+ **kwargs,
197
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse:
198
+ method = "POST"
199
+ return self._make_request(
200
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/List",
201
+ ctx=ctx,
202
+ request=request,
203
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse,
204
+ method=method,
205
+ **kwargs,
206
+ )
207
+
208
+ def Revoke(
209
+ self,
210
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest,
211
+ *,
212
+ ctx: Optional[ClientContext] = None,
213
+ server_path_prefix: str = "",
214
+ **kwargs,
215
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse:
216
+ method = "POST"
217
+ return self._make_request(
218
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Revoke",
219
+ ctx=ctx,
220
+ request=request,
221
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
222
+ method=method,
223
+ **kwargs,
224
+ )
225
+
226
+
227
+ class AsyncTokenServiceClient(AsyncConnecpyClient):
228
+ async def Get(
229
+ self,
230
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetRequest,
231
+ *,
232
+ ctx: Optional[ClientContext] = None,
233
+ server_path_prefix: str = "",
234
+ session: Union[httpx.AsyncClient, None] = None,
235
+ **kwargs,
236
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse:
237
+ method = "POST"
238
+ return await self._make_request(
239
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Get",
240
+ ctx=ctx,
241
+ request=request,
242
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceGetResponse,
243
+ method=method,
244
+ session=session,
245
+ **kwargs,
246
+ )
247
+
248
+ async def Create(
249
+ self,
250
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateRequest,
251
+ *,
252
+ ctx: Optional[ClientContext] = None,
253
+ server_path_prefix: str = "",
254
+ session: Union[httpx.AsyncClient, None] = None,
255
+ **kwargs,
256
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse:
257
+ method = "POST"
258
+ return await self._make_request(
259
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Create",
260
+ ctx=ctx,
261
+ request=request,
262
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceCreateResponse,
263
+ method=method,
264
+ session=session,
265
+ **kwargs,
266
+ )
267
+
268
+ async def Update(
269
+ self,
270
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest,
271
+ *,
272
+ ctx: Optional[ClientContext] = None,
273
+ server_path_prefix: str = "",
274
+ session: Union[httpx.AsyncClient, None] = None,
275
+ **kwargs,
276
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse:
277
+ method = "POST"
278
+ return await self._make_request(
279
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Update",
280
+ ctx=ctx,
281
+ request=request,
282
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse,
283
+ method=method,
284
+ session=session,
285
+ **kwargs,
286
+ )
287
+
288
+ async def List(
289
+ self,
290
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest,
291
+ *,
292
+ ctx: Optional[ClientContext] = None,
293
+ server_path_prefix: str = "",
294
+ session: Union[httpx.AsyncClient, None] = None,
295
+ **kwargs,
296
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse:
297
+ method = "POST"
298
+ return await self._make_request(
299
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/List",
300
+ ctx=ctx,
301
+ request=request,
302
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse,
303
+ method=method,
304
+ session=session,
305
+ **kwargs,
306
+ )
307
+
308
+ async def Revoke(
309
+ self,
310
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest,
311
+ *,
312
+ ctx: Optional[ClientContext] = None,
313
+ server_path_prefix: str = "",
314
+ session: Union[httpx.AsyncClient, None] = None,
315
+ **kwargs,
316
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse:
317
+ method = "POST"
318
+ return await self._make_request(
319
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Revoke",
320
+ ctx=ctx,
321
+ request=request,
322
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
323
+ method=method,
324
+ session=session,
325
+ **kwargs,
326
+ )
@@ -0,0 +1,143 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: metalstack/api/v2/token.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'metalstack/api/v2/token.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
27
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
28
+ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/token.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xba\x06\n\x05Token\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12#\n\x07user_id\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x06userId\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x0b\x64\x65scription\x12P\n\x0bpermissions\x18\x04 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionB\t\xbaH\x06\x92\x01\x03\x10\xf4\x03R\x0bpermissions\x12\x34\n\x07\x65xpires\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65xpires\x12\x37\n\tissued_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08issuedAt\x12\x45\n\ntoken_type\x18\x08 \x01(\x0e\x32\x1c.metalstack.api.v2.TokenTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\ttokenType\x12O\n\rproject_roles\x18\t \x03(\x0b\x32*.metalstack.api.v2.Token.ProjectRolesEntryR\x0cprojectRoles\x12L\n\x0ctenant_roles\x18\n \x03(\x0b\x32).metalstack.api.v2.Token.TenantRolesEntryR\x0btenantRoles\x12J\n\nadmin_role\x18\x0b \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\tadminRole\x88\x01\x01\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\r\n\x0b_admin_role\"\x82\x07\n\x19TokenServiceCreateRequest\x12,\n\x0b\x64\x65scription\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x0b\x64\x65scription\x12O\n\x0bpermissions\x18\x02 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionB\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0bpermissions\x12G\n\x07\x65xpires\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x12\xbaH\x0f\xaa\x01\x0c\x1a\x05\x08\x81\xe7\x84\x0f\x32\x03\x08\xd8\x04R\x07\x65xpires\x12\xc1\x01\n\rproject_roles\x18\x05 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceCreateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x06 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceCreateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\x0btenantRoles\x12J\n\nadmin_role\x18\x07 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\tadminRole\x88\x01\x01\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\r\n\x0b_admin_role\"]\n\x10MethodPermission\x12$\n\x07subject\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x07subject\x12#\n\x07methods\x18\x02 \x03(\tB\t\xbaH\x06\x92\x01\x03\x10\xf4\x03R\x07methods\"d\n\x1aTokenServiceCreateResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"\x19\n\x17TokenServiceListRequest\"L\n\x18TokenServiceListResponse\x12\x30\n\x06tokens\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.TokenR\x06tokens\"9\n\x19TokenServiceRevokeRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"\x1c\n\x1aTokenServiceRevokeResponse\"\xe2\x06\n\x19TokenServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x31\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x45\n\x0bpermissions\x18\x03 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionR\x0bpermissions\x12\xc1\x01\n\rproject_roles\x18\x04 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceUpdateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x05 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceUpdateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\x0btenantRoles\x12J\n\nadmin_role\x18\x06 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\tadminRole\x88\x01\x01\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\r\n\x0b_admin_role\"L\n\x1aTokenServiceUpdateResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\"6\n\x16TokenServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"I\n\x17TokenServiceGetResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token*S\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eTOKEN_TYPE_API\x10\x01\x12\x16\n\x12TOKEN_TYPE_CONSOLE\x10\x02\x32\xa0\x04\n\x0cTokenService\x12\x62\n\x03Get\x12).metalstack.api.v2.TokenServiceGetRequest\x1a*.metalstack.api.v2.TokenServiceGetResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06\x43reate\x12,.metalstack.api.v2.TokenServiceCreateRequest\x1a-.metalstack.api.v2.TokenServiceCreateResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06Update\x12,.metalstack.api.v2.TokenServiceUpdateRequest\x1a-.metalstack.api.v2.TokenServiceUpdateResponse\"\x04\xd8\xf3\x18\x03\x12\x65\n\x04List\x12*.metalstack.api.v2.TokenServiceListRequest\x1a+.metalstack.api.v2.TokenServiceListResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06Revoke\x12,.metalstack.api.v2.TokenServiceRevokeRequest\x1a-.metalstack.api.v2.TokenServiceRevokeResponse\"\x04\xd8\xf3\x18\x03\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nTokenProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.api.v2.token_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\nTokenProtoP\001Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\242\002\003MAX\252\002\021Metalstack.Api.V2\312\002\021Metalstack\\Api\\V2\342\002\035Metalstack\\Api\\V2\\GPBMetadata\352\002\023Metalstack::Api::V2'
39
+ _globals['_TOKEN_PROJECTROLESENTRY']._loaded_options = None
40
+ _globals['_TOKEN_PROJECTROLESENTRY']._serialized_options = b'8\001'
41
+ _globals['_TOKEN_TENANTROLESENTRY']._loaded_options = None
42
+ _globals['_TOKEN_TENANTROLESENTRY']._serialized_options = b'8\001'
43
+ _globals['_TOKEN'].fields_by_name['uuid']._loaded_options = None
44
+ _globals['_TOKEN'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
45
+ _globals['_TOKEN'].fields_by_name['user_id']._loaded_options = None
46
+ _globals['_TOKEN'].fields_by_name['user_id']._serialized_options = b'\272H\007r\005\020\002\030\200\004'
47
+ _globals['_TOKEN'].fields_by_name['description']._loaded_options = None
48
+ _globals['_TOKEN'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\002'
49
+ _globals['_TOKEN'].fields_by_name['permissions']._loaded_options = None
50
+ _globals['_TOKEN'].fields_by_name['permissions']._serialized_options = b'\272H\006\222\001\003\020\364\003'
51
+ _globals['_TOKEN'].fields_by_name['token_type']._loaded_options = None
52
+ _globals['_TOKEN'].fields_by_name['token_type']._serialized_options = b'\272H\005\202\001\002\020\001'
53
+ _globals['_TOKEN'].fields_by_name['admin_role']._loaded_options = None
54
+ _globals['_TOKEN'].fields_by_name['admin_role']._serialized_options = b'\272H\005\202\001\002\020\001'
55
+ _globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._loaded_options = None
56
+ _globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_options = b'8\001'
57
+ _globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._loaded_options = None
58
+ _globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_options = b'8\001'
59
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None
60
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\002'
61
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['permissions']._loaded_options = None
62
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['permissions']._serialized_options = b'\272H\005\222\001\002\020d'
63
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['expires']._loaded_options = None
64
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['expires']._serialized_options = b'\272H\017\252\001\014\032\005\010\201\347\204\0172\003\010\330\004'
65
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['project_roles']._loaded_options = None
66
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['project_roles']._serialized_options = b'\272HY\232\001V\"\007r\005\020\003\030\200\001*K\272\001H\n\016role-specified\022\036project role must be specified\032\026this >= 0 && this <= 3'
67
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['tenant_roles']._loaded_options = None
68
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['tenant_roles']._serialized_options = b'\272HX\232\001U\"\007r\005\020\003\030\200\001*J\272\001G\n\016role-specified\022\035tenant role must be specified\032\026this >= 0 && this <= 4'
69
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['admin_role']._loaded_options = None
70
+ _globals['_TOKENSERVICECREATEREQUEST'].fields_by_name['admin_role']._serialized_options = b'\272H\005\202\001\002\020\001'
71
+ _globals['_METHODPERMISSION'].fields_by_name['subject']._loaded_options = None
72
+ _globals['_METHODPERMISSION'].fields_by_name['subject']._serialized_options = b'\272H\007r\005\020\002\030\200\002'
73
+ _globals['_METHODPERMISSION'].fields_by_name['methods']._loaded_options = None
74
+ _globals['_METHODPERMISSION'].fields_by_name['methods']._serialized_options = b'\272H\006\222\001\003\020\364\003'
75
+ _globals['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['uuid']._loaded_options = None
76
+ _globals['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
77
+ _globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._loaded_options = None
78
+ _globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_options = b'8\001'
79
+ _globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._loaded_options = None
80
+ _globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_options = b'8\001'
81
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['uuid']._loaded_options = None
82
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
83
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
84
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\002'
85
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['project_roles']._loaded_options = None
86
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['project_roles']._serialized_options = b'\272HY\232\001V\"\007r\005\020\003\030\200\001*K\272\001H\n\016role-specified\022\036project role must be specified\032\026this >= 0 && this <= 3'
87
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['tenant_roles']._loaded_options = None
88
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['tenant_roles']._serialized_options = b'\272HX\232\001U\"\007r\005\020\003\030\200\001*J\272\001G\n\016role-specified\022\035tenant role must be specified\032\026this >= 0 && this <= 4'
89
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['admin_role']._loaded_options = None
90
+ _globals['_TOKENSERVICEUPDATEREQUEST'].fields_by_name['admin_role']._serialized_options = b'\272H\005\202\001\002\020\001'
91
+ _globals['_TOKENSERVICEGETREQUEST'].fields_by_name['uuid']._loaded_options = None
92
+ _globals['_TOKENSERVICEGETREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
93
+ _globals['_TOKENSERVICE'].methods_by_name['Get']._loaded_options = None
94
+ _globals['_TOKENSERVICE'].methods_by_name['Get']._serialized_options = b'\330\363\030\003'
95
+ _globals['_TOKENSERVICE'].methods_by_name['Create']._loaded_options = None
96
+ _globals['_TOKENSERVICE'].methods_by_name['Create']._serialized_options = b'\330\363\030\003'
97
+ _globals['_TOKENSERVICE'].methods_by_name['Update']._loaded_options = None
98
+ _globals['_TOKENSERVICE'].methods_by_name['Update']._serialized_options = b'\330\363\030\003'
99
+ _globals['_TOKENSERVICE'].methods_by_name['List']._loaded_options = None
100
+ _globals['_TOKENSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003'
101
+ _globals['_TOKENSERVICE'].methods_by_name['Revoke']._loaded_options = None
102
+ _globals['_TOKENSERVICE'].methods_by_name['Revoke']._serialized_options = b'\330\363\030\003'
103
+ _globals['_TOKENTYPE']._serialized_start=3377
104
+ _globals['_TOKENTYPE']._serialized_end=3460
105
+ _globals['_TOKEN']._serialized_start=179
106
+ _globals['_TOKEN']._serialized_end=1005
107
+ _globals['_TOKEN_PROJECTROLESENTRY']._serialized_start=800
108
+ _globals['_TOKEN_PROJECTROLESENTRY']._serialized_end=895
109
+ _globals['_TOKEN_TENANTROLESENTRY']._serialized_start=897
110
+ _globals['_TOKEN_TENANTROLESENTRY']._serialized_end=990
111
+ _globals['_TOKENSERVICECREATEREQUEST']._serialized_start=1008
112
+ _globals['_TOKENSERVICECREATEREQUEST']._serialized_end=1906
113
+ _globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_start=800
114
+ _globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_end=895
115
+ _globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_start=897
116
+ _globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_end=990
117
+ _globals['_METHODPERMISSION']._serialized_start=1908
118
+ _globals['_METHODPERMISSION']._serialized_end=2001
119
+ _globals['_TOKENSERVICECREATERESPONSE']._serialized_start=2003
120
+ _globals['_TOKENSERVICECREATERESPONSE']._serialized_end=2103
121
+ _globals['_TOKENSERVICELISTREQUEST']._serialized_start=2105
122
+ _globals['_TOKENSERVICELISTREQUEST']._serialized_end=2130
123
+ _globals['_TOKENSERVICELISTRESPONSE']._serialized_start=2132
124
+ _globals['_TOKENSERVICELISTRESPONSE']._serialized_end=2208
125
+ _globals['_TOKENSERVICEREVOKEREQUEST']._serialized_start=2210
126
+ _globals['_TOKENSERVICEREVOKEREQUEST']._serialized_end=2267
127
+ _globals['_TOKENSERVICEREVOKERESPONSE']._serialized_start=2269
128
+ _globals['_TOKENSERVICEREVOKERESPONSE']._serialized_end=2297
129
+ _globals['_TOKENSERVICEUPDATEREQUEST']._serialized_start=2300
130
+ _globals['_TOKENSERVICEUPDATEREQUEST']._serialized_end=3166
131
+ _globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_start=800
132
+ _globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_end=895
133
+ _globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_start=897
134
+ _globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_end=990
135
+ _globals['_TOKENSERVICEUPDATERESPONSE']._serialized_start=3168
136
+ _globals['_TOKENSERVICEUPDATERESPONSE']._serialized_end=3244
137
+ _globals['_TOKENSERVICEGETREQUEST']._serialized_start=3246
138
+ _globals['_TOKENSERVICEGETREQUEST']._serialized_end=3300
139
+ _globals['_TOKENSERVICEGETRESPONSE']._serialized_start=3302
140
+ _globals['_TOKENSERVICEGETRESPONSE']._serialized_end=3375
141
+ _globals['_TOKENSERVICE']._serialized_start=3463
142
+ _globals['_TOKENSERVICE']._serialized_end=4007
143
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,175 @@
1
+ import datetime
2
+
3
+ from buf.validate import validate_pb2 as _validate_pb2
4
+ from google.protobuf import duration_pb2 as _duration_pb2
5
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
6
+ from metalstack.api.v2 import common_pb2 as _common_pb2
7
+ from google.protobuf.internal import containers as _containers
8
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
9
+ from google.protobuf import descriptor as _descriptor
10
+ from google.protobuf import message as _message
11
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
12
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
13
+
14
+ DESCRIPTOR: _descriptor.FileDescriptor
15
+
16
+ class TokenType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
+ __slots__ = ()
18
+ TOKEN_TYPE_UNSPECIFIED: _ClassVar[TokenType]
19
+ TOKEN_TYPE_API: _ClassVar[TokenType]
20
+ TOKEN_TYPE_CONSOLE: _ClassVar[TokenType]
21
+ TOKEN_TYPE_UNSPECIFIED: TokenType
22
+ TOKEN_TYPE_API: TokenType
23
+ TOKEN_TYPE_CONSOLE: TokenType
24
+
25
+ class Token(_message.Message):
26
+ __slots__ = ("uuid", "user_id", "description", "permissions", "expires", "issued_at", "token_type", "project_roles", "tenant_roles", "admin_role")
27
+ class ProjectRolesEntry(_message.Message):
28
+ __slots__ = ("key", "value")
29
+ KEY_FIELD_NUMBER: _ClassVar[int]
30
+ VALUE_FIELD_NUMBER: _ClassVar[int]
31
+ key: str
32
+ value: _common_pb2.ProjectRole
33
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
34
+ class TenantRolesEntry(_message.Message):
35
+ __slots__ = ("key", "value")
36
+ KEY_FIELD_NUMBER: _ClassVar[int]
37
+ VALUE_FIELD_NUMBER: _ClassVar[int]
38
+ key: str
39
+ value: _common_pb2.TenantRole
40
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
41
+ UUID_FIELD_NUMBER: _ClassVar[int]
42
+ USER_ID_FIELD_NUMBER: _ClassVar[int]
43
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
44
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
45
+ EXPIRES_FIELD_NUMBER: _ClassVar[int]
46
+ ISSUED_AT_FIELD_NUMBER: _ClassVar[int]
47
+ TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int]
48
+ PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
49
+ TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
50
+ ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
51
+ uuid: str
52
+ user_id: str
53
+ description: str
54
+ permissions: _containers.RepeatedCompositeFieldContainer[MethodPermission]
55
+ expires: _timestamp_pb2.Timestamp
56
+ issued_at: _timestamp_pb2.Timestamp
57
+ token_type: TokenType
58
+ project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
59
+ tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
60
+ admin_role: _common_pb2.AdminRole
61
+ def __init__(self, uuid: _Optional[str] = ..., user_id: _Optional[str] = ..., description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., expires: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., issued_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., token_type: _Optional[_Union[TokenType, str]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
62
+
63
+ class TokenServiceCreateRequest(_message.Message):
64
+ __slots__ = ("description", "permissions", "expires", "project_roles", "tenant_roles", "admin_role")
65
+ class ProjectRolesEntry(_message.Message):
66
+ __slots__ = ("key", "value")
67
+ KEY_FIELD_NUMBER: _ClassVar[int]
68
+ VALUE_FIELD_NUMBER: _ClassVar[int]
69
+ key: str
70
+ value: _common_pb2.ProjectRole
71
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
72
+ class TenantRolesEntry(_message.Message):
73
+ __slots__ = ("key", "value")
74
+ KEY_FIELD_NUMBER: _ClassVar[int]
75
+ VALUE_FIELD_NUMBER: _ClassVar[int]
76
+ key: str
77
+ value: _common_pb2.TenantRole
78
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
79
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
80
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
81
+ EXPIRES_FIELD_NUMBER: _ClassVar[int]
82
+ PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
83
+ TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
84
+ ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
85
+ description: str
86
+ permissions: _containers.RepeatedCompositeFieldContainer[MethodPermission]
87
+ expires: _duration_pb2.Duration
88
+ project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
89
+ tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
90
+ admin_role: _common_pb2.AdminRole
91
+ def __init__(self, description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., expires: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
92
+
93
+ class MethodPermission(_message.Message):
94
+ __slots__ = ("subject", "methods")
95
+ SUBJECT_FIELD_NUMBER: _ClassVar[int]
96
+ METHODS_FIELD_NUMBER: _ClassVar[int]
97
+ subject: str
98
+ methods: _containers.RepeatedScalarFieldContainer[str]
99
+ def __init__(self, subject: _Optional[str] = ..., methods: _Optional[_Iterable[str]] = ...) -> None: ...
100
+
101
+ class TokenServiceCreateResponse(_message.Message):
102
+ __slots__ = ("token", "secret")
103
+ TOKEN_FIELD_NUMBER: _ClassVar[int]
104
+ SECRET_FIELD_NUMBER: _ClassVar[int]
105
+ token: Token
106
+ secret: str
107
+ def __init__(self, token: _Optional[_Union[Token, _Mapping]] = ..., secret: _Optional[str] = ...) -> None: ...
108
+
109
+ class TokenServiceListRequest(_message.Message):
110
+ __slots__ = ()
111
+ def __init__(self) -> None: ...
112
+
113
+ class TokenServiceListResponse(_message.Message):
114
+ __slots__ = ("tokens",)
115
+ TOKENS_FIELD_NUMBER: _ClassVar[int]
116
+ tokens: _containers.RepeatedCompositeFieldContainer[Token]
117
+ def __init__(self, tokens: _Optional[_Iterable[_Union[Token, _Mapping]]] = ...) -> None: ...
118
+
119
+ class TokenServiceRevokeRequest(_message.Message):
120
+ __slots__ = ("uuid",)
121
+ UUID_FIELD_NUMBER: _ClassVar[int]
122
+ uuid: str
123
+ def __init__(self, uuid: _Optional[str] = ...) -> None: ...
124
+
125
+ class TokenServiceRevokeResponse(_message.Message):
126
+ __slots__ = ()
127
+ def __init__(self) -> None: ...
128
+
129
+ class TokenServiceUpdateRequest(_message.Message):
130
+ __slots__ = ("uuid", "description", "permissions", "project_roles", "tenant_roles", "admin_role")
131
+ class ProjectRolesEntry(_message.Message):
132
+ __slots__ = ("key", "value")
133
+ KEY_FIELD_NUMBER: _ClassVar[int]
134
+ VALUE_FIELD_NUMBER: _ClassVar[int]
135
+ key: str
136
+ value: _common_pb2.ProjectRole
137
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
138
+ class TenantRolesEntry(_message.Message):
139
+ __slots__ = ("key", "value")
140
+ KEY_FIELD_NUMBER: _ClassVar[int]
141
+ VALUE_FIELD_NUMBER: _ClassVar[int]
142
+ key: str
143
+ value: _common_pb2.TenantRole
144
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
145
+ UUID_FIELD_NUMBER: _ClassVar[int]
146
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
147
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
148
+ PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
149
+ TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
150
+ ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
151
+ uuid: str
152
+ description: str
153
+ permissions: _containers.RepeatedCompositeFieldContainer[MethodPermission]
154
+ project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
155
+ tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
156
+ admin_role: _common_pb2.AdminRole
157
+ def __init__(self, uuid: _Optional[str] = ..., description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
158
+
159
+ class TokenServiceUpdateResponse(_message.Message):
160
+ __slots__ = ("token",)
161
+ TOKEN_FIELD_NUMBER: _ClassVar[int]
162
+ token: Token
163
+ def __init__(self, token: _Optional[_Union[Token, _Mapping]] = ...) -> None: ...
164
+
165
+ class TokenServiceGetRequest(_message.Message):
166
+ __slots__ = ("uuid",)
167
+ UUID_FIELD_NUMBER: _ClassVar[int]
168
+ uuid: str
169
+ def __init__(self, uuid: _Optional[str] = ...) -> None: ...
170
+
171
+ class TokenServiceGetResponse(_message.Message):
172
+ __slots__ = ("token",)
173
+ TOKEN_FIELD_NUMBER: _ClassVar[int]
174
+ token: Token
175
+ def __init__(self, token: _Optional[_Union[Token, _Mapping]] = ...) -> None: ...