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,150 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: policy/objects.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/objects.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 google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14policy/objects.proto\x12\x06policy\x1a\x1b\x62uf/validate/validate.proto\x1a\x13\x63ommon/common.proto\x1a\x1egoogle/protobuf/wrappers.proto\"i\n\x12SimpleKasPublicKey\x12/\n\talgorithm\x18\x01 \x01(\x0e\x32\x11.policy.AlgorithmR\talgorithm\x12\x10\n\x03kid\x18\x02 \x01(\tR\x03kid\x12\x10\n\x03pem\x18\x03 \x01(\tR\x03pem\"y\n\x0cSimpleKasKey\x12\x17\n\x07kas_uri\x18\x01 \x01(\tR\x06kasUri\x12\x39\n\npublic_key\x18\x02 \x01(\x0b\x32\x1a.policy.SimpleKasPublicKeyR\tpublicKey\x12\x15\n\x06kas_id\x18\x03 \x01(\tR\x05kasId\"\x86\x01\n\x11KeyProviderConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0b\x63onfig_json\x18\x03 \x01(\x0cR\nconfigJson\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\x85\x02\n\tNamespace\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n\x03\x66qn\x18\x03 \x01(\tR\x03\x66qn\x12\x32\n\x06\x61\x63tive\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x06\x61\x63tive\x12,\n\x08metadata\x18\x05 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\x12/\n\x06grants\x18\x06 \x03(\x0b\x32\x17.policy.KeyAccessServerR\x06grants\x12/\n\x08kas_keys\x18\x07 \x03(\x0b\x32\x14.policy.SimpleKasKeyR\x07kasKeys\"\x9d\x03\n\tAttribute\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12/\n\tnamespace\x18\x02 \x01(\x0b\x32\x11.policy.NamespaceR\tnamespace\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12>\n\x04rule\x18\x04 \x01(\x0e\x32\x1d.policy.AttributeRuleTypeEnumB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x04rule\x12%\n\x06values\x18\x05 \x03(\x0b\x32\r.policy.ValueR\x06values\x12/\n\x06grants\x18\x06 \x03(\x0b\x32\x17.policy.KeyAccessServerR\x06grants\x12\x10\n\x03\x66qn\x18\x07 \x01(\tR\x03\x66qn\x12\x32\n\x06\x61\x63tive\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x06\x61\x63tive\x12/\n\x08kas_keys\x18\t \x03(\x0b\x32\x14.policy.SimpleKasKeyR\x07kasKeys\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\xcc\x03\n\x05Value\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12/\n\tattribute\x18\x02 \x01(\x0b\x32\x11.policy.AttributeR\tattribute\x12\x14\n\x05value\x18\x03 \x01(\tR\x05value\x12/\n\x06grants\x18\x05 \x03(\x0b\x32\x17.policy.KeyAccessServerR\x06grants\x12\x10\n\x03\x66qn\x18\x06 \x01(\tR\x03\x66qn\x12\x32\n\x06\x61\x63tive\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x06\x61\x63tive\x12\x41\n\x10subject_mappings\x18\x08 \x03(\x0b\x32\x16.policy.SubjectMappingR\x0fsubjectMappings\x12/\n\x08kas_keys\x18\t \x03(\x0b\x32\x14.policy.SimpleKasKeyR\x07kasKeys\x12\x44\n\x11resource_mappings\x18\n \x03(\x0b\x32\x17.policy.ResourceMappingR\x10resourceMappings\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadataJ\x04\x08\x04\x10\x05R\x07members\"\xa8\x02\n\x06\x41\x63tion\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\x12;\n\x08standard\x18\x01 \x01(\x0e\x32\x1d.policy.Action.StandardActionH\x00R\x08standard\x12\x18\n\x06\x63ustom\x18\x02 \x01(\tH\x00R\x06\x63ustom\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"l\n\x0eStandardAction\x12\x1f\n\x1bSTANDARD_ACTION_UNSPECIFIED\x10\x00\x12\x1b\n\x17STANDARD_ACTION_DECRYPT\x10\x01\x12\x1c\n\x18STANDARD_ACTION_TRANSMIT\x10\x02\x42\x07\n\x05value\"\x81\x02\n\x0eSubjectMapping\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x36\n\x0f\x61ttribute_value\x18\x02 \x01(\x0b\x32\r.policy.ValueR\x0e\x61ttributeValue\x12O\n\x15subject_condition_set\x18\x03 \x01(\x0b\x32\x1b.policy.SubjectConditionSetR\x13subjectConditionSet\x12(\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\x0e.policy.ActionR\x07\x61\x63tions\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\xe9\x01\n\tCondition\x12M\n\x1fsubject_external_selector_value\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x1csubjectExternalSelectorValue\x12K\n\x08operator\x18\x02 \x01(\x0e\x32\".policy.SubjectMappingOperatorEnumB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x08operator\x12@\n\x17subject_external_values\x18\x03 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x15subjectExternalValues\"\xa7\x01\n\x0e\x43onditionGroup\x12;\n\nconditions\x18\x01 \x03(\x0b\x32\x11.policy.ConditionB\x08\xbaH\x05\x92\x01\x02\x08\x01R\nconditions\x12X\n\x10\x62oolean_operator\x18\x02 \x01(\x0e\x32 .policy.ConditionBooleanTypeEnumB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x0f\x62ooleanOperator\"Y\n\nSubjectSet\x12K\n\x10\x63ondition_groups\x18\x01 \x03(\x0b\x32\x16.policy.ConditionGroupB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x0f\x63onditionGroups\"\x94\x01\n\x13SubjectConditionSet\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12?\n\x0csubject_sets\x18\x03 \x03(\x0b\x32\x12.policy.SubjectSetB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x0bsubjectSets\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"|\n\x0fSubjectProperty\x12\x42\n\x17\x65xternal_selector_value\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x15\x65xternalSelectorValue\x12%\n\x0e\x65xternal_value\x18\x02 \x01(\tR\rexternalValue\"\x9b\x01\n\x14ResourceMappingGroup\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12)\n\x0cnamespace_id\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0bnamespaceId\x12\x1a\n\x04name\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04name\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\xd9\x01\n\x0fResourceMapping\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x08metadata\x18\x02 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\x12>\n\x0f\x61ttribute_value\x18\x03 \x01(\x0b\x32\r.policy.ValueB\x06\xbaH\x03\xc8\x01\x01R\x0e\x61ttributeValue\x12\x14\n\x05terms\x18\x04 \x03(\tR\x05terms\x12\x32\n\x05group\x18\x05 \x01(\x0b\x32\x1c.policy.ResourceMappingGroupR\x05group\"\x85\x05\n\x0fKeyAccessServer\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x87\x03\n\x03uri\x18\x02 \x01(\tB\xf4\x02\xbaH\xf0\x02\xba\x01\xec\x02\n\nuri_format\x12\xcf\x01URI must be a valid URL (e.g., \'https://demo.com/\') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.\x1a\x8b\x01this.matches(\'^https?://[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?(\\\\.[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?)*(:[0-9]+)?(/.*)?$\')R\x03uri\x12\x30\n\npublic_key\x18\x03 \x01(\x0b\x32\x11.policy.PublicKeyR\tpublicKey\x12\x33\n\x0bsource_type\x18\x04 \x01(\x0e\x32\x12.policy.SourceTypeR\nsourceType\x12/\n\x08kas_keys\x18\x05 \x03(\x0b\x32\x14.policy.SimpleKasKeyR\x07kasKeys\x12\x12\n\x04name\x18\x14 \x01(\tR\x04name\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\x97\x02\n\x03Key\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x37\n\tis_active\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x08isActive\x12\x39\n\nwas_mapped\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\twasMapped\x12\x33\n\npublic_key\x18\x04 \x01(\x0b\x32\x14.policy.KasPublicKeyR\tpublicKey\x12)\n\x03kas\x18\x05 \x01(\x0b\x32\x17.policy.KeyAccessServerR\x03kas\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\x84\x01\n\x0cKasPublicKey\x12\x1c\n\x03pem\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80@R\x03pem\x12\x1b\n\x03kid\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\x03kid\x12\x39\n\x03\x61lg\x18\x03 \x01(\x0e\x32\x1b.policy.KasPublicKeyAlgEnumB\n\xbaH\x07\x82\x01\x04\x10\x01 \x00R\x03\x61lg\";\n\x0fKasPublicKeySet\x12(\n\x04keys\x18\x01 \x03(\x0b\x32\x14.policy.KasPublicKeyR\x04keys\"\xe0\x03\n\tPublicKey\x12\x84\x03\n\x06remote\x18\x01 \x01(\tB\xe9\x02\xbaH\xe5\x02\xba\x01\xe1\x02\n\nuri_format\x12\xcf\x01URI must be a valid URL (e.g., \'https://demo.com/\') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.\x1a\x80\x01this.matches(\'^https://[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?(\\\\.[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?)*(/.*)?$\')H\x00R\x06remote\x12\x31\n\x06\x63\x61\x63hed\x18\x03 \x01(\x0b\x32\x17.policy.KasPublicKeySetH\x00R\x06\x63\x61\x63hedB\x0c\n\npublic_keyJ\x04\x08\x02\x10\x03R\x05local\"\x9f\x01\n\x12RegisteredResource\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x37\n\x06values\x18\x03 \x03(\x0b\x32\x1f.policy.RegisteredResourceValueR\x06values\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\xca\x03\n\x17RegisteredResourceValue\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x36\n\x08resource\x18\x03 \x01(\x0b\x32\x1a.policy.RegisteredResourceR\x08resource\x12l\n\x17\x61\x63tion_attribute_values\x18\x04 \x03(\x0b\x32\x34.policy.RegisteredResourceValue.ActionAttributeValueR\x15\x61\x63tionAttributeValues\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\x1a\xb4\x01\n\x14\x41\x63tionAttributeValue\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12&\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x0e.policy.ActionR\x06\x61\x63tion\x12\x36\n\x0f\x61ttribute_value\x18\x03 \x01(\x0b\x32\r.policy.ValueR\x0e\x61ttributeValue\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"a\n\x06KasKey\x12\x15\n\x06kas_id\x18\x01 \x01(\tR\x05kasId\x12\'\n\x03key\x18\x02 \x01(\x0b\x32\x15.policy.AsymmetricKeyR\x03key\x12\x17\n\x07kas_uri\x18\x03 \x01(\tR\x06kasUri\")\n\x0cPublicKeyCtx\x12\x19\n\x03pem\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x03pem\"P\n\rPrivateKeyCtx\x12\x1e\n\x06key_id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x05keyId\x12\x1f\n\x0bwrapped_key\x18\x02 \x01(\tR\nwrappedKey\"\xb9\x03\n\rAsymmetricKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06key_id\x18\x02 \x01(\tR\x05keyId\x12\x36\n\rkey_algorithm\x18\x03 \x01(\x0e\x32\x11.policy.AlgorithmR\x0ckeyAlgorithm\x12\x30\n\nkey_status\x18\x04 \x01(\x0e\x32\x11.policy.KeyStatusR\tkeyStatus\x12*\n\x08key_mode\x18\x05 \x01(\x0e\x32\x0f.policy.KeyModeR\x07keyMode\x12:\n\x0epublic_key_ctx\x18\x06 \x01(\x0b\x32\x14.policy.PublicKeyCtxR\x0cpublicKeyCtx\x12=\n\x0fprivate_key_ctx\x18\x07 \x01(\x0b\x32\x15.policy.PrivateKeyCtxR\rprivateKeyCtx\x12\x42\n\x0fprovider_config\x18\x08 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata\"\x9e\x02\n\x0cSymmetricKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06key_id\x18\x02 \x01(\tR\x05keyId\x12\x30\n\nkey_status\x18\x03 \x01(\x0e\x32\x11.policy.KeyStatusR\tkeyStatus\x12*\n\x08key_mode\x18\x04 \x01(\x0e\x32\x0f.policy.KeyModeR\x07keyMode\x12\x17\n\x07key_ctx\x18\x05 \x01(\x0cR\x06keyCtx\x12\x42\n\x0fprovider_config\x18\x06 \x01(\x0b\x32\x19.policy.KeyProviderConfigR\x0eproviderConfig\x12,\n\x08metadata\x18\x64 \x01(\x0b\x32\x10.common.MetadataR\x08metadata*\xb3\x01\n\x15\x41ttributeRuleTypeEnum\x12(\n$ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED\x10\x00\x12#\n\x1f\x41TTRIBUTE_RULE_TYPE_ENUM_ALL_OF\x10\x01\x12#\n\x1f\x41TTRIBUTE_RULE_TYPE_ENUM_ANY_OF\x10\x02\x12&\n\"ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY\x10\x03*\xca\x01\n\x1aSubjectMappingOperatorEnum\x12-\n)SUBJECT_MAPPING_OPERATOR_ENUM_UNSPECIFIED\x10\x00\x12$\n SUBJECT_MAPPING_OPERATOR_ENUM_IN\x10\x01\x12(\n$SUBJECT_MAPPING_OPERATOR_ENUM_NOT_IN\x10\x02\x12-\n)SUBJECT_MAPPING_OPERATOR_ENUM_IN_CONTAINS\x10\x03*\x90\x01\n\x18\x43onditionBooleanTypeEnum\x12+\n\'CONDITION_BOOLEAN_TYPE_ENUM_UNSPECIFIED\x10\x00\x12#\n\x1f\x43ONDITION_BOOLEAN_TYPE_ENUM_AND\x10\x01\x12\"\n\x1e\x43ONDITION_BOOLEAN_TYPE_ENUM_OR\x10\x02*]\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14SOURCE_TYPE_INTERNAL\x10\x01\x12\x18\n\x14SOURCE_TYPE_EXTERNAL\x10\x02*\x88\x02\n\x13KasPublicKeyAlgEnum\x12\'\n#KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED\x10\x00\x12$\n KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048\x10\x01\x12$\n KAS_PUBLIC_KEY_ALG_ENUM_RSA_4096\x10\x02\x12(\n$KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1\x10\x05\x12(\n$KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP384R1\x10\x06\x12(\n$KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP521R1\x10\x07*\x9b\x01\n\tAlgorithm\x12\x19\n\x15\x41LGORITHM_UNSPECIFIED\x10\x00\x12\x16\n\x12\x41LGORITHM_RSA_2048\x10\x01\x12\x16\n\x12\x41LGORITHM_RSA_4096\x10\x02\x12\x15\n\x11\x41LGORITHM_EC_P256\x10\x03\x12\x15\n\x11\x41LGORITHM_EC_P384\x10\x04\x12\x15\n\x11\x41LGORITHM_EC_P521\x10\x05*V\n\tKeyStatus\x12\x1a\n\x16KEY_STATUS_UNSPECIFIED\x10\x00\x12\x15\n\x11KEY_STATUS_ACTIVE\x10\x01\x12\x16\n\x12KEY_STATUS_ROTATED\x10\x02*\x94\x01\n\x07KeyMode\x12\x18\n\x14KEY_MODE_UNSPECIFIED\x10\x00\x12\x1c\n\x18KEY_MODE_CONFIG_ROOT_KEY\x10\x01\x12\x1e\n\x1aKEY_MODE_PROVIDER_ROOT_KEY\x10\x02\x12\x13\n\x0fKEY_MODE_REMOTE\x10\x03\x12\x1c\n\x18KEY_MODE_PUBLIC_KEY_ONLY\x10\x04\x42R\n\ncom.policyB\x0cObjectsProtoP\x01\xa2\x02\x03PXX\xaa\x02\x06Policy\xca\x02\x06Policy\xe2\x02\x12Policy\\GPBMetadata\xea\x02\x06Policyb\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'policy.objects_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'\n\ncom.policyB\014ObjectsProtoP\001\242\002\003PXX\252\002\006Policy\312\002\006Policy\342\002\022Policy\\GPBMetadata\352\002\006Policy'
38
+ _globals['_ATTRIBUTE'].fields_by_name['rule']._loaded_options = None
39
+ _globals['_ATTRIBUTE'].fields_by_name['rule']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
40
+ _globals['_CONDITION'].fields_by_name['subject_external_selector_value']._loaded_options = None
41
+ _globals['_CONDITION'].fields_by_name['subject_external_selector_value']._serialized_options = b'\272H\003\310\001\001'
42
+ _globals['_CONDITION'].fields_by_name['operator']._loaded_options = None
43
+ _globals['_CONDITION'].fields_by_name['operator']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
44
+ _globals['_CONDITION'].fields_by_name['subject_external_values']._loaded_options = None
45
+ _globals['_CONDITION'].fields_by_name['subject_external_values']._serialized_options = b'\272H\005\222\001\002\010\001'
46
+ _globals['_CONDITIONGROUP'].fields_by_name['conditions']._loaded_options = None
47
+ _globals['_CONDITIONGROUP'].fields_by_name['conditions']._serialized_options = b'\272H\005\222\001\002\010\001'
48
+ _globals['_CONDITIONGROUP'].fields_by_name['boolean_operator']._loaded_options = None
49
+ _globals['_CONDITIONGROUP'].fields_by_name['boolean_operator']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
50
+ _globals['_SUBJECTSET'].fields_by_name['condition_groups']._loaded_options = None
51
+ _globals['_SUBJECTSET'].fields_by_name['condition_groups']._serialized_options = b'\272H\005\222\001\002\010\001'
52
+ _globals['_SUBJECTCONDITIONSET'].fields_by_name['subject_sets']._loaded_options = None
53
+ _globals['_SUBJECTCONDITIONSET'].fields_by_name['subject_sets']._serialized_options = b'\272H\005\222\001\002\010\001'
54
+ _globals['_SUBJECTPROPERTY'].fields_by_name['external_selector_value']._loaded_options = None
55
+ _globals['_SUBJECTPROPERTY'].fields_by_name['external_selector_value']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
56
+ _globals['_RESOURCEMAPPINGGROUP'].fields_by_name['namespace_id']._loaded_options = None
57
+ _globals['_RESOURCEMAPPINGGROUP'].fields_by_name['namespace_id']._serialized_options = b'\272H\003\310\001\001'
58
+ _globals['_RESOURCEMAPPINGGROUP'].fields_by_name['name']._loaded_options = None
59
+ _globals['_RESOURCEMAPPINGGROUP'].fields_by_name['name']._serialized_options = b'\272H\003\310\001\001'
60
+ _globals['_RESOURCEMAPPING'].fields_by_name['attribute_value']._loaded_options = None
61
+ _globals['_RESOURCEMAPPING'].fields_by_name['attribute_value']._serialized_options = b'\272H\003\310\001\001'
62
+ _globals['_KEYACCESSSERVER'].fields_by_name['uri']._loaded_options = None
63
+ _globals['_KEYACCESSSERVER'].fields_by_name['uri']._serialized_options = b'\272H\360\002\272\001\354\002\n\nuri_format\022\317\001URI must be a valid URL (e.g., \'https://demo.com/\') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.\032\213\001this.matches(\'^https?://[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?(\\\\.[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?)*(:[0-9]+)?(/.*)?$\')'
64
+ _globals['_KASPUBLICKEY'].fields_by_name['pem']._loaded_options = None
65
+ _globals['_KASPUBLICKEY'].fields_by_name['pem']._serialized_options = b'\272H\007r\005\020\001\030\200@'
66
+ _globals['_KASPUBLICKEY'].fields_by_name['kid']._loaded_options = None
67
+ _globals['_KASPUBLICKEY'].fields_by_name['kid']._serialized_options = b'\272H\006r\004\020\001\030 '
68
+ _globals['_KASPUBLICKEY'].fields_by_name['alg']._loaded_options = None
69
+ _globals['_KASPUBLICKEY'].fields_by_name['alg']._serialized_options = b'\272H\007\202\001\004\020\001 \000'
70
+ _globals['_PUBLICKEY'].fields_by_name['remote']._loaded_options = None
71
+ _globals['_PUBLICKEY'].fields_by_name['remote']._serialized_options = b'\272H\345\002\272\001\341\002\n\nuri_format\022\317\001URI must be a valid URL (e.g., \'https://demo.com/\') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.\032\200\001this.matches(\'^https://[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?(\\\\.[a-zA-Z0-9]([a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])?)*(/.*)?$\')'
72
+ _globals['_PUBLICKEYCTX'].fields_by_name['pem']._loaded_options = None
73
+ _globals['_PUBLICKEYCTX'].fields_by_name['pem']._serialized_options = b'\272H\004r\002\020\001'
74
+ _globals['_PRIVATEKEYCTX'].fields_by_name['key_id']._loaded_options = None
75
+ _globals['_PRIVATEKEYCTX'].fields_by_name['key_id']._serialized_options = b'\272H\004r\002\020\001'
76
+ _globals['_ATTRIBUTERULETYPEENUM']._serialized_start=6525
77
+ _globals['_ATTRIBUTERULETYPEENUM']._serialized_end=6704
78
+ _globals['_SUBJECTMAPPINGOPERATORENUM']._serialized_start=6707
79
+ _globals['_SUBJECTMAPPINGOPERATORENUM']._serialized_end=6909
80
+ _globals['_CONDITIONBOOLEANTYPEENUM']._serialized_start=6912
81
+ _globals['_CONDITIONBOOLEANTYPEENUM']._serialized_end=7056
82
+ _globals['_SOURCETYPE']._serialized_start=7058
83
+ _globals['_SOURCETYPE']._serialized_end=7151
84
+ _globals['_KASPUBLICKEYALGENUM']._serialized_start=7154
85
+ _globals['_KASPUBLICKEYALGENUM']._serialized_end=7418
86
+ _globals['_ALGORITHM']._serialized_start=7421
87
+ _globals['_ALGORITHM']._serialized_end=7576
88
+ _globals['_KEYSTATUS']._serialized_start=7578
89
+ _globals['_KEYSTATUS']._serialized_end=7664
90
+ _globals['_KEYMODE']._serialized_start=7667
91
+ _globals['_KEYMODE']._serialized_end=7815
92
+ _globals['_SIMPLEKASPUBLICKEY']._serialized_start=114
93
+ _globals['_SIMPLEKASPUBLICKEY']._serialized_end=219
94
+ _globals['_SIMPLEKASKEY']._serialized_start=221
95
+ _globals['_SIMPLEKASKEY']._serialized_end=342
96
+ _globals['_KEYPROVIDERCONFIG']._serialized_start=345
97
+ _globals['_KEYPROVIDERCONFIG']._serialized_end=479
98
+ _globals['_NAMESPACE']._serialized_start=482
99
+ _globals['_NAMESPACE']._serialized_end=743
100
+ _globals['_ATTRIBUTE']._serialized_start=746
101
+ _globals['_ATTRIBUTE']._serialized_end=1159
102
+ _globals['_VALUE']._serialized_start=1162
103
+ _globals['_VALUE']._serialized_end=1622
104
+ _globals['_ACTION']._serialized_start=1625
105
+ _globals['_ACTION']._serialized_end=1921
106
+ _globals['_ACTION_STANDARDACTION']._serialized_start=1804
107
+ _globals['_ACTION_STANDARDACTION']._serialized_end=1912
108
+ _globals['_SUBJECTMAPPING']._serialized_start=1924
109
+ _globals['_SUBJECTMAPPING']._serialized_end=2181
110
+ _globals['_CONDITION']._serialized_start=2184
111
+ _globals['_CONDITION']._serialized_end=2417
112
+ _globals['_CONDITIONGROUP']._serialized_start=2420
113
+ _globals['_CONDITIONGROUP']._serialized_end=2587
114
+ _globals['_SUBJECTSET']._serialized_start=2589
115
+ _globals['_SUBJECTSET']._serialized_end=2678
116
+ _globals['_SUBJECTCONDITIONSET']._serialized_start=2681
117
+ _globals['_SUBJECTCONDITIONSET']._serialized_end=2829
118
+ _globals['_SUBJECTPROPERTY']._serialized_start=2831
119
+ _globals['_SUBJECTPROPERTY']._serialized_end=2955
120
+ _globals['_RESOURCEMAPPINGGROUP']._serialized_start=2958
121
+ _globals['_RESOURCEMAPPINGGROUP']._serialized_end=3113
122
+ _globals['_RESOURCEMAPPING']._serialized_start=3116
123
+ _globals['_RESOURCEMAPPING']._serialized_end=3333
124
+ _globals['_KEYACCESSSERVER']._serialized_start=3336
125
+ _globals['_KEYACCESSSERVER']._serialized_end=3981
126
+ _globals['_KEY']._serialized_start=3984
127
+ _globals['_KEY']._serialized_end=4263
128
+ _globals['_KASPUBLICKEY']._serialized_start=4266
129
+ _globals['_KASPUBLICKEY']._serialized_end=4398
130
+ _globals['_KASPUBLICKEYSET']._serialized_start=4400
131
+ _globals['_KASPUBLICKEYSET']._serialized_end=4459
132
+ _globals['_PUBLICKEY']._serialized_start=4462
133
+ _globals['_PUBLICKEY']._serialized_end=4942
134
+ _globals['_REGISTEREDRESOURCE']._serialized_start=4945
135
+ _globals['_REGISTEREDRESOURCE']._serialized_end=5104
136
+ _globals['_REGISTEREDRESOURCEVALUE']._serialized_start=5107
137
+ _globals['_REGISTEREDRESOURCEVALUE']._serialized_end=5565
138
+ _globals['_REGISTEREDRESOURCEVALUE_ACTIONATTRIBUTEVALUE']._serialized_start=5385
139
+ _globals['_REGISTEREDRESOURCEVALUE_ACTIONATTRIBUTEVALUE']._serialized_end=5565
140
+ _globals['_KASKEY']._serialized_start=5567
141
+ _globals['_KASKEY']._serialized_end=5664
142
+ _globals['_PUBLICKEYCTX']._serialized_start=5666
143
+ _globals['_PUBLICKEYCTX']._serialized_end=5707
144
+ _globals['_PRIVATEKEYCTX']._serialized_start=5709
145
+ _globals['_PRIVATEKEYCTX']._serialized_end=5789
146
+ _globals['_ASYMMETRICKEY']._serialized_start=5792
147
+ _globals['_ASYMMETRICKEY']._serialized_end=6233
148
+ _globals['_SYMMETRICKEY']._serialized_start=6236
149
+ _globals['_SYMMETRICKEY']._serialized_end=6522
150
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,464 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from common import common_pb2 as _common_pb2
3
+ from google.protobuf import wrappers_pb2 as _wrappers_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
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 AttributeRuleTypeEnum(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
14
+ __slots__ = ()
15
+ ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED: _ClassVar[AttributeRuleTypeEnum]
16
+ ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF: _ClassVar[AttributeRuleTypeEnum]
17
+ ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF: _ClassVar[AttributeRuleTypeEnum]
18
+ ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY: _ClassVar[AttributeRuleTypeEnum]
19
+
20
+ class SubjectMappingOperatorEnum(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
21
+ __slots__ = ()
22
+ SUBJECT_MAPPING_OPERATOR_ENUM_UNSPECIFIED: _ClassVar[SubjectMappingOperatorEnum]
23
+ SUBJECT_MAPPING_OPERATOR_ENUM_IN: _ClassVar[SubjectMappingOperatorEnum]
24
+ SUBJECT_MAPPING_OPERATOR_ENUM_NOT_IN: _ClassVar[SubjectMappingOperatorEnum]
25
+ SUBJECT_MAPPING_OPERATOR_ENUM_IN_CONTAINS: _ClassVar[SubjectMappingOperatorEnum]
26
+
27
+ class ConditionBooleanTypeEnum(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
28
+ __slots__ = ()
29
+ CONDITION_BOOLEAN_TYPE_ENUM_UNSPECIFIED: _ClassVar[ConditionBooleanTypeEnum]
30
+ CONDITION_BOOLEAN_TYPE_ENUM_AND: _ClassVar[ConditionBooleanTypeEnum]
31
+ CONDITION_BOOLEAN_TYPE_ENUM_OR: _ClassVar[ConditionBooleanTypeEnum]
32
+
33
+ class SourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
34
+ __slots__ = ()
35
+ SOURCE_TYPE_UNSPECIFIED: _ClassVar[SourceType]
36
+ SOURCE_TYPE_INTERNAL: _ClassVar[SourceType]
37
+ SOURCE_TYPE_EXTERNAL: _ClassVar[SourceType]
38
+
39
+ class KasPublicKeyAlgEnum(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
40
+ __slots__ = ()
41
+ KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED: _ClassVar[KasPublicKeyAlgEnum]
42
+ KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048: _ClassVar[KasPublicKeyAlgEnum]
43
+ KAS_PUBLIC_KEY_ALG_ENUM_RSA_4096: _ClassVar[KasPublicKeyAlgEnum]
44
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1: _ClassVar[KasPublicKeyAlgEnum]
45
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP384R1: _ClassVar[KasPublicKeyAlgEnum]
46
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP521R1: _ClassVar[KasPublicKeyAlgEnum]
47
+
48
+ class Algorithm(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
49
+ __slots__ = ()
50
+ ALGORITHM_UNSPECIFIED: _ClassVar[Algorithm]
51
+ ALGORITHM_RSA_2048: _ClassVar[Algorithm]
52
+ ALGORITHM_RSA_4096: _ClassVar[Algorithm]
53
+ ALGORITHM_EC_P256: _ClassVar[Algorithm]
54
+ ALGORITHM_EC_P384: _ClassVar[Algorithm]
55
+ ALGORITHM_EC_P521: _ClassVar[Algorithm]
56
+
57
+ class KeyStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
58
+ __slots__ = ()
59
+ KEY_STATUS_UNSPECIFIED: _ClassVar[KeyStatus]
60
+ KEY_STATUS_ACTIVE: _ClassVar[KeyStatus]
61
+ KEY_STATUS_ROTATED: _ClassVar[KeyStatus]
62
+
63
+ class KeyMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
64
+ __slots__ = ()
65
+ KEY_MODE_UNSPECIFIED: _ClassVar[KeyMode]
66
+ KEY_MODE_CONFIG_ROOT_KEY: _ClassVar[KeyMode]
67
+ KEY_MODE_PROVIDER_ROOT_KEY: _ClassVar[KeyMode]
68
+ KEY_MODE_REMOTE: _ClassVar[KeyMode]
69
+ KEY_MODE_PUBLIC_KEY_ONLY: _ClassVar[KeyMode]
70
+ ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED: AttributeRuleTypeEnum
71
+ ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF: AttributeRuleTypeEnum
72
+ ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF: AttributeRuleTypeEnum
73
+ ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY: AttributeRuleTypeEnum
74
+ SUBJECT_MAPPING_OPERATOR_ENUM_UNSPECIFIED: SubjectMappingOperatorEnum
75
+ SUBJECT_MAPPING_OPERATOR_ENUM_IN: SubjectMappingOperatorEnum
76
+ SUBJECT_MAPPING_OPERATOR_ENUM_NOT_IN: SubjectMappingOperatorEnum
77
+ SUBJECT_MAPPING_OPERATOR_ENUM_IN_CONTAINS: SubjectMappingOperatorEnum
78
+ CONDITION_BOOLEAN_TYPE_ENUM_UNSPECIFIED: ConditionBooleanTypeEnum
79
+ CONDITION_BOOLEAN_TYPE_ENUM_AND: ConditionBooleanTypeEnum
80
+ CONDITION_BOOLEAN_TYPE_ENUM_OR: ConditionBooleanTypeEnum
81
+ SOURCE_TYPE_UNSPECIFIED: SourceType
82
+ SOURCE_TYPE_INTERNAL: SourceType
83
+ SOURCE_TYPE_EXTERNAL: SourceType
84
+ KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED: KasPublicKeyAlgEnum
85
+ KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048: KasPublicKeyAlgEnum
86
+ KAS_PUBLIC_KEY_ALG_ENUM_RSA_4096: KasPublicKeyAlgEnum
87
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1: KasPublicKeyAlgEnum
88
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP384R1: KasPublicKeyAlgEnum
89
+ KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP521R1: KasPublicKeyAlgEnum
90
+ ALGORITHM_UNSPECIFIED: Algorithm
91
+ ALGORITHM_RSA_2048: Algorithm
92
+ ALGORITHM_RSA_4096: Algorithm
93
+ ALGORITHM_EC_P256: Algorithm
94
+ ALGORITHM_EC_P384: Algorithm
95
+ ALGORITHM_EC_P521: Algorithm
96
+ KEY_STATUS_UNSPECIFIED: KeyStatus
97
+ KEY_STATUS_ACTIVE: KeyStatus
98
+ KEY_STATUS_ROTATED: KeyStatus
99
+ KEY_MODE_UNSPECIFIED: KeyMode
100
+ KEY_MODE_CONFIG_ROOT_KEY: KeyMode
101
+ KEY_MODE_PROVIDER_ROOT_KEY: KeyMode
102
+ KEY_MODE_REMOTE: KeyMode
103
+ KEY_MODE_PUBLIC_KEY_ONLY: KeyMode
104
+
105
+ class SimpleKasPublicKey(_message.Message):
106
+ __slots__ = ("algorithm", "kid", "pem")
107
+ ALGORITHM_FIELD_NUMBER: _ClassVar[int]
108
+ KID_FIELD_NUMBER: _ClassVar[int]
109
+ PEM_FIELD_NUMBER: _ClassVar[int]
110
+ algorithm: Algorithm
111
+ kid: str
112
+ pem: str
113
+ def __init__(self, algorithm: _Optional[_Union[Algorithm, str]] = ..., kid: _Optional[str] = ..., pem: _Optional[str] = ...) -> None: ...
114
+
115
+ class SimpleKasKey(_message.Message):
116
+ __slots__ = ("kas_uri", "public_key", "kas_id")
117
+ KAS_URI_FIELD_NUMBER: _ClassVar[int]
118
+ PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int]
119
+ KAS_ID_FIELD_NUMBER: _ClassVar[int]
120
+ kas_uri: str
121
+ public_key: SimpleKasPublicKey
122
+ kas_id: str
123
+ def __init__(self, kas_uri: _Optional[str] = ..., public_key: _Optional[_Union[SimpleKasPublicKey, _Mapping]] = ..., kas_id: _Optional[str] = ...) -> None: ...
124
+
125
+ class KeyProviderConfig(_message.Message):
126
+ __slots__ = ("id", "name", "config_json", "metadata")
127
+ ID_FIELD_NUMBER: _ClassVar[int]
128
+ NAME_FIELD_NUMBER: _ClassVar[int]
129
+ CONFIG_JSON_FIELD_NUMBER: _ClassVar[int]
130
+ METADATA_FIELD_NUMBER: _ClassVar[int]
131
+ id: str
132
+ name: str
133
+ config_json: bytes
134
+ metadata: _common_pb2.Metadata
135
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., config_json: _Optional[bytes] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
136
+
137
+ class Namespace(_message.Message):
138
+ __slots__ = ("id", "name", "fqn", "active", "metadata", "grants", "kas_keys")
139
+ ID_FIELD_NUMBER: _ClassVar[int]
140
+ NAME_FIELD_NUMBER: _ClassVar[int]
141
+ FQN_FIELD_NUMBER: _ClassVar[int]
142
+ ACTIVE_FIELD_NUMBER: _ClassVar[int]
143
+ METADATA_FIELD_NUMBER: _ClassVar[int]
144
+ GRANTS_FIELD_NUMBER: _ClassVar[int]
145
+ KAS_KEYS_FIELD_NUMBER: _ClassVar[int]
146
+ id: str
147
+ name: str
148
+ fqn: str
149
+ active: _wrappers_pb2.BoolValue
150
+ metadata: _common_pb2.Metadata
151
+ grants: _containers.RepeatedCompositeFieldContainer[KeyAccessServer]
152
+ kas_keys: _containers.RepeatedCompositeFieldContainer[SimpleKasKey]
153
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., fqn: _Optional[str] = ..., active: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ..., grants: _Optional[_Iterable[_Union[KeyAccessServer, _Mapping]]] = ..., kas_keys: _Optional[_Iterable[_Union[SimpleKasKey, _Mapping]]] = ...) -> None: ...
154
+
155
+ class Attribute(_message.Message):
156
+ __slots__ = ("id", "namespace", "name", "rule", "values", "grants", "fqn", "active", "kas_keys", "metadata")
157
+ ID_FIELD_NUMBER: _ClassVar[int]
158
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
159
+ NAME_FIELD_NUMBER: _ClassVar[int]
160
+ RULE_FIELD_NUMBER: _ClassVar[int]
161
+ VALUES_FIELD_NUMBER: _ClassVar[int]
162
+ GRANTS_FIELD_NUMBER: _ClassVar[int]
163
+ FQN_FIELD_NUMBER: _ClassVar[int]
164
+ ACTIVE_FIELD_NUMBER: _ClassVar[int]
165
+ KAS_KEYS_FIELD_NUMBER: _ClassVar[int]
166
+ METADATA_FIELD_NUMBER: _ClassVar[int]
167
+ id: str
168
+ namespace: Namespace
169
+ name: str
170
+ rule: AttributeRuleTypeEnum
171
+ values: _containers.RepeatedCompositeFieldContainer[Value]
172
+ grants: _containers.RepeatedCompositeFieldContainer[KeyAccessServer]
173
+ fqn: str
174
+ active: _wrappers_pb2.BoolValue
175
+ kas_keys: _containers.RepeatedCompositeFieldContainer[SimpleKasKey]
176
+ metadata: _common_pb2.Metadata
177
+ def __init__(self, id: _Optional[str] = ..., namespace: _Optional[_Union[Namespace, _Mapping]] = ..., name: _Optional[str] = ..., rule: _Optional[_Union[AttributeRuleTypeEnum, str]] = ..., values: _Optional[_Iterable[_Union[Value, _Mapping]]] = ..., grants: _Optional[_Iterable[_Union[KeyAccessServer, _Mapping]]] = ..., fqn: _Optional[str] = ..., active: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., kas_keys: _Optional[_Iterable[_Union[SimpleKasKey, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
178
+
179
+ class Value(_message.Message):
180
+ __slots__ = ("id", "attribute", "value", "grants", "fqn", "active", "subject_mappings", "kas_keys", "resource_mappings", "metadata")
181
+ ID_FIELD_NUMBER: _ClassVar[int]
182
+ ATTRIBUTE_FIELD_NUMBER: _ClassVar[int]
183
+ VALUE_FIELD_NUMBER: _ClassVar[int]
184
+ GRANTS_FIELD_NUMBER: _ClassVar[int]
185
+ FQN_FIELD_NUMBER: _ClassVar[int]
186
+ ACTIVE_FIELD_NUMBER: _ClassVar[int]
187
+ SUBJECT_MAPPINGS_FIELD_NUMBER: _ClassVar[int]
188
+ KAS_KEYS_FIELD_NUMBER: _ClassVar[int]
189
+ RESOURCE_MAPPINGS_FIELD_NUMBER: _ClassVar[int]
190
+ METADATA_FIELD_NUMBER: _ClassVar[int]
191
+ id: str
192
+ attribute: Attribute
193
+ value: str
194
+ grants: _containers.RepeatedCompositeFieldContainer[KeyAccessServer]
195
+ fqn: str
196
+ active: _wrappers_pb2.BoolValue
197
+ subject_mappings: _containers.RepeatedCompositeFieldContainer[SubjectMapping]
198
+ kas_keys: _containers.RepeatedCompositeFieldContainer[SimpleKasKey]
199
+ resource_mappings: _containers.RepeatedCompositeFieldContainer[ResourceMapping]
200
+ metadata: _common_pb2.Metadata
201
+ def __init__(self, id: _Optional[str] = ..., attribute: _Optional[_Union[Attribute, _Mapping]] = ..., value: _Optional[str] = ..., grants: _Optional[_Iterable[_Union[KeyAccessServer, _Mapping]]] = ..., fqn: _Optional[str] = ..., active: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., subject_mappings: _Optional[_Iterable[_Union[SubjectMapping, _Mapping]]] = ..., kas_keys: _Optional[_Iterable[_Union[SimpleKasKey, _Mapping]]] = ..., resource_mappings: _Optional[_Iterable[_Union[ResourceMapping, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
202
+
203
+ class Action(_message.Message):
204
+ __slots__ = ("id", "standard", "custom", "name", "metadata")
205
+ class StandardAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
206
+ __slots__ = ()
207
+ STANDARD_ACTION_UNSPECIFIED: _ClassVar[Action.StandardAction]
208
+ STANDARD_ACTION_DECRYPT: _ClassVar[Action.StandardAction]
209
+ STANDARD_ACTION_TRANSMIT: _ClassVar[Action.StandardAction]
210
+ STANDARD_ACTION_UNSPECIFIED: Action.StandardAction
211
+ STANDARD_ACTION_DECRYPT: Action.StandardAction
212
+ STANDARD_ACTION_TRANSMIT: Action.StandardAction
213
+ ID_FIELD_NUMBER: _ClassVar[int]
214
+ STANDARD_FIELD_NUMBER: _ClassVar[int]
215
+ CUSTOM_FIELD_NUMBER: _ClassVar[int]
216
+ NAME_FIELD_NUMBER: _ClassVar[int]
217
+ METADATA_FIELD_NUMBER: _ClassVar[int]
218
+ id: str
219
+ standard: Action.StandardAction
220
+ custom: str
221
+ name: str
222
+ metadata: _common_pb2.Metadata
223
+ def __init__(self, id: _Optional[str] = ..., standard: _Optional[_Union[Action.StandardAction, str]] = ..., custom: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
224
+
225
+ class SubjectMapping(_message.Message):
226
+ __slots__ = ("id", "attribute_value", "subject_condition_set", "actions", "metadata")
227
+ ID_FIELD_NUMBER: _ClassVar[int]
228
+ ATTRIBUTE_VALUE_FIELD_NUMBER: _ClassVar[int]
229
+ SUBJECT_CONDITION_SET_FIELD_NUMBER: _ClassVar[int]
230
+ ACTIONS_FIELD_NUMBER: _ClassVar[int]
231
+ METADATA_FIELD_NUMBER: _ClassVar[int]
232
+ id: str
233
+ attribute_value: Value
234
+ subject_condition_set: SubjectConditionSet
235
+ actions: _containers.RepeatedCompositeFieldContainer[Action]
236
+ metadata: _common_pb2.Metadata
237
+ def __init__(self, id: _Optional[str] = ..., attribute_value: _Optional[_Union[Value, _Mapping]] = ..., subject_condition_set: _Optional[_Union[SubjectConditionSet, _Mapping]] = ..., actions: _Optional[_Iterable[_Union[Action, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
238
+
239
+ class Condition(_message.Message):
240
+ __slots__ = ("subject_external_selector_value", "operator", "subject_external_values")
241
+ SUBJECT_EXTERNAL_SELECTOR_VALUE_FIELD_NUMBER: _ClassVar[int]
242
+ OPERATOR_FIELD_NUMBER: _ClassVar[int]
243
+ SUBJECT_EXTERNAL_VALUES_FIELD_NUMBER: _ClassVar[int]
244
+ subject_external_selector_value: str
245
+ operator: SubjectMappingOperatorEnum
246
+ subject_external_values: _containers.RepeatedScalarFieldContainer[str]
247
+ def __init__(self, subject_external_selector_value: _Optional[str] = ..., operator: _Optional[_Union[SubjectMappingOperatorEnum, str]] = ..., subject_external_values: _Optional[_Iterable[str]] = ...) -> None: ...
248
+
249
+ class ConditionGroup(_message.Message):
250
+ __slots__ = ("conditions", "boolean_operator")
251
+ CONDITIONS_FIELD_NUMBER: _ClassVar[int]
252
+ BOOLEAN_OPERATOR_FIELD_NUMBER: _ClassVar[int]
253
+ conditions: _containers.RepeatedCompositeFieldContainer[Condition]
254
+ boolean_operator: ConditionBooleanTypeEnum
255
+ def __init__(self, conditions: _Optional[_Iterable[_Union[Condition, _Mapping]]] = ..., boolean_operator: _Optional[_Union[ConditionBooleanTypeEnum, str]] = ...) -> None: ...
256
+
257
+ class SubjectSet(_message.Message):
258
+ __slots__ = ("condition_groups",)
259
+ CONDITION_GROUPS_FIELD_NUMBER: _ClassVar[int]
260
+ condition_groups: _containers.RepeatedCompositeFieldContainer[ConditionGroup]
261
+ def __init__(self, condition_groups: _Optional[_Iterable[_Union[ConditionGroup, _Mapping]]] = ...) -> None: ...
262
+
263
+ class SubjectConditionSet(_message.Message):
264
+ __slots__ = ("id", "subject_sets", "metadata")
265
+ ID_FIELD_NUMBER: _ClassVar[int]
266
+ SUBJECT_SETS_FIELD_NUMBER: _ClassVar[int]
267
+ METADATA_FIELD_NUMBER: _ClassVar[int]
268
+ id: str
269
+ subject_sets: _containers.RepeatedCompositeFieldContainer[SubjectSet]
270
+ metadata: _common_pb2.Metadata
271
+ def __init__(self, id: _Optional[str] = ..., subject_sets: _Optional[_Iterable[_Union[SubjectSet, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
272
+
273
+ class SubjectProperty(_message.Message):
274
+ __slots__ = ("external_selector_value", "external_value")
275
+ EXTERNAL_SELECTOR_VALUE_FIELD_NUMBER: _ClassVar[int]
276
+ EXTERNAL_VALUE_FIELD_NUMBER: _ClassVar[int]
277
+ external_selector_value: str
278
+ external_value: str
279
+ def __init__(self, external_selector_value: _Optional[str] = ..., external_value: _Optional[str] = ...) -> None: ...
280
+
281
+ class ResourceMappingGroup(_message.Message):
282
+ __slots__ = ("id", "namespace_id", "name", "metadata")
283
+ ID_FIELD_NUMBER: _ClassVar[int]
284
+ NAMESPACE_ID_FIELD_NUMBER: _ClassVar[int]
285
+ NAME_FIELD_NUMBER: _ClassVar[int]
286
+ METADATA_FIELD_NUMBER: _ClassVar[int]
287
+ id: str
288
+ namespace_id: str
289
+ name: str
290
+ metadata: _common_pb2.Metadata
291
+ def __init__(self, id: _Optional[str] = ..., namespace_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
292
+
293
+ class ResourceMapping(_message.Message):
294
+ __slots__ = ("id", "metadata", "attribute_value", "terms", "group")
295
+ ID_FIELD_NUMBER: _ClassVar[int]
296
+ METADATA_FIELD_NUMBER: _ClassVar[int]
297
+ ATTRIBUTE_VALUE_FIELD_NUMBER: _ClassVar[int]
298
+ TERMS_FIELD_NUMBER: _ClassVar[int]
299
+ GROUP_FIELD_NUMBER: _ClassVar[int]
300
+ id: str
301
+ metadata: _common_pb2.Metadata
302
+ attribute_value: Value
303
+ terms: _containers.RepeatedScalarFieldContainer[str]
304
+ group: ResourceMappingGroup
305
+ def __init__(self, id: _Optional[str] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ..., attribute_value: _Optional[_Union[Value, _Mapping]] = ..., terms: _Optional[_Iterable[str]] = ..., group: _Optional[_Union[ResourceMappingGroup, _Mapping]] = ...) -> None: ...
306
+
307
+ class KeyAccessServer(_message.Message):
308
+ __slots__ = ("id", "uri", "public_key", "source_type", "kas_keys", "name", "metadata")
309
+ ID_FIELD_NUMBER: _ClassVar[int]
310
+ URI_FIELD_NUMBER: _ClassVar[int]
311
+ PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int]
312
+ SOURCE_TYPE_FIELD_NUMBER: _ClassVar[int]
313
+ KAS_KEYS_FIELD_NUMBER: _ClassVar[int]
314
+ NAME_FIELD_NUMBER: _ClassVar[int]
315
+ METADATA_FIELD_NUMBER: _ClassVar[int]
316
+ id: str
317
+ uri: str
318
+ public_key: PublicKey
319
+ source_type: SourceType
320
+ kas_keys: _containers.RepeatedCompositeFieldContainer[SimpleKasKey]
321
+ name: str
322
+ metadata: _common_pb2.Metadata
323
+ def __init__(self, id: _Optional[str] = ..., uri: _Optional[str] = ..., public_key: _Optional[_Union[PublicKey, _Mapping]] = ..., source_type: _Optional[_Union[SourceType, str]] = ..., kas_keys: _Optional[_Iterable[_Union[SimpleKasKey, _Mapping]]] = ..., name: _Optional[str] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
324
+
325
+ class Key(_message.Message):
326
+ __slots__ = ("id", "is_active", "was_mapped", "public_key", "kas", "metadata")
327
+ ID_FIELD_NUMBER: _ClassVar[int]
328
+ IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
329
+ WAS_MAPPED_FIELD_NUMBER: _ClassVar[int]
330
+ PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int]
331
+ KAS_FIELD_NUMBER: _ClassVar[int]
332
+ METADATA_FIELD_NUMBER: _ClassVar[int]
333
+ id: str
334
+ is_active: _wrappers_pb2.BoolValue
335
+ was_mapped: _wrappers_pb2.BoolValue
336
+ public_key: KasPublicKey
337
+ kas: KeyAccessServer
338
+ metadata: _common_pb2.Metadata
339
+ def __init__(self, id: _Optional[str] = ..., is_active: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., was_mapped: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., public_key: _Optional[_Union[KasPublicKey, _Mapping]] = ..., kas: _Optional[_Union[KeyAccessServer, _Mapping]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
340
+
341
+ class KasPublicKey(_message.Message):
342
+ __slots__ = ("pem", "kid", "alg")
343
+ PEM_FIELD_NUMBER: _ClassVar[int]
344
+ KID_FIELD_NUMBER: _ClassVar[int]
345
+ ALG_FIELD_NUMBER: _ClassVar[int]
346
+ pem: str
347
+ kid: str
348
+ alg: KasPublicKeyAlgEnum
349
+ def __init__(self, pem: _Optional[str] = ..., kid: _Optional[str] = ..., alg: _Optional[_Union[KasPublicKeyAlgEnum, str]] = ...) -> None: ...
350
+
351
+ class KasPublicKeySet(_message.Message):
352
+ __slots__ = ("keys",)
353
+ KEYS_FIELD_NUMBER: _ClassVar[int]
354
+ keys: _containers.RepeatedCompositeFieldContainer[KasPublicKey]
355
+ def __init__(self, keys: _Optional[_Iterable[_Union[KasPublicKey, _Mapping]]] = ...) -> None: ...
356
+
357
+ class PublicKey(_message.Message):
358
+ __slots__ = ("remote", "cached")
359
+ REMOTE_FIELD_NUMBER: _ClassVar[int]
360
+ CACHED_FIELD_NUMBER: _ClassVar[int]
361
+ remote: str
362
+ cached: KasPublicKeySet
363
+ def __init__(self, remote: _Optional[str] = ..., cached: _Optional[_Union[KasPublicKeySet, _Mapping]] = ...) -> None: ...
364
+
365
+ class RegisteredResource(_message.Message):
366
+ __slots__ = ("id", "name", "values", "metadata")
367
+ ID_FIELD_NUMBER: _ClassVar[int]
368
+ NAME_FIELD_NUMBER: _ClassVar[int]
369
+ VALUES_FIELD_NUMBER: _ClassVar[int]
370
+ METADATA_FIELD_NUMBER: _ClassVar[int]
371
+ id: str
372
+ name: str
373
+ values: _containers.RepeatedCompositeFieldContainer[RegisteredResourceValue]
374
+ metadata: _common_pb2.Metadata
375
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., values: _Optional[_Iterable[_Union[RegisteredResourceValue, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
376
+
377
+ class RegisteredResourceValue(_message.Message):
378
+ __slots__ = ("id", "value", "resource", "action_attribute_values", "metadata")
379
+ class ActionAttributeValue(_message.Message):
380
+ __slots__ = ("id", "action", "attribute_value", "metadata")
381
+ ID_FIELD_NUMBER: _ClassVar[int]
382
+ ACTION_FIELD_NUMBER: _ClassVar[int]
383
+ ATTRIBUTE_VALUE_FIELD_NUMBER: _ClassVar[int]
384
+ METADATA_FIELD_NUMBER: _ClassVar[int]
385
+ id: str
386
+ action: Action
387
+ attribute_value: Value
388
+ metadata: _common_pb2.Metadata
389
+ def __init__(self, id: _Optional[str] = ..., action: _Optional[_Union[Action, _Mapping]] = ..., attribute_value: _Optional[_Union[Value, _Mapping]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
390
+ ID_FIELD_NUMBER: _ClassVar[int]
391
+ VALUE_FIELD_NUMBER: _ClassVar[int]
392
+ RESOURCE_FIELD_NUMBER: _ClassVar[int]
393
+ ACTION_ATTRIBUTE_VALUES_FIELD_NUMBER: _ClassVar[int]
394
+ METADATA_FIELD_NUMBER: _ClassVar[int]
395
+ id: str
396
+ value: str
397
+ resource: RegisteredResource
398
+ action_attribute_values: _containers.RepeatedCompositeFieldContainer[RegisteredResourceValue.ActionAttributeValue]
399
+ metadata: _common_pb2.Metadata
400
+ def __init__(self, id: _Optional[str] = ..., value: _Optional[str] = ..., resource: _Optional[_Union[RegisteredResource, _Mapping]] = ..., action_attribute_values: _Optional[_Iterable[_Union[RegisteredResourceValue.ActionAttributeValue, _Mapping]]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
401
+
402
+ class KasKey(_message.Message):
403
+ __slots__ = ("kas_id", "key", "kas_uri")
404
+ KAS_ID_FIELD_NUMBER: _ClassVar[int]
405
+ KEY_FIELD_NUMBER: _ClassVar[int]
406
+ KAS_URI_FIELD_NUMBER: _ClassVar[int]
407
+ kas_id: str
408
+ key: AsymmetricKey
409
+ kas_uri: str
410
+ def __init__(self, kas_id: _Optional[str] = ..., key: _Optional[_Union[AsymmetricKey, _Mapping]] = ..., kas_uri: _Optional[str] = ...) -> None: ...
411
+
412
+ class PublicKeyCtx(_message.Message):
413
+ __slots__ = ("pem",)
414
+ PEM_FIELD_NUMBER: _ClassVar[int]
415
+ pem: str
416
+ def __init__(self, pem: _Optional[str] = ...) -> None: ...
417
+
418
+ class PrivateKeyCtx(_message.Message):
419
+ __slots__ = ("key_id", "wrapped_key")
420
+ KEY_ID_FIELD_NUMBER: _ClassVar[int]
421
+ WRAPPED_KEY_FIELD_NUMBER: _ClassVar[int]
422
+ key_id: str
423
+ wrapped_key: str
424
+ def __init__(self, key_id: _Optional[str] = ..., wrapped_key: _Optional[str] = ...) -> None: ...
425
+
426
+ class AsymmetricKey(_message.Message):
427
+ __slots__ = ("id", "key_id", "key_algorithm", "key_status", "key_mode", "public_key_ctx", "private_key_ctx", "provider_config", "metadata")
428
+ ID_FIELD_NUMBER: _ClassVar[int]
429
+ KEY_ID_FIELD_NUMBER: _ClassVar[int]
430
+ KEY_ALGORITHM_FIELD_NUMBER: _ClassVar[int]
431
+ KEY_STATUS_FIELD_NUMBER: _ClassVar[int]
432
+ KEY_MODE_FIELD_NUMBER: _ClassVar[int]
433
+ PUBLIC_KEY_CTX_FIELD_NUMBER: _ClassVar[int]
434
+ PRIVATE_KEY_CTX_FIELD_NUMBER: _ClassVar[int]
435
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
436
+ METADATA_FIELD_NUMBER: _ClassVar[int]
437
+ id: str
438
+ key_id: str
439
+ key_algorithm: Algorithm
440
+ key_status: KeyStatus
441
+ key_mode: KeyMode
442
+ public_key_ctx: PublicKeyCtx
443
+ private_key_ctx: PrivateKeyCtx
444
+ provider_config: KeyProviderConfig
445
+ metadata: _common_pb2.Metadata
446
+ def __init__(self, id: _Optional[str] = ..., key_id: _Optional[str] = ..., key_algorithm: _Optional[_Union[Algorithm, str]] = ..., key_status: _Optional[_Union[KeyStatus, str]] = ..., key_mode: _Optional[_Union[KeyMode, str]] = ..., public_key_ctx: _Optional[_Union[PublicKeyCtx, _Mapping]] = ..., private_key_ctx: _Optional[_Union[PrivateKeyCtx, _Mapping]] = ..., provider_config: _Optional[_Union[KeyProviderConfig, _Mapping]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...
447
+
448
+ class SymmetricKey(_message.Message):
449
+ __slots__ = ("id", "key_id", "key_status", "key_mode", "key_ctx", "provider_config", "metadata")
450
+ ID_FIELD_NUMBER: _ClassVar[int]
451
+ KEY_ID_FIELD_NUMBER: _ClassVar[int]
452
+ KEY_STATUS_FIELD_NUMBER: _ClassVar[int]
453
+ KEY_MODE_FIELD_NUMBER: _ClassVar[int]
454
+ KEY_CTX_FIELD_NUMBER: _ClassVar[int]
455
+ PROVIDER_CONFIG_FIELD_NUMBER: _ClassVar[int]
456
+ METADATA_FIELD_NUMBER: _ClassVar[int]
457
+ id: str
458
+ key_id: str
459
+ key_status: KeyStatus
460
+ key_mode: KeyMode
461
+ key_ctx: bytes
462
+ provider_config: KeyProviderConfig
463
+ metadata: _common_pb2.Metadata
464
+ def __init__(self, id: _Optional[str] = ..., key_id: _Optional[str] = ..., key_status: _Optional[_Union[KeyStatus, str]] = ..., key_mode: _Optional[_Union[KeyMode, str]] = ..., key_ctx: _Optional[bytes] = ..., provider_config: _Optional[_Union[KeyProviderConfig, _Mapping]] = ..., metadata: _Optional[_Union[_common_pb2.Metadata, _Mapping]] = ...) -> None: ...