# 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 .data_asset_tag import DataAssetTag from .data_asset_item import DataAssetItem from .data_asset_import_knowledge_setting import DataAssetImportKnowledgeSetting class DataAsset(object): _types = { "data_asset_id": str, "label": Dict[str, str], "description": Dict[str, str], "data_source_type": str, "connect_status": str, "tags": List[DataAssetTag], "items": List[DataAssetItem], "connect_failed_reason": str, "import_knowledge_setting": DataAssetImportKnowledgeSetting, "connect_type": str, "created_time": int, "updated_time": int, } def __init__(self, d=None): self.data_asset_id: Optional[str] = None self.label: Optional[Dict[str, str]] = None self.description: Optional[Dict[str, str]] = None self.data_source_type: Optional[str] = None self.connect_status: Optional[str] = None self.tags: Optional[List[DataAssetTag]] = None self.items: Optional[List[DataAssetItem]] = None self.connect_failed_reason: Optional[str] = None self.import_knowledge_setting: Optional[DataAssetImportKnowledgeSetting] = None self.connect_type: Optional[str] = None self.created_time: Optional[int] = None self.updated_time: Optional[int] = None init(self, d, self._types) @staticmethod def builder() -> "DataAssetBuilder": return DataAssetBuilder() class DataAssetBuilder(object): def __init__(self) -> None: self._data_asset = DataAsset() def data_asset_id(self, data_asset_id: str) -> "DataAssetBuilder": self._data_asset.data_asset_id = data_asset_id return self def label(self, label: Dict[str, str]) -> "DataAssetBuilder": self._data_asset.label = label return self def description(self, description: Dict[str, str]) -> "DataAssetBuilder": self._data_asset.description = description return self def data_source_type(self, data_source_type: str) -> "DataAssetBuilder": self._data_asset.data_source_type = data_source_type return self def connect_status(self, connect_status: str) -> "DataAssetBuilder": self._data_asset.connect_status = connect_status return self def tags(self, tags: List[DataAssetTag]) -> "DataAssetBuilder": self._data_asset.tags = tags return self def items(self, items: List[DataAssetItem]) -> "DataAssetBuilder": self._data_asset.items = items return self def connect_failed_reason(self, connect_failed_reason: str) -> "DataAssetBuilder": self._data_asset.connect_failed_reason = connect_failed_reason return self def import_knowledge_setting(self, import_knowledge_setting: DataAssetImportKnowledgeSetting) -> "DataAssetBuilder": self._data_asset.import_knowledge_setting = import_knowledge_setting return self def connect_type(self, connect_type: str) -> "DataAssetBuilder": self._data_asset.connect_type = connect_type return self def created_time(self, created_time: int) -> "DataAssetBuilder": self._data_asset.created_time = created_time return self def updated_time(self, updated_time: int) -> "DataAssetBuilder": self._data_asset.updated_time = updated_time return self def build(self) -> "DataAsset": return self._data_asset