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.
Files changed (144) hide show
  1. otdf_python/__init__.py +25 -0
  2. otdf_python/__main__.py +12 -0
  3. otdf_python/address_normalizer.py +84 -0
  4. otdf_python/aesgcm.py +55 -0
  5. otdf_python/assertion_config.py +84 -0
  6. otdf_python/asym_crypto.py +198 -0
  7. otdf_python/auth_headers.py +33 -0
  8. otdf_python/autoconfigure_utils.py +113 -0
  9. otdf_python/cli.py +569 -0
  10. otdf_python/collection_store.py +41 -0
  11. otdf_python/collection_store_impl.py +22 -0
  12. otdf_python/config.py +69 -0
  13. otdf_python/connect_client.py +0 -0
  14. otdf_python/constants.py +1 -0
  15. otdf_python/crypto_utils.py +78 -0
  16. otdf_python/dpop.py +81 -0
  17. otdf_python/ecc_constants.py +176 -0
  18. otdf_python/ecc_mode.py +83 -0
  19. otdf_python/ecdh.py +317 -0
  20. otdf_python/eckeypair.py +75 -0
  21. otdf_python/header.py +181 -0
  22. otdf_python/invalid_zip_exception.py +8 -0
  23. otdf_python/kas_client.py +709 -0
  24. otdf_python/kas_connect_rpc_client.py +213 -0
  25. otdf_python/kas_info.py +25 -0
  26. otdf_python/kas_key_cache.py +52 -0
  27. otdf_python/key_type.py +31 -0
  28. otdf_python/key_type_constants.py +43 -0
  29. otdf_python/manifest.py +215 -0
  30. otdf_python/nanotdf.py +863 -0
  31. otdf_python/nanotdf_ecdsa_struct.py +132 -0
  32. otdf_python/nanotdf_type.py +43 -0
  33. otdf_python/policy_binding_serializer.py +39 -0
  34. otdf_python/policy_info.py +55 -0
  35. otdf_python/policy_object.py +22 -0
  36. otdf_python/policy_stub.py +2 -0
  37. otdf_python/resource_locator.py +172 -0
  38. otdf_python/sdk.py +436 -0
  39. otdf_python/sdk_builder.py +416 -0
  40. otdf_python/sdk_exceptions.py +16 -0
  41. otdf_python/symmetric_and_payload_config.py +30 -0
  42. otdf_python/tdf.py +480 -0
  43. otdf_python/tdf_reader.py +153 -0
  44. otdf_python/tdf_writer.py +23 -0
  45. otdf_python/token_source.py +34 -0
  46. otdf_python/version.py +57 -0
  47. otdf_python/zip_reader.py +47 -0
  48. otdf_python/zip_writer.py +70 -0
  49. otdf_python-0.3.5.dist-info/METADATA +153 -0
  50. otdf_python-0.3.5.dist-info/RECORD +137 -0
  51. {otdf_python-0.1.10.dist-info → otdf_python-0.3.5.dist-info}/WHEEL +1 -2
  52. {otdf_python-0.1.10.dist-info → otdf_python-0.3.5.dist-info/licenses}/LICENSE +1 -1
  53. otdf_python_proto/__init__.py +37 -0
  54. otdf_python_proto/authorization/__init__.py +1 -0
  55. otdf_python_proto/authorization/authorization_pb2.py +80 -0
  56. otdf_python_proto/authorization/authorization_pb2.pyi +161 -0
  57. otdf_python_proto/authorization/authorization_pb2_connect.py +191 -0
  58. otdf_python_proto/authorization/v2/authorization_pb2.py +105 -0
  59. otdf_python_proto/authorization/v2/authorization_pb2.pyi +134 -0
  60. otdf_python_proto/authorization/v2/authorization_pb2_connect.py +233 -0
  61. otdf_python_proto/common/__init__.py +1 -0
  62. otdf_python_proto/common/common_pb2.py +52 -0
  63. otdf_python_proto/common/common_pb2.pyi +61 -0
  64. otdf_python_proto/entity/__init__.py +1 -0
  65. otdf_python_proto/entity/entity_pb2.py +47 -0
  66. otdf_python_proto/entity/entity_pb2.pyi +50 -0
  67. otdf_python_proto/entityresolution/__init__.py +1 -0
  68. otdf_python_proto/entityresolution/entity_resolution_pb2.py +57 -0
  69. otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +55 -0
  70. otdf_python_proto/entityresolution/entity_resolution_pb2_connect.py +149 -0
  71. otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +55 -0
  72. otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +55 -0
  73. otdf_python_proto/entityresolution/v2/entity_resolution_pb2_connect.py +149 -0
  74. otdf_python_proto/kas/__init__.py +9 -0
  75. otdf_python_proto/kas/kas_pb2.py +103 -0
  76. otdf_python_proto/kas/kas_pb2.pyi +170 -0
  77. otdf_python_proto/kas/kas_pb2_connect.py +192 -0
  78. otdf_python_proto/legacy_grpc/__init__.py +1 -0
  79. otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +163 -0
  80. otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +206 -0
  81. otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +4 -0
  82. otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +4 -0
  83. otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +122 -0
  84. otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +120 -0
  85. otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +172 -0
  86. otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +4 -0
  87. otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +249 -0
  88. otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +873 -0
  89. otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +602 -0
  90. otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +251 -0
  91. otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +427 -0
  92. otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +4 -0
  93. otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +524 -0
  94. otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +516 -0
  95. otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +4 -0
  96. otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +551 -0
  97. otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +485 -0
  98. otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +77 -0
  99. otdf_python_proto/logger/__init__.py +1 -0
  100. otdf_python_proto/logger/audit/test_pb2.py +43 -0
  101. otdf_python_proto/logger/audit/test_pb2.pyi +45 -0
  102. otdf_python_proto/policy/__init__.py +1 -0
  103. otdf_python_proto/policy/actions/actions_pb2.py +75 -0
  104. otdf_python_proto/policy/actions/actions_pb2.pyi +87 -0
  105. otdf_python_proto/policy/actions/actions_pb2_connect.py +275 -0
  106. otdf_python_proto/policy/attributes/attributes_pb2.py +234 -0
  107. otdf_python_proto/policy/attributes/attributes_pb2.pyi +328 -0
  108. otdf_python_proto/policy/attributes/attributes_pb2_connect.py +863 -0
  109. otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +266 -0
  110. otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +450 -0
  111. otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2_connect.py +611 -0
  112. otdf_python_proto/policy/keymanagement/key_management_pb2.py +79 -0
  113. otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +87 -0
  114. otdf_python_proto/policy/keymanagement/key_management_pb2_connect.py +275 -0
  115. otdf_python_proto/policy/namespaces/namespaces_pb2.py +117 -0
  116. otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +147 -0
  117. otdf_python_proto/policy/namespaces/namespaces_pb2_connect.py +443 -0
  118. otdf_python_proto/policy/objects_pb2.py +150 -0
  119. otdf_python_proto/policy/objects_pb2.pyi +464 -0
  120. otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +139 -0
  121. otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +196 -0
  122. otdf_python_proto/policy/registeredresources/registered_resources_pb2_connect.py +527 -0
  123. otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +139 -0
  124. otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +194 -0
  125. otdf_python_proto/policy/resourcemapping/resource_mapping_pb2_connect.py +527 -0
  126. otdf_python_proto/policy/selectors_pb2.py +57 -0
  127. otdf_python_proto/policy/selectors_pb2.pyi +90 -0
  128. otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +127 -0
  129. otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +189 -0
  130. otdf_python_proto/policy/subjectmapping/subject_mapping_pb2_connect.py +569 -0
  131. otdf_python_proto/policy/unsafe/unsafe_pb2.py +113 -0
  132. otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +145 -0
  133. otdf_python_proto/policy/unsafe/unsafe_pb2_connect.py +485 -0
  134. otdf_python_proto/wellknownconfiguration/__init__.py +1 -0
  135. otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +51 -0
  136. otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +32 -0
  137. otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2_connect.py +107 -0
  138. otdf_python/_gotdf_python.cpython-312-darwin.so +0 -0
  139. otdf_python/build.py +0 -190
  140. otdf_python/go.py +0 -1478
  141. otdf_python/gotdf_python.py +0 -383
  142. otdf_python-0.1.10.dist-info/METADATA +0 -149
  143. otdf_python-0.1.10.dist-info/RECORD +0 -10
  144. otdf_python-0.1.10.dist-info/top_level.txt +0 -1
