otdf-python 0.12.0__tar.gz → 0.13.0__tar.gz

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 (189) hide show
  1. {otdf_python-0.12.0 → otdf_python-0.13.0}/PKG-INFO +1 -1
  2. otdf_python-0.13.0/_proto/otdf_python_proto/authorization/v2/authorization_pb2.py +113 -0
  3. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/authorization_pb2.pyi +4 -2
  4. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +94 -1
  5. otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/dynamicvaluemapping/dynamic_value_mapping_pb2_grpc.py +249 -0
  6. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +44 -1
  7. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/attributes_connect.py +138 -0
  8. otdf_python-0.13.0/_proto/otdf_python_proto/policy/attributes/attributes_pb2.py +301 -0
  9. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/attributes_pb2.pyi +108 -4
  10. otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/__init__.py +11 -0
  11. otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_connect.py +391 -0
  12. otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_pb2.py +110 -0
  13. otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_pb2.pyi +126 -0
  14. otdf_python-0.13.0/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +297 -0
  15. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +10 -4
  16. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_pb2.py +26 -20
  17. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +11 -2
  18. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_pb2.py +36 -36
  19. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +4 -2
  20. otdf_python-0.13.0/_proto/otdf_python_proto/policy/objects_pb2.py +172 -0
  21. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/objects_pb2.pyi +38 -2
  22. otdf_python-0.13.0/_proto/otdf_python_proto/policy/obligations/__init__.py +0 -0
  23. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_pb2.py +46 -46
  24. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_pb2.pyi +4 -2
  25. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +44 -44
  26. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +4 -2
  27. otdf_python-0.13.0/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +169 -0
  28. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +30 -12
  29. otdf_python-0.13.0/_proto/otdf_python_proto/policy/selectors_pb2.py +64 -0
  30. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/selectors_pb2.pyi +7 -0
  31. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +50 -50
  32. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +8 -4
  33. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_connect.py +65 -0
  34. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_pb2.py +13 -3
  35. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +16 -0
  36. {otdf_python-0.12.0 → otdf_python-0.13.0}/pyproject.toml +1 -1
  37. otdf_python-0.12.0/_proto/otdf_python_proto/authorization/v2/authorization_pb2.py +0 -113
  38. otdf_python-0.12.0/_proto/otdf_python_proto/policy/attributes/attributes_pb2.py +0 -250
  39. otdf_python-0.12.0/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +0 -297
  40. otdf_python-0.12.0/_proto/otdf_python_proto/policy/objects_pb2.py +0 -164
  41. otdf_python-0.12.0/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +0 -139
  42. otdf_python-0.12.0/_proto/otdf_python_proto/policy/selectors_pb2.py +0 -59
  43. {otdf_python-0.12.0 → otdf_python-0.13.0}/.gitignore +0 -0
  44. {otdf_python-0.12.0 → otdf_python-0.13.0}/README.md +0 -0
  45. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/__init__.py +0 -0
  46. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/__init__.py +0 -0
  47. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_connect.py +0 -0
  48. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_pb2.py +0 -0
  49. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_pb2.pyi +0 -0
  50. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/__init__.py +0 -0
  51. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/authorization_connect.py +0 -0
  52. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/__init__.py +0 -0
  53. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/common_pb2.py +0 -0
  54. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/common_pb2.pyi +0 -0
  55. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/__init__.py +0 -0
  56. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/entity_pb2.py +0 -0
  57. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/entity_pb2.pyi +0 -0
  58. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/__init__.py +0 -0
  59. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_connect.py +0 -0
  60. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_pb2.py +0 -0
  61. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +0 -0
  62. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/__init__.py +0 -0
  63. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_connect.py +0 -0
  64. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +0 -0
  65. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +0 -0
  66. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/__init__.py +0 -0
  67. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_connect.py +0 -0
  68. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_pb2.py +0 -0
  69. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_pb2.pyi +0 -0
  70. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/__init__.py +0 -0
  71. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/__init__.py +0 -0
  72. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +0 -0
  73. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/v2/__init__.py +0 -0
  74. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +0 -0
  75. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/common/__init__.py +0 -0
  76. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +0 -0
  77. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entity/__init__.py +0 -0
  78. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +0 -0
  79. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/__init__.py +0 -0
  80. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +0 -0
  81. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/v2/__init__.py +0 -0
  82. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +0 -0
  83. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/kas/__init__.py +0 -0
  84. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +0 -0
  85. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/__init__.py +0 -0
  86. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/audit/__init__.py +0 -0
  87. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +0 -0
  88. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/__init__.py +0 -0
  89. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/actions/__init__.py +0 -0
  90. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +0 -0
  91. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/attributes/__init__.py +0 -0
  92. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/kasregistry → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/dynamicvaluemapping}/__init__.py +0 -0
  93. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/keymanagement → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/kasregistry}/__init__.py +0 -0
  94. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +0 -0
  95. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/namespaces → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/keymanagement}/__init__.py +0 -0
  96. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +0 -0
  97. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/obligations → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/namespaces}/__init__.py +0 -0
  98. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +0 -0
  99. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +0 -0
  100. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/registeredresources → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/obligations}/__init__.py +0 -0
  101. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/obligations/obligations_pb2_grpc.py +0 -0
  102. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/resourcemapping → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/registeredresources}/__init__.py +0 -0
  103. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +0 -0
  104. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/subjectmapping → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/resourcemapping}/__init__.py +0 -0
  105. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +0 -0
  106. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +0 -0
  107. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/policy/unsafe → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/subjectmapping}/__init__.py +0 -0
  108. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +0 -0
  109. {otdf_python-0.12.0/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/unsafe}/__init__.py +0 -0
  110. {otdf_python-0.12.0/_proto/otdf_python_proto/logger/audit → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration}/__init__.py +0 -0
  111. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +0 -0
  112. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/__init__.py +0 -0
  113. {otdf_python-0.12.0/_proto/otdf_python_proto/policy/obligations → otdf_python-0.13.0/_proto/otdf_python_proto/logger/audit}/__init__.py +0 -0
  114. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/audit/test_pb2.py +0 -0
  115. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/audit/test_pb2.pyi +0 -0
  116. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/__init__.py +0 -0
  117. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/__init__.py +0 -0
  118. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_connect.py +0 -0
  119. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_pb2.py +0 -0
  120. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_pb2.pyi +0 -0
  121. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/__init__.py +0 -0
  122. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/__init__.py +0 -0
  123. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_connect.py +0 -0
  124. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/__init__.py +0 -0
  125. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_connect.py +0 -0
  126. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/__init__.py +0 -0
  127. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_connect.py +0 -0
  128. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_connect.py +0 -0
  129. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/__init__.py +0 -0
  130. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_connect.py +0 -0
  131. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/__init__.py +0 -0
  132. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_connect.py +0 -0
  133. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/__init__.py +0 -0
  134. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_connect.py +0 -0
  135. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/__init__.py +0 -0
  136. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/__init__.py +0 -0
  137. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_connect.py +0 -0
  138. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +0 -0
  139. {otdf_python-0.12.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +0 -0
  140. {otdf_python-0.12.0 → otdf_python-0.13.0}/hatch_build.py +0 -0
  141. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/__init__.py +0 -0
  142. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/__main__.py +0 -0
  143. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/address_normalizer.py +0 -0
  144. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/aesgcm.py +0 -0
  145. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/assertion_config.py +0 -0
  146. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/asym_crypto.py +0 -0
  147. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/auth_headers.py +0 -0
  148. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/autoconfigure_utils.py +0 -0
  149. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/cli.py +0 -0
  150. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/collection_store.py +0 -0
  151. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/collection_store_impl.py +0 -0
  152. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/config.py +0 -0
  153. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/connect_client.py +0 -0
  154. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/constants.py +0 -0
  155. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/crypto_utils.py +0 -0
  156. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/dpop.py +0 -0
  157. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/ecc_constants.py +0 -0
  158. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/ecc_mode.py +0 -0
  159. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/ecdh.py +0 -0
  160. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/eckeypair.py +0 -0
  161. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/header.py +0 -0
  162. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/invalid_zip_exception.py +0 -0
  163. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/kas_allowlist.py +0 -0
  164. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/kas_client.py +0 -0
  165. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/kas_connect_rpc_client.py +0 -0
  166. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/kas_info.py +0 -0
  167. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/kas_key_cache.py +0 -0
  168. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/key_type.py +0 -0
  169. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/key_type_constants.py +0 -0
  170. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/manifest.py +0 -0
  171. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf.py +0 -0
  172. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf_ecdsa_struct.py +0 -0
  173. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf_type.py +0 -0
  174. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/policy_binding_serializer.py +0 -0
  175. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/policy_info.py +0 -0
  176. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/policy_object.py +0 -0
  177. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/policy_stub.py +0 -0
  178. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/resource_locator.py +0 -0
  179. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/sdk.py +0 -0
  180. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/sdk_builder.py +0 -0
  181. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/sdk_exceptions.py +0 -0
  182. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/symmetric_and_payload_config.py +0 -0
  183. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/tdf.py +0 -0
  184. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/tdf_reader.py +0 -0
  185. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/tdf_writer.py +0 -0
  186. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/token_source.py +0 -0
  187. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/version.py +0 -0
  188. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/zip_reader.py +0 -0
  189. {otdf_python-0.12.0 → otdf_python-0.13.0}/src/otdf_python/zip_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: otdf-python
3
- Version: 0.12.0
3
+ Version: 0.13.0
4
4
  Summary: Unofficial OpenTDF SDK for Python
5
5
  Project-URL: Homepage, https://github.com/b-long/opentdf-python-sdk
6
6
  Project-URL: Repository, https://github.com/b-long/opentdf-python-sdk
@@ -0,0 +1,113 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: authorization/v2/authorization.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
+ 'authorization/v2/authorization.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from entity import entity_pb2 as entity_dot_entity__pb2
27
+ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
28
+ from policy import objects_pb2 as policy_dot_objects__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$authorization/v2/authorization.proto\x12\x10\x61uthorization.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x13\x65ntity/entity.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x14policy/objects.proto\"\xe9\x04\n\x10\x45ntityIdentifier\x12\xc3\x01\n\x0c\x65ntity_chain\x18\x01 \x01(\x0b\x32\x13.entity.EntityChainB\x88\x01\xbaH\x84\x01\xba\x01\x80\x01\n\x15\x65ntity_chain_required\x12\x37\x65ntities must be provided and contain at least 1 entity\x1a.has(this.entities) && this.entities.size() > 0H\x00R\x0b\x65ntityChain\x12O\n\x1dregistered_resource_value_fqn\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x88\x01\x01H\x00R\x1aregisteredResourceValueFqn\x12{\n\x05token\x18\x03 \x01(\x0b\x32\r.entity.TokenBT\xbaHQ\xba\x01N\n\x0etoken_required\x12\x16token must be provided\x1a$has(this.jwt) && this.jwt.size() > 0H\x00R\x05token\x12\xab\x01\n\x12with_request_token\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB_\xbaH\\\xba\x01Y\n\x1fwith_request_token_must_be_true\x12(with_request_token must be true when set\x1a\x0cthis == trueH\x00R\x10withRequestTokenB\x13\n\nidentifier\x12\x05\xbaH\x02\x08\x01\"\xc3\x03\n\x12\x45ntityEntitlements\x12!\n\x0c\x65phemeral_id\x18\x01 \x01(\tR\x0b\x65phemeralId\x12\x8b\x01\n\x1f\x61\x63tions_per_attribute_value_fqn\x18\x02 \x03(\x0b\x32\x45.authorization.v2.EntityEntitlements.ActionsPerAttributeValueFqnEntryR\x1b\x61\x63tionsPerAttributeValueFqn\x12@\n\x0f\x65ntity_category\x18\x03 \x01(\x0e\x32\x17.entity.Entity.CategoryR\x0e\x65ntityCategory\x1a\x37\n\x0b\x41\x63tionsList\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x0e.policy.ActionR\x07\x61\x63tions\x1a\x80\x01\n ActionsPerAttributeValueFqnEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x30.authorization.v2.EntityEntitlements.ActionsListR\x05value:\x02\x38\x01\"\xb6\x03\n\x08Resource\x12!\n\x0c\x65phemeral_id\x18\x01 \x01(\tR\x0b\x65phemeralId\x12\x82\x02\n\x10\x61ttribute_values\x18\x02 \x01(\x0b\x32*.authorization.v2.Resource.AttributeValuesB\xa8\x01\xbaH\xa4\x01\xba\x01\xa0\x01\n\x19\x61ttribute_values_required\x12Hif provided, resource.attribute_values must contain at least 1 valid FQN\x1a\x39this.fqns.size() > 0 && this.fqns.all(item, item.isUri())H\x00R\x0f\x61ttributeValues\x12O\n\x1dregistered_resource_value_fqn\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x88\x01\x01H\x00R\x1aregisteredResourceValueFqn\x1a%\n\x0f\x41ttributeValues\x12\x12\n\x04\x66qns\x18\x01 \x03(\tR\x04\x66qnsB\n\n\x08resource\"\xb1\x01\n\x10ResourceDecision\x12\x32\n\x15\x65phemeral_resource_id\x18\x01 \x01(\tR\x13\x65phemeralResourceId\x12\x36\n\x08\x64\x65\x63ision\x18\x02 \x01(\x0e\x32\x1a.authorization.v2.DecisionR\x08\x64\x65\x63ision\x12\x31\n\x14required_obligations\x18\x03 \x03(\tR\x13requiredObligations\"\xa6\x04\n\x12GetDecisionRequest\x12W\n\x11\x65ntity_identifier\x18\x01 \x01(\x0b\x32\".authorization.v2.EntityIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x10\x65ntityIdentifier\x12.\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x0e.policy.ActionB\x06\xbaH\x03\xc8\x01\x01R\x06\x61\x63tion\x12>\n\x08resource\x18\x03 \x01(\x0b\x32\x1a.authorization.v2.ResourceB\x06\xbaH\x03\xc8\x01\x01R\x08resource\x12\xdf\x01\n\x1b\x66ulfillable_obligation_fqns\x18\x04 \x03(\tB\x9e\x01\xbaH\x9a\x01\xba\x01\x96\x01\n\x1bobligation_value_fqns_valid\x12\x45if provided, fulfillable_obligation_fqns must contain only valid FQNs\x1a\x30this.size() == 0 || this.all(item, item.isUri())R\x19\x66ulfillableObligationFqns:e\xbaHb\x1a`\n)get_decision_request.action_name_required\x12\x1c\x61\x63tion.name must be provided\x1a\x15has(this.action.name)\"U\n\x13GetDecisionResponse\x12>\n\x08\x64\x65\x63ision\x18\x01 \x01(\x0b\x32\".authorization.v2.ResourceDecisionR\x08\x64\x65\x63ision\"\xbd\x04\n\x1fGetDecisionMultiResourceRequest\x12W\n\x11\x65ntity_identifier\x18\x01 \x01(\x0b\x32\".authorization.v2.EntityIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x10\x65ntityIdentifier\x12.\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x0e.policy.ActionB\x06\xbaH\x03\xc8\x01\x01R\x06\x61\x63tion\x12\x42\n\tresources\x18\x03 \x03(\x0b\x32\x1a.authorization.v2.ResourceB\x08\xbaH\x05\x92\x01\x02\x08\x01R\tresources\x12\xdf\x01\n\x1b\x66ulfillable_obligation_fqns\x18\x04 \x03(\tB\x9e\x01\xbaH\x9a\x01\xba\x01\x96\x01\n\x1bobligation_value_fqns_valid\x12\x45if provided, fulfillable_obligation_fqns must contain only valid FQNs\x1a\x30this.size() == 0 || this.all(item, item.isUri())R\x19\x66ulfillableObligationFqns:k\xbaHh\x1a\x66\n/get_decision_multi_request.action_name_required\x12\x1c\x61\x63tion.name must be provided\x1a\x15has(this.action.name)\"\xb6\x01\n GetDecisionMultiResourceResponse\x12?\n\rall_permitted\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x0c\x61llPermitted\x12Q\n\x12resource_decisions\x18\x02 \x03(\x0b\x32\".authorization.v2.ResourceDecisionR\x11resourceDecisions\"\x82\x01\n\x16GetDecisionBulkRequest\x12h\n\x11\x64\x65\x63ision_requests\x18\x01 \x03(\x0b\x32\x31.authorization.v2.GetDecisionMultiResourceRequestB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x10\x64\x65\x63isionRequests\"|\n\x17GetDecisionBulkResponse\x12\x61\n\x12\x64\x65\x63ision_responses\x18\x01 \x03(\x0b\x32\x32.authorization.v2.GetDecisionMultiResourceResponseR\x11\x64\x65\x63isionResponses\"\xd9\x01\n\x16GetEntitlementsRequest\x12W\n\x11\x65ntity_identifier\x18\x01 \x01(\x0b\x32\".authorization.v2.EntityIdentifierB\x06\xbaH\x03\xc8\x01\x01R\x10\x65ntityIdentifier\x12\x45\n\x1cwith_comprehensive_hierarchy\x18\x02 \x01(\x08H\x00R\x1awithComprehensiveHierarchy\x88\x01\x01\x42\x1f\n\x1d_with_comprehensive_hierarchy\"c\n\x17GetEntitlementsResponse\x12H\n\x0c\x65ntitlements\x18\x01 \x03(\x0b\x32$.authorization.v2.EntityEntitlementsR\x0c\x65ntitlements*L\n\x08\x44\x65\x63ision\x12\x18\n\x14\x44\x45\x43ISION_UNSPECIFIED\x10\x00\x12\x11\n\rDECISION_DENY\x10\x01\x12\x13\n\x0f\x44\x45\x43ISION_PERMIT\x10\x02\x32\xce\x03\n\x14\x41uthorizationService\x12\\\n\x0bGetDecision\x12$.authorization.v2.GetDecisionRequest\x1a%.authorization.v2.GetDecisionResponse\"\x00\x12\x83\x01\n\x18GetDecisionMultiResource\x12\x31.authorization.v2.GetDecisionMultiResourceRequest\x1a\x32.authorization.v2.GetDecisionMultiResourceResponse\"\x00\x12h\n\x0fGetDecisionBulk\x12(.authorization.v2.GetDecisionBulkRequest\x1a).authorization.v2.GetDecisionBulkResponse\"\x00\x12h\n\x0fGetEntitlements\x12(.authorization.v2.GetEntitlementsRequest\x1a).authorization.v2.GetEntitlementsResponse\"\x00\x42\x8b\x01\n\x14\x63om.authorization.v2B\x12\x41uthorizationProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\x10\x41uthorization.V2\xca\x02\x10\x41uthorization\\V2\xe2\x02\x1c\x41uthorization\\V2\\GPBMetadata\xea\x02\x11\x41uthorization::V2b\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorization.v2.authorization_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\024com.authorization.v2B\022AuthorizationProtoP\001\242\002\003AXX\252\002\020Authorization.V2\312\002\020Authorization\\V2\342\002\034Authorization\\V2\\GPBMetadata\352\002\021Authorization::V2'
39
+ _globals['_ENTITYIDENTIFIER'].oneofs_by_name['identifier']._loaded_options = None
40
+ _globals['_ENTITYIDENTIFIER'].oneofs_by_name['identifier']._serialized_options = b'\272H\002\010\001'
41
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['entity_chain']._loaded_options = None
42
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['entity_chain']._serialized_options = b'\272H\204\001\272\001\200\001\n\025entity_chain_required\0227entities must be provided and contain at least 1 entity\032.has(this.entities) && this.entities.size() > 0'
43
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['registered_resource_value_fqn']._loaded_options = None
44
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['registered_resource_value_fqn']._serialized_options = b'\272H\007r\005\020\001\210\001\001'
45
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['token']._loaded_options = None
46
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['token']._serialized_options = b'\272HQ\272\001N\n\016token_required\022\026token must be provided\032$has(this.jwt) && this.jwt.size() > 0'
47
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['with_request_token']._loaded_options = None
48
+ _globals['_ENTITYIDENTIFIER'].fields_by_name['with_request_token']._serialized_options = b'\272H\\\272\001Y\n\037with_request_token_must_be_true\022(with_request_token must be true when set\032\014this == true'
49
+ _globals['_ENTITYENTITLEMENTS_ACTIONSPERATTRIBUTEVALUEFQNENTRY']._loaded_options = None
50
+ _globals['_ENTITYENTITLEMENTS_ACTIONSPERATTRIBUTEVALUEFQNENTRY']._serialized_options = b'8\001'
51
+ _globals['_RESOURCE'].fields_by_name['attribute_values']._loaded_options = None
52
+ _globals['_RESOURCE'].fields_by_name['attribute_values']._serialized_options = b'\272H\244\001\272\001\240\001\n\031attribute_values_required\022Hif provided, resource.attribute_values must contain at least 1 valid FQN\0329this.fqns.size() > 0 && this.fqns.all(item, item.isUri())'
53
+ _globals['_RESOURCE'].fields_by_name['registered_resource_value_fqn']._loaded_options = None
54
+ _globals['_RESOURCE'].fields_by_name['registered_resource_value_fqn']._serialized_options = b'\272H\007r\005\020\001\210\001\001'
55
+ _globals['_GETDECISIONREQUEST'].fields_by_name['entity_identifier']._loaded_options = None
56
+ _globals['_GETDECISIONREQUEST'].fields_by_name['entity_identifier']._serialized_options = b'\272H\003\310\001\001'
57
+ _globals['_GETDECISIONREQUEST'].fields_by_name['action']._loaded_options = None
58
+ _globals['_GETDECISIONREQUEST'].fields_by_name['action']._serialized_options = b'\272H\003\310\001\001'
59
+ _globals['_GETDECISIONREQUEST'].fields_by_name['resource']._loaded_options = None
60
+ _globals['_GETDECISIONREQUEST'].fields_by_name['resource']._serialized_options = b'\272H\003\310\001\001'
61
+ _globals['_GETDECISIONREQUEST'].fields_by_name['fulfillable_obligation_fqns']._loaded_options = None
62
+ _globals['_GETDECISIONREQUEST'].fields_by_name['fulfillable_obligation_fqns']._serialized_options = b'\272H\232\001\272\001\226\001\n\033obligation_value_fqns_valid\022Eif provided, fulfillable_obligation_fqns must contain only valid FQNs\0320this.size() == 0 || this.all(item, item.isUri())'
63
+ _globals['_GETDECISIONREQUEST']._loaded_options = None
64
+ _globals['_GETDECISIONREQUEST']._serialized_options = b'\272Hb\032`\n)get_decision_request.action_name_required\022\034action.name must be provided\032\025has(this.action.name)'
65
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['entity_identifier']._loaded_options = None
66
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['entity_identifier']._serialized_options = b'\272H\003\310\001\001'
67
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['action']._loaded_options = None
68
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['action']._serialized_options = b'\272H\003\310\001\001'
69
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['resources']._loaded_options = None
70
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['resources']._serialized_options = b'\272H\005\222\001\002\010\001'
71
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['fulfillable_obligation_fqns']._loaded_options = None
72
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST'].fields_by_name['fulfillable_obligation_fqns']._serialized_options = b'\272H\232\001\272\001\226\001\n\033obligation_value_fqns_valid\022Eif provided, fulfillable_obligation_fqns must contain only valid FQNs\0320this.size() == 0 || this.all(item, item.isUri())'
73
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST']._loaded_options = None
74
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST']._serialized_options = b'\272Hh\032f\n/get_decision_multi_request.action_name_required\022\034action.name must be provided\032\025has(this.action.name)'
75
+ _globals['_GETDECISIONBULKREQUEST'].fields_by_name['decision_requests']._loaded_options = None
76
+ _globals['_GETDECISIONBULKREQUEST'].fields_by_name['decision_requests']._serialized_options = b'\272H\005\222\001\002\010\001'
77
+ _globals['_GETENTITLEMENTSREQUEST'].fields_by_name['entity_identifier']._loaded_options = None
78
+ _globals['_GETENTITLEMENTSREQUEST'].fields_by_name['entity_identifier']._serialized_options = b'\272H\003\310\001\001'
79
+ _globals['_DECISION']._serialized_start=3838
80
+ _globals['_DECISION']._serialized_end=3914
81
+ _globals['_ENTITYIDENTIFIER']._serialized_start=163
82
+ _globals['_ENTITYIDENTIFIER']._serialized_end=780
83
+ _globals['_ENTITYENTITLEMENTS']._serialized_start=783
84
+ _globals['_ENTITYENTITLEMENTS']._serialized_end=1234
85
+ _globals['_ENTITYENTITLEMENTS_ACTIONSLIST']._serialized_start=1048
86
+ _globals['_ENTITYENTITLEMENTS_ACTIONSLIST']._serialized_end=1103
87
+ _globals['_ENTITYENTITLEMENTS_ACTIONSPERATTRIBUTEVALUEFQNENTRY']._serialized_start=1106
88
+ _globals['_ENTITYENTITLEMENTS_ACTIONSPERATTRIBUTEVALUEFQNENTRY']._serialized_end=1234
89
+ _globals['_RESOURCE']._serialized_start=1237
90
+ _globals['_RESOURCE']._serialized_end=1675
91
+ _globals['_RESOURCE_ATTRIBUTEVALUES']._serialized_start=1626
92
+ _globals['_RESOURCE_ATTRIBUTEVALUES']._serialized_end=1663
93
+ _globals['_RESOURCEDECISION']._serialized_start=1678
94
+ _globals['_RESOURCEDECISION']._serialized_end=1855
95
+ _globals['_GETDECISIONREQUEST']._serialized_start=1858
96
+ _globals['_GETDECISIONREQUEST']._serialized_end=2408
97
+ _globals['_GETDECISIONRESPONSE']._serialized_start=2410
98
+ _globals['_GETDECISIONRESPONSE']._serialized_end=2495
99
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST']._serialized_start=2498
100
+ _globals['_GETDECISIONMULTIRESOURCEREQUEST']._serialized_end=3071
101
+ _globals['_GETDECISIONMULTIRESOURCERESPONSE']._serialized_start=3074
102
+ _globals['_GETDECISIONMULTIRESOURCERESPONSE']._serialized_end=3256
103
+ _globals['_GETDECISIONBULKREQUEST']._serialized_start=3259
104
+ _globals['_GETDECISIONBULKREQUEST']._serialized_end=3389
105
+ _globals['_GETDECISIONBULKRESPONSE']._serialized_start=3391
106
+ _globals['_GETDECISIONBULKRESPONSE']._serialized_end=3515
107
+ _globals['_GETENTITLEMENTSREQUEST']._serialized_start=3518
108
+ _globals['_GETENTITLEMENTSREQUEST']._serialized_end=3735
109
+ _globals['_GETENTITLEMENTSRESPONSE']._serialized_start=3737
110
+ _globals['_GETENTITLEMENTSRESPONSE']._serialized_end=3836
111
+ _globals['_AUTHORIZATIONSERVICE']._serialized_start=3917
112
+ _globals['_AUTHORIZATIONSERVICE']._serialized_end=4379
113
+ # @@protoc_insertion_point(module_scope)
@@ -33,7 +33,7 @@ class EntityIdentifier(_message.Message):
33
33
  def __init__(self, entity_chain: _Optional[_Union[_entity_pb2.EntityChain, _Mapping]] = ..., registered_resource_value_fqn: _Optional[str] = ..., token: _Optional[_Union[_entity_pb2.Token, _Mapping]] = ..., with_request_token: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ...) -> None: ...
34
34
 
35
35
  class EntityEntitlements(_message.Message):
36
- __slots__ = ("ephemeral_id", "actions_per_attribute_value_fqn")
36
+ __slots__ = ("ephemeral_id", "actions_per_attribute_value_fqn", "entity_category")
37
37
  class ActionsList(_message.Message):
38
38
  __slots__ = ("actions",)
39
39
  ACTIONS_FIELD_NUMBER: _ClassVar[int]
@@ -48,9 +48,11 @@ class EntityEntitlements(_message.Message):
48
48
  def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[EntityEntitlements.ActionsList, _Mapping]] = ...) -> None: ...
