Skip to content

Rule

autogen.beta.network.rule.Rule dataclass #

Rule(version=1, access=AccessBlock(), limits=LimitsBlock())

version class-attribute instance-attribute #

version = 1

access class-attribute instance-attribute #

access = field(default_factory=AccessBlock)

limits class-attribute instance-attribute #

limits = field(default_factory=LimitsBlock)

to_dict #

to_dict()
Source code in autogen/beta/network/rule.py
def to_dict(self) -> dict[str, Any]:
    return asdict(self)

from_dict classmethod #

from_dict(data)
Source code in autogen/beta/network/rule.py
@classmethod
def from_dict(cls, data: dict[str, Any]) -> "Rule":
    payload = dict(data)
    access = payload.get("access")
    if isinstance(access, dict):
        access_payload = dict(access)
        session_types = access_payload.get("session_types")
        if isinstance(session_types, dict):
            access_payload["session_types"] = SessionTypeAccess(**session_types)
        payload["access"] = AccessBlock(**access_payload)
    limits = payload.get("limits")
    if isinstance(limits, dict):
        limits_payload = dict(limits)
        rate = limits_payload.get("rate")
        if isinstance(rate, dict):
            limits_payload["rate"] = RateBlock(**rate)
        inbox = limits_payload.get("inbox")
        if isinstance(inbox, dict):
            limits_payload["inbox"] = InboxBlock(**inbox)
        payload["limits"] = LimitsBlock(**limits_payload)
    return cls(**payload)