otdf-python 0.11.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.
- {otdf_python-0.11.0 → otdf_python-0.13.0}/PKG-INFO +9 -3
- {otdf_python-0.11.0 → otdf_python-0.13.0}/README.md +6 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/authorization/v2/authorization_pb2.py +113 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/authorization_pb2.pyi +4 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +94 -1
- otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/policy/dynamicvaluemapping/dynamic_value_mapping_pb2_grpc.py +249 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +44 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/attributes_connect.py +138 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/attributes/attributes_pb2.py +301 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/attributes_pb2.pyi +108 -4
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/__init__.py +11 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_connect.py +391 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_pb2.py +110 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/dynamicvaluemapping/dynamic_value_mapping_pb2.pyi +126 -0
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +297 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +10 -4
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_pb2.py +26 -20
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +11 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_pb2.py +36 -36
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +4 -2
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/objects_pb2.py +172 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/objects_pb2.pyi +38 -2
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/obligations/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_pb2.py +46 -46
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_pb2.pyi +4 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +44 -44
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +4 -2
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +169 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +30 -12
- otdf_python-0.13.0/_proto/otdf_python_proto/policy/selectors_pb2.py +64 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/selectors_pb2.pyi +7 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +50 -50
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +8 -4
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_connect.py +65 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_pb2.py +13 -3
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +16 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/hatch_build.py +1 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/pyproject.toml +3 -3
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/aesgcm.py +9 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/cli.py +5 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/collection_store.py +1 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/kas_client.py +1 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/manifest.py +18 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf.py +2 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/policy_binding_serializer.py +2 -2
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/policy_info.py +1 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/sdk.py +16 -7
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/sdk_builder.py +3 -1
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/tdf.py +10 -5
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/tdf_reader.py +68 -11
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/tdf_writer.py +3 -1
- otdf_python-0.11.0/_proto/otdf_python_proto/authorization/v2/authorization_pb2.py +0 -113
- otdf_python-0.11.0/_proto/otdf_python_proto/policy/attributes/attributes_pb2.py +0 -250
- otdf_python-0.11.0/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +0 -297
- otdf_python-0.11.0/_proto/otdf_python_proto/policy/objects_pb2.py +0 -164
- otdf_python-0.11.0/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +0 -139
- otdf_python-0.11.0/_proto/otdf_python_proto/policy/selectors_pb2.py +0 -59
- {otdf_python-0.11.0 → otdf_python-0.13.0}/.gitignore +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/authorization_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/authorization/v2/authorization_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/common_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/common/common_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/entity_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entity/entity_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/kas/kas_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/v2/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/common/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entity/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/v2/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/kas/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/audit/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/actions/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/attributes/__init__.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/obligations/obligations_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +0 -0
- {otdf_python-0.11.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
- {otdf_python-0.11.0/_proto/otdf_python_proto/logger/audit → otdf_python-0.13.0/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration}/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/__init__.py +0 -0
- {otdf_python-0.11.0/_proto/otdf_python_proto/policy/obligations → otdf_python-0.13.0/_proto/otdf_python_proto/logger/audit}/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/audit/test_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/logger/audit/test_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/actions/actions_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/attributes/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/kasregistry/key_access_server_registry_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/keymanagement/key_management_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/namespaces/namespaces_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/obligations/obligations_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/registeredresources/registered_resources_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/resourcemapping/resource_mapping_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/policy/unsafe/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_connect.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/_proto/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/__init__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/__main__.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/address_normalizer.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/assertion_config.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/asym_crypto.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/auth_headers.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/autoconfigure_utils.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/collection_store_impl.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/config.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/connect_client.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/constants.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/crypto_utils.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/dpop.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/ecc_constants.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/ecc_mode.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/ecdh.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/eckeypair.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/header.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/invalid_zip_exception.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/kas_allowlist.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/kas_connect_rpc_client.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/kas_info.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/kas_key_cache.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/key_type.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/key_type_constants.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf_ecdsa_struct.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/nanotdf_type.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/policy_object.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/policy_stub.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/resource_locator.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/sdk_exceptions.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/symmetric_and_payload_config.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/token_source.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/version.py +0 -0
- {otdf_python-0.11.0 → otdf_python-0.13.0}/src/otdf_python/zip_reader.py +0 -0
- {otdf_python-0.11.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.
|
|
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
|
|
@@ -25,9 +25,9 @@ Requires-Dist: connect-python>=0.9.0
|
|
|
25
25
|
Requires-Dist: cryptography>=50.0.0
|
|
26
26
|
Requires-Dist: grpcio-status>=1.74.0
|
|
27
27
|
Requires-Dist: grpcio>=1.74.0
|
|
28
|
-
Requires-Dist: httpx2>=2.
|
|
28
|
+
Requires-Dist: httpx2>=2.12.0
|
|
29
29
|
Requires-Dist: protobuf>=6.31.1
|
|
30
|
-
Requires-Dist: pyjwt>=2.
|
|
30
|
+
Requires-Dist: pyjwt>=2.15.0
|
|
31
31
|
Requires-Dist: typing-extensions>=4.14.1
|
|
32
32
|
Description-Content-Type: text/markdown
|
|
33
33
|
|
|
@@ -130,6 +130,12 @@ with open("decrypted.txt", "wb") as f:
|
|
|
130
130
|
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
+
## TDF container format
|
|
134
|
+
|
|
135
|
+
TDF archives are written with the spec-mandated `manifest.json` zip entry (per opentdf/spec) instead of the legacy `0.manifest.json`. Readers accept both names, so archives written by older versions of this SDK remain readable forever. The payload zip entry is resolved from `manifest.payload.url` rather than assumed. `schemaVersion` is unchanged (still `4.3.0`); `tdf_spec_version` is now read at either its legacy or spec-conformant placement, but never written.
|
|
136
|
+
|
|
137
|
+
**Interoperability note:** archives written by this version cannot currently be opened by released `otdfctl`, or by the upstream `opentdf/platform` Go, Java, or JS SDKs, until they add a `manifest.json` read fallback (an upstream reader-fallback PR is planned). If you interoperate with those tools today, hold off upgrading until that fallback ships.
|
|
138
|
+
|
|
133
139
|
## Project Structure
|
|
134
140
|
|
|
135
141
|
```
|
|
@@ -97,6 +97,12 @@ with open("decrypted.txt", "wb") as f:
|
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
## TDF container format
|
|
101
|
+
|
|
102
|
+
TDF archives are written with the spec-mandated `manifest.json` zip entry (per opentdf/spec) instead of the legacy `0.manifest.json`. Readers accept both names, so archives written by older versions of this SDK remain readable forever. The payload zip entry is resolved from `manifest.payload.url` rather than assumed. `schemaVersion` is unchanged (still `4.3.0`); `tdf_spec_version` is now read at either its legacy or spec-conformant placement, but never written.
|
|
103
|
+
|
|
104
|
+
**Interoperability note:** archives written by this version cannot currently be opened by released `otdfctl`, or by the upstream `opentdf/platform` Go, Java, or JS SDKs, until they add a `manifest.json` read fallback (an upstream reader-fallback PR is planned). If you interoperate with those tools today, hold off upgrading until that fallback ships.
|
|
105
|
+
|
|
100
106
|
## Project Structure
|
|
101
107
|
|
|
102
108
|
```
|
|
@@ -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
|
-
|
|
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
|
-
"""
|
|
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
|
|
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,
|