49
49
  EPHEMERAL_ID_FIELD_NUMBER: _ClassVar[int]
50
50
  ACTIONS_PER_ATTRIBUTE_VALUE_FQN_FIELD_NUMBER: _ClassVar[int]
51
+ ENTITY_CATEGORY_FIELD_NUMBER: _ClassVar[int]
51
52
  ephemeral_id: str
52
53
  actions_per_attribute_value_fqn: _containers.MessageMap[str, EntityEntitlements.ActionsList]
53
- def __init__(self, ephemeral_id: _Optional[str] = ..., actions_per_attribute_value_fqn: _Optional[_Mapping[str, EntityEntitlements.ActionsList]] = ...) -> None: ...
54
+ entity_category: _entity_pb2.Entity.Category
55
+ def __init__(self, ephemeral_id: _Optional[str] = ..., actions_per_attribute_value_fqn: _Optional[_Mapping[str, EntityEntitlements.ActionsList]] = ..., entity_category: _Optional[_Union[_entity_pb2.Entity.Category, str]] = ...) -> None: ...
54
56
 
55
57
  class Resource(_message.Message):
56
58
  __slots__ = ("ephemeral_id", "attribute_values", "registered_resource_value_fqn")
@@ -37,6 +37,16 @@ class AttributesServiceStub(object):
37
37
  request_serializer=policy_dot_attributes_dot_attributes__pb2.GetAttributeValuesByFqnsRequest.SerializeToString,
