otdf-python 0.1.10__py3-none-any.whl → 0.3.5__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.
- otdf_python/__init__.py +25 -0
- otdf_python/__main__.py +12 -0
- otdf_python/address_normalizer.py +84 -0
- otdf_python/aesgcm.py +55 -0
- otdf_python/assertion_config.py +84 -0
- otdf_python/asym_crypto.py +198 -0
- otdf_python/auth_headers.py +33 -0
- otdf_python/autoconfigure_utils.py +113 -0
- otdf_python/cli.py +569 -0
- otdf_python/collection_store.py +41 -0
- otdf_python/collection_store_impl.py +22 -0
- otdf_python/config.py +69 -0
- otdf_python/connect_client.py +0 -0
- otdf_python/constants.py +1 -0
- otdf_python/crypto_utils.py +78 -0
- otdf_python/dpop.py +81 -0
- otdf_python/ecc_constants.py +176 -0
- otdf_python/ecc_mode.py +83 -0
- otdf_python/ecdh.py +317 -0
- otdf_python/eckeypair.py +75 -0
- otdf_python/header.py +181 -0
- otdf_python/invalid_zip_exception.py +8 -0
- otdf_python/kas_client.py +709 -0
- otdf_python/kas_connect_rpc_client.py +213 -0
- otdf_python/kas_info.py +25 -0
- otdf_python/kas_key_cache.py +52 -0
- otdf_python/key_type.py +31 -0
- otdf_python/key_type_constants.py +43 -0
- otdf_python/manifest.py +215 -0
- otdf_python/nanotdf.py +863 -0
- otdf_python/nanotdf_ecdsa_struct.py +132 -0
- otdf_python/nanotdf_type.py +43 -0
- otdf_python/policy_binding_serializer.py +39 -0
- otdf_python/policy_info.py +55 -0
- otdf_python/policy_object.py +22 -0
- otdf_python/policy_stub.py +2 -0
- otdf_python/resource_locator.py +172 -0
- otdf_python/sdk.py +436 -0
- otdf_python/sdk_builder.py +416 -0
- otdf_python/sdk_exceptions.py +16 -0
- otdf_python/symmetric_and_payload_config.py +30 -0
- otdf_python/tdf.py +480 -0
- otdf_python/tdf_reader.py +153 -0
- otdf_python/tdf_writer.py +23 -0
- otdf_python/token_source.py +34 -0
- otdf_python/version.py +57 -0
- otdf_python/zip_reader.py +47 -0
- otdf_python/zip_writer.py +70 -0
- otdf_python-0.3.5.dist-info/METADATA +153 -0
- otdf_python-0.3.5.dist-info/RECORD +137 -0
- {otdf_python-0.1.10.dist-info → otdf_python-0.3.5.dist-info}/WHEEL +1 -2
- {otdf_python-0.1.10.dist-info → otdf_python-0.3.5.dist-info/licenses}/LICENSE +1 -1
- otdf_python_proto/__init__.py +37 -0
- otdf_python_proto/authorization/__init__.py +1 -0
- otdf_python_proto/authorization/authorization_pb2.py +80 -0
- otdf_python_proto/authorization/authorization_pb2.pyi +161 -0
- otdf_python_proto/authorization/authorization_pb2_connect.py +191 -0
- otdf_python_proto/authorization/v2/authorization_pb2.py +105 -0
- otdf_python_proto/authorization/v2/authorization_pb2.pyi +134 -0
- otdf_python_proto/authorization/v2/authorization_pb2_connect.py +233 -0
- otdf_python_proto/common/__init__.py +1 -0
- otdf_python_proto/common/common_pb2.py +52 -0
- otdf_python_proto/common/common_pb2.pyi +61 -0
- otdf_python_proto/entity/__init__.py +1 -0
- otdf_python_proto/entity/entity_pb2.py +47 -0
- otdf_python_proto/entity/entity_pb2.pyi +50 -0
- otdf_python_proto/entityresolution/__init__.py +1 -0
- otdf_python_proto/entityresolution/entity_resolution_pb2.py +57 -0
- otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +55 -0
- otdf_python_proto/entityresolution/entity_resolution_pb2_connect.py +149 -0
- otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +55 -0
- otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +55 -0
- otdf_python_proto/entityresolution/v2/entity_resolution_pb2_connect.py +149 -0
- otdf_python_proto/kas/__init__.py +9 -0
- otdf_python_proto/kas/kas_pb2.py +103 -0
- otdf_python_proto/kas/kas_pb2.pyi +170 -0
- otdf_python_proto/kas/kas_pb2_connect.py +192 -0
- otdf_python_proto/legacy_grpc/__init__.py +1 -0
- otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +163 -0
- otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +206 -0
- otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +4 -0
- otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +4 -0
- otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +122 -0
- otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +120 -0
- otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +172 -0
- otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +4 -0
- otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +249 -0
- otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +873 -0
- otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +602 -0
- otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +251 -0
- otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +427 -0
- otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +4 -0
- otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +524 -0
- otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +516 -0
- otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +4 -0
- otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +551 -0
- otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +485 -0
- otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +77 -0
- otdf_python_proto/logger/__init__.py +1 -0
- otdf_python_proto/logger/audit/test_pb2.py +43 -0
- otdf_python_proto/logger/audit/test_pb2.pyi +45 -0
- otdf_python_proto/policy/__init__.py +1 -0
- otdf_python_proto/policy/actions/actions_pb2.py +75 -0
- otdf_python_proto/policy/actions/actions_pb2.pyi +87 -0
- otdf_python_proto/policy/actions/actions_pb2_connect.py +275 -0
- otdf_python_proto/policy/attributes/attributes_pb2.py +234 -0
- otdf_python_proto/policy/attributes/attributes_pb2.pyi +328 -0
- otdf_python_proto/policy/attributes/attributes_pb2_connect.py +863 -0
- otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +266 -0
- otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +450 -0
- otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2_connect.py +611 -0
- otdf_python_proto/policy/keymanagement/key_management_pb2.py +79 -0
- otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +87 -0
- otdf_python_proto/policy/keymanagement/key_management_pb2_connect.py +275 -0
- otdf_python_proto/policy/namespaces/namespaces_pb2.py +117 -0
- otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +147 -0
- otdf_python_proto/policy/namespaces/namespaces_pb2_connect.py +443 -0
- otdf_python_proto/policy/objects_pb2.py +150 -0
- otdf_python_proto/policy/objects_pb2.pyi +464 -0
- otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +139 -0
- otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +196 -0
- otdf_python_proto/policy/registeredresources/registered_resources_pb2_connect.py +527 -0
- otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +139 -0
- otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +194 -0
- otdf_python_proto/policy/resourcemapping/resource_mapping_pb2_connect.py +527 -0
- otdf_python_proto/policy/selectors_pb2.py +57 -0
- otdf_python_proto/policy/selectors_pb2.pyi +90 -0
- otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +127 -0
- otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +189 -0
- otdf_python_proto/policy/subjectmapping/subject_mapping_pb2_connect.py +569 -0
- otdf_python_proto/policy/unsafe/unsafe_pb2.py +113 -0
- otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +145 -0
- otdf_python_proto/policy/unsafe/unsafe_pb2_connect.py +485 -0
- otdf_python_proto/wellknownconfiguration/__init__.py +1 -0
- otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +51 -0
- otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +32 -0
- otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2_connect.py +107 -0
- otdf_python/_gotdf_python.cpython-312-darwin.so +0 -0
- otdf_python/build.py +0 -190
- otdf_python/go.py +0 -1478
- otdf_python/gotdf_python.py +0 -383
- otdf_python-0.1.10.dist-info/METADATA +0 -149
- otdf_python-0.1.10.dist-info/RECORD +0 -10
- otdf_python-0.1.10.dist-info/top_level.txt +0 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Generated Connect client code
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from collections.abc import AsyncIterator
|
|
5
|
+
from collections.abc import Iterator
|
|
6
|
+
from collections.abc import Iterable
|
|
7
|
+
import aiohttp
|
|
8
|
+
import urllib3
|
|
9
|
+
import typing
|
|
10
|
+
import sys
|
|
11
|
+
|
|
12
|
+
from connectrpc.client_async import AsyncConnectClient
|
|
13
|
+
from connectrpc.client_sync import ConnectClient
|
|
14
|
+
from connectrpc.client_protocol import ConnectProtocol
|
|
15
|
+
from connectrpc.client_connect import ConnectProtocolError
|
|
16
|
+
from connectrpc.headers import HeaderInput
|
|
17
|
+
from connectrpc.server import ClientRequest
|
|
18
|
+
from connectrpc.server import ClientStream
|
|
19
|
+
from connectrpc.server import ServerResponse
|
|
20
|
+
from connectrpc.server import ServerStream
|
|
21
|
+
from connectrpc.server_sync import ConnectWSGI
|
|
22
|
+
from connectrpc.streams import StreamInput
|
|
23
|
+
from connectrpc.streams import AsyncStreamOutput
|
|
24
|
+
from connectrpc.streams import StreamOutput
|
|
25
|
+
from connectrpc.unary import UnaryOutput
|
|
26
|
+
from connectrpc.unary import ClientStreamingOutput
|
|
27
|
+
|
|
28
|
+
if typing.TYPE_CHECKING:
|
|
29
|
+
# wsgiref.types was added in Python 3.11.
|
|
30
|
+
if sys.version_info >= (3, 11):
|
|
31
|
+
from wsgiref.types import WSGIApplication
|
|
32
|
+
else:
|
|
33
|
+
from _typeshed.wsgi import WSGIApplication
|
|
34
|
+
|
|
35
|
+
import entityresolution.entity_resolution_pb2
|
|
36
|
+
|
|
37
|
+
class EntityResolutionServiceClient:
|
|
38
|
+
def __init__(
|
|
39
|
+
self,
|
|
40
|
+
base_url: str,
|
|
41
|
+
http_client: urllib3.PoolManager | None = None,
|
|
42
|
+
protocol: ConnectProtocol = ConnectProtocol.CONNECT_PROTOBUF,
|
|
43
|
+
):
|
|
44
|
+
self.base_url = base_url
|
|
45
|
+
self._connect_client = ConnectClient(http_client, protocol)
|
|
46
|
+
def call_resolve_entities(
|
|
47
|
+
self, req: entityresolution.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
48
|
+
) -> UnaryOutput[entityresolution.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
49
|
+
"""Low-level method to call ResolveEntities, granting access to errors and metadata"""
|
|
50
|
+
url = self.base_url + "/entityresolution.EntityResolutionService/ResolveEntities"
|
|
51
|
+
return self._connect_client.call_unary(url, req, entityresolution.entity_resolution_pb2.ResolveEntitiesResponse,extra_headers, timeout_seconds)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def resolve_entities(
|
|
55
|
+
self, req: entityresolution.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
56
|
+
) -> entityresolution.entity_resolution_pb2.ResolveEntitiesResponse:
|
|
57
|
+
response = self.call_resolve_entities(req, extra_headers, timeout_seconds)
|
|
58
|
+
err = response.error()
|
|
59
|
+
if err is not None:
|
|
60
|
+
raise err
|
|
61
|
+
msg = response.message()
|
|
62
|
+
if msg is None:
|
|
63
|
+
raise ConnectProtocolError('missing response message')
|
|
64
|
+
return msg
|
|
65
|
+
|
|
66
|
+
def call_create_entity_chain_from_jwt(
|
|
67
|
+
self, req: entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
68
|
+
) -> UnaryOutput[entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse]:
|
|
69
|
+
"""Low-level method to call CreateEntityChainFromJwt, granting access to errors and metadata"""
|
|
70
|
+
url = self.base_url + "/entityresolution.EntityResolutionService/CreateEntityChainFromJwt"
|
|
71
|
+
return self._connect_client.call_unary(url, req, entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse,extra_headers, timeout_seconds)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def create_entity_chain_from_jwt(
|
|
75
|
+
self, req: entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
76
|
+
) -> entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse:
|
|
77
|
+
response = self.call_create_entity_chain_from_jwt(req, extra_headers, timeout_seconds)
|
|
78
|
+
err = response.error()
|
|
79
|
+
if err is not None:
|
|
80
|
+
raise err
|
|
81
|
+
msg = response.message()
|
|
82
|
+
if msg is None:
|
|
83
|
+
raise ConnectProtocolError('missing response message')
|
|
84
|
+
return msg
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class AsyncEntityResolutionServiceClient:
|
|
88
|
+
def __init__(
|
|
89
|
+
self,
|
|
90
|
+
base_url: str,
|
|
91
|
+
http_client: aiohttp.ClientSession,
|
|
92
|
+
protocol: ConnectProtocol = ConnectProtocol.CONNECT_PROTOBUF,
|
|
93
|
+
):
|
|
94
|
+
self.base_url = base_url
|
|
95
|
+
self._connect_client = AsyncConnectClient(http_client, protocol)
|
|
96
|
+
|
|
97
|
+
async def call_resolve_entities(
|
|
98
|
+
self, req: entityresolution.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
99
|
+
) -> UnaryOutput[entityresolution.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
100
|
+
"""Low-level method to call ResolveEntities, granting access to errors and metadata"""
|
|
101
|
+
url = self.base_url + "/entityresolution.EntityResolutionService/ResolveEntities"
|
|
102
|
+
return await self._connect_client.call_unary(url, req, entityresolution.entity_resolution_pb2.ResolveEntitiesResponse,extra_headers, timeout_seconds)
|
|
103
|
+
|
|
104
|
+
async def resolve_entities(
|
|
105
|
+
self, req: entityresolution.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
106
|
+
) -> entityresolution.entity_resolution_pb2.ResolveEntitiesResponse:
|
|
107
|
+
response = await self.call_resolve_entities(req, extra_headers, timeout_seconds)
|
|
108
|
+
err = response.error()
|
|
109
|
+
if err is not None:
|
|
110
|
+
raise err
|
|
111
|
+
msg = response.message()
|
|
112
|
+
if msg is None:
|
|
113
|
+
raise ConnectProtocolError('missing response message')
|
|
114
|
+
return msg
|
|
115
|
+
|
|
116
|
+
async def call_create_entity_chain_from_jwt(
|
|
117
|
+
self, req: entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
118
|
+
) -> UnaryOutput[entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse]:
|
|
119
|
+
"""Low-level method to call CreateEntityChainFromJwt, granting access to errors and metadata"""
|
|
120
|
+
url = self.base_url + "/entityresolution.EntityResolutionService/CreateEntityChainFromJwt"
|
|
121
|
+
return await self._connect_client.call_unary(url, req, entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse,extra_headers, timeout_seconds)
|
|
122
|
+
|
|
123
|
+
async def create_entity_chain_from_jwt(
|
|
124
|
+
self, req: entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
125
|
+
) -> entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse:
|
|
126
|
+
response = await self.call_create_entity_chain_from_jwt(req, extra_headers, timeout_seconds)
|
|
127
|
+
err = response.error()
|
|
128
|
+
if err is not None:
|
|
129
|
+
raise err
|
|
130
|
+
msg = response.message()
|
|
131
|
+
if msg is None:
|
|
132
|
+
raise ConnectProtocolError('missing response message')
|
|
133
|
+
return msg
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
@typing.runtime_checkable
|
|
137
|
+
class EntityResolutionServiceProtocol(typing.Protocol):
|
|
138
|
+
def resolve_entities(self, req: ClientRequest[entityresolution.entity_resolution_pb2.ResolveEntitiesRequest]) -> ServerResponse[entityresolution.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
139
|
+
...
|
|
140
|
+
def create_entity_chain_from_jwt(self, req: ClientRequest[entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest]) -> ServerResponse[entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtResponse]:
|
|
141
|
+
...
|
|
142
|
+
|
|
143
|
+
ENTITY_RESOLUTION_SERVICE_PATH_PREFIX = "/entityresolution.EntityResolutionService"
|
|
144
|
+
|
|
145
|
+
def wsgi_entity_resolution_service(implementation: EntityResolutionServiceProtocol) -> WSGIApplication:
|
|
146
|
+
app = ConnectWSGI()
|
|
147
|
+
app.register_unary_rpc("/entityresolution.EntityResolutionService/ResolveEntities", implementation.resolve_entities, entityresolution.entity_resolution_pb2.ResolveEntitiesRequest)
|
|
148
|
+
app.register_unary_rpc("/entityresolution.EntityResolutionService/CreateEntityChainFromJwt", implementation.create_entity_chain_from_jwt, entityresolution.entity_resolution_pb2.CreateEntityChainFromJwtRequest)
|
|
149
|
+
return app
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: entityresolution/v2/entity_resolution.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
|
+
'entityresolution/v2/entity_resolution.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 entity import entity_pb2 as entity_dot_entity__pb2
|
|
27
|
+
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
|
|
28
|
+
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+entityresolution/v2/entity_resolution.proto\x12\x13\x65ntityresolution.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x13\x65ntity/entity.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"{\n\x14\x45ntityRepresentation\x12\x1f\n\x0boriginal_id\x18\x01 \x01(\tR\noriginalId\x12\x42\n\x10\x61\x64\x64itional_props\x18\x02 \x03(\x0b\x32\x17.google.protobuf.StructR\x0f\x61\x64\x64itionalProps\"Q\n\x16ResolveEntitiesRequest\x12\x37\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x0e.entity.EntityB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x08\x65ntities\"{\n\x17ResolveEntitiesResponse\x12`\n\x16\x65ntity_representations\x18\x01 \x03(\x0b\x32).entityresolution.v2.EntityRepresentationR\x15\x65ntityRepresentations\"\x8b\x01\n\x13\x45ntityNotFoundError\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tails\x12\x16\n\x06\x65ntity\x18\x04 \x01(\tR\x06\x65ntity\"L\n#CreateEntityChainsFromTokensRequest\x12%\n\x06tokens\x18\x01 \x03(\x0b\x32\r.entity.TokenR\x06tokens\"`\n$CreateEntityChainsFromTokensResponse\x12\x38\n\rentity_chains\x18\x01 \x03(\x0b\x32\x13.entity.EntityChainR\x0c\x65ntityChains2\xa1\x02\n\x17\x45ntityResolutionService\x12n\n\x0fResolveEntities\x12+.entityresolution.v2.ResolveEntitiesRequest\x1a,.entityresolution.v2.ResolveEntitiesResponse\"\x00\x12\x95\x01\n\x1c\x43reateEntityChainsFromTokens\x12\x38.entityresolution.v2.CreateEntityChainsFromTokensRequest\x1a\x39.entityresolution.v2.CreateEntityChainsFromTokensResponse\"\x00\x42\x9d\x01\n\x17\x63om.entityresolution.v2B\x15\x45ntityResolutionProtoP\x01\xa2\x02\x03\x45XX\xaa\x02\x13\x45ntityresolution.V2\xca\x02\x13\x45ntityresolution\\V2\xe2\x02\x1f\x45ntityresolution\\V2\\GPBMetadata\xea\x02\x14\x45ntityresolution::V2b\x06proto3')
|
|
32
|
+
|
|
33
|
+
_globals = globals()
|
|
34
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
35
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'entityresolution.v2.entity_resolution_pb2', _globals)
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\027com.entityresolution.v2B\025EntityResolutionProtoP\001\242\002\003EXX\252\002\023Entityresolution.V2\312\002\023Entityresolution\\V2\342\002\037Entityresolution\\V2\\GPBMetadata\352\002\024Entityresolution::V2'
|
|
39
|
+
_globals['_RESOLVEENTITIESREQUEST'].fields_by_name['entities']._loaded_options = None
|
|
40
|
+
_globals['_RESOLVEENTITIESREQUEST'].fields_by_name['entities']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
|
|
41
|
+
_globals['_ENTITYREPRESENTATION']._serialized_start=175
|
|
42
|
+
_globals['_ENTITYREPRESENTATION']._serialized_end=298
|
|
43
|
+
_globals['_RESOLVEENTITIESREQUEST']._serialized_start=300
|
|
44
|
+
_globals['_RESOLVEENTITIESREQUEST']._serialized_end=381
|
|
45
|
+
_globals['_RESOLVEENTITIESRESPONSE']._serialized_start=383
|
|
46
|
+
_globals['_RESOLVEENTITIESRESPONSE']._serialized_end=506
|
|
47
|
+
_globals['_ENTITYNOTFOUNDERROR']._serialized_start=509
|
|
48
|
+
_globals['_ENTITYNOTFOUNDERROR']._serialized_end=648
|
|
49
|
+
_globals['_CREATEENTITYCHAINSFROMTOKENSREQUEST']._serialized_start=650
|
|
50
|
+
_globals['_CREATEENTITYCHAINSFROMTOKENSREQUEST']._serialized_end=726
|
|
51
|
+
_globals['_CREATEENTITYCHAINSFROMTOKENSRESPONSE']._serialized_start=728
|
|
52
|
+
_globals['_CREATEENTITYCHAINSFROMTOKENSRESPONSE']._serialized_end=824
|
|
53
|
+
_globals['_ENTITYRESOLUTIONSERVICE']._serialized_start=827
|
|
54
|
+
_globals['_ENTITYRESOLUTIONSERVICE']._serialized_end=1116
|
|
55
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
2
|
+
from entity import entity_pb2 as _entity_pb2
|
|
3
|
+
from google.protobuf import any_pb2 as _any_pb2
|
|
4
|
+
from google.protobuf import struct_pb2 as _struct_pb2
|
|
5
|
+
from google.protobuf.internal import containers as _containers
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import message as _message
|
|
8
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
9
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
10
|
+
|
|
11
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
12
|
+
|
|
13
|
+
class EntityRepresentation(_message.Message):
|
|
14
|
+
__slots__ = ("original_id", "additional_props")
|
|
15
|
+
ORIGINAL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
16
|
+
ADDITIONAL_PROPS_FIELD_NUMBER: _ClassVar[int]
|
|
17
|
+
original_id: str
|
|
18
|
+
additional_props: _containers.RepeatedCompositeFieldContainer[_struct_pb2.Struct]
|
|
19
|
+
def __init__(self, original_id: _Optional[str] = ..., additional_props: _Optional[_Iterable[_Union[_struct_pb2.Struct, _Mapping]]] = ...) -> None: ...
|
|
20
|
+
|
|
21
|
+
class ResolveEntitiesRequest(_message.Message):
|
|
22
|
+
__slots__ = ("entities",)
|
|
23
|
+
ENTITIES_FIELD_NUMBER: _ClassVar[int]
|
|
24
|
+
entities: _containers.RepeatedCompositeFieldContainer[_entity_pb2.Entity]
|
|
25
|
+
def __init__(self, entities: _Optional[_Iterable[_Union[_entity_pb2.Entity, _Mapping]]] = ...) -> None: ...
|
|
26
|
+
|
|
27
|
+
class ResolveEntitiesResponse(_message.Message):
|
|
28
|
+
__slots__ = ("entity_representations",)
|
|
29
|
+
ENTITY_REPRESENTATIONS_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
+
entity_representations: _containers.RepeatedCompositeFieldContainer[EntityRepresentation]
|
|
31
|
+
def __init__(self, entity_representations: _Optional[_Iterable[_Union[EntityRepresentation, _Mapping]]] = ...) -> None: ...
|
|
32
|
+
|
|
33
|
+
class EntityNotFoundError(_message.Message):
|
|
34
|
+
__slots__ = ("code", "message", "details", "entity")
|
|
35
|
+
CODE_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
MESSAGE_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
+
DETAILS_FIELD_NUMBER: _ClassVar[int]
|
|
38
|
+
ENTITY_FIELD_NUMBER: _ClassVar[int]
|
|
39
|
+
code: int
|
|
40
|
+
message: str
|
|
41
|
+
details: _containers.RepeatedCompositeFieldContainer[_any_pb2.Any]
|
|
42
|
+
entity: str
|
|
43
|
+
def __init__(self, code: _Optional[int] = ..., message: _Optional[str] = ..., details: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]] = ..., entity: _Optional[str] = ...) -> None: ...
|
|
44
|
+
|
|
45
|
+
class CreateEntityChainsFromTokensRequest(_message.Message):
|
|
46
|
+
__slots__ = ("tokens",)
|
|
47
|
+
TOKENS_FIELD_NUMBER: _ClassVar[int]
|
|
48
|
+
tokens: _containers.RepeatedCompositeFieldContainer[_entity_pb2.Token]
|
|
49
|
+
def __init__(self, tokens: _Optional[_Iterable[_Union[_entity_pb2.Token, _Mapping]]] = ...) -> None: ...
|
|
50
|
+
|
|
51
|
+
class CreateEntityChainsFromTokensResponse(_message.Message):
|
|
52
|
+
__slots__ = ("entity_chains",)
|
|
53
|
+
ENTITY_CHAINS_FIELD_NUMBER: _ClassVar[int]
|
|
54
|
+
entity_chains: _containers.RepeatedCompositeFieldContainer[_entity_pb2.EntityChain]
|
|
55
|
+
def __init__(self, entity_chains: _Optional[_Iterable[_Union[_entity_pb2.EntityChain, _Mapping]]] = ...) -> None: ...
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Generated Connect client code
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from collections.abc import AsyncIterator
|
|
5
|
+
from collections.abc import Iterator
|
|
6
|
+
from collections.abc import Iterable
|
|
7
|
+
import aiohttp
|
|
8
|
+
import urllib3
|
|
9
|
+
import typing
|
|
10
|
+
import sys
|
|
11
|
+
|
|
12
|
+
from connectrpc.client_async import AsyncConnectClient
|
|
13
|
+
from connectrpc.client_sync import ConnectClient
|
|
14
|
+
from connectrpc.client_protocol import ConnectProtocol
|
|
15
|
+
from connectrpc.client_connect import ConnectProtocolError
|
|
16
|
+
from connectrpc.headers import HeaderInput
|
|
17
|
+
from connectrpc.server import ClientRequest
|
|
18
|
+
from connectrpc.server import ClientStream
|
|
19
|
+
from connectrpc.server import ServerResponse
|
|
20
|
+
from connectrpc.server import ServerStream
|
|
21
|
+
from connectrpc.server_sync import ConnectWSGI
|
|
22
|
+
from connectrpc.streams import StreamInput
|
|
23
|
+
from connectrpc.streams import AsyncStreamOutput
|
|
24
|
+
from connectrpc.streams import StreamOutput
|
|
25
|
+
from connectrpc.unary import UnaryOutput
|
|
26
|
+
from connectrpc.unary import ClientStreamingOutput
|
|
27
|
+
|
|
28
|
+
if typing.TYPE_CHECKING:
|
|
29
|
+
# wsgiref.types was added in Python 3.11.
|
|
30
|
+
if sys.version_info >= (3, 11):
|
|
31
|
+
from wsgiref.types import WSGIApplication
|
|
32
|
+
else:
|
|
33
|
+
from _typeshed.wsgi import WSGIApplication
|
|
34
|
+
|
|
35
|
+
import entityresolution.v2.entity_resolution_pb2
|
|
36
|
+
|
|
37
|
+
class EntityResolutionServiceClient:
|
|
38
|
+
def __init__(
|
|
39
|
+
self,
|
|
40
|
+
base_url: str,
|
|
41
|
+
http_client: urllib3.PoolManager | None = None,
|
|
42
|
+
protocol: ConnectProtocol = ConnectProtocol.CONNECT_PROTOBUF,
|
|
43
|
+
):
|
|
44
|
+
self.base_url = base_url
|
|
45
|
+
self._connect_client = ConnectClient(http_client, protocol)
|
|
46
|
+
def call_resolve_entities(
|
|
47
|
+
self, req: entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
48
|
+
) -> UnaryOutput[entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
49
|
+
"""Low-level method to call ResolveEntities, granting access to errors and metadata"""
|
|
50
|
+
url = self.base_url + "/entityresolution.v2.EntityResolutionService/ResolveEntities"
|
|
51
|
+
return self._connect_client.call_unary(url, req, entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse,extra_headers, timeout_seconds)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def resolve_entities(
|
|
55
|
+
self, req: entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
56
|
+
) -> entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse:
|
|
57
|
+
response = self.call_resolve_entities(req, extra_headers, timeout_seconds)
|
|
58
|
+
err = response.error()
|
|
59
|
+
if err is not None:
|
|
60
|
+
raise err
|
|
61
|
+
msg = response.message()
|
|
62
|
+
if msg is None:
|
|
63
|
+
raise ConnectProtocolError('missing response message')
|
|
64
|
+
return msg
|
|
65
|
+
|
|
66
|
+
def call_create_entity_chains_from_tokens(
|
|
67
|
+
self, req: entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
68
|
+
) -> UnaryOutput[entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse]:
|
|
69
|
+
"""Low-level method to call CreateEntityChainsFromTokens, granting access to errors and metadata"""
|
|
70
|
+
url = self.base_url + "/entityresolution.v2.EntityResolutionService/CreateEntityChainsFromTokens"
|
|
71
|
+
return self._connect_client.call_unary(url, req, entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse,extra_headers, timeout_seconds)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def create_entity_chains_from_tokens(
|
|
75
|
+
self, req: entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
76
|
+
) -> entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse:
|
|
77
|
+
response = self.call_create_entity_chains_from_tokens(req, extra_headers, timeout_seconds)
|
|
78
|
+
err = response.error()
|
|
79
|
+
if err is not None:
|
|
80
|
+
raise err
|
|
81
|
+
msg = response.message()
|
|
82
|
+
if msg is None:
|
|
83
|
+
raise ConnectProtocolError('missing response message')
|
|
84
|
+
return msg
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class AsyncEntityResolutionServiceClient:
|
|
88
|
+
def __init__(
|
|
89
|
+
self,
|
|
90
|
+
base_url: str,
|
|
91
|
+
http_client: aiohttp.ClientSession,
|
|
92
|
+
protocol: ConnectProtocol = ConnectProtocol.CONNECT_PROTOBUF,
|
|
93
|
+
):
|
|
94
|
+
self.base_url = base_url
|
|
95
|
+
self._connect_client = AsyncConnectClient(http_client, protocol)
|
|
96
|
+
|
|
97
|
+
async def call_resolve_entities(
|
|
98
|
+
self, req: entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
99
|
+
) -> UnaryOutput[entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
100
|
+
"""Low-level method to call ResolveEntities, granting access to errors and metadata"""
|
|
101
|
+
url = self.base_url + "/entityresolution.v2.EntityResolutionService/ResolveEntities"
|
|
102
|
+
return await self._connect_client.call_unary(url, req, entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse,extra_headers, timeout_seconds)
|
|
103
|
+
|
|
104
|
+
async def resolve_entities(
|
|
105
|
+
self, req: entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
106
|
+
) -> entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse:
|
|
107
|
+
response = await self.call_resolve_entities(req, extra_headers, timeout_seconds)
|
|
108
|
+
err = response.error()
|
|
109
|
+
if err is not None:
|
|
110
|
+
raise err
|
|
111
|
+
msg = response.message()
|
|
112
|
+
if msg is None:
|
|
113
|
+
raise ConnectProtocolError('missing response message')
|
|
114
|
+
return msg
|
|
115
|
+
|
|
116
|
+
async def call_create_entity_chains_from_tokens(
|
|
117
|
+
self, req: entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
118
|
+
) -> UnaryOutput[entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse]:
|
|
119
|
+
"""Low-level method to call CreateEntityChainsFromTokens, granting access to errors and metadata"""
|
|
120
|
+
url = self.base_url + "/entityresolution.v2.EntityResolutionService/CreateEntityChainsFromTokens"
|
|
121
|
+
return await self._connect_client.call_unary(url, req, entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse,extra_headers, timeout_seconds)
|
|
122
|
+
|
|
123
|
+
async def create_entity_chains_from_tokens(
|
|
124
|
+
self, req: entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
|
|
125
|
+
) -> entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse:
|
|
126
|
+
response = await self.call_create_entity_chains_from_tokens(req, extra_headers, timeout_seconds)
|
|
127
|
+
err = response.error()
|
|
128
|
+
if err is not None:
|
|
129
|
+
raise err
|
|
130
|
+
msg = response.message()
|
|
131
|
+
if msg is None:
|
|
132
|
+
raise ConnectProtocolError('missing response message')
|
|
133
|
+
return msg
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
@typing.runtime_checkable
|
|
137
|
+
class EntityResolutionServiceProtocol(typing.Protocol):
|
|
138
|
+
def resolve_entities(self, req: ClientRequest[entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest]) -> ServerResponse[entityresolution.v2.entity_resolution_pb2.ResolveEntitiesResponse]:
|
|
139
|
+
...
|
|
140
|
+
def create_entity_chains_from_tokens(self, req: ClientRequest[entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest]) -> ServerResponse[entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensResponse]:
|
|
141
|
+
...
|
|
142
|
+
|
|
143
|
+
ENTITY_RESOLUTION_SERVICE_PATH_PREFIX = "/entityresolution.v2.EntityResolutionService"
|
|
144
|
+
|
|
145
|
+
def wsgi_entity_resolution_service(implementation: EntityResolutionServiceProtocol) -> WSGIApplication:
|
|
146
|
+
app = ConnectWSGI()
|
|
147
|
+
app.register_unary_rpc("/entityresolution.v2.EntityResolutionService/ResolveEntities", implementation.resolve_entities, entityresolution.v2.entity_resolution_pb2.ResolveEntitiesRequest)
|
|
148
|
+
app.register_unary_rpc("/entityresolution.v2.EntityResolutionService/CreateEntityChainsFromTokens", implementation.create_entity_chains_from_tokens, entityresolution.v2.entity_resolution_pb2.CreateEntityChainsFromTokensRequest)
|
|
149
|
+
return app
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: kas/kas.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
|
+
'kas/kas.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
26
|
+
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
27
|
+
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
|
|
28
|
+
from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rkas/kas.proto\x12\x03kas\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\r\n\x0bInfoRequest\"(\n\x0cInfoResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\"6\n\x16LegacyPublicKeyRequest\x12\x1c\n\talgorithm\x18\x01 \x01(\tR\talgorithm\";\n\rPolicyBinding\x12\x16\n\talgorithm\x18\x01 \x01(\tR\x03\x61lg\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\"\xd3\x02\n\tKeyAccess\x12-\n\x12\x65ncrypted_metadata\x18\x01 \x01(\tR\x11\x65ncryptedMetadata\x12\x39\n\x0epolicy_binding\x18\x02 \x01(\x0b\x32\x12.kas.PolicyBindingR\rpolicyBinding\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x16\n\x08key_type\x18\x04 \x01(\tR\x04type\x12\x14\n\x07kas_url\x18\x05 \x01(\tR\x03url\x12\x10\n\x03kid\x18\x06 \x01(\tR\x03kid\x12\x15\n\x08split_id\x18\x07 \x01(\tR\x03sid\x12\x1f\n\x0bwrapped_key\x18\x08 \x01(\x0cR\nwrappedKey\x12\x16\n\x06header\x18\t \x01(\x0cR\x06header\x12\x30\n\x14\x65phemeral_public_key\x18\n \x01(\tR\x12\x65phemeralPublicKey\"\x86\x05\n\x15UnsignedRewrapRequest\x12*\n\x11\x63lient_public_key\x18\x01 \x01(\tR\x0f\x63lientPublicKey\x12H\n\x08requests\x18\x02 \x03(\x0b\x32,.kas.UnsignedRewrapRequest.WithPolicyRequestR\x08requests\x12\x31\n\nkey_access\x18\x03 \x01(\x0b\x32\x0e.kas.KeyAccessB\x02\x18\x01R\tkeyAccess\x12\x1a\n\x06policy\x18\x04 \x01(\tB\x02\x18\x01R\x06policy\x12 \n\talgorithm\x18\x05 \x01(\tB\x02\x18\x01R\talgorithm\x1a\x30\n\nWithPolicy\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04\x62ody\x18\x02 \x01(\tR\x04\x62ody\x1a\x82\x01\n\x13WithKeyAccessObject\x12/\n\x14key_access_object_id\x18\x01 \x01(\tR\x11keyAccessObjectId\x12:\n\x11key_access_object\x18\x02 \x01(\x0b\x32\x0e.kas.KeyAccessR\x0fkeyAccessObject\x1a\xce\x01\n\x11WithPolicyRequest\x12\\\n\x12key_access_objects\x18\x01 \x03(\x0b\x32..kas.UnsignedRewrapRequest.WithKeyAccessObjectR\x10keyAccessObjects\x12=\n\x06policy\x18\x02 \x01(\x0b\x32%.kas.UnsignedRewrapRequest.WithPolicyR\x06policy\x12\x1c\n\talgorithm\x18\x03 \x01(\tR\talgorithm\"\xb1\x01\n\x10PublicKeyRequest\x12Q\n\talgorithm\x18\x01 \x01(\tB3\x92\x41\x30\x32.algorithm type rsa:<keysize> or ec:<curvename>R\talgorithm\x12&\n\x03\x66mt\x18\x02 \x01(\tB\x14\x92\x41\x11\x32\x0fresponse formatR\x03\x66mt\x12\"\n\x01v\x18\x03 \x01(\tB\x14\x92\x41\x11\x32\x0frequest versionR\x01v\"D\n\x11PublicKeyResponse\x12\x1d\n\npublic_key\x18\x01 \x01(\tR\tpublicKey\x12\x10\n\x03kid\x18\x02 \x01(\tR\x03kid\"O\n\rRewrapRequest\x12\x30\n\x14signed_request_token\x18\x01 \x01(\tR\x12signedRequestTokenJ\x04\x08\x02\x10\x03R\x06\x62\x65\x61rer\"\xc7\x02\n\x15KeyAccessRewrapResult\x12\x44\n\x08metadata\x18\x01 \x03(\x0b\x32(.kas.KeyAccessRewrapResult.MetadataEntryR\x08metadata\x12/\n\x14key_access_object_id\x18\x02 \x01(\tR\x11keyAccessObjectId\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\x12(\n\x0fkas_wrapped_key\x18\x04 \x01(\x0cH\x00R\rkasWrappedKey\x12\x16\n\x05\x65rror\x18\x05 \x01(\tH\x00R\x05\x65rror\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x42\x08\n\x06result\"g\n\x12PolicyRewrapResult\x12\x1b\n\tpolicy_id\x18\x01 \x01(\tR\x08policyId\x12\x34\n\x07results\x18\x02 \x03(\x0b\x32\x1a.kas.KeyAccessRewrapResultR\x07results\"\xea\x02\n\x0eRewrapResponse\x12\x41\n\x08metadata\x18\x01 \x03(\x0b\x32!.kas.RewrapResponse.MetadataEntryB\x02\x18\x01R\x08metadata\x12\x30\n\x12\x65ntity_wrapped_key\x18\x02 \x01(\x0c\x42\x02\x18\x01R\x10\x65ntityWrappedKey\x12,\n\x12session_public_key\x18\x03 \x01(\tR\x10sessionPublicKey\x12)\n\x0eschema_version\x18\x04 \x01(\tB\x02\x18\x01R\rschemaVersion\x12\x35\n\tresponses\x18\x05 \x03(\x0b\x32\x17.kas.PolicyRewrapResultR\tresponses\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x32\xd1\x02\n\rAccessService\x12i\n\tPublicKey\x12\x15.kas.PublicKeyRequest\x1a\x16.kas.PublicKeyResponse\"-\x90\x02\x01\x92\x41\tJ\x07\n\x03\x32\x30\x30\x12\x00\x82\xd3\xe4\x93\x02\x18\x12\x16/kas/v2/kas_public_key\x12{\n\x0fLegacyPublicKey\x12\x1b.kas.LegacyPublicKeyRequest\x1a\x1c.google.protobuf.StringValue\"-\x88\x02\x01\x90\x02\x01\x92\x41\tJ\x07\n\x03\x32\x30\x30\x12\x00\x82\xd3\xe4\x93\x02\x15\x12\x13/kas/kas_public_key\x12X\n\x06Rewrap\x12\x12.kas.RewrapRequest\x1a\x13.kas.RewrapResponse\"%\x92\x41\tJ\x07\n\x03\x32\x30\x30\x12\x00\x82\xd3\xe4\x93\x02\x13\"\x0e/kas/v2/rewrap:\x01*B\xb5\x01\n\x07\x63om.kasB\x08KasProtoP\x01\xa2\x02\x03KXX\xaa\x02\x03Kas\xca\x02\x03Kas\xe2\x02\x0fKas\\GPBMetadata\xea\x02\x03Kas\x92\x41s\x12q\n\x1aOpenTDF Key Access Service*L\n\x12\x42SD 3-Clause Clear\x12\x36https://github.com/opentdf/backend/blob/master/LICENSE2\x05\x31.5.0b\x06proto3')
|
|
32
|
+
|
|
33
|
+
_globals = globals()
|
|
34
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
35
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'kas.kas_pb2', _globals)
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\007com.kasB\010KasProtoP\001\242\002\003KXX\252\002\003Kas\312\002\003Kas\342\002\017Kas\\GPBMetadata\352\002\003Kas\222As\022q\n\032OpenTDF Key Access Service*L\n\022BSD 3-Clause Clear\0226https://github.com/opentdf/backend/blob/master/LICENSE2\0051.5.0'
|
|
39
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['key_access']._loaded_options = None
|
|
40
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['key_access']._serialized_options = b'\030\001'
|
|
41
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['policy']._loaded_options = None
|
|
42
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['policy']._serialized_options = b'\030\001'
|
|
43
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['algorithm']._loaded_options = None
|
|
44
|
+
_globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['algorithm']._serialized_options = b'\030\001'
|
|
45
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['algorithm']._loaded_options = None
|
|
46
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['algorithm']._serialized_options = b'\222A02.algorithm type rsa:<keysize> or ec:<curvename>'
|
|
47
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['fmt']._loaded_options = None
|
|
48
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['fmt']._serialized_options = b'\222A\0212\017response format'
|
|
49
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['v']._loaded_options = None
|
|
50
|
+
_globals['_PUBLICKEYREQUEST'].fields_by_name['v']._serialized_options = b'\222A\0212\017request version'
|
|
51
|
+
_globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._loaded_options = None
|
|
52
|
+
_globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_options = b'8\001'
|
|
53
|
+
_globals['_REWRAPRESPONSE_METADATAENTRY']._loaded_options = None
|
|
54
|
+
_globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_options = b'8\001'
|
|
55
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['metadata']._loaded_options = None
|
|
56
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['metadata']._serialized_options = b'\030\001'
|
|
57
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['entity_wrapped_key']._loaded_options = None
|
|
58
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['entity_wrapped_key']._serialized_options = b'\030\001'
|
|
59
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['schema_version']._loaded_options = None
|
|
60
|
+
_globals['_REWRAPRESPONSE'].fields_by_name['schema_version']._serialized_options = b'\030\001'
|
|
61
|
+
_globals['_ACCESSSERVICE'].methods_by_name['PublicKey']._loaded_options = None
|
|
62
|
+
_globals['_ACCESSSERVICE'].methods_by_name['PublicKey']._serialized_options = b'\220\002\001\222A\tJ\007\n\003200\022\000\202\323\344\223\002\030\022\026/kas/v2/kas_public_key'
|
|
63
|
+
_globals['_ACCESSSERVICE'].methods_by_name['LegacyPublicKey']._loaded_options = None
|
|
64
|
+
_globals['_ACCESSSERVICE'].methods_by_name['LegacyPublicKey']._serialized_options = b'\210\002\001\220\002\001\222A\tJ\007\n\003200\022\000\202\323\344\223\002\025\022\023/kas/kas_public_key'
|
|
65
|
+
_globals['_ACCESSSERVICE'].methods_by_name['Rewrap']._loaded_options = None
|
|
66
|
+
_globals['_ACCESSSERVICE'].methods_by_name['Rewrap']._serialized_options = b'\222A\tJ\007\n\003200\022\000\202\323\344\223\002\023\"\016/kas/v2/rewrap:\001*'
|
|
67
|
+
_globals['_INFOREQUEST']._serialized_start=162
|
|
68
|
+
_globals['_INFOREQUEST']._serialized_end=175
|
|
69
|
+
_globals['_INFORESPONSE']._serialized_start=177
|
|
70
|
+
_globals['_INFORESPONSE']._serialized_end=217
|
|
71
|
+
_globals['_LEGACYPUBLICKEYREQUEST']._serialized_start=219
|
|
72
|
+
_globals['_LEGACYPUBLICKEYREQUEST']._serialized_end=273
|
|
73
|
+
_globals['_POLICYBINDING']._serialized_start=275
|
|
74
|
+
_globals['_POLICYBINDING']._serialized_end=334
|
|
75
|
+
_globals['_KEYACCESS']._serialized_start=337
|
|
76
|
+
_globals['_KEYACCESS']._serialized_end=676
|
|
77
|
+
_globals['_UNSIGNEDREWRAPREQUEST']._serialized_start=679
|
|
78
|
+
_globals['_UNSIGNEDREWRAPREQUEST']._serialized_end=1325
|
|
79
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICY']._serialized_start=935
|
|
80
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICY']._serialized_end=983
|
|
81
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHKEYACCESSOBJECT']._serialized_start=986
|
|
82
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHKEYACCESSOBJECT']._serialized_end=1116
|
|
83
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICYREQUEST']._serialized_start=1119
|
|
84
|
+
_globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICYREQUEST']._serialized_end=1325
|
|
85
|
+
_globals['_PUBLICKEYREQUEST']._serialized_start=1328
|
|
86
|
+
_globals['_PUBLICKEYREQUEST']._serialized_end=1505
|
|
87
|
+
_globals['_PUBLICKEYRESPONSE']._serialized_start=1507
|
|
88
|
+
_globals['_PUBLICKEYRESPONSE']._serialized_end=1575
|
|
89
|
+
_globals['_REWRAPREQUEST']._serialized_start=1577
|
|
90
|
+
_globals['_REWRAPREQUEST']._serialized_end=1656
|
|
91
|
+
_globals['_KEYACCESSREWRAPRESULT']._serialized_start=1659
|
|
92
|
+
_globals['_KEYACCESSREWRAPRESULT']._serialized_end=1986
|
|
93
|
+
_globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_start=1893
|
|
94
|
+
_globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_end=1976
|
|
95
|
+
_globals['_POLICYREWRAPRESULT']._serialized_start=1988
|
|
96
|
+
_globals['_POLICYREWRAPRESULT']._serialized_end=2091
|
|
97
|
+
_globals['_REWRAPRESPONSE']._serialized_start=2094
|
|
98
|
+
_globals['_REWRAPRESPONSE']._serialized_end=2456
|
|
99
|
+
_globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_start=1893
|
|
100
|
+
_globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_end=1976
|
|
101
|
+
_globals['_ACCESSSERVICE']._serialized_start=2459
|
|
102
|
+
_globals['_ACCESSSERVICE']._serialized_end=2796
|
|
103
|
+
# @@protoc_insertion_point(module_scope)
|