sinch.domains.conversation.models.v1.apps.shared.retention_policy module

class sinch.domains.conversation.models.v1.apps.shared.retention_policy.RetentionPolicy(
*,
retention_type: Literal['MESSAGE_EXPIRE_POLICY', 'CONVERSATION_EXPIRE_POLICY', 'PERSIST_RETENTION_POLICY'] | Annotated[str, Strict(strict=True)] | None = None,
ttl_days: Annotated[int, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • retention_type (Literal['MESSAGE_EXPIRE_POLICY', 'CONVERSATION_EXPIRE_POLICY', 'PERSIST_RETENTION_POLICY'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • ttl_days (Annotated[int, Strict(strict=True)] | None)

  • extra_data (Any)

retention_type: Literal['MESSAGE_EXPIRE_POLICY', 'CONVERSATION_EXPIRE_POLICY', 'PERSIST_RETENTION_POLICY'] | Annotated[str, Strict(strict=True)] | None
ttl_days: Annotated[int, Strict(strict=True)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_SnakifyExtrasOnInit__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_SnakifyExtrasOnInit__context (Any)

Return type:

None