38
38
  response_deserializer=policy_dot_attributes_dot_attributes__pb2.GetAttributeValuesByFqnsResponse.FromString,
39
39
  _registered_method=True)
40
+ self.GetKeyMappingsByFqns = channel.unary_unary(
41
+ '/policy.attributes.AttributesService/GetKeyMappingsByFqns',
42
+ request_serializer=policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsRequest.SerializeToString,
43
+ response_deserializer=policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsResponse.FromString,
44
+ _registered_method=True)
45
+ self.GetEntitleableAttributesByFqns = channel.unary_unary(
46
+ '/policy.attributes.AttributesService/GetEntitleableAttributesByFqns',
47
+ request_serializer=policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsRequest.SerializeToString,
48
+ response_deserializer=policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsResponse.FromString,
49
+ _registered_method=True)
40
50
  self.CreateAttribute = channel.unary_unary(
41
51
  '/policy.attributes.AttributesService/CreateAttribute',
42
52
  request_serializer=policy_dot_attributes_dot_attributes__pb2.CreateAttributeRequest.SerializeToString,
@@ -144,7 +154,26 @@ class AttributesServiceServicer(object):
144
154
  raise NotImplementedError('Method not implemented!')
145
155
 
146
156
  def GetAttributeValuesByFqns(self, request, context):
147
- """Missing associated documentation comment in .proto file."""
157
+ """Deprecated: Use GetKeyMappingsByFqns for client-side key splits and
158
+ GetEntitleableAttributesByFqns for server-side entitlement resolution.
159
+ """
160
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
161
+ context.set_details('Method not implemented!')
162
+ raise NotImplementedError('Method not implemented!')
163
+
164
+ def GetKeyMappingsByFqns(self, request, context):
165
+ """Returns only key-mapping information (rule and effective KAS keys) for the
166
+ requested attribute value FQNs, for client-side key split construction.
167
+ """
168
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
169
+ context.set_details('Method not implemented!')
170
+ raise NotImplementedError('Method not implemented!')
171
+
172
+ def GetEntitleableAttributesByFqns(self, request, context):
173
+ """Returns only entitlement-relevant information (rule, value identity, ordered
174
+ definition values, subject mappings, and dynamic mappings) for the requested attribute value
175
+ FQNs, for server-side decisioning / entitlement resolution.
176
+ """
148
177
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
149
178
  context.set_details('Method not implemented!')
150
179
  raise NotImplementedError('Method not implemented!')
@@ -277,6 +306,16 @@ def add_AttributesServiceServicer_to_server(servicer, server):
277
306
  request_deserializer=policy_dot_attributes_dot_attributes__pb2.GetAttributeValuesByFqnsRequest.FromString,
278
307
  response_serializer=policy_dot_attributes_dot_attributes__pb2.GetAttributeValuesByFqnsResponse.SerializeToString,
279
308
  ),
