"""General constants for ows-pdp.""" from enum import Enum SCOPE_PRINCIPAL_OWS_PERMISSIONS = "principal_ows_permissions" SCOPE_PRINCIPAL_PDP = "principal_pdp" RAP_ADMIN_PER_OWS_PERMISSIONS = "ows_permissions_rap_admin" IDENTITY_RESOURCE_DELIMITER = "#" # TenantType string values be snake_case TENANT_TYPE_ACCOUNT = "account" TENANT_TYPE_SUBACCOUNT = "subaccount" TENANT_TYPE_COMPANY_BRAND = "company_brand" TENANT_TYPE_LABEL_PARTICIPANT = "label_participant" TENANT_TYPE_PARENT_COMPANY = "parent_company" CACHE_ENTRY_CERBOS_POLICY_METADATA = "cerbos_policy_metadata" CACHE_ENTRY_IDENTITY_ALLOWED_TENANTS = "allowed_tenants" CACHE_ENTRY_IDENTITY_ROLES = "list_tenant_roles" CACHE_ENTRY_PRINCIPAL_PDP = "principal_pdp" CACHE_ENTRY_TENANT_HIERARCHY = "tenant_hierarchy" DEFAULT_RESOURCE_ID = "0" INFRA = "infra" MESSAGE_BUST_IDENTITY_CACHES = "bust_identity_caches in background task" class TenantType(str, Enum): """Supported tenant types.""" TENANT_TYPE_ACCOUNT = TENANT_TYPE_ACCOUNT TENANT_TYPE_SUBACCOUNT = TENANT_TYPE_SUBACCOUNT TENANT_TYPE_COMPANY_BRAND = TENANT_TYPE_COMPANY_BRAND TENANT_TYPE_LABEL_PARTICIPANT = TENANT_TYPE_LABEL_PARTICIPANT TENANT_TYPE_PARENT_COMPANY = TENANT_TYPE_PARENT_COMPANY AUTH_EFFECT_ALLOW = "allow" AUTH_EFFECT_DENY = "deny" class AuthEffect(str, Enum): """Supported authorization check effects.""" AUTH_EFFECT_ALLOW = AUTH_EFFECT_ALLOW AUTH_EFFECT_DENY = AUTH_EFFECT_DENY class CacheEntryType(str, Enum): """Supported cache entry types.""" CACHE_ENTRY_CERBOS_POLICY_METADATA = CACHE_ENTRY_CERBOS_POLICY_METADATA CACHE_ENTRY_IDENTITY_ALLOWED_TENANTS = CACHE_ENTRY_IDENTITY_ALLOWED_TENANTS CACHE_ENTRY_IDENTITY_ROLES = CACHE_ENTRY_IDENTITY_ROLES CACHE_ENTRY_PRINCIPAL_PDP = CACHE_ENTRY_PRINCIPAL_PDP CACHE_ENTRY_TENANT_HIERARCHY = CACHE_ENTRY_TENANT_HIERARCHY USER_TYPE_MACHINE = "machine" USER_TYPE_HUMAN = "human" class UserType(str, Enum): """Supported user type for principal.""" USER_TYPE_MACHINE = USER_TYPE_MACHINE USER_TYPE_HUMAN = USER_TYPE_HUMAN