@@ -0,0 +1,79 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: policy/keymanagement/key_management.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
+ 'policy/keymanagement/key_management.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 common import common_pb2 as common_dot_common__pb2
27
+ from policy import objects_pb2 as policy_dot_objects__pb2
28
+ from policy import selectors_pb2 as policy_dot_selectors__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)policy/keymanagement/key_management.proto\x12\x14policy.keymanagement\x1a\x1b\x62uf/validate/validate.proto\x1a\x13\x63ommon/common.proto\x1a\x14policy/objects.proto\x1a\x16policy/selectors.proto\"\x97\x01\n\x1b\x43reateProviderConfigRequest\x12\x1a\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04name\x12\'\n\x0b\x63onfig_json\x18\x02 \x01(\x0c\x42\x06\xbaH\x03\xc8\x01\x01R\nconfigJson\x12\x33\n\x08metadata\x18\x64 \x01(\x0b\x32\x17.common.MetadataMutableR\x08metadata\"b\n\x1c\x43reateProviderConfigResponse\x12\x42\n\x0fprovider_config\x18\x01 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig\"j\n\x18GetProviderConfigRequest\x12\x1a\n\x02id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x02id\x12\x1d\n\x04name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x04nameB\x13\n\nidentifier\x12\x05\xbaH\x02\x08\x01\"_\n\x19GetProviderConfigResponse\x12\x42\n\x0fprovider_config\x18\x01 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig\"Q\n\x1aListProviderConfigsRequest\x12\x33\n\npagination\x18\n \x01(\x0b\x32\x13.policy.PageRequestR\npagination\"\x99\x01\n\x1bListProviderConfigsResponse\x12\x44\n\x10provider_configs\x18\x01 \x03(\x0b\x32\x19.policy.KeyProviderConfigR\x0fproviderConfigs\x12\x34\n\npagination\x18\n \x01(\x0b\x32\x14.policy.PageResponseR\npagination\"\x87\x02\n\x1bUpdateProviderConfigRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x1a\n\x04name\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x00R\x04name\x12\'\n\x0b\x63onfig_json\x18\x03 \x01(\x0c\x42\x06\xbaH\x03\xc8\x01\x00R\nconfigJson\x12\x33\n\x08metadata\x18\x64 \x01(\x0b\x32\x17.common.MetadataMutableR\x08metadata\x12T\n\x18metadata_update_behavior\x18\x65 \x01(\x0e\x32\x1a.common.MetadataUpdateEnumR\x16metadataUpdateBehavior\"b\n\x1cUpdateProviderConfigResponse\x12\x42\n\x0fprovider_config\x18\x01 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig\"7\n\x1b\x44\x65leteProviderConfigRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"b\n\x1c\x44\x65leteProviderConfigResponse\x12\x42\n\x0fprovider_config\x18\x01 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig2\x8f\x05\n\x14KeyManagementService\x12\x7f\n\x14\x43reateProviderConfig\x12\x31.policy.keymanagement.CreateProviderConfigRequest\x1a\x32.policy.keymanagement.CreateProviderConfigResponse\"\x00\x12v\n\x11GetProviderConfig\x12..policy.keymanagement.GetProviderConfigRequest\x1a/.policy.keymanagement.GetProviderConfigResponse\"\x00\x12|\n\x13ListProviderConfigs\x12\x30.policy.keymanagement.ListProviderConfigsRequest\x1a\x31.policy.keymanagement.ListProviderConfigsResponse\"\x00\x12\x7f\n\x14UpdateProviderConfig\x12\x31.policy.keymanagement.UpdateProviderConfigRequest\x1a\x32.policy.keymanagement.UpdateProviderConfigResponse\"\x00\x12\x7f\n\x14\x44\x65leteProviderConfig\x12\x31.policy.keymanagement.DeleteProviderConfigRequest\x1a\x32.policy.keymanagement.DeleteProviderConfigResponse\"\x00\x42\x9f\x01\n\x18\x63om.policy.keymanagementB\x12KeyManagementProtoP\x01\xa2\x02\x03PKX\xaa\x02\x14Policy.Keymanagement\xca\x02\x14Policy\\Keymanagement\xe2\x02 Policy\\Keymanagement\\GPBMetadata\xea\x02\x15Policy::Keymanagementb\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'policy.keymanagement.key_management_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\030com.policy.keymanagementB\022KeyManagementProtoP\001\242\002\003PKX\252\002\024Policy.Keymanagement\312\002\024Policy\\Keymanagement\342\002 Policy\\Keymanagement\\GPBMetadata\352\002\025Policy::Keymanagement'
39
+ _globals['_CREATEPROVIDERCONFIGREQUEST'].fields_by_name['name']._loaded_options = None
40
+ _globals['_CREATEPROVIDERCONFIGREQUEST'].fields_by_name['name']._serialized_options = b'\272H\003\310\001\001'
41
+ _globals['_CREATEPROVIDERCONFIGREQUEST'].fields_by_name['config_json']._loaded_options = None
42
+ _globals['_CREATEPROVIDERCONFIGREQUEST'].fields_by_name['config_json']._serialized_options = b'\272H\003\310\001\001'
43
+ _globals['_GETPROVIDERCONFIGREQUEST'].oneofs_by_name['identifier']._loaded_options = None
44
+ _globals['_GETPROVIDERCONFIGREQUEST'].oneofs_by_name['identifier']._serialized_options = b'\272H\002\010\001'
45
+ _globals['_GETPROVIDERCONFIGREQUEST'].fields_by_name['id']._loaded_options = None
46
+ _globals['_GETPROVIDERCONFIGREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001'
47
+ _globals['_GETPROVIDERCONFIGREQUEST'].fields_by_name['name']._loaded_options = None
48
+ _globals['_GETPROVIDERCONFIGREQUEST'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001'
49
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['id']._loaded_options = None
50
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001'
51
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['name']._loaded_options = None
52
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['name']._serialized_options = b'\272H\003\310\001\000'
53
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['config_json']._loaded_options = None
54
+ _globals['_UPDATEPROVIDERCONFIGREQUEST'].fields_by_name['config_json']._serialized_options = b'\272H\003\310\001\000'
55
+ _globals['_DELETEPROVIDERCONFIGREQUEST'].fields_by_name['id']._loaded_options = None
56
+ _globals['_DELETEPROVIDERCONFIGREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001'
57
+ _globals['_CREATEPROVIDERCONFIGREQUEST']._serialized_start=164
58
+ _globals['_CREATEPROVIDERCONFIGREQUEST']._serialized_end=315
59
+ _globals['_CREATEPROVIDERCONFIGRESPONSE']._serialized_start=317
60
+ _globals['_CREATEPROVIDERCONFIGRESPONSE']._serialized_end=415
61
+ _globals['_GETPROVIDERCONFIGREQUEST']._serialized_start=417
62
+ _globals['_GETPROVIDERCONFIGREQUEST']._serialized_end=523
63
+ _globals['_GETPROVIDERCONFIGRESPONSE']._serialized_start=525
64
+ _globals['_GETPROVIDERCONFIGRESPONSE']._serialized_end=620
65
+ _globals['_LISTPROVIDERCONFIGSREQUEST']._serialized_start=622
66
+ _globals['_LISTPROVIDERCONFIGSREQUEST']._serialized_end=703
67
+ _globals['_LISTPROVIDERCONFIGSRESPONSE']._serialized_start=706
68
+ _globals['_LISTPROVIDERCONFIGSRESPONSE']._serialized_end=859
69
+ _globals['_UPDATEPROVIDERCONFIGREQUEST']._serialized_start=862
70
+ _globals['_UPDATEPROVIDERCONFIGREQUEST']._serialized_end=1125
71
+ _globals['_UPDATEPROVIDERCONFIGRESPONSE']._serialized_start=1127
72
+ _globals['_UPDATEPROVIDERCONFIGRESPONSE']._serialized_end=1225
73
+ _globals['_DELETEPROVIDERCONFIGREQUEST']._serialized_start=1227
74
+ _globals['_DELETEPROVIDERCONFIGREQUEST']._serialized_end=1282
75
+ _globals['_DELETEPROVIDERCONFIGRESPONSE']._serialized_start=1284
76
+ _globals['_DELETEPROVIDERCONFIGRESPONSE']._serialized_end=1382
77
+ _globals['_KEYMANAGEMENTSERVICE']._serialized_start=1385
78
+ _globals['_KEYMANAGEMENTSERVICE']._serialized_end=2040
79
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,87 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from common import common_pb2 as _common_pb2
3
+ from policy import objects_pb2 as _objects_pb2
4
+ from policy import selectors_pb2 as _selectors_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 CreateProviderConfigRequest(_message.Message):
14
+ __slots__ = ("name", "config_json", "metadata")
15
+ NAME_FIELD_NUMBER: _ClassVar[int]
16
+ CONFIG_JSON_FIELD_NUMBER: _ClassVar[int]
17
+ METADATA_FIELD_NUMBER: _ClassVar[int]
18
+ name: str
19
+ config_json: bytes
20
+ metadata: _common_pb2.MetadataMutable
21
+ def __init__(self, name: _Optional[str] = ..., config_json: _Optional[bytes] = ..., metadata: _Optional[_Union[_common_pb2.MetadataMutable, _Mapping]] = ...) -> None: ...
22
+
23
+ class CreateProviderConfigResponse(_message.Message):
24
+ __slots__ = ("provider_config",)
25
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
26
+ provider_config: _objects_pb2.KeyProviderConfig
27
+ def __init__(self, provider_config: _Optional[_Union[_objects_pb2.KeyProviderConfig, _Mapping]] = ...) -> None: ...
28
+
29
+ class GetProviderConfigRequest(_message.Message):
30
+ __slots__ = ("id", "name")
31
+ ID_FIELD_NUMBER: _ClassVar[int]
32
+ NAME_FIELD_NUMBER: _ClassVar[int]
33
+ id: str
34
+ name: str
35
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
36
+
37
+ class GetProviderConfigResponse(_message.Message):
38
+ __slots__ = ("provider_config",)
39
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
40
+ provider_config: _objects_pb2.KeyProviderConfig
41
+ def __init__(self, provider_config: _Optional[_Union[_objects_pb2.KeyProviderConfig, _Mapping]] = ...) -> None: ...
42
+
43
+ class ListProviderConfigsRequest(_message.Message):
44
+ __slots__ = ("pagination",)
45
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
46
+ pagination: _selectors_pb2.PageRequest
47
+ def __init__(self, pagination: _Optional[_Union[_selectors_pb2.PageRequest, _Mapping]] = ...) -> None: ...
48
+
49
+ class ListProviderConfigsResponse(_message.Message):
50
+ __slots__ = ("provider_configs", "pagination")
51
+ PROVIDER_CONFIGS_FIELD_NUMBER: _ClassVar[int]
52
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
53
+ provider_configs: _containers.RepeatedCompositeFieldContainer[_objects_pb2.KeyProviderConfig]
54
+ pagination: _selectors_pb2.PageResponse
55
+ def __init__(self, provider_configs: _Optional[_Iterable[_Union[_objects_pb2.KeyProviderConfig, _Mapping]]] = ..., pagination: _Optional[_Union[_selectors_pb2.PageResponse, _Mapping]] = ...) -> None: ...
56
+
57
+ class UpdateProviderConfigRequest(_message.Message):
58
+ __slots__ = ("id", "name", "config_json", "metadata", "metadata_update_behavior")
59
+ ID_FIELD_NUMBER: _ClassVar[int]
60
+ NAME_FIELD_NUMBER: _ClassVar[int]
61
+ CONFIG_JSON_FIELD_NUMBER: _ClassVar[int]
62
+ METADATA_FIELD_NUMBER: _ClassVar[int]
63
+ METADATA_UPDATE_BEHAVIOR_FIELD_NUMBER: _ClassVar[int]
64
+ id: str
65
+ name: str
66
+ config_json: bytes
67
+ metadata: _common_pb2.MetadataMutable
68
+ metadata_update_behavior: _common_pb2.MetadataUpdateEnum
69
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., config_json: _Optional[bytes] = ..., metadata: _Optional[_Union[_common_pb2.MetadataMutable, _Mapping]] = ..., metadata_update_behavior: _Optional[_Union[_common_pb2.MetadataUpdateEnum, str]] = ...) -> None: ...
70
+
71
+ class UpdateProviderConfigResponse(_message.Message):
72
+ __slots__ = ("provider_config",)
73
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
74
+ provider_config: _objects_pb2.KeyProviderConfig
75
+ def __init__(self, provider_config: _Optional[_Union[_objects_pb2.KeyProviderConfig, _Mapping]] = ...) -> None: ...
76
+
77
+ class DeleteProviderConfigRequest(_message.Message):
78
+ __slots__ = ("id",)
79
+ ID_FIELD_NUMBER: _ClassVar[int]
80
+ id: str
81
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
82
+
83
+ class DeleteProviderConfigResponse(_message.Message):
84
+ __slots__ = ("provider_config",)
85
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
86
+ provider_config: _objects_pb2.KeyProviderConfig
87
+ def __init__(self, provider_config: _Optional[_Union[_objects_pb2.KeyProviderConfig, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,275 @@
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 policy.keymanagement.key_management_pb2
36
+
37
+ class KeyManagementServiceClient:
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_create_provider_config(
47
+ self, req: policy.keymanagement.key_management_pb2.CreateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
48
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.CreateProviderConfigResponse]:
49
+ """Low-level method to call CreateProviderConfig, granting access to errors and metadata"""
50
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/CreateProviderConfig"
51
+ return self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.CreateProviderConfigResponse,extra_headers, timeout_seconds)
52
+
53
+
54
+ def create_provider_config(
55
+ self, req: policy.keymanagement.key_management_pb2.CreateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
56
+ ) -> policy.keymanagement.key_management_pb2.CreateProviderConfigResponse:
57
+ response = self.call_create_provider_config(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_get_provider_config(
67
+ self, req: policy.keymanagement.key_management_pb2.GetProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
68
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.GetProviderConfigResponse]:
69
+ """Low-level method to call GetProviderConfig, granting access to errors and metadata"""
70
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/GetProviderConfig"
71
+ return self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.GetProviderConfigResponse,extra_headers, timeout_seconds)
72
+
73
+
74
+ def get_provider_config(
75
+ self, req: policy.keymanagement.key_management_pb2.GetProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
76
+ ) -> policy.keymanagement.key_management_pb2.GetProviderConfigResponse:
77
+ response = self.call_get_provider_config(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
+ def call_list_provider_configs(
87
+ self, req: policy.keymanagement.key_management_pb2.ListProviderConfigsRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
88
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.ListProviderConfigsResponse]:
89
+ """Low-level method to call ListProviderConfigs, granting access to errors and metadata"""
90
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/ListProviderConfigs"
91
+ return self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.ListProviderConfigsResponse,extra_headers, timeout_seconds)
92
+
93
+
94
+ def list_provider_configs(
95
+ self, req: policy.keymanagement.key_management_pb2.ListProviderConfigsRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
96
+ ) -> policy.keymanagement.key_management_pb2.ListProviderConfigsResponse:
97
+ response = self.call_list_provider_configs(req, extra_headers, timeout_seconds)
98
+ err = response.error()
99
+ if err is not None:
100
+ raise err
101
+ msg = response.message()
102
+ if msg is None:
103
+ raise ConnectProtocolError('missing response message')
104
+ return msg
105
+
106
+ def call_update_provider_config(
107
+ self, req: policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
108
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse]:
109
+ """Low-level method to call UpdateProviderConfig, granting access to errors and metadata"""
110
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/UpdateProviderConfig"
111
+ return self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse,extra_headers, timeout_seconds)
112
+
113
+
114
+ def update_provider_config(
115
+ self, req: policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
116
+ ) -> policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse:
117
+ response = self.call_update_provider_config(req, extra_headers, timeout_seconds)
118
+ err = response.error()
119
+ if err is not None:
120
+ raise err
121
+ msg = response.message()
122
+ if msg is None:
123
+ raise ConnectProtocolError('missing response message')
124
+ return msg
125
+
126
+ def call_delete_provider_config(
127
+ self, req: policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
128
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse]:
129
+ """Low-level method to call DeleteProviderConfig, granting access to errors and metadata"""
130
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/DeleteProviderConfig"
131
+ return self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse,extra_headers, timeout_seconds)
132
+
133
+
134
+ def delete_provider_config(
135
+ self, req: policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
136
+ ) -> policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse:
137
+ response = self.call_delete_provider_config(req, extra_headers, timeout_seconds)
138
+ err = response.error()
139
+ if err is not None:
140
+ raise err
141
+ msg = response.message()
142
+ if msg is None:
143
+ raise ConnectProtocolError('missing response message')
144
+ return msg
145
+
146
+
147
+ class AsyncKeyManagementServiceClient:
148
+ def __init__(
149
+ self,
150
+ base_url: str,
151
+ http_client: aiohttp.ClientSession,
152
+ protocol: ConnectProtocol = ConnectProtocol.CONNECT_PROTOBUF,
153
+ ):
154
+ self.base_url = base_url
155
+ self._connect_client = AsyncConnectClient(http_client, protocol)
156
+
157
+ async def call_create_provider_config(
158
+ self, req: policy.keymanagement.key_management_pb2.CreateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
159
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.CreateProviderConfigResponse]:
160
+ """Low-level method to call CreateProviderConfig, granting access to errors and metadata"""
161
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/CreateProviderConfig"
162
+ return await self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.CreateProviderConfigResponse,extra_headers, timeout_seconds)
163
+
164
+ async def create_provider_config(
165
+ self, req: policy.keymanagement.key_management_pb2.CreateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
166
+ ) -> policy.keymanagement.key_management_pb2.CreateProviderConfigResponse:
167
+ response = await self.call_create_provider_config(req, extra_headers, timeout_seconds)
168
+ err = response.error()
169
+ if err is not None:
170
+ raise err
171
+ msg = response.message()
172
+ if msg is None:
173
+ raise ConnectProtocolError('missing response message')
174
+ return msg
175
+
176
+ async def call_get_provider_config(
177
+ self, req: policy.keymanagement.key_management_pb2.GetProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
178
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.GetProviderConfigResponse]:
179
+ """Low-level method to call GetProviderConfig, granting access to errors and metadata"""
180
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/GetProviderConfig"
181
+ return await self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.GetProviderConfigResponse,extra_headers, timeout_seconds)
182
+
183
+ async def get_provider_config(
184
+ self, req: policy.keymanagement.key_management_pb2.GetProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
185
+ ) -> policy.keymanagement.key_management_pb2.GetProviderConfigResponse:
186
+ response = await self.call_get_provider_config(req, extra_headers, timeout_seconds)
187
+ err = response.error()
188
+ if err is not None:
189
+ raise err
190
+ msg = response.message()
191
+ if msg is None:
192
+ raise ConnectProtocolError('missing response message')
193
+ return msg
194
+
195
+ async def call_list_provider_configs(
196
+ self, req: policy.keymanagement.key_management_pb2.ListProviderConfigsRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
197
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.ListProviderConfigsResponse]:
198
+ """Low-level method to call ListProviderConfigs, granting access to errors and metadata"""
199
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/ListProviderConfigs"
200
+ return await self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.ListProviderConfigsResponse,extra_headers, timeout_seconds)
201
+
202
+ async def list_provider_configs(
203
+ self, req: policy.keymanagement.key_management_pb2.ListProviderConfigsRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
204
+ ) -> policy.keymanagement.key_management_pb2.ListProviderConfigsResponse:
205
+ response = await self.call_list_provider_configs(req, extra_headers, timeout_seconds)
206
+ err = response.error()
207
+ if err is not None:
208
+ raise err
209
+ msg = response.message()
210
+ if msg is None:
211
+ raise ConnectProtocolError('missing response message')
212
+ return msg
213
+
214
+ async def call_update_provider_config(
215
+ self, req: policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
216
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse]:
217
+ """Low-level method to call UpdateProviderConfig, granting access to errors and metadata"""
218
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/UpdateProviderConfig"
219
+ return await self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse,extra_headers, timeout_seconds)
220
+
221
+ async def update_provider_config(
222
+ self, req: policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
223
+ ) -> policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse:
224
+ response = await self.call_update_provider_config(req, extra_headers, timeout_seconds)
225
+ err = response.error()
226
+ if err is not None:
227
+ raise err
228
+ msg = response.message()
229
+ if msg is None:
230
+ raise ConnectProtocolError('missing response message')
231
+ return msg
232
+
233
+ async def call_delete_provider_config(
234
+ self, req: policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
235
+ ) -> UnaryOutput[policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse]:
236
+ """Low-level method to call DeleteProviderConfig, granting access to errors and metadata"""
237
+ url = self.base_url + "/policy.keymanagement.KeyManagementService/DeleteProviderConfig"
238
+ return await self._connect_client.call_unary(url, req, policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse,extra_headers, timeout_seconds)
239
+
240
+ async def delete_provider_config(
241
+ self, req: policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest,extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None
242
+ ) -> policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse:
243
+ response = await self.call_delete_provider_config(req, extra_headers, timeout_seconds)
244
+ err = response.error()
245
+ if err is not None:
246
+ raise err
247
+ msg = response.message()
248
+ if msg is None:
249
+ raise ConnectProtocolError('missing response message')
250
+ return msg
251
+
252
+
253
+ @typing.runtime_checkable
254
+ class KeyManagementServiceProtocol(typing.Protocol):
255
+ def create_provider_config(self, req: ClientRequest[policy.keymanagement.key_management_pb2.CreateProviderConfigRequest]) -> ServerResponse[policy.keymanagement.key_management_pb2.CreateProviderConfigResponse]:
256
+ ...
257
+ def get_provider_config(self, req: ClientRequest[policy.keymanagement.key_management_pb2.GetProviderConfigRequest]) -> ServerResponse[policy.keymanagement.key_management_pb2.GetProviderConfigResponse]:
258
+ ...
259
+ def list_provider_configs(self, req: ClientRequest[policy.keymanagement.key_management_pb2.ListProviderConfigsRequest]) -> ServerResponse[policy.keymanagement.key_management_pb2.ListProviderConfigsResponse]:
260
+ ...
261
+ def update_provider_config(self, req: ClientRequest[policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest]) -> ServerResponse[policy.keymanagement.key_management_pb2.UpdateProviderConfigResponse]:
262
+ ...
263
+ def delete_provider_config(self, req: ClientRequest[policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest]) -> ServerResponse[policy.keymanagement.key_management_pb2.DeleteProviderConfigResponse]:
264
+ ...
265
+
266
+ KEY_MANAGEMENT_SERVICE_PATH_PREFIX = "/policy.keymanagement.KeyManagementService"
267
+
268
+ def wsgi_key_management_service(implementation: KeyManagementServiceProtocol) -> WSGIApplication:
269
+ app = ConnectWSGI()
270
+ app.register_unary_rpc("/policy.keymanagement.KeyManagementService/CreateProviderConfig", implementation.create_provider_config, policy.keymanagement.key_management_pb2.CreateProviderConfigRequest)
271
+ app.register_unary_rpc("/policy.keymanagement.KeyManagementService/GetProviderConfig", implementation.get_provider_config, policy.keymanagement.key_management_pb2.GetProviderConfigRequest)
272
+ app.register_unary_rpc("/policy.keymanagement.KeyManagementService/ListProviderConfigs", implementation.list_provider_configs, policy.keymanagement.key_management_pb2.ListProviderConfigsRequest)
273
+ app.register_unary_rpc("/policy.keymanagement.KeyManagementService/UpdateProviderConfig", implementation.update_provider_config, policy.keymanagement.key_management_pb2.UpdateProviderConfigRequest)
274
+ app.register_unary_rpc("/policy.keymanagement.KeyManagementService/DeleteProviderConfig", implementation.delete_provider_config, policy.keymanagement.key_management_pb2.DeleteProviderConfigRequest)
275
+ return app
@@ -0,0 +1,117 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: policy/namespaces/namespaces.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
+ 'policy/namespaces/namespaces.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 common import common_pb2 as common_dot_common__pb2
27
+ from policy import objects_pb2 as policy_dot_objects__pb2
28
+ from policy import selectors_pb2 as policy_dot_selectors__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"policy/namespaces/namespaces.proto\x12\x11policy.namespaces\x1a\x1b\x62uf/validate/validate.proto\x1a\x13\x63ommon/common.proto\x1a\x14policy/objects.proto\x1a\x16policy/selectors.proto\"\x86\x01\n\x18NamespaceKeyAccessServer\x12+\n\x0cnamespace_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0bnamespaceId\x12\x39\n\x14key_access_server_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x11keyAccessServerId:\x02\x18\x01\"b\n\x0cNamespaceKey\x12.\n\x0cnamespace_id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xc8\x01\x01R\x0bnamespaceId\x12\"\n\x06key_id\x18\x02 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xc8\x01\x01R\x05keyId\"\xbe\x03\n\x13GetNamespaceRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\x18\x01\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x02id\x12-\n\x0cnamespace_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x0bnamespaceId\x12\x1e\n\x03\x66qn\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x88\x01\x01H\x00R\x03\x66qn:\xaa\x02\xbaH\xa6\x02\x1a\xa2\x01\n\x10\x65xclusive_fields\x12PEither use deprecated \'id\' field or one of \'namespace_id\' or \'fqn\', but not both\x1a<!(has(this.id) && (has(this.namespace_id) || has(this.fqn)))\x1a\x7f\n\x0frequired_fields\x12\x33\x45ither id or one of namespace_id or fqn must be set\x1a\x37has(this.id) || has(this.namespace_id) || has(this.fqn)B\x0c\n\nidentifier\"G\n\x14GetNamespaceResponse\x12/\n\tnamespace\x18\x01 \x01(\x0b\x32\x11.policy.NamespaceR\tnamespace\"{\n\x15ListNamespacesRequest\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x17.common.ActiveStateEnumR\x05state\x12\x33\n\npagination\x18\n \x01(\x0b\x32\x13.policy.PageRequestR\npagination\"\x81\x01\n\x16ListNamespacesResponse\x12\x31\n\nnamespaces\x18\x01 \x03(\x0b\x32\x11.policy.NamespaceR\nnamespaces\x12\x34\n\npagination\x18\n \x01(\x0b\x32\x14.policy.PageResponseR\npagination\"\xfe\x04\n\x16\x43reateNamespaceRequest\x12\xae\x04\n\x04name\x18\x01 \x01(\tB\x99\x04\xbaH\x95\x04r\x03\x18\xfd\x01\xba\x01\x89\x04\n\x10namespace_format\x12\xa1\x03Namespace must be a valid hostname. It should include at least one dot, with each segment (label) starting and ending with an alphanumeric character. Each label must be 1 to 63 characters long, allowing hyphens but not as the first or last character. The top-level domain (the last segment after the final dot) must consist of at least two alphabetic characters. The stored namespace will be normalized to lower case.\x1aQthis.matches(\'^([a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?\\\\.)+[a-zA-Z]{2,}$\')\xc8\x01\x01R\x04name\x12\x33\n\x08metadata\x18\x64 \x01(\x0b\x32\x17.common.MetadataMutableR\x08metadata\"J\n\x17\x43reateNamespaceResponse\x12/\n\tnamespace\x18\x01 \x01(\x0b\x32\x11.policy.NamespaceR\tnamespace\"\xbd\x01\n\x16UpdateNamespaceRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\x33\n\x08metadata\x18\x64 \x01(\x0b\x32\x17.common.MetadataMutableR\x08metadata\x12T\n\x18metadata_update_behavior\x18\x65 \x01(\x0e\x32\x1a.common.MetadataUpdateEnumR\x16metadataUpdateBehavior\"J\n\x17UpdateNamespaceResponse\x12/\n\tnamespace\x18\x01 \x01(\x0b\x32\x11.policy.NamespaceR\tnamespace\"6\n\x1a\x44\x65\x61\x63tivateNamespaceRequest\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\"\x1d\n\x1b\x44\x65\x61\x63tivateNamespaceResponse\"\x95\x01\n\'AssignKeyAccessServerToNamespaceRequest\x12j\n\x1bnamespace_key_access_server\x18\x01 \x01(\x0b\x32+.policy.namespaces.NamespaceKeyAccessServerR\x18namespaceKeyAccessServer\"\x96\x01\n(AssignKeyAccessServerToNamespaceResponse\x12j\n\x1bnamespace_key_access_server\x18\x01 \x01(\x0b\x32+.policy.namespaces.NamespaceKeyAccessServerR\x18namespaceKeyAccessServer\"\x97\x01\n)RemoveKeyAccessServerFromNamespaceRequest\x12j\n\x1bnamespace_key_access_server\x18\x01 \x01(\x0b\x32+.policy.namespaces.NamespaceKeyAccessServerR\x18namespaceKeyAccessServer\"\x98\x01\n*RemoveKeyAccessServerFromNamespaceResponse\x12j\n\x1bnamespace_key_access_server\x18\x01 \x01(\x0b\x32+.policy.namespaces.NamespaceKeyAccessServerR\x18namespaceKeyAccessServer\"q\n!AssignPublicKeyToNamespaceRequest\x12L\n\rnamespace_key\x18\x01 \x01(\x0b\x32\x1f.policy.namespaces.NamespaceKeyB\x06\xbaH\x03\xc8\x01\x01R\x0cnamespaceKey\"j\n\"AssignPublicKeyToNamespaceResponse\x12\x44\n\rnamespace_key\x18\x01 \x01(\x0b\x32\x1f.policy.namespaces.NamespaceKeyR\x0cnamespaceKey\"s\n#RemovePublicKeyFromNamespaceRequest\x12L\n\rnamespace_key\x18\x01 \x01(\x0b\x32\x1f.policy.namespaces.NamespaceKeyB\x06\xbaH\x03\xc8\x01\x01R\x0cnamespaceKey\"l\n$RemovePublicKeyFromNamespaceResponse\x12\x44\n\rnamespace_key\x18\x01 \x01(\x0b\x32\x1f.policy.namespaces.NamespaceKeyR\x0cnamespaceKey2\xa2\t\n\x10NamespaceService\x12\x64\n\x0cGetNamespace\x12&.policy.namespaces.GetNamespaceRequest\x1a\'.policy.namespaces.GetNamespaceResponse\"\x03\x90\x02\x01\x12j\n\x0eListNamespaces\x12(.policy.namespaces.ListNamespacesRequest\x1a).policy.namespaces.ListNamespacesResponse\"\x03\x90\x02\x01\x12j\n\x0f\x43reateNamespace\x12).policy.namespaces.CreateNamespaceRequest\x1a*.policy.namespaces.CreateNamespaceResponse\"\x00\x12j\n\x0fUpdateNamespace\x12).policy.namespaces.UpdateNamespaceRequest\x1a*.policy.namespaces.UpdateNamespaceResponse\"\x00\x12v\n\x13\x44\x65\x61\x63tivateNamespace\x12-.policy.namespaces.DeactivateNamespaceRequest\x1a..policy.namespaces.DeactivateNamespaceResponse\"\x00\x12\xa0\x01\n AssignKeyAccessServerToNamespace\x12:.policy.namespaces.AssignKeyAccessServerToNamespaceRequest\x1a;.policy.namespaces.AssignKeyAccessServerToNamespaceResponse\"\x03\x88\x02\x01\x12\xa6\x01\n\"RemoveKeyAccessServerFromNamespace\x12<.policy.namespaces.RemoveKeyAccessServerFromNamespaceRequest\x1a=.policy.namespaces.RemoveKeyAccessServerFromNamespaceResponse\"\x03\x88\x02\x01\x12\x8b\x01\n\x1a\x41ssignPublicKeyToNamespace\x12\x34.policy.namespaces.AssignPublicKeyToNamespaceRequest\x1a\x35.policy.namespaces.AssignPublicKeyToNamespaceResponse\"\x00\x12\x91\x01\n\x1cRemovePublicKeyFromNamespace\x12\x36.policy.namespaces.RemovePublicKeyFromNamespaceRequest\x1a\x37.policy.namespaces.RemovePublicKeyFromNamespaceResponse\"\x00\x42\x8d\x01\n\x15\x63om.policy.namespacesB\x0fNamespacesProtoP\x01\xa2\x02\x03PNX\xaa\x02\x11Policy.Namespaces\xca\x02\x11Policy\\Namespaces\xe2\x02\x1dPolicy\\Namespaces\\GPBMetadata\xea\x02\x12Policy::Namespacesb\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'policy.namespaces.namespaces_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\025com.policy.namespacesB\017NamespacesProtoP\001\242\002\003PNX\252\002\021Policy.Namespaces\312\002\021Policy\\Namespaces\342\002\035Policy\\Namespaces\\GPBMetadata\352\002\022Policy::Namespaces'
39
+ _globals['_NAMESPACEKEYACCESSSERVER'].fields_by_name['namespace_id']._loaded_options = None
40
+ _globals['_NAMESPACEKEYACCESSSERVER'].fields_by_name['namespace_id']._serialized_options = b'\272H\005r\003\260\001\001'
41
+ _globals['_NAMESPACEKEYACCESSSERVER'].fields_by_name['key_access_server_id']._loaded_options = None
42
+ _globals['_NAMESPACEKEYACCESSSERVER'].fields_by_name['key_access_server_id']._serialized_options = b'\272H\005r\003\260\001\001'
43
+ _globals['_NAMESPACEKEYACCESSSERVER']._loaded_options = None
44
+ _globals['_NAMESPACEKEYACCESSSERVER']._serialized_options = b'\030\001'
45
+ _globals['_NAMESPACEKEY'].fields_by_name['namespace_id']._loaded_options = None
46
+ _globals['_NAMESPACEKEY'].fields_by_name['namespace_id']._serialized_options = b'\272H\010r\003\260\001\001\310\001\001'
47
+ _globals['_NAMESPACEKEY'].fields_by_name['key_id']._loaded_options = None
48
+ _globals['_NAMESPACEKEY'].fields_by_name['key_id']._serialized_options = b'\272H\010r\003\260\001\001\310\001\001'
49
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['id']._loaded_options = None
50
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['id']._serialized_options = b'\030\001\272H\010r\003\260\001\001\330\001\001'
51
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['namespace_id']._loaded_options = None
52
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['namespace_id']._serialized_options = b'\272H\005r\003\260\001\001'
53
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['fqn']._loaded_options = None
54
+ _globals['_GETNAMESPACEREQUEST'].fields_by_name['fqn']._serialized_options = b'\272H\007r\005\020\001\210\001\001'
55
+ _globals['_GETNAMESPACEREQUEST']._loaded_options = None
56
+ _globals['_GETNAMESPACEREQUEST']._serialized_options = b'\272H\246\002\032\242\001\n\020exclusive_fields\022PEither use deprecated \'id\' field or one of \'namespace_id\' or \'fqn\', but not both\032<!(has(this.id) && (has(this.namespace_id) || has(this.fqn)))\032\177\n\017required_fields\0223Either id or one of namespace_id or fqn must be set\0327has(this.id) || has(this.namespace_id) || has(this.fqn)'
57
+ _globals['_CREATENAMESPACEREQUEST'].fields_by_name['name']._loaded_options = None
58
+ _globals['_CREATENAMESPACEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\225\004r\003\030\375\001\272\001\211\004\n\020namespace_format\022\241\003Namespace must be a valid hostname. It should include at least one dot, with each segment (label) starting and ending with an alphanumeric character. Each label must be 1 to 63 characters long, allowing hyphens but not as the first or last character. The top-level domain (the last segment after the final dot) must consist of at least two alphabetic characters. The stored namespace will be normalized to lower case.\032Qthis.matches(\'^([a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?\\\\.)+[a-zA-Z]{2,}$\')\310\001\001'
59
+ _globals['_UPDATENAMESPACEREQUEST'].fields_by_name['id']._loaded_options = None
60
+ _globals['_UPDATENAMESPACEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001'
61
+ _globals['_DEACTIVATENAMESPACEREQUEST'].fields_by_name['id']._loaded_options = None
62
+ _globals['_DEACTIVATENAMESPACEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001'
63
+ _globals['_ASSIGNPUBLICKEYTONAMESPACEREQUEST'].fields_by_name['namespace_key']._loaded_options = None
64
+ _globals['_ASSIGNPUBLICKEYTONAMESPACEREQUEST'].fields_by_name['namespace_key']._serialized_options = b'\272H\003\310\001\001'
65
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACEREQUEST'].fields_by_name['namespace_key']._loaded_options = None
66
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACEREQUEST'].fields_by_name['namespace_key']._serialized_options = b'\272H\003\310\001\001'
67
+ _globals['_NAMESPACESERVICE'].methods_by_name['GetNamespace']._loaded_options = None
68
+ _globals['_NAMESPACESERVICE'].methods_by_name['GetNamespace']._serialized_options = b'\220\002\001'
69
+ _globals['_NAMESPACESERVICE'].methods_by_name['ListNamespaces']._loaded_options = None
70
+ _globals['_NAMESPACESERVICE'].methods_by_name['ListNamespaces']._serialized_options = b'\220\002\001'
71
+ _globals['_NAMESPACESERVICE'].methods_by_name['AssignKeyAccessServerToNamespace']._loaded_options = None
72
+ _globals['_NAMESPACESERVICE'].methods_by_name['AssignKeyAccessServerToNamespace']._serialized_options = b'\210\002\001'
73
+ _globals['_NAMESPACESERVICE'].methods_by_name['RemoveKeyAccessServerFromNamespace']._loaded_options = None
74
+ _globals['_NAMESPACESERVICE'].methods_by_name['RemoveKeyAccessServerFromNamespace']._serialized_options = b'\210\002\001'
75
+ _globals['_NAMESPACEKEYACCESSSERVER']._serialized_start=154
76
+ _globals['_NAMESPACEKEYACCESSSERVER']._serialized_end=288
77
+ _globals['_NAMESPACEKEY']._serialized_start=290
78
+ _globals['_NAMESPACEKEY']._serialized_end=388
79
+ _globals['_GETNAMESPACEREQUEST']._serialized_start=391
80
+ _globals['_GETNAMESPACEREQUEST']._serialized_end=837
81
+ _globals['_GETNAMESPACERESPONSE']._serialized_start=839
82
+ _globals['_GETNAMESPACERESPONSE']._serialized_end=910
83
+ _globals['_LISTNAMESPACESREQUEST']._serialized_start=912
84
+ _globals['_LISTNAMESPACESREQUEST']._serialized_end=1035
85
+ _globals['_LISTNAMESPACESRESPONSE']._serialized_start=1038
86
+ _globals['_LISTNAMESPACESRESPONSE']._serialized_end=1167
87
+ _globals['_CREATENAMESPACEREQUEST']._serialized_start=1170
88
+ _globals['_CREATENAMESPACEREQUEST']._serialized_end=1808
89
+ _globals['_CREATENAMESPACERESPONSE']._serialized_start=1810
90
+ _globals['_CREATENAMESPACERESPONSE']._serialized_end=1884
91
+ _globals['_UPDATENAMESPACEREQUEST']._serialized_start=1887
92
+ _globals['_UPDATENAMESPACEREQUEST']._serialized_end=2076
93
+ _globals['_UPDATENAMESPACERESPONSE']._serialized_start=2078
94
+ _globals['_UPDATENAMESPACERESPONSE']._serialized_end=2152
95
+ _globals['_DEACTIVATENAMESPACEREQUEST']._serialized_start=2154
96
+ _globals['_DEACTIVATENAMESPACEREQUEST']._serialized_end=2208
97
+ _globals['_DEACTIVATENAMESPACERESPONSE']._serialized_start=2210
98
+ _globals['_DEACTIVATENAMESPACERESPONSE']._serialized_end=2239
99
+ _globals['_ASSIGNKEYACCESSSERVERTONAMESPACEREQUEST']._serialized_start=2242
100
+ _globals['_ASSIGNKEYACCESSSERVERTONAMESPACEREQUEST']._serialized_end=2391
101
+ _globals['_ASSIGNKEYACCESSSERVERTONAMESPACERESPONSE']._serialized_start=2394
102
+ _globals['_ASSIGNKEYACCESSSERVERTONAMESPACERESPONSE']._serialized_end=2544
103
+ _globals['_REMOVEKEYACCESSSERVERFROMNAMESPACEREQUEST']._serialized_start=2547
104
+ _globals['_REMOVEKEYACCESSSERVERFROMNAMESPACEREQUEST']._serialized_end=2698
105
+ _globals['_REMOVEKEYACCESSSERVERFROMNAMESPACERESPONSE']._serialized_start=2701
106
+ _globals['_REMOVEKEYACCESSSERVERFROMNAMESPACERESPONSE']._serialized_end=2853
107
+ _globals['_ASSIGNPUBLICKEYTONAMESPACEREQUEST']._serialized_start=2855
108
+ _globals['_ASSIGNPUBLICKEYTONAMESPACEREQUEST']._serialized_end=2968
109
+ _globals['_ASSIGNPUBLICKEYTONAMESPACERESPONSE']._serialized_start=2970
110
+ _globals['_ASSIGNPUBLICKEYTONAMESPACERESPONSE']._serialized_end=3076
111
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACEREQUEST']._serialized_start=3078
112
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACEREQUEST']._serialized_end=3193
113
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACERESPONSE']._serialized_start=3195
114
+ _globals['_REMOVEPUBLICKEYFROMNAMESPACERESPONSE']._serialized_end=3303
115
+ _globals['_NAMESPACESERVICE']._serialized_start=3306
116
+ _globals['_NAMESPACESERVICE']._serialized_end=4492
117
+ # @@protoc_insertion_point(module_scope)