From ac3f9f463ac3222785595f5fbe3087ffb4c0a68a Mon Sep 17 00:00:00 2001 From: ucloud-bot Date: Fri, 5 Jun 2026 06:13:48 +0000 Subject: [PATCH] sdk: rolling update for 0.11.102 --- docs/services.rst | 7 + ucloud/client.py | 10 + ucloud/services/uai_modelverse/__init__.py | 0 ucloud/services/uai_modelverse/client.py | 801 ++++++++++++++++++ .../uai_modelverse/schemas/__init__.py | 0 .../services/uai_modelverse/schemas/apis.py | 591 +++++++++++++ .../services/uai_modelverse/schemas/models.py | 318 +++++++ ucloud/services/uhost/client.py | 345 ++++++-- ucloud/services/uhost/schemas/apis.py | 200 ++++- ucloud/services/uhost/schemas/models.py | 228 +++-- ucloud/version.py | 2 +- 11 files changed, 2335 insertions(+), 167 deletions(-) create mode 100644 ucloud/services/uai_modelverse/__init__.py create mode 100644 ucloud/services/uai_modelverse/client.py create mode 100644 ucloud/services/uai_modelverse/schemas/__init__.py create mode 100644 ucloud/services/uai_modelverse/schemas/apis.py create mode 100644 ucloud/services/uai_modelverse/schemas/models.py diff --git a/docs/services.rst b/docs/services.rst index 4141e404..ad4f7681 100644 --- a/docs/services.rst +++ b/docs/services.rst @@ -150,6 +150,13 @@ UADS :members: +UAI_Modelverse +-------------- + +.. autoclass:: ucloud.services.uai_modelverse.client.UAI_ModelverseClient + :members: + + UBill ----- diff --git a/ucloud/client.py b/ucloud/client.py index 3670cfa3..f29688dd 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -122,6 +122,16 @@ def uads(self): self.logger, ) + def uai_modelverse(self): + from ucloud.services.uai_modelverse.client import UAI_ModelverseClient + + return UAI_ModelverseClient( + self._auto_config("uai_modelverse"), + self.transport, + self.middleware, + self.logger, + ) + def uaccount(self): from ucloud.services.uaccount.client import UAccountClient diff --git a/ucloud/services/uai_modelverse/__init__.py b/ucloud/services/uai_modelverse/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ucloud/services/uai_modelverse/client.py b/ucloud/services/uai_modelverse/client.py new file mode 100644 index 00000000..7f905858 --- /dev/null +++ b/ucloud/services/uai_modelverse/client.py @@ -0,0 +1,801 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +import typing + + +from ucloud.core.client import Client +from ucloud.services.uai_modelverse.schemas import apis + + +class UAI_ModelverseClient(Client): + def __init__( + self, config: dict, transport=None, middleware=None, logger=None + ): + super(UAI_ModelverseClient, self).__init__( + config, transport, middleware, logger + ) + + def create_um_infer_api_key( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """CreateUMInferAPIKey - 创建apikey + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Name** (str) - (Required) apikey名称 + - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 + - **GrantedModels** (str) - 授权模型,内容为数组格式。当 GrantAllModels 为false时 当前key只可访问数组中模型。例:["deepseek-ai/DeepSeek-V3.2-Think"] + - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:192.168.1.1192.168.1.10-192.168.1.100192.168.1.10/24 + - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 + - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 + - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) + + **Response** + + - **Data** (dict) - 见 **APIKey** 模型定义 + - **TotalCount** (int) - 总条数 + + **Response Model** + + **APIKey** + - **ChannelId** (int) - 渠道id + - **CreateTime** (int) - 创建时间 + - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **ExpireTime** (int) - 过期时间的unix时间戳,-1 用不过期 + - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 + - **GrantedModels** (list) - 授权的模型,英文逗号分隔,all表示所有模型都有权限 + - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:  192.168.1.1 192.168.1.10-192.168.1.100 192.168.1.10/24 + - **Key** (str) - 密钥值 + - **KeyId** (str) - 资源ID + - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 + - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 + - **Name** (str) - 名称 + - **OrganizationId** (int) - 项目id + - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) + - **Status** (int) - 状态,1 正常 + - **TopOrganizationId** (int) - 公司id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.CreateUMInferAPIKeyRequestSchema().dumps(d) + + # build options + kwargs["max_retries"] = 0 # ignore retry when api is not idempotent + + resp = self.invoke("CreateUMInferAPIKey", d, **kwargs) + return apis.CreateUMInferAPIKeyResponseSchema().loads(resp) + + def delete_um_infer_api_key( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DeleteUMInferAPIKey - 删除apikey + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **KeyId** (str) - (Required) 要删除的apikey id + + **Response** + + - **UminferID** (str) - apikey 的资源ID + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.DeleteUMInferAPIKeyRequestSchema().dumps(d) + + resp = self.invoke("DeleteUMInferAPIKey", d, **kwargs) + return apis.DeleteUMInferAPIKeyResponseSchema().loads(resp) + + def download_list_paid_orders( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DownloadListPaidOrders - 生成已完成(已支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListPaidOrders 完全一致,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级),必填;必须大于 StartTime + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级),必填 + - **ModelIds** (list) - 模型ID列表(可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单位列表(多选,可选) + - **ProductCodes** (list) - 产品类型列表(可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID列表(可选) + + **Response** + + - **Data** (dict) - 见 **DownloadFileData** 模型定义 + + **Response Model** + + **DownloadFileData** + - **DownloadURL** (str) - 文件下载链接(US3 预签名 URL,请在有效期内立即下载) + - **FileName** (str) - 文件名 + - **FileSize** (int) - 文件大小(字节) + + + """ + # build request + d = {} + req and d.update(req) + d = apis.DownloadListPaidOrdersRequestSchema().dumps(d) + + resp = self.invoke("DownloadListPaidOrders", d, **kwargs) + return apis.DownloadListPaidOrdersResponseSchema().loads(resp) + + def download_list_unpaid_orders( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DownloadListUnpaidOrders - 生成欠费(未支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListUnpaidOrders 完全一致,StartTime/EndTime 必填 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级),必填;必须大于 StartTime + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级),必填 + - **ModelIds** (list) - 模型ID列表(可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单位列表(多选,可选) + - **ProductCodes** (list) - 产品类型列表(可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID列表(可选) + + **Response** + + - **Data** (dict) - 见 **DownloadFileData** 模型定义 + + **Response Model** + + **DownloadFileData** + - **DownloadURL** (str) - 文件下载链接(US3 预签名 URL,请在有效期内立即下载) + - **FileName** (str) - 文件名 + - **FileSize** (int) - 文件大小(字节) + + + """ + # build request + d = {} + req and d.update(req) + d = apis.DownloadListUnpaidOrdersRequestSchema().dumps(d) + + resp = self.invoke("DownloadListUnpaidOrders", d, **kwargs) + return apis.DownloadListUnpaidOrdersResponseSchema().loads(resp) + + def download_order_summary( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DownloadOrderSummary - 生成订单汇总 Excel 文件(包含已完成订单和欠费订单两个 sheet),返回 US3 预签名下载链接;StartTime/EndTime 必填 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级),必填;必须大于 StartTime + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级),必填 + - **ChargeTypes** (list) - 计费类型数组(多选,可选) + - **ModelIds** (list) - 模型ID列表(可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单位列表(多选,可选) + - **ProductCodes** (list) - 产品类型列表(可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID列表(可选) + + **Response** + + - **Data** (dict) - 见 **DownloadFileData** 模型定义 + + **Response Model** + + **DownloadFileData** + - **DownloadURL** (str) - 文件下载链接(US3 预签名 URL,请在有效期内立即下载) + - **FileName** (str) - 文件名 + - **FileSize** (int) - 文件大小(字节) + + + """ + # build request + d = {} + req and d.update(req) + d = apis.DownloadOrderSummaryRequestSchema().dumps(d) + + resp = self.invoke("DownloadOrderSummary", d, **kwargs) + return apis.DownloadOrderSummaryResponseSchema().loads(resp) + + def get_filter_options( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetFilterOptions - 查询可用于订单筛选的资源、模型、地域等选项列表 + + **Request** + + - **ProductCode** (str) - 产品类型(单选,可选),枚举值:`modelverse`、`sandbox`;为空时返回所有产品下的选项 + + **Response** + + - **Dimensions** (list) - 见 **FilterOptionAiBill** 模型定义 + - **Models** (list) - 见 **FilterOptionAiBill** 模型定义 + - **OrderTypes** (list) - 见 **FilterOptionAiBill** 模型定义 + - **PricingSKUs** (list) - 见 **FilterOptionAiBill** 模型定义 + - **PricingUnits** (list) - 见 **FilterOptionAiBill** 模型定义 + - **ProductCodes** (list) - 见 **FilterOptionAiBill** 模型定义 + - **Projects** (list) - 见 **FilterOptionAiBill** 模型定义 + - **Regions** (list) - 见 **FilterOptionAiBill** 模型定义 + - **ResourceIds** (list) - 见 **FilterOptionAiBill** 模型定义 + + **Response Model** + + **FilterOptionAiBill** + - **Name** (str) - 显示名称 + - **Value** (dict) - 值实际是interface + + + """ + # build request + d = {} + req and d.update(req) + d = apis.GetFilterOptionsRequestSchema().dumps(d) + + resp = self.invoke("GetFilterOptions", d, **kwargs) + return apis.GetFilterOptionsResponseSchema().loads(resp) + + def get_order_amount( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetOrderAmount - 查询指定条件下订单的金额汇总及数量统计 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级)。需与 `StartTime` 同时提供 + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级)。需与 `EndTime` 同时提供,最大查询跨度 366 天 + - **ModelIds** (list) - 模型ID列表(可选) + - **OrderTypes** (list) - 订单类型列表(可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单位列表(可选) + - **ProductCodes** (list) - 产品类型列表(可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID列表(可选) + + **Response** + + - **BonusAmount** (str) - 赠金账户总金额 + - **CashAmount** (str) - 现金账户总金额 + - **CouponAmount** (str) - 代金券抵扣总额 + - **OrderCount** (int) - 订单总数 + - **PaidAmount** (str) - 已支付金额 + - **PaidCount** (int) - 已支付订单数 + - **StarCardAmount** (str) - 星力卡抵扣总金额 + - **TotalOrderAmount** (str) - 订单总额(所有订单的总金额) + - **UnpaidAmount** (str) - 待支付金额 + - **UnpaidCount** (int) - 待支付订单数量 + + """ + # build request + d = {} + req and d.update(req) + d = apis.GetOrderAmountRequestSchema().dumps(d) + + resp = self.invoke("GetOrderAmount", d, **kwargs) + return apis.GetOrderAmountResponseSchema().loads(resp) + + def get_um_infer_api_model( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetUMInferAPIModel - 获取该apikey能调用api的模型列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **KeyId** (str) - apikey 的id + - **ModelType** (int) - 模型类型,1: 文本生成,2: 图片生成。 + - **SquareId** (str) - 模型广场的id,用来跳转体验中心 + + **Response** + + - **Data** (list) - 见 **UMinferAPIModel** 模型定义 + + **Response Model** + + **Pricing** + - **Completion** (float) - 输出定价 + - **Currency** (str) - 币种 + - **Image** (float) - 生图定价 + - **Prompt** (float) - 提示词定价 + + + **UMinferAPIModel** + - **CreateAt** (int) - 创建时间 + - **Icon** (str) - 图标链接 + - **Id** (str) - id + - **Language** (list) - 语言 + - **Name** (str) - 名称 + - **Pricing** (dict) - 见 **Pricing** 模型定义 + - **ServedModelName** (str) - 使用OpenAI接口调用时,填入的 model值 + - **SimpleDescribe** (str) - 描述 + - **UpdateAt** (int) - 更新时间 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.GetUMInferAPIModelRequestSchema().dumps(d) + + resp = self.invoke("GetUMInferAPIModel", d, **kwargs) + return apis.GetUMInferAPIModelResponseSchema().loads(resp) + + def get_um_infer_token_usage( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetUMInferTokenUsage - 获取某个key下的某个模型的token使用量 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **EndTime** (int) - (Required) 结束时间戳 + - **KeyId** (str) - (Required) apikey的id + - **Model** (str) - (Required) 模型名称 + - **StartTime** (int) - (Required) 开始时间戳 + + **Response** + + - **Data** (dict) - 见 **TokenUsage** 模型定义 + + **Response Model** + + **TokenUsageTimestamp** + - **Count** (int) - 数量 + - **Model** (str) - 模型名称 + - **Timestamp** (int) - unix时间戳 + - **Type** (str) - 类型,in输入 out输出 total总 request_count 请求次数 image_generation 生图张数 + + + **TokenUsage** + - **ImageGenerationNum** (int) - 生图总张数 + - **InTotal** (int) - 输出总token + - **OutTotal** (int) - 输出总token + - **RequestTotal** (int) - 请求总次数 + - **Total** (int) - 总token量 + - **Usages** (list) - 见 **TokenUsageTimestamp** 模型定义 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.GetUMInferTokenUsageRequestSchema().dumps(d) + + resp = self.invoke("GetUMInferTokenUsage", d, **kwargs) + return apis.GetUMInferTokenUsageResponseSchema().loads(resp) + + def list_paid_order_summary( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListPaidOrderSummary - 按指定维度汇总查询已完成(已支付)订单的统计数据 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级),必填;必须大于 StartTime + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级),必填 + - **ChargeTypes** (list) - 计费类型数组(多选,可选) + - **ModelIds** (list) - 模型ID数组(多选,可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单位数组(多选,可选) + - **ProductCodes** (list) - 产品类型列表(多选,可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(多选,可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID数组(多选,可选) + + **Response** + + - **Summaries** (list) - 见 **OrderSummaryItem** 模型定义 + + **Response Model** + + **OrderSummaryItem** + - **ChargeType** (int) - 计费类型 + - **DiscountPrice** (str) - 折后单价 + - **ListPrice** (str) - 列表价(原单价) + - **ModelID** (str) - 模型ID + - **ModelName** (str) - 模型名称 + - **OrderType** (int) - 订单类型 + - **OrderTypeDisplay** (str) - 订单类型显示名 + - **PricingSKU** (str) - 计费单元(SKU)名称 + - **PricingUnit** (int) - 计费单位(计量单元) + - **PricingUnitName** (str) - 计费单位名称 + - **ResourceId** (str) - 资源ID + - **Status** (int) - 订单状态(2=已支付; 3=已撤销) + - **StatusDisplay** (str) - 订单状态显示名 + - **SumBonusAccount** (str) - 总赠金账户扣款(仅已完成订单返回) + - **SumCashAccount** (str) - 总现金账户扣款(仅已完成订单返回) + - **SumCoupon** (str) - 总代金券抵扣(仅已完成订单返回) + - **SumOrderPrice** (str) - 总订单金额(格式化后的字符串) + - **SumOriginalPrice** (str) - 总原价(格式化后的字符串) + - **SumQuantity** (int) - 总用量(原始值) + - **SumQuantityDisplay** (str) - 总用量显示(格式化后的字符串,千token和百万token会进行转换) + - **SumStarCardAccount** (str) - 总星力卡抵扣金额(仅已完成订单返回) + + + """ + # build request + d = {} + req and d.update(req) + d = apis.ListPaidOrderSummaryRequestSchema().dumps(d) + + resp = self.invoke("ListPaidOrderSummary", d, **kwargs) + return apis.ListPaidOrderSummaryResponseSchema().loads(resp) + + def list_paid_orders( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListPaidOrders - 查询已完成(已支付)的订单明细列表,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级)。需与 `StartTime` 同时提供 + - **Page** (int) - (Required) 页码,从1开始 + - **PageSize** (int) - (Required) 每页数量(最小10,最大100) + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级)。与 `EndTime` 同时提供时启用自定义周期查询;EndTime 必须大于 StartTime + - **ModelIds** (list) - 模型ID数组(多选,可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费 SKU 列表(可选) + - **PricingUnits** (list) - 计费单位数组(多选,可选) + - **ProductCodes** (list) - 产品类型列表(多选,可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(多选,可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - 资源ID数组(多选,可选) + + **Response** + + - **Orders** (list) - 见 **OrderItemDetail** 模型定义 + - **Page** (int) - 当前页码 + - **PageSize** (int) - 每页数量 + - **Total** (int) - 总记录数 + + **Response Model** + + **OrderItemDetail** + - **BonusAccount** (str) - 赠金账户扣款金额 + - **CashAccount** (str) - 现金账户扣款金额 + - **Channel** (int) - 渠道 + - **ChargeType** (int) - 计费类型 + - **ChargeTypeDisplay** (str) - 计费类型显示名 + - **CompanyID** (int) - 公司id + - **Coupon** (str) - 代金券抵扣金额 + - **Currency** (str) - 币种(如:CNY、USD) + - **CurrencyDisplay** (str) - 币种显示名 + - **DiscountPrice** (str) - 折后价(折后单价) + - **EndTime** (int) - 结束计费时间(Unix 时间戳,秒级) + - **ListPrice** (str) - 列表价(原单价) + - **ModelID** (str) - 模型ID + - **ModelName** (str) - 模型名称 + - **OrderNo** (str) - 订单号 + - **OrderTotalPrice** (str) - 订单总额 + - **OrderType** (int) - 订单类型 + - **OrderTypeDisplay** (str) - 订单类型显示名 + - **OrganizationID** (int) - 项目ID + - **OrganizationName** (str) - 项目名称 + - **OriginalPrice** (str) - 原价 + - **PaidTime** (int) - 支付完成时间(Unix 时间戳,秒级) + - **PricingSKU** (str) - 计费单元(SKU)名称 + - **PricingUnit** (int) - 计费单位(计量单元) + - **PricingUnitDisplay** (str) - 计费单位显示名(如:千Token、张、秒) + - **ProductCode** (str) - 产品类型 + - **ProductCodeDisplay** (str) - 产品类型显示名 + - **Quantity** (int) - 用量 + - **QuantityDisplay** (str) - 用量显示(含单位) + - **Region** (str) - 地域 + - **RegionDisplay** (str) - 地域显示名 + - **ResourceID** (str) - 资源ID + - **StarCardAccount** (str) - 星力卡抵扣金额 + - **StartTime** (int) - 开始计费时间(Unix 时间戳,秒级) + - **Status** (int) - 订单状态 + - **StatusDisplay** (str) - 订单状态显示名 + - **UnpaidOrderNo** (str) - 欠费订单号 + - **UserEmail** (str) - 用户邮箱 + + + """ + # build request + d = {} + req and d.update(req) + d = apis.ListPaidOrdersRequestSchema().dumps(d) + + resp = self.invoke("ListPaidOrders", d, **kwargs) + return apis.ListPaidOrdersResponseSchema().loads(resp) + + def list_uf_square_model( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListUFSquareModel - 查询模型广场数据 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Keyword** (str) - 关键字 + - **Language** (list) - 语言,数组类型,可选值 ["chinese", "english"] + - **Limit** (int) - 每页数量 + - **MaxModelLen** (list) - 上下文长度,数组类型,可选值 [0,4096,16384,32768,131072,256000,262144,1048576] + - **ModelType** (str) - 模型类型 + - **Offset** (int) - 偏移量 + - **Order** (str) - 排序顺序,默认倒序 + - **OrderBy** (str) - 排序字段 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **SquareModels** (list) - 见 **SquareModel** 模型定义 + - **TotalCount** (int) - 总数 + + **Response Model** + + **Pricing** + - **Completion** (float) - 输出定价 + - **Currency** (str) - 币种 + - **Image** (float) - 生图定价 + - **Prompt** (float) - 提示词定价 + + + **SquareModel** + - **CreateAt** (int) - 创建时间 + - **Describe** (str) - 详细描述 + - **HfUpdateTime** (int) - HuggingFace 更新时间 + - **Icon** (str) - 图标 + - **Id** (str) - 主键 + - **Language** (list) - 语言 + - **MaxModelLen** (int) - 模型长度 + - **ModelType** (str) - 模型类型 + - **Name** (str) - 名称 + - **Pricing** (dict) - 见 **Pricing** 模型定义 + - **SimpleDescribe** (str) - 简要描述 + - **SupportedCapabilities** (list) - 模型能力 + - **UpdateAt** (int) - 更新时间 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.ListUFSquareModelRequestSchema().dumps(d) + + resp = self.invoke("ListUFSquareModel", d, **kwargs) + return apis.ListUFSquareModelResponseSchema().loads(resp) + + def list_um_infer_api_key( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListUMInferAPIKey - 列表查询apikey + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Limit** (int) - 返回数据长度,默认为20,最大100 + - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) + + **Response** + + - **Data** (list) - 见 **APIKey** 模型定义 + + **Response Model** + + **APIKey** + - **ChannelId** (int) - 渠道id + - **CreateTime** (int) - 创建时间 + - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **DailyUsedAmount** (str) - 日已使用额,单位随用户所在渠道。126渠道单位为美元 + - **ExpireTime** (int) - 过期时间的unix时间戳,-1 用不过期 + - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 + - **GrantedModels** (list) - 授权的模型,英文逗号分隔,all表示所有模型都有权限 + - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:  192.168.1.1 192.168.1.10-192.168.1.100 192.168.1.10/24 + - **Key** (str) - 密钥值 + - **KeyId** (str) - 资源ID + - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 + - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 + - **MonthlyUsedAmount** (str) - 月已使用额,单位随用户所在渠道。126渠道单位为美元 + - **Name** (str) - 名称 + - **OrganizationId** (int) - 项目id + - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) + - **Status** (int) - 状态,1 正常 + - **TopOrganizationId** (int) - 公司id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ListUMInferAPIKeyRequestSchema().dumps(d) + + resp = self.invoke("ListUMInferAPIKey", d, **kwargs) + return apis.ListUMInferAPIKeyResponseSchema().loads(resp) + + def list_unpaid_order_summary( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListUnpaidOrderSummary - 按指定维度汇总查询欠费订单的统计数据 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级),必填;必须大于 StartTime + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级),必填 + - **ChargeTypes** (list) - 计费类型数组(多选,可选) + - **ModelIds** (list) - 模型ID数组(多选,可选) + - **OrderTypes** (int) - 订单类型数组(多选,可选) + - **OrganizationIds** (list) - 组织ID列表(可选) + - **PricingSkus** (list) - 计费单元(SKU)列表(可选) + - **PricingUnits** (list) - 计费单元数组(多选,可选) + - **Regions** (list) - 地域列表(多选,可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - Key数组(多选,可选) + + **Response** + + - **Summaries** (list) - 见 **OrderSummaryItem** 模型定义 + + **Response Model** + + **OrderSummaryItem** + - **ChargeType** (int) - 计费类型 + - **DiscountPrice** (str) - 折后单价 + - **ListPrice** (str) - 列表价(原单价) + - **ModelID** (str) - 模型ID + - **ModelName** (str) - 模型名称 + - **OrderType** (int) - 订单类型 + - **OrderTypeDisplay** (str) - 订单类型显示名 + - **PricingSKU** (str) - 计费单元(SKU)名称 + - **PricingUnit** (int) - 计费单位(计量单元) + - **PricingUnitName** (str) - 计费单位名称 + - **ResourceId** (str) - 资源ID + - **Status** (int) - 订单状态(2=已支付; 3=已撤销) + - **StatusDisplay** (str) - 订单状态显示名 + - **SumBonusAccount** (str) - 总赠金账户扣款(仅已完成订单返回) + - **SumCashAccount** (str) - 总现金账户扣款(仅已完成订单返回) + - **SumCoupon** (str) - 总代金券抵扣(仅已完成订单返回) + - **SumOrderPrice** (str) - 总订单金额(格式化后的字符串) + - **SumOriginalPrice** (str) - 总原价(格式化后的字符串) + - **SumQuantity** (int) - 总用量(原始值) + - **SumQuantityDisplay** (str) - 总用量显示(格式化后的字符串,千token和百万token会进行转换) + - **SumStarCardAccount** (str) - 总星力卡抵扣金额(仅已完成订单返回) + + + """ + # build request + d = {} + req and d.update(req) + d = apis.ListUnpaidOrderSummaryRequestSchema().dumps(d) + + resp = self.invoke("ListUnpaidOrderSummary", d, **kwargs) + return apis.ListUnpaidOrderSummaryResponseSchema().loads(resp) + + def list_unpaid_orders( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListUnpaidOrders - 查询当前欠费(未支付)的订单明细列表 + + **Request** + + - **EndTime** (int) - (Required) 查询结束时间(Unix 时间戳,秒级)。需与 `StartTime` 同时提供 + - **Page** (int) - (Required) 页码,从1开始 + - **PageSize** (int) - (Required) 每页数量(最小10,最大100) + - **StartTime** (int) - (Required) 查询开始时间(Unix 时间戳,秒级)。与 `EndTime` 同时提供时启用自定义周期查询;EndTime 必须大于 StartTime + - **ModelIds** (list) - 模型ID数组(多选,可选) + - **OrderTypes** (list) - 订单类型数组(多选,可选) + - **PricingSkus** (list) - 计费 SKU 列表(可选) + - **PricingUnits** (list) - 计费单元数组(多选,可选) + - **ProductCodes** (list) - 产品类型列表(多选,可选),枚举值:`modelverse`、`sandbox` + - **Regions** (list) - 地域列表(多选,可选),参见 `地域和可用区列表 `_ + - **ResourceIds** (list) - key数组(多选,可选) + + **Response** + + - **Orders** (list) - 见 **UnpaidOrderItem** 模型定义 + + **Response Model** + + **UnpaidOrderItem** + - **Channel** (int) - 渠道 + - **ChargeType** (int) - 计费类型 + - **ChargeTypeDisplay** (str) - 计价方式显示名 + - **CompanyID** (int) - 公司id + - **CreateTime** (str) - 创建订单时间(Unix 时间戳,秒级) + - **Currency** (str) - 币种(如:CNY、USD) + - **CurrencyDisplay** (str) - 币种显示名 + - **DiscountPrice** (str) - 折后价(折后单价) + - **EndTime** (int) - 结束计费时间(Unix 时间戳,秒级) + - **ListPrice** (str) - 列表价(原单价) + - **ModelID** (str) - 模型ID + - **ModelName** (str) - 模型名称 + - **OrderNo** (str) - 订单号 + - **OrderTotalPrice** (str) - 订单总额 + - **OrderType** (int) - 订单类型 + - **OrderTypeDisplay** (str) - 订单类型显示名 + - **OrganizationID** (int) - 组织ID + - **OrganizationName** (str) - 组织名称 + - **OriginalPrice** (str) - 原价 + - **PaidTime** (int) - 订单支付时间(Unix 时间戳,秒级) + - **PricingSKU** (str) - 计费单元(SKU)名称 + - **PricingUnit** (int) - 计费单位(计量单元) + - **PricingUnitDisplay** (str) - 计费单位显示名(如:千Token、张、秒) + - **ProductCode** (str) - 产品类型 + - **ProductCodeDisplay** (str) - 产品类型显示名 + - **Quantity** (int) - 用量 + - **QuantityDisplay** (str) - 用量显示(含单位) + - **Region** (str) - 地域代码 + - **RegionDisplay** (str) - 地域显示名 + - **ResourceID** (str) - 模型key + - **ResourceType** (int) - 资源类型 + - **ResourceTypeDisplay** (str) - 资源类型显示名 + - **RevocationTime** (str) - 撤销时间(Unix 时间戳,秒级) + - **SourceOrderNo** (str) - 来源订单号 + - **StartTime** (int) - 开始计费时间(Unix 时间戳,秒级) + - **Status** (int) - 订单状态 + - **StatusDisplay** (str) - 订单状态显示名 + - **UserEmail** (str) - 用户邮箱 + + + """ + # build request + d = {} + req and d.update(req) + d = apis.ListUnpaidOrdersRequestSchema().dumps(d) + + resp = self.invoke("ListUnpaidOrders", d, **kwargs) + return apis.ListUnpaidOrdersResponseSchema().loads(resp) + + def update_um_infer_api_key( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """UpdateUMInferAPIKey - 更新apikey + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **KeyId** (str) - (Required) apikey的id + - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 + - **GrantedModels** (str) - 授权模型,内容为数组格式。当 GrantAllModels 为false时 当前key只可访问数组中模型。例:["deepseek-ai/DeepSeek-V3.2-Think"] + - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:  192.168.1.1 192.168.1.10-192.168.1.100 192.168.1.10/24 + - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 + - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 + - **Name** (str) - 更新的名称 + - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用 + + **Response** + + - **UminferID** (str) - apikey 的id + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.UpdateUMInferAPIKeyRequestSchema().dumps(d) + + resp = self.invoke("UpdateUMInferAPIKey", d, **kwargs) + return apis.UpdateUMInferAPIKeyResponseSchema().loads(resp) diff --git a/ucloud/services/uai_modelverse/schemas/__init__.py b/ucloud/services/uai_modelverse/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ucloud/services/uai_modelverse/schemas/apis.py b/ucloud/services/uai_modelverse/schemas/apis.py new file mode 100644 index 00000000..8e31c38a --- /dev/null +++ b/ucloud/services/uai_modelverse/schemas/apis.py @@ -0,0 +1,591 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +from ucloud.core.typesystem import schema, fields +from ucloud.services.uai_modelverse.schemas import models + +""" UAI_Modelverse API Schema +""" + + +""" +API: CreateUMInferAPIKey + +创建apikey +""" + + +class CreateUMInferAPIKeyRequestSchema(schema.RequestSchema): + """CreateUMInferAPIKey - 创建apikey""" + + fields = { + "DailyLimitAmount": fields.Str( + required=False, dump_to="DailyLimitAmount" + ), + "GrantAllModels": fields.Bool(required=False, dump_to="GrantAllModels"), + "GrantedModels": fields.Str(required=False, dump_to="GrantedModels"), + "IPWhitelist": fields.Str(required=False, dump_to="IPWhitelist"), + "ModelverseDisabled": fields.Int( + required=False, dump_to="ModelverseDisabled" + ), + "MonthlyLimitAmount": fields.Str( + required=False, dump_to="MonthlyLimitAmount" + ), + "Name": fields.Str(required=True, dump_to="Name"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SandBoxDisabled": fields.Int( + required=False, dump_to="SandBoxDisabled" + ), + } + + +class CreateUMInferAPIKeyResponseSchema(schema.ResponseSchema): + """CreateUMInferAPIKey - 创建apikey""" + + fields = { + "Data": models.APIKeySchema(), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + +""" +API: DeleteUMInferAPIKey + +删除apikey +""" + + +class DeleteUMInferAPIKeyRequestSchema(schema.RequestSchema): + """DeleteUMInferAPIKey - 删除apikey""" + + fields = { + "KeyId": fields.Str(required=True, dump_to="KeyId"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + } + + +class DeleteUMInferAPIKeyResponseSchema(schema.ResponseSchema): + """DeleteUMInferAPIKey - 删除apikey""" + + fields = { + "UminferID": fields.Str(required=False, load_from="UminferID"), + } + + +""" +API: DownloadListPaidOrders + +生成已完成(已支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListPaidOrders 完全一致,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据 +""" + + +class DownloadListPaidOrdersRequestSchema(schema.RequestSchema): + """DownloadListPaidOrders - 生成已完成(已支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListPaidOrders 完全一致,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Int()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class DownloadListPaidOrdersResponseSchema(schema.ResponseSchema): + """DownloadListPaidOrders - 生成已完成(已支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListPaidOrders 完全一致,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据""" + + fields = { + "Data": models.DownloadFileDataSchema(), + } + + +""" +API: DownloadListUnpaidOrders + +生成欠费(未支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListUnpaidOrders 完全一致,StartTime/EndTime 必填 +""" + + +class DownloadListUnpaidOrdersRequestSchema(schema.RequestSchema): + """DownloadListUnpaidOrders - 生成欠费(未支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListUnpaidOrders 完全一致,StartTime/EndTime 必填""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Int()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class DownloadListUnpaidOrdersResponseSchema(schema.ResponseSchema): + """DownloadListUnpaidOrders - 生成欠费(未支付)订单明细 Excel 文件并返回 US3 预签名下载链接;查询条件与 ListUnpaidOrders 完全一致,StartTime/EndTime 必填""" + + fields = { + "Data": models.DownloadFileDataSchema(), + } + + +""" +API: DownloadOrderSummary + +生成订单汇总 Excel 文件(包含已完成订单和欠费订单两个 sheet),返回 US3 预签名下载链接;StartTime/EndTime 必填 +""" + + +class DownloadOrderSummaryRequestSchema(schema.RequestSchema): + """DownloadOrderSummary - 生成订单汇总 Excel 文件(包含已完成订单和欠费订单两个 sheet),返回 US3 预签名下载链接;StartTime/EndTime 必填""" + + fields = { + "ChargeTypes": fields.List(fields.Int()), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Int()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class DownloadOrderSummaryResponseSchema(schema.ResponseSchema): + """DownloadOrderSummary - 生成订单汇总 Excel 文件(包含已完成订单和欠费订单两个 sheet),返回 US3 预签名下载链接;StartTime/EndTime 必填""" + + fields = { + "Data": models.DownloadFileDataSchema(), + } + + +""" +API: GetFilterOptions + +查询可用于订单筛选的资源、模型、地域等选项列表 +""" + + +class GetFilterOptionsRequestSchema(schema.RequestSchema): + """GetFilterOptions - 查询可用于订单筛选的资源、模型、地域等选项列表""" + + fields = { + "ProductCode": fields.Str(required=False, dump_to="ProductCode"), + } + + +class GetFilterOptionsResponseSchema(schema.ResponseSchema): + """GetFilterOptions - 查询可用于订单筛选的资源、模型、地域等选项列表""" + + fields = { + "Dimensions": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="Dimensions", + ), + "Models": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="Models", + ), + "OrderTypes": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="OrderTypes", + ), + "PricingSKUs": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="PricingSKUs", + ), + "PricingUnits": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="PricingUnits", + ), + "ProductCodes": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="ProductCodes", + ), + "Projects": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="Projects", + ), + "Regions": fields.List( + models.FilterOptionAiBillSchema(), + required=False, + load_from="Regions", + ), + "ResourceIds": fields.List( + models.FilterOptionAiBillSchema(), + required=True, + load_from="ResourceIds", + ), + } + + +""" +API: GetOrderAmount + +查询指定条件下订单的金额汇总及数量统计 +""" + + +class GetOrderAmountRequestSchema(schema.RequestSchema): + """GetOrderAmount - 查询指定条件下订单的金额汇总及数量统计""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Str()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class GetOrderAmountResponseSchema(schema.ResponseSchema): + """GetOrderAmount - 查询指定条件下订单的金额汇总及数量统计""" + + fields = { + "BonusAmount": fields.Str(required=False, load_from="BonusAmount"), + "CashAmount": fields.Str(required=False, load_from="CashAmount"), + "CouponAmount": fields.Str(required=False, load_from="CouponAmount"), + "OrderCount": fields.Int(required=False, load_from="OrderCount"), + "PaidAmount": fields.Str(required=False, load_from="PaidAmount"), + "PaidCount": fields.Int(required=False, load_from="PaidCount"), + "StarCardAmount": fields.Str( + required=False, load_from="StarCardAmount" + ), + "TotalOrderAmount": fields.Str( + required=True, load_from="TotalOrderAmount" + ), + "UnpaidAmount": fields.Str(required=False, load_from="UnpaidAmount"), + "UnpaidCount": fields.Int(required=False, load_from="UnpaidCount"), + } + + +""" +API: GetUMInferAPIModel + +获取该apikey能调用api的模型列表 +""" + + +class GetUMInferAPIModelRequestSchema(schema.RequestSchema): + """GetUMInferAPIModel - 获取该apikey能调用api的模型列表""" + + fields = { + "KeyId": fields.Str(required=False, dump_to="KeyId"), + "ModelType": fields.Int(required=False, dump_to="ModelType"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SquareId": fields.Str(required=False, dump_to="SquareId"), + } + + +class GetUMInferAPIModelResponseSchema(schema.ResponseSchema): + """GetUMInferAPIModel - 获取该apikey能调用api的模型列表""" + + fields = { + "Data": fields.List( + models.UMinferAPIModelSchema(), required=True, load_from="Data" + ), + } + + +""" +API: GetUMInferTokenUsage + +获取某个key下的某个模型的token使用量 +""" + + +class GetUMInferTokenUsageRequestSchema(schema.RequestSchema): + """GetUMInferTokenUsage - 获取某个key下的某个模型的token使用量""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "KeyId": fields.Str(required=True, dump_to="KeyId"), + "Model": fields.Str(required=True, dump_to="Model"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class GetUMInferTokenUsageResponseSchema(schema.ResponseSchema): + """GetUMInferTokenUsage - 获取某个key下的某个模型的token使用量""" + + fields = { + "Data": models.TokenUsageSchema(), + } + + +""" +API: ListPaidOrderSummary + +按指定维度汇总查询已完成(已支付)订单的统计数据 +""" + + +class ListPaidOrderSummaryRequestSchema(schema.RequestSchema): + """ListPaidOrderSummary - 按指定维度汇总查询已完成(已支付)订单的统计数据""" + + fields = { + "ChargeTypes": fields.List(fields.Int()), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Int()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class ListPaidOrderSummaryResponseSchema(schema.ResponseSchema): + """ListPaidOrderSummary - 按指定维度汇总查询已完成(已支付)订单的统计数据""" + + fields = { + "Summaries": fields.List( + models.OrderSummaryItemSchema(), + required=True, + load_from="Summaries", + ), + } + + +""" +API: ListPaidOrders + +查询已完成(已支付)的订单明细列表,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据 +""" + + +class ListPaidOrdersRequestSchema(schema.RequestSchema): + """ListPaidOrders - 查询已完成(已支付)的订单明细列表,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "OrganizationIds": fields.List(fields.Int()), + "Page": fields.Int(required=True, dump_to="Page"), + "PageSize": fields.Int(required=True, dump_to="PageSize"), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class ListPaidOrdersResponseSchema(schema.ResponseSchema): + """ListPaidOrders - 查询已完成(已支付)的订单明细列表,StartTime/EndTime 必填;取数范围是 [StartTime, EndTime),即取开始计费时间大于等于StartTime且小于EndTime的数据""" + + fields = { + "Orders": fields.List( + models.OrderItemDetailSchema(), required=False, load_from="Orders" + ), + "Page": fields.Int(required=True, load_from="Page"), + "PageSize": fields.Int(required=False, load_from="PageSize"), + "Total": fields.Int(required=False, load_from="Total"), + } + + +""" +API: ListUFSquareModel + +查询模型广场数据 +""" + + +class ListUFSquareModelRequestSchema(schema.RequestSchema): + """ListUFSquareModel - 查询模型广场数据""" + + fields = { + "Keyword": fields.Str(required=False, dump_to="Keyword"), + "Language": fields.List(fields.Str()), + "Limit": fields.Int(required=False, dump_to="Limit"), + "MaxModelLen": fields.List(fields.Int()), + "ModelType": fields.Str(required=False, dump_to="ModelType"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Order": fields.Str(required=False, dump_to="Order"), + "OrderBy": fields.Str(required=False, dump_to="OrderBy"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=False, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + } + + +class ListUFSquareModelResponseSchema(schema.ResponseSchema): + """ListUFSquareModel - 查询模型广场数据""" + + fields = { + "SquareModels": fields.List( + models.SquareModelSchema(), required=True, load_from="SquareModels" + ), + "TotalCount": fields.Int(required=True, load_from="TotalCount"), + } + + +""" +API: ListUMInferAPIKey + +列表查询apikey +""" + + +class ListUMInferAPIKeyRequestSchema(schema.RequestSchema): + """ListUMInferAPIKey - 列表查询apikey""" + + fields = { + "Limit": fields.Int(required=False, dump_to="Limit"), + "ModelverseDisabled": fields.Int( + required=False, dump_to="ModelverseDisabled" + ), + "Offset": fields.Int(required=False, dump_to="Offset"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SandBoxDisabled": fields.Int( + required=False, dump_to="SandBoxDisabled" + ), + } + + +class ListUMInferAPIKeyResponseSchema(schema.ResponseSchema): + """ListUMInferAPIKey - 列表查询apikey""" + + fields = { + "Data": fields.List( + models.APIKeySchema(), required=True, load_from="Data" + ), + } + + +""" +API: ListUnpaidOrderSummary + +按指定维度汇总查询欠费订单的统计数据 +""" + + +class ListUnpaidOrderSummaryRequestSchema(schema.RequestSchema): + """ListUnpaidOrderSummary - 按指定维度汇总查询欠费订单的统计数据""" + + fields = { + "ChargeTypes": fields.List(fields.Int()), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.Int(required=False, dump_to="OrderTypes"), + "OrganizationIds": fields.List(fields.Int()), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class ListUnpaidOrderSummaryResponseSchema(schema.ResponseSchema): + """ListUnpaidOrderSummary - 按指定维度汇总查询欠费订单的统计数据""" + + fields = { + "Summaries": fields.List( + models.OrderSummaryItemSchema(), + required=True, + load_from="Summaries", + ), + } + + +""" +API: ListUnpaidOrders + +查询当前欠费(未支付)的订单明细列表 +""" + + +class ListUnpaidOrdersRequestSchema(schema.RequestSchema): + """ListUnpaidOrders - 查询当前欠费(未支付)的订单明细列表""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ModelIds": fields.List(fields.Str()), + "OrderTypes": fields.List(fields.Int()), + "Page": fields.Int(required=True, dump_to="Page"), + "PageSize": fields.Int(required=True, dump_to="PageSize"), + "PricingSkus": fields.List(fields.Str()), + "PricingUnits": fields.List(fields.Int()), + "ProductCodes": fields.List(fields.Str()), + "Regions": fields.List(fields.Str()), + "ResourceIds": fields.List(fields.Str()), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class ListUnpaidOrdersResponseSchema(schema.ResponseSchema): + """ListUnpaidOrders - 查询当前欠费(未支付)的订单明细列表""" + + fields = { + "Orders": fields.List( + models.UnpaidOrderItemSchema(), required=True, load_from="Orders" + ), + } + + +""" +API: UpdateUMInferAPIKey + +更新apikey +""" + + +class UpdateUMInferAPIKeyRequestSchema(schema.RequestSchema): + """UpdateUMInferAPIKey - 更新apikey""" + + fields = { + "DailyLimitAmount": fields.Str( + required=False, dump_to="DailyLimitAmount" + ), + "GrantAllModels": fields.Bool(required=False, dump_to="GrantAllModels"), + "GrantedModels": fields.Str(required=False, dump_to="GrantedModels"), + "IPWhitelist": fields.Str(required=False, dump_to="IPWhitelist"), + "KeyId": fields.Str(required=True, dump_to="KeyId"), + "ModelverseDisabled": fields.Int( + required=False, dump_to="ModelverseDisabled" + ), + "MonthlyLimitAmount": fields.Str( + required=False, dump_to="MonthlyLimitAmount" + ), + "Name": fields.Str(required=False, dump_to="Name"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SandBoxDisabled": fields.Int( + required=False, dump_to="SandBoxDisabled" + ), + } + + +class UpdateUMInferAPIKeyResponseSchema(schema.ResponseSchema): + """UpdateUMInferAPIKey - 更新apikey""" + + fields = { + "UminferID": fields.Str(required=False, load_from="UminferID"), + } diff --git a/ucloud/services/uai_modelverse/schemas/models.py b/ucloud/services/uai_modelverse/schemas/models.py new file mode 100644 index 00000000..31c76aaf --- /dev/null +++ b/ucloud/services/uai_modelverse/schemas/models.py @@ -0,0 +1,318 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +from ucloud.core.typesystem import schema, fields + + +class APIKeySchema(schema.ResponseSchema): + """APIKey - apikey""" + + fields = { + "ChannelId": fields.Int(required=False, load_from="ChannelId"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "DailyLimitAmount": fields.Str( + required=False, load_from="DailyLimitAmount" + ), + "DailyUsedAmount": fields.Str( + required=False, load_from="DailyUsedAmount" + ), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "GrantAllModels": fields.Bool( + required=False, load_from="GrantAllModels" + ), + "GrantedModels": fields.List(fields.Str()), + "IPWhitelist": fields.Str(required=True, load_from="IPWhitelist"), + "Key": fields.Str(required=False, load_from="Key"), + "KeyId": fields.Str(required=False, load_from="KeyId"), + "ModelverseDisabled": fields.Int( + required=False, load_from="ModelverseDisabled" + ), + "MonthlyLimitAmount": fields.Str( + required=False, load_from="MonthlyLimitAmount" + ), + "MonthlyUsedAmount": fields.Str( + required=False, load_from="MonthlyUsedAmount" + ), + "Name": fields.Str(required=False, load_from="Name"), + "OrganizationId": fields.Int( + required=False, load_from="OrganizationId" + ), + "SandBoxDisabled": fields.Int( + required=False, load_from="SandBoxDisabled" + ), + "Status": fields.Int(required=False, load_from="Status"), + "TopOrganizationId": fields.Int( + required=False, load_from="TopOrganizationId" + ), + } + + +class DownloadFileDataSchema(schema.ResponseSchema): + """DownloadFileData - 下载文件数据""" + + fields = { + "DownloadURL": fields.Str(required=False, load_from="DownloadURL"), + "FileName": fields.Str(required=False, load_from="FileName"), + "FileSize": fields.Int(required=False, load_from="FileSize"), + } + + +class FilterOptionAiBillSchema(schema.ResponseSchema): + """FilterOptionAiBill - 筛选选项""" + + fields = { + "Name": fields.Str(required=False, load_from="Name"), + "Value": fields.Str(), + } + + +class PricingSchema(schema.ResponseSchema): + """Pricing - 定价策略""" + + fields = { + "Completion": fields.Float(required=False, load_from="Completion"), + "Currency": fields.Str(required=False, load_from="Currency"), + "Image": fields.Float(required=False, load_from="Image"), + "Prompt": fields.Float(required=False, load_from="Prompt"), + } + + +class UMinferAPIModelSchema(schema.ResponseSchema): + """UMinferAPIModel - 可供api调用的model详情""" + + fields = { + "CreateAt": fields.Int(required=False, load_from="CreateAt"), + "Icon": fields.Str(required=False, load_from="Icon"), + "Id": fields.Str(required=False, load_from="Id"), + "Language": fields.List(fields.Str()), + "Name": fields.Str(required=False, load_from="Name"), + "Pricing": PricingSchema(), + "ServedModelName": fields.Str( + required=False, load_from="ServedModelName" + ), + "SimpleDescribe": fields.Str( + required=False, load_from="SimpleDescribe" + ), + "UpdateAt": fields.Int(required=False, load_from="UpdateAt"), + } + + +class TokenUsageTimestampSchema(schema.ResponseSchema): + """TokenUsageTimestamp - 时间戳级别的token使用量""" + + fields = { + "Count": fields.Int(required=False, load_from="Count"), + "Model": fields.Str(required=False, load_from="Model"), + "Timestamp": fields.Int(required=False, load_from="Timestamp"), + "Type": fields.Str(required=False, load_from="Type"), + } + + +class TokenUsageSchema(schema.ResponseSchema): + """TokenUsage - 某个apikey的某个模型的token使用情况""" + + fields = { + "ImageGenerationNum": fields.Int( + required=False, load_from="ImageGenerationNum" + ), + "InTotal": fields.Int(required=False, load_from="InTotal"), + "OutTotal": fields.Int(required=False, load_from="OutTotal"), + "RequestTotal": fields.Int(required=False, load_from="RequestTotal"), + "Total": fields.Int(required=False, load_from="Total"), + "Usages": fields.List(TokenUsageTimestampSchema()), + } + + +class OrderSummaryItemSchema(schema.ResponseSchema): + """OrderSummaryItem - 订单汇总项""" + + fields = { + "ChargeType": fields.Int(required=False, load_from="ChargeType"), + "DiscountPrice": fields.Str(required=False, load_from="DiscountPrice"), + "ListPrice": fields.Str(required=False, load_from="ListPrice"), + "ModelID": fields.Str(required=False, load_from="ModelID"), + "ModelName": fields.Str(required=False, load_from="ModelName"), + "OrderType": fields.Int(required=False, load_from="OrderType"), + "OrderTypeDisplay": fields.Str( + required=False, load_from="OrderTypeDisplay" + ), + "PricingSKU": fields.Str(required=False, load_from="PricingSKU"), + "PricingUnit": fields.Int(required=False, load_from="PricingUnit"), + "PricingUnitName": fields.Str( + required=False, load_from="PricingUnitName" + ), + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "Status": fields.Int(required=False, load_from="Status"), + "StatusDisplay": fields.Str(required=False, load_from="StatusDisplay"), + "SumBonusAccount": fields.Str( + required=False, load_from="SumBonusAccount" + ), + "SumCashAccount": fields.Str( + required=False, load_from="SumCashAccount" + ), + "SumCoupon": fields.Str(required=False, load_from="SumCoupon"), + "SumOrderPrice": fields.Str(required=False, load_from="SumOrderPrice"), + "SumOriginalPrice": fields.Str( + required=False, load_from="SumOriginalPrice" + ), + "SumQuantity": fields.Int(required=False, load_from="SumQuantity"), + "SumQuantityDisplay": fields.Str( + required=False, load_from="SumQuantityDisplay" + ), + "SumStarCardAccount": fields.Str( + required=False, load_from="SumStarCardAccount" + ), + } + + +class OrderItemDetailSchema(schema.ResponseSchema): + """OrderItemDetail - 订单项详情""" + + fields = { + "BonusAccount": fields.Str(required=False, load_from="BonusAccount"), + "CashAccount": fields.Str(required=False, load_from="CashAccount"), + "Channel": fields.Int(required=False, load_from="Channel"), + "ChargeType": fields.Int(required=False, load_from="ChargeType"), + "ChargeTypeDisplay": fields.Str( + required=False, load_from="ChargeTypeDisplay" + ), + "CompanyID": fields.Int(required=False, load_from="CompanyID"), + "Coupon": fields.Str(required=False, load_from="Coupon"), + "Currency": fields.Str(required=False, load_from="Currency"), + "CurrencyDisplay": fields.Str( + required=False, load_from="CurrencyDisplay" + ), + "DiscountPrice": fields.Str(required=False, load_from="DiscountPrice"), + "EndTime": fields.Int(required=False, load_from="EndTime"), + "ListPrice": fields.Str(required=False, load_from="ListPrice"), + "ModelID": fields.Str(required=False, load_from="ModelID"), + "ModelName": fields.Str(required=False, load_from="ModelName"), + "OrderNo": fields.Str(required=False, load_from="OrderNo"), + "OrderTotalPrice": fields.Str( + required=False, load_from="OrderTotalPrice" + ), + "OrderType": fields.Int(required=False, load_from="OrderType"), + "OrderTypeDisplay": fields.Str( + required=False, load_from="OrderTypeDisplay" + ), + "OrganizationID": fields.Int( + required=False, load_from="OrganizationID" + ), + "OrganizationName": fields.Str( + required=False, load_from="OrganizationName" + ), + "OriginalPrice": fields.Str(required=False, load_from="OriginalPrice"), + "PaidTime": fields.Int(required=False, load_from="PaidTime"), + "PricingSKU": fields.Str(required=False, load_from="PricingSKU"), + "PricingUnit": fields.Int(required=False, load_from="PricingUnit"), + "PricingUnitDisplay": fields.Str( + required=False, load_from="PricingUnitDisplay" + ), + "ProductCode": fields.Str(required=False, load_from="ProductCode"), + "ProductCodeDisplay": fields.Str( + required=False, load_from="ProductCodeDisplay" + ), + "Quantity": fields.Int(required=False, load_from="Quantity"), + "QuantityDisplay": fields.Str( + required=False, load_from="QuantityDisplay" + ), + "Region": fields.Str(required=False, load_from="Region"), + "RegionDisplay": fields.Str(required=False, load_from="RegionDisplay"), + "ResourceID": fields.Str(required=False, load_from="ResourceID"), + "StarCardAccount": fields.Str( + required=False, load_from="StarCardAccount" + ), + "StartTime": fields.Int(required=False, load_from="StartTime"), + "Status": fields.Int(required=False, load_from="Status"), + "StatusDisplay": fields.Str(required=False, load_from="StatusDisplay"), + "UnpaidOrderNo": fields.Str(required=False, load_from="UnpaidOrderNo"), + "UserEmail": fields.Str(required=False, load_from="UserEmail"), + } + + +class SquareModelSchema(schema.ResponseSchema): + """SquareModel - 广场模型""" + + fields = { + "CreateAt": fields.Int(required=False, load_from="CreateAt"), + "Describe": fields.Str(required=False, load_from="Describe"), + "HfUpdateTime": fields.Int(required=False, load_from="HfUpdateTime"), + "Icon": fields.Str(required=False, load_from="Icon"), + "Id": fields.Str(required=False, load_from="Id"), + "Language": fields.List(fields.Str()), + "MaxModelLen": fields.Int(required=False, load_from="MaxModelLen"), + "ModelType": fields.Str(required=False, load_from="ModelType"), + "Name": fields.Str(required=False, load_from="Name"), + "Pricing": PricingSchema(), + "SimpleDescribe": fields.Str( + required=False, load_from="SimpleDescribe" + ), + "SupportedCapabilities": fields.List(fields.Str()), + "UpdateAt": fields.Int(required=False, load_from="UpdateAt"), + } + + +class UnpaidOrderItemSchema(schema.ResponseSchema): + """UnpaidOrderItem - 欠费订单项""" + + fields = { + "Channel": fields.Int(required=False, load_from="Channel"), + "ChargeType": fields.Int(required=False, load_from="ChargeType"), + "ChargeTypeDisplay": fields.Str( + required=False, load_from="ChargeTypeDisplay" + ), + "CompanyID": fields.Int(required=False, load_from="CompanyID"), + "CreateTime": fields.Str(required=False, load_from="CreateTime"), + "Currency": fields.Str(required=False, load_from="Currency"), + "CurrencyDisplay": fields.Str( + required=False, load_from="CurrencyDisplay" + ), + "DiscountPrice": fields.Str(required=False, load_from="DiscountPrice"), + "EndTime": fields.Int(required=False, load_from="EndTime"), + "ListPrice": fields.Str(required=False, load_from="ListPrice"), + "ModelID": fields.Str(required=False, load_from="ModelID"), + "ModelName": fields.Str(required=False, load_from="ModelName"), + "OrderNo": fields.Str(required=False, load_from="OrderNo"), + "OrderTotalPrice": fields.Str( + required=False, load_from="OrderTotalPrice" + ), + "OrderType": fields.Int(required=False, load_from="OrderType"), + "OrderTypeDisplay": fields.Str( + required=False, load_from="OrderTypeDisplay" + ), + "OrganizationID": fields.Int( + required=False, load_from="OrganizationID" + ), + "OrganizationName": fields.Str( + required=False, load_from="OrganizationName" + ), + "OriginalPrice": fields.Str(required=False, load_from="OriginalPrice"), + "PaidTime": fields.Int(required=False, load_from="PaidTime"), + "PricingSKU": fields.Str(required=False, load_from="PricingSKU"), + "PricingUnit": fields.Int(required=False, load_from="PricingUnit"), + "PricingUnitDisplay": fields.Str( + required=False, load_from="PricingUnitDisplay" + ), + "ProductCode": fields.Str(required=False, load_from="ProductCode"), + "ProductCodeDisplay": fields.Str( + required=False, load_from="ProductCodeDisplay" + ), + "Quantity": fields.Int(required=False, load_from="Quantity"), + "QuantityDisplay": fields.Str( + required=False, load_from="QuantityDisplay" + ), + "Region": fields.Str(required=False, load_from="Region"), + "RegionDisplay": fields.Str(required=False, load_from="RegionDisplay"), + "ResourceID": fields.Str(required=False, load_from="ResourceID"), + "ResourceType": fields.Int(required=False, load_from="ResourceType"), + "ResourceTypeDisplay": fields.Str( + required=False, load_from="ResourceTypeDisplay" + ), + "RevocationTime": fields.Str( + required=False, load_from="RevocationTime" + ), + "SourceOrderNo": fields.Str(required=False, load_from="SourceOrderNo"), + "StartTime": fields.Int(required=False, load_from="StartTime"), + "Status": fields.Int(required=False, load_from="Status"), + "StatusDisplay": fields.Str(required=False, load_from="StatusDisplay"), + "UserEmail": fields.Str(required=False, load_from="UserEmail"), + } diff --git a/ucloud/services/uhost/client.py b/ucloud/services/uhost/client.py index 096f0da6..a20006c7 100644 --- a/ucloud/services/uhost/client.py +++ b/ucloud/services/uhost/client.py @@ -45,6 +45,74 @@ def add_uhost_to_isolation_group( resp = self.invoke("AddUHostToIsolationGroup", d, **kwargs) return apis.AddUHostToIsolationGroupResponseSchema().loads(resp) + def check_uhost_resource_capacity( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """CheckUHostResourceCapacity - 主机创建资源余量检查 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageId** (str) - (Required) 镜像ID。 请通过 `DescribeImage `_ 获取 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **CPU** (int) - 虚拟CPU核数。可选参数:1-64(具体机型与CPU的对应关系参照控制台)。默认值: 4。 + - **ChargeType** (str) - 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时预付费 \\ > Postpay,按小时后付费(支持关机不收费,目前仅部分可用区支持,请联系您的客户经理) \\ > Spot计费为抢占式实例(内测阶段) \\ 默认为月付 + - **Disks** (list) - 见 **CheckUHostResourceCapacityParamDisks** 模型定义 + - **Features** (dict) - 见 **CheckUHostResourceCapacityParamFeatures** 模型定义 + - **GPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与MachineType+GpuType相关) + - **GpuType** (str) - GPU类型,枚举值["K80", "P40", "V100", "T4","T4A", "T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4", "MI100", "V100S",2080","2080TiS","2080TiPro","3090","A100", "4090", "4090Pro", "4090_48G", "5090"],MachineType为G时必填 + - **HotplugFeature** (bool) - 热升级特性。True为开启,False为未开启,默认False。 + - **IsolationGroup** (str) - 硬件隔离组id。可通过DescribeIsolationGroup获取。 + - **MachineType** (str) - 云主机机型(V2.0),在本字段和字段UHostType中,仅需要其中1个字段即可。枚举值["N", "C", "G", "O", "OS", "OM", "OPRO", "OMAX", "O.BM", "O.EPC"]。参考 `云主机机型说明 `_ 。 + - **MaxCount** (int) - 本次最大创建主机数量,取值范围是[1,100],默认值为1。 + - **Memory** (int) - 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围参考控制台)。默认值:8192 + - **MinCount** (int) - 本次最小创建主机数量,取值范围是[1,100],默认值为1。 + - **MinimalCpuPlatform** (str) - 最低cpu平台,枚举值["Intel/Auto", "Intel/IvyBridge", "Intel/Haswell", "Intel/Broadwell", "Intel/Skylake", "Intel/Cascadelake", "Intel/CascadelakeR", "Intel/IceLake", "Amd/Epyc2", "Amd/Auto","Ampere/Auto","Ampere/Altra"],默认值是"Intel/Auto"。 + - **NetCapability** (str) - 网络增强特性。枚举值:Normal,不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0(详情参考官网文档) + - **SecurityMode** (str) - 主机安全模式。Firewall:防火墙;SecGroup:安全组;默认值:Firewall。 + - **UHostFamily** (str) - 规格族。由机型代号和 CPU 平台组成,用于指定云主机的硬件类型与处理器平台。当 MachineType 为 "O"(快杰型)时,支持以下取值:o1i:快杰型 O1 代,Intel 平台o1a:快杰型 O1 代,AMD 平台o1r:快杰型 O1 代,ARM 平台o2i:快杰型 O2 代,Intel 平台默认值:o1i 或 o1a(系统将根据资源情况自动选择)当 MachineType 为 "OM"(快杰共享型)时,支持以下取值:om1i:快杰内存增强型 OM1 代,Intel 平台om2i:快杰内存增强型 OM2 代,Intel 平台⚠️ 注意:规格族必须与 MachineType 匹配,否则请求将被拒绝。 + + **Response** + + - **RdmaClusterIds** (list) - 随机的资源对应的RdmaClusterId数组,若资源不足则为空,只有快杰系列机型,以及A800才可能有此字段 + - **ResourceEnough** (bool) - 资源是否充足 + + **Request Model** + + **CheckUHostResourceCapacityParamFeatures** + - **UNI** (bool) - 弹性网卡特性。开启了弹性网卡权限位,此特性才生效,默认 false 未开启,true 开启,仅与 NetCapability Normal 兼容。 + + + **CheckUHostResourceCapacityParamDisksCustomBackup** + - **Day** (str) - Disks.N.BackupMode为"Custom"时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30。 + - **Hour** (str) - Disks.N.BackupMode为"Custom"时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96。 + - **Journal** (str) - Disks.N.BackupMode为"Custom"时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48。 + + + **CheckUHostResourceCapacityParamDisks** + - **BackupMode** (str) - 指定快照备份策略。当Disks.N.BackupType为"SNAPSHOT"时此参数生效。枚举值:"Lite":轻量版,"Base":基础版,"Ultimate":旗舰版,"Custom":自定义备份链;默认值:"Base" + - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\ > SNAPSHOT,快照 \\当前磁盘支持的备份模式参考 `磁盘类型 `_ ,默认值:NONE + - **CouponId** (str) - 云盘代金券id。不适用于系统盘/本地盘。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **CustomBackup** (dict) - 见 **CheckUHostResourceCapacityParamDisksCustomBackup** 模型定义 + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + - **Size** (int) - 磁盘大小,单位GB。请参考 `磁盘类型 `_ 。 + - **SnapshotId** (str) - 从快照创建盘时所用快照id,目前仅支持数据盘 + - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.CheckUHostResourceCapacityRequestSchema().dumps(d) + + resp = self.invoke("CheckUHostResourceCapacity", d, **kwargs) + return apis.CheckUHostResourceCapacityResponseSchema().loads(resp) + def copy_custom_image( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: @@ -176,6 +244,7 @@ def create_uhost_instance( - **CPU** (int) - 虚拟CPU核数。可选参数:1-64(具体机型与CPU的对应关系参照控制台)。默认值: 4。 - **ChargeType** (str) - 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时预付费 \\ > Postpay,按小时后付费(支持关机不收费,目前仅部分可用区支持,请联系您的客户经理) \\ > Spot计费为抢占式实例(内测阶段) \\ 默认为月付 - **CouponId** (str) - 主机代金券ID。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **DeletionProtection** (bool) - 删除保护,设置删除保护参数,true表示不允许控制台删除 - **Disks** (list) - 见 **CreateUHostInstanceParamDisks** 模型定义 - **Features** (dict) - 见 **CreateUHostInstanceParamFeatures** 模型定义 - **GPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与MachineType+GpuType相关) @@ -203,7 +272,7 @@ def create_uhost_instance( - **Tag** (str) - 业务组。默认:Default(Default即为未分组)。请遵照 `字段规范 `_ 设定业务组。 - **UDHostId** (str) - 【私有专区属性】专区宿主机id - **UDSetId** (str) - 【私有专区属性】专区id - - **UHostFamily** (str) - 规格族。 由机型代号和 CPU 平台组成,用于指定云主机的硬件类型与处理器平台。 当 MachineType 为 "O"(快杰型)时,支持以下取值:- o1i:快杰型 O1 代,Intel 平台 - o1a:快杰型 O1 代,AMD 平台- o1r:快杰型 O1 代,ARM 平台 - o2i:快杰型 O2 代,Intel 平台 默认值:o1i 或 o1a(系统将根据资源情况自动选择) 当 MachineType 为 "OM"(快杰共享型)时,支持以下取值: - om1i:快杰内存增强型 OM1 代,Intel 平台 - om2i:快杰内存增强型 OM2 代,Intel 平台注意:规格族必须与 MachineType 匹配,否则请求将被拒绝。 + - **UHostFamily** (str) - 规格族。 由机型代号和 CPU 平台组成,用于指定云主机的硬件类型与处理器平台。 当 MachineType 为 "O"(快杰型)时,支持以下取值:- o1i:快杰型 O1 代,Intel 平台 - o1a:快杰型 O1 代,AMD 平台- o1r:快杰型 O1 代,ARM 平台 - o2i:快杰型 O2 代,Intel 平台 默认值:o1i 或 o1a当 MachineType 为 "OM"(快杰共享型)时,支持以下取值: - om1i:快杰内存增强型 OM1 代,Intel 平台 - om2i:快杰内存增强型 OM2 代,Intel 平台注意:规格族必须与 MachineType 匹配,否则请求将被拒绝。 - **UHostType** (str) - 【建议后续不再使用】云主机机型(V1.0),在本字段和字段MachineType中,仅需要其中1个字段即可。参考 `云主机机型说明 `_ 。 - **UserData** (str) - 用户自定义数据。当镜像支持Cloud-init Feature时可填写此字段。注意:1、总数据量大小不超过 16K;2、使用base64编码 - **VPCId** (str) - VPC ID。默认为当前地域的默认VPC。 @@ -215,11 +284,26 @@ def create_uhost_instance( **Request Model** + **CreateUHostInstanceParamLabels** + - **Key** (str) - 用户资源标签的键值 + - **Value** (str) - 用户资源标签的值 + + + **CreateUHostInstanceParamFeatures** + - **UNI** (bool) - 弹性网卡特性。开启了弹性网卡权限位,此特性才生效,默认 false 未开启,true 开启。 + + **CreateUHostInstanceParamSecGroupId** - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 - **Priority** (int) - 安全组优先级。取值范围[1, 5] + **CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH** + - **Area** (str) - + - **AreaCode** (str) - + - **Port** (int) - + + **CreateUHostInstanceParamDisksCustomBackup** - **Day** (str) - Disks.N.BackupMode为"Custom"时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30。 - **Hour** (str) - Disks.N.BackupMode为"Custom"时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96。 @@ -239,14 +323,11 @@ def create_uhost_instance( - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 - **CreateUHostInstanceParamNetworkInterfaceIPv6** - - **Address** (str) - 第N个网卡对应的IPv6地址,默认不分配IPv6,“Auto”自动分配,不为空的其他字符串为实际要分配的IPv6地址。当前仅支持分配一个IPv6地址 + **CreateUHostInstanceParamVolumes** - **CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH** - - **Area** (str) - - - **AreaCode** (str) - - - **Port** (int) - + **CreateUHostInstanceParamNetworkInterfaceIPv6** + - **Address** (str) - 第N个网卡对应的IPv6地址,默认不分配IPv6,“Auto”自动分配,不为空的其他字符串为实际要分配的IPv6地址。当前仅支持分配一个IPv6地址 **CreateUHostInstanceParamNetworkInterfaceEIP** @@ -263,18 +344,6 @@ def create_uhost_instance( - **IPv6** (dict) - 见 **CreateUHostInstanceParamNetworkInterfaceIPv6** 模型定义 - **CreateUHostInstanceParamLabels** - - **Key** (str) - 用户资源标签的键值 - - **Value** (str) - 用户资源标签的值 - - - **CreateUHostInstanceParamVolumes** - - - **CreateUHostInstanceParamFeatures** - - **UNI** (bool) - 弹性网卡特性。开启了弹性网卡权限位,此特性才生效,默认 false 未开启,true 开启。 - - """ # build request d = { @@ -405,6 +474,28 @@ def describe_available_instance_types( **Response Model** + **FeatureModes** + - **MinimalCpuPlatform** (list) - 这个特性必须是列出来的CPU平台及以上的CPU才支持 + - **Name** (str) - 模式|特性名称 + - **RelatedToImageFeature** (list) - 为镜像上支持这个特性的标签。例如DescribeImage返回的字段Features包含HotPlug,说明该镜像支持热升级。 + + + **Features** + - **Modes** (list) - 见 **FeatureModes** 模型定义 + - **Name** (str) - 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + + + **CpuPlatforms** + - **Amd** (list) - 返回AMD的CPU平台信息,例如:AMD: ['Amd/Epyc2'] + - **Ampere** (list) - 返回Arm的CPU平台信息,例如:Ampere: ['Ampere/Altra'] + - **Intel** (list) - 返回Intel的CPU平台信息,例如:Intel: ['Intel/CascadeLake','Intel/CascadelakeR','Intel/IceLake'] + + + **GraphicsMemory** + - **Rate** (int) - 交互展示参数,可忽略 + - **Value** (int) - 值,单位是GB + + **Collection** - **Cpu** (int) - CPU规格 - **Memory** (list) - 内存规格 @@ -416,6 +507,31 @@ def describe_available_instance_types( - **Gpu** (int) - Gpu为GPU可支持的规格即GPU颗数,非GPU机型,Gpu为0 + **Performance** + - **Rate** (int) - 交互展示参数,可忽略 + - **Value** (float) - 值,单位是TFlops + + + **BootDiskInfo** + - **Features** (list) - 磁盘可支持的服务 + - **InstantResize** (bool) - 系统盘是否允许扩容,如果是本地盘,则不允许扩容,InstantResize为false。 + - **MaximalSize** (int) - MaximalSize为磁盘最大值 + - **Name** (str) - 系统盘类别,包含普通云盘|CLOUD_NORMAL、SSD云盘|CLOUD_SSD和RSSD云盘|CLOUD_RSSD。普通本地盘只包含普通本地盘|LOCAL_NORMAL一种。SSD本地盘只包含SSD本地盘|LOCAL_SSD一种。 + + + **DataDiskInfo** + - **Features** (list) - 数据盘可支持的服务 + - **MaximalSize** (int) - MaximalSize为磁盘最大值 + - **MinimalSize** (int) - 磁盘最小值,如果没有该字段,最小值取基础镜像Size值即可(linux为20G,windows为40G)。 + - **Name** (str) - 数据盘类别,包含普通云盘|CLOUD_NORMAL、SSD云盘|CLOUD_SSD和RSSD云盘|CLOUD_RSSD。普通本地盘只包含普通本地盘|LOCAL_NORMAL一种。SSD本地盘只包含SSD本地盘|LOCAL_SSD一种。 + + + **Disks** + - **BootDisk** (list) - 见 **BootDiskInfo** 模型定义 + - **DataDisk** (list) - 见 **DataDiskInfo** 模型定义 + - **Name** (str) - 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 + + **CpuPlatformWithModels** - **CpuFrequency** (str) - CPU频率 - **CpuModels** (list) - CPU Model列表 @@ -428,40 +544,107 @@ def describe_available_instance_types( - **Name** (str) - 规格族 - **CpuPlatforms** - - **Amd** (list) - 返回AMD的CPU平台信息,例如:AMD: ['Amd/Epyc2'] - - **Ampere** (list) - 返回Arm的CPU平台信息,例如:Ampere: ['Ampere/Altra'] - - **Intel** (list) - 返回Intel的CPU平台信息,例如:Intel: ['Intel/CascadeLake','Intel/CascadelakeR','Intel/IceLake'] + **AvailableInstanceTypes** + - **CpuPlatforms** (dict) - 见 **CpuPlatforms** 模型定义 + - **Description** (str) - 机型描述 + - **Disks** (list) - 见 **Disks** 模型定义 + - **Features** (list) - 见 **Features** 模型定义 + - **GraphicsMemory** (dict) - 见 **GraphicsMemory** 模型定义 + - **InstanceType** (str) - 实例类型,枚举值["uhost", "spot"] + - **MachineClass** (str) - 区分是否是GPU机型:GPU机型|GPU,非GPU机型|Normal。 + - **MachineSizes** (list) - 见 **MachineSizes** 模型定义 + - **Name** (str) - 机型名称:快杰O型|O 、快杰共享型|OM 、快杰内存型|OMEM 、 快杰PRO型|OPRO、通用N型|N、高主频C型|C和GPU G型|G等 + - **ParentType** (str) - 父机型 + - **Performance** (dict) - 见 **Performance** 模型定义 + - **Status** (str) - 机型状态:可售|Normal 、 公测|Beta、售罄|Soldout、隐藏|Hidden + - **UHostFamilies** (list) - 见 **UHostFamily** 模型定义 + - **Zone** (str) - 可用区信息 - **FeatureModes** - - **MinimalCpuPlatform** (list) - 这个特性必须是列出来的CPU平台及以上的CPU才支持 - - **Name** (str) - 模式|特性名称 - - **RelatedToImageFeature** (list) - 为镜像上支持这个特性的标签。例如DescribeImage返回的字段Features包含HotPlug,说明该镜像支持热升级。 + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.DescribeAvailableInstanceTypesRequestSchema().dumps(d) + resp = self.invoke("DescribeAvailableInstanceTypes", d, **kwargs) + return apis.DescribeAvailableInstanceTypesResponseSchema().loads(resp) - **BootDiskInfo** - - **Features** (list) - 磁盘可支持的服务 + def describe_host_machine_type_families( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DescribeHostMachineTypeFamilies - 获取实例规格族列表(所有机型的信息) + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。如果不填写,则使用默认项目,子账户必须填写。请参阅 `GetProjectList界面 `_ . + + **Response** + + - **MachineTypes** (list) - 见 **MachineTypes** 模型定义 + + **Response Model** + + **NameOperationStatus** + - **Name** (str) - 名称 + - **OperationStatus** (str) - 标记 + + + **DiskFeature** + - **Modes** (list) - 见 **NameOperationStatus** 模型定义 + - **Name** (str) - 特性名称 + + + **FamiliesBootDiskInfo** + - **Features** (list) - 见 **DiskFeature** 模型定义 - **InstantResize** (bool) - 系统盘是否允许扩容,如果是本地盘,则不允许扩容,InstantResize为false。 - **MaximalSize** (int) - MaximalSize为磁盘最大值 - **Name** (str) - 系统盘类别,包含普通云盘|CLOUD_NORMAL、SSD云盘|CLOUD_SSD和RSSD云盘|CLOUD_RSSD。普通本地盘只包含普通本地盘|LOCAL_NORMAL一种。SSD本地盘只包含SSD本地盘|LOCAL_SSD一种。 - **DataDiskInfo** - - **Features** (list) - 数据盘可支持的服务 + **FamiliesDataDiskInfo** + - **Features** (list) - 见 **DiskFeature** 模型定义 - **MaximalSize** (int) - MaximalSize为磁盘最大值 - **MinimalSize** (int) - 磁盘最小值,如果没有该字段,最小值取基础镜像Size值即可(linux为20G,windows为40G)。 - **Name** (str) - 数据盘类别,包含普通云盘|CLOUD_NORMAL、SSD云盘|CLOUD_SSD和RSSD云盘|CLOUD_RSSD。普通本地盘只包含普通本地盘|LOCAL_NORMAL一种。SSD本地盘只包含SSD本地盘|LOCAL_SSD一种。 + **FamiliesDisks** + - **BootDisk** (list) - 见 **FamiliesBootDiskInfo** 模型定义 + - **DataDisk** (list) - 见 **FamiliesDataDiskInfo** 模型定义 + - **Name** (str) - 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 + - **OperationStatus** (str) - 权限位 + + + **CpuPlatformWithModels** + - **CpuFrequency** (str) - CPU频率 + - **CpuModels** (list) - CPU Model列表 + - **Name** (str) - CPU平台 + + + **UHostFamily** + - **CpuFrequency** (str) - CPU频率信息 + - **CpuPlatforms** (list) - 见 **CpuPlatformWithModels** 模型定义 + - **Name** (str) - 规格族 + + + **CpuPlatformStatus** + - **Name** (str) - CPU平台 + - **OperationStatus** (str) - 运营Commpont Code + + **Performance** - **Rate** (int) - 交互展示参数,可忽略 - **Value** (float) - 值,单位是TFlops - **Features** - - **Modes** (list) - 见 **FeatureModes** 模型定义 - - **Name** (str) - 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + **Collection** + - **Cpu** (int) - CPU规格 + - **Memory** (list) - 内存规格 + - **MinimalCpuPlatform** (list) - CPU和内存规格只能在列出来的CPU平台支持 **GraphicsMemory** @@ -469,40 +652,64 @@ def describe_available_instance_types( - **Value** (int) - 值,单位是GB - **Disks** - - **BootDisk** (list) - 见 **BootDiskInfo** 模型定义 - - **DataDisk** (list) - 见 **DataDiskInfo** 模型定义 - - **Name** (str) - 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 + **Frequency** + - **Value** (float) - 值 - **AvailableInstanceTypes** - - **CpuPlatforms** (dict) - 见 **CpuPlatforms** 模型定义 - - **Description** (str) - 机型描述 - - **Disks** (list) - 见 **Disks** 模型定义 - - **Features** (list) - 见 **Features** 模型定义 + **FeatureModes** + - **MinimalCpuPlatform** (list) - 这个特性必须是列出来的CPU平台及以上的CPU才支持 + - **Name** (str) - 模式|特性名称 + - **RelatedToImageFeature** (list) - 为镜像上支持这个特性的标签。例如DescribeImage返回的字段Features包含HotPlug,说明该镜像支持热升级。 + + + **MachineSizes** + - **Collection** (list) - 见 **Collection** 模型定义 + - **Gpu** (int) - Gpu为GPU可支持的规格即GPU颗数,非GPU机型,Gpu为0 + + + **NameFrequency** + - **Frequency** (dict) - 见 **Frequency** 模型定义 + - **Name** (str) - 机型名称 + + + **Features** + - **Modes** (list) - 见 **FeatureModes** 模型定义 + - **Name** (str) - 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + + + **FamiliesGpuType** - **GraphicsMemory** (dict) - 见 **GraphicsMemory** 模型定义 - - **InstanceType** (str) - 实例类型,枚举值["uhost", "spot"] - - **MachineClass** (str) - 区分是否是GPU机型:GPU机型|GPU,非GPU机型|Normal。 - - **MachineSizes** (list) - 见 **MachineSizes** 模型定义 - - **Name** (str) - 机型名称:快杰O型|O 、快杰共享型|OM 、快杰内存型|OMEM 、 快杰PRO型|OPRO、通用N型|N、高主频C型|C和GPU G型|G等 - - **ParentType** (str) - 父机型 + - **Name** (str) - 机型名称 - **Performance** (dict) - 见 **Performance** 模型定义 - - **Status** (str) - 机型状态:可售|Normal 、 公测|Beta、售罄|Soldout、隐藏|Hidden + + + **MachineTypes** + - **CpuPlatforms** (list) - 见 **CpuPlatformStatus** 模型定义 + - **Description** (str) - 机型中文名称 + - **Disks** (list) - 见 **FamiliesDisks** 模型定义 + - **Features** (list) - 见 **Features** 模型定义 + - **GpuSeries** (str) - GPU系列 + - **GpuType** (dict) - 见 **FamiliesGpuType** 模型定义 + - **MachineSizes** (list) - 见 **MachineSizes** 模型定义 + - **Name** (str) - 机型名称 + - **OperationStatus** (str) - 机型ComponentCode + - **ParentType** (str) - 父类型。如GPU机型的父类型为"G" + - **ProType** (dict) - 见 **NameFrequency** 模型定义 + - **SceneCategories** (list) - 场景分类 - **UHostFamilies** (list) - 见 **UHostFamily** 模型定义 - - **Zone** (str) - 可用区信息 + - **Virtual** (bool) - 是否为非真实机型 """ # build request d = { "ProjectId": self.config.project_id, - "Region": self.config.region, } req and d.update(req) - d = apis.DescribeAvailableInstanceTypesRequestSchema().dumps(d) + d = apis.DescribeHostMachineTypeFamiliesRequestSchema().dumps(d) - resp = self.invoke("DescribeAvailableInstanceTypes", d, **kwargs) - return apis.DescribeAvailableInstanceTypesResponseSchema().loads(resp) + resp = self.invoke("DescribeHostMachineTypeFamilies", d, **kwargs) + return apis.DescribeHostMachineTypeFamiliesResponseSchema().loads(resp) def describe_image( self, req: typing.Optional[dict] = None, **kwargs @@ -645,11 +852,6 @@ def describe_uhost_instance( **Response Model** - **UHostKeyPair** - - **KeyPairId** (str) - 密钥对ID - - **KeyPairState** (str) - 主机密钥对状态,Normal 正常,Deleted 删除 - - **UHostIPSet** - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) - **Default** (str) - 内网 Private 类型下,表示是否为默认网卡。true: 是默认网卡;其他值:不是。 @@ -664,10 +866,13 @@ def describe_uhost_instance( - **Weight** (int) - 当前EIP的权重。权重最大的为当前的出口IP。 - **UDSetUDHostAttribute** - - **HostBinding** (bool) - 是否绑定私有专区宿主机 - - **UDHostId** (str) - 私有专区宿主机 - - **UDSetId** (str) - 私有专区 + **UHostKeyPair** + - **KeyPairId** (str) - 密钥对ID + - **KeyPairState** (str) - 主机密钥对状态,Normal 正常,Deleted 删除 + + + **SpotAttribute** + - **RecycleTime** (int) - 回收时间 **UHostDiskSet** @@ -682,8 +887,10 @@ def describe_uhost_instance( - **Type** (str) - 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk - **SpotAttribute** - - **RecycleTime** (int) - 回收时间 + **UDSetUDHostAttribute** + - **HostBinding** (bool) - 是否绑定私有专区宿主机 + - **UDHostId** (str) - 私有专区宿主机 + - **UDSetId** (str) - 私有专区 **UHostInstanceSet** @@ -934,7 +1141,7 @@ def get_uhost_instance_price( - **Quantity** (int) - 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末。 - **ShowPriceDetails** (bool) - 返回价格详细信息 - **UDSetUHostInstance** (bool) - 专区云主机。如果要在专区宿主机上创建云主机,该参数可以填写为true - - **UHostFamily** (str) - 规格族。 由机型代号和 CPU 平台组成,用于指定云主机的硬件类型与处理器平台。当 MachineType 为 "O"(快杰型)时,支持以下取值: - o1i:快杰型 O1 代,Intel 平台 - o1a:快杰型 O1 代,AMD 平台- o1r:快杰型 O1 代,ARM 平台 - o2i:快杰型 O2 代,Intel 平台 默认值:o1i 或 o1a或o1r(系统将根据资源情况自动选择) 当 MachineType 为 "OM"(快杰共享型)时,支持以下取值: - om1i:快杰内存增强型 OM1 代,Intel 平台 - om2i:快杰内存增强型 OM2 代,Intel 平台注意:规格族必须与 MachineType 匹配,否则请求将被拒绝。 + - **UHostFamily** (str) - 规格族。 由机型代号和 CPU 平台组成,用于指定云主机的硬件类型与处理器平台。当 MachineType 为 "O"(快杰型)时,支持以下取值: - o1i:快杰型 O1 代,Intel 平台 - o1a:快杰型 O1 代,AMD 平台- o1r:快杰型 O1 代,ARM 平台 - o2i:快杰型 O2 代,Intel 平台 默认值:o1i 或 o1a或o1r当 MachineType 为 "OM"(快杰共享型)时,支持以下取值: - om1i:快杰内存增强型 OM1 代,Intel 平台 - om2i:快杰内存增强型 OM2 代,Intel 平台注意:规格族必须与 MachineType 匹配,否则请求将被拒绝。 - **UHostType** (str) - 【待废弃】云主机机型(V1版本概念)。参考 `云主机机型说明 `_ 。 - **Zone** (str) - 可用区。参见 `可用区列表 `_ @@ -944,9 +1151,6 @@ def get_uhost_instance_price( **Request Model** - **GetUHostInstancePriceParamVolumes** - - **GetUHostInstancePriceParamDisks** - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\ > SNAPSHOT,快照\\ 当前磁盘支持的备份模式参考 `磁盘类型 `_ - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 @@ -954,6 +1158,9 @@ def get_uhost_instance_price( - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + **GetUHostInstancePriceParamVolumes** + + **Response Model** **PriceDetail** diff --git a/ucloud/services/uhost/schemas/apis.py b/ucloud/services/uhost/schemas/apis.py index 3d996d8a..613d1319 100644 --- a/ucloud/services/uhost/schemas/apis.py +++ b/ucloud/services/uhost/schemas/apis.py @@ -34,6 +34,94 @@ class AddUHostToIsolationGroupResponseSchema(schema.ResponseSchema): } +""" +API: CheckUHostResourceCapacity + +主机创建资源余量检查 +""" + + +class CheckUHostResourceCapacityParamFeaturesSchema(schema.RequestSchema): + """CheckUHostResourceCapacityParamFeatures -""" + + fields = { + "UNI": fields.Bool(required=False, dump_to="UNI"), + } + + +class CheckUHostResourceCapacityParamDisksCustomBackupSchema( + schema.RequestSchema +): + """CheckUHostResourceCapacityParamDisksCustomBackup -""" + + fields = { + "Day": fields.Str(required=False, dump_to="Day"), + "Hour": fields.Str(required=False, dump_to="Hour"), + "Journal": fields.Str(required=False, dump_to="Journal"), + } + + +class CheckUHostResourceCapacityParamDisksSchema(schema.RequestSchema): + """CheckUHostResourceCapacityParamDisks -""" + + fields = { + "BackupMode": fields.Str(required=False, dump_to="BackupMode"), + "BackupType": fields.Str(required=False, dump_to="BackupType"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "CustomBackup": CheckUHostResourceCapacityParamDisksCustomBackupSchema( + required=False, dump_to="CustomBackup" + ), + "IsBoot": fields.Str(required=True, dump_to="IsBoot"), + "Size": fields.Int(required=True, dump_to="Size"), + "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), + "Type": fields.Str(required=True, dump_to="Type"), + } + + +class CheckUHostResourceCapacityRequestSchema(schema.RequestSchema): + """CheckUHostResourceCapacity - 主机创建资源余量检查""" + + fields = { + "CPU": fields.Int(required=False, dump_to="CPU"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Disks": fields.List(CheckUHostResourceCapacityParamDisksSchema()), + "Features": CheckUHostResourceCapacityParamFeaturesSchema( + required=False, dump_to="Features" + ), + "GPU": fields.Int(required=False, dump_to="GPU"), + "GpuType": fields.Str(required=False, dump_to="GpuType"), + "HotplugFeature": fields.Bool(required=False, dump_to="HotplugFeature"), + "ImageId": fields.Str(required=True, dump_to="ImageId"), + "IsolationGroup": fields.Str(required=False, dump_to="IsolationGroup"), + "MachineType": fields.Str(required=False, dump_to="MachineType"), + "MaxCount": fields.Int(required=False, dump_to="MaxCount"), + "Memory": fields.Int(required=False, dump_to="Memory"), + "MinCount": fields.Int(required=False, dump_to="MinCount"), + "MinimalCpuPlatform": fields.Str( + required=False, dump_to="MinimalCpuPlatform" + ), + "NetCapability": fields.Str(required=False, dump_to="NetCapability"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=True, dump_to="Region"), + "SecurityMode": fields.Str(required=False, dump_to="SecurityMode"), + "UHostFamily": fields.Str(required=False, dump_to="UHostFamily"), + "Zone": fields.Str(required=True, dump_to="Zone"), + } + + +class CheckUHostResourceCapacityResponseSchema(schema.ResponseSchema): + """CheckUHostResourceCapacity - 主机创建资源余量检查""" + + fields = { + "RdmaClusterIds": fields.List( + fields.Str(), required=False, load_from="RdmaClusterIds" + ), + "ResourceEnough": fields.Bool( + required=False, load_from="ResourceEnough" + ), + } + + """ API: CopyCustomImage @@ -142,6 +230,23 @@ class CreateIsolationGroupResponseSchema(schema.ResponseSchema): """ +class CreateUHostInstanceParamLabelsSchema(schema.RequestSchema): + """CreateUHostInstanceParamLabels -""" + + fields = { + "Key": fields.Str(required=False, dump_to="Key"), + "Value": fields.Str(required=False, dump_to="Value"), + } + + +class CreateUHostInstanceParamFeaturesSchema(schema.RequestSchema): + """CreateUHostInstanceParamFeatures -""" + + fields = { + "UNI": fields.Bool(required=False, dump_to="UNI"), + } + + class CreateUHostInstanceParamSecGroupIdSchema(schema.RequestSchema): """CreateUHostInstanceParamSecGroupId -""" @@ -151,6 +256,18 @@ class CreateUHostInstanceParamSecGroupIdSchema(schema.RequestSchema): } +class CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSHSchema( + schema.RequestSchema +): + """CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH -""" + + fields = { + "Area": fields.Str(required=False, dump_to="Area"), + "AreaCode": fields.Str(required=False, dump_to="AreaCode"), + "Port": fields.Int(required=False, dump_to="Port"), + } + + class CreateUHostInstanceParamDisksCustomBackupSchema(schema.RequestSchema): """CreateUHostInstanceParamDisksCustomBackup -""" @@ -180,6 +297,12 @@ class CreateUHostInstanceParamDisksSchema(schema.RequestSchema): } +class CreateUHostInstanceParamVolumesSchema(schema.RequestSchema): + """CreateUHostInstanceParamVolumes -""" + + fields = {} + + class CreateUHostInstanceParamNetworkInterfaceIPv6Schema(schema.RequestSchema): """CreateUHostInstanceParamNetworkInterfaceIPv6 -""" @@ -191,18 +314,6 @@ class CreateUHostInstanceParamNetworkInterfaceIPv6Schema(schema.RequestSchema): } -class CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSHSchema( - schema.RequestSchema -): - """CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH -""" - - fields = { - "Area": fields.Str(required=False, dump_to="Area"), - "AreaCode": fields.Str(required=False, dump_to="AreaCode"), - "Port": fields.Int(required=False, dump_to="Port"), - } - - class CreateUHostInstanceParamNetworkInterfaceEIPSchema(schema.RequestSchema): """CreateUHostInstanceParamNetworkInterfaceEIP -""" @@ -234,29 +345,6 @@ class CreateUHostInstanceParamNetworkInterfaceSchema(schema.RequestSchema): } -class CreateUHostInstanceParamLabelsSchema(schema.RequestSchema): - """CreateUHostInstanceParamLabels -""" - - fields = { - "Key": fields.Str(required=False, dump_to="Key"), - "Value": fields.Str(required=False, dump_to="Value"), - } - - -class CreateUHostInstanceParamVolumesSchema(schema.RequestSchema): - """CreateUHostInstanceParamVolumes -""" - - fields = {} - - -class CreateUHostInstanceParamFeaturesSchema(schema.RequestSchema): - """CreateUHostInstanceParamFeatures -""" - - fields = { - "UNI": fields.Bool(required=False, dump_to="UNI"), - } - - class CreateUHostInstanceRequestSchema(schema.RequestSchema): """CreateUHostInstance - 创建UHost实例。""" @@ -273,6 +361,9 @@ class CreateUHostInstanceRequestSchema(schema.RequestSchema): "CPU": fields.Int(required=False, dump_to="CPU"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "CouponId": fields.Str(required=False, dump_to="CouponId"), + "DeletionProtection": fields.Bool( + required=False, dump_to="DeletionProtection" + ), "DiskPassword": fields.Str( required=False, dump_to="DiskPassword" ), # Deprecated, will be removed at 1.0 @@ -482,6 +573,33 @@ class DescribeAvailableInstanceTypesResponseSchema(schema.ResponseSchema): } +""" +API: DescribeHostMachineTypeFamilies + +获取实例规格族列表(所有机型的信息) +""" + + +class DescribeHostMachineTypeFamiliesRequestSchema(schema.RequestSchema): + """DescribeHostMachineTypeFamilies - 获取实例规格族列表(所有机型的信息)""" + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + } + + +class DescribeHostMachineTypeFamiliesResponseSchema(schema.ResponseSchema): + """DescribeHostMachineTypeFamilies - 获取实例规格族列表(所有机型的信息)""" + + fields = { + "MachineTypes": fields.List( + models.MachineTypesSchema(), + required=False, + load_from="MachineTypes", + ), + } + + """ API: DescribeImage @@ -728,12 +846,6 @@ class GetAttachedDiskUpgradePriceResponseSchema(schema.ResponseSchema): """ -class GetUHostInstancePriceParamVolumesSchema(schema.RequestSchema): - """GetUHostInstancePriceParamVolumes -""" - - fields = {} - - class GetUHostInstancePriceParamDisksSchema(schema.RequestSchema): """GetUHostInstancePriceParamDisks -""" @@ -745,6 +857,12 @@ class GetUHostInstancePriceParamDisksSchema(schema.RequestSchema): } +class GetUHostInstancePriceParamVolumesSchema(schema.RequestSchema): + """GetUHostInstancePriceParamVolumes -""" + + fields = {} + + class GetUHostInstancePriceRequestSchema(schema.RequestSchema): """GetUHostInstancePrice - 根据UHost实例配置,获取UHost实例的价格。""" diff --git a/ucloud/services/uhost/schemas/models.py b/ucloud/services/uhost/schemas/models.py index e2f6ee94..64cb8358 100644 --- a/ucloud/services/uhost/schemas/models.py +++ b/ucloud/services/uhost/schemas/models.py @@ -39,6 +39,35 @@ class PerformanceSchema(schema.ResponseSchema): } +class GraphicsMemorySchema(schema.ResponseSchema): + """GraphicsMemory - GPU的显存指标""" + + fields = { + "Rate": fields.Int(required=False, load_from="Rate"), + "Value": fields.Int(required=False, load_from="Value"), + } + + +class CollectionSchema(schema.ResponseSchema): + """Collection - CPU和内存可支持的规格""" + + fields = { + "Cpu": fields.Int(required=False, load_from="Cpu"), + "Memory": fields.List(fields.Int()), + "MinimalCpuPlatform": fields.List(fields.Str()), + } + + +class FeatureModesSchema(schema.ResponseSchema): + """FeatureModes - 可以支持的模式类别""" + + fields = { + "MinimalCpuPlatform": fields.List(fields.Str()), + "Name": fields.Str(required=False, load_from="Name"), + "RelatedToImageFeature": fields.List(fields.Str()), + } + + class BootDiskInfoSchema(schema.ResponseSchema): """BootDiskInfo - 系统盘信息""" @@ -61,22 +90,41 @@ class DataDiskInfoSchema(schema.ResponseSchema): } -class DisksSchema(schema.ResponseSchema): - """Disks - 磁盘信息""" +class FeaturesSchema(schema.ResponseSchema): + """Features - 虚机可支持的特性""" fields = { - "BootDisk": fields.List(BootDiskInfoSchema()), - "DataDisk": fields.List(DataDiskInfoSchema()), + "Modes": fields.List(FeatureModesSchema()), "Name": fields.Str(required=False, load_from="Name"), } -class GraphicsMemorySchema(schema.ResponseSchema): - """GraphicsMemory - GPU的显存指标""" +class MachineSizesSchema(schema.ResponseSchema): + """MachineSizes - GPU、CPU和内存信息""" fields = { - "Rate": fields.Int(required=False, load_from="Rate"), - "Value": fields.Int(required=False, load_from="Value"), + "Collection": fields.List(CollectionSchema()), + "Gpu": fields.Int(required=False, load_from="Gpu"), + } + + +class CpuPlatformsSchema(schema.ResponseSchema): + """CpuPlatforms - CPU平台信息""" + + fields = { + "Amd": fields.List(fields.Str()), + "Ampere": fields.List(fields.Str()), + "Intel": fields.List(fields.Str()), + } + + +class DisksSchema(schema.ResponseSchema): + """Disks - 磁盘信息""" + + fields = { + "BootDisk": fields.List(BootDiskInfoSchema()), + "DataDisk": fields.List(DataDiskInfoSchema()), + "Name": fields.Str(required=False, load_from="Name"), } @@ -100,72 +148,140 @@ class UHostFamilySchema(schema.ResponseSchema): } -class CpuPlatformsSchema(schema.ResponseSchema): - """CpuPlatforms - CPU平台信息""" +class AvailableInstanceTypesSchema(schema.ResponseSchema): + """AvailableInstanceTypes - https://ushare.ucloudadmin.com/pages/viewpage.action?pageId=104662646""" fields = { - "Amd": fields.List(fields.Str()), - "Ampere": fields.List(fields.Str()), - "Intel": fields.List(fields.Str()), + "CpuPlatforms": CpuPlatformsSchema(), + "Description": fields.Str(required=False, load_from="Description"), + "Disks": fields.List(DisksSchema()), + "Features": fields.List(FeaturesSchema()), + "GraphicsMemory": GraphicsMemorySchema(), + "InstanceType": fields.Str(required=False, load_from="InstanceType"), + "MachineClass": fields.Str(required=False, load_from="MachineClass"), + "MachineSizes": fields.List(MachineSizesSchema()), + "Name": fields.Str(required=False, load_from="Name"), + "ParentType": fields.Str(required=False, load_from="ParentType"), + "Performance": PerformanceSchema(), + "Status": fields.Str(required=False, load_from="Status"), + "UHostFamilies": fields.List(UHostFamilySchema()), + "Zone": fields.Str(required=False, load_from="Zone"), } -class CollectionSchema(schema.ResponseSchema): - """Collection - CPU和内存可支持的规格""" +class CpuPlatformStatusSchema(schema.ResponseSchema): + """CpuPlatformStatus -""" fields = { - "Cpu": fields.Int(required=False, load_from="Cpu"), - "Memory": fields.List(fields.Int()), - "MinimalCpuPlatform": fields.List(fields.Str()), + "Name": fields.Str(required=False, load_from="Name"), + "OperationStatus": fields.Str( + required=False, load_from="OperationStatus" + ), } -class MachineSizesSchema(schema.ResponseSchema): - """MachineSizes - GPU、CPU和内存信息""" +class FrequencySchema(schema.ResponseSchema): + """Frequency - 频率""" fields = { - "Collection": fields.List(CollectionSchema()), - "Gpu": fields.Int(required=False, load_from="Gpu"), + "Value": fields.Float(required=False, load_from="Value"), } -class FeatureModesSchema(schema.ResponseSchema): - """FeatureModes - 可以支持的模式类别""" +class NameFrequencySchema(schema.ResponseSchema): + """NameFrequency - 名称及频率""" fields = { - "MinimalCpuPlatform": fields.List(fields.Str()), + "Frequency": FrequencySchema(), "Name": fields.Str(required=False, load_from="Name"), - "RelatedToImageFeature": fields.List(fields.Str()), } -class FeaturesSchema(schema.ResponseSchema): - """Features - 虚机可支持的特性""" +class NameOperationStatusSchema(schema.ResponseSchema): + """NameOperationStatus - 名称及标记""" fields = { - "Modes": fields.List(FeatureModesSchema()), "Name": fields.Str(required=False, load_from="Name"), + "OperationStatus": fields.Str( + required=False, load_from="OperationStatus" + ), } -class AvailableInstanceTypesSchema(schema.ResponseSchema): - """AvailableInstanceTypes - https://ushare.ucloudadmin.com/pages/viewpage.action?pageId=104662646""" +class DiskFeatureSchema(schema.ResponseSchema): + """DiskFeature - 磁盘特性""" fields = { - "CpuPlatforms": CpuPlatformsSchema(), + "Modes": fields.List(NameOperationStatusSchema()), + "Name": fields.Str(required=False, load_from="Name"), + } + + +class FamiliesBootDiskInfoSchema(schema.ResponseSchema): + """FamiliesBootDiskInfo - 系统盘信息""" + + fields = { + "Features": fields.List(DiskFeatureSchema()), + "InstantResize": fields.Bool(required=False, load_from="InstantResize"), + "MaximalSize": fields.Int(required=False, load_from="MaximalSize"), + "Name": fields.Str(required=False, load_from="Name"), + } + + +class FamiliesDataDiskInfoSchema(schema.ResponseSchema): + """FamiliesDataDiskInfo - 数据盘信息""" + + fields = { + "Features": fields.List(DiskFeatureSchema()), + "MaximalSize": fields.Int(required=False, load_from="MaximalSize"), + "MinimalSize": fields.Int(required=False, load_from="MinimalSize"), + "Name": fields.Str(required=False, load_from="Name"), + } + + +class FamiliesDisksSchema(schema.ResponseSchema): + """FamiliesDisks - 磁盘信息""" + + fields = { + "BootDisk": fields.List(FamiliesBootDiskInfoSchema()), + "DataDisk": fields.List(FamiliesDataDiskInfoSchema()), + "Name": fields.Str(required=False, load_from="Name"), + "OperationStatus": fields.Str( + required=False, load_from="OperationStatus" + ), + } + + +class FamiliesGpuTypeSchema(schema.ResponseSchema): + """FamiliesGpuType -""" + + fields = { + "GraphicsMemory": GraphicsMemorySchema(), + "Name": fields.Str(required=False, load_from="Name"), + "Performance": PerformanceSchema(), + } + + +class MachineTypesSchema(schema.ResponseSchema): + """MachineTypes - 机型配置详情""" + + fields = { + "CpuPlatforms": fields.List(CpuPlatformStatusSchema()), "Description": fields.Str(required=False, load_from="Description"), - "Disks": fields.List(DisksSchema()), + "Disks": fields.List(FamiliesDisksSchema()), "Features": fields.List(FeaturesSchema()), - "GraphicsMemory": GraphicsMemorySchema(), - "InstanceType": fields.Str(required=False, load_from="InstanceType"), - "MachineClass": fields.Str(required=False, load_from="MachineClass"), + "GpuSeries": fields.Str(required=False, load_from="GpuSeries"), + "GpuType": FamiliesGpuTypeSchema(), "MachineSizes": fields.List(MachineSizesSchema()), "Name": fields.Str(required=False, load_from="Name"), + "OperationStatus": fields.Str( + required=False, load_from="OperationStatus" + ), "ParentType": fields.Str(required=False, load_from="ParentType"), - "Performance": PerformanceSchema(), - "Status": fields.Str(required=False, load_from="Status"), + "ProType": NameFrequencySchema(), + "SceneCategories": fields.List(fields.Str()), "UHostFamilies": fields.List(UHostFamilySchema()), - "Zone": fields.Str(required=False, load_from="Zone"), + "Virtual": fields.Bool(required=False, load_from="Virtual"), } @@ -237,6 +353,23 @@ class IsolationGroupSchema(schema.ResponseSchema): } +class UHostKeyPairSchema(schema.ResponseSchema): + """UHostKeyPair - 主机密钥信息""" + + fields = { + "KeyPairId": fields.Str(required=False, load_from="KeyPairId"), + "KeyPairState": fields.Str(required=False, load_from="KeyPairState"), + } + + +class SpotAttributeSchema(schema.ResponseSchema): + """SpotAttribute - 竞价实例属性""" + + fields = { + "RecycleTime": fields.Int(required=False, load_from="RecycleTime"), + } + + class UHostDiskSetSchema(schema.ResponseSchema): """UHostDiskSet - DescribeUHostInstance""" @@ -253,15 +386,6 @@ class UHostDiskSetSchema(schema.ResponseSchema): } -class UHostKeyPairSchema(schema.ResponseSchema): - """UHostKeyPair - 主机密钥信息""" - - fields = { - "KeyPairId": fields.Str(required=False, load_from="KeyPairId"), - "KeyPairState": fields.Str(required=False, load_from="KeyPairState"), - } - - class UHostIPSetSchema(schema.ResponseSchema): """UHostIPSet - DescribeUHostInstance""" @@ -292,14 +416,6 @@ class UDSetUDHostAttributeSchema(schema.ResponseSchema): } -class SpotAttributeSchema(schema.ResponseSchema): - """SpotAttribute - 竞价实例属性""" - - fields = { - "RecycleTime": fields.Int(required=False, load_from="RecycleTime"), - } - - class UHostInstanceSetSchema(schema.ResponseSchema): """UHostInstanceSet - DescribeUHostInstance""" diff --git a/ucloud/version.py b/ucloud/version.py index c34a0d96..701590c1 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.101" +version = "0.11.102"