# Code generated by Lark OpenAPI. from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type from lark_oapi.core.construct import init from .audit_object_entity import AuditObjectEntity from .audit_recipient_entity import AuditRecipientEntity from .audit_context import AuditContext from .audit_event_extend import AuditEventExtend from .api_audit_common_drawers import ApiAuditCommonDrawers from .audit_detail import AuditDetail from .operator_detail import OperatorDetail class AuditInfo(object): _types = { "event_id": str, "unique_id": str, "event_name": str, "department_ids": List[str], "event_module": int, "operator_type": int, "operator_value": str, "objects": List[AuditObjectEntity], "recipients": List[AuditRecipientEntity], "event_time": int, "ip": str, "operator_app": str, "audit_context": AuditContext, "extend": AuditEventExtend, "operator_app_name": str, "common_drawers": ApiAuditCommonDrawers, "audit_detail": AuditDetail, "operator_tenant": str, "operator_detail": OperatorDetail, } def __init__(self, d=None): self.event_id: Optional[str] = None self.unique_id: Optional[str] = None self.event_name: Optional[str] = None self.department_ids: Optional[List[str]] = None self.event_module: Optional[int] = None self.operator_type: Optional[int] = None self.operator_value: Optional[str] = None self.objects: Optional[List[AuditObjectEntity]] = None self.recipients: Optional[List[AuditRecipientEntity]] = None self.event_time: Optional[int] = None self.ip: Optional[str] = None self.operator_app: Optional[str] = None self.audit_context: Optional[AuditContext] = None self.extend: Optional[AuditEventExtend] = None self.operator_app_name: Optional[str] = None self.common_drawers: Optional[ApiAuditCommonDrawers] = None self.audit_detail: Optional[AuditDetail] = None self.operator_tenant: Optional[str] = None self.operator_detail: Optional[OperatorDetail] = None init(self, d, self._types) @staticmethod def builder() -> "AuditInfoBuilder": return AuditInfoBuilder() class AuditInfoBuilder(object): def __init__(self) -> None: self._audit_info = AuditInfo() def event_id(self, event_id: str) -> "AuditInfoBuilder": self._audit_info.event_id = event_id return self def unique_id(self, unique_id: str) -> "AuditInfoBuilder": self._audit_info.unique_id = unique_id return self def event_name(self, event_name: str) -> "AuditInfoBuilder": self._audit_info.event_name = event_name return self def department_ids(self, department_ids: List[str]) -> "AuditInfoBuilder": self._audit_info.department_ids = department_ids return self def event_module(self, event_module: int) -> "AuditInfoBuilder": self._audit_info.event_module = event_module return self def operator_type(self, operator_type: int) -> "AuditInfoBuilder": self._audit_info.operator_type = operator_type return self def operator_value(self, operator_value: str) -> "AuditInfoBuilder": self._audit_info.operator_value = operator_value return self def objects(self, objects: List[AuditObjectEntity]) -> "AuditInfoBuilder": self._audit_info.objects = objects return self def recipients(self, recipients: List[AuditRecipientEntity]) -> "AuditInfoBuilder": self._audit_info.recipients = recipients return self def event_time(self, event_time: int) -> "AuditInfoBuilder": self._audit_info.event_time = event_time return self def ip(self, ip: str) -> "AuditInfoBuilder": self._audit_info.ip = ip return self def operator_app(self, operator_app: str) -> "AuditInfoBuilder": self._audit_info.operator_app = operator_app return self def audit_context(self, audit_context: AuditContext) -> "AuditInfoBuilder": self._audit_info.audit_context = audit_context return self def extend(self, extend: AuditEventExtend) -> "AuditInfoBuilder": self._audit_info.extend = extend return self def operator_app_name(self, operator_app_name: str) -> "AuditInfoBuilder": self._audit_info.operator_app_name = operator_app_name return self def common_drawers(self, common_drawers: ApiAuditCommonDrawers) -> "AuditInfoBuilder": self._audit_info.common_drawers = common_drawers return self def audit_detail(self, audit_detail: AuditDetail) -> "AuditInfoBuilder": self._audit_info.audit_detail = audit_detail return self def operator_tenant(self, operator_tenant: str) -> "AuditInfoBuilder": self._audit_info.operator_tenant = operator_tenant return self def operator_detail(self, operator_detail: OperatorDetail) -> "AuditInfoBuilder": self._audit_info.operator_detail = operator_detail return self def build(self) -> "AuditInfo": return self._audit_info