309
+ 'GetKeyMappingsByFqns': grpc.unary_unary_rpc_method_handler(
310
+ servicer.GetKeyMappingsByFqns,
311
+ request_deserializer=policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsRequest.FromString,
312
+ response_serializer=policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsResponse.SerializeToString,
313
+ ),
314
+ 'GetEntitleableAttributesByFqns': grpc.unary_unary_rpc_method_handler(
315
+ servicer.GetEntitleableAttributesByFqns,
316
+ request_deserializer=policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsRequest.FromString,
317
+ response_serializer=policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsResponse.SerializeToString,
318
+ ),
280
319
  'CreateAttribute': grpc.unary_unary_rpc_method_handler(
281
320
  servicer.CreateAttribute,
282
321
  request_deserializer=policy_dot_attributes_dot_attributes__pb2.CreateAttributeRequest.FromString,
@@ -474,6 +513,60 @@ class AttributesService(object):
474
513
  metadata,
475
514
  _registered_method=True)
476
515
 
516
+ @staticmethod
517
+ def GetKeyMappingsByFqns(request,
518
+ target,
519
+ options=(),
520
+ channel_credentials=None,
521
+ call_credentials=None,
522
+ insecure=False,
523
+ compression=None,
524
+ wait_for_ready=None,
525
+ timeout=None,
526
+ metadata=None):
527
+ return grpc.experimental.unary_unary(
528
+ request,
529
+ target,
530
+ '/policy.attributes.AttributesService/GetKeyMappingsByFqns',
531
+ policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsRequest.SerializeToString,
532
+ policy_dot_attributes_dot_attributes__pb2.GetKeyMappingsByFqnsResponse.FromString,
533
+ options,
534
+ channel_credentials,
535
+ insecure,
536
+ call_credentials,
537
+ compression,
538
+ wait_for_ready,
539
+ timeout,
540
+ metadata,
541
+ _registered_method=True)
542
+
543
+ @staticmethod
544
+ def GetEntitleableAttributesByFqns(request,
545
+ target,
546
+ options=(),
547
+ channel_credentials=None,
548
+ call_credentials=None,
549
+ insecure=False,
550
+ compression=None,
551
+ wait_for_ready=None,
552
+ timeout=None,
553
+ metadata=None):
554
+ return grpc.experimental.unary_unary(
555
+ request,
556
+ target,
557
+ '/policy.attributes.AttributesService/GetEntitleableAttributesByFqns',
558
+ policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsRequest.SerializeToString,
559
+ policy_dot_attributes_dot_attributes__pb2.GetEntitleableAttributesByFqnsResponse.FromString,
560
+ options,
561
+ channel_credentials,
562
+ insecure,
563
+ call_credentials,
564
+ compression,
565
+ wait_for_ready,
566
+ timeout,
567
+ metadata,
568
+ _registered_method=True)
569
+
477
570
  @staticmethod
