otdf-python 0.4.1__py3-none-any.whl → 0.4.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 (61) hide show
  1. otdf_python/autoconfigure_utils.py +0 -2
  2. otdf_python/cli.py +50 -21
  3. otdf_python/collection_store.py +0 -1
  4. otdf_python/ecdh.py +0 -6
  5. otdf_python/kas_allowlist.py +182 -0
  6. otdf_python/kas_client.py +44 -2
  7. otdf_python/kas_connect_rpc_client.py +59 -19
  8. otdf_python/nanotdf.py +4 -14
  9. otdf_python/nanotdf_ecdsa_struct.py +0 -2
  10. otdf_python/nanotdf_type.py +1 -1
  11. otdf_python/sdk.py +31 -15
  12. otdf_python/sdk_builder.py +88 -8
  13. otdf_python/tdf.py +2 -2
  14. {otdf_python-0.4.1.dist-info → otdf_python-0.4.3.dist-info}/METADATA +3 -2
  15. {otdf_python-0.4.1.dist-info → otdf_python-0.4.3.dist-info}/RECORD +46 -36
  16. otdf_python_proto/__init__.py +2 -6
  17. otdf_python_proto/authorization/__init__.py +10 -0
  18. otdf_python_proto/authorization/authorization_connect.py +250 -0
  19. otdf_python_proto/authorization/v2/authorization_connect.py +315 -0
  20. otdf_python_proto/entityresolution/__init__.py +10 -0
  21. otdf_python_proto/entityresolution/entity_resolution_connect.py +185 -0
  22. otdf_python_proto/entityresolution/v2/entity_resolution_connect.py +185 -0
  23. otdf_python_proto/kas/__init__.py +2 -2
  24. otdf_python_proto/kas/kas_connect.py +259 -0
  25. otdf_python_proto/policy/actions/__init__.py +11 -0
  26. otdf_python_proto/policy/actions/actions_connect.py +380 -0
  27. otdf_python_proto/policy/attributes/__init__.py +11 -0
  28. otdf_python_proto/policy/attributes/attributes_connect.py +1310 -0
  29. otdf_python_proto/policy/kasregistry/__init__.py +11 -0
  30. otdf_python_proto/policy/kasregistry/key_access_server_registry_connect.py +912 -0
  31. otdf_python_proto/policy/keymanagement/__init__.py +11 -0
  32. otdf_python_proto/policy/keymanagement/key_management_connect.py +380 -0
  33. otdf_python_proto/policy/namespaces/__init__.py +11 -0
  34. otdf_python_proto/policy/namespaces/namespaces_connect.py +648 -0
  35. otdf_python_proto/policy/registeredresources/__init__.py +11 -0
  36. otdf_python_proto/policy/registeredresources/registered_resources_connect.py +770 -0
  37. otdf_python_proto/policy/resourcemapping/__init__.py +11 -0
  38. otdf_python_proto/policy/resourcemapping/resource_mapping_connect.py +790 -0
  39. otdf_python_proto/policy/subjectmapping/__init__.py +11 -0
  40. otdf_python_proto/policy/subjectmapping/subject_mapping_connect.py +851 -0
  41. otdf_python_proto/policy/unsafe/__init__.py +11 -0
  42. otdf_python_proto/policy/unsafe/unsafe_connect.py +705 -0
  43. otdf_python_proto/wellknownconfiguration/__init__.py +10 -0
  44. otdf_python_proto/wellknownconfiguration/wellknown_configuration_connect.py +124 -0
  45. otdf_python_proto/authorization/authorization_pb2_connect.py +0 -191
  46. otdf_python_proto/authorization/v2/authorization_pb2_connect.py +0 -233
  47. otdf_python_proto/entityresolution/entity_resolution_pb2_connect.py +0 -149
  48. otdf_python_proto/entityresolution/v2/entity_resolution_pb2_connect.py +0 -149
  49. otdf_python_proto/kas/kas_pb2_connect.py +0 -192
  50. otdf_python_proto/policy/actions/actions_pb2_connect.py +0 -275
  51. otdf_python_proto/policy/attributes/attributes_pb2_connect.py +0 -863
  52. otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2_connect.py +0 -611
  53. otdf_python_proto/policy/keymanagement/key_management_pb2_connect.py +0 -275
  54. otdf_python_proto/policy/namespaces/namespaces_pb2_connect.py +0 -443
  55. otdf_python_proto/policy/registeredresources/registered_resources_pb2_connect.py +0 -527
  56. otdf_python_proto/policy/resourcemapping/resource_mapping_pb2_connect.py +0 -527
  57. otdf_python_proto/policy/subjectmapping/subject_mapping_pb2_connect.py +0 -569
  58. otdf_python_proto/policy/unsafe/unsafe_pb2_connect.py +0 -485
  59. otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2_connect.py +0 -107
  60. {otdf_python-0.4.1.dist-info → otdf_python-0.4.3.dist-info}/WHEEL +0 -0
  61. {otdf_python-0.4.1.dist-info → otdf_python-0.4.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,648 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
+ # source: policy/namespaces/namespaces.proto
4
+
5
+ from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping
6
+ from typing import Protocol
7
+
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
+ import policy.namespaces.namespaces_pb2 as policy_dot_namespaces_dot_namespaces__pb2
16
+
17
+
18
+ class NamespaceService(Protocol):
19
+ async def get_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse:
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
+
22
+ async def list_namespaces(self, request: policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse:
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
+
25
+ async def create_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse:
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
+
28
+ async def update_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse:
29
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
30
+
31
+ async def deactivate_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse:
32
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
33
+
34
+ async def assign_key_access_server_to_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse:
35
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
36
+
37
+ async def remove_key_access_server_from_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse:
38
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
39
+
40
+ async def assign_public_key_to_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse:
41
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
42
+
43
+ async def remove_public_key_from_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse:
44
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
45
+
46
+
47
+ class NamespaceServiceASGIApplication(ConnectASGIApplication[NamespaceService]):
48
+ def __init__(self, service: NamespaceService | AsyncGenerator[NamespaceService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
49
+ super().__init__(
50
+ service=service,
51
+ endpoints=lambda svc: {
52
+ "/policy.namespaces.NamespaceService/GetNamespace": Endpoint.unary(
53
+ method=MethodInfo(
54
+ name="GetNamespace",
55
+ service_name="policy.namespaces.NamespaceService",
56
+ input=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
57
+ output=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse,
58
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
59
+ ),
60
+ function=svc.get_namespace,
61
+ ),
62
+ "/policy.namespaces.NamespaceService/ListNamespaces": Endpoint.unary(
63
+ method=MethodInfo(
64
+ name="ListNamespaces",
65
+ service_name="policy.namespaces.NamespaceService",
66
+ input=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
67
+ output=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse,
68
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
69
+ ),
70
+ function=svc.list_namespaces,
71
+ ),
72
+ "/policy.namespaces.NamespaceService/CreateNamespace": Endpoint.unary(
73
+ method=MethodInfo(
74
+ name="CreateNamespace",
75
+ service_name="policy.namespaces.NamespaceService",
76
+ input=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
77
+ output=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse,
78
+ idempotency_level=IdempotencyLevel.UNKNOWN,
79
+ ),
80
+ function=svc.create_namespace,
81
+ ),
82
+ "/policy.namespaces.NamespaceService/UpdateNamespace": Endpoint.unary(
83
+ method=MethodInfo(
84
+ name="UpdateNamespace",
85
+ service_name="policy.namespaces.NamespaceService",
86
+ input=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
87
+ output=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse,
88
+ idempotency_level=IdempotencyLevel.UNKNOWN,
89
+ ),
90
+ function=svc.update_namespace,
91
+ ),
92
+ "/policy.namespaces.NamespaceService/DeactivateNamespace": Endpoint.unary(
93
+ method=MethodInfo(
94
+ name="DeactivateNamespace",
95
+ service_name="policy.namespaces.NamespaceService",
96
+ input=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
97
+ output=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse,
98
+ idempotency_level=IdempotencyLevel.UNKNOWN,
99
+ ),
100
+ function=svc.deactivate_namespace,
101
+ ),
102
+ "/policy.namespaces.NamespaceService/AssignKeyAccessServerToNamespace": Endpoint.unary(
103
+ method=MethodInfo(
104
+ name="AssignKeyAccessServerToNamespace",
105
+ service_name="policy.namespaces.NamespaceService",
106
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
107
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse,
108
+ idempotency_level=IdempotencyLevel.UNKNOWN,
109
+ ),
110
+ function=svc.assign_key_access_server_to_namespace,
111
+ ),
112
+ "/policy.namespaces.NamespaceService/RemoveKeyAccessServerFromNamespace": Endpoint.unary(
113
+ method=MethodInfo(
114
+ name="RemoveKeyAccessServerFromNamespace",
115
+ service_name="policy.namespaces.NamespaceService",
116
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
117
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse,
118
+ idempotency_level=IdempotencyLevel.UNKNOWN,
119
+ ),
120
+ function=svc.remove_key_access_server_from_namespace,
121
+ ),
122
+ "/policy.namespaces.NamespaceService/AssignPublicKeyToNamespace": Endpoint.unary(
123
+ method=MethodInfo(
124
+ name="AssignPublicKeyToNamespace",
125
+ service_name="policy.namespaces.NamespaceService",
126
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
127
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse,
128
+ idempotency_level=IdempotencyLevel.UNKNOWN,
129
+ ),
130
+ function=svc.assign_public_key_to_namespace,
131
+ ),
132
+ "/policy.namespaces.NamespaceService/RemovePublicKeyFromNamespace": Endpoint.unary(
133
+ method=MethodInfo(
134
+ name="RemovePublicKeyFromNamespace",
135
+ service_name="policy.namespaces.NamespaceService",
136
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
137
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse,
138
+ idempotency_level=IdempotencyLevel.UNKNOWN,
139
+ ),
140
+ function=svc.remove_public_key_from_namespace,
141
+ ),
142
+ },
143
+ interceptors=interceptors,
144
+ read_max_bytes=read_max_bytes,
145
+ )
146
+
147
+ @property
148
+ def path(self) -> str:
149
+ """Returns the URL path to mount the application to when serving multiple applications."""
150
+ return "/policy.namespaces.NamespaceService"
151
+
152
+
153
+ class NamespaceServiceClient(ConnectClient):
154
+ async def get_namespace(
155
+ self,
156
+ request: policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
157
+ *,
158
+ headers: Headers | Mapping[str, str] | None = None,
159
+ timeout_ms: int | None = None,
160
+ use_get: bool = False,
161
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse:
162
+ return await self.execute_unary(
163
+ request=request,
164
+ method=MethodInfo(
165
+ name="GetNamespace",
166
+ service_name="policy.namespaces.NamespaceService",
167
+ input=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
168
+ output=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse,
169
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
170
+ ),
171
+ headers=headers,
172
+ timeout_ms=timeout_ms,
173
+ use_get=use_get,
174
+ )
175
+
176
+ async def list_namespaces(
177
+ self,
178
+ request: policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
179
+ *,
180
+ headers: Headers | Mapping[str, str] | None = None,
181
+ timeout_ms: int | None = None,
182
+ use_get: bool = False,
183
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse:
184
+ return await self.execute_unary(
185
+ request=request,
186
+ method=MethodInfo(
187
+ name="ListNamespaces",
188
+ service_name="policy.namespaces.NamespaceService",
189
+ input=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
190
+ output=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse,
191
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
192
+ ),
193
+ headers=headers,
194
+ timeout_ms=timeout_ms,
195
+ use_get=use_get,
196
+ )
197
+
198
+ async def create_namespace(
199
+ self,
200
+ request: policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
201
+ *,
202
+ headers: Headers | Mapping[str, str] | None = None,
203
+ timeout_ms: int | None = None,
204
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse:
205
+ return await self.execute_unary(
206
+ request=request,
207
+ method=MethodInfo(
208
+ name="CreateNamespace",
209
+ service_name="policy.namespaces.NamespaceService",
210
+ input=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
211
+ output=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse,
212
+ idempotency_level=IdempotencyLevel.UNKNOWN,
213
+ ),
214
+ headers=headers,
215
+ timeout_ms=timeout_ms,
216
+ )
217
+
218
+ async def update_namespace(
219
+ self,
220
+ request: policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
221
+ *,
222
+ headers: Headers | Mapping[str, str] | None = None,
223
+ timeout_ms: int | None = None,
224
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse:
225
+ return await self.execute_unary(
226
+ request=request,
227
+ method=MethodInfo(
228
+ name="UpdateNamespace",
229
+ service_name="policy.namespaces.NamespaceService",
230
+ input=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
231
+ output=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse,
232
+ idempotency_level=IdempotencyLevel.UNKNOWN,
233
+ ),
234
+ headers=headers,
235
+ timeout_ms=timeout_ms,
236
+ )
237
+
238
+ async def deactivate_namespace(
239
+ self,
240
+ request: policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
241
+ *,
242
+ headers: Headers | Mapping[str, str] | None = None,
243
+ timeout_ms: int | None = None,
244
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse:
245
+ return await self.execute_unary(
246
+ request=request,
247
+ method=MethodInfo(
248
+ name="DeactivateNamespace",
249
+ service_name="policy.namespaces.NamespaceService",
250
+ input=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
251
+ output=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse,
252
+ idempotency_level=IdempotencyLevel.UNKNOWN,
253
+ ),
254
+ headers=headers,
255
+ timeout_ms=timeout_ms,
256
+ )
257
+
258
+ async def assign_key_access_server_to_namespace(
259
+ self,
260
+ request: policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
261
+ *,
262
+ headers: Headers | Mapping[str, str] | None = None,
263
+ timeout_ms: int | None = None,
264
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse:
265
+ return await self.execute_unary(
266
+ request=request,
267
+ method=MethodInfo(
268
+ name="AssignKeyAccessServerToNamespace",
269
+ service_name="policy.namespaces.NamespaceService",
270
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
271
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse,
272
+ idempotency_level=IdempotencyLevel.UNKNOWN,
273
+ ),
274
+ headers=headers,
275
+ timeout_ms=timeout_ms,
276
+ )
277
+
278
+ async def remove_key_access_server_from_namespace(
279
+ self,
280
+ request: policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
281
+ *,
282
+ headers: Headers | Mapping[str, str] | None = None,
283
+ timeout_ms: int | None = None,
284
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse:
285
+ return await self.execute_unary(
286
+ request=request,
287
+ method=MethodInfo(
288
+ name="RemoveKeyAccessServerFromNamespace",
289
+ service_name="policy.namespaces.NamespaceService",
290
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
291
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse,
292
+ idempotency_level=IdempotencyLevel.UNKNOWN,
293
+ ),
294
+ headers=headers,
295
+ timeout_ms=timeout_ms,
296
+ )
297
+
298
+ async def assign_public_key_to_namespace(
299
+ self,
300
+ request: policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
301
+ *,
302
+ headers: Headers | Mapping[str, str] | None = None,
303
+ timeout_ms: int | None = None,
304
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse:
305
+ return await self.execute_unary(
306
+ request=request,
307
+ method=MethodInfo(
308
+ name="AssignPublicKeyToNamespace",
309
+ service_name="policy.namespaces.NamespaceService",
310
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
311
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse,
312
+ idempotency_level=IdempotencyLevel.UNKNOWN,
313
+ ),
314
+ headers=headers,
315
+ timeout_ms=timeout_ms,
316
+ )
317
+
318
+ async def remove_public_key_from_namespace(
319
+ self,
320
+ request: policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
321
+ *,
322
+ headers: Headers | Mapping[str, str] | None = None,
323
+ timeout_ms: int | None = None,
324
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse:
325
+ return await self.execute_unary(
326
+ request=request,
327
+ method=MethodInfo(
328
+ name="RemovePublicKeyFromNamespace",
329
+ service_name="policy.namespaces.NamespaceService",
330
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
331
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse,
332
+ idempotency_level=IdempotencyLevel.UNKNOWN,
333
+ ),
334
+ headers=headers,
335
+ timeout_ms=timeout_ms,
336
+ )
337
+
338
+
339
+ class NamespaceServiceSync(Protocol):
340
+ def get_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse:
341
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
342
+ def list_namespaces(self, request: policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse:
343
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
344
+ def create_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse:
345
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
346
+ def update_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse:
347
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
348
+ def deactivate_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse:
349
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
350
+ def assign_key_access_server_to_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse:
351
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
352
+ def remove_key_access_server_from_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse:
353
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
354
+ def assign_public_key_to_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse:
355
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
356
+ def remove_public_key_from_namespace(self, request: policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest, ctx: RequestContext) -> policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse:
357
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
358
+
359
+
360
+ class NamespaceServiceWSGIApplication(ConnectWSGIApplication):
361
+ def __init__(self, service: NamespaceServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
362
+ super().__init__(
363
+ endpoints={
364
+ "/policy.namespaces.NamespaceService/GetNamespace": EndpointSync.unary(
365
+ method=MethodInfo(
366
+ name="GetNamespace",
367
+ service_name="policy.namespaces.NamespaceService",
368
+ input=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
369
+ output=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse,
370
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
371
+ ),
372
+ function=service.get_namespace,
373
+ ),
374
+ "/policy.namespaces.NamespaceService/ListNamespaces": EndpointSync.unary(
375
+ method=MethodInfo(
376
+ name="ListNamespaces",
377
+ service_name="policy.namespaces.NamespaceService",
378
+ input=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
379
+ output=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse,
380
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
381
+ ),
382
+ function=service.list_namespaces,
383
+ ),
384
+ "/policy.namespaces.NamespaceService/CreateNamespace": EndpointSync.unary(
385
+ method=MethodInfo(
386
+ name="CreateNamespace",
387
+ service_name="policy.namespaces.NamespaceService",
388
+ input=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
389
+ output=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse,
390
+ idempotency_level=IdempotencyLevel.UNKNOWN,
391
+ ),
392
+ function=service.create_namespace,
393
+ ),
394
+ "/policy.namespaces.NamespaceService/UpdateNamespace": EndpointSync.unary(
395
+ method=MethodInfo(
396
+ name="UpdateNamespace",
397
+ service_name="policy.namespaces.NamespaceService",
398
+ input=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
399
+ output=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse,
400
+ idempotency_level=IdempotencyLevel.UNKNOWN,
401
+ ),
402
+ function=service.update_namespace,
403
+ ),
404
+ "/policy.namespaces.NamespaceService/DeactivateNamespace": EndpointSync.unary(
405
+ method=MethodInfo(
406
+ name="DeactivateNamespace",
407
+ service_name="policy.namespaces.NamespaceService",
408
+ input=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
409
+ output=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse,
410
+ idempotency_level=IdempotencyLevel.UNKNOWN,
411
+ ),
412
+ function=service.deactivate_namespace,
413
+ ),
414
+ "/policy.namespaces.NamespaceService/AssignKeyAccessServerToNamespace": EndpointSync.unary(
415
+ method=MethodInfo(
416
+ name="AssignKeyAccessServerToNamespace",
417
+ service_name="policy.namespaces.NamespaceService",
418
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
419
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse,
420
+ idempotency_level=IdempotencyLevel.UNKNOWN,
421
+ ),
422
+ function=service.assign_key_access_server_to_namespace,
423
+ ),
424
+ "/policy.namespaces.NamespaceService/RemoveKeyAccessServerFromNamespace": EndpointSync.unary(
425
+ method=MethodInfo(
426
+ name="RemoveKeyAccessServerFromNamespace",
427
+ service_name="policy.namespaces.NamespaceService",
428
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
429
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse,
430
+ idempotency_level=IdempotencyLevel.UNKNOWN,
431
+ ),
432
+ function=service.remove_key_access_server_from_namespace,
433
+ ),
434
+ "/policy.namespaces.NamespaceService/AssignPublicKeyToNamespace": EndpointSync.unary(
435
+ method=MethodInfo(
436
+ name="AssignPublicKeyToNamespace",
437
+ service_name="policy.namespaces.NamespaceService",
438
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
439
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse,
440
+ idempotency_level=IdempotencyLevel.UNKNOWN,
441
+ ),
442
+ function=service.assign_public_key_to_namespace,
443
+ ),
444
+ "/policy.namespaces.NamespaceService/RemovePublicKeyFromNamespace": EndpointSync.unary(
445
+ method=MethodInfo(
446
+ name="RemovePublicKeyFromNamespace",
447
+ service_name="policy.namespaces.NamespaceService",
448
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
449
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse,
450
+ idempotency_level=IdempotencyLevel.UNKNOWN,
451
+ ),
452
+ function=service.remove_public_key_from_namespace,
453
+ ),
454
+ },
455
+ interceptors=interceptors,
456
+ read_max_bytes=read_max_bytes,
457
+ )
458
+
459
+ @property
460
+ def path(self) -> str:
461
+ """Returns the URL path to mount the application to when serving multiple applications."""
462
+ return "/policy.namespaces.NamespaceService"
463
+
464
+
465
+ class NamespaceServiceClientSync(ConnectClientSync):
466
+ def get_namespace(
467
+ self,
468
+ request: policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
469
+ *,
470
+ headers: Headers | Mapping[str, str] | None = None,
471
+ timeout_ms: int | None = None,
472
+ use_get: bool = False,
473
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse:
474
+ return self.execute_unary(
475
+ request=request,
476
+ method=MethodInfo(
477
+ name="GetNamespace",
478
+ service_name="policy.namespaces.NamespaceService",
479
+ input=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceRequest,
480
+ output=policy_dot_namespaces_dot_namespaces__pb2.GetNamespaceResponse,
481
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
482
+ ),
483
+ headers=headers,
484
+ timeout_ms=timeout_ms,
485
+ use_get=use_get,
486
+ )
487
+
488
+ def list_namespaces(
489
+ self,
490
+ request: policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
491
+ *,
492
+ headers: Headers | Mapping[str, str] | None = None,
493
+ timeout_ms: int | None = None,
494
+ use_get: bool = False,
495
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse:
496
+ return self.execute_unary(
497
+ request=request,
498
+ method=MethodInfo(
499
+ name="ListNamespaces",
500
+ service_name="policy.namespaces.NamespaceService",
501
+ input=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesRequest,
502
+ output=policy_dot_namespaces_dot_namespaces__pb2.ListNamespacesResponse,
503
+ idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS,
504
+ ),
505
+ headers=headers,
506
+ timeout_ms=timeout_ms,
507
+ use_get=use_get,
508
+ )
509
+
510
+ def create_namespace(
511
+ self,
512
+ request: policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
513
+ *,
514
+ headers: Headers | Mapping[str, str] | None = None,
515
+ timeout_ms: int | None = None,
516
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse:
517
+ return self.execute_unary(
518
+ request=request,
519
+ method=MethodInfo(
520
+ name="CreateNamespace",
521
+ service_name="policy.namespaces.NamespaceService",
522
+ input=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceRequest,
523
+ output=policy_dot_namespaces_dot_namespaces__pb2.CreateNamespaceResponse,
524
+ idempotency_level=IdempotencyLevel.UNKNOWN,
525
+ ),
526
+ headers=headers,
527
+ timeout_ms=timeout_ms,
528
+ )
529
+
530
+ def update_namespace(
531
+ self,
532
+ request: policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
533
+ *,
534
+ headers: Headers | Mapping[str, str] | None = None,
535
+ timeout_ms: int | None = None,
536
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse:
537
+ return self.execute_unary(
538
+ request=request,
539
+ method=MethodInfo(
540
+ name="UpdateNamespace",
541
+ service_name="policy.namespaces.NamespaceService",
542
+ input=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceRequest,
543
+ output=policy_dot_namespaces_dot_namespaces__pb2.UpdateNamespaceResponse,
544
+ idempotency_level=IdempotencyLevel.UNKNOWN,
545
+ ),
546
+ headers=headers,
547
+ timeout_ms=timeout_ms,
548
+ )
549
+
550
+ def deactivate_namespace(
551
+ self,
552
+ request: policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
553
+ *,
554
+ headers: Headers | Mapping[str, str] | None = None,
555
+ timeout_ms: int | None = None,
556
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse:
557
+ return self.execute_unary(
558
+ request=request,
559
+ method=MethodInfo(
560
+ name="DeactivateNamespace",
561
+ service_name="policy.namespaces.NamespaceService",
562
+ input=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceRequest,
563
+ output=policy_dot_namespaces_dot_namespaces__pb2.DeactivateNamespaceResponse,
564
+ idempotency_level=IdempotencyLevel.UNKNOWN,
565
+ ),
566
+ headers=headers,
567
+ timeout_ms=timeout_ms,
568
+ )
569
+
570
+ def assign_key_access_server_to_namespace(
571
+ self,
572
+ request: policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
573
+ *,
574
+ headers: Headers | Mapping[str, str] | None = None,
575
+ timeout_ms: int | None = None,
576
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse:
577
+ return self.execute_unary(
578
+ request=request,
579
+ method=MethodInfo(
580
+ name="AssignKeyAccessServerToNamespace",
581
+ service_name="policy.namespaces.NamespaceService",
582
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceRequest,
583
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignKeyAccessServerToNamespaceResponse,
584
+ idempotency_level=IdempotencyLevel.UNKNOWN,
585
+ ),
586
+ headers=headers,
587
+ timeout_ms=timeout_ms,
588
+ )
589
+
590
+ def remove_key_access_server_from_namespace(
591
+ self,
592
+ request: policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
593
+ *,
594
+ headers: Headers | Mapping[str, str] | None = None,
595
+ timeout_ms: int | None = None,
596
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse:
597
+ return self.execute_unary(
598
+ request=request,
599
+ method=MethodInfo(
600
+ name="RemoveKeyAccessServerFromNamespace",
601
+ service_name="policy.namespaces.NamespaceService",
602
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceRequest,
603
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemoveKeyAccessServerFromNamespaceResponse,
604
+ idempotency_level=IdempotencyLevel.UNKNOWN,
605
+ ),
606
+ headers=headers,
607
+ timeout_ms=timeout_ms,
608
+ )
609
+
610
+ def assign_public_key_to_namespace(
611
+ self,
612
+ request: policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
613
+ *,
614
+ headers: Headers | Mapping[str, str] | None = None,
615
+ timeout_ms: int | None = None,
616
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse:
617
+ return self.execute_unary(
618
+ request=request,
619
+ method=MethodInfo(
620
+ name="AssignPublicKeyToNamespace",
621
+ service_name="policy.namespaces.NamespaceService",
622
+ input=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceRequest,
623
+ output=policy_dot_namespaces_dot_namespaces__pb2.AssignPublicKeyToNamespaceResponse,
624
+ idempotency_level=IdempotencyLevel.UNKNOWN,
625
+ ),
626
+ headers=headers,
627
+ timeout_ms=timeout_ms,
628
+ )
629
+
630
+ def remove_public_key_from_namespace(
631
+ self,
632
+ request: policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
633
+ *,
634
+ headers: Headers | Mapping[str, str] | None = None,
635
+ timeout_ms: int | None = None,
636
+ ) -> policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse:
637
+ return self.execute_unary(
638
+ request=request,
639
+ method=MethodInfo(
640
+ name="RemovePublicKeyFromNamespace",
641
+ service_name="policy.namespaces.NamespaceService",
642
+ input=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest,
643
+ output=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse,
644
+ idempotency_level=IdempotencyLevel.UNKNOWN,
645
+ ),
646
+ headers=headers,
647
+ timeout_ms=timeout_ms,
648
+ )
@@ -0,0 +1,11 @@
1
+ """policy.registeredresources protobuf definitions."""
2
+
3
+ from .registered_resources_connect import (
4
+ RegisteredResourcesServiceClient,
5
+ RegisteredResourcesServiceClientSync,
6
+ )
7
+
8
+ __all__ = [
9
+ "RegisteredResourcesServiceClient",
10
+ "RegisteredResourcesServiceClientSync",
11
+ ]