{"record":{"id":"f7c7f063d7e01429","repo":"chroma-core/chroma","slug":"unknown-cmek-provider-self-provider","errorCode":null,"errorMessage":"Unknown CMEK provider: {self.provider}","messagePattern":"Unknown CMEK provider: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"chromadb/api/types.py","lineNumber":1981,"sourceCode":"        if self.provider == CmekProvider.GCP:\n            return _CMEK_GCP_PATTERN.match(self.resource) is not None\n        return False\n\n    def to_dict(self) -> Dict[str, Any]:\n        \"\"\"Serialize CMEK to dictionary format for API transport.\n\n        Returns:\n            Dict containing the provider variant and resource identifier.\n\n        Example:\n            >>> cmek = Cmek.gcp(\"projects/p/locations/l/keyRings/r/cryptoKeys/k\")\n            >>> cmek.to_dict()\n            {'gcp': 'projects/p/locations/l/keyRings/r/cryptoKeys/k'}\n        \"\"\"\n        if self.provider == CmekProvider.GCP:\n            return {\"gcp\": self.resource}\n        # Unreachable with current providers, but future-proof\n        raise ValueError(f\"Unknown CMEK provider: {self.provider}\")\n\n    @classmethod\n    def from_dict(cls, data: Dict[str, Any]) -> \"Cmek\":\n        \"\"\"Deserialize CMEK from dictionary format.\n\n        Args:\n            data: Dictionary containing provider variant and resource.\n                  Format matches Rust serde enum serialization with snake_case.\n\n        Returns:\n            Cmek: Deserialized CMEK instance\n\n        Raises:\n            ValueError: If the provider is unsupported or data is malformed\n\n        Example:\n            >>> data = {'gcp': 'projects/p/locations/l/keyRings/r/cryptoKeys/k'}\n            >>> cmek = Cmek.from_dict(data)","sourceCodeStart":1963,"sourceCodeEnd":1999,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/chromadb/api/types.py#L1963-L1999","documentation":"Error \"Unknown CMEK provider: {self.provider}\" thrown in chroma-core/chroma.","triggerScenarios":"Thrown at chromadb/api/types.py:1981 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}