478
571
  def CreateAttribute(request,
479
572
  target,
@@ -0,0 +1,249 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
5
+ from policy.dynamicvaluemapping import dynamic_value_mapping_pb2 as policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2
6
+
7
+
8
+ class DynamicValueMappingServiceStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.ListDynamicValueMappings = channel.unary_unary(
18
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/ListDynamicValueMappings',
19
+ request_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsRequest.SerializeToString,
20
+ response_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsResponse.FromString,
21
+ _registered_method=True)
22
+ self.GetDynamicValueMapping = channel.unary_unary(
23
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/GetDynamicValueMapping',
24
+ request_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingRequest.SerializeToString,
25
+ response_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingResponse.FromString,
26
+ _registered_method=True)
27
+ self.CreateDynamicValueMapping = channel.unary_unary(
28
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/CreateDynamicValueMapping',
29
+ request_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingRequest.SerializeToString,
30
+ response_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingResponse.FromString,
31
+ _registered_method=True)
32
+ self.UpdateDynamicValueMapping = channel.unary_unary(
33
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/UpdateDynamicValueMapping',
34
+ request_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingRequest.SerializeToString,
35
+ response_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingResponse.FromString,
36
+ _registered_method=True)
37
+ self.DeleteDynamicValueMapping = channel.unary_unary(
38
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/DeleteDynamicValueMapping',
39
+ request_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingRequest.SerializeToString,
40
+ response_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingResponse.FromString,
41
+ _registered_method=True)
42
+
43
+
44
+ class DynamicValueMappingServiceServicer(object):
45
+ """Missing associated documentation comment in .proto file."""
46
+
47
+ def ListDynamicValueMappings(self, request, context):
48
+ """Missing associated documentation comment in .proto file."""
49
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
50
+ context.set_details('Method not implemented!')
51
+ raise NotImplementedError('Method not implemented!')
52
+
53
+ def GetDynamicValueMapping(self, request, context):
54
+ """Missing associated documentation comment in .proto file."""
55
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
56
+ context.set_details('Method not implemented!')
57
+ raise NotImplementedError('Method not implemented!')
58
+
59
+ def CreateDynamicValueMapping(self, request, context):
60
+ """Missing associated documentation comment in .proto file."""
61
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
62
+ context.set_details('Method not implemented!')
63
+ raise NotImplementedError('Method not implemented!')
64
+
65
+ def UpdateDynamicValueMapping(self, request, context):
66
+ """Missing associated documentation comment in .proto file."""
67
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
68
+ context.set_details('Method not implemented!')
69
+ raise NotImplementedError('Method not implemented!')
70
+
71
+ def DeleteDynamicValueMapping(self, request, context):
72
+ """Missing associated documentation comment in .proto file."""
73
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
74
+ context.set_details('Method not implemented!')
75
+ raise NotImplementedError('Method not implemented!')
76
+
77
+
78
+ def add_DynamicValueMappingServiceServicer_to_server(servicer, server):
79
+ rpc_method_handlers = {
80
+ 'ListDynamicValueMappings': grpc.unary_unary_rpc_method_handler(
81
+ servicer.ListDynamicValueMappings,
82
+ request_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsRequest.FromString,
83
+ response_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsResponse.SerializeToString,
84
+ ),
85
+ 'GetDynamicValueMapping': grpc.unary_unary_rpc_method_handler(
86
+ servicer.GetDynamicValueMapping,
87
+ request_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingRequest.FromString,
88
+ response_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingResponse.SerializeToString,
89
+ ),
90
+ 'CreateDynamicValueMapping': grpc.unary_unary_rpc_method_handler(
91
+ servicer.CreateDynamicValueMapping,
92
+ request_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingRequest.FromString,
93
+ response_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingResponse.SerializeToString,
94
+ ),
95
+ 'UpdateDynamicValueMapping': grpc.unary_unary_rpc_method_handler(
96
+ servicer.UpdateDynamicValueMapping,
97
+ request_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingRequest.FromString,
98
+ response_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingResponse.SerializeToString,
99
+ ),
100
+ 'DeleteDynamicValueMapping': grpc.unary_unary_rpc_method_handler(
101
+ servicer.DeleteDynamicValueMapping,
102
+ request_deserializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingRequest.FromString,
103
+ response_serializer=policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingResponse.SerializeToString,
104
+ ),
105
+ }
106
+ generic_handler = grpc.method_handlers_generic_handler(
107
+ 'policy.dynamicvaluemapping.DynamicValueMappingService', rpc_method_handlers)
108
+ server.add_generic_rpc_handlers((generic_handler,))
109
+ server.add_registered_method_handlers('policy.dynamicvaluemapping.DynamicValueMappingService', rpc_method_handlers)
110
+
111
+
112
+ # This class is part of an EXPERIMENTAL API.
113
+ class DynamicValueMappingService(object):
114
+ """Missing associated documentation comment in .proto file."""
115
+
116
+ @staticmethod
117
+ def ListDynamicValueMappings(request,
118
+ target,
119
+ options=(),
120
+ channel_credentials=None,
121
+ call_credentials=None,
122
+ insecure=False,
123
+ compression=None,
124
+ wait_for_ready=None,
125
+ timeout=None,
126
+ metadata=None):
127
+ return grpc.experimental.unary_unary(
128
+ request,
129
+ target,
130
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/ListDynamicValueMappings',
131
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsRequest.SerializeToString,
132
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.ListDynamicValueMappingsResponse.FromString,
133
+ options,
134
+ channel_credentials,
135
+ insecure,
136
+ call_credentials,
137
+ compression,
138
+ wait_for_ready,
139
+ timeout,
140
+ metadata,
141
+ _registered_method=True)
142
+
143
+ @staticmethod
144
+ def GetDynamicValueMapping(request,
145
+ target,
146
+ options=(),
147
+ channel_credentials=None,
148
+ call_credentials=None,
149
+ insecure=False,
150
+ compression=None,
151
+ wait_for_ready=None,
152
+ timeout=None,
153
+ metadata=None):
154
+ return grpc.experimental.unary_unary(
155
+ request,
156
+ target,
157
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/GetDynamicValueMapping',
158
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingRequest.SerializeToString,
159
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.GetDynamicValueMappingResponse.FromString,
160
+ options,
161
+ channel_credentials,
162
+ insecure,
163
+ call_credentials,
164
+ compression,
165
+ wait_for_ready,
166
+ timeout,
167
+ metadata,
168
+ _registered_method=True)
169
+
170
+ @staticmethod
171
+ def CreateDynamicValueMapping(request,
172
+ target,
173
+ options=(),
174
+ channel_credentials=None,
175
+ call_credentials=None,
176
+ insecure=False,
177
+ compression=None,
178
+ wait_for_ready=None,
179
+ timeout=None,
180
+ metadata=None):
181
+ return grpc.experimental.unary_unary(
182
+ request,
183
+ target,
184
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/CreateDynamicValueMapping',
185
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingRequest.SerializeToString,
186
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.CreateDynamicValueMappingResponse.FromString,
187
+ options,
188
+ channel_credentials,
189
+ insecure,
190
+ call_credentials,
191
+ compression,
192
+ wait_for_ready,
193
+ timeout,
194
+ metadata,
195
+ _registered_method=True)
196
+
197
+ @staticmethod
198
+ def UpdateDynamicValueMapping(request,
199
+ target,
200
+ options=(),
201
+ channel_credentials=None,
202
+ call_credentials=None,
203
+ insecure=False,
204
+ compression=None,
205
+ wait_for_ready=None,
206
+ timeout=None,
207
+ metadata=None):
208
+ return grpc.experimental.unary_unary(
209
+ request,
210
+ target,
211
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/UpdateDynamicValueMapping',
212
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingRequest.SerializeToString,
213
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.UpdateDynamicValueMappingResponse.FromString,
214
+ options,
215
+ channel_credentials,
216
+ insecure,
217
+ call_credentials,
218
+ compression,
219
+ wait_for_ready,
220
+ timeout,
221
+ metadata,
222
+ _registered_method=True)
223
+
224
+ @staticmethod
225
+ def DeleteDynamicValueMapping(request,
226
+ target,
227
+ options=(),
228
+ channel_credentials=None,
229
+ call_credentials=None,
230
+ insecure=False,
231
+ compression=None,
232
+ wait_for_ready=None,
233
+ timeout=None,
234
+ metadata=None):
235
+ return grpc.experimental.unary_unary(
236
+ request,
237
+ target,
238
+ '/policy.dynamicvaluemapping.DynamicValueMappingService/DeleteDynamicValueMapping',
239
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingRequest.SerializeToString,
240
+ policy_dot_dynamicvaluemapping_dot_dynamic__value__mapping__pb2.DeleteDynamicValueMappingResponse.FromString,
241
+ options,
242
+ channel_credentials,
243
+ insecure,
244
+ call_credentials,
245
+ compression,
246
+ wait_for_ready,
247
+ timeout,
248
+ metadata,
249
+ _registered_method=True)
@@ -62,6 +62,11 @@ class UnsafeServiceStub(object):
62
62
  request_serializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteAttributeValueRequest.SerializeToString,
63
63
  response_deserializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteAttributeValueResponse.FromString,
64
64
  _registered_method=True)
