aios/suez/python/catalog_builder.py (510 lines of code) (raw):
import json
from google.protobuf.json_format import MessageToJson, Parse
from aios.catalog.proto.CatalogEntity_pb2 import *
from aios.suez.python.base_builder import BaseBuilder
class TableTypeBuilder(BaseBuilder):
def __init__(self):
self.msg = TableType()
def set_code(self, value):
self.msg.code = value
return self
class BuildTypeBuilder(BaseBuilder):
def __init__(self):
self.msg = BuildType()
def set_code(self, value):
self.msg.code = value
return self
class TableStructureConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = TableStructureConfig()
def set_shard_info(self, value):
if not isinstance(value, TableStructureConfig.ShardInfo):
raise ValueError('Invalid type for field shard_info, expected ShardInfo')
self.msg.shard_info.CopyFrom(value)
return self
def set_table_type(self, value):
self.msg.table_type = value
return self
def set_comment(self, value):
self.msg.comment = value
return self
def set_ttl_option(self, value):
if not isinstance(value, TtlOption):
raise ValueError('Invalid type for field ttl_option, expected TtlOption')
self.msg.ttl_option.CopyFrom(value)
return self
def set_table_meta(self, value):
if not isinstance(value, TableStructureConfig.TableMetaOption):
raise ValueError('Invalid type for field table_meta_option, expected TtlOption')
self.msg.table_meta_option.CopyFrom(value)
return self
def set_sort_option(self, value):
if not isinstance(value, SortOption):
raise ValueError('Invalid type for field sort_option, expected SortOption')
self.msg.sort_option.CopyFrom(value)
return self
def set_build_type(self, value):
self.msg.build_type = value
return self
class ColumnBuilder(BaseBuilder):
def __init__(self):
self.msg = TableStructure.Column()
class IndexBuilder(BaseBuilder):
def __init__(self):
self.msg = TableStructure.Index()
class TableStructureBuilder(BaseBuilder):
def __init__(self):
self.msg = TableStructure()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_table_name(self, value):
self.msg.table_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def add_column(self, value):
if not isinstance(value, TableStructure.Column):
raise ValueError('Invalid type for field columns, expected Column')
column = self.msg.columns.add()
column.CopyFrom(value)
return self
def set_columns(self, values):
for value in values:
self.add_column(value)
return self
def add_index(self, value):
if not isinstance(value, TableStructure.Index):
raise ValueError('Invalid type for field indexes, expected Index')
index = self.msg.indexes.add()
index.CopyFrom(value)
return self
def set_indexes(self, values):
for value in values:
self.add_index(value)
return self
def set_table_structure_config(self, value):
if not isinstance(value, TableStructureConfig):
raise ValueError('Invalid type for field table_structure_config, expected TableStructureConfig')
self.msg.table_structure_config.CopyFrom(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class PartitionConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = PartitionConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_custom_metas(self, value):
self.msg.custom_metas.update(value)
return self
class DataSourceBuilder(BaseBuilder):
def __init__(self):
self.msg = DataSource()
def set_data_version(self, value):
if not isinstance(value, DataSource.DataVersion):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.data_version.CopyFrom(value)
return self
class PartitionBuilder(BaseBuilder):
def __init__(self):
self.msg = Partition()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_partition_name(self, value):
self.msg.partition_name = value
return self
def set_table_name(self, value):
self.msg.table_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_partition_type(self, value):
self.msg.partition_type = value
return self
def set_partition_config(self, value):
if not isinstance(value, PartitionConfig):
raise ValueError('Invalid type for field partition_config, expected PartitionConfig')
self.msg.partition_config.CopyFrom(value)
return self
def set_data_source(self, value):
if not isinstance(value, DataSource):
raise ValueError('Invalid type for field data_source, expected DataSource')
self.msg.data_source.CopyFrom(value)
return self
def set_table_structure(self, value):
if not isinstance(value, TableStructure):
raise ValueError('Invalid type for field table_structure, expected TableStructure')
self.msg.table_structure.CopyFrom(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class TableConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = TableConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_partition_ttl(self, value):
self.msg.partition_ttl = value
return self
def set_offline_app_name(self, value):
self.msg.offline_app_name = value
return self
class TableBuilder(BaseBuilder):
def __init__(self):
self.msg = Table()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_table_name(self, value):
self.msg.table_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_table_config(self, value):
if not isinstance(value, TableConfig):
raise ValueError('Invalid type for field table_config, expected TableConfig')
self.msg.table_config.CopyFrom(value)
return self
def set_table_structure(self, value):
if not isinstance(value, TableStructure):
raise ValueError('Invalid type for field table_structure, expected TableStructure')
self.msg.table_structure.CopyFrom(value)
return self
def add_partitions(self, value):
if not isinstance(value, Partition):
raise ValueError('Invalid type for field partitions, expected Partition')
partition = self.msg.partitions.add()
partition.CopyFrom(value)
return self
def set_partitions(self, values):
for value in values:
self.add_partition(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class FunctionConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = FunctionConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_function_type(self, value):
self.msg.function_type = value
return self
class FunctionBuilder(BaseBuilder):
def __init__(self):
self.msg = Function()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_function_name(self, value):
self.msg.function_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_function_config(self, value):
if not isinstance(value, FunctionConfig):
raise ValueError('Invalid type for field function_config, expected FunctionConfig')
self.msg.function_config.CopyFrom(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class DatabaseConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = DatabaseConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_configs(self, value):
self.msg.configs = value
return self
def set_custom_meta(self, value):
self.msg.custom_meta.update(value)
return self
def set_access_tokens(self, value):
self.msg.access_tokens = value
return self
def set_store_root(self, value):
self.msg.store_root = value
return self
class DatabaseBuilder(BaseBuilder):
def __init__(self):
self.msg = Database()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_database_config(self, value):
if not isinstance(value, DatabaseConfig):
raise ValueError('Invalid type for field database_config, expected DatabaseConfig')
self.msg.database_config.CopyFrom(value)
return self
def add_table(self, value):
if not isinstance(value, Table):
raise ValueError('Invalid type for field tables, expected Table')
table = self.msg.tables.add()
table.CopyFrom(value)
return self
def set_tables(self, values):
for value in values:
self.add_table(value)
return self
def add_table_group(self, value):
if not isinstance(value, TableGroup):
raise ValueError('Invalid type for field table_groups, expected TableGroup')
table_group = self.msg.table_groups.add()
table_group.CopyFrom(value)
return self
def set_table_groups(self, values):
for value in values:
self.add_table_group(value)
return self
def add_function(self, value):
if not isinstance(value, Function):
raise ValueError('Invalid type for field functions, expected Function')
function = self.msg.functions.add()
function.CopyFrom(value)
return self
def add_functions(self, values):
for value in values:
self.add_function(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class LoadStrategyConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = LoadStrategyConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status = value
return self
def set_load_mode(self, value):
self.msg.load_mode = value
return self
def set_online_index_config(self, value):
self.msg.online_index_config = value
return self
class LoadStrategyBuilder(BaseBuilder):
def __init__(self):
self.msg = LoadStrategy()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_table_group_name(self, value):
self.msg.table_group_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_table_name(self, value):
self.msg.table_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_load_strategy_config(self, value):
if not isinstance(value, LoadStrategyConfig):
raise ValueError('Invalid type for field load_strategy_config, expected LoadStrategyConfig')
self.msg.load_strategy_config.CopyFrom(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class TableGroupConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = TableGroupConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_default_load_strategy_config(self, value):
if not isinstance(value, LoadStrategyConfig):
raise ValueError('Invalid type for field default_load_strategy_config, expected LoadStrategyConfig')
self.msg.default_load_strategy_config.CopyFrom(value)
return self
class TableGroupBuilder(BaseBuilder):
def __init__(self):
self.msg = TableGroup()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_table_group_name(self, value):
self.msg.table_group_name = value
return self
def set_database_name(self, value):
self.msg.database_name = value
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_table_group_config(self, value):
if not isinstance(value, TableGroupConfig):
raise ValueError('Invalid type for field table_group_config, expected TableGroupConfig')
self.msg.table_group_config.CopyFrom(value)
return self
def add_load_strategy(self, value):
if not isinstance(value, LoadStrategy):
raise ValueError('Invalid type for field load_strategies, expected LoadStrategy')
load_strategy = self.self.msg.load_strategies.add()
load_strategy.CopyFrom(value)
return self
def set_load_strategies(self, values):
for value in values:
self.add_load_strategy(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self
class CatalogConfigBuilder(BaseBuilder):
def __init__(self):
self.msg = CatalogConfig()
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_workspace_name(self, value):
self.msg.workspace_name = value
return self
def set_data_space_name(self, value):
self.msg.data_space_name = value
return self
class CatalogBuilder(BaseBuilder):
def __init__(self):
super(CatalogBuilder, self).__init__(Catalog())
def set_version(self, value):
self.msg.version = value
return self
def set_status(self, value):
if not isinstance(value, EntityStatus):
raise ValueError('Invalid type for field status, expected EntityStatus')
self.msg.status.CopyFrom(value)
return self
def set_catalog_name(self, value):
self.msg.catalog_name = value
return self
def set_catalog_config(self, value):
if not isinstance(value, CatalogConfig):
raise ValueError('Invalid type for field catalog_config, expected CatalogConfig')
self.msg.catalog_config.CopyFrom(value)
return self
def add_database(self, value):
if not isinstance(value, Database):
raise ValueError('Invalid type for field databases, expected Database')
database = self.msg.databases.add()
database.CopyFrom(value)
return self
def set_databases(self, values):
for value in values:
self.add_database(value)
return self
def set_operation_meta(self, value):
if not isinstance(value, OperationMeta):
raise ValueError('Invalid type for field operation_meta, expected OperationMeta')
self.msg.operation_meta.CopyFrom(value)
return self