From 45e3978603331a2eeb61461a372d683d0f670b21 Mon Sep 17 00:00:00 2001 From: ucloud-bot Date: Mon, 1 Sep 2025 06:27:48 +0000 Subject: [PATCH] sdk: rolling update for 0.11.77 --- ucloud/services/uhost/client.py | 274 ++++++++++++------------ ucloud/services/uhost/schemas/apis.py | 84 ++++---- ucloud/services/uhost/schemas/models.py | 143 +++++++------ ucloud/version.py | 2 +- 4 files changed, 256 insertions(+), 247 deletions(-) diff --git a/ucloud/services/uhost/client.py b/ucloud/services/uhost/client.py index 367e413..65e1b5b 100644 --- a/ucloud/services/uhost/client.py +++ b/ucloud/services/uhost/client.py @@ -16,19 +16,19 @@ def __init__( def add_uhost_to_isolation_group( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """AddUHostToIsolationGroup - 将已有不在隔离组中的云主机添加到隔离组中 + """AddUHostToIsolationGroup - **Request** - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ - - **GroupId** (str) - (Required) 硬件隔离组id - - **UHostId** (str) - (Required) 主机id - - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ProjectId** (str) - (Config) + - **Region** (str) - (Config) + - **GroupId** (str) - (Required) + - **UHostId** (str) - (Required) + - **Zone** (str) - (Required) **Response** - - **UHostId** (str) - 主机id + - **UHostId** (str) - """ # build request @@ -213,18 +213,9 @@ def create_uhost_instance( **Request Model** - **CreateUHostInstanceParamDisksCustomBackup** - - - **CreateUHostInstanceParamDisks** - - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > SNAPSHOT,快照 \\当前磁盘支持的备份模式参考 `磁盘类型 `_ ,默认值:NONE - - **CouponId** (str) - 云盘代金券id。不适用于系统盘/本地盘。请通过DescribeCoupon接口查询,或登录用户中心查看 - - **Encrypted** (bool) - 【功能仅部分可用区开放,详询技术支持】磁盘是否加密。加密:true, 不加密: false加密必须传入对应的的KmsKeyId,默认值false - - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 - - **KmsKeyId** (str) - 【功能仅部分可用区开放,详询技术支持】kms key id。选择加密盘时必填。 - - **Size** (int) - 磁盘大小,单位GB。请参考 `磁盘类型 `_ 。 - - **SnapshotId** (str) - 从快照创建盘时所用快照id,目前仅支持数据盘 - - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + **CreateUHostInstanceParamSecGroupId** + - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 + - **Priority** (int) - 安全组优先级。取值范围[1, 5] **CreateUHostInstanceParamFeatures** @@ -253,15 +244,18 @@ def create_uhost_instance( - **EIP** (dict) - 见 **CreateUHostInstanceParamNetworkInterfaceEIP** 模型定义 - **CreateUHostInstanceParamSecGroupId** - - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 - - **Priority** (int) - 安全组优先级。取值范围[1, 5] - - - **CreateUHostInstanceParamVirtualGpuGPUVirtualGpu** + **CreateUHostInstanceParamDisksCustomBackup** - **CreateUHostInstanceParamVirtualGpu** + **CreateUHostInstanceParamDisks** + - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > SNAPSHOT,快照 \\当前磁盘支持的备份模式参考 `磁盘类型 `_ ,默认值:NONE + - **CouponId** (str) - 云盘代金券id。不适用于系统盘/本地盘。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **Encrypted** (bool) - 【功能仅部分可用区开放,详询技术支持】磁盘是否加密。加密:true, 不加密: false加密必须传入对应的的KmsKeyId,默认值false + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + - **KmsKeyId** (str) - 【功能仅部分可用区开放,详询技术支持】kms key id。选择加密盘时必填。 + - **Size** (int) - 磁盘大小,单位GB。请参考 `磁盘类型 `_ 。 + - **SnapshotId** (str) - 从快照创建盘时所用快照id,目前仅支持数据盘 + - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 **CreateUHostInstanceParamVolumes** @@ -397,29 +391,9 @@ def describe_available_instance_types( **Response Model** - **AvailableInstanceTypes** - - **CpuPlatforms** (dict) - 见 **CpuPlatforms** 模型定义 - - **Disks** (list) - 见 **Disks** 模型定义 - - **Features** (list) - 见 **Features** 模型定义 - - **GraphicsMemory** (dict) - 见 **GraphicsMemory** 模型定义 - - **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等 - - **Performance** (dict) - 见 **Performance** 模型定义 - - **Status** (str) - 机型状态:可售|Normal 、 公测|Beta、售罄|Soldout、隐藏|Hidden - - **Zone** (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'] - - - **Disks** - - **BootDisk** (list) - 见 **BootDiskInfo** 模型定义 - - **DataDisk** (list) - 见 **DataDiskInfo** 模型定义 - - **Name** (str) - 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 + **Performance** + - **Rate** (int) - 交互展示参数,可忽略 + - **Value** (float) - 值,单位是TFlops **BootDiskInfo** @@ -436,15 +410,16 @@ def describe_available_instance_types( - **Name** (str) - 数据盘类别,包含普通云盘|CLOUD_NORMAL、SSD云盘|CLOUD_SSD和RSSD云盘|CLOUD_RSSD。普通本地盘只包含普通本地盘|LOCAL_NORMAL一种。SSD本地盘只包含SSD本地盘|LOCAL_SSD一种。 - **Features** - - **Modes** (list) - 见 **FeatureModes** 模型定义 - - **Name** (str) - 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + **Disks** + - **BootDisk** (list) - 见 **BootDiskInfo** 模型定义 + - **DataDisk** (list) - 见 **DataDiskInfo** 模型定义 + - **Name** (str) - 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 - **FeatureModes** - - **MinimalCpuPlatform** (list) - 这个特性必须是列出来的CPU平台及以上的CPU才支持 - - **Name** (str) - 模式|特性名称 - - **RelatedToImageFeature** (list) - 为镜像上支持这个特性的标签。例如DescribeImage返回的字段Features包含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** @@ -452,20 +427,42 @@ def describe_available_instance_types( - **Value** (int) - 值,单位是GB + **Collection** + - **Cpu** (int) - CPU规格 + - **Memory** (list) - 内存规格 + - **MinimalCpuPlatform** (list) - CPU和内存规格只能在列出来的CPU平台支持 + + **MachineSizes** - **Collection** (list) - 见 **Collection** 模型定义 - **Gpu** (int) - Gpu为GPU可支持的规格即GPU颗数,非GPU机型,Gpu为0 - **Collection** - - **Cpu** (int) - CPU规格 - - **Memory** (list) - 内存规格 - - **MinimalCpuPlatform** (list) - CPU和内存规格只能在列出来的CPU平台支持 + **FeatureModes** + - **MinimalCpuPlatform** (list) - 这个特性必须是列出来的CPU平台及以上的CPU才支持 + - **Name** (str) - 模式|特性名称 + - **RelatedToImageFeature** (list) - 为镜像上支持这个特性的标签。例如DescribeImage返回的字段Features包含HotPlug,说明该镜像支持热升级。 - **Performance** - - **Rate** (int) - 交互展示参数,可忽略 - - **Value** (float) - 值,单位是TFlops + **Features** + - **Modes** (list) - 见 **FeatureModes** 模型定义 + - **Name** (str) - 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + + + **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 + - **Zone** (str) - 可用区信息 """ @@ -507,6 +504,12 @@ def describe_image( **Response Model** + **BasePriceSet** + - **ChargeType** (str) - 计费类型 + - **OriginalPrice** (float) - 限时优惠的折前原价(即列表价乘以商务折扣后的单价)。 + - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 + + **UHostImageSet** - **CreateTime** (int) - 创建时间,格式为Unix时间戳 - **DataSnapshotIds** (list) - 关联的云盘数据盘快照Id列表 @@ -533,12 +536,6 @@ def describe_image( - **Zone** (str) - 可用区,参见 `可用区列表 `_ - **BasePriceSet** - - **ChargeType** (str) - 计费类型 - - **OriginalPrice** (float) - 限时优惠的折前原价(即列表价乘以商务折扣后的单价)。 - - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 - - """ # build request d = { @@ -571,6 +568,11 @@ def describe_isolation_group( **Response Model** + **SpreadInfo** + - **UHostCount** (int) - 当前地域所有可用区中硬件隔离组中云主机的数量,不超过7。 + - **Zone** (str) - 可用区信息 + + **IsolationGroup** - **GroupId** (str) - 硬件隔离组id - **GroupName** (str) - 硬件隔离组名称 @@ -578,11 +580,6 @@ def describe_isolation_group( - **SpreadInfoSet** (list) - 见 **SpreadInfo** 模型定义 - **SpreadInfo** - - **UHostCount** (int) - 当前地域所有可用区中硬件隔离组中云主机的数量,不超过7。 - - **Zone** (str) - 可用区信息 - - """ # build request d = { @@ -621,6 +618,47 @@ def describe_uhost_instance( **Response Model** + **UHostKeyPair** + - **KeyPairId** (str) - 密钥对ID + - **KeyPairState** (str) - 主机密钥对状态,Normal 正常,Deleted 删除 + + + **UHostDiskSet** + - **BackupType** (str) - 备份方案。若开通了数据方舟,则为DATAARK + - **DiskId** (str) - 磁盘ID + - **DiskType** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + - **Drive** (str) - 磁盘盘符 + - **Encrypted** (str) - "true": 加密盘 "false":非加密盘 + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + - **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回) + - **Size** (int) - 磁盘大小,单位: GB + - **Type** (str) - 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk + + + **UHostIPSet** + - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) + - **Default** (str) - 内网 Private 类型下,表示是否为默认网卡。true: 是默认网卡;其他值:不是。 + - **IP** (str) - IP地址 + - **IPId** (str) - 外网IP资源ID 。(内网IP无对应的资源ID) + - **IPMode** (str) - IPv4/IPv6; + - **Mac** (str) - 内网 Private 类型下,当前网卡的Mac。 + - **NetworkInterfaceId** (str) - 弹性网卡为默认网卡时,返回对应的 ID 值 + - **SubnetId** (str) - IP地址对应的子网 ID。(北京一不支持,字段返回为空) + - **Type** (str) - 国际: Internation,BGP: Bgp,内网: Private + - **VPCId** (str) - IP地址对应的VPC ID。(北京一不支持,字段返回为空) + - **Weight** (int) - 当前EIP的权重。权重最大的为当前的出口IP。 + + + **SpotAttribute** + - **RecycleTime** (int) - 回收时间 + + + **UDSetUDHostAttribute** + - **HostBinding** (bool) - 是否绑定私有专区宿主机 + - **UDHostId** (str) - 私有专区宿主机 + - **UDSetId** (str) - 私有专区 + + **UHostInstanceSet** - **AutoRenew** (str) - 是否自动续费,自动续费:“Yes”,不自动续费:“No” - **BasicImageId** (str) - 基础镜像ID(指当前自定义镜像的来源镜像) @@ -635,7 +673,7 @@ def describe_uhost_instance( - **EpcInstance** (bool) - true: 高性能计算主机;false: 不是 - **ExpireTime** (int) - 到期时间,格式为Unix时间戳 - **GPU** (int) - GPU个数 - - **GpuType** (str) - GPU类型;枚举值["K80", "P40", "V100", "T4", "T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4", "MI100", "V100S"] + - **GpuType** (str) - GPU类型;枚举值["K80", "P40", "V100", "T4","T4A", "T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4", "MI100", "V100S",2080","2080TiS","2080TiPro","3090","4090","4090Pro","A100","A800","H20"] - **HiddenKvm** (bool) - true: 开启 hidden kvm 功能;false: 不是 - **HostType** (str) - 【建议不再使用】主机系列:N2,表示系列2;N1,表示系列1 - **HotPlugMaxCpu** (int) - 热升级支持的最大CPU个数 @@ -651,13 +689,14 @@ def describe_uhost_instance( - **Memory** (int) - 内存大小,单位: MB - **Name** (str) - UHost实例名称 - **NetCapability** (str) - 网络增强。Normal: 无;Super: 网络增强1.0; Ultra: 网络增强2.0 + - **NetFeatureTag** (str) - Firewall:防火墙,SecGroup:安全组,Acl:acl - **NetworkState** (str) - 【建议不再使用】网络状态。 连接:Connected, 断开:NotConnected - **OsName** (str) - 创建主机的最初来源镜像的操作系统名称(若直接通过基础镜像创建,此处返回和BasicImageName一致) - **OsType** (str) - 操作系统类别。返回"Linux"或者"Windows" - **RdmaClusterId** (str) - RDMA集群id,仅快杰云主机返回该值;其他类型云主机返回""。当云主机的此值与RSSD云盘的RdmaClusterId相同时,RSSD可以挂载到这台云主机。 - **Remark** (str) - 备注 - **RestrictMode** (str) - 仅抢占式实例返回,LowSpeed为低速模式,PowerOff为关机模式 - - **SecGroupInstance** (bool) - true: 绑定了安全组的主机;false: 不是 + - **SecGroupInstance** (bool) - 【待废弃】true: 绑定了安全组的主机;false: 不是 - **SpotAttribute** (dict) - 见 **SpotAttribute** 模型定义 - **State** (str) - 实例状态,枚举值:\\ >初始化: Initializing; \\ >启动中: Starting; \\> 运行中: Running; \\> 关机中: Stopping; \\ >关机: Stopped \\ >安装失败: Install Fail; \\ >重启中: Rebooting; \\ > 未知(空字符串,获取状态超时或出错):"" - **StorageType** (str) - 【建议不再使用】主机磁盘类型。 枚举值为:\\ > LocalDisk,本地磁盘; \\ > UDisk 云盘。\\只要有一块磁盘为本地盘,即返回LocalDisk。 @@ -671,47 +710,6 @@ def describe_uhost_instance( - **Zone** (str) - 可用区。参见 `可用区列表 `_ - **UHostDiskSet** - - **BackupType** (str) - 备份方案。若开通了数据方舟,则为DATAARK - - **DiskId** (str) - 磁盘ID - - **DiskType** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 - - **Drive** (str) - 磁盘盘符 - - **Encrypted** (str) - "true": 加密盘 "false":非加密盘 - - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 - - **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回) - - **Size** (int) - 磁盘大小,单位: GB - - **Type** (str) - 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk - - - **UHostIPSet** - - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) - - **Default** (str) - 内网 Private 类型下,表示是否为默认网卡。true: 是默认网卡;其他值:不是。 - - **IP** (str) - IP地址 - - **IPId** (str) - 外网IP资源ID 。(内网IP无对应的资源ID) - - **IPMode** (str) - IPv4/IPv6; - - **Mac** (str) - 内网 Private 类型下,当前网卡的Mac。 - - **NetworkInterfaceId** (str) - 弹性网卡为默认网卡时,返回对应的 ID 值 - - **SubnetId** (str) - IP地址对应的子网 ID。(北京一不支持,字段返回为空) - - **Type** (str) - 国际: Internation,BGP: Bgp,内网: Private - - **VPCId** (str) - IP地址对应的VPC ID。(北京一不支持,字段返回为空) - - **Weight** (int) - 当前EIP的权重。权重最大的为当前的出口IP。 - - - **UHostKeyPair** - - **KeyPairId** (str) - 密钥对ID - - **KeyPairState** (str) - 主机密钥对状态,Normal 正常,Deleted 删除 - - - **SpotAttribute** - - **RecycleTime** (int) - 回收时间 - - - **UDSetUDHostAttribute** - - **HostBinding** (bool) - 是否绑定私有专区宿主机 - - **UDHostId** (str) - 私有专区宿主机 - - **UDSetId** (str) - 私有专区 - - """ # build request d = { @@ -852,14 +850,26 @@ def get_attached_disk_upgrade_price( - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ - **DiskId** (str) - (Required) 磁盘ID。参见 `DescribeUHostInstance `_ 返回值中的DiskSet。 - - **DiskSpace** (int) - (Required) 磁盘大小,单位GB,步长为10。取值范围需大于当前磁盘大小,最大值请参考 `磁盘类型 `_ 。 + - **DiskSpace** (int) - (Required) 磁盘大小,单位GB。取值范围需大于当前磁盘大小,最大值请参考 `磁盘类型 `_ 。 - **UHostId** (str) - (Required) UHost实例ID。 参见 `DescribeUHostInstance `_ 。 - **BackupMode** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\> SNAPSHOT(SNAPSHOT模式目前仅在上海C支持),快照 \\ 当前磁盘支持的备份模式参考 `磁盘类型 `_ 。默认值为当前的备份模式。 - **Zone** (str) - 可用区。参见 `可用区列表 `_ **Response** + - **ListPrice** (float) - 原价。精度为小数点后2位。 + - **ListPriceDetail** (dict) - 见 **DiskUpgradePriceDetail** 模型定义 + - **OriginalPrice** (float) - 用户折后价。精度为小数点后2位。 + - **OriginalPriceDetail** (dict) - 见 **DiskUpgradePriceDetail** 模型定义 - **Price** (float) - 升级差价。精度为小数点后2位。 + - **PriceDetail** (dict) - 见 **DiskUpgradePriceDetail** 模型定义 + + **Response Model** + + **DiskUpgradePriceDetail** + - **Snapshot** (float) - 快照的价格 + - **UDisk** (float) - 磁盘的价格 + """ # build request @@ -905,6 +915,9 @@ def get_uhost_instance_price( **Request Model** + **GetUHostInstancePriceParamVolumes** + + **GetUHostInstancePriceParamDisks** - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\ > SNAPSHOT,快照\\ 当前磁盘支持的备份模式参考 `磁盘类型 `_ - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 @@ -912,13 +925,14 @@ def get_uhost_instance_price( - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 - **GetUHostInstancePriceParamVirtualGpu** - - - **GetUHostInstancePriceParamVolumes** + **Response Model** + **PriceDetail** + - **Snapshot** (float) - 快照价格 + - **UDisk** (float) - 云盘价格 + - **UHost** (float) - 主机价格 + - **Volume** (float) - 数据卷价格 - **Response Model** **UHostPriceSet** - **ChargeType** (str) - 计费类型。Year,Month,Dynamic @@ -930,13 +944,6 @@ def get_uhost_instance_price( - **PriceDetail** (dict) - 见 **PriceDetail** 模型定义 - **PriceDetail** - - **Snapshot** (float) - 快照价格 - - **UDisk** (float) - 云盘价格 - - **UHost** (float) - 主机价格 - - **Volume** (float) - 数据卷价格 - - """ # build request d = { @@ -1371,12 +1378,13 @@ def reinstall_uhost_instance( - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ - **UHostId** (str) - (Required) UHost实例资源ID 参见 `DescribeUHostInstance `_ - **AutoDataDiskInit** (str) - 数据盘是否需要自动分区挂载。当镜像支持Cloud-init Feature时可填写此字段。取值“On”(默认值), “Off” - - **BootDiskSpace** (int) - 系统盘大小。 单位:GB, 范围[20,100], 步长:10 + - **BootDiskSpace** (int) - 系统盘大小。 单位:GB, 范围[20,100]。 + - **HostName** (str) - 操作系统主机名 - **ImageId** (str) - 镜像Id,默认使用原镜像 参见 `DescribeImage `_ - **KeyPairId** (str) - KeypairId 密钥对ID,LoginMode为KeyPair时此项必须。 - - **LoginMode** (str) - 主机登陆模式。密码(默认选项): Password,密钥 KeyPair。 + - **LoginMode** (str) - 主机登陆模式。密码(默认选项): Password,密钥 KeyPair,自制镜像密码: ImagePasswd。 - **Password** (str) - 如果重装UHost实例时LoginMode为Password,则必须填写,如果LoginMode为KeyPair,不需要填写 (密码格式使用BASE64编码;举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。) - - **ReserveDisk** (str) - 是否保留数据盘,保留:Yes,不报留:No, 默认:Yes;如果是从Windows重装为Linux或反之,则无法保留数据盘(该参数目前仅对本地数据盘起作用) + - **ReserveDisk** (str) - 是否保留数据盘,保留:Yes,不保留:No, 默认:Yes;如果是从Windows重装为Linux或反之,则无法保留数据盘(该参数目前仅对本地数据盘起作用) - **UserData** (str) - cloudinit初始化使用。注意:1、总数据量大小不超多16K 2、使用base64编码 - **Zone** (str) - 可用区。参见 `可用区列表 `_ diff --git a/ucloud/services/uhost/schemas/apis.py b/ucloud/services/uhost/schemas/apis.py index c72b4ff..50ae1fc 100644 --- a/ucloud/services/uhost/schemas/apis.py +++ b/ucloud/services/uhost/schemas/apis.py @@ -10,12 +10,12 @@ """ API: AddUHostToIsolationGroup -将已有不在隔离组中的云主机添加到隔离组中 + """ class AddUHostToIsolationGroupRequestSchema(schema.RequestSchema): - """AddUHostToIsolationGroup - 将已有不在隔离组中的云主机添加到隔离组中""" + """AddUHostToIsolationGroup -""" fields = { "GroupId": fields.Str(required=True, dump_to="GroupId"), @@ -27,7 +27,7 @@ class AddUHostToIsolationGroupRequestSchema(schema.RequestSchema): class AddUHostToIsolationGroupResponseSchema(schema.ResponseSchema): - """AddUHostToIsolationGroup - 将已有不在隔离组中的云主机添加到隔离组中""" + """AddUHostToIsolationGroup -""" fields = { "UHostId": fields.Str(required=False, load_from="UHostId"), @@ -142,24 +142,12 @@ class CreateIsolationGroupResponseSchema(schema.ResponseSchema): """ -class CreateUHostInstanceParamDisksCustomBackupSchema(schema.RequestSchema): - """CreateUHostInstanceParamDisksCustomBackup -""" - - fields = {} - - -class CreateUHostInstanceParamDisksSchema(schema.RequestSchema): - """CreateUHostInstanceParamDisks -""" +class CreateUHostInstanceParamSecGroupIdSchema(schema.RequestSchema): + """CreateUHostInstanceParamSecGroupId -""" fields = { - "BackupType": fields.Str(required=False, dump_to="BackupType"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Encrypted": fields.Bool(required=False, dump_to="Encrypted"), - "IsBoot": fields.Str(required=True, dump_to="IsBoot"), - "KmsKeyId": fields.Str(required=False, dump_to="KmsKeyId"), - "Size": fields.Int(required=True, dump_to="Size"), - "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), - "Type": fields.Str(required=True, dump_to="Type"), + "Id": fields.Str(required=False, dump_to="Id"), + "Priority": fields.Int(required=False, dump_to="Priority"), } @@ -227,27 +215,25 @@ class CreateUHostInstanceParamNetworkInterfaceSchema(schema.RequestSchema): } -class CreateUHostInstanceParamSecGroupIdSchema(schema.RequestSchema): - """CreateUHostInstanceParamSecGroupId -""" - - fields = { - "Id": fields.Str(required=False, dump_to="Id"), - "Priority": fields.Int(required=False, dump_to="Priority"), - } - - -class CreateUHostInstanceParamVirtualGpuGPUVirtualGpuSchema( - schema.RequestSchema -): - """CreateUHostInstanceParamVirtualGpuGPUVirtualGpu -""" +class CreateUHostInstanceParamDisksCustomBackupSchema(schema.RequestSchema): + """CreateUHostInstanceParamDisksCustomBackup -""" fields = {} -class CreateUHostInstanceParamVirtualGpuSchema(schema.RequestSchema): - """CreateUHostInstanceParamVirtualGpu -""" +class CreateUHostInstanceParamDisksSchema(schema.RequestSchema): + """CreateUHostInstanceParamDisks -""" - fields = {} + fields = { + "BackupType": fields.Str(required=False, dump_to="BackupType"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Encrypted": fields.Bool(required=False, dump_to="Encrypted"), + "IsBoot": fields.Str(required=True, dump_to="IsBoot"), + "KmsKeyId": fields.Str(required=False, dump_to="KmsKeyId"), + "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 CreateUHostInstanceParamVolumesSchema(schema.RequestSchema): @@ -461,7 +447,7 @@ class DescribeAvailableInstanceTypesRequestSchema(schema.RequestSchema): fields = { "MachineTypes": fields.List(fields.Str()), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Region": fields.Str(required=True, dump_to="Region"), + "Region": fields.Str(required=False, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), } @@ -707,7 +693,14 @@ class GetAttachedDiskUpgradePriceResponseSchema(schema.ResponseSchema): """GetAttachedDiskUpgradePrice - 获取挂载磁盘的升级价格""" fields = { + "ListPrice": fields.Float(required=False, load_from="ListPrice"), + "ListPriceDetail": models.DiskUpgradePriceDetailSchema(), + "OriginalPrice": fields.Float( + required=False, load_from="OriginalPrice" + ), + "OriginalPriceDetail": models.DiskUpgradePriceDetailSchema(), "Price": fields.Float(required=False, load_from="Price"), + "PriceDetail": models.DiskUpgradePriceDetailSchema(), } @@ -718,6 +711,12 @@ class GetAttachedDiskUpgradePriceResponseSchema(schema.ResponseSchema): """ +class GetUHostInstancePriceParamVolumesSchema(schema.RequestSchema): + """GetUHostInstancePriceParamVolumes -""" + + fields = {} + + class GetUHostInstancePriceParamDisksSchema(schema.RequestSchema): """GetUHostInstancePriceParamDisks -""" @@ -729,18 +728,6 @@ class GetUHostInstancePriceParamDisksSchema(schema.RequestSchema): } -class GetUHostInstancePriceParamVirtualGpuSchema(schema.RequestSchema): - """GetUHostInstancePriceParamVirtualGpu -""" - - fields = {} - - -class GetUHostInstancePriceParamVolumesSchema(schema.RequestSchema): - """GetUHostInstancePriceParamVolumes -""" - - fields = {} - - class GetUHostInstancePriceRequestSchema(schema.RequestSchema): """GetUHostInstancePrice - 根据UHost实例配置,获取UHost实例的价格。""" @@ -1218,6 +1205,7 @@ class ReinstallUHostInstanceRequestSchema(schema.RequestSchema): "DNSServers": fields.List( fields.Str() ), # Deprecated, will be removed at 1.0 + "HostName": fields.Str(required=False, dump_to="HostName"), "ImageId": fields.Str(required=False, dump_to="ImageId"), "KeyPairId": fields.Str(required=False, dump_to="KeyPairId"), "LoginMode": fields.Str(required=False, dump_to="LoginMode"), diff --git a/ucloud/services/uhost/schemas/models.py b/ucloud/services/uhost/schemas/models.py index 1bd8fe4..575c6ba 100644 --- a/ucloud/services/uhost/schemas/models.py +++ b/ucloud/services/uhost/schemas/models.py @@ -30,14 +30,22 @@ class KeyPairSchema(schema.ResponseSchema): } -class BootDiskInfoSchema(schema.ResponseSchema): - """BootDiskInfo - 系统盘信息""" +class GraphicsMemorySchema(schema.ResponseSchema): + """GraphicsMemory - GPU的显存指标""" fields = { - "Features": fields.List(fields.Str()), - "InstantResize": fields.Bool(required=False, load_from="InstantResize"), - "MaximalSize": fields.Int(required=False, load_from="MaximalSize"), - "Name": fields.Str(required=False, load_from="Name"), + "Rate": fields.Int(required=False, load_from="Rate"), + "Value": fields.Int(required=False, load_from="Value"), + } + + +class CpuPlatformsSchema(schema.ResponseSchema): + """CpuPlatforms - CPU平台信息""" + + fields = { + "Amd": fields.List(fields.Str()), + "Ampere": fields.List(fields.Str()), + "Intel": fields.List(fields.Str()), } @@ -52,51 +60,53 @@ class DataDiskInfoSchema(schema.ResponseSchema): } -class CollectionSchema(schema.ResponseSchema): - """Collection - CPU和内存可支持的规格""" +class BootDiskInfoSchema(schema.ResponseSchema): + """BootDiskInfo - 系统盘信息""" fields = { - "Cpu": fields.Int(required=False, load_from="Cpu"), - "Memory": fields.List(fields.Int()), - "MinimalCpuPlatform": fields.List(fields.Str()), + "Features": fields.List(fields.Str()), + "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 FeatureModesSchema(schema.ResponseSchema): - """FeatureModes - 可以支持的模式类别""" +class DisksSchema(schema.ResponseSchema): + """Disks - 磁盘信息""" fields = { - "MinimalCpuPlatform": fields.List(fields.Str()), + "BootDisk": fields.List(BootDiskInfoSchema()), + "DataDisk": fields.List(DataDiskInfoSchema()), "Name": fields.Str(required=False, load_from="Name"), - "RelatedToImageFeature": fields.List(fields.Str()), } -class GraphicsMemorySchema(schema.ResponseSchema): - """GraphicsMemory - GPU的显存指标""" +class FeatureModesSchema(schema.ResponseSchema): + """FeatureModes - 可以支持的模式类别""" fields = { - "Rate": fields.Int(required=False, load_from="Rate"), - "Value": fields.Int(required=False, load_from="Value"), + "MinimalCpuPlatform": fields.List(fields.Str()), + "Name": fields.Str(required=False, load_from="Name"), + "RelatedToImageFeature": fields.List(fields.Str()), } -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 PerformanceSchema(schema.ResponseSchema): - """Performance - GPU的性能指标""" +class CollectionSchema(schema.ResponseSchema): + """Collection - CPU和内存可支持的规格""" fields = { - "Rate": fields.Int(required=False, load_from="Rate"), - "Value": fields.Float(required=False, load_from="Value"), + "Cpu": fields.Int(required=False, load_from="Cpu"), + "Memory": fields.List(fields.Int()), + "MinimalCpuPlatform": fields.List(fields.Str()), } @@ -109,22 +119,12 @@ class MachineSizesSchema(schema.ResponseSchema): } -class FeaturesSchema(schema.ResponseSchema): - """Features - 虚机可支持的特性""" - - fields = { - "Modes": fields.List(FeatureModesSchema()), - "Name": fields.Str(required=False, load_from="Name"), - } - - -class CpuPlatformsSchema(schema.ResponseSchema): - """CpuPlatforms - CPU平台信息""" +class PerformanceSchema(schema.ResponseSchema): + """Performance - GPU的性能指标""" fields = { - "Amd": fields.List(fields.Str()), - "Ampere": fields.List(fields.Str()), - "Intel": fields.List(fields.Str()), + "Rate": fields.Int(required=False, load_from="Rate"), + "Value": fields.Float(required=False, load_from="Value"), } @@ -133,12 +133,15 @@ class AvailableInstanceTypesSchema(schema.ResponseSchema): fields = { "CpuPlatforms": CpuPlatformsSchema(), + "Description": fields.Str(required=False, load_from="Description"), "Disks": fields.List(DisksSchema()), "Features": fields.List(FeaturesSchema()), "GraphicsMemory": GraphicsMemorySchema(), + "InstanceType": fields.Str(required=True, 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"), "Zone": fields.Str(required=False, load_from="Zone"), @@ -213,20 +216,13 @@ class IsolationGroupSchema(schema.ResponseSchema): } -class SpotAttributeSchema(schema.ResponseSchema): - """SpotAttribute - 竞价实例属性""" - - fields = { - "RecycleTime": fields.Int(required=False, load_from="RecycleTime"), - } - - -class UHostKeyPairSchema(schema.ResponseSchema): - """UHostKeyPair - 主机密钥信息""" +class UDSetUDHostAttributeSchema(schema.ResponseSchema): + """UDSetUDHostAttribute - 私有专区对应的宿主机属性""" fields = { - "KeyPairId": fields.Str(required=False, load_from="KeyPairId"), - "KeyPairState": fields.Str(required=False, load_from="KeyPairState"), + "HostBinding": fields.Bool(required=False, load_from="HostBinding"), + "UDHostId": fields.Str(required=False, load_from="UDHostId"), + "UDSetId": fields.Str(required=False, load_from="UDSetId"), } @@ -250,16 +246,6 @@ class UHostIPSetSchema(schema.ResponseSchema): } -class UDSetUDHostAttributeSchema(schema.ResponseSchema): - """UDSetUDHostAttribute - 私有专区对应的宿主机属性""" - - fields = { - "HostBinding": fields.Bool(required=False, load_from="HostBinding"), - "UDHostId": fields.Str(required=False, load_from="UDHostId"), - "UDSetId": fields.Str(required=False, load_from="UDSetId"), - } - - class UHostDiskSetSchema(schema.ResponseSchema): """UHostDiskSet - DescribeUHostInstance""" @@ -276,6 +262,23 @@ 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 SpotAttributeSchema(schema.ResponseSchema): + """SpotAttribute - 竞价实例属性""" + + fields = { + "RecycleTime": fields.Int(required=False, load_from="RecycleTime"), + } + + class UHostInstanceSetSchema(schema.ResponseSchema): """UHostInstanceSet - DescribeUHostInstance""" @@ -317,6 +320,7 @@ class UHostInstanceSetSchema(schema.ResponseSchema): "Memory": fields.Int(required=False, load_from="Memory"), "Name": fields.Str(required=False, load_from="Name"), "NetCapability": fields.Str(required=False, load_from="NetCapability"), + "NetFeatureTag": fields.Str(required=False, load_from="NetFeatureTag"), "NetworkState": fields.Str(required=False, load_from="NetworkState"), "OsName": fields.Str(required=False, load_from="OsName"), "OsType": fields.Str(required=False, load_from="OsType"), @@ -378,6 +382,15 @@ class UHostTagSetSchema(schema.ResponseSchema): } +class DiskUpgradePriceDetailSchema(schema.ResponseSchema): + """DiskUpgradePriceDetail - 升级磁盘的详细价格""" + + fields = { + "Snapshot": fields.Float(required=False, load_from="Snapshot"), + "UDisk": fields.Float(required=False, load_from="UDisk"), + } + + class PriceDetailSchema(schema.ResponseSchema): """PriceDetail - 价格详细信息""" @@ -408,7 +421,7 @@ class UHostRefundPriceSetSchema(schema.ResponseSchema): fields = { "Code": fields.Int(required=True, load_from="Code"), - "Message": fields.Str(required=True, load_from="Message"), - "RefundPrice": fields.Float(required=True, load_from="RefundPrice"), + "Message": fields.Str(required=False, load_from="Message"), + "RefundPrice": fields.Float(required=False, load_from="RefundPrice"), "UHostId": fields.Str(required=True, load_from="UHostId"), } diff --git a/ucloud/version.py b/ucloud/version.py index 7e0fba5..bcedacf 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.76" +version = "0.11.77"