enum_schema
Returns a schema that matches an enum value, e.g.:
```py
from enum import Enum
from pydantic_core import SchemaValidator, core_schema
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
schema = core_schema.enum_schema(Color, list(Color.__members__.values()))
v = SchemaValidator(schema)
assert v.validate_python(2) is Color.GREEN
```
def enum_schema(
cls: Any,
members: list[Any],
sub_type: Literal['str', 'int', 'float'] | None = None,
missing: Callable[[Any], Any] | None = None,
strict: bool | None = None,
ref: str | None = None,
metadata: dict[str, Any] | None = None,
serialization: SerSchema | None = None
) - > EnumSchema
Returns a schema that matches an enum value.
Parameters
| Name | Type | Description |
|---|---|---|
| cls | Any | The Python enum class being defined in the schema. |
| members | list[Any] | The list of valid enum members, typically retrieved via list(MyEnum.members.values()). |
| sub_type | `Literal['str', 'int', 'float'] | None` = None |
| missing | `Callable[[Any], Any] | None` = None |
| strict | `bool | None` = None |
| ref | `str | None` = None |
| metadata | `dict[str, Any] | None` = None |
| serialization | `SerSchema | None` = None |
Returns
| Type | Description |
|---|---|
EnumSchema | A dictionary-based schema configuration used by pydantic-core to validate and serialize enum members. |