otdf-python 0.4.0__py3-none-any.whl → 0.4.2__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 (96) hide show
  1. otdf_python/__init__.py +1 -2
  2. otdf_python/__main__.py +1 -2
  3. otdf_python/address_normalizer.py +8 -10
  4. otdf_python/aesgcm.py +8 -0
  5. otdf_python/assertion_config.py +21 -0
  6. otdf_python/asym_crypto.py +18 -22
  7. otdf_python/auth_headers.py +7 -6
  8. otdf_python/autoconfigure_utils.py +21 -7
  9. otdf_python/cli.py +5 -5
  10. otdf_python/collection_store.py +13 -1
  11. otdf_python/collection_store_impl.py +5 -0
  12. otdf_python/config.py +13 -0
  13. otdf_python/connect_client.py +1 -0
  14. otdf_python/constants.py +2 -0
  15. otdf_python/crypto_utils.py +4 -0
  16. otdf_python/dpop.py +3 -5
  17. otdf_python/ecc_constants.py +12 -14
  18. otdf_python/ecc_mode.py +7 -2
  19. otdf_python/ecdh.py +24 -31
  20. otdf_python/eckeypair.py +5 -0
  21. otdf_python/header.py +5 -0
  22. otdf_python/invalid_zip_exception.py +6 -2
  23. otdf_python/kas_client.py +66 -55
  24. otdf_python/kas_connect_rpc_client.py +75 -38
  25. otdf_python/kas_info.py +4 -3
  26. otdf_python/kas_key_cache.py +10 -9
  27. otdf_python/key_type.py +4 -0
  28. otdf_python/key_type_constants.py +4 -11
  29. otdf_python/manifest.py +24 -0
  30. otdf_python/nanotdf.py +30 -28
  31. otdf_python/nanotdf_ecdsa_struct.py +5 -11
  32. otdf_python/nanotdf_type.py +13 -1
  33. otdf_python/policy_binding_serializer.py +6 -4
  34. otdf_python/policy_info.py +6 -0
  35. otdf_python/policy_object.py +8 -0
  36. otdf_python/policy_stub.py +2 -0
  37. otdf_python/resource_locator.py +22 -13
  38. otdf_python/sdk.py +51 -73
  39. otdf_python/sdk_builder.py +60 -47
  40. otdf_python/sdk_exceptions.py +11 -1
  41. otdf_python/symmetric_and_payload_config.py +6 -0
  42. otdf_python/tdf.py +47 -10
  43. otdf_python/tdf_reader.py +10 -13
  44. otdf_python/tdf_writer.py +5 -0
  45. otdf_python/token_source.py +4 -3
  46. otdf_python/version.py +5 -0
  47. otdf_python/zip_reader.py +10 -2
  48. otdf_python/zip_writer.py +11 -0
  49. {otdf_python-0.4.0.dist-info → otdf_python-0.4.2.dist-info}/METADATA +3 -2
  50. {otdf_python-0.4.0.dist-info → otdf_python-0.4.2.dist-info}/RECORD +81 -72
  51. {otdf_python-0.4.0.dist-info → otdf_python-0.4.2.dist-info}/WHEEL +1 -1
  52. otdf_python_proto/__init__.py +2 -6
  53. otdf_python_proto/authorization/__init__.py +10 -0
  54. otdf_python_proto/authorization/authorization_connect.py +250 -0
  55. otdf_python_proto/authorization/v2/authorization_connect.py +315 -0
  56. otdf_python_proto/entityresolution/__init__.py +10 -0
  57. otdf_python_proto/entityresolution/entity_resolution_connect.py +185 -0
  58. otdf_python_proto/entityresolution/v2/entity_resolution_connect.py +185 -0
  59. otdf_python_proto/kas/__init__.py +2 -2
  60. otdf_python_proto/kas/kas_connect.py +259 -0
  61. otdf_python_proto/policy/actions/__init__.py +11 -0
  62. otdf_python_proto/policy/actions/actions_connect.py +380 -0
  63. otdf_python_proto/policy/attributes/__init__.py +11 -0
  64. otdf_python_proto/policy/attributes/attributes_connect.py +1310 -0
  65. otdf_python_proto/policy/kasregistry/__init__.py +11 -0
  66. otdf_python_proto/policy/kasregistry/key_access_server_registry_connect.py +912 -0
  67. otdf_python_proto/policy/keymanagement/__init__.py +11 -0
  68. otdf_python_proto/policy/keymanagement/key_management_connect.py +380 -0
  69. otdf_python_proto/policy/namespaces/__init__.py +11 -0
  70. otdf_python_proto/policy/namespaces/namespaces_connect.py +648 -0
  71. otdf_python_proto/policy/registeredresources/__init__.py +11 -0
  72. otdf_python_proto/policy/registeredresources/registered_resources_connect.py +770 -0
  73. otdf_python_proto/policy/resourcemapping/__init__.py +11 -0
  74. otdf_python_proto/policy/resourcemapping/resource_mapping_connect.py +790 -0
  75. otdf_python_proto/policy/subjectmapping/__init__.py +11 -0
  76. otdf_python_proto/policy/subjectmapping/subject_mapping_connect.py +851 -0
  77. otdf_python_proto/policy/unsafe/__init__.py +11 -0
  78. otdf_python_proto/policy/unsafe/unsafe_connect.py +705 -0
  79. otdf_python_proto/wellknownconfiguration/__init__.py +10 -0
  80. otdf_python_proto/wellknownconfiguration/wellknown_configuration_connect.py +124 -0
  81. otdf_python_proto/authorization/authorization_pb2_connect.py +0 -191
  82. otdf_python_proto/authorization/v2/authorization_pb2_connect.py +0 -233
  83. otdf_python_proto/entityresolution/entity_resolution_pb2_connect.py +0 -149
  84. otdf_python_proto/entityresolution/v2/entity_resolution_pb2_connect.py +0 -149
  85. otdf_python_proto/kas/kas_pb2_connect.py +0 -192
  86. otdf_python_proto/policy/actions/actions_pb2_connect.py +0 -275
  87. otdf_python_proto/policy/attributes/attributes_pb2_connect.py +0 -863
  88. otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2_connect.py +0 -611
  89. otdf_python_proto/policy/keymanagement/key_management_pb2_connect.py +0 -275
  90. otdf_python_proto/policy/namespaces/namespaces_pb2_connect.py +0 -443
  91. otdf_python_proto/policy/registeredresources/registered_resources_pb2_connect.py +0 -527
  92. otdf_python_proto/policy/resourcemapping/resource_mapping_pb2_connect.py +0 -527
  93. otdf_python_proto/policy/subjectmapping/subject_mapping_pb2_connect.py +0 -569
  94. otdf_python_proto/policy/unsafe/unsafe_pb2_connect.py +0 -485
  95. otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2_connect.py +0 -107
  96. {otdf_python-0.4.0.dist-info → otdf_python-0.4.2.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
+ ]