# This file was auto-generated by Fern from our API Definition.

import datetime as dt
import typing

import pydantic
from ..core.pydantic_utilities import UniversalBaseModel


class Action(UniversalBaseModel):
    active: bool = pydantic.Field()
    """
    Active Status
    """

    created_at: dt.datetime
    creator_id: str = pydantic.Field()
    """
    Creator ID
    """

    deleted_at: typing.Optional[dt.datetime] = None
    description: str = pydantic.Field()
    """
    Action Description
    """

    event: str = pydantic.Field()
    """
    Event Name
    """

    id: str = pydantic.Field()
    """
    Action ID
    """

    multi_asset: typing.Optional[bool] = pydantic.Field(default=None)
    """
    Manages action trigger on multiple assets
    """

    name: str = pydantic.Field()
    """
    Action Name
    """

    timeout: typing.Optional[int] = pydantic.Field(default=None)
    """
    Timeout for the action requests in seconds
    """

    updated_at: dt.datetime
    url: str = pydantic.Field()
    """
    Action URL
    """

    workspace_id: str = pydantic.Field()
    """
    Workspace ID
    """

    model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