65
+ self.UnsafeUpdateKey = channel.unary_unary(
66
+ '/policy.unsafe.UnsafeService/UnsafeUpdateKey',
67
+ request_serializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyRequest.SerializeToString,
68
+ response_deserializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyResponse.FromString,
69
+ _registered_method=True)
65
70
  self.UnsafeDeleteKasKey = channel.unary_unary(
66
71
  '/policy.unsafe.UnsafeService/UnsafeDeleteKasKey',
67
72
  request_serializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteKasKeyRequest.SerializeToString,
@@ -138,7 +143,7 @@ class UnsafeServiceServicer(object):
138
143
  context.set_details('Method not implemented!')
139
144
  raise NotImplementedError('Method not implemented!')
140
145
 
141
- def UnsafeDeleteKasKey(self, request, context):
146
+ def UnsafeUpdateKey(self, request, context):
142
147
  """--------------------------------------*
143
148
  Kas Key RPCs
144
149
  ---------------------------------------
@@ -147,6 +152,12 @@ class UnsafeServiceServicer(object):
147
152
  context.set_details('Method not implemented!')
148
153
  raise NotImplementedError('Method not implemented!')
149
154
 
155
+ def UnsafeDeleteKasKey(self, request, context):
156
+ """Missing associated documentation comment in .proto file."""
157
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
158
+ context.set_details('Method not implemented!')
159
+ raise NotImplementedError('Method not implemented!')
160
+
150
161
 
151
162
  def add_UnsafeServiceServicer_to_server(servicer, server):
152
163
  rpc_method_handlers = {
@@ -195,6 +206,11 @@ def add_UnsafeServiceServicer_to_server(servicer, server):
195
206
  request_deserializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteAttributeValueRequest.FromString,
196
207
  response_serializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteAttributeValueResponse.SerializeToString,
197
208
  ),
209
+ 'UnsafeUpdateKey': grpc.unary_unary_rpc_method_handler(
210
+ servicer.UnsafeUpdateKey,
211
+ request_deserializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyRequest.FromString,
212
+ response_serializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyResponse.SerializeToString,
213
+ ),
198
214
  'UnsafeDeleteKasKey': grpc.unary_unary_rpc_method_handler(
199
215
  servicer.UnsafeDeleteKasKey,
200
216
  request_deserializer=policy_dot_unsafe_dot_unsafe__pb2.UnsafeDeleteKasKeyRequest.FromString,
@@ -457,6 +473,33 @@ class UnsafeService(object):
457
473
  metadata,
458
474
  _registered_method=True)
459
475
 
476
+ @staticmethod
477
+ def UnsafeUpdateKey(request,
478
+ target,
479
+ options=(),
480
+ channel_credentials=None,
481
+ call_credentials=None,
482
+ insecure=False,
483
+ compression=None,
484
+ wait_for_ready=None,
485
+ timeout=None,
486
+ metadata=None):
487
+ return grpc.experimental.unary_unary(
488
+ request,
489
+ target,
490
+ '/policy.unsafe.UnsafeService/UnsafeUpdateKey',
491
+ policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyRequest.SerializeToString,
492
+ policy_dot_unsafe_dot_unsafe__pb2.UnsafeUpdateKeyResponse.FromString,
493
+ options,
494
+ channel_credentials,
495
+ insecure,
496
+ call_credentials,
497
+ compression,
498
+ wait_for_ready,
499
+ timeout,
500
+ metadata,
501
+ _registered_method=True)
502
+
460
503
  @staticmethod
461
504
  def UnsafeDeleteKasKey(request,
462
505
  target,