From cd1b0511e982111bf99c1c2505b39a0c4a3ba0e2 Mon Sep 17 00:00:00 2001 From: Everett Li Date: Thu, 7 Nov 2024 11:56:41 +0800 Subject: [PATCH 1/4] feat: support log_lineage --- noxfile.py | 2 +- pai/api/api_container.py | 6 + pai/api/base.py | 1 + pai/api/lineage.py | 76 + pai/common/consts.py | 38 + pai/common/utils.py | 110 + .../__init__.py | 2 +- .../client.py | 4571 ++++++++++------- .../models.py | 1602 +++++- pai/session.py | 87 +- pai/tracking/__init__.py | 1 + pai/tracking/lineage.py | 358 ++ pai/version.py | 2 +- requirements/doc-requirements.txt | 2 +- tests/integration/test_lineage.py | 300 ++ tests/unit/test_session.py | 42 +- tests/unit/test_utils.py | 201 +- 17 files changed, 5500 insertions(+), 1901 deletions(-) create mode 100644 pai/api/lineage.py create mode 100644 pai/tracking/__init__.py create mode 100644 pai/tracking/lineage.py create mode 100644 tests/integration/test_lineage.py diff --git a/noxfile.py b/noxfile.py index f74aca9..31974b4 100644 --- a/noxfile.py +++ b/noxfile.py @@ -100,7 +100,7 @@ def unit(session: Session): def lint(session: Session): """Enforce code style with flake8.""" session.install("-r", LINT_REQUIREMENTS) - session.run("flake8", "--config", ".flake8") + session.run("flake8", "--exclude", "venv,.venv,env,.nox,build,dist", "--config", ".flake8") session.run("black", "--check", ".") session.run("typos", "--config", "typos.toml", "-w") diff --git a/pai/api/api_container.py b/pai/api/api_container.py index 7f0fd02..cc09da1 100644 --- a/pai/api/api_container.py +++ b/pai/api/api_container.py @@ -27,6 +27,7 @@ from .experiment import ExperimentAPI from .image import ImageAPI from .job import JobAPI +from .lineage import LineageAPI from .model import ModelAPI from .pipeline import PipelineAPI from .pipeline_run import PipelineRunAPI @@ -49,6 +50,7 @@ PAIRestResourceTypes.PipelineRun: PipelineRunAPI, PAIRestResourceTypes.TensorBoard: TensorBoardAPI, PAIRestResourceTypes.Experiment: ExperimentAPI, + PAIRestResourceTypes.Lineage: LineageAPI, } @@ -217,3 +219,7 @@ def pipeline_run_api(self) -> PipelineRunAPI: @property def experiment_api(self) -> ExperimentAPI: return self.get_api_by_resource(PAIRestResourceTypes.Experiment) + + @property + def lineage_api(self) -> LineageAPI: + return self.get_api_by_resource(PAIRestResourceTypes.Lineage) diff --git a/pai/api/base.py b/pai/api/base.py index 6b0185a..64661f5 100644 --- a/pai/api/base.py +++ b/pai/api/base.py @@ -54,6 +54,7 @@ class PAIRestResourceTypes(object): PipelineRun = "PipelineRun" TensorBoard = "TensorBoard" Experiment = "Experiment" + Lineage = "Lineage" class ResourceAPI(with_metaclass(ABCMeta, object)): diff --git a/pai/api/lineage.py b/pai/api/lineage.py new file mode 100644 index 0000000..b51073b --- /dev/null +++ b/pai/api/lineage.py @@ -0,0 +1,76 @@ +# Copyright 2023 Alibaba, Inc. or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from dataclasses import dataclass +from typing import Dict, List, Optional + +from ..common.logging import get_logger +from ..libs.alibabacloud_aiworkspace20210204.models import ( + LineageEntity, + RegisterLineageRequest, +) +from .base import ServiceName, WorkspaceScopedResourceAPI + +logger = get_logger(__name__) + + +@dataclass +class _LineageEntity: + Attributes: Dict[str, str] = None + EntityType: Optional[str] = None + Name: Optional[str] = None + QualifiedName: Optional[str] = None + + +class LineageAPI(WorkspaceScopedResourceAPI): + BACKEND_SERVICE_NAME = ServiceName.PAI_WORKSPACE + + _register_lineage = "register_lineage_with_options" + + def log_lineage( + self, + inputs: List[_LineageEntity], + outputs: List[_LineageEntity], + job_id: str, + workspace_id: str, + ): + input_entities = [] + output_entities = [] + for input in inputs: + input_entities.append( + LineageEntity( + attributes=input.Attributes, + entity_type=input.EntityType, + name=input.Name, + qualified_name=input.QualifiedName, + ) + ) + for output in outputs: + output_entities.append( + LineageEntity( + attributes=output.Attributes, + entity_type=output.EntityType, + name=output.Name, + qualified_name=output.QualifiedName, + ) + ) + request = RegisterLineageRequest( + register_task_as_entity=True, + input_entities=input_entities, + output_entities=output_entities, + qualified_name="pai_dlcjob-task." + job_id, + name=job_id, + attributes={"WorkspaceId": workspace_id}, + ) + response = self._do_request(method_=self._register_lineage, request=request) + logger.debug(response) diff --git a/pai/common/consts.py b/pai/common/consts.py index c57c70c..e7f6200 100644 --- a/pai/common/consts.py +++ b/pai/common/consts.py @@ -25,6 +25,44 @@ # PAI VPC endpoint PAI_VPC_ENDPOINT = "pai-vpc.{}.aliyuncs.com" +# All region list, https://help.aliyun.com/document_detail/40654.html +ALIYUN_ALL_REGION_ID_LIST = [ + "cn-qingdao", + "cn-beijing", + "cn-zhangjiakou", + "cn-huhehaote", + "cn-wulanchabu", + "cn-hangzhou", + "cn-shanghai", + "cn-nanjing", + "cn-fuzhou", + "cn-wuhan-lr", + "cn-shenzhen", + "cn-heyuan", + "cn-guangzhou", + "cn-chengdu", + "cn-hongkong", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-5", + "ap-southeast-6", + "ap-southeast-7", + "ap-northeast-1", + "ap-northeast-2", + "eu-west-1", + "us-east-1", + "eu-central-1", + "eu-west-1", + "me-east-1", + "me-central-1", + "cn-hangzhou-finance", + "cn-shanghai-finance-1", + "cn-shenzhen-finance-1", + "cn-beijing-finance-1", + "cn-north-2-gov-1", +] + class Network(enum.Enum): VPC = "VPC" diff --git a/pai/common/utils.py b/pai/common/utils.py index 1b17bb8..5537da9 100644 --- a/pai/common/utils.py +++ b/pai/common/utils.py @@ -30,6 +30,7 @@ from semantic_version import Version from pai.common.consts import ( + ALIYUN_ALL_REGION_ID_LIST, INSTANCE_TYPE_LOCAL, INSTANCE_TYPE_LOCAL_GPU, FileSystemInputScheme, @@ -379,3 +380,112 @@ def name_from_base(base_name: str, sep: str = "-") -> str: return "{base_name}{sep}{timestamp}".format( base_name=base_name, sep=sep, timestamp=timestamp(sep=sep, utc=False) ) + + +def parse_region_id_from_endpoint(endpoint) -> str: + if endpoint: + for region_id in ALIYUN_ALL_REGION_ID_LIST: + if region_id in endpoint: + return region_id + return None + + +def parse_oss_uri(uri): + if uri.startswith("oss://"): + match = re.match(r"^oss://([^./]+)\.([^./]+)\.aliyuncs\.com(?:/(.+))?", uri) + if not match: + warnings.warn("Invalid OSS URI format.") + return None + bucket_name, endpoint, path = match.groups() + region_id = parse_region_id_from_endpoint(endpoint) + if not region_id: + warnings.warn("Invalid OSS URI format.") + return None + return bucket_name, region_id, "/" if path is None else path + return None + + +def parse_nas_uri(uri): + if uri.startswith("nas://"): + match = re.match(r"^nas://([^./]+)\.([^/]+)(?:/(.+))?", uri) + if not match: + warnings.warn("Invalid NAS URI format.") + return None + endpoint = match.groups()[1] + region_id = parse_region_id_from_endpoint(endpoint) + if not region_id: + warnings.warn("Invalid NAS URI format.") + return None + return uri, region_id + return None + + +def parse_cpfs_uri(uri): + if uri.startswith("cpfs://"): + match = re.match(r"^cpfs://([^./]+)\.([^/]+)(?:/(.+))?", uri) + if not match: + warnings.warn("Invalid CPFS URI format.") + return None + endpoint = match.groups()[1] + region_id = parse_region_id_from_endpoint(endpoint) + if not region_id: + warnings.warn("Invalid CPFS URI format.") + return None + return uri, region_id + return None + + +def parse_bmcpfs_uri(uri): + if uri.startswith("bmcpfs://"): + match = re.match(r"^bmcpfs://([^./]+)\.([^/]+)(?:/(.+))?", uri) + if not match: + warnings.warn("Invalid BMCPFS URI format.") + return None + endpoint = match.groups()[1] + region_id = parse_region_id_from_endpoint(endpoint) + if not region_id: + warnings.warn("Invalid BMCPFS URI format.") + return None + return uri, region_id + return None + + +def parse_local_file_uri(uri): + if uri.startswith("file:///"): + match = re.match(r"^file://(.+)", uri) + if not match: + warnings.warn("Invalid local file URI format.") + return None + return match.group(1) + return None + + +def parse_pai_dataset_uri(uri): + if uri.startswith("pai://datasets"): + match = re.match(r"^pai://datasets/([^/]+)(?:/(.+))?", uri) + if not match: + warnings.warn("Invalid PAI dataset URI format.") + return None + dataset_id, dataset_version = match.groups() + dataset_version = dataset_version if dataset_version else "1" + dataset_version = ( + dataset_version.split("/")[0] if "/" in dataset_version else dataset_version + ) + return dataset_id, dataset_version + return None + + +def parse_odps_uri(uri): + if uri.startswith("odps://"): + match = re.match(r"^odps://(.+)/tables/(.+)", uri) + if not match: + warnings.warn("Invalid MaxCompute URI format.") + return None + project_and_schema, table_name = match.groups() + project_name, schema = ( + project_and_schema.split("/") + if "/" in project_and_schema + else (project_and_schema, None) + ) + return project_name, schema, table_name + return None diff --git a/pai/libs/alibabacloud_aiworkspace20210204/__init__.py b/pai/libs/alibabacloud_aiworkspace20210204/__init__.py index b63d968..5ec5ff3 100644 --- a/pai/libs/alibabacloud_aiworkspace20210204/__init__.py +++ b/pai/libs/alibabacloud_aiworkspace20210204/__init__.py @@ -1 +1 @@ -__version__ = '3.0.6' \ No newline at end of file +__version__ = '5.0.1' \ No newline at end of file diff --git a/pai/libs/alibabacloud_aiworkspace20210204/client.py b/pai/libs/alibabacloud_aiworkspace20210204/client.py index 58455b8..60bd9d8 100644 --- a/pai/libs/alibabacloud_aiworkspace20210204/client.py +++ b/pai/libs/alibabacloud_aiworkspace20210204/client.py @@ -16,14 +16,16 @@ class Client(OpenApiClient): """ *\ """ + def __init__( - self, + self, config: open_api_models.Config, ): super().__init__(config) self._endpoint_rule = '' self.check_config(config) - self._endpoint = self.get_endpoint('aiworkspace', self._region_id, self._endpoint_rule, self._network, self._suffix, self._endpoint_map, self._endpoint) + self._endpoint = self.get_endpoint('aiworkspace', self._region_id, self._endpoint_rule, self._network, + self._suffix, self._endpoint_map, self._endpoint) def get_endpoint( self, @@ -49,7 +51,7 @@ def add_image_with_options( ) -> aiwork_space_20210204_models.AddImageResponse: """ @summary 增加 Image - + @param request: AddImageRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -101,7 +103,7 @@ async def add_image_with_options_async( ) -> aiwork_space_20210204_models.AddImageResponse: """ @summary 增加 Image - + @param request: AddImageRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -151,7 +153,7 @@ def add_image( ) -> aiwork_space_20210204_models.AddImageResponse: """ @summary 增加 Image - + @param request: AddImageRequest @return: AddImageResponse """ @@ -165,7 +167,7 @@ async def add_image_async( ) -> aiwork_space_20210204_models.AddImageResponse: """ @summary 增加 Image - + @param request: AddImageRequest @return: AddImageResponse """ @@ -182,7 +184,7 @@ def add_image_labels_with_options( ) -> aiwork_space_20210204_models.AddImageLabelsResponse: """ @summary 增加 Image 的标签 - + @param request: AddImageLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -221,7 +223,7 @@ async def add_image_labels_with_options_async( ) -> aiwork_space_20210204_models.AddImageLabelsResponse: """ @summary 增加 Image 的标签 - + @param request: AddImageLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -258,7 +260,7 @@ def add_image_labels( ) -> aiwork_space_20210204_models.AddImageLabelsResponse: """ @summary 增加 Image 的标签 - + @param request: AddImageLabelsRequest @return: AddImageLabelsResponse """ @@ -273,7 +275,7 @@ async def add_image_labels_async( ) -> aiwork_space_20210204_models.AddImageLabelsResponse: """ @summary 增加 Image 的标签 - + @param request: AddImageLabelsRequest @return: AddImageLabelsResponse """ @@ -291,7 +293,7 @@ def add_member_role_with_options( ) -> aiwork_space_20210204_models.AddMemberRoleResponse: """ @summary 增加成员角色 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AddMemberRoleResponse @@ -325,7 +327,7 @@ async def add_member_role_with_options_async( ) -> aiwork_space_20210204_models.AddMemberRoleResponse: """ @summary 增加成员角色 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AddMemberRoleResponse @@ -357,7 +359,7 @@ def add_member_role( ) -> aiwork_space_20210204_models.AddMemberRoleResponse: """ @summary 增加成员角色 - + @return: AddMemberRoleResponse """ runtime = util_models.RuntimeOptions() @@ -372,7 +374,7 @@ async def add_member_role_async( ) -> aiwork_space_20210204_models.AddMemberRoleResponse: """ @summary 增加成员角色 - + @return: AddMemberRoleResponse """ runtime = util_models.RuntimeOptions() @@ -388,7 +390,7 @@ def add_workspace_quota_with_options( ) -> aiwork_space_20210204_models.AddWorkspaceQuotaResponse: """ @summary 添加资源实例配额 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AddWorkspaceQuotaResponse @@ -421,7 +423,7 @@ async def add_workspace_quota_with_options_async( ) -> aiwork_space_20210204_models.AddWorkspaceQuotaResponse: """ @summary 添加资源实例配额 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AddWorkspaceQuotaResponse @@ -452,7 +454,7 @@ def add_workspace_quota( ) -> aiwork_space_20210204_models.AddWorkspaceQuotaResponse: """ @summary 添加资源实例配额 - + @return: AddWorkspaceQuotaResponse """ runtime = util_models.RuntimeOptions() @@ -466,7 +468,7 @@ async def add_workspace_quota_async( ) -> aiwork_space_20210204_models.AddWorkspaceQuotaResponse: """ @summary 添加资源实例配额 - + @return: AddWorkspaceQuotaResponse """ runtime = util_models.RuntimeOptions() @@ -481,7 +483,7 @@ def assume_service_identity_role_with_options( ) -> aiwork_space_20210204_models.AssumeServiceIdentityRoleResponse: """ @summary 用PAI服务账户扮演角色 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AssumeServiceIdentityRoleResponse @@ -513,7 +515,7 @@ async def assume_service_identity_role_with_options_async( ) -> aiwork_space_20210204_models.AssumeServiceIdentityRoleResponse: """ @summary 用PAI服务账户扮演角色 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: AssumeServiceIdentityRoleResponse @@ -543,7 +545,7 @@ def assume_service_identity_role( ) -> aiwork_space_20210204_models.AssumeServiceIdentityRoleResponse: """ @summary 用PAI服务账户扮演角色 - + @return: AssumeServiceIdentityRoleResponse """ runtime = util_models.RuntimeOptions() @@ -556,7 +558,7 @@ async def assume_service_identity_role_async( ) -> aiwork_space_20210204_models.AssumeServiceIdentityRoleResponse: """ @summary 用PAI服务账户扮演角色 - + @return: AssumeServiceIdentityRoleResponse """ runtime = util_models.RuntimeOptions() @@ -572,7 +574,7 @@ def change_dataset_owner_with_options( ) -> aiwork_space_20210204_models.ChangeDatasetOwnerResponse: """ @summary 修改API的所有者 - + @param request: ChangeDatasetOwnerRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -611,7 +613,7 @@ async def change_dataset_owner_with_options_async( ) -> aiwork_space_20210204_models.ChangeDatasetOwnerResponse: """ @summary 修改API的所有者 - + @param request: ChangeDatasetOwnerRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -648,7 +650,7 @@ def change_dataset_owner( ) -> aiwork_space_20210204_models.ChangeDatasetOwnerResponse: """ @summary 修改API的所有者 - + @param request: ChangeDatasetOwnerRequest @return: ChangeDatasetOwnerResponse """ @@ -663,7 +665,7 @@ async def change_dataset_owner_async( ) -> aiwork_space_20210204_models.ChangeDatasetOwnerResponse: """ @summary 修改API的所有者 - + @param request: ChangeDatasetOwnerRequest @return: ChangeDatasetOwnerResponse """ @@ -679,7 +681,7 @@ def create_code_source_with_options( ) -> aiwork_space_20210204_models.CreateCodeSourceResponse: """ @summary 创建一个代码源配置 - + @param request: CreateCodeSourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -733,7 +735,7 @@ async def create_code_source_with_options_async( ) -> aiwork_space_20210204_models.CreateCodeSourceResponse: """ @summary 创建一个代码源配置 - + @param request: CreateCodeSourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -785,7 +787,7 @@ def create_code_source( ) -> aiwork_space_20210204_models.CreateCodeSourceResponse: """ @summary 创建一个代码源配置 - + @param request: CreateCodeSourceRequest @return: CreateCodeSourceResponse """ @@ -799,7 +801,7 @@ async def create_code_source_async( ) -> aiwork_space_20210204_models.CreateCodeSourceResponse: """ @summary 创建一个代码源配置 - + @param request: CreateCodeSourceRequest @return: CreateCodeSourceResponse """ @@ -815,7 +817,7 @@ def create_collection_with_options( ) -> aiwork_space_20210204_models.CreateCollectionResponse: """ @summary 创建Collection - + @param request: CreateCollectionRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -853,7 +855,7 @@ async def create_collection_with_options_async( ) -> aiwork_space_20210204_models.CreateCollectionResponse: """ @summary 创建Collection - + @param request: CreateCollectionRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -889,7 +891,7 @@ def create_collection( ) -> aiwork_space_20210204_models.CreateCollectionResponse: """ @summary 创建Collection - + @param request: CreateCollectionRequest @return: CreateCollectionResponse """ @@ -903,7 +905,7 @@ async def create_collection_async( ) -> aiwork_space_20210204_models.CreateCollectionResponse: """ @summary 创建Collection - + @param request: CreateCollectionRequest @return: CreateCollectionResponse """ @@ -919,7 +921,7 @@ def create_dataset_with_options( ) -> aiwork_space_20210204_models.CreateDatasetResponse: """ @summary 创建数据集 - + @param request: CreateDatasetRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -929,6 +931,10 @@ def create_dataset_with_options( body = {} if not UtilClient.is_unset(request.accessibility): body['Accessibility'] = request.accessibility + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size if not UtilClient.is_unset(request.data_source_type): body['DataSourceType'] = request.data_source_type if not UtilClient.is_unset(request.data_type): @@ -947,6 +953,10 @@ def create_dataset_with_options( body['Provider'] = request.provider if not UtilClient.is_unset(request.provider_type): body['ProviderType'] = request.provider_type + if not UtilClient.is_unset(request.source_dataset_id): + body['SourceDatasetId'] = request.source_dataset_id + if not UtilClient.is_unset(request.source_dataset_version): + body['SourceDatasetVersion'] = request.source_dataset_version if not UtilClient.is_unset(request.source_id): body['SourceId'] = request.source_id if not UtilClient.is_unset(request.source_type): @@ -955,6 +965,10 @@ def create_dataset_with_options( body['Uri'] = request.uri if not UtilClient.is_unset(request.user_id): body['UserId'] = request.user_id + if not UtilClient.is_unset(request.version_description): + body['VersionDescription'] = request.version_description + if not UtilClient.is_unset(request.version_labels): + body['VersionLabels'] = request.version_labels if not UtilClient.is_unset(request.workspace_id): body['WorkspaceId'] = request.workspace_id req = open_api_models.OpenApiRequest( @@ -985,7 +999,7 @@ async def create_dataset_with_options_async( ) -> aiwork_space_20210204_models.CreateDatasetResponse: """ @summary 创建数据集 - + @param request: CreateDatasetRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -995,6 +1009,10 @@ async def create_dataset_with_options_async( body = {} if not UtilClient.is_unset(request.accessibility): body['Accessibility'] = request.accessibility + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size if not UtilClient.is_unset(request.data_source_type): body['DataSourceType'] = request.data_source_type if not UtilClient.is_unset(request.data_type): @@ -1013,6 +1031,10 @@ async def create_dataset_with_options_async( body['Provider'] = request.provider if not UtilClient.is_unset(request.provider_type): body['ProviderType'] = request.provider_type + if not UtilClient.is_unset(request.source_dataset_id): + body['SourceDatasetId'] = request.source_dataset_id + if not UtilClient.is_unset(request.source_dataset_version): + body['SourceDatasetVersion'] = request.source_dataset_version if not UtilClient.is_unset(request.source_id): body['SourceId'] = request.source_id if not UtilClient.is_unset(request.source_type): @@ -1021,6 +1043,10 @@ async def create_dataset_with_options_async( body['Uri'] = request.uri if not UtilClient.is_unset(request.user_id): body['UserId'] = request.user_id + if not UtilClient.is_unset(request.version_description): + body['VersionDescription'] = request.version_description + if not UtilClient.is_unset(request.version_labels): + body['VersionLabels'] = request.version_labels if not UtilClient.is_unset(request.workspace_id): body['WorkspaceId'] = request.workspace_id req = open_api_models.OpenApiRequest( @@ -1049,7 +1075,7 @@ def create_dataset( ) -> aiwork_space_20210204_models.CreateDatasetResponse: """ @summary 创建数据集 - + @param request: CreateDatasetRequest @return: CreateDatasetResponse """ @@ -1063,7 +1089,7 @@ async def create_dataset_async( ) -> aiwork_space_20210204_models.CreateDatasetResponse: """ @summary 创建数据集 - + @param request: CreateDatasetRequest @return: CreateDatasetResponse """ @@ -1080,7 +1106,7 @@ def create_dataset_labels_with_options( ) -> aiwork_space_20210204_models.CreateDatasetLabelsResponse: """ @summary 创建或更新 Dataset 的标签 - + @param request: CreateDatasetLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1119,7 +1145,7 @@ async def create_dataset_labels_with_options_async( ) -> aiwork_space_20210204_models.CreateDatasetLabelsResponse: """ @summary 创建或更新 Dataset 的标签 - + @param request: CreateDatasetLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1156,7 +1182,7 @@ def create_dataset_labels( ) -> aiwork_space_20210204_models.CreateDatasetLabelsResponse: """ @summary 创建或更新 Dataset 的标签 - + @param request: CreateDatasetLabelsRequest @return: CreateDatasetLabelsResponse """ @@ -1171,7 +1197,7 @@ async def create_dataset_labels_async( ) -> aiwork_space_20210204_models.CreateDatasetLabelsResponse: """ @summary 创建或更新 Dataset 的标签 - + @param request: CreateDatasetLabelsRequest @return: CreateDatasetLabelsResponse """ @@ -1179,6 +1205,263 @@ async def create_dataset_labels_async( headers = {} return await self.create_dataset_labels_with_options_async(dataset_id, request, headers, runtime) + def create_dataset_version_with_options( + self, + dataset_id: str, + request: aiwork_space_20210204_models.CreateDatasetVersionRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.CreateDatasetVersionResponse: + """ + @summary 创建数据集版本 + + @param request: CreateDatasetVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: CreateDatasetVersionResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size + if not UtilClient.is_unset(request.data_source_type): + body['DataSourceType'] = request.data_source_type + if not UtilClient.is_unset(request.description): + body['Description'] = request.description + if not UtilClient.is_unset(request.labels): + body['Labels'] = request.labels + if not UtilClient.is_unset(request.options): + body['Options'] = request.options + if not UtilClient.is_unset(request.property): + body['Property'] = request.property + if not UtilClient.is_unset(request.source_id): + body['SourceId'] = request.source_id + if not UtilClient.is_unset(request.source_type): + body['SourceType'] = request.source_type + if not UtilClient.is_unset(request.uri): + body['Uri'] = request.uri + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='CreateDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions', + method='POST', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.CreateDatasetVersionResponse(), + self.call_api(params, req, runtime) + ) + + async def create_dataset_version_with_options_async( + self, + dataset_id: str, + request: aiwork_space_20210204_models.CreateDatasetVersionRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.CreateDatasetVersionResponse: + """ + @summary 创建数据集版本 + + @param request: CreateDatasetVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: CreateDatasetVersionResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size + if not UtilClient.is_unset(request.data_source_type): + body['DataSourceType'] = request.data_source_type + if not UtilClient.is_unset(request.description): + body['Description'] = request.description + if not UtilClient.is_unset(request.labels): + body['Labels'] = request.labels + if not UtilClient.is_unset(request.options): + body['Options'] = request.options + if not UtilClient.is_unset(request.property): + body['Property'] = request.property + if not UtilClient.is_unset(request.source_id): + body['SourceId'] = request.source_id + if not UtilClient.is_unset(request.source_type): + body['SourceType'] = request.source_type + if not UtilClient.is_unset(request.uri): + body['Uri'] = request.uri + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='CreateDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions', + method='POST', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.CreateDatasetVersionResponse(), + await self.call_api_async(params, req, runtime) + ) + + def create_dataset_version( + self, + dataset_id: str, + request: aiwork_space_20210204_models.CreateDatasetVersionRequest, + ) -> aiwork_space_20210204_models.CreateDatasetVersionResponse: + """ + @summary 创建数据集版本 + + @param request: CreateDatasetVersionRequest + @return: CreateDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.create_dataset_version_with_options(dataset_id, request, headers, runtime) + + async def create_dataset_version_async( + self, + dataset_id: str, + request: aiwork_space_20210204_models.CreateDatasetVersionRequest, + ) -> aiwork_space_20210204_models.CreateDatasetVersionResponse: + """ + @summary 创建数据集版本 + + @param request: CreateDatasetVersionRequest + @return: CreateDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.create_dataset_version_with_options_async(dataset_id, request, headers, runtime) + + def create_dataset_version_labels_with_options( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.CreateDatasetVersionLabelsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse: + """ + @summary 创建数据集版本的标签 + + @param request: CreateDatasetVersionLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: CreateDatasetVersionLabelsResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.labels): + body['Labels'] = request.labels + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='CreateDatasetVersionLabels', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}/labels', + method='PUT', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse(), + self.call_api(params, req, runtime) + ) + + async def create_dataset_version_labels_with_options_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.CreateDatasetVersionLabelsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse: + """ + @summary 创建数据集版本的标签 + + @param request: CreateDatasetVersionLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: CreateDatasetVersionLabelsResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.labels): + body['Labels'] = request.labels + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='CreateDatasetVersionLabels', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}/labels', + method='PUT', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse(), + await self.call_api_async(params, req, runtime) + ) + + def create_dataset_version_labels( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.CreateDatasetVersionLabelsRequest, + ) -> aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse: + """ + @summary 创建数据集版本的标签 + + @param request: CreateDatasetVersionLabelsRequest + @return: CreateDatasetVersionLabelsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.create_dataset_version_labels_with_options(dataset_id, version_name, request, headers, runtime) + + async def create_dataset_version_labels_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.CreateDatasetVersionLabelsRequest, + ) -> aiwork_space_20210204_models.CreateDatasetVersionLabelsResponse: + """ + @summary 创建数据集版本的标签 + + @param request: CreateDatasetVersionLabelsRequest + @return: CreateDatasetVersionLabelsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.create_dataset_version_labels_with_options_async(dataset_id, version_name, request, headers, + runtime) + def create_default_workspace_with_options( self, request: aiwork_space_20210204_models.CreateDefaultWorkspaceRequest, @@ -1187,7 +1470,7 @@ def create_default_workspace_with_options( ) -> aiwork_space_20210204_models.CreateDefaultWorkspaceResponse: """ @summary 创建默认工作空间 - + @param request: CreateDefaultWorkspaceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1231,7 +1514,7 @@ async def create_default_workspace_with_options_async( ) -> aiwork_space_20210204_models.CreateDefaultWorkspaceResponse: """ @summary 创建默认工作空间 - + @param request: CreateDefaultWorkspaceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1273,7 +1556,7 @@ def create_default_workspace( ) -> aiwork_space_20210204_models.CreateDefaultWorkspaceResponse: """ @summary 创建默认工作空间 - + @param request: CreateDefaultWorkspaceRequest @return: CreateDefaultWorkspaceResponse """ @@ -1287,7 +1570,7 @@ async def create_default_workspace_async( ) -> aiwork_space_20210204_models.CreateDefaultWorkspaceResponse: """ @summary 创建默认工作空间 - + @param request: CreateDefaultWorkspaceRequest @return: CreateDefaultWorkspaceResponse """ @@ -1303,7 +1586,7 @@ def create_ding_talk_robot_message_with_options( ) -> aiwork_space_20210204_models.CreateDingTalkRobotMessageResponse: """ @summary 发送特定格式的消息给钉钉机器人 - + @param request: CreateDingTalkRobotMessageRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1345,7 +1628,7 @@ async def create_ding_talk_robot_message_with_options_async( ) -> aiwork_space_20210204_models.CreateDingTalkRobotMessageResponse: """ @summary 发送特定格式的消息给钉钉机器人 - + @param request: CreateDingTalkRobotMessageRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1385,7 +1668,7 @@ def create_ding_talk_robot_message( ) -> aiwork_space_20210204_models.CreateDingTalkRobotMessageResponse: """ @summary 发送特定格式的消息给钉钉机器人 - + @param request: CreateDingTalkRobotMessageRequest @return: CreateDingTalkRobotMessageResponse """ @@ -1399,7 +1682,7 @@ async def create_ding_talk_robot_message_async( ) -> aiwork_space_20210204_models.CreateDingTalkRobotMessageResponse: """ @summary 发送特定格式的消息给钉钉机器人 - + @param request: CreateDingTalkRobotMessageRequest @return: CreateDingTalkRobotMessageResponse """ @@ -1415,7 +1698,7 @@ def create_experiment_with_options( ) -> aiwork_space_20210204_models.CreateExperimentResponse: """ @summary 创建实验 - + @param request: CreateExperimentRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1461,7 +1744,7 @@ async def create_experiment_with_options_async( ) -> aiwork_space_20210204_models.CreateExperimentResponse: """ @summary 创建实验 - + @param request: CreateExperimentRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1505,7 +1788,7 @@ def create_experiment( ) -> aiwork_space_20210204_models.CreateExperimentResponse: """ @summary 创建实验 - + @param request: CreateExperimentRequest @return: CreateExperimentResponse """ @@ -1519,7 +1802,7 @@ async def create_experiment_async( ) -> aiwork_space_20210204_models.CreateExperimentResponse: """ @summary 创建实验 - + @param request: CreateExperimentRequest @return: CreateExperimentResponse """ @@ -1536,7 +1819,7 @@ def create_member_with_options( ) -> aiwork_space_20210204_models.CreateMemberResponse: """ @summary 创建成员 - + @param request: CreateMemberRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1575,7 +1858,7 @@ async def create_member_with_options_async( ) -> aiwork_space_20210204_models.CreateMemberResponse: """ @summary 创建成员 - + @param request: CreateMemberRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1612,7 +1895,7 @@ def create_member( ) -> aiwork_space_20210204_models.CreateMemberResponse: """ @summary 创建成员 - + @param request: CreateMemberRequest @return: CreateMemberResponse """ @@ -1627,7 +1910,7 @@ async def create_member_async( ) -> aiwork_space_20210204_models.CreateMemberResponse: """ @summary 创建成员 - + @param request: CreateMemberRequest @return: CreateMemberResponse """ @@ -1643,7 +1926,7 @@ def create_model_with_options( ) -> aiwork_space_20210204_models.CreateModelResponse: """ @summary 创建模型 - + @param request: CreateModelRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1703,7 +1986,7 @@ async def create_model_with_options_async( ) -> aiwork_space_20210204_models.CreateModelResponse: """ @summary 创建模型 - + @param request: CreateModelRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1761,7 +2044,7 @@ def create_model( ) -> aiwork_space_20210204_models.CreateModelResponse: """ @summary 创建模型 - + @param request: CreateModelRequest @return: CreateModelResponse """ @@ -1775,7 +2058,7 @@ async def create_model_async( ) -> aiwork_space_20210204_models.CreateModelResponse: """ @summary 创建模型 - + @param request: CreateModelRequest @return: CreateModelResponse """ @@ -1792,7 +2075,7 @@ def create_model_labels_with_options( ) -> aiwork_space_20210204_models.CreateModelLabelsResponse: """ @summary 创建或更新模型的标签 - + @param request: CreateModelLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1831,7 +2114,7 @@ async def create_model_labels_with_options_async( ) -> aiwork_space_20210204_models.CreateModelLabelsResponse: """ @summary 创建或更新模型的标签 - + @param request: CreateModelLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1868,7 +2151,7 @@ def create_model_labels( ) -> aiwork_space_20210204_models.CreateModelLabelsResponse: """ @summary 创建或更新模型的标签 - + @param request: CreateModelLabelsRequest @return: CreateModelLabelsResponse """ @@ -1883,7 +2166,7 @@ async def create_model_labels_async( ) -> aiwork_space_20210204_models.CreateModelLabelsResponse: """ @summary 创建或更新模型的标签 - + @param request: CreateModelLabelsRequest @return: CreateModelLabelsResponse """ @@ -1900,7 +2183,7 @@ def create_model_release_with_options( ) -> aiwork_space_20210204_models.CreateModelReleaseResponse: """ @summary 发布模型 - + @param request: CreateModelReleaseRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1943,7 +2226,7 @@ async def create_model_release_with_options_async( ) -> aiwork_space_20210204_models.CreateModelReleaseResponse: """ @summary 发布模型 - + @param request: CreateModelReleaseRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -1984,7 +2267,7 @@ def create_model_release( ) -> aiwork_space_20210204_models.CreateModelReleaseResponse: """ @summary 发布模型 - + @param request: CreateModelReleaseRequest @return: CreateModelReleaseResponse """ @@ -1999,7 +2282,7 @@ async def create_model_release_async( ) -> aiwork_space_20210204_models.CreateModelReleaseResponse: """ @summary 发布模型 - + @param request: CreateModelReleaseRequest @return: CreateModelReleaseResponse """ @@ -2016,7 +2299,7 @@ def create_model_version_with_options( ) -> aiwork_space_20210204_models.CreateModelVersionResponse: """ @summary 创建模型版本 - + @param request: CreateModelVersionRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2085,7 +2368,7 @@ async def create_model_version_with_options_async( ) -> aiwork_space_20210204_models.CreateModelVersionResponse: """ @summary 创建模型版本 - + @param request: CreateModelVersionRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2152,7 +2435,7 @@ def create_model_version( ) -> aiwork_space_20210204_models.CreateModelVersionResponse: """ @summary 创建模型版本 - + @param request: CreateModelVersionRequest @return: CreateModelVersionResponse """ @@ -2167,7 +2450,7 @@ async def create_model_version_async( ) -> aiwork_space_20210204_models.CreateModelVersionResponse: """ @summary 创建模型版本 - + @param request: CreateModelVersionRequest @return: CreateModelVersionResponse """ @@ -2185,7 +2468,7 @@ def create_model_version_labels_with_options( ) -> aiwork_space_20210204_models.CreateModelVersionLabelsResponse: """ @summary 创建或更新模型版本的标签 - + @param request: CreateModelVersionLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2225,7 +2508,7 @@ async def create_model_version_labels_with_options_async( ) -> aiwork_space_20210204_models.CreateModelVersionLabelsResponse: """ @summary 创建或更新模型版本的标签 - + @param request: CreateModelVersionLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2263,7 +2546,7 @@ def create_model_version_labels( ) -> aiwork_space_20210204_models.CreateModelVersionLabelsResponse: """ @summary 创建或更新模型版本的标签 - + @param request: CreateModelVersionLabelsRequest @return: CreateModelVersionLabelsResponse """ @@ -2279,13 +2562,14 @@ async def create_model_version_labels_async( ) -> aiwork_space_20210204_models.CreateModelVersionLabelsResponse: """ @summary 创建或更新模型版本的标签 - + @param request: CreateModelVersionLabelsRequest @return: CreateModelVersionLabelsResponse """ runtime = util_models.RuntimeOptions() headers = {} - return await self.create_model_version_labels_with_options_async(model_id, version_name, request, headers, runtime) + return await self.create_model_version_labels_with_options_async(model_id, version_name, request, headers, + runtime) def create_model_version_release_with_options( self, @@ -2297,7 +2581,7 @@ def create_model_version_release_with_options( ) -> aiwork_space_20210204_models.CreateModelVersionReleaseResponse: """ @summary 发布模型版本 - + @param request: CreateModelVersionReleaseRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2339,7 +2623,7 @@ async def create_model_version_release_with_options_async( ) -> aiwork_space_20210204_models.CreateModelVersionReleaseResponse: """ @summary 发布模型版本 - + @param request: CreateModelVersionReleaseRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2379,7 +2663,7 @@ def create_model_version_release( ) -> aiwork_space_20210204_models.CreateModelVersionReleaseResponse: """ @summary 发布模型版本 - + @param request: CreateModelVersionReleaseRequest @return: CreateModelVersionReleaseResponse """ @@ -2395,13 +2679,14 @@ async def create_model_version_release_async( ) -> aiwork_space_20210204_models.CreateModelVersionReleaseResponse: """ @summary 发布模型版本 - + @param request: CreateModelVersionReleaseRequest @return: CreateModelVersionReleaseResponse """ runtime = util_models.RuntimeOptions() headers = {} - return await self.create_model_version_release_with_options_async(model_id, version_name, request, headers, runtime) + return await self.create_model_version_release_with_options_async(model_id, version_name, request, headers, + runtime) def create_product_orders_with_options( self, @@ -2411,7 +2696,7 @@ def create_product_orders_with_options( ) -> aiwork_space_20210204_models.CreateProductOrdersResponse: """ @summary 创建产品订单 - + @param request: CreateProductOrdersRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2451,7 +2736,7 @@ async def create_product_orders_with_options_async( ) -> aiwork_space_20210204_models.CreateProductOrdersResponse: """ @summary 创建产品订单 - + @param request: CreateProductOrdersRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2489,7 +2774,7 @@ def create_product_orders( ) -> aiwork_space_20210204_models.CreateProductOrdersResponse: """ @summary 创建产品订单 - + @param request: CreateProductOrdersRequest @return: CreateProductOrdersResponse """ @@ -2503,7 +2788,7 @@ async def create_product_orders_async( ) -> aiwork_space_20210204_models.CreateProductOrdersResponse: """ @summary 创建产品订单 - + @param request: CreateProductOrdersRequest @return: CreateProductOrdersResponse """ @@ -2519,7 +2804,7 @@ def create_service_identity_role_with_options( ) -> aiwork_space_20210204_models.CreateServiceIdentityRoleResponse: """ @summary 创建被PAI服务账户扮演的角色 - + @param request: CreateServiceIdentityRoleRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2557,7 +2842,7 @@ async def create_service_identity_role_with_options_async( ) -> aiwork_space_20210204_models.CreateServiceIdentityRoleResponse: """ @summary 创建被PAI服务账户扮演的角色 - + @param request: CreateServiceIdentityRoleRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2593,7 +2878,7 @@ def create_service_identity_role( ) -> aiwork_space_20210204_models.CreateServiceIdentityRoleResponse: """ @summary 创建被PAI服务账户扮演的角色 - + @param request: CreateServiceIdentityRoleRequest @return: CreateServiceIdentityRoleResponse """ @@ -2607,7 +2892,7 @@ async def create_service_identity_role_async( ) -> aiwork_space_20210204_models.CreateServiceIdentityRoleResponse: """ @summary 创建被PAI服务账户扮演的角色 - + @param request: CreateServiceIdentityRoleRequest @return: CreateServiceIdentityRoleResponse """ @@ -2623,7 +2908,7 @@ def create_service_template_with_options( ) -> aiwork_space_20210204_models.CreateServiceTemplateResponse: """ @summary 创建服务模版 - + @param request: CreateServiceTemplateRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2673,7 +2958,7 @@ async def create_service_template_with_options_async( ) -> aiwork_space_20210204_models.CreateServiceTemplateResponse: """ @summary 创建服务模版 - + @param request: CreateServiceTemplateRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2721,7 +3006,7 @@ def create_service_template( ) -> aiwork_space_20210204_models.CreateServiceTemplateResponse: """ @summary 创建服务模版 - + @param request: CreateServiceTemplateRequest @return: CreateServiceTemplateResponse """ @@ -2735,7 +3020,7 @@ async def create_service_template_async( ) -> aiwork_space_20210204_models.CreateServiceTemplateResponse: """ @summary 创建服务模版 - + @param request: CreateServiceTemplateRequest @return: CreateServiceTemplateResponse """ @@ -2752,7 +3037,7 @@ def create_service_template_labels_with_options( ) -> aiwork_space_20210204_models.CreateServiceTemplateLabelsResponse: """ @summary 创建或更新服务模版的标签 - + @param request: CreateServiceTemplateLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2791,7 +3076,7 @@ async def create_service_template_labels_with_options_async( ) -> aiwork_space_20210204_models.CreateServiceTemplateLabelsResponse: """ @summary 创建或更新服务模版的标签 - + @param request: CreateServiceTemplateLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2828,7 +3113,7 @@ def create_service_template_labels( ) -> aiwork_space_20210204_models.CreateServiceTemplateLabelsResponse: """ @summary 创建或更新服务模版的标签 - + @param request: CreateServiceTemplateLabelsRequest @return: CreateServiceTemplateLabelsResponse """ @@ -2843,13 +3128,14 @@ async def create_service_template_labels_async( ) -> aiwork_space_20210204_models.CreateServiceTemplateLabelsResponse: """ @summary 创建或更新服务模版的标签 - + @param request: CreateServiceTemplateLabelsRequest @return: CreateServiceTemplateLabelsResponse """ runtime = util_models.RuntimeOptions() headers = {} - return await self.create_service_template_labels_with_options_async(service_template_id, request, headers, runtime) + return await self.create_service_template_labels_with_options_async(service_template_id, request, headers, + runtime) def create_trial_with_options( self, @@ -2859,7 +3145,7 @@ def create_trial_with_options( ) -> aiwork_space_20210204_models.CreateTrialResponse: """ @summary 创建Trial - + @param request: CreateTrialRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2905,7 +3191,7 @@ async def create_trial_with_options_async( ) -> aiwork_space_20210204_models.CreateTrialResponse: """ @summary 创建Trial - + @param request: CreateTrialRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -2949,7 +3235,7 @@ def create_trial( ) -> aiwork_space_20210204_models.CreateTrialResponse: """ @summary 创建Trial - + @param request: CreateTrialRequest @return: CreateTrialResponse """ @@ -2963,7 +3249,7 @@ async def create_trial_async( ) -> aiwork_space_20210204_models.CreateTrialResponse: """ @summary 创建Trial - + @param request: CreateTrialRequest @return: CreateTrialResponse """ @@ -2978,7 +3264,7 @@ def create_user_with_options( ) -> aiwork_space_20210204_models.CreateUserResponse: """ @summary 创建用户 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: CreateUserResponse @@ -3009,7 +3295,7 @@ async def create_user_with_options_async( ) -> aiwork_space_20210204_models.CreateUserResponse: """ @summary 创建用户 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: CreateUserResponse @@ -3036,7 +3322,7 @@ async def create_user_with_options_async( def create_user(self) -> aiwork_space_20210204_models.CreateUserResponse: """ @summary 创建用户 - + @return: CreateUserResponse """ runtime = util_models.RuntimeOptions() @@ -3046,7 +3332,7 @@ def create_user(self) -> aiwork_space_20210204_models.CreateUserResponse: async def create_user_async(self) -> aiwork_space_20210204_models.CreateUserResponse: """ @summary 创建用户 - + @return: CreateUserResponse """ runtime = util_models.RuntimeOptions() @@ -3061,7 +3347,7 @@ def create_workspace_with_options( ) -> aiwork_space_20210204_models.CreateWorkspaceResponse: """ @summary 创建工作空间 - + @param request: CreateWorkspaceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3105,7 +3391,7 @@ async def create_workspace_with_options_async( ) -> aiwork_space_20210204_models.CreateWorkspaceResponse: """ @summary 创建工作空间 - + @param request: CreateWorkspaceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3147,7 +3433,7 @@ def create_workspace( ) -> aiwork_space_20210204_models.CreateWorkspaceResponse: """ @summary 创建工作空间 - + @param request: CreateWorkspaceRequest @return: CreateWorkspaceResponse """ @@ -3161,7 +3447,7 @@ async def create_workspace_async( ) -> aiwork_space_20210204_models.CreateWorkspaceResponse: """ @summary 创建工作空间 - + @param request: CreateWorkspaceRequest @return: CreateWorkspaceResponse """ @@ -3178,7 +3464,7 @@ def create_workspace_resource_with_options( ) -> aiwork_space_20210204_models.CreateWorkspaceResourceResponse: """ @summary 创建资源 - + @param request: CreateWorkspaceResourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3219,7 +3505,7 @@ async def create_workspace_resource_with_options_async( ) -> aiwork_space_20210204_models.CreateWorkspaceResourceResponse: """ @summary 创建资源 - + @param request: CreateWorkspaceResourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3258,7 +3544,7 @@ def create_workspace_resource( ) -> aiwork_space_20210204_models.CreateWorkspaceResourceResponse: """ @summary 创建资源 - + @param request: CreateWorkspaceResourceRequest @return: CreateWorkspaceResourceResponse """ @@ -3273,7 +3559,7 @@ async def create_workspace_resource_async( ) -> aiwork_space_20210204_models.CreateWorkspaceResourceResponse: """ @summary 创建资源 - + @param request: CreateWorkspaceResourceRequest @return: CreateWorkspaceResourceResponse """ @@ -3289,7 +3575,7 @@ def delete_code_source_with_options( ) -> aiwork_space_20210204_models.DeleteCodeSourceResponse: """ @summary 删除一个代码源配置 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteCodeSourceResponse @@ -3321,7 +3607,7 @@ async def delete_code_source_with_options_async( ) -> aiwork_space_20210204_models.DeleteCodeSourceResponse: """ @summary 删除一个代码源配置 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteCodeSourceResponse @@ -3351,7 +3637,7 @@ def delete_code_source( ) -> aiwork_space_20210204_models.DeleteCodeSourceResponse: """ @summary 删除一个代码源配置 - + @return: DeleteCodeSourceResponse """ runtime = util_models.RuntimeOptions() @@ -3364,7 +3650,7 @@ async def delete_code_source_async( ) -> aiwork_space_20210204_models.DeleteCodeSourceResponse: """ @summary 删除一个代码源配置 - + @return: DeleteCodeSourceResponse """ runtime = util_models.RuntimeOptions() @@ -3379,7 +3665,7 @@ def delete_collection_with_options( ) -> aiwork_space_20210204_models.DeleteCollectionResponse: """ @summary 删除Collection - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteCollectionResponse @@ -3411,7 +3697,7 @@ async def delete_collection_with_options_async( ) -> aiwork_space_20210204_models.DeleteCollectionResponse: """ @summary 删除Collection - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteCollectionResponse @@ -3441,7 +3727,7 @@ def delete_collection( ) -> aiwork_space_20210204_models.DeleteCollectionResponse: """ @summary 删除Collection - + @return: DeleteCollectionResponse """ runtime = util_models.RuntimeOptions() @@ -3454,7 +3740,7 @@ async def delete_collection_async( ) -> aiwork_space_20210204_models.DeleteCollectionResponse: """ @summary 删除Collection - + @return: DeleteCollectionResponse """ runtime = util_models.RuntimeOptions() @@ -3471,7 +3757,7 @@ def delete_config_with_options( ) -> aiwork_space_20210204_models.DeleteConfigResponse: """ @summary 删除配置 - + @param request: DeleteConfigRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3511,7 +3797,7 @@ async def delete_config_with_options_async( ) -> aiwork_space_20210204_models.DeleteConfigResponse: """ @summary 删除配置 - + @param request: DeleteConfigRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3549,7 +3835,7 @@ def delete_config( ) -> aiwork_space_20210204_models.DeleteConfigResponse: """ @summary 删除配置 - + @param request: DeleteConfigRequest @return: DeleteConfigResponse """ @@ -3565,7 +3851,7 @@ async def delete_config_async( ) -> aiwork_space_20210204_models.DeleteConfigResponse: """ @summary 删除配置 - + @param request: DeleteConfigRequest @return: DeleteConfigResponse """ @@ -3581,7 +3867,7 @@ def delete_dataset_with_options( ) -> aiwork_space_20210204_models.DeleteDatasetResponse: """ @summary 删除数据集 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteDatasetResponse @@ -3613,7 +3899,7 @@ async def delete_dataset_with_options_async( ) -> aiwork_space_20210204_models.DeleteDatasetResponse: """ @summary 删除数据集 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteDatasetResponse @@ -3643,7 +3929,7 @@ def delete_dataset( ) -> aiwork_space_20210204_models.DeleteDatasetResponse: """ @summary 删除数据集 - + @return: DeleteDatasetResponse """ runtime = util_models.RuntimeOptions() @@ -3656,7 +3942,7 @@ async def delete_dataset_async( ) -> aiwork_space_20210204_models.DeleteDatasetResponse: """ @summary 删除数据集 - + @return: DeleteDatasetResponse """ runtime = util_models.RuntimeOptions() @@ -3672,7 +3958,7 @@ def delete_dataset_labels_with_options( ) -> aiwork_space_20210204_models.DeleteDatasetLabelsResponse: """ @summary 删除 Dataset 的标签 - + @param request: DeleteDatasetLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3680,8 +3966,6 @@ def delete_dataset_labels_with_options( """ UtilClient.validate_model(request) query = {} - if not UtilClient.is_unset(request.keys): - query['Keys'] = request.keys if not UtilClient.is_unset(request.label_keys): query['LabelKeys'] = request.label_keys req = open_api_models.OpenApiRequest( @@ -3713,7 +3997,7 @@ async def delete_dataset_labels_with_options_async( ) -> aiwork_space_20210204_models.DeleteDatasetLabelsResponse: """ @summary 删除 Dataset 的标签 - + @param request: DeleteDatasetLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -3721,8 +4005,6 @@ async def delete_dataset_labels_with_options_async( """ UtilClient.validate_model(request) query = {} - if not UtilClient.is_unset(request.keys): - query['Keys'] = request.keys if not UtilClient.is_unset(request.label_keys): query['LabelKeys'] = request.label_keys req = open_api_models.OpenApiRequest( @@ -3752,7 +4034,7 @@ def delete_dataset_labels( ) -> aiwork_space_20210204_models.DeleteDatasetLabelsResponse: """ @summary 删除 Dataset 的标签 - + @param request: DeleteDatasetLabelsRequest @return: DeleteDatasetLabelsResponse """ @@ -3767,7 +4049,7 @@ async def delete_dataset_labels_async( ) -> aiwork_space_20210204_models.DeleteDatasetLabelsResponse: """ @summary 删除 Dataset 的标签 - + @param request: DeleteDatasetLabelsRequest @return: DeleteDatasetLabelsResponse """ @@ -3775,6 +4057,213 @@ async def delete_dataset_labels_async( headers = {} return await self.delete_dataset_labels_with_options_async(dataset_id, request, headers, runtime) + def delete_dataset_version_with_options( + self, + dataset_id: str, + version_name: str, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionResponse: + """ + @summary 删除指定版本的数据集信息,如果删除的版本是该数据集的仅存版本,版本删除后会联动删除dataset 表中的数据集信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: DeleteDatasetVersionResponse + """ + req = open_api_models.OpenApiRequest( + headers=headers + ) + params = open_api_models.Params( + action='DeleteDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='DELETE', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.DeleteDatasetVersionResponse(), + self.call_api(params, req, runtime) + ) + + async def delete_dataset_version_with_options_async( + self, + dataset_id: str, + version_name: str, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionResponse: + """ + @summary 删除指定版本的数据集信息,如果删除的版本是该数据集的仅存版本,版本删除后会联动删除dataset 表中的数据集信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: DeleteDatasetVersionResponse + """ + req = open_api_models.OpenApiRequest( + headers=headers + ) + params = open_api_models.Params( + action='DeleteDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='DELETE', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.DeleteDatasetVersionResponse(), + await self.call_api_async(params, req, runtime) + ) + + def delete_dataset_version( + self, + dataset_id: str, + version_name: str, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionResponse: + """ + @summary 删除指定版本的数据集信息,如果删除的版本是该数据集的仅存版本,版本删除后会联动删除dataset 表中的数据集信息 + + @return: DeleteDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.delete_dataset_version_with_options(dataset_id, version_name, headers, runtime) + + async def delete_dataset_version_async( + self, + dataset_id: str, + version_name: str, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionResponse: + """ + @summary 删除指定版本的数据集信息,如果删除的版本是该数据集的仅存版本,版本删除后会联动删除dataset 表中的数据集信息 + + @return: DeleteDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.delete_dataset_version_with_options_async(dataset_id, version_name, headers, runtime) + + def delete_dataset_version_labels_with_options( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.DeleteDatasetVersionLabelsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse: + """ + @summary 删除数据集版本的标签。 + + @param request: DeleteDatasetVersionLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: DeleteDatasetVersionLabelsResponse + """ + UtilClient.validate_model(request) + query = {} + if not UtilClient.is_unset(request.keys): + query['Keys'] = request.keys + req = open_api_models.OpenApiRequest( + headers=headers, + query=OpenApiUtilClient.query(query) + ) + params = open_api_models.Params( + action='DeleteDatasetVersionLabels', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}/labels', + method='DELETE', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse(), + self.call_api(params, req, runtime) + ) + + async def delete_dataset_version_labels_with_options_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.DeleteDatasetVersionLabelsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse: + """ + @summary 删除数据集版本的标签。 + + @param request: DeleteDatasetVersionLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: DeleteDatasetVersionLabelsResponse + """ + UtilClient.validate_model(request) + query = {} + if not UtilClient.is_unset(request.keys): + query['Keys'] = request.keys + req = open_api_models.OpenApiRequest( + headers=headers, + query=OpenApiUtilClient.query(query) + ) + params = open_api_models.Params( + action='DeleteDatasetVersionLabels', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}/labels', + method='DELETE', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse(), + await self.call_api_async(params, req, runtime) + ) + + def delete_dataset_version_labels( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.DeleteDatasetVersionLabelsRequest, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse: + """ + @summary 删除数据集版本的标签。 + + @param request: DeleteDatasetVersionLabelsRequest + @return: DeleteDatasetVersionLabelsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.delete_dataset_version_labels_with_options(dataset_id, version_name, request, headers, runtime) + + async def delete_dataset_version_labels_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.DeleteDatasetVersionLabelsRequest, + ) -> aiwork_space_20210204_models.DeleteDatasetVersionLabelsResponse: + """ + @summary 删除数据集版本的标签。 + + @param request: DeleteDatasetVersionLabelsRequest + @return: DeleteDatasetVersionLabelsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.delete_dataset_version_labels_with_options_async(dataset_id, version_name, request, headers, + runtime) + def delete_experiment_with_options( self, experiment_id: str, @@ -3783,7 +4272,7 @@ def delete_experiment_with_options( ) -> aiwork_space_20210204_models.DeleteExperimentResponse: """ @summary 删除实验 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteExperimentResponse @@ -3815,7 +4304,7 @@ async def delete_experiment_with_options_async( ) -> aiwork_space_20210204_models.DeleteExperimentResponse: """ @summary 删除实验 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteExperimentResponse @@ -3845,7 +4334,7 @@ def delete_experiment( ) -> aiwork_space_20210204_models.DeleteExperimentResponse: """ @summary 删除实验 - + @return: DeleteExperimentResponse """ runtime = util_models.RuntimeOptions() @@ -3858,7 +4347,7 @@ async def delete_experiment_async( ) -> aiwork_space_20210204_models.DeleteExperimentResponse: """ @summary 删除实验 - + @return: DeleteExperimentResponse """ runtime = util_models.RuntimeOptions() @@ -3874,7 +4363,7 @@ def delete_experiment_label_with_options( ) -> aiwork_space_20210204_models.DeleteExperimentLabelResponse: """ @summary 删除实验标签 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteExperimentLabelResponse @@ -3907,7 +4396,7 @@ async def delete_experiment_label_with_options_async( ) -> aiwork_space_20210204_models.DeleteExperimentLabelResponse: """ @summary 删除实验标签 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteExperimentLabelResponse @@ -3938,7 +4427,7 @@ def delete_experiment_label( ) -> aiwork_space_20210204_models.DeleteExperimentLabelResponse: """ @summary 删除实验标签 - + @return: DeleteExperimentLabelResponse """ runtime = util_models.RuntimeOptions() @@ -3952,7 +4441,7 @@ async def delete_experiment_label_async( ) -> aiwork_space_20210204_models.DeleteExperimentLabelResponse: """ @summary 删除实验标签 - + @return: DeleteExperimentLabelResponse """ runtime = util_models.RuntimeOptions() @@ -3968,7 +4457,7 @@ def delete_members_with_options( ) -> aiwork_space_20210204_models.DeleteMembersResponse: """ @summary 删除工作空间成员 - + @param request: DeleteMembersRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4007,7 +4496,7 @@ async def delete_members_with_options_async( ) -> aiwork_space_20210204_models.DeleteMembersResponse: """ @summary 删除工作空间成员 - + @param request: DeleteMembersRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4044,7 +4533,7 @@ def delete_members( ) -> aiwork_space_20210204_models.DeleteMembersResponse: """ @summary 删除工作空间成员 - + @param request: DeleteMembersRequest @return: DeleteMembersResponse """ @@ -4059,7 +4548,7 @@ async def delete_members_async( ) -> aiwork_space_20210204_models.DeleteMembersResponse: """ @summary 删除工作空间成员 - + @param request: DeleteMembersRequest @return: DeleteMembersResponse """ @@ -4075,7 +4564,7 @@ def delete_model_with_options( ) -> aiwork_space_20210204_models.DeleteModelResponse: """ @summary 删除模型 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteModelResponse @@ -4107,7 +4596,7 @@ async def delete_model_with_options_async( ) -> aiwork_space_20210204_models.DeleteModelResponse: """ @summary 删除模型 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteModelResponse @@ -4137,7 +4626,7 @@ def delete_model( ) -> aiwork_space_20210204_models.DeleteModelResponse: """ @summary 删除模型 - + @return: DeleteModelResponse """ runtime = util_models.RuntimeOptions() @@ -4150,7 +4639,7 @@ async def delete_model_async( ) -> aiwork_space_20210204_models.DeleteModelResponse: """ @summary 删除模型 - + @return: DeleteModelResponse """ runtime = util_models.RuntimeOptions() @@ -4166,7 +4655,7 @@ def delete_model_domain_with_options( ) -> aiwork_space_20210204_models.DeleteModelDomainResponse: """ @summary 删除模型领域 - + @param request: DeleteModelDomainRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4205,7 +4694,7 @@ async def delete_model_domain_with_options_async( ) -> aiwork_space_20210204_models.DeleteModelDomainResponse: """ @summary 删除模型领域 - + @param request: DeleteModelDomainRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4242,7 +4731,7 @@ def delete_model_domain( ) -> aiwork_space_20210204_models.DeleteModelDomainResponse: """ @summary 删除模型领域 - + @param request: DeleteModelDomainRequest @return: DeleteModelDomainResponse """ @@ -4257,7 +4746,7 @@ async def delete_model_domain_async( ) -> aiwork_space_20210204_models.DeleteModelDomainResponse: """ @summary 删除模型领域 - + @param request: DeleteModelDomainRequest @return: DeleteModelDomainResponse """ @@ -4274,7 +4763,7 @@ def delete_model_labels_with_options( ) -> aiwork_space_20210204_models.DeleteModelLabelsResponse: """ @summary 删除模型的标签 - + @param request: DeleteModelLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4315,7 +4804,7 @@ async def delete_model_labels_with_options_async( ) -> aiwork_space_20210204_models.DeleteModelLabelsResponse: """ @summary 删除模型的标签 - + @param request: DeleteModelLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4354,7 +4843,7 @@ def delete_model_labels( ) -> aiwork_space_20210204_models.DeleteModelLabelsResponse: """ @summary 删除模型的标签 - + @param request: DeleteModelLabelsRequest @return: DeleteModelLabelsResponse """ @@ -4369,7 +4858,7 @@ async def delete_model_labels_async( ) -> aiwork_space_20210204_models.DeleteModelLabelsResponse: """ @summary 删除模型的标签 - + @param request: DeleteModelLabelsRequest @return: DeleteModelLabelsResponse """ @@ -4386,7 +4875,7 @@ def delete_model_version_with_options( ) -> aiwork_space_20210204_models.DeleteModelVersionResponse: """ @summary 删除模型版本 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteModelVersionResponse @@ -4419,7 +4908,7 @@ async def delete_model_version_with_options_async( ) -> aiwork_space_20210204_models.DeleteModelVersionResponse: """ @summary 删除模型版本 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteModelVersionResponse @@ -4450,7 +4939,7 @@ def delete_model_version( ) -> aiwork_space_20210204_models.DeleteModelVersionResponse: """ @summary 删除模型版本 - + @return: DeleteModelVersionResponse """ runtime = util_models.RuntimeOptions() @@ -4464,7 +4953,7 @@ async def delete_model_version_async( ) -> aiwork_space_20210204_models.DeleteModelVersionResponse: """ @summary 删除模型版本 - + @return: DeleteModelVersionResponse """ runtime = util_models.RuntimeOptions() @@ -4481,7 +4970,7 @@ def delete_model_version_labels_with_options( ) -> aiwork_space_20210204_models.DeleteModelVersionLabelsResponse: """ @summary 删除模型版本的标签 - + @param request: DeleteModelVersionLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4523,7 +5012,7 @@ async def delete_model_version_labels_with_options_async( ) -> aiwork_space_20210204_models.DeleteModelVersionLabelsResponse: """ @summary 删除模型版本的标签 - + @param request: DeleteModelVersionLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4563,7 +5052,7 @@ def delete_model_version_labels( ) -> aiwork_space_20210204_models.DeleteModelVersionLabelsResponse: """ @summary 删除模型版本的标签 - + @param request: DeleteModelVersionLabelsRequest @return: DeleteModelVersionLabelsResponse """ @@ -4579,13 +5068,14 @@ async def delete_model_version_labels_async( ) -> aiwork_space_20210204_models.DeleteModelVersionLabelsResponse: """ @summary 删除模型版本的标签 - + @param request: DeleteModelVersionLabelsRequest @return: DeleteModelVersionLabelsResponse """ runtime = util_models.RuntimeOptions() headers = {} - return await self.delete_model_version_labels_with_options_async(model_id, version_name, request, headers, runtime) + return await self.delete_model_version_labels_with_options_async(model_id, version_name, request, headers, + runtime) def delete_service_template_with_options( self, @@ -4595,7 +5085,7 @@ def delete_service_template_with_options( ) -> aiwork_space_20210204_models.DeleteServiceTemplateResponse: """ @summary 删除服务模版 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteServiceTemplateResponse @@ -4627,7 +5117,7 @@ async def delete_service_template_with_options_async( ) -> aiwork_space_20210204_models.DeleteServiceTemplateResponse: """ @summary 删除服务模版 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteServiceTemplateResponse @@ -4657,7 +5147,7 @@ def delete_service_template( ) -> aiwork_space_20210204_models.DeleteServiceTemplateResponse: """ @summary 删除服务模版 - + @return: DeleteServiceTemplateResponse """ runtime = util_models.RuntimeOptions() @@ -4670,7 +5160,7 @@ async def delete_service_template_async( ) -> aiwork_space_20210204_models.DeleteServiceTemplateResponse: """ @summary 删除服务模版 - + @return: DeleteServiceTemplateResponse """ runtime = util_models.RuntimeOptions() @@ -4686,7 +5176,7 @@ def delete_service_template_labels_with_options( ) -> aiwork_space_20210204_models.DeleteServiceTemplateLabelsResponse: """ @summary 删除服务模版的标签 - + @param request: DeleteServiceTemplateLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4725,7 +5215,7 @@ async def delete_service_template_labels_with_options_async( ) -> aiwork_space_20210204_models.DeleteServiceTemplateLabelsResponse: """ @summary 删除服务模版的标签 - + @param request: DeleteServiceTemplateLabelsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4762,7 +5252,7 @@ def delete_service_template_labels( ) -> aiwork_space_20210204_models.DeleteServiceTemplateLabelsResponse: """ @summary 删除服务模版的标签 - + @param request: DeleteServiceTemplateLabelsRequest @return: DeleteServiceTemplateLabelsResponse """ @@ -4777,13 +5267,14 @@ async def delete_service_template_labels_async( ) -> aiwork_space_20210204_models.DeleteServiceTemplateLabelsResponse: """ @summary 删除服务模版的标签 - + @param request: DeleteServiceTemplateLabelsRequest @return: DeleteServiceTemplateLabelsResponse """ runtime = util_models.RuntimeOptions() headers = {} - return await self.delete_service_template_labels_with_options_async(service_template_id, request, headers, runtime) + return await self.delete_service_template_labels_with_options_async(service_template_id, request, headers, + runtime) def delete_user_config_with_options( self, @@ -4794,7 +5285,7 @@ def delete_user_config_with_options( ) -> aiwork_space_20210204_models.DeleteUserConfigResponse: """ @summary 删除用户配置 - + @param request: DeleteUserConfigRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4833,7 +5324,7 @@ async def delete_user_config_with_options_async( ) -> aiwork_space_20210204_models.DeleteUserConfigResponse: """ @summary 删除用户配置 - + @param request: DeleteUserConfigRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -4870,7 +5361,7 @@ def delete_user_config( ) -> aiwork_space_20210204_models.DeleteUserConfigResponse: """ @summary 删除用户配置 - + @param request: DeleteUserConfigRequest @return: DeleteUserConfigResponse """ @@ -4885,7 +5376,7 @@ async def delete_user_config_async( ) -> aiwork_space_20210204_models.DeleteUserConfigResponse: """ @summary 删除用户配置 - + @param request: DeleteUserConfigRequest @return: DeleteUserConfigResponse """ @@ -4901,7 +5392,7 @@ def delete_workspace_with_options( ) -> aiwork_space_20210204_models.DeleteWorkspaceResponse: """ @summary 删除工作空间 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteWorkspaceResponse @@ -4933,7 +5424,7 @@ async def delete_workspace_with_options_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceResponse: """ @summary 删除工作空间 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: DeleteWorkspaceResponse @@ -4963,7 +5454,7 @@ def delete_workspace( ) -> aiwork_space_20210204_models.DeleteWorkspaceResponse: """ @summary 删除工作空间 - + @return: DeleteWorkspaceResponse """ runtime = util_models.RuntimeOptions() @@ -4976,7 +5467,7 @@ async def delete_workspace_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceResponse: """ @summary 删除工作空间 - + @return: DeleteWorkspaceResponse """ runtime = util_models.RuntimeOptions() @@ -4992,7 +5483,7 @@ def delete_workspace_resource_with_options( ) -> aiwork_space_20210204_models.DeleteWorkspaceResourceResponse: """ @summary 删除工作空间资源 - + @param request: DeleteWorkspaceResourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5041,7 +5532,7 @@ async def delete_workspace_resource_with_options_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceResourceResponse: """ @summary 删除工作空间资源 - + @param request: DeleteWorkspaceResourceRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5088,7 +5579,7 @@ def delete_workspace_resource( ) -> aiwork_space_20210204_models.DeleteWorkspaceResourceResponse: """ @summary 删除工作空间资源 - + @param request: DeleteWorkspaceResourceRequest @return: DeleteWorkspaceResourceResponse """ @@ -5103,7 +5594,7 @@ async def delete_workspace_resource_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceResourceResponse: """ @summary 删除工作空间资源 - + @param request: DeleteWorkspaceResourceRequest @return: DeleteWorkspaceResourceResponse """ @@ -5120,7 +5611,7 @@ def delete_workspace_roles_with_options( ) -> aiwork_space_20210204_models.DeleteWorkspaceRolesResponse: """ @summary 批量删除工作空间角色 - + @param request: DeleteWorkspaceRolesRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5159,7 +5650,7 @@ async def delete_workspace_roles_with_options_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceRolesResponse: """ @summary 批量删除工作空间角色 - + @param request: DeleteWorkspaceRolesRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5196,7 +5687,7 @@ def delete_workspace_roles( ) -> aiwork_space_20210204_models.DeleteWorkspaceRolesResponse: """ @summary 批量删除工作空间角色 - + @param request: DeleteWorkspaceRolesRequest @return: DeleteWorkspaceRolesResponse """ @@ -5211,7 +5702,7 @@ async def delete_workspace_roles_async( ) -> aiwork_space_20210204_models.DeleteWorkspaceRolesResponse: """ @summary 批量删除工作空间角色 - + @param request: DeleteWorkspaceRolesRequest @return: DeleteWorkspaceRolesResponse """ @@ -5227,7 +5718,7 @@ def describe_pricing_module_with_options( ) -> aiwork_space_20210204_models.DescribePricingModuleResponse: """ @summary 查询阿里云商品对应模块信息 - + @param request: DescribePricingModuleRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5269,7 +5760,7 @@ async def describe_pricing_module_with_options_async( ) -> aiwork_space_20210204_models.DescribePricingModuleResponse: """ @summary 查询阿里云商品对应模块信息 - + @param request: DescribePricingModuleRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5309,7 +5800,7 @@ def describe_pricing_module( ) -> aiwork_space_20210204_models.DescribePricingModuleResponse: """ @summary 查询阿里云商品对应模块信息 - + @param request: DescribePricingModuleRequest @return: DescribePricingModuleResponse """ @@ -5323,7 +5814,7 @@ async def describe_pricing_module_async( ) -> aiwork_space_20210204_models.DescribePricingModuleResponse: """ @summary 查询阿里云商品对应模块信息 - + @param request: DescribePricingModuleRequest @return: DescribePricingModuleResponse """ @@ -5339,7 +5830,7 @@ def get_code_source_with_options( ) -> aiwork_space_20210204_models.GetCodeSourceResponse: """ @summary 获取一个代码源配置 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetCodeSourceResponse @@ -5371,7 +5862,7 @@ async def get_code_source_with_options_async( ) -> aiwork_space_20210204_models.GetCodeSourceResponse: """ @summary 获取一个代码源配置 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetCodeSourceResponse @@ -5401,7 +5892,7 @@ def get_code_source( ) -> aiwork_space_20210204_models.GetCodeSourceResponse: """ @summary 获取一个代码源配置 - + @return: GetCodeSourceResponse """ runtime = util_models.RuntimeOptions() @@ -5414,7 +5905,7 @@ async def get_code_source_async( ) -> aiwork_space_20210204_models.GetCodeSourceResponse: """ @summary 获取一个代码源配置 - + @return: GetCodeSourceResponse """ runtime = util_models.RuntimeOptions() @@ -5429,7 +5920,7 @@ def get_code_sources_statistics_with_options( ) -> aiwork_space_20210204_models.GetCodeSourcesStatisticsResponse: """ @summary 获取当前工作空间下的CodeSources的统计信息 - + @param request: GetCodeSourcesStatisticsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5467,7 +5958,7 @@ async def get_code_sources_statistics_with_options_async( ) -> aiwork_space_20210204_models.GetCodeSourcesStatisticsResponse: """ @summary 获取当前工作空间下的CodeSources的统计信息 - + @param request: GetCodeSourcesStatisticsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5503,7 +5994,7 @@ def get_code_sources_statistics( ) -> aiwork_space_20210204_models.GetCodeSourcesStatisticsResponse: """ @summary 获取当前工作空间下的CodeSources的统计信息 - + @param request: GetCodeSourcesStatisticsRequest @return: GetCodeSourcesStatisticsResponse """ @@ -5517,7 +6008,7 @@ async def get_code_sources_statistics_async( ) -> aiwork_space_20210204_models.GetCodeSourcesStatisticsResponse: """ @summary 获取当前工作空间下的CodeSources的统计信息 - + @param request: GetCodeSourcesStatisticsRequest @return: GetCodeSourcesStatisticsResponse """ @@ -5533,7 +6024,7 @@ def get_collection_with_options( ) -> aiwork_space_20210204_models.GetCollectionResponse: """ @summary 获取Collection - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetCollectionResponse @@ -5565,7 +6056,7 @@ async def get_collection_with_options_async( ) -> aiwork_space_20210204_models.GetCollectionResponse: """ @summary 获取Collection - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetCollectionResponse @@ -5595,7 +6086,7 @@ def get_collection( ) -> aiwork_space_20210204_models.GetCollectionResponse: """ @summary 获取Collection - + @return: GetCollectionResponse """ runtime = util_models.RuntimeOptions() @@ -5608,7 +6099,7 @@ async def get_collection_async( ) -> aiwork_space_20210204_models.GetCollectionResponse: """ @summary 获取Collection - + @return: GetCollectionResponse """ runtime = util_models.RuntimeOptions() @@ -5623,7 +6114,7 @@ def get_dataset_with_options( ) -> aiwork_space_20210204_models.GetDatasetResponse: """ @summary 获取数据集 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetDatasetResponse @@ -5655,7 +6146,7 @@ async def get_dataset_with_options_async( ) -> aiwork_space_20210204_models.GetDatasetResponse: """ @summary 获取数据集 - + @param headers: map @param runtime: runtime options for this request RuntimeOptions @return: GetDatasetResponse @@ -5685,7 +6176,7 @@ def get_dataset( ) -> aiwork_space_20210204_models.GetDatasetResponse: """ @summary 获取数据集 - + @return: GetDatasetResponse """ runtime = util_models.RuntimeOptions() @@ -5698,7 +6189,7 @@ async def get_dataset_async( ) -> aiwork_space_20210204_models.GetDatasetResponse: """ @summary 获取数据集 - + @return: GetDatasetResponse """ runtime = util_models.RuntimeOptions() @@ -5713,7 +6204,7 @@ def get_datasets_statistics_with_options( ) -> aiwork_space_20210204_models.GetDatasetsStatisticsResponse: """ @summary 获取数据集总数 - + @param request: GetDatasetsStatisticsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5751,7 +6242,7 @@ async def get_datasets_statistics_with_options_async( ) -> aiwork_space_20210204_models.GetDatasetsStatisticsResponse: """ @summary 获取数据集总数 - + @param request: GetDatasetsStatisticsRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions @@ -5787,7 +6278,7 @@ def get_datasets_statistics( ) -> aiwork_space_20210204_models.GetDatasetsStatisticsResponse: """ @summary 获取数据集总数 - + @param request: GetDatasetsStatisticsRequest @return: GetDatasetsStatisticsResponse """ @@ -5801,7 +6292,7 @@ async def get_datasets_statistics_async( ) -> aiwork_space_20210204_models.GetDatasetsStatisticsResponse: """ @summary 获取数据集总数 - + @param request: GetDatasetsStatisticsRequest @return: GetDatasetsStatisticsResponse """ @@ -5809,6 +6300,100 @@ async def get_datasets_statistics_async( headers = {} return await self.get_datasets_statistics_with_options_async(request, headers, runtime) + def get_dataset_version_with_options( + self, + dataset_id: str, + version_name: str, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.GetDatasetVersionResponse: + """ + @summary 获取指定版本的数据集信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetDatasetVersionResponse + """ + req = open_api_models.OpenApiRequest( + headers=headers + ) + params = open_api_models.Params( + action='GetDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='GET', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.GetDatasetVersionResponse(), + self.call_api(params, req, runtime) + ) + + async def get_dataset_version_with_options_async( + self, + dataset_id: str, + version_name: str, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.GetDatasetVersionResponse: + """ + @summary 获取指定版本的数据集信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetDatasetVersionResponse + """ + req = open_api_models.OpenApiRequest( + headers=headers + ) + params = open_api_models.Params( + action='GetDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='GET', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.GetDatasetVersionResponse(), + await self.call_api_async(params, req, runtime) + ) + + def get_dataset_version( + self, + dataset_id: str, + version_name: str, + ) -> aiwork_space_20210204_models.GetDatasetVersionResponse: + """ + @summary 获取指定版本的数据集信息 + + @return: GetDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.get_dataset_version_with_options(dataset_id, version_name, headers, runtime) + + async def get_dataset_version_async( + self, + dataset_id: str, + version_name: str, + ) -> aiwork_space_20210204_models.GetDatasetVersionResponse: + """ + @summary 获取指定版本的数据集信息 + + @return: GetDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.get_dataset_version_with_options_async(dataset_id, version_name, headers, runtime) + def get_default_workspace_with_options( self, request: aiwork_space_20210204_models.GetDefaultWorkspaceRequest, @@ -5816,13 +6401,13 @@ def get_default_workspace_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetDefaultWorkspaceResponse: """ - @summary 获取默认工作空间 - - @param request: GetDefaultWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetDefaultWorkspaceResponse - """ + @summary 获取默认工作空间 + + @param request: GetDefaultWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetDefaultWorkspaceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -5854,13 +6439,13 @@ async def get_default_workspace_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetDefaultWorkspaceResponse: """ - @summary 获取默认工作空间 - - @param request: GetDefaultWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetDefaultWorkspaceResponse - """ + @summary 获取默认工作空间 + + @param request: GetDefaultWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetDefaultWorkspaceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -5890,11 +6475,11 @@ def get_default_workspace( request: aiwork_space_20210204_models.GetDefaultWorkspaceRequest, ) -> aiwork_space_20210204_models.GetDefaultWorkspaceResponse: """ - @summary 获取默认工作空间 - - @param request: GetDefaultWorkspaceRequest - @return: GetDefaultWorkspaceResponse - """ + @summary 获取默认工作空间 + + @param request: GetDefaultWorkspaceRequest + @return: GetDefaultWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_default_workspace_with_options(request, headers, runtime) @@ -5904,11 +6489,11 @@ async def get_default_workspace_async( request: aiwork_space_20210204_models.GetDefaultWorkspaceRequest, ) -> aiwork_space_20210204_models.GetDefaultWorkspaceResponse: """ - @summary 获取默认工作空间 - - @param request: GetDefaultWorkspaceRequest - @return: GetDefaultWorkspaceResponse - """ + @summary 获取默认工作空间 + + @param request: GetDefaultWorkspaceRequest + @return: GetDefaultWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_default_workspace_with_options_async(request, headers, runtime) @@ -5920,12 +6505,12 @@ def get_experiment_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetExperimentResponse: """ - @summary 获取实验 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetExperimentResponse - """ + @summary 获取实验 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetExperimentResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -5952,12 +6537,12 @@ async def get_experiment_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetExperimentResponse: """ - @summary 获取实验 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetExperimentResponse - """ + @summary 获取实验 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetExperimentResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -5982,10 +6567,10 @@ def get_experiment( experiment_id: str, ) -> aiwork_space_20210204_models.GetExperimentResponse: """ - @summary 获取实验 - - @return: GetExperimentResponse - """ + @summary 获取实验 + + @return: GetExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_experiment_with_options(experiment_id, headers, runtime) @@ -5995,10 +6580,10 @@ async def get_experiment_async( experiment_id: str, ) -> aiwork_space_20210204_models.GetExperimentResponse: """ - @summary 获取实验 - - @return: GetExperimentResponse - """ + @summary 获取实验 + + @return: GetExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_experiment_with_options_async(experiment_id, headers, runtime) @@ -6011,13 +6596,13 @@ def get_image_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetImageResponse: """ - @summary 获取镜像 - - @param request: GetImageRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetImageResponse - """ + @summary 获取镜像 + + @param request: GetImageRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetImageResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -6050,13 +6635,13 @@ async def get_image_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetImageResponse: """ - @summary 获取镜像 - - @param request: GetImageRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetImageResponse - """ + @summary 获取镜像 + + @param request: GetImageRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetImageResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -6087,11 +6672,11 @@ def get_image( request: aiwork_space_20210204_models.GetImageRequest, ) -> aiwork_space_20210204_models.GetImageResponse: """ - @summary 获取镜像 - - @param request: GetImageRequest - @return: GetImageResponse - """ + @summary 获取镜像 + + @param request: GetImageRequest + @return: GetImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_image_with_options(image_id, request, headers, runtime) @@ -6102,11 +6687,11 @@ async def get_image_async( request: aiwork_space_20210204_models.GetImageRequest, ) -> aiwork_space_20210204_models.GetImageResponse: """ - @summary 获取镜像 - - @param request: GetImageRequest - @return: GetImageResponse - """ + @summary 获取镜像 + + @param request: GetImageRequest + @return: GetImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_image_with_options_async(image_id, request, headers, runtime) @@ -6118,13 +6703,13 @@ def get_images_statistics_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetImagesStatisticsResponse: """ - @summary 获取镜像统计 - - @param request: GetImagesStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetImagesStatisticsResponse - """ + @summary 获取镜像统计 + + @param request: GetImagesStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetImagesStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.workspace_id): @@ -6156,13 +6741,13 @@ async def get_images_statistics_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetImagesStatisticsResponse: """ - @summary 获取镜像统计 - - @param request: GetImagesStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetImagesStatisticsResponse - """ + @summary 获取镜像统计 + + @param request: GetImagesStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetImagesStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.workspace_id): @@ -6192,11 +6777,11 @@ def get_images_statistics( request: aiwork_space_20210204_models.GetImagesStatisticsRequest, ) -> aiwork_space_20210204_models.GetImagesStatisticsResponse: """ - @summary 获取镜像统计 - - @param request: GetImagesStatisticsRequest - @return: GetImagesStatisticsResponse - """ + @summary 获取镜像统计 + + @param request: GetImagesStatisticsRequest + @return: GetImagesStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_images_statistics_with_options(request, headers, runtime) @@ -6206,11 +6791,11 @@ async def get_images_statistics_async( request: aiwork_space_20210204_models.GetImagesStatisticsRequest, ) -> aiwork_space_20210204_models.GetImagesStatisticsResponse: """ - @summary 获取镜像统计 - - @param request: GetImagesStatisticsRequest - @return: GetImagesStatisticsResponse - """ + @summary 获取镜像统计 + + @param request: GetImagesStatisticsRequest + @return: GetImagesStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_images_statistics_with_options_async(request, headers, runtime) @@ -6222,12 +6807,12 @@ def get_instance_job_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetInstanceJobResponse: """ - @summary 获取任务 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetInstanceJobResponse - """ + @summary 获取任务 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetInstanceJobResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6254,12 +6839,12 @@ async def get_instance_job_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetInstanceJobResponse: """ - @summary 获取任务 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetInstanceJobResponse - """ + @summary 获取任务 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetInstanceJobResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6284,10 +6869,10 @@ def get_instance_job( instance_job_id: str, ) -> aiwork_space_20210204_models.GetInstanceJobResponse: """ - @summary 获取任务 - - @return: GetInstanceJobResponse - """ + @summary 获取任务 + + @return: GetInstanceJobResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_instance_job_with_options(instance_job_id, headers, runtime) @@ -6297,10 +6882,10 @@ async def get_instance_job_async( instance_job_id: str, ) -> aiwork_space_20210204_models.GetInstanceJobResponse: """ - @summary 获取任务 - - @return: GetInstanceJobResponse - """ + @summary 获取任务 + + @return: GetInstanceJobResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_instance_job_with_options_async(instance_job_id, headers, runtime) @@ -6312,13 +6897,13 @@ def get_instance_statistics_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetInstanceStatisticsResponse: """ - @summary 获得工作空间下实例统计数据 - - @param request: GetInstanceStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetInstanceStatisticsResponse - """ + @summary 获得工作空间下实例统计数据 + + @param request: GetInstanceStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetInstanceStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.option): @@ -6354,13 +6939,13 @@ async def get_instance_statistics_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetInstanceStatisticsResponse: """ - @summary 获得工作空间下实例统计数据 - - @param request: GetInstanceStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetInstanceStatisticsResponse - """ + @summary 获得工作空间下实例统计数据 + + @param request: GetInstanceStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetInstanceStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.option): @@ -6394,11 +6979,11 @@ def get_instance_statistics( request: aiwork_space_20210204_models.GetInstanceStatisticsRequest, ) -> aiwork_space_20210204_models.GetInstanceStatisticsResponse: """ - @summary 获得工作空间下实例统计数据 - - @param request: GetInstanceStatisticsRequest - @return: GetInstanceStatisticsResponse - """ + @summary 获得工作空间下实例统计数据 + + @param request: GetInstanceStatisticsRequest + @return: GetInstanceStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_instance_statistics_with_options(request, headers, runtime) @@ -6408,11 +6993,11 @@ async def get_instance_statistics_async( request: aiwork_space_20210204_models.GetInstanceStatisticsRequest, ) -> aiwork_space_20210204_models.GetInstanceStatisticsResponse: """ - @summary 获得工作空间下实例统计数据 - - @param request: GetInstanceStatisticsRequest - @return: GetInstanceStatisticsResponse - """ + @summary 获得工作空间下实例统计数据 + + @param request: GetInstanceStatisticsRequest + @return: GetInstanceStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_instance_statistics_with_options_async(request, headers, runtime) @@ -6425,13 +7010,13 @@ def get_member_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetMemberResponse: """ - @summary 获取成员 - - @param request: GetMemberRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetMemberResponse - """ + @summary 获取成员 + + @param request: GetMemberRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetMemberResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.member_id): @@ -6466,13 +7051,13 @@ async def get_member_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetMemberResponse: """ - @summary 获取成员 - - @param request: GetMemberRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetMemberResponse - """ + @summary 获取成员 + + @param request: GetMemberRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetMemberResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.member_id): @@ -6505,11 +7090,11 @@ def get_member( request: aiwork_space_20210204_models.GetMemberRequest, ) -> aiwork_space_20210204_models.GetMemberResponse: """ - @summary 获取成员 - - @param request: GetMemberRequest - @return: GetMemberResponse - """ + @summary 获取成员 + + @param request: GetMemberRequest + @return: GetMemberResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_member_with_options(workspace_id, request, headers, runtime) @@ -6520,11 +7105,11 @@ async def get_member_async( request: aiwork_space_20210204_models.GetMemberRequest, ) -> aiwork_space_20210204_models.GetMemberResponse: """ - @summary 获取成员 - - @param request: GetMemberRequest - @return: GetMemberResponse - """ + @summary 获取成员 + + @param request: GetMemberRequest + @return: GetMemberResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_member_with_options_async(workspace_id, request, headers, runtime) @@ -6536,12 +7121,12 @@ def get_model_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetModelResponse: """ - @summary 获取模型 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetModelResponse - """ + @summary 获取模型 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetModelResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6568,12 +7153,12 @@ async def get_model_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetModelResponse: """ - @summary 获取模型 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetModelResponse - """ + @summary 获取模型 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetModelResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6598,10 +7183,10 @@ def get_model( model_id: str, ) -> aiwork_space_20210204_models.GetModelResponse: """ - @summary 获取模型 - - @return: GetModelResponse - """ + @summary 获取模型 + + @return: GetModelResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_model_with_options(model_id, headers, runtime) @@ -6611,10 +7196,10 @@ async def get_model_async( model_id: str, ) -> aiwork_space_20210204_models.GetModelResponse: """ - @summary 获取模型 - - @return: GetModelResponse - """ + @summary 获取模型 + + @return: GetModelResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_model_with_options_async(model_id, headers, runtime) @@ -6627,12 +7212,12 @@ def get_model_version_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetModelVersionResponse: """ - @summary 获取模型版本 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetModelVersionResponse - """ + @summary 获取模型版本 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetModelVersionResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6660,12 +7245,12 @@ async def get_model_version_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetModelVersionResponse: """ - @summary 获取模型版本 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetModelVersionResponse - """ + @summary 获取模型版本 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetModelVersionResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -6691,10 +7276,10 @@ def get_model_version( version_name: str, ) -> aiwork_space_20210204_models.GetModelVersionResponse: """ - @summary 获取模型版本 - - @return: GetModelVersionResponse - """ + @summary 获取模型版本 + + @return: GetModelVersionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_model_version_with_options(model_id, version_name, headers, runtime) @@ -6705,10 +7290,10 @@ async def get_model_version_async( version_name: str, ) -> aiwork_space_20210204_models.GetModelVersionResponse: """ - @summary 获取模型版本 - - @return: GetModelVersionResponse - """ + @summary 获取模型版本 + + @return: GetModelVersionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_model_version_with_options_async(model_id, version_name, headers, runtime) @@ -6720,13 +7305,13 @@ def get_pay_as_you_go_price_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetPayAsYouGoPriceResponse: """ - @summary 查询阿里云商品后付费价格 - - @param request: GetPayAsYouGoPriceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetPayAsYouGoPriceResponse - """ + @summary 查询阿里云商品后付费价格 + + @param request: GetPayAsYouGoPriceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetPayAsYouGoPriceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.module_list): @@ -6764,13 +7349,13 @@ async def get_pay_as_you_go_price_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetPayAsYouGoPriceResponse: """ - @summary 查询阿里云商品后付费价格 - - @param request: GetPayAsYouGoPriceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetPayAsYouGoPriceResponse - """ + @summary 查询阿里云商品后付费价格 + + @param request: GetPayAsYouGoPriceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetPayAsYouGoPriceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.module_list): @@ -6806,11 +7391,11 @@ def get_pay_as_you_go_price( request: aiwork_space_20210204_models.GetPayAsYouGoPriceRequest, ) -> aiwork_space_20210204_models.GetPayAsYouGoPriceResponse: """ - @summary 查询阿里云商品后付费价格 - - @param request: GetPayAsYouGoPriceRequest - @return: GetPayAsYouGoPriceResponse - """ + @summary 查询阿里云商品后付费价格 + + @param request: GetPayAsYouGoPriceRequest + @return: GetPayAsYouGoPriceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_pay_as_you_go_price_with_options(request, headers, runtime) @@ -6820,11 +7405,11 @@ async def get_pay_as_you_go_price_async( request: aiwork_space_20210204_models.GetPayAsYouGoPriceRequest, ) -> aiwork_space_20210204_models.GetPayAsYouGoPriceResponse: """ - @summary 查询阿里云商品后付费价格 - - @param request: GetPayAsYouGoPriceRequest - @return: GetPayAsYouGoPriceResponse - """ + @summary 查询阿里云商品后付费价格 + + @param request: GetPayAsYouGoPriceRequest + @return: GetPayAsYouGoPriceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_pay_as_you_go_price_with_options_async(request, headers, runtime) @@ -6838,13 +7423,13 @@ def get_permission_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetPermissionResponse: """ - @summary 获取权限,若无权限则返回错误 - - @param request: GetPermissionRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetPermissionResponse - """ + @summary 获取权限,若无权限则返回错误 + + @param request: GetPermissionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetPermissionResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.accessibility): @@ -6884,13 +7469,13 @@ async def get_permission_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetPermissionResponse: """ - @summary 获取权限,若无权限则返回错误 - - @param request: GetPermissionRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetPermissionResponse - """ + @summary 获取权限,若无权限则返回错误 + + @param request: GetPermissionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetPermissionResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.accessibility): @@ -6928,11 +7513,11 @@ def get_permission( request: aiwork_space_20210204_models.GetPermissionRequest, ) -> aiwork_space_20210204_models.GetPermissionResponse: """ - @summary 获取权限,若无权限则返回错误 - - @param request: GetPermissionRequest - @return: GetPermissionResponse - """ + @summary 获取权限,若无权限则返回错误 + + @param request: GetPermissionRequest + @return: GetPermissionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_permission_with_options(workspace_id, permission_code, request, headers, runtime) @@ -6944,11 +7529,11 @@ async def get_permission_async( request: aiwork_space_20210204_models.GetPermissionRequest, ) -> aiwork_space_20210204_models.GetPermissionResponse: """ - @summary 获取权限,若无权限则返回错误 - - @param request: GetPermissionRequest - @return: GetPermissionResponse - """ + @summary 获取权限,若无权限则返回错误 + + @param request: GetPermissionRequest + @return: GetPermissionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_permission_with_options_async(workspace_id, permission_code, request, headers, runtime) @@ -6962,13 +7547,13 @@ def get_resource_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetResourceResponse: """ - @summary 获取工作空间资源 - - @param request: GetResourceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetResourceResponse - """ + @summary 获取工作空间资源 + + @param request: GetResourceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetResourceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.resource_type): @@ -7002,13 +7587,13 @@ async def get_resource_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetResourceResponse: """ - @summary 获取工作空间资源 - - @param request: GetResourceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetResourceResponse - """ + @summary 获取工作空间资源 + + @param request: GetResourceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetResourceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.resource_type): @@ -7040,11 +7625,11 @@ def get_resource( request: aiwork_space_20210204_models.GetResourceRequest, ) -> aiwork_space_20210204_models.GetResourceResponse: """ - @summary 获取工作空间资源 - - @param request: GetResourceRequest - @return: GetResourceResponse - """ + @summary 获取工作空间资源 + + @param request: GetResourceRequest + @return: GetResourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_resource_with_options(resource_id, workspace_id, request, headers, runtime) @@ -7056,11 +7641,11 @@ async def get_resource_async( request: aiwork_space_20210204_models.GetResourceRequest, ) -> aiwork_space_20210204_models.GetResourceResponse: """ - @summary 获取工作空间资源 - - @param request: GetResourceRequest - @return: GetResourceResponse - """ + @summary 获取工作空间资源 + + @param request: GetResourceRequest + @return: GetResourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_resource_with_options_async(resource_id, workspace_id, request, headers, runtime) @@ -7072,13 +7657,13 @@ def get_role_statistics_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetRoleStatisticsResponse: """ - @summary 获得角色统计 - - @param request: GetRoleStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetRoleStatisticsResponse - """ + @summary 获得角色统计 + + @param request: GetRoleStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetRoleStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.workspace_id): @@ -7110,13 +7695,13 @@ async def get_role_statistics_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetRoleStatisticsResponse: """ - @summary 获得角色统计 - - @param request: GetRoleStatisticsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetRoleStatisticsResponse - """ + @summary 获得角色统计 + + @param request: GetRoleStatisticsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetRoleStatisticsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.workspace_id): @@ -7146,11 +7731,11 @@ def get_role_statistics( request: aiwork_space_20210204_models.GetRoleStatisticsRequest, ) -> aiwork_space_20210204_models.GetRoleStatisticsResponse: """ - @summary 获得角色统计 - - @param request: GetRoleStatisticsRequest - @return: GetRoleStatisticsResponse - """ + @summary 获得角色统计 + + @param request: GetRoleStatisticsRequest + @return: GetRoleStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_role_statistics_with_options(request, headers, runtime) @@ -7160,11 +7745,11 @@ async def get_role_statistics_async( request: aiwork_space_20210204_models.GetRoleStatisticsRequest, ) -> aiwork_space_20210204_models.GetRoleStatisticsResponse: """ - @summary 获得角色统计 - - @param request: GetRoleStatisticsRequest - @return: GetRoleStatisticsResponse - """ + @summary 获得角色统计 + + @param request: GetRoleStatisticsRequest + @return: GetRoleStatisticsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_role_statistics_with_options_async(request, headers, runtime) @@ -7176,12 +7761,12 @@ def get_service_template_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetServiceTemplateResponse: """ - @summary 获取服务模版 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetServiceTemplateResponse - """ + @summary 获取服务模版 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetServiceTemplateResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7208,12 +7793,12 @@ async def get_service_template_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetServiceTemplateResponse: """ - @summary 获取服务模版 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetServiceTemplateResponse - """ + @summary 获取服务模版 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetServiceTemplateResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7238,10 +7823,10 @@ def get_service_template( service_template_id: str, ) -> aiwork_space_20210204_models.GetServiceTemplateResponse: """ - @summary 获取服务模版 - - @return: GetServiceTemplateResponse - """ + @summary 获取服务模版 + + @return: GetServiceTemplateResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_service_template_with_options(service_template_id, headers, runtime) @@ -7251,10 +7836,10 @@ async def get_service_template_async( service_template_id: str, ) -> aiwork_space_20210204_models.GetServiceTemplateResponse: """ - @summary 获取服务模版 - - @return: GetServiceTemplateResponse - """ + @summary 获取服务模版 + + @return: GetServiceTemplateResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_service_template_with_options_async(service_template_id, headers, runtime) @@ -7266,12 +7851,12 @@ def get_trial_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetTrialResponse: """ - @summary Get trial - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetTrialResponse - """ + @summary Get trial + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetTrialResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7298,12 +7883,12 @@ async def get_trial_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetTrialResponse: """ - @summary Get trial - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetTrialResponse - """ + @summary Get trial + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetTrialResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7328,10 +7913,10 @@ def get_trial( trial_id: str, ) -> aiwork_space_20210204_models.GetTrialResponse: """ - @summary Get trial - - @return: GetTrialResponse - """ + @summary Get trial + + @return: GetTrialResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_trial_with_options(trial_id, headers, runtime) @@ -7341,10 +7926,10 @@ async def get_trial_async( trial_id: str, ) -> aiwork_space_20210204_models.GetTrialResponse: """ - @summary Get trial - - @return: GetTrialResponse - """ + @summary Get trial + + @return: GetTrialResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_trial_with_options_async(trial_id, headers, runtime) @@ -7357,13 +7942,13 @@ def get_workspace_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetWorkspaceResponse: """ - @summary 获取工作空间 - - @param request: GetWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetWorkspaceResponse - """ + @summary 获取工作空间 + + @param request: GetWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetWorkspaceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -7396,13 +7981,13 @@ async def get_workspace_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetWorkspaceResponse: """ - @summary 获取工作空间 - - @param request: GetWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetWorkspaceResponse - """ + @summary 获取工作空间 + + @param request: GetWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetWorkspaceResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.verbose): @@ -7433,11 +8018,11 @@ def get_workspace( request: aiwork_space_20210204_models.GetWorkspaceRequest, ) -> aiwork_space_20210204_models.GetWorkspaceResponse: """ - @summary 获取工作空间 - - @param request: GetWorkspaceRequest - @return: GetWorkspaceResponse - """ + @summary 获取工作空间 + + @param request: GetWorkspaceRequest + @return: GetWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_workspace_with_options(workspace_id, request, headers, runtime) @@ -7448,11 +8033,11 @@ async def get_workspace_async( request: aiwork_space_20210204_models.GetWorkspaceRequest, ) -> aiwork_space_20210204_models.GetWorkspaceResponse: """ - @summary 获取工作空间 - - @param request: GetWorkspaceRequest - @return: GetWorkspaceResponse - """ + @summary 获取工作空间 + + @param request: GetWorkspaceRequest + @return: GetWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_workspace_with_options_async(workspace_id, request, headers, runtime) @@ -7465,12 +8050,12 @@ def get_workspace_role_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetWorkspaceRoleResponse: """ - @summary 获取工作空间角色 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetWorkspaceRoleResponse - """ + @summary 获取工作空间角色 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetWorkspaceRoleResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7498,12 +8083,12 @@ async def get_workspace_role_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.GetWorkspaceRoleResponse: """ - @summary 获取工作空间角色 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: GetWorkspaceRoleResponse - """ + @summary 获取工作空间角色 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: GetWorkspaceRoleResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -7529,10 +8114,10 @@ def get_workspace_role( role_id: str, ) -> aiwork_space_20210204_models.GetWorkspaceRoleResponse: """ - @summary 获取工作空间角色 - - @return: GetWorkspaceRoleResponse - """ + @summary 获取工作空间角色 + + @return: GetWorkspaceRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.get_workspace_role_with_options(workspace_id, role_id, headers, runtime) @@ -7543,10 +8128,10 @@ async def get_workspace_role_async( role_id: str, ) -> aiwork_space_20210204_models.GetWorkspaceRoleResponse: """ - @summary 获取工作空间角色 - - @return: GetWorkspaceRoleResponse - """ + @summary 获取工作空间角色 + + @return: GetWorkspaceRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.get_workspace_role_with_options_async(workspace_id, role_id, headers, runtime) @@ -7558,13 +8143,13 @@ def list_code_sources_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListCodeSourcesResponse: """ - @summary 获取代码源配置列表 - - @param request: ListCodeSourcesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListCodeSourcesResponse - """ + @summary 获取代码源配置列表 + + @param request: ListCodeSourcesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListCodeSourcesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.display_name): @@ -7606,13 +8191,13 @@ async def list_code_sources_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListCodeSourcesResponse: """ - @summary 获取代码源配置列表 - - @param request: ListCodeSourcesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListCodeSourcesResponse - """ + @summary 获取代码源配置列表 + + @param request: ListCodeSourcesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListCodeSourcesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.display_name): @@ -7652,11 +8237,11 @@ def list_code_sources( request: aiwork_space_20210204_models.ListCodeSourcesRequest, ) -> aiwork_space_20210204_models.ListCodeSourcesResponse: """ - @summary 获取代码源配置列表 - - @param request: ListCodeSourcesRequest - @return: ListCodeSourcesResponse - """ + @summary 获取代码源配置列表 + + @param request: ListCodeSourcesRequest + @return: ListCodeSourcesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_code_sources_with_options(request, headers, runtime) @@ -7666,11 +8251,11 @@ async def list_code_sources_async( request: aiwork_space_20210204_models.ListCodeSourcesRequest, ) -> aiwork_space_20210204_models.ListCodeSourcesResponse: """ - @summary 获取代码源配置列表 - - @param request: ListCodeSourcesRequest - @return: ListCodeSourcesResponse - """ + @summary 获取代码源配置列表 + + @param request: ListCodeSourcesRequest + @return: ListCodeSourcesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_code_sources_with_options_async(request, headers, runtime) @@ -7682,13 +8267,13 @@ def list_collections_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListCollectionsResponse: """ - @summary 获取Collection列表 - - @param request: ListCollectionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListCollectionsResponse - """ + @summary 获取Collection列表 + + @param request: ListCollectionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListCollectionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.page_number): @@ -7722,13 +8307,13 @@ async def list_collections_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListCollectionsResponse: """ - @summary 获取Collection列表 - - @param request: ListCollectionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListCollectionsResponse - """ + @summary 获取Collection列表 + + @param request: ListCollectionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListCollectionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.page_number): @@ -7760,11 +8345,11 @@ def list_collections( request: aiwork_space_20210204_models.ListCollectionsRequest, ) -> aiwork_space_20210204_models.ListCollectionsResponse: """ - @summary 获取Collection列表 - - @param request: ListCollectionsRequest - @return: ListCollectionsResponse - """ + @summary 获取Collection列表 + + @param request: ListCollectionsRequest + @return: ListCollectionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_collections_with_options(request, headers, runtime) @@ -7774,11 +8359,11 @@ async def list_collections_async( request: aiwork_space_20210204_models.ListCollectionsRequest, ) -> aiwork_space_20210204_models.ListCollectionsResponse: """ - @summary 获取Collection列表 - - @param request: ListCollectionsRequest - @return: ListCollectionsResponse - """ + @summary 获取Collection列表 + + @param request: ListCollectionsRequest + @return: ListCollectionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_collections_with_options_async(request, headers, runtime) @@ -7791,13 +8376,13 @@ def list_configs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListConfigsResponse: """ - @summary 获取配置 - - @param request: ListConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListConfigsResponse - """ + @summary 获取配置 + + @param request: ListConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.config_keys): @@ -7834,13 +8419,13 @@ async def list_configs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListConfigsResponse: """ - @summary 获取配置 - - @param request: ListConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListConfigsResponse - """ + @summary 获取配置 + + @param request: ListConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.config_keys): @@ -7875,11 +8460,11 @@ def list_configs( request: aiwork_space_20210204_models.ListConfigsRequest, ) -> aiwork_space_20210204_models.ListConfigsResponse: """ - @summary 获取配置 - - @param request: ListConfigsRequest - @return: ListConfigsResponse - """ + @summary 获取配置 + + @param request: ListConfigsRequest + @return: ListConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_configs_with_options(workspace_id, request, headers, runtime) @@ -7890,15 +8475,159 @@ async def list_configs_async( request: aiwork_space_20210204_models.ListConfigsRequest, ) -> aiwork_space_20210204_models.ListConfigsResponse: """ - @summary 获取配置 - - @param request: ListConfigsRequest - @return: ListConfigsResponse - """ + @summary 获取配置 + + @param request: ListConfigsRequest + @return: ListConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_configs_with_options_async(workspace_id, request, headers, runtime) + def list_dataset_versions_with_options( + self, + dataset_id: str, + request: aiwork_space_20210204_models.ListDatasetVersionsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.ListDatasetVersionsResponse: + """ + @summary 获取数据集版本列表 + + @param request: ListDatasetVersionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListDatasetVersionsResponse + """ + UtilClient.validate_model(request) + query = {} + if not UtilClient.is_unset(request.data_sources_types): + query['DataSourcesTypes'] = request.data_sources_types + if not UtilClient.is_unset(request.label_keys): + query['LabelKeys'] = request.label_keys + if not UtilClient.is_unset(request.lable_values): + query['LableValues'] = request.lable_values + if not UtilClient.is_unset(request.order): + query['Order'] = request.order + if not UtilClient.is_unset(request.page_number): + query['PageNumber'] = request.page_number + if not UtilClient.is_unset(request.page_size): + query['PageSize'] = request.page_size + if not UtilClient.is_unset(request.properties): + query['Properties'] = request.properties + if not UtilClient.is_unset(request.sort_by): + query['SortBy'] = request.sort_by + if not UtilClient.is_unset(request.source_id): + query['SourceId'] = request.source_id + if not UtilClient.is_unset(request.source_types): + query['SourceTypes'] = request.source_types + req = open_api_models.OpenApiRequest( + headers=headers, + query=OpenApiUtilClient.query(query) + ) + params = open_api_models.Params( + action='ListDatasetVersions', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions', + method='GET', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.ListDatasetVersionsResponse(), + self.call_api(params, req, runtime) + ) + + async def list_dataset_versions_with_options_async( + self, + dataset_id: str, + request: aiwork_space_20210204_models.ListDatasetVersionsRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.ListDatasetVersionsResponse: + """ + @summary 获取数据集版本列表 + + @param request: ListDatasetVersionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListDatasetVersionsResponse + """ + UtilClient.validate_model(request) + query = {} + if not UtilClient.is_unset(request.data_sources_types): + query['DataSourcesTypes'] = request.data_sources_types + if not UtilClient.is_unset(request.label_keys): + query['LabelKeys'] = request.label_keys + if not UtilClient.is_unset(request.lable_values): + query['LableValues'] = request.lable_values + if not UtilClient.is_unset(request.order): + query['Order'] = request.order + if not UtilClient.is_unset(request.page_number): + query['PageNumber'] = request.page_number + if not UtilClient.is_unset(request.page_size): + query['PageSize'] = request.page_size + if not UtilClient.is_unset(request.properties): + query['Properties'] = request.properties + if not UtilClient.is_unset(request.sort_by): + query['SortBy'] = request.sort_by + if not UtilClient.is_unset(request.source_id): + query['SourceId'] = request.source_id + if not UtilClient.is_unset(request.source_types): + query['SourceTypes'] = request.source_types + req = open_api_models.OpenApiRequest( + headers=headers, + query=OpenApiUtilClient.query(query) + ) + params = open_api_models.Params( + action='ListDatasetVersions', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions', + method='GET', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.ListDatasetVersionsResponse(), + await self.call_api_async(params, req, runtime) + ) + + def list_dataset_versions( + self, + dataset_id: str, + request: aiwork_space_20210204_models.ListDatasetVersionsRequest, + ) -> aiwork_space_20210204_models.ListDatasetVersionsResponse: + """ + @summary 获取数据集版本列表 + + @param request: ListDatasetVersionsRequest + @return: ListDatasetVersionsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.list_dataset_versions_with_options(dataset_id, request, headers, runtime) + + async def list_dataset_versions_async( + self, + dataset_id: str, + request: aiwork_space_20210204_models.ListDatasetVersionsRequest, + ) -> aiwork_space_20210204_models.ListDatasetVersionsResponse: + """ + @summary 获取数据集版本列表 + + @param request: ListDatasetVersionsRequest + @return: ListDatasetVersionsResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.list_dataset_versions_with_options_async(dataset_id, request, headers, runtime) + def list_datasets_with_options( self, request: aiwork_space_20210204_models.ListDatasetsRequest, @@ -7906,13 +8635,13 @@ def list_datasets_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListDatasetsResponse: """ - @summary 获取数据集列表 - - @param request: ListDatasetsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListDatasetsResponse - """ + @summary 获取数据集列表 + + @param request: ListDatasetsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListDatasetsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.data_source_types): @@ -7921,10 +8650,6 @@ def list_datasets_with_options( query['DataTypes'] = request.data_types if not UtilClient.is_unset(request.label): query['Label'] = request.label - if not UtilClient.is_unset(request.label_keys): - query['LabelKeys'] = request.label_keys - if not UtilClient.is_unset(request.label_values): - query['LabelValues'] = request.label_values if not UtilClient.is_unset(request.name): query['Name'] = request.name if not UtilClient.is_unset(request.order): @@ -7937,6 +8662,8 @@ def list_datasets_with_options( query['Properties'] = request.properties if not UtilClient.is_unset(request.provider): query['Provider'] = request.provider + if not UtilClient.is_unset(request.source_dataset_id): + query['SourceDatasetId'] = request.source_dataset_id if not UtilClient.is_unset(request.source_id): query['SourceId'] = request.source_id if not UtilClient.is_unset(request.source_types): @@ -7970,13 +8697,13 @@ async def list_datasets_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListDatasetsResponse: """ - @summary 获取数据集列表 - - @param request: ListDatasetsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListDatasetsResponse - """ + @summary 获取数据集列表 + + @param request: ListDatasetsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListDatasetsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.data_source_types): @@ -7985,10 +8712,6 @@ async def list_datasets_with_options_async( query['DataTypes'] = request.data_types if not UtilClient.is_unset(request.label): query['Label'] = request.label - if not UtilClient.is_unset(request.label_keys): - query['LabelKeys'] = request.label_keys - if not UtilClient.is_unset(request.label_values): - query['LabelValues'] = request.label_values if not UtilClient.is_unset(request.name): query['Name'] = request.name if not UtilClient.is_unset(request.order): @@ -8001,6 +8724,8 @@ async def list_datasets_with_options_async( query['Properties'] = request.properties if not UtilClient.is_unset(request.provider): query['Provider'] = request.provider + if not UtilClient.is_unset(request.source_dataset_id): + query['SourceDatasetId'] = request.source_dataset_id if not UtilClient.is_unset(request.source_id): query['SourceId'] = request.source_id if not UtilClient.is_unset(request.source_types): @@ -8032,11 +8757,11 @@ def list_datasets( request: aiwork_space_20210204_models.ListDatasetsRequest, ) -> aiwork_space_20210204_models.ListDatasetsResponse: """ - @summary 获取数据集列表 - - @param request: ListDatasetsRequest - @return: ListDatasetsResponse - """ + @summary 获取数据集列表 + + @param request: ListDatasetsRequest + @return: ListDatasetsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_datasets_with_options(request, headers, runtime) @@ -8046,11 +8771,11 @@ async def list_datasets_async( request: aiwork_space_20210204_models.ListDatasetsRequest, ) -> aiwork_space_20210204_models.ListDatasetsResponse: """ - @summary 获取数据集列表 - - @param request: ListDatasetsRequest - @return: ListDatasetsResponse - """ + @summary 获取数据集列表 + + @param request: ListDatasetsRequest + @return: ListDatasetsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_datasets_with_options_async(request, headers, runtime) @@ -8062,13 +8787,13 @@ def list_experiment_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListExperimentResponse: """ - @summary 获取实验列表 - - @param request: ListExperimentRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListExperimentResponse - """ + @summary 获取实验列表 + + @param request: ListExperimentRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListExperimentResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.labels): @@ -8112,13 +8837,13 @@ async def list_experiment_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListExperimentResponse: """ - @summary 获取实验列表 - - @param request: ListExperimentRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListExperimentResponse - """ + @summary 获取实验列表 + + @param request: ListExperimentRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListExperimentResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.labels): @@ -8160,11 +8885,11 @@ def list_experiment( request: aiwork_space_20210204_models.ListExperimentRequest, ) -> aiwork_space_20210204_models.ListExperimentResponse: """ - @summary 获取实验列表 - - @param request: ListExperimentRequest - @return: ListExperimentResponse - """ + @summary 获取实验列表 + + @param request: ListExperimentRequest + @return: ListExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_experiment_with_options(request, headers, runtime) @@ -8174,11 +8899,11 @@ async def list_experiment_async( request: aiwork_space_20210204_models.ListExperimentRequest, ) -> aiwork_space_20210204_models.ListExperimentResponse: """ - @summary 获取实验列表 - - @param request: ListExperimentRequest - @return: ListExperimentResponse - """ + @summary 获取实验列表 + + @param request: ListExperimentRequest + @return: ListExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_experiment_with_options_async(request, headers, runtime) @@ -8190,13 +8915,13 @@ def list_features_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListFeaturesResponse: """ - @summary 列举特性 - - @param request: ListFeaturesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListFeaturesResponse - """ + @summary 列举特性 + + @param request: ListFeaturesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListFeaturesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.names): @@ -8228,13 +8953,13 @@ async def list_features_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListFeaturesResponse: """ - @summary 列举特性 - - @param request: ListFeaturesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListFeaturesResponse - """ + @summary 列举特性 + + @param request: ListFeaturesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListFeaturesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.names): @@ -8264,11 +8989,11 @@ def list_features( request: aiwork_space_20210204_models.ListFeaturesRequest, ) -> aiwork_space_20210204_models.ListFeaturesResponse: """ - @summary 列举特性 - - @param request: ListFeaturesRequest - @return: ListFeaturesResponse - """ + @summary 列举特性 + + @param request: ListFeaturesRequest + @return: ListFeaturesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_features_with_options(request, headers, runtime) @@ -8278,11 +9003,11 @@ async def list_features_async( request: aiwork_space_20210204_models.ListFeaturesRequest, ) -> aiwork_space_20210204_models.ListFeaturesResponse: """ - @summary 列举特性 - - @param request: ListFeaturesRequest - @return: ListFeaturesResponse - """ + @summary 列举特性 + + @param request: ListFeaturesRequest + @return: ListFeaturesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_features_with_options_async(request, headers, runtime) @@ -8294,13 +9019,13 @@ def list_global_permissions_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListGlobalPermissionsResponse: """ - @summary 获取用户全局权限 - - @param request: ListGlobalPermissionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListGlobalPermissionsResponse - """ + @summary 获取用户全局权限 + + @param request: ListGlobalPermissionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListGlobalPermissionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.module_names): @@ -8340,13 +9065,13 @@ async def list_global_permissions_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListGlobalPermissionsResponse: """ - @summary 获取用户全局权限 - - @param request: ListGlobalPermissionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListGlobalPermissionsResponse - """ + @summary 获取用户全局权限 + + @param request: ListGlobalPermissionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListGlobalPermissionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.module_names): @@ -8384,11 +9109,11 @@ def list_global_permissions( request: aiwork_space_20210204_models.ListGlobalPermissionsRequest, ) -> aiwork_space_20210204_models.ListGlobalPermissionsResponse: """ - @summary 获取用户全局权限 - - @param request: ListGlobalPermissionsRequest - @return: ListGlobalPermissionsResponse - """ + @summary 获取用户全局权限 + + @param request: ListGlobalPermissionsRequest + @return: ListGlobalPermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_global_permissions_with_options(request, headers, runtime) @@ -8398,11 +9123,11 @@ async def list_global_permissions_async( request: aiwork_space_20210204_models.ListGlobalPermissionsRequest, ) -> aiwork_space_20210204_models.ListGlobalPermissionsResponse: """ - @summary 获取用户全局权限 - - @param request: ListGlobalPermissionsRequest - @return: ListGlobalPermissionsResponse - """ + @summary 获取用户全局权限 + + @param request: ListGlobalPermissionsRequest + @return: ListGlobalPermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_global_permissions_with_options_async(request, headers, runtime) @@ -8414,13 +9139,13 @@ def list_image_label_keys_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImageLabelKeysResponse: """ - @summary 列举匹配标签前缀的所有标签 - - @param request: ListImageLabelKeysRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImageLabelKeysResponse - """ + @summary 列举匹配标签前缀的所有标签 + + @param request: ListImageLabelKeysRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImageLabelKeysResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.label_key_prefixes): @@ -8452,13 +9177,13 @@ async def list_image_label_keys_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImageLabelKeysResponse: """ - @summary 列举匹配标签前缀的所有标签 - - @param request: ListImageLabelKeysRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImageLabelKeysResponse - """ + @summary 列举匹配标签前缀的所有标签 + + @param request: ListImageLabelKeysRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImageLabelKeysResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.label_key_prefixes): @@ -8488,11 +9213,11 @@ def list_image_label_keys( request: aiwork_space_20210204_models.ListImageLabelKeysRequest, ) -> aiwork_space_20210204_models.ListImageLabelKeysResponse: """ - @summary 列举匹配标签前缀的所有标签 - - @param request: ListImageLabelKeysRequest - @return: ListImageLabelKeysResponse - """ + @summary 列举匹配标签前缀的所有标签 + + @param request: ListImageLabelKeysRequest + @return: ListImageLabelKeysResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_image_label_keys_with_options(request, headers, runtime) @@ -8502,11 +9227,11 @@ async def list_image_label_keys_async( request: aiwork_space_20210204_models.ListImageLabelKeysRequest, ) -> aiwork_space_20210204_models.ListImageLabelKeysResponse: """ - @summary 列举匹配标签前缀的所有标签 - - @param request: ListImageLabelKeysRequest - @return: ListImageLabelKeysResponse - """ + @summary 列举匹配标签前缀的所有标签 + + @param request: ListImageLabelKeysRequest + @return: ListImageLabelKeysResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_image_label_keys_with_options_async(request, headers, runtime) @@ -8518,13 +9243,13 @@ def list_image_labels_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImageLabelsResponse: """ - @summary 列举标签 - - @param request: ListImageLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImageLabelsResponse - """ + @summary 列举标签 + + @param request: ListImageLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImageLabelsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_id): @@ -8564,13 +9289,13 @@ async def list_image_labels_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImageLabelsResponse: """ - @summary 列举标签 - - @param request: ListImageLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImageLabelsResponse - """ + @summary 列举标签 + + @param request: ListImageLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImageLabelsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_id): @@ -8608,11 +9333,11 @@ def list_image_labels( request: aiwork_space_20210204_models.ListImageLabelsRequest, ) -> aiwork_space_20210204_models.ListImageLabelsResponse: """ - @summary 列举标签 - - @param request: ListImageLabelsRequest - @return: ListImageLabelsResponse - """ + @summary 列举标签 + + @param request: ListImageLabelsRequest + @return: ListImageLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_image_labels_with_options(request, headers, runtime) @@ -8622,11 +9347,11 @@ async def list_image_labels_async( request: aiwork_space_20210204_models.ListImageLabelsRequest, ) -> aiwork_space_20210204_models.ListImageLabelsResponse: """ - @summary 列举标签 - - @param request: ListImageLabelsRequest - @return: ListImageLabelsResponse - """ + @summary 列举标签 + + @param request: ListImageLabelsRequest + @return: ListImageLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_image_labels_with_options_async(request, headers, runtime) @@ -8638,13 +9363,13 @@ def list_images_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImagesResponse: """ - @summary 列举已注册镜像 - - @param request: ListImagesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImagesResponse - """ + @summary 列举已注册镜像 + + @param request: ListImagesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImagesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.accessibility): @@ -8698,13 +9423,13 @@ async def list_images_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListImagesResponse: """ - @summary 列举已注册镜像 - - @param request: ListImagesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListImagesResponse - """ + @summary 列举已注册镜像 + + @param request: ListImagesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListImagesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.accessibility): @@ -8756,11 +9481,11 @@ def list_images( request: aiwork_space_20210204_models.ListImagesRequest, ) -> aiwork_space_20210204_models.ListImagesResponse: """ - @summary 列举已注册镜像 - - @param request: ListImagesRequest - @return: ListImagesResponse - """ + @summary 列举已注册镜像 + + @param request: ListImagesRequest + @return: ListImagesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_images_with_options(request, headers, runtime) @@ -8770,11 +9495,11 @@ async def list_images_async( request: aiwork_space_20210204_models.ListImagesRequest, ) -> aiwork_space_20210204_models.ListImagesResponse: """ - @summary 列举已注册镜像 - - @param request: ListImagesRequest - @return: ListImagesResponse - """ + @summary 列举已注册镜像 + + @param request: ListImagesRequest + @return: ListImagesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_images_with_options_async(request, headers, runtime) @@ -8787,13 +9512,13 @@ def list_members_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListMembersResponse: """ - @summary 列举工作空间成员 - - @param request: ListMembersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListMembersResponse - """ + @summary 列举工作空间成员 + + @param request: ListMembersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListMembersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.member_name): @@ -8832,13 +9557,13 @@ async def list_members_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListMembersResponse: """ - @summary 列举工作空间成员 - - @param request: ListMembersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListMembersResponse - """ + @summary 列举工作空间成员 + + @param request: ListMembersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListMembersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.member_name): @@ -8875,11 +9600,11 @@ def list_members( request: aiwork_space_20210204_models.ListMembersRequest, ) -> aiwork_space_20210204_models.ListMembersResponse: """ - @summary 列举工作空间成员 - - @param request: ListMembersRequest - @return: ListMembersResponse - """ + @summary 列举工作空间成员 + + @param request: ListMembersRequest + @return: ListMembersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_members_with_options(workspace_id, request, headers, runtime) @@ -8890,11 +9615,11 @@ async def list_members_async( request: aiwork_space_20210204_models.ListMembersRequest, ) -> aiwork_space_20210204_models.ListMembersResponse: """ - @summary 列举工作空间成员 - - @param request: ListMembersRequest - @return: ListMembersResponse - """ + @summary 列举工作空间成员 + + @param request: ListMembersRequest + @return: ListMembersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_members_with_options_async(workspace_id, request, headers, runtime) @@ -8906,13 +9631,13 @@ def list_model_domains_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelDomainsResponse: """ - @summary 获取模型领域列表 - - @param request: ListModelDomainsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelDomainsResponse - """ + @summary 获取模型领域列表 + + @param request: ListModelDomainsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelDomainsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.model_domain_ids): @@ -8944,13 +9669,13 @@ async def list_model_domains_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelDomainsResponse: """ - @summary 获取模型领域列表 - - @param request: ListModelDomainsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelDomainsResponse - """ + @summary 获取模型领域列表 + + @param request: ListModelDomainsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelDomainsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.model_domain_ids): @@ -8980,11 +9705,11 @@ def list_model_domains( request: aiwork_space_20210204_models.ListModelDomainsRequest, ) -> aiwork_space_20210204_models.ListModelDomainsResponse: """ - @summary 获取模型领域列表 - - @param request: ListModelDomainsRequest - @return: ListModelDomainsResponse - """ + @summary 获取模型领域列表 + + @param request: ListModelDomainsRequest + @return: ListModelDomainsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_model_domains_with_options(request, headers, runtime) @@ -8994,11 +9719,11 @@ async def list_model_domains_async( request: aiwork_space_20210204_models.ListModelDomainsRequest, ) -> aiwork_space_20210204_models.ListModelDomainsResponse: """ - @summary 获取模型领域列表 - - @param request: ListModelDomainsRequest - @return: ListModelDomainsResponse - """ + @summary 获取模型领域列表 + + @param request: ListModelDomainsRequest + @return: ListModelDomainsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_model_domains_with_options_async(request, headers, runtime) @@ -9011,13 +9736,13 @@ def list_model_versions_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelVersionsResponse: """ - @summary 获取模型版本列表 - - @param request: ListModelVersionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelVersionsResponse - """ + @summary 获取模型版本列表 + + @param request: ListModelVersionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelVersionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.approval_status): @@ -9074,13 +9799,13 @@ async def list_model_versions_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelVersionsResponse: """ - @summary 获取模型版本列表 - - @param request: ListModelVersionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelVersionsResponse - """ + @summary 获取模型版本列表 + + @param request: ListModelVersionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelVersionsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.approval_status): @@ -9135,11 +9860,11 @@ def list_model_versions( request: aiwork_space_20210204_models.ListModelVersionsRequest, ) -> aiwork_space_20210204_models.ListModelVersionsResponse: """ - @summary 获取模型版本列表 - - @param request: ListModelVersionsRequest - @return: ListModelVersionsResponse - """ + @summary 获取模型版本列表 + + @param request: ListModelVersionsRequest + @return: ListModelVersionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_model_versions_with_options(model_id, request, headers, runtime) @@ -9150,11 +9875,11 @@ async def list_model_versions_async( request: aiwork_space_20210204_models.ListModelVersionsRequest, ) -> aiwork_space_20210204_models.ListModelVersionsResponse: """ - @summary 获取模型版本列表 - - @param request: ListModelVersionsRequest - @return: ListModelVersionsResponse - """ + @summary 获取模型版本列表 + + @param request: ListModelVersionsRequest + @return: ListModelVersionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_model_versions_with_options_async(model_id, request, headers, runtime) @@ -9166,13 +9891,13 @@ def list_models_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelsResponse: """ - @summary 获取模型列表 - - @param request: ListModelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelsResponse - """ + @summary 获取模型列表 + + @param request: ListModelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.collections): @@ -9234,13 +9959,13 @@ async def list_models_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModelsResponse: """ - @summary 获取模型列表 - - @param request: ListModelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModelsResponse - """ + @summary 获取模型列表 + + @param request: ListModelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModelsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.collections): @@ -9300,11 +10025,11 @@ def list_models( request: aiwork_space_20210204_models.ListModelsRequest, ) -> aiwork_space_20210204_models.ListModelsResponse: """ - @summary 获取模型列表 - - @param request: ListModelsRequest - @return: ListModelsResponse - """ + @summary 获取模型列表 + + @param request: ListModelsRequest + @return: ListModelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_models_with_options(request, headers, runtime) @@ -9314,11 +10039,11 @@ async def list_models_async( request: aiwork_space_20210204_models.ListModelsRequest, ) -> aiwork_space_20210204_models.ListModelsResponse: """ - @summary 获取模型列表 - - @param request: ListModelsRequest - @return: ListModelsResponse - """ + @summary 获取模型列表 + + @param request: ListModelsRequest + @return: ListModelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_models_with_options_async(request, headers, runtime) @@ -9330,13 +10055,13 @@ def list_module_configs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModuleConfigsResponse: """ - @summary 列举PAI云产品的配置 - - @param request: ListModuleConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModuleConfigsResponse - """ + @summary 列举PAI云产品的配置 + + @param request: ListModuleConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModuleConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.module_codes): @@ -9370,13 +10095,13 @@ async def list_module_configs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListModuleConfigsResponse: """ - @summary 列举PAI云产品的配置 - - @param request: ListModuleConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListModuleConfigsResponse - """ + @summary 列举PAI云产品的配置 + + @param request: ListModuleConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListModuleConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.module_codes): @@ -9408,11 +10133,11 @@ def list_module_configs( request: aiwork_space_20210204_models.ListModuleConfigsRequest, ) -> aiwork_space_20210204_models.ListModuleConfigsResponse: """ - @summary 列举PAI云产品的配置 - - @param request: ListModuleConfigsRequest - @return: ListModuleConfigsResponse - """ + @summary 列举PAI云产品的配置 + + @param request: ListModuleConfigsRequest + @return: ListModuleConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_module_configs_with_options(request, headers, runtime) @@ -9422,11 +10147,11 @@ async def list_module_configs_async( request: aiwork_space_20210204_models.ListModuleConfigsRequest, ) -> aiwork_space_20210204_models.ListModuleConfigsResponse: """ - @summary 列举PAI云产品的配置 - - @param request: ListModuleConfigsRequest - @return: ListModuleConfigsResponse - """ + @summary 列举PAI云产品的配置 + + @param request: ListModuleConfigsRequest + @return: ListModuleConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_module_configs_with_options_async(request, headers, runtime) @@ -9439,13 +10164,13 @@ def list_operation_logs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListOperationLogsResponse: """ - @summary 列出操作日志 - - @param request: ListOperationLogsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListOperationLogsResponse - """ + @summary 列出操作日志 + + @param request: ListOperationLogsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListOperationLogsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.entity_status): @@ -9490,13 +10215,13 @@ async def list_operation_logs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListOperationLogsResponse: """ - @summary 列出操作日志 - - @param request: ListOperationLogsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListOperationLogsResponse - """ + @summary 列出操作日志 + + @param request: ListOperationLogsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListOperationLogsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.entity_status): @@ -9539,11 +10264,11 @@ def list_operation_logs( request: aiwork_space_20210204_models.ListOperationLogsRequest, ) -> aiwork_space_20210204_models.ListOperationLogsResponse: """ - @summary 列出操作日志 - - @param request: ListOperationLogsRequest - @return: ListOperationLogsResponse - """ + @summary 列出操作日志 + + @param request: ListOperationLogsRequest + @return: ListOperationLogsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_operation_logs_with_options(workspace_id, request, headers, runtime) @@ -9554,11 +10279,11 @@ async def list_operation_logs_async( request: aiwork_space_20210204_models.ListOperationLogsRequest, ) -> aiwork_space_20210204_models.ListOperationLogsResponse: """ - @summary 列出操作日志 - - @param request: ListOperationLogsRequest - @return: ListOperationLogsResponse - """ + @summary 列出操作日志 + + @param request: ListOperationLogsRequest + @return: ListOperationLogsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_operation_logs_with_options_async(workspace_id, request, headers, runtime) @@ -9570,12 +10295,12 @@ def list_permissions_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListPermissionsResponse: """ - @summary 列举权限 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListPermissionsResponse - """ + @summary 列举权限 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListPermissionsResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -9602,12 +10327,12 @@ async def list_permissions_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListPermissionsResponse: """ - @summary 列举权限 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListPermissionsResponse - """ + @summary 列举权限 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListPermissionsResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -9632,10 +10357,10 @@ def list_permissions( workspace_id: str, ) -> aiwork_space_20210204_models.ListPermissionsResponse: """ - @summary 列举权限 - - @return: ListPermissionsResponse - """ + @summary 列举权限 + + @return: ListPermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_permissions_with_options(workspace_id, headers, runtime) @@ -9645,10 +10370,10 @@ async def list_permissions_async( workspace_id: str, ) -> aiwork_space_20210204_models.ListPermissionsResponse: """ - @summary 列举权限 - - @return: ListPermissionsResponse - """ + @summary 列举权限 + + @return: ListPermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_permissions_with_options_async(workspace_id, headers, runtime) @@ -9660,13 +10385,13 @@ def list_product_authorizations_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListProductAuthorizationsResponse: """ - @summary 获取产品授权 - - @param request: ListProductAuthorizationsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListProductAuthorizationsResponse - """ + @summary 获取产品授权 + + @param request: ListProductAuthorizationsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListProductAuthorizationsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.ram_role_names): @@ -9698,13 +10423,13 @@ async def list_product_authorizations_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListProductAuthorizationsResponse: """ - @summary 获取产品授权 - - @param request: ListProductAuthorizationsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListProductAuthorizationsResponse - """ + @summary 获取产品授权 + + @param request: ListProductAuthorizationsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListProductAuthorizationsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.ram_role_names): @@ -9734,11 +10459,11 @@ def list_product_authorizations( request: aiwork_space_20210204_models.ListProductAuthorizationsRequest, ) -> aiwork_space_20210204_models.ListProductAuthorizationsResponse: """ - @summary 获取产品授权 - - @param request: ListProductAuthorizationsRequest - @return: ListProductAuthorizationsResponse - """ + @summary 获取产品授权 + + @param request: ListProductAuthorizationsRequest + @return: ListProductAuthorizationsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_product_authorizations_with_options(request, headers, runtime) @@ -9748,11 +10473,11 @@ async def list_product_authorizations_async( request: aiwork_space_20210204_models.ListProductAuthorizationsRequest, ) -> aiwork_space_20210204_models.ListProductAuthorizationsResponse: """ - @summary 获取产品授权 - - @param request: ListProductAuthorizationsRequest - @return: ListProductAuthorizationsResponse - """ + @summary 获取产品授权 + + @param request: ListProductAuthorizationsRequest + @return: ListProductAuthorizationsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_product_authorizations_with_options_async(request, headers, runtime) @@ -9764,13 +10489,13 @@ def list_products_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListProductsResponse: """ - @summary 列举产品 - - @param request: ListProductsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListProductsResponse - """ + @summary 列举产品 + + @param request: ListProductsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListProductsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.product_codes): @@ -9806,13 +10531,13 @@ async def list_products_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListProductsResponse: """ - @summary 列举产品 - - @param request: ListProductsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListProductsResponse - """ + @summary 列举产品 + + @param request: ListProductsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListProductsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.product_codes): @@ -9846,11 +10571,11 @@ def list_products( request: aiwork_space_20210204_models.ListProductsRequest, ) -> aiwork_space_20210204_models.ListProductsResponse: """ - @summary 列举产品 - - @param request: ListProductsRequest - @return: ListProductsResponse - """ + @summary 列举产品 + + @param request: ListProductsRequest + @return: ListProductsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_products_with_options(request, headers, runtime) @@ -9860,11 +10585,11 @@ async def list_products_async( request: aiwork_space_20210204_models.ListProductsRequest, ) -> aiwork_space_20210204_models.ListProductsResponse: """ - @summary 列举产品 - - @param request: ListProductsRequest - @return: ListProductsResponse - """ + @summary 列举产品 + + @param request: ListProductsRequest + @return: ListProductsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_products_with_options_async(request, headers, runtime) @@ -9876,13 +10601,13 @@ def list_quotas_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListQuotasResponse: """ - @summary 获取已有配额列表 - - @param request: ListQuotasRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListQuotasResponse - """ + @summary 获取已有配额列表 + + @param request: ListQuotasRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListQuotasResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.name): @@ -9914,13 +10639,13 @@ async def list_quotas_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListQuotasResponse: """ - @summary 获取已有配额列表 - - @param request: ListQuotasRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListQuotasResponse - """ + @summary 获取已有配额列表 + + @param request: ListQuotasRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListQuotasResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.name): @@ -9950,11 +10675,11 @@ def list_quotas( request: aiwork_space_20210204_models.ListQuotasRequest, ) -> aiwork_space_20210204_models.ListQuotasResponse: """ - @summary 获取已有配额列表 - - @param request: ListQuotasRequest - @return: ListQuotasResponse - """ + @summary 获取已有配额列表 + + @param request: ListQuotasRequest + @return: ListQuotasResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_quotas_with_options(request, headers, runtime) @@ -9964,11 +10689,11 @@ async def list_quotas_async( request: aiwork_space_20210204_models.ListQuotasRequest, ) -> aiwork_space_20210204_models.ListQuotasResponse: """ - @summary 获取已有配额列表 - - @param request: ListQuotasRequest - @return: ListQuotasResponse - """ + @summary 获取已有配额列表 + + @param request: ListQuotasRequest + @return: ListQuotasResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_quotas_with_options_async(request, headers, runtime) @@ -9980,13 +10705,13 @@ def list_resources_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListResourcesResponse: """ - @summary 列举工作空间资源 - - @param request: ListResourcesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListResourcesResponse - """ + @summary 列举工作空间资源 + + @param request: ListResourcesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListResourcesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.group_name): @@ -10040,13 +10765,13 @@ async def list_resources_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListResourcesResponse: """ - @summary 列举工作空间资源 - - @param request: ListResourcesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListResourcesResponse - """ + @summary 列举工作空间资源 + + @param request: ListResourcesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListResourcesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.group_name): @@ -10098,11 +10823,11 @@ def list_resources( request: aiwork_space_20210204_models.ListResourcesRequest, ) -> aiwork_space_20210204_models.ListResourcesResponse: """ - @summary 列举工作空间资源 - - @param request: ListResourcesRequest - @return: ListResourcesResponse - """ + @summary 列举工作空间资源 + + @param request: ListResourcesRequest + @return: ListResourcesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_resources_with_options(request, headers, runtime) @@ -10112,11 +10837,11 @@ async def list_resources_async( request: aiwork_space_20210204_models.ListResourcesRequest, ) -> aiwork_space_20210204_models.ListResourcesResponse: """ - @summary 列举工作空间资源 - - @param request: ListResourcesRequest - @return: ListResourcesResponse - """ + @summary 列举工作空间资源 + + @param request: ListResourcesRequest + @return: ListResourcesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_resources_with_options_async(request, headers, runtime) @@ -10128,13 +10853,13 @@ def list_service_templates_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListServiceTemplatesResponse: """ - @summary 获取服务模版列表 - - @param request: ListServiceTemplatesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListServiceTemplatesResponse - """ + @summary 获取服务模版列表 + + @param request: ListServiceTemplatesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListServiceTemplatesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.label): @@ -10180,13 +10905,13 @@ async def list_service_templates_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListServiceTemplatesResponse: """ - @summary 获取服务模版列表 - - @param request: ListServiceTemplatesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListServiceTemplatesResponse - """ + @summary 获取服务模版列表 + + @param request: ListServiceTemplatesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListServiceTemplatesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.label): @@ -10230,11 +10955,11 @@ def list_service_templates( request: aiwork_space_20210204_models.ListServiceTemplatesRequest, ) -> aiwork_space_20210204_models.ListServiceTemplatesResponse: """ - @summary 获取服务模版列表 - - @param request: ListServiceTemplatesRequest - @return: ListServiceTemplatesResponse - """ + @summary 获取服务模版列表 + + @param request: ListServiceTemplatesRequest + @return: ListServiceTemplatesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_service_templates_with_options(request, headers, runtime) @@ -10244,11 +10969,11 @@ async def list_service_templates_async( request: aiwork_space_20210204_models.ListServiceTemplatesRequest, ) -> aiwork_space_20210204_models.ListServiceTemplatesResponse: """ - @summary 获取服务模版列表 - - @param request: ListServiceTemplatesRequest - @return: ListServiceTemplatesResponse - """ + @summary 获取服务模版列表 + + @param request: ListServiceTemplatesRequest + @return: ListServiceTemplatesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_service_templates_with_options_async(request, headers, runtime) @@ -10260,13 +10985,13 @@ def list_user_configs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListUserConfigsResponse: """ - @summary 获取用户配置 - - @param request: ListUserConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListUserConfigsResponse - """ + @summary 获取用户配置 + + @param request: ListUserConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListUserConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.category_names): @@ -10300,13 +11025,13 @@ async def list_user_configs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListUserConfigsResponse: """ - @summary 获取用户配置 - - @param request: ListUserConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListUserConfigsResponse - """ + @summary 获取用户配置 + + @param request: ListUserConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListUserConfigsResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.category_names): @@ -10338,11 +11063,11 @@ def list_user_configs( request: aiwork_space_20210204_models.ListUserConfigsRequest, ) -> aiwork_space_20210204_models.ListUserConfigsResponse: """ - @summary 获取用户配置 - - @param request: ListUserConfigsRequest - @return: ListUserConfigsResponse - """ + @summary 获取用户配置 + + @param request: ListUserConfigsRequest + @return: ListUserConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_user_configs_with_options(request, headers, runtime) @@ -10352,11 +11077,11 @@ async def list_user_configs_async( request: aiwork_space_20210204_models.ListUserConfigsRequest, ) -> aiwork_space_20210204_models.ListUserConfigsResponse: """ - @summary 获取用户配置 - - @param request: ListUserConfigsRequest - @return: ListUserConfigsResponse - """ + @summary 获取用户配置 + + @param request: ListUserConfigsRequest + @return: ListUserConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_user_configs_with_options_async(request, headers, runtime) @@ -10368,13 +11093,13 @@ def list_users_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListUsersResponse: """ - @summary 列出用户 - - @param request: ListUsersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListUsersResponse - """ + @summary 列出用户 + + @param request: ListUsersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListUsersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.account_types): @@ -10414,13 +11139,13 @@ async def list_users_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListUsersResponse: """ - @summary 列出用户 - - @param request: ListUsersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListUsersResponse - """ + @summary 列出用户 + + @param request: ListUsersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListUsersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.account_types): @@ -10458,11 +11183,11 @@ def list_users( request: aiwork_space_20210204_models.ListUsersRequest, ) -> aiwork_space_20210204_models.ListUsersResponse: """ - @summary 列出用户 - - @param request: ListUsersRequest - @return: ListUsersResponse - """ + @summary 列出用户 + + @param request: ListUsersRequest + @return: ListUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_users_with_options(request, headers, runtime) @@ -10472,11 +11197,11 @@ async def list_users_async( request: aiwork_space_20210204_models.ListUsersRequest, ) -> aiwork_space_20210204_models.ListUsersResponse: """ - @summary 列出用户 - - @param request: ListUsersRequest - @return: ListUsersResponse - """ + @summary 列出用户 + + @param request: ListUsersRequest + @return: ListUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_users_with_options_async(request, headers, runtime) @@ -10489,13 +11214,13 @@ def list_workspace_permissions_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspacePermissionsResponse: """ - @summary 批量获取权限 - - @param request: ListWorkspacePermissionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspacePermissionsResponse - """ + @summary 批量获取权限 + + @param request: ListWorkspacePermissionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspacePermissionsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.options): @@ -10530,13 +11255,13 @@ async def list_workspace_permissions_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspacePermissionsResponse: """ - @summary 批量获取权限 - - @param request: ListWorkspacePermissionsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspacePermissionsResponse - """ + @summary 批量获取权限 + + @param request: ListWorkspacePermissionsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspacePermissionsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.options): @@ -10569,11 +11294,11 @@ def list_workspace_permissions( request: aiwork_space_20210204_models.ListWorkspacePermissionsRequest, ) -> aiwork_space_20210204_models.ListWorkspacePermissionsResponse: """ - @summary 批量获取权限 - - @param request: ListWorkspacePermissionsRequest - @return: ListWorkspacePermissionsResponse - """ + @summary 批量获取权限 + + @param request: ListWorkspacePermissionsRequest + @return: ListWorkspacePermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_workspace_permissions_with_options(workspace_id, request, headers, runtime) @@ -10584,11 +11309,11 @@ async def list_workspace_permissions_async( request: aiwork_space_20210204_models.ListWorkspacePermissionsRequest, ) -> aiwork_space_20210204_models.ListWorkspacePermissionsResponse: """ - @summary 批量获取权限 - - @param request: ListWorkspacePermissionsRequest - @return: ListWorkspacePermissionsResponse - """ + @summary 批量获取权限 + + @param request: ListWorkspacePermissionsRequest + @return: ListWorkspacePermissionsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_workspace_permissions_with_options_async(workspace_id, request, headers, runtime) @@ -10601,13 +11326,13 @@ def list_workspace_roles_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspaceRolesResponse: """ - @summary 列举工作空间角色 - - @param request: ListWorkspaceRolesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspaceRolesResponse - """ + @summary 列举工作空间角色 + + @param request: ListWorkspaceRolesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspaceRolesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.order): @@ -10656,13 +11381,13 @@ async def list_workspace_roles_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspaceRolesResponse: """ - @summary 列举工作空间角色 - - @param request: ListWorkspaceRolesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspaceRolesResponse - """ + @summary 列举工作空间角色 + + @param request: ListWorkspaceRolesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspaceRolesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.order): @@ -10709,11 +11434,11 @@ def list_workspace_roles( request: aiwork_space_20210204_models.ListWorkspaceRolesRequest, ) -> aiwork_space_20210204_models.ListWorkspaceRolesResponse: """ - @summary 列举工作空间角色 - - @param request: ListWorkspaceRolesRequest - @return: ListWorkspaceRolesResponse - """ + @summary 列举工作空间角色 + + @param request: ListWorkspaceRolesRequest + @return: ListWorkspaceRolesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_workspace_roles_with_options(workspace_id, request, headers, runtime) @@ -10724,11 +11449,11 @@ async def list_workspace_roles_async( request: aiwork_space_20210204_models.ListWorkspaceRolesRequest, ) -> aiwork_space_20210204_models.ListWorkspaceRolesResponse: """ - @summary 列举工作空间角色 - - @param request: ListWorkspaceRolesRequest - @return: ListWorkspaceRolesResponse - """ + @summary 列举工作空间角色 + + @param request: ListWorkspaceRolesRequest + @return: ListWorkspaceRolesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_workspace_roles_with_options_async(workspace_id, request, headers, runtime) @@ -10741,13 +11466,13 @@ def list_workspace_users_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspaceUsersResponse: """ - @summary 列出工作空间的可变为成员的用户 - - @param request: ListWorkspaceUsersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspaceUsersResponse - """ + @summary 列出工作空间的可变为成员的用户 + + @param request: ListWorkspaceUsersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspaceUsersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.user_name): @@ -10780,13 +11505,13 @@ async def list_workspace_users_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspaceUsersResponse: """ - @summary 列出工作空间的可变为成员的用户 - - @param request: ListWorkspaceUsersRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspaceUsersResponse - """ + @summary 列出工作空间的可变为成员的用户 + + @param request: ListWorkspaceUsersRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspaceUsersResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.user_name): @@ -10817,11 +11542,11 @@ def list_workspace_users( request: aiwork_space_20210204_models.ListWorkspaceUsersRequest, ) -> aiwork_space_20210204_models.ListWorkspaceUsersResponse: """ - @summary 列出工作空间的可变为成员的用户 - - @param request: ListWorkspaceUsersRequest - @return: ListWorkspaceUsersResponse - """ + @summary 列出工作空间的可变为成员的用户 + + @param request: ListWorkspaceUsersRequest + @return: ListWorkspaceUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_workspace_users_with_options(workspace_id, request, headers, runtime) @@ -10832,11 +11557,11 @@ async def list_workspace_users_async( request: aiwork_space_20210204_models.ListWorkspaceUsersRequest, ) -> aiwork_space_20210204_models.ListWorkspaceUsersResponse: """ - @summary 列出工作空间的可变为成员的用户 - - @param request: ListWorkspaceUsersRequest - @return: ListWorkspaceUsersResponse - """ + @summary 列出工作空间的可变为成员的用户 + + @param request: ListWorkspaceUsersRequest + @return: ListWorkspaceUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_workspace_users_with_options_async(workspace_id, request, headers, runtime) @@ -10848,13 +11573,13 @@ def list_workspaces_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspacesResponse: """ - @summary 获得工作空间列表 - - @param request: ListWorkspacesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspacesResponse - """ + @summary 获得工作空间列表 + + @param request: ListWorkspacesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspacesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.fields): @@ -10906,13 +11631,13 @@ async def list_workspaces_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.ListWorkspacesResponse: """ - @summary 获得工作空间列表 - - @param request: ListWorkspacesRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: ListWorkspacesResponse - """ + @summary 获得工作空间列表 + + @param request: ListWorkspacesRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: ListWorkspacesResponse + """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.fields): @@ -10962,11 +11687,11 @@ def list_workspaces( request: aiwork_space_20210204_models.ListWorkspacesRequest, ) -> aiwork_space_20210204_models.ListWorkspacesResponse: """ - @summary 获得工作空间列表 - - @param request: ListWorkspacesRequest - @return: ListWorkspacesResponse - """ + @summary 获得工作空间列表 + + @param request: ListWorkspacesRequest + @return: ListWorkspacesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.list_workspaces_with_options(request, headers, runtime) @@ -10976,11 +11701,11 @@ async def list_workspaces_async( request: aiwork_space_20210204_models.ListWorkspacesRequest, ) -> aiwork_space_20210204_models.ListWorkspacesResponse: """ - @summary 获得工作空间列表 - - @param request: ListWorkspacesRequest - @return: ListWorkspacesResponse - """ + @summary 获得工作空间列表 + + @param request: ListWorkspacesRequest + @return: ListWorkspacesResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.list_workspaces_with_options_async(request, headers, runtime) @@ -10992,13 +11717,13 @@ def migrate_datasets_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.MigrateDatasetsResponse: """ - @summary 迁移数据集 - - @param request: MigrateDatasetsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: MigrateDatasetsResponse - """ + @summary 迁移数据集 + + @param request: MigrateDatasetsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: MigrateDatasetsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.count): @@ -11038,13 +11763,13 @@ async def migrate_datasets_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.MigrateDatasetsResponse: """ - @summary 迁移数据集 - - @param request: MigrateDatasetsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: MigrateDatasetsResponse - """ + @summary 迁移数据集 + + @param request: MigrateDatasetsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: MigrateDatasetsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.count): @@ -11082,11 +11807,11 @@ def migrate_datasets( request: aiwork_space_20210204_models.MigrateDatasetsRequest, ) -> aiwork_space_20210204_models.MigrateDatasetsResponse: """ - @summary 迁移数据集 - - @param request: MigrateDatasetsRequest - @return: MigrateDatasetsResponse - """ + @summary 迁移数据集 + + @param request: MigrateDatasetsRequest + @return: MigrateDatasetsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.migrate_datasets_with_options(request, headers, runtime) @@ -11096,11 +11821,11 @@ async def migrate_datasets_async( request: aiwork_space_20210204_models.MigrateDatasetsRequest, ) -> aiwork_space_20210204_models.MigrateDatasetsResponse: """ - @summary 迁移数据集 - - @param request: MigrateDatasetsRequest - @return: MigrateDatasetsResponse - """ + @summary 迁移数据集 + + @param request: MigrateDatasetsRequest + @return: MigrateDatasetsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.migrate_datasets_with_options_async(request, headers, runtime) @@ -11112,12 +11837,12 @@ def publish_code_source_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishCodeSourceResponse: """ - @summary 发布一个代码源配置为本工作空间下所有人可见 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishCodeSourceResponse - """ + @summary 发布一个代码源配置为本工作空间下所有人可见 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishCodeSourceResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11144,12 +11869,12 @@ async def publish_code_source_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishCodeSourceResponse: """ - @summary 发布一个代码源配置为本工作空间下所有人可见 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishCodeSourceResponse - """ + @summary 发布一个代码源配置为本工作空间下所有人可见 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishCodeSourceResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11174,10 +11899,10 @@ def publish_code_source( code_source_id: str, ) -> aiwork_space_20210204_models.PublishCodeSourceResponse: """ - @summary 发布一个代码源配置为本工作空间下所有人可见 - - @return: PublishCodeSourceResponse - """ + @summary 发布一个代码源配置为本工作空间下所有人可见 + + @return: PublishCodeSourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.publish_code_source_with_options(code_source_id, headers, runtime) @@ -11187,10 +11912,10 @@ async def publish_code_source_async( code_source_id: str, ) -> aiwork_space_20210204_models.PublishCodeSourceResponse: """ - @summary 发布一个代码源配置为本工作空间下所有人可见 - - @return: PublishCodeSourceResponse - """ + @summary 发布一个代码源配置为本工作空间下所有人可见 + + @return: PublishCodeSourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.publish_code_source_with_options_async(code_source_id, headers, runtime) @@ -11202,12 +11927,12 @@ def publish_dataset_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishDatasetResponse: """ - @summary 更新数据集 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishDatasetResponse - """ + @summary 更新数据集 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishDatasetResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11234,12 +11959,12 @@ async def publish_dataset_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishDatasetResponse: """ - @summary 更新数据集 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishDatasetResponse - """ + @summary 更新数据集 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishDatasetResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11264,10 +11989,10 @@ def publish_dataset( dataset_id: str, ) -> aiwork_space_20210204_models.PublishDatasetResponse: """ - @summary 更新数据集 - - @return: PublishDatasetResponse - """ + @summary 更新数据集 + + @return: PublishDatasetResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.publish_dataset_with_options(dataset_id, headers, runtime) @@ -11277,10 +12002,10 @@ async def publish_dataset_async( dataset_id: str, ) -> aiwork_space_20210204_models.PublishDatasetResponse: """ - @summary 更新数据集 - - @return: PublishDatasetResponse - """ + @summary 更新数据集 + + @return: PublishDatasetResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.publish_dataset_with_options_async(dataset_id, headers, runtime) @@ -11292,12 +12017,12 @@ def publish_image_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishImageResponse: """ - @summary 发布 Image - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishImageResponse - """ + @summary 发布 Image + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishImageResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11324,12 +12049,12 @@ async def publish_image_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.PublishImageResponse: """ - @summary 发布 Image - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: PublishImageResponse - """ + @summary 发布 Image + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: PublishImageResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11354,10 +12079,10 @@ def publish_image( image_id: str, ) -> aiwork_space_20210204_models.PublishImageResponse: """ - @summary 发布 Image - - @return: PublishImageResponse - """ + @summary 发布 Image + + @return: PublishImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.publish_image_with_options(image_id, headers, runtime) @@ -11367,27 +12092,151 @@ async def publish_image_async( image_id: str, ) -> aiwork_space_20210204_models.PublishImageResponse: """ - @summary 发布 Image - - @return: PublishImageResponse - """ + @summary 发布 Image + + @return: PublishImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.publish_image_with_options_async(image_id, headers, runtime) - def remove_image_with_options( + def register_lineage_with_options( self, - image_id: str, + request: aiwork_space_20210204_models.RegisterLineageRequest, headers: Dict[str, str], runtime: util_models.RuntimeOptions, - ) -> aiwork_space_20210204_models.RemoveImageResponse: + ) -> aiwork_space_20210204_models.RegisterLineageResponse: + """ + @summary 创建血缘 + + @param request: RegisterLineageRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RegisterLineageResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.attributes): + body['Attributes'] = request.attributes + if not UtilClient.is_unset(request.input_entities): + body['InputEntities'] = request.input_entities + if not UtilClient.is_unset(request.name): + body['Name'] = request.name + if not UtilClient.is_unset(request.output_entities): + body['OutputEntities'] = request.output_entities + if not UtilClient.is_unset(request.qualified_name): + body['QualifiedName'] = request.qualified_name + if not UtilClient.is_unset(request.register_task_as_entity): + body['RegisterTaskAsEntity'] = request.register_task_as_entity + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='RegisterLineage', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/lineages', + method='POST', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.RegisterLineageResponse(), + self.call_api(params, req, runtime) + ) + + async def register_lineage_with_options_async( + self, + request: aiwork_space_20210204_models.RegisterLineageRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.RegisterLineageResponse: """ - @summary 删除 Image - + @summary 创建血缘 + + @param request: RegisterLineageRequest @param headers: map @param runtime: runtime options for this request RuntimeOptions - @return: RemoveImageResponse + @return: RegisterLineageResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.attributes): + body['Attributes'] = request.attributes + if not UtilClient.is_unset(request.input_entities): + body['InputEntities'] = request.input_entities + if not UtilClient.is_unset(request.name): + body['Name'] = request.name + if not UtilClient.is_unset(request.output_entities): + body['OutputEntities'] = request.output_entities + if not UtilClient.is_unset(request.qualified_name): + body['QualifiedName'] = request.qualified_name + if not UtilClient.is_unset(request.register_task_as_entity): + body['RegisterTaskAsEntity'] = request.register_task_as_entity + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='RegisterLineage', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/lineages', + method='POST', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.RegisterLineageResponse(), + await self.call_api_async(params, req, runtime) + ) + + def register_lineage( + self, + request: aiwork_space_20210204_models.RegisterLineageRequest, + ) -> aiwork_space_20210204_models.RegisterLineageResponse: """ + @summary 创建血缘 + + @param request: RegisterLineageRequest + @return: RegisterLineageResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.register_lineage_with_options(request, headers, runtime) + + async def register_lineage_async( + self, + request: aiwork_space_20210204_models.RegisterLineageRequest, + ) -> aiwork_space_20210204_models.RegisterLineageResponse: + """ + @summary 创建血缘 + + @param request: RegisterLineageRequest + @return: RegisterLineageResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.register_lineage_with_options_async(request, headers, runtime) + + def remove_image_with_options( + self, + image_id: str, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.RemoveImageResponse: + """ + @summary 删除 Image + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveImageResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11414,12 +12263,12 @@ async def remove_image_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveImageResponse: """ - @summary 删除 Image - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveImageResponse - """ + @summary 删除 Image + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveImageResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11444,10 +12293,10 @@ def remove_image( image_id: str, ) -> aiwork_space_20210204_models.RemoveImageResponse: """ - @summary 删除 Image - - @return: RemoveImageResponse - """ + @summary 删除 Image + + @return: RemoveImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.remove_image_with_options(image_id, headers, runtime) @@ -11457,10 +12306,10 @@ async def remove_image_async( image_id: str, ) -> aiwork_space_20210204_models.RemoveImageResponse: """ - @summary 删除 Image - - @return: RemoveImageResponse - """ + @summary 删除 Image + + @return: RemoveImageResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.remove_image_with_options_async(image_id, headers, runtime) @@ -11473,12 +12322,12 @@ def remove_image_labels_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveImageLabelsResponse: """ - @summary 删除 Image 的标签 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveImageLabelsResponse - """ + @summary 删除 Image 的标签 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveImageLabelsResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11506,12 +12355,12 @@ async def remove_image_labels_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveImageLabelsResponse: """ - @summary 删除 Image 的标签 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveImageLabelsResponse - """ + @summary 删除 Image 的标签 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveImageLabelsResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11537,10 +12386,10 @@ def remove_image_labels( label_key: str, ) -> aiwork_space_20210204_models.RemoveImageLabelsResponse: """ - @summary 删除 Image 的标签 - - @return: RemoveImageLabelsResponse - """ + @summary 删除 Image 的标签 + + @return: RemoveImageLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.remove_image_labels_with_options(image_id, label_key, headers, runtime) @@ -11551,10 +12400,10 @@ async def remove_image_labels_async( label_key: str, ) -> aiwork_space_20210204_models.RemoveImageLabelsResponse: """ - @summary 删除 Image 的标签 - - @return: RemoveImageLabelsResponse - """ + @summary 删除 Image 的标签 + + @return: RemoveImageLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.remove_image_labels_with_options_async(image_id, label_key, headers, runtime) @@ -11568,12 +12417,12 @@ def remove_member_role_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveMemberRoleResponse: """ - @summary 删除成员角色 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveMemberRoleResponse - """ + @summary 删除成员角色 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveMemberRoleResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11602,12 +12451,12 @@ async def remove_member_role_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveMemberRoleResponse: """ - @summary 删除成员角色 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveMemberRoleResponse - """ + @summary 删除成员角色 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveMemberRoleResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11634,10 +12483,10 @@ def remove_member_role( role_name: str, ) -> aiwork_space_20210204_models.RemoveMemberRoleResponse: """ - @summary 删除成员角色 - - @return: RemoveMemberRoleResponse - """ + @summary 删除成员角色 + + @return: RemoveMemberRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.remove_member_role_with_options(workspace_id, member_id, role_name, headers, runtime) @@ -11649,10 +12498,10 @@ async def remove_member_role_async( role_name: str, ) -> aiwork_space_20210204_models.RemoveMemberRoleResponse: """ - @summary 删除成员角色 - - @return: RemoveMemberRoleResponse - """ + @summary 删除成员角色 + + @return: RemoveMemberRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.remove_member_role_with_options_async(workspace_id, member_id, role_name, headers, runtime) @@ -11665,12 +12514,12 @@ def remove_workspace_quota_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveWorkspaceQuotaResponse: """ - @summary 移除资源实例配额 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveWorkspaceQuotaResponse - """ + @summary 移除资源实例配额 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveWorkspaceQuotaResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11698,12 +12547,12 @@ async def remove_workspace_quota_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.RemoveWorkspaceQuotaResponse: """ - @summary 移除资源实例配额 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: RemoveWorkspaceQuotaResponse - """ + @summary 移除资源实例配额 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: RemoveWorkspaceQuotaResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -11729,10 +12578,10 @@ def remove_workspace_quota( quota_id: str, ) -> aiwork_space_20210204_models.RemoveWorkspaceQuotaResponse: """ - @summary 移除资源实例配额 - - @return: RemoveWorkspaceQuotaResponse - """ + @summary 移除资源实例配额 + + @return: RemoveWorkspaceQuotaResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.remove_workspace_quota_with_options(workspace_id, quota_id, headers, runtime) @@ -11743,10 +12592,10 @@ async def remove_workspace_quota_async( quota_id: str, ) -> aiwork_space_20210204_models.RemoveWorkspaceQuotaResponse: """ - @summary 移除资源实例配额 - - @return: RemoveWorkspaceQuotaResponse - """ + @summary 移除资源实例配额 + + @return: RemoveWorkspaceQuotaResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.remove_workspace_quota_with_options_async(workspace_id, quota_id, headers, runtime) @@ -11759,13 +12608,13 @@ def set_experiment_labels_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetExperimentLabelsResponse: """ - @summary 更新实验标签 - - @param request: SetExperimentLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetExperimentLabelsResponse - """ + @summary 更新实验标签 + + @param request: SetExperimentLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetExperimentLabelsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.labels): @@ -11798,13 +12647,13 @@ async def set_experiment_labels_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetExperimentLabelsResponse: """ - @summary 更新实验标签 - - @param request: SetExperimentLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetExperimentLabelsResponse - """ + @summary 更新实验标签 + + @param request: SetExperimentLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetExperimentLabelsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.labels): @@ -11835,11 +12684,11 @@ def set_experiment_labels( request: aiwork_space_20210204_models.SetExperimentLabelsRequest, ) -> aiwork_space_20210204_models.SetExperimentLabelsResponse: """ - @summary 更新实验标签 - - @param request: SetExperimentLabelsRequest - @return: SetExperimentLabelsResponse - """ + @summary 更新实验标签 + + @param request: SetExperimentLabelsRequest + @return: SetExperimentLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.set_experiment_labels_with_options(experiment_id, request, headers, runtime) @@ -11850,11 +12699,11 @@ async def set_experiment_labels_async( request: aiwork_space_20210204_models.SetExperimentLabelsRequest, ) -> aiwork_space_20210204_models.SetExperimentLabelsResponse: """ - @summary 更新实验标签 - - @param request: SetExperimentLabelsRequest - @return: SetExperimentLabelsResponse - """ + @summary 更新实验标签 + + @param request: SetExperimentLabelsRequest + @return: SetExperimentLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.set_experiment_labels_with_options_async(experiment_id, request, headers, runtime) @@ -11867,13 +12716,13 @@ def set_trial_labels_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetTrialLabelsResponse: """ - @summary 更新Trial标签 - - @param request: SetTrialLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetTrialLabelsResponse - """ + @summary 更新Trial标签 + + @param request: SetTrialLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetTrialLabelsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.labels): @@ -11906,13 +12755,13 @@ async def set_trial_labels_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetTrialLabelsResponse: """ - @summary 更新Trial标签 - - @param request: SetTrialLabelsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetTrialLabelsResponse - """ + @summary 更新Trial标签 + + @param request: SetTrialLabelsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetTrialLabelsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.labels): @@ -11943,11 +12792,11 @@ def set_trial_labels( request: aiwork_space_20210204_models.SetTrialLabelsRequest, ) -> aiwork_space_20210204_models.SetTrialLabelsResponse: """ - @summary 更新Trial标签 - - @param request: SetTrialLabelsRequest - @return: SetTrialLabelsResponse - """ + @summary 更新Trial标签 + + @param request: SetTrialLabelsRequest + @return: SetTrialLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.set_trial_labels_with_options(trial_id, request, headers, runtime) @@ -11958,11 +12807,11 @@ async def set_trial_labels_async( request: aiwork_space_20210204_models.SetTrialLabelsRequest, ) -> aiwork_space_20210204_models.SetTrialLabelsResponse: """ - @summary 更新Trial标签 - - @param request: SetTrialLabelsRequest - @return: SetTrialLabelsResponse - """ + @summary 更新Trial标签 + + @param request: SetTrialLabelsRequest + @return: SetTrialLabelsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.set_trial_labels_with_options_async(trial_id, request, headers, runtime) @@ -11974,13 +12823,13 @@ def set_user_configs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetUserConfigsResponse: """ - @summary 更新用户配置 - - @param request: SetUserConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetUserConfigsResponse - """ + @summary 更新用户配置 + + @param request: SetUserConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetUserConfigsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.configs): @@ -12012,13 +12861,13 @@ async def set_user_configs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SetUserConfigsResponse: """ - @summary 更新用户配置 - - @param request: SetUserConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SetUserConfigsResponse - """ + @summary 更新用户配置 + + @param request: SetUserConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SetUserConfigsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.configs): @@ -12048,11 +12897,11 @@ def set_user_configs( request: aiwork_space_20210204_models.SetUserConfigsRequest, ) -> aiwork_space_20210204_models.SetUserConfigsResponse: """ - @summary 更新用户配置 - - @param request: SetUserConfigsRequest - @return: SetUserConfigsResponse - """ + @summary 更新用户配置 + + @param request: SetUserConfigsRequest + @return: SetUserConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.set_user_configs_with_options(request, headers, runtime) @@ -12062,11 +12911,11 @@ async def set_user_configs_async( request: aiwork_space_20210204_models.SetUserConfigsRequest, ) -> aiwork_space_20210204_models.SetUserConfigsResponse: """ - @summary 更新用户配置 - - @param request: SetUserConfigsRequest - @return: SetUserConfigsResponse - """ + @summary 更新用户配置 + + @param request: SetUserConfigsRequest + @return: SetUserConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.set_user_configs_with_options_async(request, headers, runtime) @@ -12077,12 +12926,12 @@ def sync_users_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SyncUsersResponse: """ - @summary 同步用户信息 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SyncUsersResponse - """ + @summary 同步用户信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SyncUsersResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -12108,12 +12957,12 @@ async def sync_users_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.SyncUsersResponse: """ - @summary 同步用户信息 - - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: SyncUsersResponse - """ + @summary 同步用户信息 + + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: SyncUsersResponse + """ req = open_api_models.OpenApiRequest( headers=headers ) @@ -12135,20 +12984,20 @@ async def sync_users_with_options_async( def sync_users(self) -> aiwork_space_20210204_models.SyncUsersResponse: """ - @summary 同步用户信息 - - @return: SyncUsersResponse - """ + @summary 同步用户信息 + + @return: SyncUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.sync_users_with_options(headers, runtime) async def sync_users_async(self) -> aiwork_space_20210204_models.SyncUsersResponse: """ - @summary 同步用户信息 - - @return: SyncUsersResponse - """ + @summary 同步用户信息 + + @return: SyncUsersResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.sync_users_with_options_async(headers, runtime) @@ -12161,13 +13010,13 @@ def update_configs_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateConfigsResponse: """ - @summary 更新配置 - - @param request: UpdateConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateConfigsResponse - """ + @summary 更新配置 + + @param request: UpdateConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateConfigsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.configs): @@ -12200,13 +13049,13 @@ async def update_configs_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateConfigsResponse: """ - @summary 更新配置 - - @param request: UpdateConfigsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateConfigsResponse - """ + @summary 更新配置 + + @param request: UpdateConfigsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateConfigsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.configs): @@ -12237,11 +13086,11 @@ def update_configs( request: aiwork_space_20210204_models.UpdateConfigsRequest, ) -> aiwork_space_20210204_models.UpdateConfigsResponse: """ - @summary 更新配置 - - @param request: UpdateConfigsRequest - @return: UpdateConfigsResponse - """ + @summary 更新配置 + + @param request: UpdateConfigsRequest + @return: UpdateConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_configs_with_options(workspace_id, request, headers, runtime) @@ -12252,11 +13101,11 @@ async def update_configs_async( request: aiwork_space_20210204_models.UpdateConfigsRequest, ) -> aiwork_space_20210204_models.UpdateConfigsResponse: """ - @summary 更新配置 - - @param request: UpdateConfigsRequest - @return: UpdateConfigsResponse - """ + @summary 更新配置 + + @param request: UpdateConfigsRequest + @return: UpdateConfigsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_configs_with_options_async(workspace_id, request, headers, runtime) @@ -12269,13 +13118,13 @@ def update_dataset_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateDatasetResponse: """ - @summary 更新数据集 - - @param request: UpdateDatasetRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateDatasetResponse - """ + @summary 更新数据集 + + @param request: UpdateDatasetRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDatasetResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.description): @@ -12312,13 +13161,13 @@ async def update_dataset_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateDatasetResponse: """ - @summary 更新数据集 - - @param request: UpdateDatasetRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateDatasetResponse - """ + @summary 更新数据集 + + @param request: UpdateDatasetRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDatasetResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.description): @@ -12353,11 +13202,11 @@ def update_dataset( request: aiwork_space_20210204_models.UpdateDatasetRequest, ) -> aiwork_space_20210204_models.UpdateDatasetResponse: """ - @summary 更新数据集 - - @param request: UpdateDatasetRequest - @return: UpdateDatasetResponse - """ + @summary 更新数据集 + + @param request: UpdateDatasetRequest + @return: UpdateDatasetResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_dataset_with_options(dataset_id, request, headers, runtime) @@ -12368,15 +13217,139 @@ async def update_dataset_async( request: aiwork_space_20210204_models.UpdateDatasetRequest, ) -> aiwork_space_20210204_models.UpdateDatasetResponse: """ - @summary 更新数据集 - - @param request: UpdateDatasetRequest - @return: UpdateDatasetResponse - """ + @summary 更新数据集 + + @param request: UpdateDatasetRequest + @return: UpdateDatasetResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_dataset_with_options_async(dataset_id, request, headers, runtime) + def update_dataset_version_with_options( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.UpdateDatasetVersionRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.UpdateDatasetVersionResponse: + """ + @summary 更新指定版本的数据集信息 + + @param request: UpdateDatasetVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDatasetVersionResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size + if not UtilClient.is_unset(request.description): + body['Description'] = request.description + if not UtilClient.is_unset(request.options): + body['Options'] = request.options + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='UpdateDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='PUT', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.UpdateDatasetVersionResponse(), + self.call_api(params, req, runtime) + ) + + async def update_dataset_version_with_options_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.UpdateDatasetVersionRequest, + headers: Dict[str, str], + runtime: util_models.RuntimeOptions, + ) -> aiwork_space_20210204_models.UpdateDatasetVersionResponse: + """ + @summary 更新指定版本的数据集信息 + + @param request: UpdateDatasetVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDatasetVersionResponse + """ + UtilClient.validate_model(request) + body = {} + if not UtilClient.is_unset(request.data_count): + body['DataCount'] = request.data_count + if not UtilClient.is_unset(request.data_size): + body['DataSize'] = request.data_size + if not UtilClient.is_unset(request.description): + body['Description'] = request.description + if not UtilClient.is_unset(request.options): + body['Options'] = request.options + req = open_api_models.OpenApiRequest( + headers=headers, + body=OpenApiUtilClient.parse_to_map(body) + ) + params = open_api_models.Params( + action='UpdateDatasetVersion', + version='2021-02-04', + protocol='HTTPS', + pathname=f'/api/v1/datasets/{OpenApiUtilClient.get_encode_param(dataset_id)}/versions/{OpenApiUtilClient.get_encode_param(version_name)}', + method='PUT', + auth_type='AK', + style='ROA', + req_body_type='json', + body_type='json' + ) + return TeaCore.from_map( + aiwork_space_20210204_models.UpdateDatasetVersionResponse(), + await self.call_api_async(params, req, runtime) + ) + + def update_dataset_version( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.UpdateDatasetVersionRequest, + ) -> aiwork_space_20210204_models.UpdateDatasetVersionResponse: + """ + @summary 更新指定版本的数据集信息 + + @param request: UpdateDatasetVersionRequest + @return: UpdateDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return self.update_dataset_version_with_options(dataset_id, version_name, request, headers, runtime) + + async def update_dataset_version_async( + self, + dataset_id: str, + version_name: str, + request: aiwork_space_20210204_models.UpdateDatasetVersionRequest, + ) -> aiwork_space_20210204_models.UpdateDatasetVersionResponse: + """ + @summary 更新指定版本的数据集信息 + + @param request: UpdateDatasetVersionRequest + @return: UpdateDatasetVersionResponse + """ + runtime = util_models.RuntimeOptions() + headers = {} + return await self.update_dataset_version_with_options_async(dataset_id, version_name, request, headers, runtime) + def update_default_workspace_with_options( self, request: aiwork_space_20210204_models.UpdateDefaultWorkspaceRequest, @@ -12384,13 +13357,13 @@ def update_default_workspace_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateDefaultWorkspaceResponse: """ - @summary 更新默认工作空间 - - @param request: UpdateDefaultWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateDefaultWorkspaceResponse - """ + @summary 更新默认工作空间 + + @param request: UpdateDefaultWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDefaultWorkspaceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.workspace_id): @@ -12422,13 +13395,13 @@ async def update_default_workspace_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateDefaultWorkspaceResponse: """ - @summary 更新默认工作空间 - - @param request: UpdateDefaultWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateDefaultWorkspaceResponse - """ + @summary 更新默认工作空间 + + @param request: UpdateDefaultWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateDefaultWorkspaceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.workspace_id): @@ -12458,11 +13431,11 @@ def update_default_workspace( request: aiwork_space_20210204_models.UpdateDefaultWorkspaceRequest, ) -> aiwork_space_20210204_models.UpdateDefaultWorkspaceResponse: """ - @summary 更新默认工作空间 - - @param request: UpdateDefaultWorkspaceRequest - @return: UpdateDefaultWorkspaceResponse - """ + @summary 更新默认工作空间 + + @param request: UpdateDefaultWorkspaceRequest + @return: UpdateDefaultWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_default_workspace_with_options(request, headers, runtime) @@ -12472,11 +13445,11 @@ async def update_default_workspace_async( request: aiwork_space_20210204_models.UpdateDefaultWorkspaceRequest, ) -> aiwork_space_20210204_models.UpdateDefaultWorkspaceResponse: """ - @summary 更新默认工作空间 - - @param request: UpdateDefaultWorkspaceRequest - @return: UpdateDefaultWorkspaceResponse - """ + @summary 更新默认工作空间 + + @param request: UpdateDefaultWorkspaceRequest + @return: UpdateDefaultWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_default_workspace_with_options_async(request, headers, runtime) @@ -12489,13 +13462,13 @@ def update_experiment_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateExperimentResponse: """ - @summary 更新实验 - - @param request: UpdateExperimentRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateExperimentResponse - """ + @summary 更新实验 + + @param request: UpdateExperimentRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateExperimentResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.accessibility): @@ -12530,13 +13503,13 @@ async def update_experiment_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateExperimentResponse: """ - @summary 更新实验 - - @param request: UpdateExperimentRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateExperimentResponse - """ + @summary 更新实验 + + @param request: UpdateExperimentRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateExperimentResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.accessibility): @@ -12569,11 +13542,11 @@ def update_experiment( request: aiwork_space_20210204_models.UpdateExperimentRequest, ) -> aiwork_space_20210204_models.UpdateExperimentResponse: """ - @summary 更新实验 - - @param request: UpdateExperimentRequest - @return: UpdateExperimentResponse - """ + @summary 更新实验 + + @param request: UpdateExperimentRequest + @return: UpdateExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_experiment_with_options(experiment_id, request, headers, runtime) @@ -12584,11 +13557,11 @@ async def update_experiment_async( request: aiwork_space_20210204_models.UpdateExperimentRequest, ) -> aiwork_space_20210204_models.UpdateExperimentResponse: """ - @summary 更新实验 - - @param request: UpdateExperimentRequest - @return: UpdateExperimentResponse - """ + @summary 更新实验 + + @param request: UpdateExperimentRequest + @return: UpdateExperimentResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_experiment_with_options_async(experiment_id, request, headers, runtime) @@ -12601,13 +13574,13 @@ def update_model_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelResponse: """ - @summary 更新模型 - - @param request: UpdateModelRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelResponse - """ + @summary 更新模型 + + @param request: UpdateModelRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.accessibility): @@ -12658,13 +13631,13 @@ async def update_model_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelResponse: """ - @summary 更新模型 - - @param request: UpdateModelRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelResponse - """ + @summary 更新模型 + + @param request: UpdateModelRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.accessibility): @@ -12713,11 +13686,11 @@ def update_model( request: aiwork_space_20210204_models.UpdateModelRequest, ) -> aiwork_space_20210204_models.UpdateModelResponse: """ - @summary 更新模型 - - @param request: UpdateModelRequest - @return: UpdateModelResponse - """ + @summary 更新模型 + + @param request: UpdateModelRequest + @return: UpdateModelResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_model_with_options(model_id, request, headers, runtime) @@ -12728,11 +13701,11 @@ async def update_model_async( request: aiwork_space_20210204_models.UpdateModelRequest, ) -> aiwork_space_20210204_models.UpdateModelResponse: """ - @summary 更新模型 - - @param request: UpdateModelRequest - @return: UpdateModelResponse - """ + @summary 更新模型 + + @param request: UpdateModelRequest + @return: UpdateModelResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_model_with_options_async(model_id, request, headers, runtime) @@ -12744,13 +13717,13 @@ def update_model_domains_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelDomainsResponse: """ - @summary 更新模型领域 - - @param request: UpdateModelDomainsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelDomainsResponse - """ + @summary 更新模型领域 + + @param request: UpdateModelDomainsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelDomainsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.model_domains): @@ -12782,13 +13755,13 @@ async def update_model_domains_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelDomainsResponse: """ - @summary 更新模型领域 - - @param request: UpdateModelDomainsRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelDomainsResponse - """ + @summary 更新模型领域 + + @param request: UpdateModelDomainsRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelDomainsResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.model_domains): @@ -12818,11 +13791,11 @@ def update_model_domains( request: aiwork_space_20210204_models.UpdateModelDomainsRequest, ) -> aiwork_space_20210204_models.UpdateModelDomainsResponse: """ - @summary 更新模型领域 - - @param request: UpdateModelDomainsRequest - @return: UpdateModelDomainsResponse - """ + @summary 更新模型领域 + + @param request: UpdateModelDomainsRequest + @return: UpdateModelDomainsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_model_domains_with_options(request, headers, runtime) @@ -12832,11 +13805,11 @@ async def update_model_domains_async( request: aiwork_space_20210204_models.UpdateModelDomainsRequest, ) -> aiwork_space_20210204_models.UpdateModelDomainsResponse: """ - @summary 更新模型领域 - - @param request: UpdateModelDomainsRequest - @return: UpdateModelDomainsResponse - """ + @summary 更新模型领域 + + @param request: UpdateModelDomainsRequest + @return: UpdateModelDomainsResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_model_domains_with_options_async(request, headers, runtime) @@ -12850,13 +13823,13 @@ def update_model_version_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelVersionResponse: """ - @summary 更新模型版本 - - @param request: UpdateModelVersionRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelVersionResponse - """ + @summary 更新模型版本 + + @param request: UpdateModelVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelVersionResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.approval_status): @@ -12910,13 +13883,13 @@ async def update_model_version_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateModelVersionResponse: """ - @summary 更新模型版本 - - @param request: UpdateModelVersionRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateModelVersionResponse - """ + @summary 更新模型版本 + + @param request: UpdateModelVersionRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateModelVersionResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.approval_status): @@ -12968,11 +13941,11 @@ def update_model_version( request: aiwork_space_20210204_models.UpdateModelVersionRequest, ) -> aiwork_space_20210204_models.UpdateModelVersionResponse: """ - @summary 更新模型版本 - - @param request: UpdateModelVersionRequest - @return: UpdateModelVersionResponse - """ + @summary 更新模型版本 + + @param request: UpdateModelVersionRequest + @return: UpdateModelVersionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_model_version_with_options(model_id, version_name, request, headers, runtime) @@ -12984,11 +13957,11 @@ async def update_model_version_async( request: aiwork_space_20210204_models.UpdateModelVersionRequest, ) -> aiwork_space_20210204_models.UpdateModelVersionResponse: """ - @summary 更新模型版本 - - @param request: UpdateModelVersionRequest - @return: UpdateModelVersionResponse - """ + @summary 更新模型版本 + + @param request: UpdateModelVersionRequest + @return: UpdateModelVersionResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_model_version_with_options_async(model_id, version_name, request, headers, runtime) @@ -13001,13 +13974,13 @@ def update_service_template_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateServiceTemplateResponse: """ - @summary 更新服务模版 - - @param request: UpdateServiceTemplateRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateServiceTemplateResponse - """ + @summary 更新服务模版 + + @param request: UpdateServiceTemplateRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateServiceTemplateResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.inference_spec): @@ -13048,13 +14021,13 @@ async def update_service_template_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateServiceTemplateResponse: """ - @summary 更新服务模版 - - @param request: UpdateServiceTemplateRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateServiceTemplateResponse - """ + @summary 更新服务模版 + + @param request: UpdateServiceTemplateRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateServiceTemplateResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.inference_spec): @@ -13093,11 +14066,11 @@ def update_service_template( request: aiwork_space_20210204_models.UpdateServiceTemplateRequest, ) -> aiwork_space_20210204_models.UpdateServiceTemplateResponse: """ - @summary 更新服务模版 - - @param request: UpdateServiceTemplateRequest - @return: UpdateServiceTemplateResponse - """ + @summary 更新服务模版 + + @param request: UpdateServiceTemplateRequest + @return: UpdateServiceTemplateResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_service_template_with_options(service_template_id, request, headers, runtime) @@ -13108,11 +14081,11 @@ async def update_service_template_async( request: aiwork_space_20210204_models.UpdateServiceTemplateRequest, ) -> aiwork_space_20210204_models.UpdateServiceTemplateResponse: """ - @summary 更新服务模版 - - @param request: UpdateServiceTemplateRequest - @return: UpdateServiceTemplateResponse - """ + @summary 更新服务模版 + + @param request: UpdateServiceTemplateRequest + @return: UpdateServiceTemplateResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_service_template_with_options_async(service_template_id, request, headers, runtime) @@ -13125,13 +14098,13 @@ def update_workspace_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceResponse: """ - @summary 更新工作空间 - - @param request: UpdateWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceResponse - """ + @summary 更新工作空间 + + @param request: UpdateWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.description): @@ -13166,13 +14139,13 @@ async def update_workspace_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceResponse: """ - @summary 更新工作空间 - - @param request: UpdateWorkspaceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceResponse - """ + @summary 更新工作空间 + + @param request: UpdateWorkspaceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.description): @@ -13205,11 +14178,11 @@ def update_workspace( request: aiwork_space_20210204_models.UpdateWorkspaceRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceResponse: """ - @summary 更新工作空间 - - @param request: UpdateWorkspaceRequest - @return: UpdateWorkspaceResponse - """ + @summary 更新工作空间 + + @param request: UpdateWorkspaceRequest + @return: UpdateWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_workspace_with_options(workspace_id, request, headers, runtime) @@ -13220,11 +14193,11 @@ async def update_workspace_async( request: aiwork_space_20210204_models.UpdateWorkspaceRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceResponse: """ - @summary 更新工作空间 - - @param request: UpdateWorkspaceRequest - @return: UpdateWorkspaceResponse - """ + @summary 更新工作空间 + + @param request: UpdateWorkspaceRequest + @return: UpdateWorkspaceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_workspace_with_options_async(workspace_id, request, headers, runtime) @@ -13237,13 +14210,13 @@ def update_workspace_resource_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceResourceResponse: """ - @summary 更新工作空间资源 - - @param request: UpdateWorkspaceResourceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceResourceResponse - """ + @summary 更新工作空间资源 + + @param request: UpdateWorkspaceResourceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceResourceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.group_name): @@ -13288,13 +14261,13 @@ async def update_workspace_resource_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceResourceResponse: """ - @summary 更新工作空间资源 - - @param request: UpdateWorkspaceResourceRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceResourceResponse - """ + @summary 更新工作空间资源 + + @param request: UpdateWorkspaceResourceRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceResourceResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.group_name): @@ -13337,11 +14310,11 @@ def update_workspace_resource( request: aiwork_space_20210204_models.UpdateWorkspaceResourceRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceResourceResponse: """ - @summary 更新工作空间资源 - - @param request: UpdateWorkspaceResourceRequest - @return: UpdateWorkspaceResourceResponse - """ + @summary 更新工作空间资源 + + @param request: UpdateWorkspaceResourceRequest + @return: UpdateWorkspaceResourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_workspace_resource_with_options(workspace_id, request, headers, runtime) @@ -13352,11 +14325,11 @@ async def update_workspace_resource_async( request: aiwork_space_20210204_models.UpdateWorkspaceResourceRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceResourceResponse: """ - @summary 更新工作空间资源 - - @param request: UpdateWorkspaceResourceRequest - @return: UpdateWorkspaceResourceResponse - """ + @summary 更新工作空间资源 + + @param request: UpdateWorkspaceResourceRequest + @return: UpdateWorkspaceResourceResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_workspace_resource_with_options_async(workspace_id, request, headers, runtime) @@ -13370,13 +14343,13 @@ def update_workspace_role_with_options( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceRoleResponse: """ - @summary 更新工作空间角色 - - @param request: UpdateWorkspaceRoleRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceRoleResponse - """ + @summary 更新工作空间角色 + + @param request: UpdateWorkspaceRoleRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceRoleResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.module_permissions): @@ -13412,13 +14385,13 @@ async def update_workspace_role_with_options_async( runtime: util_models.RuntimeOptions, ) -> aiwork_space_20210204_models.UpdateWorkspaceRoleResponse: """ - @summary 更新工作空间角色 - - @param request: UpdateWorkspaceRoleRequest - @param headers: map - @param runtime: runtime options for this request RuntimeOptions - @return: UpdateWorkspaceRoleResponse - """ + @summary 更新工作空间角色 + + @param request: UpdateWorkspaceRoleRequest + @param headers: map + @param runtime: runtime options for this request RuntimeOptions + @return: UpdateWorkspaceRoleResponse + """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.module_permissions): @@ -13452,11 +14425,11 @@ def update_workspace_role( request: aiwork_space_20210204_models.UpdateWorkspaceRoleRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceRoleResponse: """ - @summary 更新工作空间角色 - - @param request: UpdateWorkspaceRoleRequest - @return: UpdateWorkspaceRoleResponse - """ + @summary 更新工作空间角色 + + @param request: UpdateWorkspaceRoleRequest + @return: UpdateWorkspaceRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return self.update_workspace_role_with_options(workspace_id, role_id, request, headers, runtime) @@ -13468,11 +14441,11 @@ async def update_workspace_role_async( request: aiwork_space_20210204_models.UpdateWorkspaceRoleRequest, ) -> aiwork_space_20210204_models.UpdateWorkspaceRoleResponse: """ - @summary 更新工作空间角色 - - @param request: UpdateWorkspaceRoleRequest - @return: UpdateWorkspaceRoleResponse - """ + @summary 更新工作空间角色 + + @param request: UpdateWorkspaceRoleRequest + @return: UpdateWorkspaceRoleResponse + """ runtime = util_models.RuntimeOptions() headers = {} return await self.update_workspace_role_with_options_async(workspace_id, role_id, request, headers, runtime) diff --git a/pai/libs/alibabacloud_aiworkspace20210204/models.py b/pai/libs/alibabacloud_aiworkspace20210204/models.py index 257494c..db46cb0 100644 --- a/pai/libs/alibabacloud_aiworkspace20210204/models.py +++ b/pai/libs/alibabacloud_aiworkspace20210204/models.py @@ -193,6 +193,113 @@ def from_map(self, m: dict = None): return self +class DatasetVersion(TeaModel): + def __init__( + self, + data_count: int = None, + data_size: int = None, + data_source_type: str = None, + description: str = None, + gmt_create_time: str = None, + gmt_modified_time: str = None, + labels: List[Label] = None, + options: str = None, + property: str = None, + source_id: str = None, + source_type: str = None, + uri: str = None, + version_name: str = None, + ): + self.data_count = data_count + self.data_size = data_size + self.data_source_type = data_source_type + self.description = description + self.gmt_create_time = gmt_create_time + self.gmt_modified_time = gmt_modified_time + self.labels = labels + self.options = options + self.property = property + self.source_id = source_id + self.source_type = source_type + self.uri = uri + self.version_name = version_name + + def validate(self): + if self.labels: + for k in self.labels: + if k: + k.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.data_count is not None: + result['DataCount'] = self.data_count + if self.data_size is not None: + result['DataSize'] = self.data_size + if self.data_source_type is not None: + result['DataSourceType'] = self.data_source_type + if self.description is not None: + result['Description'] = self.description + if self.gmt_create_time is not None: + result['GmtCreateTime'] = self.gmt_create_time + if self.gmt_modified_time is not None: + result['GmtModifiedTime'] = self.gmt_modified_time + result['Labels'] = [] + if self.labels is not None: + for k in self.labels: + result['Labels'].append(k.to_map() if k else None) + if self.options is not None: + result['Options'] = self.options + if self.property is not None: + result['Property'] = self.property + if self.source_id is not None: + result['SourceId'] = self.source_id + if self.source_type is not None: + result['SourceType'] = self.source_type + if self.uri is not None: + result['Uri'] = self.uri + if self.version_name is not None: + result['VersionName'] = self.version_name + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('DataCount') is not None: + self.data_count = m.get('DataCount') + if m.get('DataSize') is not None: + self.data_size = m.get('DataSize') + if m.get('DataSourceType') is not None: + self.data_source_type = m.get('DataSourceType') + if m.get('Description') is not None: + self.description = m.get('Description') + if m.get('GmtCreateTime') is not None: + self.gmt_create_time = m.get('GmtCreateTime') + if m.get('GmtModifiedTime') is not None: + self.gmt_modified_time = m.get('GmtModifiedTime') + self.labels = [] + if m.get('Labels') is not None: + for k in m.get('Labels'): + temp_model = Label() + self.labels.append(temp_model.from_map(k)) + if m.get('Options') is not None: + self.options = m.get('Options') + if m.get('Property') is not None: + self.property = m.get('Property') + if m.get('SourceId') is not None: + self.source_id = m.get('SourceId') + if m.get('SourceType') is not None: + self.source_type = m.get('SourceType') + if m.get('Uri') is not None: + self.uri = m.get('Uri') + if m.get('VersionName') is not None: + self.version_name = m.get('VersionName') + return self + + class Dataset(TeaModel): def __init__( self, @@ -204,13 +311,17 @@ def __init__( gmt_create_time: str = None, gmt_modified_time: str = None, labels: List[Label] = None, + latest_version: DatasetVersion = None, name: str = None, options: str = None, owner_id: str = None, property: str = None, provider_type: str = None, + source_dataset_id: str = None, + source_dataset_version: str = None, source_id: str = None, source_type: str = None, + tag_template_type: str = None, uri: str = None, user_id: str = None, workspace_id: str = None, @@ -223,13 +334,17 @@ def __init__( self.gmt_create_time = gmt_create_time self.gmt_modified_time = gmt_modified_time self.labels = labels + self.latest_version = latest_version self.name = name self.options = options self.owner_id = owner_id self.property = property self.provider_type = provider_type + self.source_dataset_id = source_dataset_id + self.source_dataset_version = source_dataset_version self.source_id = source_id self.source_type = source_type + self.tag_template_type = tag_template_type self.uri = uri self.user_id = user_id self.workspace_id = workspace_id @@ -239,6 +354,8 @@ def validate(self): for k in self.labels: if k: k.validate() + if self.latest_version: + self.latest_version.validate() def to_map(self): _map = super().to_map() @@ -264,6 +381,8 @@ def to_map(self): if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) + if self.latest_version is not None: + result['LatestVersion'] = self.latest_version.to_map() if self.name is not None: result['Name'] = self.name if self.options is not None: @@ -274,10 +393,16 @@ def to_map(self): result['Property'] = self.property if self.provider_type is not None: result['ProviderType'] = self.provider_type + if self.source_dataset_id is not None: + result['SourceDatasetId'] = self.source_dataset_id + if self.source_dataset_version is not None: + result['SourceDatasetVersion'] = self.source_dataset_version if self.source_id is not None: result['SourceId'] = self.source_id if self.source_type is not None: result['SourceType'] = self.source_type + if self.tag_template_type is not None: + result['TagTemplateType'] = self.tag_template_type if self.uri is not None: result['Uri'] = self.uri if self.user_id is not None: @@ -307,6 +432,9 @@ def from_map(self, m: dict = None): for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) + if m.get('LatestVersion') is not None: + temp_model = DatasetVersion() + self.latest_version = temp_model.from_map(m['LatestVersion']) if m.get('Name') is not None: self.name = m.get('Name') if m.get('Options') is not None: @@ -317,10 +445,16 @@ def from_map(self, m: dict = None): self.property = m.get('Property') if m.get('ProviderType') is not None: self.provider_type = m.get('ProviderType') + if m.get('SourceDatasetId') is not None: + self.source_dataset_id = m.get('SourceDatasetId') + if m.get('SourceDatasetVersion') is not None: + self.source_dataset_version = m.get('SourceDatasetVersion') if m.get('SourceId') is not None: self.source_id = m.get('SourceId') if m.get('SourceType') is not None: self.source_type = m.get('SourceType') + if m.get('TagTemplateType') is not None: + self.tag_template_type = m.get('TagTemplateType') if m.get('Uri') is not None: self.uri = m.get('Uri') if m.get('UserId') is not None: @@ -528,6 +662,90 @@ def from_map(self, m: dict = None): return self +class LineageEntity(TeaModel): + def __init__( + self, + attributes: Dict[str, Any] = None, + entity_type: str = None, + name: str = None, + qualified_name: str = None, + ): + self.attributes = attributes + self.entity_type = entity_type + self.name = name + self.qualified_name = qualified_name + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.attributes is not None: + result['Attributes'] = self.attributes + if self.entity_type is not None: + result['EntityType'] = self.entity_type + if self.name is not None: + result['Name'] = self.name + if self.qualified_name is not None: + result['QualifiedName'] = self.qualified_name + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('Attributes') is not None: + self.attributes = m.get('Attributes') + if m.get('EntityType') is not None: + self.entity_type = m.get('EntityType') + if m.get('Name') is not None: + self.name = m.get('Name') + if m.get('QualifiedName') is not None: + self.qualified_name = m.get('QualifiedName') + return self + + +class LineageRelation(TeaModel): + def __init__( + self, + dest_entity_qualified_name: str = None, + relationship_guid: str = None, + src_entity_qualified_name: str = None, + ): + self.dest_entity_qualified_name = dest_entity_qualified_name + self.relationship_guid = relationship_guid + self.src_entity_qualified_name = src_entity_qualified_name + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.dest_entity_qualified_name is not None: + result['DestEntityQualifiedName'] = self.dest_entity_qualified_name + if self.relationship_guid is not None: + result['RelationshipGuid'] = self.relationship_guid + if self.src_entity_qualified_name is not None: + result['SrcEntityQualifiedName'] = self.src_entity_qualified_name + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('DestEntityQualifiedName') is not None: + self.dest_entity_qualified_name = m.get('DestEntityQualifiedName') + if m.get('RelationshipGuid') is not None: + self.relationship_guid = m.get('RelationshipGuid') + if m.get('SrcEntityQualifiedName') is not None: + self.src_entity_qualified_name = m.get('SrcEntityQualifiedName') + return self + + class ModelVersion(TeaModel): def __init__( self, @@ -924,6 +1142,92 @@ def from_map(self, m: dict = None): return self +class Relation(TeaModel): + def __init__( + self, + err_msg: str = None, + lineage_relation: LineageRelation = None, + result: bool = None, + ): + self.err_msg = err_msg + self.lineage_relation = lineage_relation + self.result = result + + def validate(self): + if self.lineage_relation: + self.lineage_relation.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.err_msg is not None: + result['ErrMsg'] = self.err_msg + if self.lineage_relation is not None: + result['LineageRelation'] = self.lineage_relation.to_map() + if self.result is not None: + result['Result'] = self.result + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('ErrMsg') is not None: + self.err_msg = m.get('ErrMsg') + if m.get('LineageRelation') is not None: + temp_model = LineageRelation() + self.lineage_relation = temp_model.from_map(m['LineageRelation']) + if m.get('Result') is not None: + self.result = m.get('Result') + return self + + +class Relationship(TeaModel): + def __init__( + self, + attributes: Dict[str, Any] = None, + data_channel: str = None, + relationship_guid: str = None, + relationship_type: str = None, + ): + self.attributes = attributes + self.data_channel = data_channel + self.relationship_guid = relationship_guid + self.relationship_type = relationship_type + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.attributes is not None: + result['Attributes'] = self.attributes + if self.data_channel is not None: + result['DataChannel'] = self.data_channel + if self.relationship_guid is not None: + result['RelationshipGuid'] = self.relationship_guid + if self.relationship_type is not None: + result['RelationshipType'] = self.relationship_type + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('Attributes') is not None: + self.attributes = m.get('Attributes') + if m.get('DataChannel') is not None: + self.data_channel = m.get('DataChannel') + if m.get('RelationshipGuid') is not None: + self.relationship_guid = m.get('RelationshipGuid') + if m.get('RelationshipType') is not None: + self.relationship_type = m.get('RelationshipType') + return self + + class Trial(TeaModel): def __init__( self, @@ -1965,6 +2269,8 @@ class CreateDatasetRequest(TeaModel): def __init__( self, accessibility: str = None, + data_count: int = None, + data_size: int = None, data_source_type: str = None, data_type: str = None, description: str = None, @@ -1974,13 +2280,19 @@ def __init__( property: str = None, provider: str = None, provider_type: str = None, + source_dataset_id: str = None, + source_dataset_version: str = None, source_id: str = None, source_type: str = None, uri: str = None, user_id: str = None, + version_description: str = None, + version_labels: List[Label] = None, workspace_id: str = None, ): self.accessibility = accessibility + self.data_count = data_count + self.data_size = data_size # This parameter is required. self.data_source_type = data_source_type self.data_type = data_type @@ -1993,11 +2305,15 @@ def __init__( self.property = property self.provider = provider self.provider_type = provider_type + self.source_dataset_id = source_dataset_id + self.source_dataset_version = source_dataset_version self.source_id = source_id self.source_type = source_type # This parameter is required. self.uri = uri self.user_id = user_id + self.version_description = version_description + self.version_labels = version_labels self.workspace_id = workspace_id def validate(self): @@ -2005,6 +2321,10 @@ def validate(self): for k in self.labels: if k: k.validate() + if self.version_labels: + for k in self.version_labels: + if k: + k.validate() def to_map(self): _map = super().to_map() @@ -2014,6 +2334,10 @@ def to_map(self): result = dict() if self.accessibility is not None: result['Accessibility'] = self.accessibility + if self.data_count is not None: + result['DataCount'] = self.data_count + if self.data_size is not None: + result['DataSize'] = self.data_size if self.data_source_type is not None: result['DataSourceType'] = self.data_source_type if self.data_type is not None: @@ -2034,6 +2358,10 @@ def to_map(self): result['Provider'] = self.provider if self.provider_type is not None: result['ProviderType'] = self.provider_type + if self.source_dataset_id is not None: + result['SourceDatasetId'] = self.source_dataset_id + if self.source_dataset_version is not None: + result['SourceDatasetVersion'] = self.source_dataset_version if self.source_id is not None: result['SourceId'] = self.source_id if self.source_type is not None: @@ -2042,6 +2370,12 @@ def to_map(self): result['Uri'] = self.uri if self.user_id is not None: result['UserId'] = self.user_id + if self.version_description is not None: + result['VersionDescription'] = self.version_description + result['VersionLabels'] = [] + if self.version_labels is not None: + for k in self.version_labels: + result['VersionLabels'].append(k.to_map() if k else None) if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result @@ -2050,6 +2384,10 @@ def from_map(self, m: dict = None): m = m or dict() if m.get('Accessibility') is not None: self.accessibility = m.get('Accessibility') + if m.get('DataCount') is not None: + self.data_count = m.get('DataCount') + if m.get('DataSize') is not None: + self.data_size = m.get('DataSize') if m.get('DataSourceType') is not None: self.data_source_type = m.get('DataSourceType') if m.get('DataType') is not None: @@ -2071,6 +2409,10 @@ def from_map(self, m: dict = None): self.provider = m.get('Provider') if m.get('ProviderType') is not None: self.provider_type = m.get('ProviderType') + if m.get('SourceDatasetId') is not None: + self.source_dataset_id = m.get('SourceDatasetId') + if m.get('SourceDatasetVersion') is not None: + self.source_dataset_version = m.get('SourceDatasetVersion') if m.get('SourceId') is not None: self.source_id = m.get('SourceId') if m.get('SourceType') is not None: @@ -2079,6 +2421,13 @@ def from_map(self, m: dict = None): self.uri = m.get('Uri') if m.get('UserId') is not None: self.user_id = m.get('UserId') + if m.get('VersionDescription') is not None: + self.version_description = m.get('VersionDescription') + self.version_labels = [] + if m.get('VersionLabels') is not None: + for k in m.get('VersionLabels'): + temp_model = Label() + self.version_labels.append(temp_model.from_map(k)) if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self @@ -2461,16 +2810,286 @@ def to_map(self): def from_map(self, m: dict = None): m = m or dict() - if m.get('AccessToken') is not None: - self.access_token = m.get('AccessToken') - if m.get('Message') is not None: - self.message = m.get('Message') - if m.get('Secret') is not None: - self.secret = m.get('Secret') + if m.get('AccessToken') is not None: + self.access_token = m.get('AccessToken') + if m.get('Message') is not None: + self.message = m.get('Message') + if m.get('Secret') is not None: + self.secret = m.get('Secret') + return self + + +class CreateDingTalkRobotMessageResponseBody(TeaModel): + def __init__( + self, + request_id: str = None, + ): + self.request_id = request_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class CreateDingTalkRobotMessageResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: CreateDingTalkRobotMessageResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = CreateDingTalkRobotMessageResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + +class CreateDatasetVersionRequest(TeaModel): + def __init__( + self, + data_count: int = None, + data_size: int = None, + data_source_type: str = None, + description: str = None, + labels: List[Label] = None, + options: str = None, + property: str = None, + source_id: str = None, + source_type: str = None, + uri: str = None, + ): + self.data_count = data_count + self.data_size = data_size + # This parameter is required. + self.data_source_type = data_source_type + self.description = description + self.labels = labels + self.options = options + # This parameter is required. + self.property = property + self.source_id = source_id + self.source_type = source_type + # This parameter is required. + self.uri = uri + + def validate(self): + if self.labels: + for k in self.labels: + if k: + k.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.data_count is not None: + result['DataCount'] = self.data_count + if self.data_size is not None: + result['DataSize'] = self.data_size + if self.data_source_type is not None: + result['DataSourceType'] = self.data_source_type + if self.description is not None: + result['Description'] = self.description + result['Labels'] = [] + if self.labels is not None: + for k in self.labels: + result['Labels'].append(k.to_map() if k else None) + if self.options is not None: + result['Options'] = self.options + if self.property is not None: + result['Property'] = self.property + if self.source_id is not None: + result['SourceId'] = self.source_id + if self.source_type is not None: + result['SourceType'] = self.source_type + if self.uri is not None: + result['Uri'] = self.uri + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('DataCount') is not None: + self.data_count = m.get('DataCount') + if m.get('DataSize') is not None: + self.data_size = m.get('DataSize') + if m.get('DataSourceType') is not None: + self.data_source_type = m.get('DataSourceType') + if m.get('Description') is not None: + self.description = m.get('Description') + self.labels = [] + if m.get('Labels') is not None: + for k in m.get('Labels'): + temp_model = Label() + self.labels.append(temp_model.from_map(k)) + if m.get('Options') is not None: + self.options = m.get('Options') + if m.get('Property') is not None: + self.property = m.get('Property') + if m.get('SourceId') is not None: + self.source_id = m.get('SourceId') + if m.get('SourceType') is not None: + self.source_type = m.get('SourceType') + if m.get('Uri') is not None: + self.uri = m.get('Uri') + return self + + +class CreateDatasetVersionResponseBody(TeaModel): + def __init__( + self, + request_id: str = None, + version_name: str = None, + ): + self.request_id = request_id + self.version_name = version_name + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.request_id is not None: + result['RequestId'] = self.request_id + if self.version_name is not None: + result['VersionName'] = self.version_name + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + if m.get('VersionName') is not None: + self.version_name = m.get('VersionName') + return self + + +class CreateDatasetVersionResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: CreateDatasetVersionResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = CreateDatasetVersionResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + +class CreateDatasetVersionLabelsRequest(TeaModel): + def __init__( + self, + labels: List[Label] = None, + ): + # This parameter is required. + self.labels = labels + + def validate(self): + if self.labels: + for k in self.labels: + if k: + k.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + result['Labels'] = [] + if self.labels is not None: + for k in self.labels: + result['Labels'].append(k.to_map() if k else None) + return result + + def from_map(self, m: dict = None): + m = m or dict() + self.labels = [] + if m.get('Labels') is not None: + for k in m.get('Labels'): + temp_model = Label() + self.labels.append(temp_model.from_map(k)) return self -class CreateDingTalkRobotMessageResponseBody(TeaModel): +class CreateDatasetVersionLabelsResponseBody(TeaModel): def __init__( self, request_id: str = None, @@ -2497,12 +3116,12 @@ def from_map(self, m: dict = None): return self -class CreateDingTalkRobotMessageResponse(TeaModel): +class CreateDatasetVersionLabelsResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, - body: CreateDingTalkRobotMessageResponseBody = None, + body: CreateDatasetVersionLabelsResponseBody = None, ): self.headers = headers self.status_code = status_code @@ -2533,7 +3152,7 @@ def from_map(self, m: dict = None): if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: - temp_model = CreateDingTalkRobotMessageResponseBody() + temp_model = CreateDatasetVersionLabelsResponseBody() self.body = temp_model.from_map(m['body']) return self @@ -5227,10 +5846,8 @@ def from_map(self, m: dict = None): class DeleteDatasetLabelsRequest(TeaModel): def __init__( self, - keys: str = None, label_keys: str = None, ): - self.keys = keys self.label_keys = label_keys def validate(self): @@ -5242,16 +5859,12 @@ def to_map(self): return _map result = dict() - if self.keys is not None: - result['Keys'] = self.keys if self.label_keys is not None: result['LabelKeys'] = self.label_keys return result def from_map(self, m: dict = None): m = m or dict() - if m.get('Keys') is not None: - self.keys = m.get('Keys') if m.get('LabelKeys') is not None: self.label_keys = m.get('LabelKeys') return self @@ -5325,6 +5938,170 @@ def from_map(self, m: dict = None): return self +class DeleteDatasetVersionResponseBody(TeaModel): + def __init__( + self, + request_id: str = None, + ): + self.request_id = request_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class DeleteDatasetVersionResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: DeleteDatasetVersionResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = DeleteDatasetVersionResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + +class DeleteDatasetVersionLabelsRequest(TeaModel): + def __init__( + self, + keys: str = None, + ): + # This parameter is required. + self.keys = keys + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.keys is not None: + result['Keys'] = self.keys + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('Keys') is not None: + self.keys = m.get('Keys') + return self + + +class DeleteDatasetVersionLabelsResponseBody(TeaModel): + def __init__( + self, + request_id: str = None, + ): + self.request_id = request_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class DeleteDatasetVersionLabelsResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: DeleteDatasetVersionLabelsResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = DeleteDatasetVersionLabelsResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + class DeleteExperimentResponseBody(TeaModel): def __init__( self, @@ -7204,14 +7981,19 @@ def __init__( gmt_create_time: str = None, gmt_modified_time: str = None, labels: List[Label] = None, + latest_version: DatasetVersion = None, name: str = None, options: str = None, owner_id: str = None, property: str = None, + provider: str = None, provider_type: str = None, request_id: str = None, + source_dataset_id: str = None, + source_dataset_version: str = None, source_id: str = None, source_type: str = None, + tag_template_type: str = None, uri: str = None, user_id: str = None, workspace_id: str = None, @@ -7224,14 +8006,19 @@ def __init__( self.gmt_create_time = gmt_create_time self.gmt_modified_time = gmt_modified_time self.labels = labels + self.latest_version = latest_version self.name = name self.options = options self.owner_id = owner_id self.property = property + self.provider = provider self.provider_type = provider_type self.request_id = request_id + self.source_dataset_id = source_dataset_id + self.source_dataset_version = source_dataset_version self.source_id = source_id self.source_type = source_type + self.tag_template_type = tag_template_type self.uri = uri self.user_id = user_id self.workspace_id = workspace_id @@ -7241,6 +8028,8 @@ def validate(self): for k in self.labels: if k: k.validate() + if self.latest_version: + self.latest_version.validate() def to_map(self): _map = super().to_map() @@ -7266,6 +8055,8 @@ def to_map(self): if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) + if self.latest_version is not None: + result['LatestVersion'] = self.latest_version.to_map() if self.name is not None: result['Name'] = self.name if self.options is not None: @@ -7274,14 +8065,22 @@ def to_map(self): result['OwnerId'] = self.owner_id if self.property is not None: result['Property'] = self.property + if self.provider is not None: + result['Provider'] = self.provider if self.provider_type is not None: result['ProviderType'] = self.provider_type if self.request_id is not None: result['RequestId'] = self.request_id + if self.source_dataset_id is not None: + result['SourceDatasetId'] = self.source_dataset_id + if self.source_dataset_version is not None: + result['SourceDatasetVersion'] = self.source_dataset_version if self.source_id is not None: result['SourceId'] = self.source_id if self.source_type is not None: result['SourceType'] = self.source_type + if self.tag_template_type is not None: + result['TagTemplateType'] = self.tag_template_type if self.uri is not None: result['Uri'] = self.uri if self.user_id is not None: @@ -7311,6 +8110,9 @@ def from_map(self, m: dict = None): for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) + if m.get('LatestVersion') is not None: + temp_model = DatasetVersion() + self.latest_version = temp_model.from_map(m['LatestVersion']) if m.get('Name') is not None: self.name = m.get('Name') if m.get('Options') is not None: @@ -7319,14 +8121,22 @@ def from_map(self, m: dict = None): self.owner_id = m.get('OwnerId') if m.get('Property') is not None: self.property = m.get('Property') + if m.get('Provider') is not None: + self.provider = m.get('Provider') if m.get('ProviderType') is not None: self.provider_type = m.get('ProviderType') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') + if m.get('SourceDatasetId') is not None: + self.source_dataset_id = m.get('SourceDatasetId') + if m.get('SourceDatasetVersion') is not None: + self.source_dataset_version = m.get('SourceDatasetVersion') if m.get('SourceId') is not None: self.source_id = m.get('SourceId') if m.get('SourceType') is not None: self.source_type = m.get('SourceType') + if m.get('TagTemplateType') is not None: + self.tag_template_type = m.get('TagTemplateType') if m.get('Uri') is not None: self.uri = m.get('Uri') if m.get('UserId') is not None: @@ -7382,10 +8192,75 @@ def __init__( self, workspace_id: str = None, ): - self.workspace_id = workspace_id + self.workspace_id = workspace_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.workspace_id is not None: + result['WorkspaceId'] = self.workspace_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('WorkspaceId') is not None: + self.workspace_id = m.get('WorkspaceId') + return self + + +class GetDatasetsStatisticsResponseBody(TeaModel): + def __init__( + self, + count: int = None, + request_id: str = None, + ): + self.count = count + self.request_id = request_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.count is not None: + result['Count'] = self.count + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('Count') is not None: + self.count = m.get('Count') + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class GetDatasetsStatisticsResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: GetDatasetsStatisticsResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body def validate(self): - pass + if self.body: + self.body.validate() def to_map(self): _map = super().to_map() @@ -7393,28 +8268,99 @@ def to_map(self): return _map result = dict() - if self.workspace_id is not None: - result['WorkspaceId'] = self.workspace_id + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() - if m.get('WorkspaceId') is not None: - self.workspace_id = m.get('WorkspaceId') + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = GetDatasetsStatisticsResponseBody() + self.body = temp_model.from_map(m['body']) return self -class GetDatasetsStatisticsResponseBody(TeaModel): +class GetDatasetVersionResponseBody(TeaModel): def __init__( self, - count: int = None, + data_count: int = None, + data_size: int = None, + data_source_type: str = None, + dataset_id: str = None, + description: str = None, + gmt_create_time: str = None, + gmt_modified_time: str = None, + labels: List[Label] = None, + options: str = None, + property: str = None, request_id: str = None, + source_id: str = None, + source_type: str = None, + uri: str = None, + version_name: str = None, ): - self.count = count + # 数据集的数据量 + self.data_count = data_count + # 数据集版本的数据大小。 + self.data_size = data_size + # 数据源类型。支持以下取值: + # - OSS:阿里云对象存储(OSS)。 + # - NAS:阿里云文件存储(NAS)。 + # + # This parameter is required. + self.data_source_type = data_source_type + # 代表资源一级ID的资源属性字段 + self.dataset_id = dataset_id + # 数据集版本的描述信息。 + self.description = description + self.gmt_create_time = gmt_create_time + # 创建时间。 + self.gmt_modified_time = gmt_modified_time + # 代表资源标签的资源属性字段 + self.labels = labels + # 扩展字段,JsonString类型。 + # 当DLC使用数据集时,可通过配置mountPath字段指定数据集默认挂载路径。 + self.options = options + # 数据集的属性。支持以下取值: + # - FILE:文件。 + # - DIRECTORY:文件夹。 + # + # This parameter is required. + self.property = property self.request_id = request_id + # 数据来源ID。 + self.source_id = source_id + # 数据来源类型,默认为USER。支持以下取值: + # - PAI-PUBLIC-DATASET:PAI公共数据集。 + # - ITAG:iTAG模块标注结果生成的数据集。 + # - USER:用户注册的数据集。 + self.source_type = source_type + # Uri配置样例如下: + # - 数据源类型为OSS:`oss://bucket.endpoint/object` + # - 数据源类型为NAS: + # 通用型NAS格式为:`nas://.region/subpath/to/dir/`; + # CPFS1.0:`nas://.region/subpath/to/dir/`; + # CPFS2.0:`nas://.region//`。 + # CPFS1.0和CPFS2.0根据fsid的格式来区分:CPFS1.0 格式为cpfs-<8位ascii字符>;CPFS2.0 格式为cpfs-<16为ascii字符>。 + # + # This parameter is required. + self.uri = uri + # 代表资源名称的资源属性字段 + self.version_name = version_name def validate(self): - pass + if self.labels: + for k in self.labels: + if k: + k.validate() def to_map(self): _map = super().to_map() @@ -7422,27 +8368,84 @@ def to_map(self): return _map result = dict() - if self.count is not None: - result['Count'] = self.count + if self.data_count is not None: + result['DataCount'] = self.data_count + if self.data_size is not None: + result['DataSize'] = self.data_size + if self.data_source_type is not None: + result['DataSourceType'] = self.data_source_type + if self.dataset_id is not None: + result['DatasetId'] = self.dataset_id + if self.description is not None: + result['Description'] = self.description + if self.gmt_create_time is not None: + result['GmtCreateTime'] = self.gmt_create_time + if self.gmt_modified_time is not None: + result['GmtModifiedTime'] = self.gmt_modified_time + result['Labels'] = [] + if self.labels is not None: + for k in self.labels: + result['Labels'].append(k.to_map() if k else None) + if self.options is not None: + result['Options'] = self.options + if self.property is not None: + result['Property'] = self.property if self.request_id is not None: result['RequestId'] = self.request_id + if self.source_id is not None: + result['SourceId'] = self.source_id + if self.source_type is not None: + result['SourceType'] = self.source_type + if self.uri is not None: + result['Uri'] = self.uri + if self.version_name is not None: + result['VersionName'] = self.version_name return result def from_map(self, m: dict = None): m = m or dict() - if m.get('Count') is not None: - self.count = m.get('Count') + if m.get('DataCount') is not None: + self.data_count = m.get('DataCount') + if m.get('DataSize') is not None: + self.data_size = m.get('DataSize') + if m.get('DataSourceType') is not None: + self.data_source_type = m.get('DataSourceType') + if m.get('DatasetId') is not None: + self.dataset_id = m.get('DatasetId') + if m.get('Description') is not None: + self.description = m.get('Description') + if m.get('GmtCreateTime') is not None: + self.gmt_create_time = m.get('GmtCreateTime') + if m.get('GmtModifiedTime') is not None: + self.gmt_modified_time = m.get('GmtModifiedTime') + self.labels = [] + if m.get('Labels') is not None: + for k in m.get('Labels'): + temp_model = Label() + self.labels.append(temp_model.from_map(k)) + if m.get('Options') is not None: + self.options = m.get('Options') + if m.get('Property') is not None: + self.property = m.get('Property') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') + if m.get('SourceId') is not None: + self.source_id = m.get('SourceId') + if m.get('SourceType') is not None: + self.source_type = m.get('SourceType') + if m.get('Uri') is not None: + self.uri = m.get('Uri') + if m.get('VersionName') is not None: + self.version_name = m.get('VersionName') return self -class GetDatasetsStatisticsResponse(TeaModel): +class GetDatasetVersionResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, - body: GetDatasetsStatisticsResponseBody = None, + body: GetDatasetVersionResponseBody = None, ): self.headers = headers self.status_code = status_code @@ -7473,7 +8476,7 @@ def from_map(self, m: dict = None): if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: - temp_model = GetDatasetsStatisticsResponseBody() + temp_model = GetDatasetVersionResponseBody() self.body = temp_model.from_map(m['body']) return self @@ -10889,20 +11892,195 @@ def from_map(self, m: dict = None): return self -class ListConfigsResponseBody(TeaModel): +class ListConfigsResponseBody(TeaModel): + def __init__( + self, + configs: List[ListConfigsResponseBodyConfigs] = None, + request_id: str = None, + total_count: int = None, + ): + self.configs = configs + self.request_id = request_id + self.total_count = total_count + + def validate(self): + if self.configs: + for k in self.configs: + if k: + k.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + result['Configs'] = [] + if self.configs is not None: + for k in self.configs: + result['Configs'].append(k.to_map() if k else None) + if self.request_id is not None: + result['RequestId'] = self.request_id + if self.total_count is not None: + result['TotalCount'] = self.total_count + return result + + def from_map(self, m: dict = None): + m = m or dict() + self.configs = [] + if m.get('Configs') is not None: + for k in m.get('Configs'): + temp_model = ListConfigsResponseBodyConfigs() + self.configs.append(temp_model.from_map(k)) + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + if m.get('TotalCount') is not None: + self.total_count = m.get('TotalCount') + return self + + +class ListConfigsResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: ListConfigsResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = ListConfigsResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + +class ListDatasetVersionsRequest(TeaModel): + def __init__( + self, + data_sources_types: str = None, + label_keys: str = None, + lable_values: str = None, + order: str = None, + page_number: int = None, + page_size: int = None, + properties: str = None, + sort_by: str = None, + source_id: str = None, + source_types: str = None, + ): + self.data_sources_types = data_sources_types + self.label_keys = label_keys + self.lable_values = lable_values + self.order = order + # This parameter is required. + self.page_number = page_number + # This parameter is required. + self.page_size = page_size + self.properties = properties + self.sort_by = sort_by + self.source_id = source_id + self.source_types = source_types + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.data_sources_types is not None: + result['DataSourcesTypes'] = self.data_sources_types + if self.label_keys is not None: + result['LabelKeys'] = self.label_keys + if self.lable_values is not None: + result['LableValues'] = self.lable_values + if self.order is not None: + result['Order'] = self.order + if self.page_number is not None: + result['PageNumber'] = self.page_number + if self.page_size is not None: + result['PageSize'] = self.page_size + if self.properties is not None: + result['Properties'] = self.properties + if self.sort_by is not None: + result['SortBy'] = self.sort_by + if self.source_id is not None: + result['SourceId'] = self.source_id + if self.source_types is not None: + result['SourceTypes'] = self.source_types + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('DataSourcesTypes') is not None: + self.data_sources_types = m.get('DataSourcesTypes') + if m.get('LabelKeys') is not None: + self.label_keys = m.get('LabelKeys') + if m.get('LableValues') is not None: + self.lable_values = m.get('LableValues') + if m.get('Order') is not None: + self.order = m.get('Order') + if m.get('PageNumber') is not None: + self.page_number = m.get('PageNumber') + if m.get('PageSize') is not None: + self.page_size = m.get('PageSize') + if m.get('Properties') is not None: + self.properties = m.get('Properties') + if m.get('SortBy') is not None: + self.sort_by = m.get('SortBy') + if m.get('SourceId') is not None: + self.source_id = m.get('SourceId') + if m.get('SourceTypes') is not None: + self.source_types = m.get('SourceTypes') + return self + + +class ListDatasetVersionsResponseBody(TeaModel): def __init__( self, - configs: List[ListConfigsResponseBodyConfigs] = None, + dataset_versions: List[DatasetVersion] = None, + page_number: int = None, + page_size: int = None, request_id: str = None, total_count: int = None, ): - self.configs = configs + self.dataset_versions = dataset_versions + self.page_number = page_number + self.page_size = page_size self.request_id = request_id self.total_count = total_count def validate(self): - if self.configs: - for k in self.configs: + if self.dataset_versions: + for k in self.dataset_versions: if k: k.validate() @@ -10912,10 +12090,14 @@ def to_map(self): return _map result = dict() - result['Configs'] = [] - if self.configs is not None: - for k in self.configs: - result['Configs'].append(k.to_map() if k else None) + result['DatasetVersions'] = [] + if self.dataset_versions is not None: + for k in self.dataset_versions: + result['DatasetVersions'].append(k.to_map() if k else None) + if self.page_number is not None: + result['PageNumber'] = self.page_number + if self.page_size is not None: + result['PageSize'] = self.page_size if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: @@ -10924,11 +12106,15 @@ def to_map(self): def from_map(self, m: dict = None): m = m or dict() - self.configs = [] - if m.get('Configs') is not None: - for k in m.get('Configs'): - temp_model = ListConfigsResponseBodyConfigs() - self.configs.append(temp_model.from_map(k)) + self.dataset_versions = [] + if m.get('DatasetVersions') is not None: + for k in m.get('DatasetVersions'): + temp_model = DatasetVersion() + self.dataset_versions.append(temp_model.from_map(k)) + if m.get('PageNumber') is not None: + self.page_number = m.get('PageNumber') + if m.get('PageSize') is not None: + self.page_size = m.get('PageSize') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: @@ -10936,12 +12122,12 @@ def from_map(self, m: dict = None): return self -class ListConfigsResponse(TeaModel): +class ListDatasetVersionsResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, - body: ListConfigsResponseBody = None, + body: ListDatasetVersionsResponseBody = None, ): self.headers = headers self.status_code = status_code @@ -10972,7 +12158,7 @@ def from_map(self, m: dict = None): if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: - temp_model = ListConfigsResponseBody() + temp_model = ListDatasetVersionsResponseBody() self.body = temp_model.from_map(m['body']) return self @@ -10983,14 +12169,13 @@ def __init__( data_source_types: str = None, data_types: str = None, label: str = None, - label_keys: str = None, - label_values: str = None, name: str = None, order: str = None, page_number: int = None, page_size: int = None, properties: str = None, provider: str = None, + source_dataset_id: str = None, source_id: str = None, source_types: str = None, workspace_id: str = None, @@ -10998,14 +12183,13 @@ def __init__( self.data_source_types = data_source_types self.data_types = data_types self.label = label - self.label_keys = label_keys - self.label_values = label_values self.name = name self.order = order self.page_number = page_number self.page_size = page_size self.properties = properties self.provider = provider + self.source_dataset_id = source_dataset_id self.source_id = source_id self.source_types = source_types self.workspace_id = workspace_id @@ -11025,10 +12209,6 @@ def to_map(self): result['DataTypes'] = self.data_types if self.label is not None: result['Label'] = self.label - if self.label_keys is not None: - result['LabelKeys'] = self.label_keys - if self.label_values is not None: - result['LabelValues'] = self.label_values if self.name is not None: result['Name'] = self.name if self.order is not None: @@ -11041,6 +12221,8 @@ def to_map(self): result['Properties'] = self.properties if self.provider is not None: result['Provider'] = self.provider + if self.source_dataset_id is not None: + result['SourceDatasetId'] = self.source_dataset_id if self.source_id is not None: result['SourceId'] = self.source_id if self.source_types is not None: @@ -11057,10 +12239,6 @@ def from_map(self, m: dict = None): self.data_types = m.get('DataTypes') if m.get('Label') is not None: self.label = m.get('Label') - if m.get('LabelKeys') is not None: - self.label_keys = m.get('LabelKeys') - if m.get('LabelValues') is not None: - self.label_values = m.get('LabelValues') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Order') is not None: @@ -11073,6 +12251,8 @@ def from_map(self, m: dict = None): self.properties = m.get('Properties') if m.get('Provider') is not None: self.provider = m.get('Provider') + if m.get('SourceDatasetId') is not None: + self.source_dataset_id = m.get('SourceDatasetId') if m.get('SourceId') is not None: self.source_id = m.get('SourceId') if m.get('SourceTypes') is not None: @@ -15618,7 +16798,8 @@ class ListWorkspaceRolesResponseBodyRolesModulePermissionsPermissions(TeaModel): def __init__( self, permission_codes: List[str] = None, - permission_rules: List[ListWorkspaceRolesResponseBodyRolesModulePermissionsPermissionsPermissionRules] = None, + permission_rules: List[ + ListWorkspaceRolesResponseBodyRolesModulePermissionsPermissionsPermissionRules] = None, ): self.permission_codes = permission_codes self.permission_rules = permission_rules @@ -16630,6 +17811,186 @@ def from_map(self, m: dict = None): return self +class RegisterLineageRequest(TeaModel): + def __init__( + self, + attributes: Dict[str, Any] = None, + input_entities: List[LineageEntity] = None, + name: str = None, + output_entities: List[LineageEntity] = None, + qualified_name: str = None, + register_task_as_entity: bool = None, + ): + self.attributes = attributes + # This parameter is required. + self.input_entities = input_entities + self.name = name + # This parameter is required. + self.output_entities = output_entities + # This parameter is required. + self.qualified_name = qualified_name + self.register_task_as_entity = register_task_as_entity + + def validate(self): + if self.input_entities: + for k in self.input_entities: + if k: + k.validate() + if self.output_entities: + for k in self.output_entities: + if k: + k.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.attributes is not None: + result['Attributes'] = self.attributes + result['InputEntities'] = [] + if self.input_entities is not None: + for k in self.input_entities: + result['InputEntities'].append(k.to_map() if k else None) + if self.name is not None: + result['Name'] = self.name + result['OutputEntities'] = [] + if self.output_entities is not None: + for k in self.output_entities: + result['OutputEntities'].append(k.to_map() if k else None) + if self.qualified_name is not None: + result['QualifiedName'] = self.qualified_name + if self.register_task_as_entity is not None: + result['RegisterTaskAsEntity'] = self.register_task_as_entity + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('Attributes') is not None: + self.attributes = m.get('Attributes') + self.input_entities = [] + if m.get('InputEntities') is not None: + for k in m.get('InputEntities'): + temp_model = LineageEntity() + self.input_entities.append(temp_model.from_map(k)) + if m.get('Name') is not None: + self.name = m.get('Name') + self.output_entities = [] + if m.get('OutputEntities') is not None: + for k in m.get('OutputEntities'): + temp_model = LineageEntity() + self.output_entities.append(temp_model.from_map(k)) + if m.get('QualifiedName') is not None: + self.qualified_name = m.get('QualifiedName') + if m.get('RegisterTaskAsEntity') is not None: + self.register_task_as_entity = m.get('RegisterTaskAsEntity') + return self + + +class RegisterLineageResponseBody(TeaModel): + def __init__( + self, + all_success: bool = None, + entity_map: Dict[str, Any] = None, + relations: List[Relation] = None, + relationship: Relationship = None, + request_id: str = None, + ): + self.all_success = all_success + self.entity_map = entity_map + self.relations = relations + self.relationship = relationship + self.request_id = request_id + + def validate(self): + if self.relations: + for k in self.relations: + if k: + k.validate() + if self.relationship: + self.relationship.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.all_success is not None: + result['AllSuccess'] = self.all_success + if self.entity_map is not None: + result['EntityMap'] = self.entity_map + result['Relations'] = [] + if self.relations is not None: + for k in self.relations: + result['Relations'].append(k.to_map() if k else None) + if self.relationship is not None: + result['Relationship'] = self.relationship.to_map() + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('AllSuccess') is not None: + self.all_success = m.get('AllSuccess') + if m.get('EntityMap') is not None: + self.entity_map = m.get('EntityMap') + self.relations = [] + if m.get('Relations') is not None: + for k in m.get('Relations'): + temp_model = Relation() + self.relations.append(temp_model.from_map(k)) + if m.get('Relationship') is not None: + temp_model = Relationship() + self.relationship = temp_model.from_map(m['Relationship']) + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class RegisterLineageResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: RegisterLineageResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = RegisterLineageResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + class RemoveImageResponseBody(TeaModel): def __init__( self, @@ -17608,6 +18969,119 @@ def from_map(self, m: dict = None): return self +class UpdateDatasetVersionRequest(TeaModel): + def __init__( + self, + data_count: int = None, + data_size: int = None, + description: str = None, + options: str = None, + ): + self.data_count = data_count + self.data_size = data_size + self.description = description + self.options = options + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.data_count is not None: + result['DataCount'] = self.data_count + if self.data_size is not None: + result['DataSize'] = self.data_size + if self.description is not None: + result['Description'] = self.description + if self.options is not None: + result['Options'] = self.options + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('DataCount') is not None: + self.data_count = m.get('DataCount') + if m.get('DataSize') is not None: + self.data_size = m.get('DataSize') + if m.get('Description') is not None: + self.description = m.get('Description') + if m.get('Options') is not None: + self.options = m.get('Options') + return self + + +class UpdateDatasetVersionResponseBody(TeaModel): + def __init__( + self, + request_id: str = None, + ): + self.request_id = request_id + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.request_id is not None: + result['RequestId'] = self.request_id + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('RequestId') is not None: + self.request_id = m.get('RequestId') + return self + + +class UpdateDatasetVersionResponse(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + status_code: int = None, + body: UpdateDatasetVersionResponseBody = None, + ): + self.headers = headers + self.status_code = status_code + self.body = body + + def validate(self): + if self.body: + self.body.validate() + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + if self.status_code is not None: + result['statusCode'] = self.status_code + if self.body is not None: + result['body'] = self.body.to_map() + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + if m.get('statusCode') is not None: + self.status_code = m.get('statusCode') + if m.get('body') is not None: + temp_model = UpdateDatasetVersionResponseBody() + self.body = temp_model.from_map(m['body']) + return self + + class UpdateDefaultWorkspaceRequest(TeaModel): def __init__( self, @@ -18948,5 +20422,3 @@ def from_map(self, m: dict = None): temp_model = UpdateWorkspaceRoleResponseBody() self.body = temp_model.from_map(m['body']) return self - - diff --git a/pai/session.py b/pai/session.py index 8e2ad01..32728d7 100644 --- a/pai/session.py +++ b/pai/session.py @@ -45,7 +45,6 @@ INNER_REGION_IDS = ["center"] - # Global default session used by the program. _default_session = None @@ -170,25 +169,13 @@ def _init_default_session_from_env() -> Optional["Session"]: logger.debug("Not found credential from default credential provider chain.") return - # legacy region id env var in DSW - region_id = os.getenv("dsw_region") - region_id = os.getenv("REGION", region_id) + region_id = _get_current_region_id() if not region_id: logger.debug( "No region id found(env var: REGION or dsw_region), skip init default session" ) return - dsw_instance_id = os.getenv("DSW_INSTANCE_ID") - if not dsw_instance_id: - logger.debug( - "No dsw instance id (env var: DSW_INSTANCE_ID) found, skip init default session" - ) - return - - workspace_id = os.getenv("PAI_AI_WORKSPACE_ID") - workspace_id = os.getenv("PAI_WORKSPACE_ID", workspace_id) - network = ( Network.VPC if is_domain_connectable( @@ -198,19 +185,31 @@ def _init_default_session_from_env() -> Optional["Session"]: else Network.PUBLIC ) - if dsw_instance_id and not workspace_id: - logger.debug("Getting workspace id by dsw instance id: %s", dsw_instance_id) - workspace_id = Session._get_workspace_id_by_dsw_instance_id( - dsw_instance_id=dsw_instance_id, - cred=credential_client, - region_id=region_id, - network=network, - ) - if not workspace_id: - logger.warning( - "Failed to get workspace id by dsw instance id: %s", dsw_instance_id + workspace_id = _get_current_workspace_id() + + dsw_instance_id = _get_dsw_instance_id() + if _is_running_in_dsw(): + if dsw_instance_id and not workspace_id: + logger.debug("Getting workspace id by dsw instance id: %s", dsw_instance_id) + workspace_id = Session._get_workspace_id_by_dsw_instance_id( + dsw_instance_id=dsw_instance_id, + cred=credential_client, + region_id=region_id, + network=network, ) - return + if not workspace_id: + logger.warning( + "Failed to get workspace id by dsw instance id: %s", dsw_instance_id + ) + return + elif _is_running_in_dlc(): + pass + else: + logger.debug( + "No dsw instance id (env var: DSW_INSTANCE_ID) found, skip init default session" + ) + return + bucket_name, oss_endpoint = Session.get_default_oss_storage( workspace_id, credential_client, region_id, network ) @@ -232,10 +231,10 @@ def _init_default_session_from_env() -> Optional["Session"]: return sess -def load_default_config_file() -> Optional[Dict[str, Any]]: +def load_default_config_file( + config_path: Optional[str] = DEFAULT_CONFIG_PATH, +) -> Optional[Dict[str, Any]]: """Read config file""" - - config_path = DEFAULT_CONFIG_PATH if not os.path.exists(config_path): return @@ -256,6 +255,36 @@ def load_default_config_file() -> Optional[Dict[str, Any]]: return config +def _is_running_in_dlc() -> bool: + return os.environ.get("DLC_JOB_ID") is not None + + +def _is_running_in_dsw() -> bool: + return os.environ.get("DSW_INSTANCE_ID") is not None + + +def _get_current_region_id() -> str: + # legacy region id env var in DSW + region_id = os.getenv("dsw_region") + region_id = os.getenv("REGION", region_id) + return region_id + + +def _get_current_workspace_id() -> str: + # legacy workspace id + workspace_id = os.getenv("PAI_AI_WORKSPACE_ID") + workspace_id = os.getenv("PAI_WORKSPACE_ID", workspace_id) + return workspace_id + + +def _get_dlc_job_id() -> str: + return os.environ.get("DLC_JOB_ID") + + +def _get_dsw_instance_id() -> str: + return os.environ.get("DSW_INSTANCE_ID") + + class Session(ResourceAPIsContainerMixin): """A class responsible for communicating with PAI services.""" diff --git a/pai/tracking/__init__.py b/pai/tracking/__init__.py new file mode 100644 index 0000000..529534f --- /dev/null +++ b/pai/tracking/__init__.py @@ -0,0 +1 @@ +from .lineage import LineageEntity, log_lineage diff --git a/pai/tracking/lineage.py b/pai/tracking/lineage.py new file mode 100644 index 0000000..6753237 --- /dev/null +++ b/pai/tracking/lineage.py @@ -0,0 +1,358 @@ +# Copyright 2023 Alibaba, Inc. or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import json +from dataclasses import dataclass +from typing import List, Optional + +from Tea.exceptions import TeaException + +from pai.api.lineage import _LineageEntity +from pai.common.logging import get_logger +from pai.common.utils import ( + parse_bmcpfs_uri, + parse_cpfs_uri, + parse_local_file_uri, + parse_nas_uri, + parse_odps_uri, + parse_oss_uri, + parse_pai_dataset_uri, +) +from pai.session import ( + _get_current_region_id, + _get_dlc_job_id, + _is_running_in_dlc, + get_default_session, +) + +logger = get_logger(__name__) + +# Global default Lineage object used by the program. +_default_lineage = None + + +@dataclass +class LineageEntity: + """ + LineageEntity is a class representing lineage entities, including local file paths, datasets, OSS files, NAS files, CPFS, and MaxCompute resources. + + Attributes: + uri (str): The file URI, supporting the following types: + + - OSS address: Format: oss://.., e.g., oss://dlc-upload-test.oss-cn-hangzhou.aliyuncs.com/dataset/ + - Ordinary NAS: Format: nas://./subpath/to/dir/, where represents the NAS file system ID. E.g., nas://fsId-mountTarget.cn-hangzhou.nas.aliyuncs.com/nas/mountTarget/ + - Extreme NAS: Format: nas://./subpath/to/dir/, where represents the NAS file system ID. E.g., nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com/mnt/foo/ + - CPFS: + - CPFS1.0 Format: cpfs://./subpath/to/dir/, where is an 8-character ASCII string representing the CPFS file system ID. + - CPFS2.0 Format: cpfs://.//, where is a 16-character ASCII string representing the CPFS file system ID, and is the protocol service ID. E.g., cpfs://cpfs-00f4b992044a71be.cn-hangzhou/ptc-008727a69e07d3cf/exp-00d695a1b9f6c926/ + - BMCPFS: Format: bmcpfs://-., where is a 16-character ASCII string representing the CPFS file system ID. E.g.,bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com/ + - Local mounted file path: Format: file://, e.g., file:///mnt/dataset/train. + - PAI dataset: Format: pai://datasets//, where is the PAI dataset ID, and is the PAI dataset version. E.g., pai://datasets/d-f0mniq7j4cgk2x2rrn/v1 + - MaxCompute table: Format: odps:///[schema]/tables/, where is the MaxCompute project name, is the MaxCompute table schema, optional. (see: https://help.aliyun.com/zh/maxcompute/user-guide/schemas?spm=a2c4g.11186623.0.i64), and is the MaxCompute table name. E.g., odps://project_mc/tables/flow_model_label_table_v1 + resource_type (str, optional): The resource type, default as "dataset". Users can customize this. Possible values include: + + - "dataset": Dataset. + - "model": Model. + - User-defined types. + resource_use (str, optional): The resource usage, default as "train". Users can customize this. + + - For "dataset" type, possible values include: + - "train": Training data. + - "validation": Validation data. + - User-defined types. + - For "model" type, possible values include: + - "base": Base model. + - "extension": Extended model. + - User-defined usages. + + """ + + # URI (Uniform Resource Identifier) + uri: str + # The resource type, default as "dataset" + resource_type: Optional[str] = "dataset" + # The resource usage, default as "train" + resource_use: Optional[str] = "train" + + +@dataclass +class _NasDatasourceAttributes: + file_system_id: str + path: str + + +@dataclass +class _PvcDatasourceAttributes: + cluster_id: str + name_space: str + pvc_name: str + path: str + pvc_type: str + + +@dataclass +class _OssDatasourceAttributes: + uri: str + + +def _read_metadata_config_in_dlc(): + try: + with open("/var/metadata/config.json", "r") as file: + return json.load(file) + except (json.JSONDecodeError, FileNotFoundError) as e: + logger.warning("Error parsing data source JSON or file not found: %s", e) + return None + + +def _get_datasource_attributes(source, datasource_type): + if datasource_type == "nas" or datasource_type == "cpfs": + return _NasDatasourceAttributes( + file_system_id=source.get("FileSystemId"), path=source.get("Path") + ) + if datasource_type == "pvc": + return _PvcDatasourceAttributes( + pvc_type=source.get("PvcType"), + pvc_name=source.get("PvcName"), + path=source.get("Path"), + cluster_id=source.get("ClusterId"), + name_space=source.get("NameSpace"), + ) + if datasource_type == "oss": + return _OssDatasourceAttributes(uri=source.get("Uri")) + return None + + +def _find_best_match_source(config, mount_path): + best_match = "" + best_details = {} + + for source in config.get("DATA_SOURCES", []): + datasource_type = source.get("DataSourceType") + mount_path_in_source = source.get("MountPath", "").rstrip("/") + + if mount_path.startswith(mount_path_in_source) and len( + mount_path_in_source + ) > len(best_match): + best_match = mount_path_in_source + best_details = { + "datasource_type": datasource_type, + "datasource_attributes": _get_datasource_attributes( + source, datasource_type + ), + } + + return best_match, best_details + + +def _find_datasource_by_mount_path(mount_path: str): + config = _read_metadata_config_in_dlc() + if config is None: + return None, None, None, None + + best_match, best_details = _find_best_match_source(config, mount_path) + if best_match: + region_id = config.get("DLC_REGION_ID") + remaining_path = mount_path[len(best_match) :].lstrip("/") + return ( + ( + f"{best_details['datasource_attributes'].uri.rstrip('/') + '/'}{remaining_path}" + if best_details["datasource_type"] == "oss" + else None + ), + region_id, + ( + best_details["datasource_attributes"] + if best_details["datasource_type"] == "nas" + or best_details["datasource_type"] == "cpfs" + else None + ), + ( + best_details["datasource_attributes"] + if best_details["datasource_type"] == "pvc" + else None + ), + ) + return None, None, None, None + + +def _fill_lineage_entity(entity: LineageEntity) -> _LineageEntity: + input_uri = entity.uri + local_file_path = parse_local_file_uri(input_uri) + if local_file_path: + ( + uri, + region_id, + nas_entity_attributes, + pvc_entity_attributes, + ) = _find_datasource_by_mount_path(local_file_path) + if nas_entity_attributes: + _entity = _LineageEntity() + _entity.EntityType = "nas-file" + _entity.Attributes = { + "Uri": uri, + "ResourceType": entity.resource_type, + "ResourceUse": entity.resource_use, + "RegionId": region_id, + "FileSystemId": nas_entity_attributes.file_system_id, + "Path": nas_entity_attributes.path, + } + return _entity + if pvc_entity_attributes: + _entity = _LineageEntity() + _entity.EntityType = "pvc-file" + _entity.Attributes = { + "ResourceType": entity.resource_type, + "ResourceUse": entity.resource_use, + "RegionId": region_id, + "ClusterId": pvc_entity_attributes.cluster_id, + "NameSpace": pvc_entity_attributes.name_space, + "PvcName": pvc_entity_attributes.pvc_name, + "Path": pvc_entity_attributes.path, + "PvcType": pvc_entity_attributes.pvc_type, + } + return _entity + if uri: + input_uri = uri + else: + logger.warning(f"can not find uri by mount path: {local_file_path}") + parsed_result = parse_oss_uri(input_uri) + if parsed_result: + bucket_name, region_id, path = parsed_result + _entity = _LineageEntity() + _entity.EntityType = "oss-file" + _entity.Attributes = { + "Bucket": bucket_name, + "Path": path, + "ResourceType": entity.resource_type, + "ResourceUse": entity.resource_use, + "RegionId": region_id, + } + return _entity + parsed_result = parse_pai_dataset_uri(input_uri) + if parsed_result: + dataset_id, dataset_version = parsed_result + try: + dataset_detail = get_default_session().dataset_api.get(dataset_id) + if dataset_detail: + _entity = _LineageEntity() + if dataset_detail.get("Provider") == "pai": + _entity.QualifiedName = ( + f"pai-dataset.{dataset_id}_{dataset_version}".format( + dataset_id=dataset_id, dataset_version=dataset_version + ) + ) + _entity.Name = dataset_detail["Name"] + _entity.Attributes = { + "ResourceUse": entity.resource_use, + "Provider": "pai", + } + return _entity + else: + _entity.QualifiedName = ( + f"pai-dataset.{dataset_id}_{dataset_version}".format( + dataset_id=dataset_id, dataset_version=dataset_version + ) + ) + _entity.Name = dataset_detail["Name"] + _entity.Attributes = { + "ResourceType": entity.resource_type, + "ResourceUse": entity.resource_use, + "RegionId": _get_current_region_id(), + "Uri": dataset_detail["Uri"], + "VersionName": dataset_version, + } + return _entity + except TeaException as e: + logger.warning( + f"can not find dataset by dataset_id: {dataset_id}, {str(e)}" + ) + parsed_result = parse_odps_uri(input_uri) + if parsed_result: + project_name, schema, table_name = parsed_result + _entity = _LineageEntity() + if schema: + _entity.QualifiedName = ( + f"maxcompute-table.{project_name}.{schema}.{table_name}".format( + project_name=project_name, schema=schema, table_name=table_name + ) + ) + else: + _entity.QualifiedName = ( + f"maxcompute-table.{project_name}.{table_name}".format( + project_name=project_name, table_name=table_name + ) + ) + _entity.Attributes = { + "ResourceType": entity.resource_type, + "ResourceUse": entity.resource_use, + } + return _entity + return None + + +class Lineage(object): + def __init__(self): + super() + + def log_lineage( + self, input_entities: List[LineageEntity], output_entities: List[LineageEntity] + ): + """ + Recommended to use the log_lineage(input_entities: List[LineageEntity], output_entities: List[LineageEntity]) + function directly. + """ + session = get_default_session() + if _is_running_in_dlc(): + _input_entities = [] + _output_entities = [] + for input_entity in input_entities: + entity = _fill_lineage_entity(input_entity) + if entity: + _input_entities.append(entity) + for output_entity in output_entities: + entity = _fill_lineage_entity(output_entity) + if entity: + _output_entities.append(entity) + if len(_input_entities) == 0 or len(_output_entities) == 0: + logger.warning("input_entities or output_entities is empty, ignore.") + else: + session.lineage_api.log_lineage( + _input_entities, + _output_entities, + _get_dlc_job_id(), + session.workspace_id, + ) + logger.debug(_input_entities) + logger.debug(_output_entities) + logger.debug(_get_dlc_job_id()) + logger.debug(session.workspace_id) + else: + logger.warning("log_lineage is not supported in non-DLC environment.") + + +def log_lineage( + input_entities: List[LineageEntity], output_entities: List[LineageEntity] +): + """ + Records the lineage relationships generated during model training/data processing, etc. Supported execution + environments include: DLC. If running in other environments, lineage recording will be ignored. + + Args: + input_entities (List[LineageEntity]): A list of input entities, each representing the source of data in DLC tasks. + output_entities (List[LineageEntity]): A list of output entities, each representing the output of data in DLC tasks. + """ + global _default_lineage + if not _default_lineage: + _default_lineage = Lineage() + + _default_lineage.log_lineage(input_entities, output_entities) diff --git a/pai/version.py b/pai/version.py index dc94054..6276bfe 100644 --- a/pai/version.py +++ b/pai/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -VERSION = "0.4.12.post0" +VERSION = "0.4.12.post0" \ No newline at end of file diff --git a/requirements/doc-requirements.txt b/requirements/doc-requirements.txt index d7ba28e..a985769 100644 --- a/requirements/doc-requirements.txt +++ b/requirements/doc-requirements.txt @@ -1,4 +1,4 @@ -sphinx +sphinx>=5.0.0 sphinx-rtd-theme sphinx-copybutton sphinx_book_theme diff --git a/tests/integration/test_lineage.py b/tests/integration/test_lineage.py new file mode 100644 index 0000000..9a71ab2 --- /dev/null +++ b/tests/integration/test_lineage.py @@ -0,0 +1,300 @@ +# Copyright 2023 Alibaba, Inc. or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import logging +from unittest.mock import patch + +from pai.common.logging import get_logger +from pai.tracking import LineageEntity, log_lineage +from tests.integration import BaseIntegTestCase +from tests.unit.utils import mock_env + + +class TestLineage(BaseIntegTestCase): + def test_log_lineage_run_in_non_dlc_env(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.WARNING + ) as captured: + log_lineage( + input_entities=[ + LineageEntity( + uri="pai://datasets/d-f0mniq7j4cgk2x2rrn/v1", + resource_type="dataset", + resource_use="train", + ), + ], + output_entities=[ + LineageEntity( + uri="file:///mnt/model/", + resource_type="model", + resource_use="extension", + ) + ], + ) + self.assertIn( + "log_lineage is not supported in non-DLC environment.", + captured.output[0], + ) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_no_datasources_config_file_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.WARNING + ) as captured: + log_lineage( + input_entities=[ + LineageEntity( + uri="file:///mnt/input/dataset", + resource_type="model", + resource_use="extension", + ) + ], + output_entities=[ + LineageEntity( + uri="file:///mnt/output/model/model.pth", + resource_type="model", + resource_use="extension", + ) + ], + ) + self.assertIn( + "WARNING:pai.tracking.lineage:Error parsing data source JSON or file not found: [Errno 2] No such file or directory: '/var/metadata/config.json'", + captured.output[0], + ) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_valid_mount_path_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.DEBUG + ) as captured: + mock_config = { + "DATA_SOURCES": [ + { + "DataSourceType": "pvc", + "ClusterId": "cbb8f09f999534c5187532a19fe6a3bba", + "MountPath": "/mnt/input/pvc", + "NameSpace": "quota2md3bak6ovi", + "Path": "/nas", + "PvcName": "nas-pvc", + "PvcType": "hostPath", + }, + { + "DataSourceType": "nas", + "DataSourceId": "data16mjfuvf6v3a", + "FileSystemId": "2964e349a2d", + "MountPath": "/mnt/input/nas", + "Path": "/", + "Uri": "", + "Version": "", + }, + { + "DataSourceId": "data824oavjsogd7", + "FileSystemId": "", + "MountPath": "/mnt/output/model", + "Path": "oss://dlc-upload-test/model/", + "Uri": "oss://dlc-upload-test.oss-cn-hangzhou-internal.aliyuncs.com/model/", + "Version": "", + "DataSourceType": "oss", + }, + ], + "DLC_JOB_ID": "dlcrmzton6fvujw5", + "DLC_REGION_ID": "eflops", + "DLC_USER_ID": "", + "WORK_SPACE_ID": "wspdfsp20olq9l9m", + } + with patch( + "pai.tracking.lineage._read_metadata_config_in_dlc", + return_value=mock_config, + ): + log_lineage( + input_entities=[ + LineageEntity( + uri="file:///mnt/input/pvc/dataset", + resource_type="model", + resource_use="extension", + ), + LineageEntity( + uri="file:///mnt/input/nas/dataset", + resource_type="dataset", + resource_use="train", + ), + ], + output_entities=[ + LineageEntity( + uri="file:///mnt/output/model/model.pth", + resource_type="model", + resource_use="extension", + ) + ], + ) + self.assertIn( + "DEBUG:pai.tracking.lineage:[_LineageEntity(Attributes={'ResourceType': 'model', 'ResourceUse': 'extension', 'RegionId': 'eflops', 'ClusterId': 'cbb8f09f999534c5187532a19fe6a3bba', 'NameSpace': 'quota2md3bak6ovi', 'PvcName': 'nas-pvc', 'Path': '/nas', 'PvcType': 'hostPath'}, EntityType='pvc-file', Name=None, QualifiedName=None), _LineageEntity(Attributes={'Uri': None, 'ResourceType': 'dataset', 'ResourceUse': 'train', 'RegionId': 'eflops', 'FileSystemId': '2964e349a2d', 'Path': '/'}, EntityType='nas-file', Name=None, QualifiedName=None)]", + captured.output[0], + ) + self.assertIn( + "DEBUG:pai.tracking.lineage:[_LineageEntity(Attributes={'Bucket': 'dlc-upload-test', 'Path': 'model/model.pth', 'ResourceType': 'model', 'ResourceUse': 'extension', 'RegionId': 'cn-hangzhou'}, EntityType='oss-file', Name=None, QualifiedName=None)]", + captured.output[1], + ) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_valid_entities_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.DEBUG + ) as captured: + with patch( + "pai.api.api_container.ResourceAPIsContainerMixin.lineage_api", + return_value={}, + ): + log_lineage( + input_entities=[ + LineageEntity( + uri="oss://test-bucket.oss-cn-shanghai.aliyuncs.com/models/ALBERTv2-Chinese-NewsBase.pth", + resource_type="model", + resource_use="base", + ), + LineageEntity( + uri="pai://datasets/d-jipftzxinc7nm1z0uh/v1", + resource_type="dataset", + resource_use="train", + ), + LineageEntity( + uri="odps://project_mc/tables/flow_model_label_table_v1", + resource_type="dataset", + resource_use="test", + ), + ], + output_entities=[ + LineageEntity( + uri="oss://hangzhoutest01.oss-cn-hangzhou-internal.aliyuncs.com/models/model.pth", + resource_type="model", + resource_use="extension", + ) + ], + ) + self.maxDiff = None + self.assertEquals( + "DEBUG:pai.tracking.lineage:[_LineageEntity(Attributes={'Bucket': 'test-bucket', 'Path': 'models/ALBERTv2-Chinese-NewsBase.pth', 'ResourceType': 'model', 'ResourceUse': 'base', 'RegionId': 'cn-shanghai'}, EntityType='oss-file', Name=None, QualifiedName=None), _LineageEntity(Attributes={'ResourceUse': 'train', 'Provider': 'pai'}, EntityType=None, Name='Aishell_1_subset_qwen', QualifiedName='pai-dataset.d-jipftzxinc7nm1z0uh_v1'), _LineageEntity(Attributes={'ResourceType': 'dataset', 'ResourceUse': 'test'}, EntityType=None, Name=None, QualifiedName='maxcompute-table.project_mc.flow_model_label_table_v1')]", + captured.output[0], + ) + self.assertEquals( + "DEBUG:pai.tracking.lineage:[_LineageEntity(Attributes={'Bucket': 'hangzhoutest01', 'Path': 'models/model.pth', 'ResourceType': 'model', 'ResourceUse': 'extension', 'RegionId': 'cn-hangzhou'}, EntityType='oss-file', Name=None, QualifiedName=None)]", + captured.output[1], + ) + self.assertEquals("DEBUG:pai.tracking.lineage:d123456", captured.output[2]) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_invalid_format_input_entities_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.WARNING + ) as captured: + log_lineage( + input_entities=[ + LineageEntity( + uri="oss://test-bucket/models/ALBERTv2-Chinese-NewsBase.pth", + resource_type="model", + resource_use="base", + ), + LineageEntity( + uri="pai://datasets/", + resource_type="dataset", + resource_use="train", + ), + LineageEntity( + uri="odps://project_mc/flow_model_label_table_v1", + resource_type="dataset", + resource_use="test", + ), + ], + output_entities=[ + LineageEntity( + uri="oss://test-bucket.oss-cn-shanghai.aliyuncs.com/model/model.pth", + resource_type="model", + resource_use="extension", + ) + ], + ) + self.assertIn( + "input_entities or output_entities is empty, ignore.", + captured.output[0], + ) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_invalid_format_output_entities_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.WARNING + ) as captured: + log_lineage( + input_entities=[ + LineageEntity( + uri="oss://test-bucket.oss-cn-shanghai.aliyuncs.com/models/ALBERTv2-Chinese-NewsBase.pth", + resource_type="model", + resource_use="base", + ), + LineageEntity( + uri="pai://datasets/d-jipftzxinc7nm1z0uh/v1", + resource_type="dataset", + resource_use="train", + ), + LineageEntity( + uri="odps://project_mc/tables/flow_model_label_table_v1", + resource_type="dataset", + resource_use="test", + ), + ], + output_entities=[ + LineageEntity( + uri="oss://test-bucket/models/ALBERTv2-Chinese-NewsBase.pth", + resource_type="model", + resource_use="extension", + ), + LineageEntity( + uri="pai://datasets/", + resource_type="dataset", + resource_use="val", + ), + LineageEntity( + uri="odps://project_mc/flow_model_label_table_v1", + resource_type="dataset", + resource_use="test", + ), + ], + ) + self.assertIn( + "input_entities or output_entities is empty, ignore.", + captured.output[0], + ) + + @mock_env(DLC_JOB_ID="d123456") + @mock_env(REGION="cn-hangzhou") + def test_log_lineage_with_empty_input_output_entities_in_dlc(self): + with self.assertLogs( + logger=get_logger("pai.tracking.lineage"), level=logging.WARNING + ) as captured: + log_lineage([], []) + self.assertIn( + "input_entities or output_entities is empty, ignore.", + captured.output[0], + ) + log_lineage( + input_entities=[LineageEntity(uri="")], + output_entities=[LineageEntity(uri="")], + ) + self.assertIn( + "input_entities or output_entities is empty, ignore.", + captured.output[1], + ) diff --git a/tests/unit/test_session.py b/tests/unit/test_session.py index f0f9b15..0c3031e 100644 --- a/tests/unit/test_session.py +++ b/tests/unit/test_session.py @@ -14,12 +14,16 @@ import json import tempfile -from unittest.case import TestCase +from unittest.mock import patch -from pai.session import Session +from alibabacloud_credentials.credentials import Credential +from pai.session import Session, _init_default_session_from_env +from tests.unit import BaseUnitTestCase +from tests.unit.utils import mock_env -class TestSession(TestCase): + +class TestSession(BaseUnitTestCase): def test_save_config(self): d = { "region_id": "cn-hangzhou", @@ -35,3 +39,35 @@ def test_save_config(self): res = json.load(f) self.assertEqual(res, d) + + @mock_env(DSW_INSTANCE_ID="dsw-378f4930c04191016") + @mock_env(PAI_WORKSPACE_ID="1234567") + @mock_env(REGION="cn-hangzhou") + def test_init_default_session_from_env_in_dsw(self): + mock_cred = Credential() + with patch( + "pai.session.Session._get_default_credential_client", return_value=mock_cred + ): + with patch( + "pai.session.Session.get_default_oss_storage", + return_value=("bucket", "endpoint"), + ): + s = _init_default_session_from_env() + self.assertEqual(s.workspace_id, "1234567") + self.assertEqual(s.region_id, "cn-hangzhou") + + @mock_env(DLC_JOB_ID="dlcv25vrbljblbgh") + @mock_env(PAI_WORKSPACE_ID="1234567") + @mock_env(REGION="cn-shanghai") + def test_init_default_session_from_env_in_dlc(self): + mock_cred = Credential() + with patch( + "pai.session.Session._get_default_credential_client", return_value=mock_cred + ): + with patch( + "pai.session.Session.get_default_oss_storage", + return_value=("bucket", "endpoint"), + ): + s = _init_default_session_from_env() + self.assertEqual(s.workspace_id, "1234567") + self.assertEqual(s.region_id, "cn-shanghai") diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 62d2298..5a8e533 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -19,7 +19,19 @@ import os from pai.common.oss_utils import is_oss_uri -from pai.common.utils import generate_repr, is_filesystem_uri, is_odps_table_uri +from pai.common.utils import ( + generate_repr, + is_filesystem_uri, + is_odps_table_uri, + parse_bmcpfs_uri, + parse_cpfs_uri, + parse_local_file_uri, + parse_nas_uri, + parse_odps_uri, + parse_oss_uri, + parse_pai_dataset_uri, + parse_region_id_from_endpoint, +) from tests.test_data import SCRIPT_DIR_PATH from tests.unit import BaseUnitTestCase from tests.unit.utils import extract_odps_table_info, file_checksum @@ -197,3 +209,190 @@ def test_is_filesystem_uri(self): with self.subTest(tc=tc): result = is_filesystem_uri(tc["arguments"]["uri"]) self.assertEqual(result, tc["expected"]) + + def test_parse_region_id_from_valid_endpoint(self): + self.assertEqual(parse_region_id_from_endpoint("cn-shanghai"), "cn-shanghai") + self.assertEqual( + parse_region_id_from_endpoint("cn-shanghai-internal"), "cn-shanghai" + ) + self.assertEqual( + parse_region_id_from_endpoint("cn-shanghai-internal.aliyuncs.com"), + "cn-shanghai", + ) + + def test_parse_region_id_from_invalid_endpoint(self): + self.assertIsNone(parse_region_id_from_endpoint("http://someotherendpoint.com")) + self.assertIsNone(parse_region_id_from_endpoint("")) + self.assertIsNone(parse_region_id_from_endpoint(None)) + + def test_parse_valid_oss_uri(self): + self.assertEqual( + parse_oss_uri( + "oss://test-bucket.oss-cn-hangzhou.aliyuncs.com/models/ALBERTv2-Chinese" + "-NewsBase.pth" + ), + ("test-bucket", "cn-hangzhou", "models/ALBERTv2-Chinese-NewsBase.pth"), + ) + self.assertEqual( + parse_oss_uri( + "oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/models/ALBERTv2-Chinese-NewsBase.pth" + ), + ("test-bucket", "cn-hangzhou", "models/ALBERTv2-Chinese-NewsBase.pth"), + ) + self.assertEqual( + parse_oss_uri("oss://test-bucket.oss-cn-hangzhou.aliyuncs.com/"), + ("test-bucket", "cn-hangzhou", "/"), + ) + self.assertEqual( + parse_oss_uri("oss://test-bucket.oss-cn-hangzhou.aliyuncs.com"), + ("test-bucket", "cn-hangzhou", "/"), + ) + + def test_parse_invalid_oss_uri(self): + self.assertIsNone( + parse_oss_uri("oss://test-bucket/models/ALBERTv2-Chinese" "-NewsBase.pth") + ) + self.assertIsNone(parse_oss_uri("oss://")) + self.assertIsNone(parse_oss_uri("")) + + def test_parse_valid_nas_uri(self): + self.assertEqual( + parse_nas_uri( + "nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com/mnt/foo/" + ), + ( + "nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com/mnt/foo/", + "cn-hangzhou", + ), + ) + self.assertEqual( + parse_nas_uri("nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com/"), + ( + "nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com/", + "cn-hangzhou", + ), + ) + self.assertEqual( + parse_nas_uri("nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com"), + ("nas://007636fd-gfyy.cn-hangzhou.extreme.nas.aliyuncs.com", "cn-hangzhou"), + ) + self.assertEqual( + parse_nas_uri("nas://066e54a580.cn-hangzhou/"), + ("nas://066e54a580.cn-hangzhou/", "cn-hangzhou"), + ) + + def test_parse_invalid_nas_uri(self): + self.assertIsNone( + parse_nas_uri("nas://007636fd-gfyy.extreme.nas.aliyuncs.com/mnt/foo/") + ) + self.assertIsNone(parse_nas_uri("nas://")) + self.assertIsNone(parse_nas_uri("")) + + def test_parse_valid_cpfs_uri(self): + self.assertEqual( + parse_cpfs_uri( + "cpfs://cpfs-00f4b992044a71be.cn-hangzhou/ptc-008727a69e07d3cf/exp-00d695a1b9f6c926/" + ), + ( + "cpfs://cpfs-00f4b992044a71be.cn-hangzhou/ptc-008727a69e07d3cf/exp-00d695a1b9f6c926/", + "cn-hangzhou", + ), + ) + self.assertEqual( + parse_cpfs_uri("cpfs://cpfs-00f4b992044a71be.cn-hangzhou/"), + ("cpfs://cpfs-00f4b992044a71be.cn-hangzhou/", "cn-hangzhou"), + ) + self.assertEqual( + parse_cpfs_uri("cpfs://cpfs-00f4b992044a71be.cn-hangzhou"), + ("cpfs://cpfs-00f4b992044a71be.cn-hangzhou", "cn-hangzhou"), + ) + + def test_parse_invalid_cpfs_uri(self): + self.assertIsNone(parse_cpfs_uri("cpfs://cpfs-00f4b992044a71be/mnt/foo/")) + self.assertIsNone(parse_cpfs_uri("cpfs://")) + self.assertIsNone(parse_cpfs_uri("")) + + def test_parse_valid_bmcpfs_uri(self): + self.assertEqual( + parse_bmcpfs_uri( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com/sub/dir" + ), + ( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com/sub/dir", + "cn-wulanchabu", + ), + ) + self.assertEqual( + parse_bmcpfs_uri( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com/" + ), + ( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com/", + "cn-wulanchabu", + ), + ) + self.assertEqual( + parse_bmcpfs_uri( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com" + ), + ( + "bmcpfs://cpfs-291070fd9529c747-000001.cn-wulanchabu.cpfs.aliyuncs.com", + "cn-wulanchabu", + ), + ) + + def test_parse_invalid_bmcpfs_uri(self): + self.assertIsNone( + parse_bmcpfs_uri("bmcpfs://cpfs-291070fd9529c747-000001.cpfs.aliyuncs.com/") + ) + self.assertIsNone(parse_bmcpfs_uri("bmcpfs://")) + self.assertIsNone(parse_bmcpfs_uri("")) + + def test_parse_valid_local_file_uri(self): + self.assertEqual( + parse_local_file_uri("file:///mnt/dataset_123-456+789"), + "/mnt/dataset_123-456+789", + ) + self.assertEqual( + parse_local_file_uri("file:///mnt/dataset 123"), "/mnt/dataset 123" + ) + self.assertEqual(parse_local_file_uri("file:///"), "/") + + def test_parse_invalid_local_file_uri(self): + self.assertIsNone(parse_local_file_uri("file://mnt/dataset")) + self.assertIsNone(parse_local_file_uri("file://")) + self.assertIsNone(parse_local_file_uri("")) + + def test_parse_valid_pai_dataset_uri(self): + self.assertEqual( + parse_pai_dataset_uri("pai://datasets/d-123456"), ("d-123456", "1") + ) + self.assertEqual( + parse_pai_dataset_uri("pai://datasets/d-123456/2"), ("d-123456", "2") + ) + self.assertEqual( + parse_pai_dataset_uri("pai://datasets/d-123456/2/3"), ("d-123456", "2") + ) + + def test_parse_invalid_pai_dataset_uri(self): + self.assertIsNone(parse_pai_dataset_uri("pai://datasets/")) + self.assertIsNone(parse_pai_dataset_uri("pai://")) + self.assertIsNone(parse_pai_dataset_uri("")) + + def test_parse_valid_odps_uri(self): + self.assertEqual( + parse_odps_uri( + "odps://project_mc/schema1/tables/flow_model_label_table_v1" + ), + ("project_mc", "schema1", "flow_model_label_table_v1"), + ) + self.assertEqual( + parse_odps_uri("odps://project_mc/tables/flow_model_label_table_v1"), + ("project_mc", None, "flow_model_label_table_v1"), + ) + + def test_parse_invalid_odps_uri(self): + self.assertIsNone(parse_odps_uri("odps://project_mc/tables/")) + self.assertIsNone(parse_odps_uri("odps://project_mc/")) + self.assertIsNone(parse_odps_uri("odps://")) + self.assertIsNone(parse_odps_uri("")) From 5ed9ad6fd44f7187b797a124dc941e7760559e9e Mon Sep 17 00:00:00 2001 From: Everett Li Date: Sun, 4 Jan 2026 20:56:00 +0800 Subject: [PATCH 2/4] fix: Fix lint error. --- pai/version.py | 2 +- requirements/doc-requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pai/version.py b/pai/version.py index 6276bfe..dc94054 100644 --- a/pai/version.py +++ b/pai/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -VERSION = "0.4.12.post0" \ No newline at end of file +VERSION = "0.4.12.post0" diff --git a/requirements/doc-requirements.txt b/requirements/doc-requirements.txt index a985769..d7ba28e 100644 --- a/requirements/doc-requirements.txt +++ b/requirements/doc-requirements.txt @@ -1,4 +1,4 @@ -sphinx>=5.0.0 +sphinx sphinx-rtd-theme sphinx-copybutton sphinx_book_theme From 2906c65a7ac7111388526995de32ef10aa3705bd Mon Sep 17 00:00:00 2001 From: Everett Li Date: Sun, 4 Jan 2026 21:00:09 +0800 Subject: [PATCH 3/4] fix: Fix lint error. --- noxfile.py | 4 +++- tests/integration/test_lineage.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 31974b4..459fab4 100644 --- a/noxfile.py +++ b/noxfile.py @@ -100,7 +100,9 @@ def unit(session: Session): def lint(session: Session): """Enforce code style with flake8.""" session.install("-r", LINT_REQUIREMENTS) - session.run("flake8", "--exclude", "venv,.venv,env,.nox,build,dist", "--config", ".flake8") + session.run( + "flake8", "--exclude", "venv,.venv,env,.nox,build,dist", "--config", ".flake8" + ) session.run("black", "--check", ".") session.run("typos", "--config", "typos.toml", "-w") diff --git a/tests/integration/test_lineage.py b/tests/integration/test_lineage.py index 9a71ab2..eca08cb 100644 --- a/tests/integration/test_lineage.py +++ b/tests/integration/test_lineage.py @@ -193,7 +193,9 @@ def test_log_lineage_with_valid_entities_in_dlc(self): "DEBUG:pai.tracking.lineage:[_LineageEntity(Attributes={'Bucket': 'hangzhoutest01', 'Path': 'models/model.pth', 'ResourceType': 'model', 'ResourceUse': 'extension', 'RegionId': 'cn-hangzhou'}, EntityType='oss-file', Name=None, QualifiedName=None)]", captured.output[1], ) - self.assertEquals("DEBUG:pai.tracking.lineage:d123456", captured.output[2]) + self.assertEquals( + "DEBUG:pai.tracking.lineage:d123456", captured.output[2] + ) @mock_env(DLC_JOB_ID="d123456") @mock_env(REGION="cn-hangzhou") From 37ec4ecc9c6a0606c5363ed02aa26ad230332891 Mon Sep 17 00:00:00 2001 From: Everett Li Date: Mon, 5 Jan 2026 10:16:19 +0800 Subject: [PATCH 4/4] fix: Fix lint doc error. --- requirements/doc-requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/doc-requirements.txt b/requirements/doc-requirements.txt index d7ba28e..61efb1b 100644 --- a/requirements/doc-requirements.txt +++ b/requirements/doc-requirements.txt @@ -1,9 +1,9 @@ -sphinx +sphinx==5.3.0 sphinx-rtd-theme sphinx-copybutton sphinx_book_theme sphinx-autobuild -sphinx_markdown_builder +sphinx_markdown_builder==0.6.6 myst-nb nbmake pydata-sphinx-theme==0.13.1