Source code for ucloud.services.udisk.client

""" Code is generated by ucloud-model, DO NOT EDIT IT. """

import typing


from ucloud.core.client import Client
from ucloud.services.udisk.schemas import apis


[docs]class UDiskClient(Client): def __init__( self, config: dict, transport=None, middleware=None, logger=None ): super(UDiskClient, self).__init__(config, transport, middleware, logger)
[docs] def attach_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 需要挂载的UDisk实例ID. - **HostId** (str) - Host实例ID - **MultiAttach** (str) - 是否允许多点挂载(Yes: 允许多点挂载, No: 不允许多点挂载, 不填默认Yes ) - **UHostId** (str) - UHost实例ID。【UHostId和HostId必须选填一个,本字段即将废弃,建议使用HostId】 - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ **Response** - **DeviceName** (str) - 挂载的设备名称 - **HostId** (str) - 挂载的Host实例ID - **UDiskId** (str) - 挂载的UDisk实例ID - **UHostId** (str) - 挂载的UHost实例ID。【即将废弃,建议使用HostId】 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.AttachUDiskRequestSchema().dumps(d) resp = self.invoke("AttachUDisk", d, **kwargs) return apis.AttachUDiskResponseSchema().loads(resp)
[docs] def clone_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """CloneUDisk - 从UDisk创建UDisk克隆 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Name** (str) - (Required) 实例名称 - **SourceId** (str) - (Required) 克隆父Disk的Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic,Postpay,Trial 默认: Month - **Comment** (str) - Disk注释 - **CouponId** (str) - 使用的代金券id - **HostId** (str) - Host实例ID。克隆出的云盘可直接挂载到该主机上。 - **Quantity** (int) - 购买时长 默认: 1 - **RdmaClusterId** (str) - 【已废弃】RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **Tag** (str) - 业务组 默认:Default - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** - **UDiskId** (list) - 创建UDisk Id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CloneUDiskRequestSchema().dumps(d) resp = self.invoke("CloneUDisk", d, **kwargs) return apis.CloneUDiskResponseSchema().loads(resp)
[docs] def clone_udisk_snapshot( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CloneUDiskSnapshot - 从快照创建UDisk克隆 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Name** (str) - (Required) 实例名称 - **SourceId** (str) - (Required) 克隆父Snapshot的Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic,Postpay 默认: Dynamic - **Comment** (str) - Disk注释 - **CouponId** (str) - 使用的代金券id - **HostId** (str) - Host实例ID。克隆出的云盘可直接挂载到该主机上。 - **Quantity** (int) - 购买时长 默认: 1 - **RdmaClusterId** (str) - 【已废弃】RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 - **Size** (int) - 购买UDisk大小,单位:GB,范围[1~8000]。(UDisk大小设定对本地盘快照有效,对云盘快照无效) - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **Tag** (str) - 业务组 默认:Default - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** - **UDiskId** (list) - 创建UDisk Id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CloneUDiskSnapshotRequestSchema().dumps(d) resp = self.invoke("CloneUDiskSnapshot", d, **kwargs) return apis.CloneUDiskSnapshotResponseSchema().loads(resp)
[docs] def clone_udisk_udataark( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CloneUDiskUDataArk - 从数据方舟的备份创建UDisk **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Name** (str) - (Required) 实例名称 - **SnapshotTime** (int) - (Required) 指定从方舟克隆的备份时间点 - **UDiskId** (str) - (Required) 需要克隆的源盘id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic,Postpay 默认: Dynamic - **Comment** (str) - Disk注释 - **CouponId** (str) - 使用的代金券id - **HostId** (str) - Host实例ID。克隆出的云盘可直接挂载到该主机上。 - **Quantity** (int) - 购买时长 默认: 1 - **RdmaClusterId** (str) - 【已废弃】RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 - **Size** (int) - 购买UDisk大小,单位:GB,范围[1~8000]。(UDisk大小设定对本地盘备份有效,对云盘备份无效) - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **Tag** (str) - 业务组 默认:Default - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** - **UDiskId** (list) - 创建UDisk Id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CloneUDiskUDataArkRequestSchema().dumps(d) resp = self.invoke("CloneUDiskUDataArk", d, **kwargs) return apis.CloneUDiskUDataArkResponseSchema().loads(resp)
[docs] def create_attach_udisk( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CreateAttachUDisk - 创建并挂载UDisk磁盘 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Name** (str) - (Required) 实例名称 - **Size** (int) - (Required) 购买UDisk大小,单位:GB,普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000];高效数据盘:范围[1~32000]。 - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic, Postpay, Trial 。 Size小于等于2000时,默认为Dynamic;Size大于2000时,默认为Month。 - **CmkId** (str) - 加密需要的cmk id,UKmsMode为Yes时,必填 - **CouponId** (str) - 使用的代金券id - **DiskType** (str) - UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),默认值(DataDisk) - **HostId** (str) - Host实例ID。当创建云盘类型为RSSDDataDisk时,根据传入的HostId,创建与虚机在同一PodId下的云盘。 - **MultiAttach** (str) - 是否允许多点挂载(Yes: 允许多点挂载, No: 不允许多点挂载, 不填默认Yes ) - **Quantity** (int) - 购买时长 默认: 1 - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **Tag** (str) - 业务组 默认:Default - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No - **UHostId** (str) - UHost实例ID。当创建云盘类型为RSSDDataDisk时,根据传入的UHostId,创建与虚机在同一PodId下的云盘。【UHostId和HostId必须选填一个,本字段即将废弃,建议使用HostId】 - **UKmsMode** (str) - 是否加密。Yes:加密,No:不加密,默认值(No) **Response** - **DeviceName** (str) - 挂载设备名称 - **HostId** (str) - 挂载的Host实例ID - **UDiskId** (str) - 挂载的UDisk实例ID - **UHostId** (str) - 挂载的UHost实例ID。【即将废弃,建议使用HostId】 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateAttachUDiskRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateAttachUDisk", d, **kwargs) return apis.CreateAttachUDiskResponseSchema().loads(resp)
[docs] def create_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """CreateUDisk - 创建UDisk磁盘 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Name** (str) - (Required) 实例名称 - **Size** (int) - (Required) 购买UDisk大小,单位:GB,普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000];高效数据盘:范围[1~32000]。 - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic, Postpay, Trial 。默认为Dynamic。 - **CmkId** (str) - 加密需要的cmk id,UKmsMode为Yes时,必填 - **CouponId** (str) - 使用的代金券id - **DiskType** (str) - UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),默认值(DataDisk) - **Quantity** (int) - 购买时长 默认: 1 - **RdmaClusterId** (str) - RDMA集群id。DiskType为RSSDDataDisk可填,指定云盘创建到对应的RDMA集群。 - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **Tag** (str) - 业务组 默认:Default - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No - **UKmsMode** (str) - 是否加密。Yes:加密,No:不加密,默认值(No) **Response** - **UDiskId** (list) - UDisk实例Id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateUDiskRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateUDisk", d, **kwargs) return apis.CreateUDiskResponseSchema().loads(resp)
[docs] def create_udisk_snapshot( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CreateUDiskSnapshot - 创建snapshot快照 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Name** (str) - (Required) 快照名称 - **UDiskId** (str) - (Required) 快照的UDisk的Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **ChargeType** (str) - Year , Month, Dynamic 默认: Dynamic (已废弃) - **Comment** (str) - 快照描述 - **Quantity** (int) - 购买时长 默认: 1 (已废弃) **Response** - **SnapshotId** (list) - 快照Id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateUDiskSnapshotRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateUDiskSnapshot", d, **kwargs) return apis.CreateUDiskSnapshotResponseSchema().loads(resp)
[docs] def delete_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """DeleteUDisk - 删除UDisk **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 要删除的UDisk的Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DeleteUDiskRequestSchema().dumps(d) resp = self.invoke("DeleteUDisk", d, **kwargs) return apis.DeleteUDiskResponseSchema().loads(resp)
[docs] def delete_udisk_snapshot( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DeleteUDiskSnapshot - 删除Snapshot **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **SnapshotId** (str) - 快照Id(填写后不能填写UDisk Id) - **UDiskId** (str) - UDisk Id,删除该盘所创建出来的所有快照(填写后不能填写SnapshotId) **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DeleteUDiskSnapshotRequestSchema().dumps(d) resp = self.invoke("DeleteUDiskSnapshot", d, **kwargs) return apis.DeleteUDiskSnapshotResponseSchema().loads(resp)
[docs] def describe_recycle_udisk( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeRecycleUDisk - 拉取回收站中云硬盘列表 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Limit** (int) - 返回数据长度, 默认为20 - **Offset** (int) - 数据偏移量, 默认为0 **Response** - **DataSet** (list) - 见 **RecycleUDiskSet** 模型定义 - **TotalCount** (int) - 磁盘数量 **Response Model** **RecycleUDiskSet** - **CountdownTime** (int) - 销毁倒计时 - **CreateTime** (int) - 创建时间 - **ExpiredTime** (int) - 过期时间 - **Name** (str) - 磁盘名称 - **Size** (int) - 磁盘容量 - **Tag** (str) - 业务组 - **UDiskId** (str) - 磁盘id - **Zone** (str) - 可用区 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeRecycleUDiskRequestSchema().dumps(d) resp = self.invoke("DescribeRecycleUDisk", d, **kwargs) return apis.DescribeRecycleUDiskResponseSchema().loads(resp)
[docs] def describe_udisk( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUDisk - 获取UDisk实例 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **DiskType** (str) - ProtocolVersion字段为1时,需结合IsBoot确定具体磁盘类型:普通数据盘:DiskType:"CLOUD_NORMAL",IsBoot:"False";普通系统盘:DiskType:"CLOUD_NORMAL",IsBoot:"True";SSD数据盘:DiskType:"CLOUD_SSD",IsBoot:"False";SSD系统盘:DiskType:"CLOUD_SSD",IsBoot:"True";RSSD数据盘:DiskType:"CLOUD_RSSD",IsBoot:"False";RSSD系统盘:DiskType:"CLOUD_RSSD",IsBoot:"True";高效数据盘:DiskType:"CLOUD_EFFICIENCY",IsBoot:"False";高效系统盘:DiskType:"CLOUD_EFFICIENCY",IsBoot:"True";为空拉取所有。ProtocolVersion字段为0或没有该字段时,可设为以下几个值:普通数据盘:DataDisk;普通系统盘:SystemDisk;SSD数据盘:SSDDataDisk;SSD系统盘:SSDSystemDisk;RSSD数据盘:RSSDDataDisk;RSSD系统盘:RSSDSystemDisk:高效数据盘:EfficiencyDataDisk;高效系统盘:EfficiencySystemDisk;为空拉取所有。 - **HostId** (str) - 根据传入的HostId,返回与该主机关联的云盘信息。 - **HostIdForAttachment** (str) - 根据传入的HostIdForAttachment,筛选出能被挂载在该主机上的云盘。目前主要针对RSSD云盘。 - **HostProduct** (str) - 宿主产品类型,可筛选挂载在该类型宿主上的云盘。可选值:uhost, uphost。为空拉取所有。(当HostIdForAttachment字段不为空时,该字段可以不填,若HostIdForAttachment与该字段宿主类型冲突,则以HostIdForAttachment字段为准。) - **IgnoreBackupMode** (str) - 是否忽略快照服务信息。Yes:忽略,No:不忽略,默认值(No)。(如不关心快照服务信息,建议选填“Yes”,可降低请求延时) - **IgnoreUBillInfo** (str) - 是否忽略计费信息。Yes:忽略,No:不忽略,默认值(No)。(如不关心账单信息,建议选填“Yes”,可降低请求延时) - **IsBoot** (str) - ProtocolVersion字段为1且DiskType不为空时,必须设置,设置规则请参照DiskType;ProtocolVersion字段为1且DiskType为空时,该字段无效。ProtocolVersion字段为0或没有该字段时,该字段无效。 - **Limit** (int) - 返回数据长度, 默认为20 - **Offset** (int) - 数据偏移量, 默认为0 - **ProtocolVersion** (int) - 请求协议版本,建议升级为1,为1时DiskType与UHost磁盘类型定义一致;默认为0 - **UDiskBasicInfo** (str) - 是否只返回云盘基础信息(只包含云盘及关联主机的资源信息)。Yes:是,No:否,默认值(No)。(如仅需要基础信息,建议选填“Yes”,可降低请求延时) - **UDiskId** (str) - UDisk Id(留空返回全部) - **UHostIdForAttachment** (str) - 根据传入的UHostIdForAttachment,筛选出能被挂载在该主机上的云盘【本字段即将废弃,建议使用HostIdForAttachment】 - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ **Response** - **DataSet** (list) - 见 **UDiskDataSet** 模型定义 - **TotalCount** (int) - 根据过滤条件得到的总数 **Response Model** **UDiskDataSet** - **ArkSwitchEnable** (int) - 是否支持开启方舟,1支持 ,0不支持 - **BackupMode** (str) - 该盘的备份方式。快照服务:"SnapshotService";数据方舟:"UDataArk";无备份方式:"" - **ChargeType** (str) - Year,Month,Dynamic,Trial,Postpay - **CloneEnable** (int) - 是否支持克隆,1支持 ,0不支持 - **CmkId** (str) - 该盘的cmk id - **CmkIdAlias** (str) - cmk id 别名 - **CmkIdStatus** (str) - 该盘cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) - **CreateTime** (int) - 创建时间 - **DataKey** (str) - 该盘的密文密钥 - **DeviceName** (str) - 挂载的设备名称 - **DiskType** (str) - 请求中的ProtocolVersion字段为1时,需结合IsBoot确定具体磁盘类型:普通数据盘:DiskType:"CLOUD_NORMAL",IsBoot:"False"; 普通系统盘:DiskType:"CLOUD_NORMAL",IsBoot:"True";SSD数据盘:DiskType:"CLOUD_SSD",IsBoot:"False";SSD系统盘:DiskType:"CLOUD_SSD",IsBoot:"True";RSSD数据盘:DiskType:"CLOUD_RSSD",IsBoot:"False";RSSD系统盘:DiskType:"CLOUD_RSSD",IsBoot:"True";高效数据盘:DiskType:"CLOUD_EFFICIENCY",IsBoot:"False";高效系统盘:DiskType:"CLOUD_EFFICIENCY",IsBoot:"True"。请求中的ProtocolVersion字段为0或没有该字段时,云硬盘类型参照如下:普通数据盘:DataDisk;普通系统盘:SystemDisk;SSD数据盘:SSDDataDisk;SSD系统盘:SSDSystemDisk;RSSD数据盘:RSSDDataDisk;RSSD系统盘:RSSDSystemDisk;高效数据盘:EfficiencyDataDisk;高效系统盘:EfficiencySystemDisk。 - **ExpiredTime** (int) - 过期时间 - **HostIP** (str) - 挂载的Host的IP - **HostId** (str) - 挂载的Host的Id - **HostName** (str) - 挂载的Host的Name - **IsBoot** (str) - 是否是系统盘,是:"True", 否:"False" - **IsExpire** (str) - 资源是否过期,过期:"Yes", 未过期:"No" - **Name** (str) - 实例名称 - **RdmaClusterId** (str) - RDMA集群id,仅RSSD返回该值;其他类型云盘返回""。当云盘的此值与快杰云主机的RdmaClusterId相同时,RSSD可以挂载到这台云主机。 - **Size** (int) - 容量单位GB - **SnapEnable** (int) - 是否支持快照,1支持 ,0不支持 - **SnapshotCount** (int) - 该盘快照个数 - **SnapshotLimit** (int) - 该盘快照上限 - **Status** (str) - 状态:Available(可用),Attaching(挂载中), InUse(已挂载), Detaching(卸载中), Initializating(分配中), Failed(创建失败),Cloning(克隆中),Restoring(恢复中),RestoreFailed(恢复失败), - **Tag** (str) - 业务组名称 - **UDataArkMode** (str) - 是否开启数据方舟,开启:"Yes", 不支持:"No" - **UDiskId** (str) - UDisk实例Id - **UHostIP** (str) - 挂载的UHost的IP。【即将废弃,建议使用HostIP】 - **UHostId** (str) - 挂载的UHost的Id。【即将废弃,建议使用HostId】 - **UHostName** (str) - 挂载的UHost的Name。【即将废弃,建议使用HostName】 - **UKmsMode** (str) - 是否是加密盘,是:"Yes", 否:"No" - **Version** (str) - 是否支持数据方舟,支持:"2.0", 不支持:"1.0" - **Zone** (str) - 可用区 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUDiskRequestSchema().dumps(d) resp = self.invoke("DescribeUDisk", d, **kwargs) return apis.DescribeUDiskResponseSchema().loads(resp)
[docs] def describe_udisk_price( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUDiskPrice - 获取UDisk实例价格信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Size** (int) - (Required) 购买UDisk大小,单位:GB,普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];普通系统盘:范围[1~8000];SSD系统盘:范围[1~4000];RSSD数据盘:范围[1~32000];RSSD系统盘:范围[1~4000];高效数据盘:范围[1~32000];高效系统盘:范围[1~500]。 - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **ChargeType** (str) - Year , Month, Dynamic,Postpay,Trial 默认: Month - **DiskType** (str) - UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),SystemDisk(普通系统盘),SSDSystemDisk(SSD系统盘),RSSDSystemDisk(RSSD系统盘),EfficiencySystemDisk(高效系统盘),默认值(DataDisk) - **IsTotalPrice** (str) - 是否将快照服务(数据方舟),云硬盘放入一张订单, 是:"Yes",否:"No",默认是"No" - **MachineType** (str) - 云主机机型(V2.0),枚举值["N", "C", "G", "O", "OM"]。参考 `云主机机型说明 <https://docs.ucloud.cn/api/uhost-api/uhost_type>`_ 。 - **Quantity** (int) - 购买UDisk的时长,默认值为1 - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** - **DataSet** (list) - 见 **UDiskPriceDataSet** 模型定义 **Response Model** **UDiskPriceDataSet** - **ChargeName** (str) - "UDataArk","SnapshotService","UDisk","Total" - **ChargeType** (str) - Year, Month, Dynamic,Trial - **ListPrice** (int) - 原价(对应计费OriginalPrice) - **OriginalPrice** (int) - 用户折后价(对应计费CustomPrice) - **Price** (int) - 实际价格 (单位: 分) """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUDiskPriceRequestSchema().dumps(d) resp = self.invoke("DescribeUDiskPrice", d, **kwargs) return apis.DescribeUDiskPriceResponseSchema().loads(resp)
[docs] def describe_udisk_snapshot( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUDiskSnapshot - 获取UDisk快照 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Limit** (int) - 返回数据长度, 默认为20 - **Offset** (int) - 数据偏移量, 默认为0 - **SnapshotId** (str) - 快照id,SnapshotId , UDiskId 同时传SnapshotId优先 - **UDiskId** (str) - UDiskId,返回该盘所做快照.(必须同时传Zone) - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ **Response** - **DataSet** (list) - 见 **UDiskSnapshotSet** 模型定义 - **TotalCount** (int) - 根据过滤条件得到的总数 **Response Model** **UDiskSnapshotSet** - **CmkId** (str) - 该快照的cmk id - **CmkIdAlias** (str) - cmk id 别名 - **CmkIdStatus** (str) - 该快照cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) - **Comment** (str) - 快照描述 - **CreateTime** (int) - 创建时间 - **DataKey** (str) - 该快照的密文密钥 - **DiskType** (int) - 磁盘类型,0:普通数据盘;1:普通系统盘;2:SSD数据盘;3:SSD系统盘;4:RSSD数据盘;5:RSSD系统盘。 - **ExpiredTime** (int) - 过期时间 - **IsUDiskAvailable** (bool) - 对应磁盘是否处于可用状态 - **Name** (str) - 快照名称 - **Size** (int) - 容量单位GB - **SnapshotId** (str) - 快照Id - **Status** (str) - 快照状态,Normal:正常,Failed:失败,Creating:制作中 - **UDiskId** (str) - 快照的源UDisk的Id - **UDiskName** (str) - 快照的源UDisk的Name - **UHostId** (str) - 对应磁盘制作快照时所挂载的主机 - **UKmsMode** (str) - 是否是加密盘快照,是:"Yes", 否:"No" - **Version** (str) - 快照版本 - **Zone** (str) - 可用区 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUDiskSnapshotRequestSchema().dumps(d) resp = self.invoke("DescribeUDiskSnapshot", d, **kwargs) return apis.DescribeUDiskSnapshotResponseSchema().loads(resp)
[docs] def describe_udisk_upgrade_price( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **Size** (int) - (Required) 购买UDisk大小,单位:GB,普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];普通系统盘:范围[1~8000];SSD系统盘:范围[1~4000];RSSD数据盘:范围[1~32000];RSSD系统盘:范围[1~4000];高效数据盘:范围[1~32000];高效系统盘:范围[1~500]。 - **SourceId** (str) - (Required) 升级目标UDisk ID - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **DiskType** (str) - 【已废弃】UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),SystemDisk(普通系统盘),SSDSystemDisk(SSD系统盘),RSSDSystemDisk(RSSD系统盘),EfficiencySystemDisk(高效系统盘),默认值(DataDisk) - **MachineType** (str) - 【已废弃】云主机机型(V2.0),枚举值["N", "C", "G", "O", "OM"]。参考 `云主机机型说明 <https://docs.ucloud.cn/api/uhost-api/uhost_type>`_ 。 - **SnapshotService** (str) - 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No。仅支持查询开启快照服务的价格。 - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** - **OriginalPrice** (int) - 用户折后价 (对应计费CustomPrice) - **Price** (int) - 价格 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUDiskUpgradePriceRequestSchema().dumps(d) resp = self.invoke("DescribeUDiskUpgradePrice", d, **kwargs) return apis.DescribeUDiskUpgradePriceResponseSchema().loads(resp)
[docs] def detach_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """DetachUDisk - 卸载某个已经挂载在指定UHost实例上的UDisk **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 需要卸载的UDisk实例ID - **HostId** (str) - Host实例ID - **UHostId** (str) - UHost实例ID。【UHostId和HostId必须选填一个,本字段即将废弃,建议使用HostId】 - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ **Response** - **HostId** (str) - 卸载的Host实例ID - **UDiskId** (str) - 卸载的UDisk实例ID - **UHostId** (str) - 卸载的UHost实例ID。【即将废弃,建议使用HostId】 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DetachUDiskRequestSchema().dumps(d) resp = self.invoke("DetachUDisk", d, **kwargs) return apis.DetachUDiskResponseSchema().loads(resp)
[docs] def recover_udisk( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """RecoverUDisk - 从回收站中恢复云硬盘 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 云硬盘资源ID - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **ChargeType** (str) - Year , Month, Dynamic 默认: Dynamic - **Quantity** (int) - 购买时长 默认: 1 **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.RecoverUDiskRequestSchema().dumps(d) resp = self.invoke("RecoverUDisk", d, **kwargs) return apis.RecoverUDiskResponseSchema().loads(resp)
[docs] def rename_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """RenameUDisk - 重命名UDisk **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 重命名的UDisk的Id - **UDiskName** (str) - (Required) 重命名UDisk的name - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.RenameUDiskRequestSchema().dumps(d) resp = self.invoke("RenameUDisk", d, **kwargs) return apis.RenameUDiskResponseSchema().loads(resp)
[docs] def resize_udisk(self, req: typing.Optional[dict] = None, **kwargs) -> dict: """ResizeUDisk - 调整UDisk容量 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Size** (int) - (Required) 调整后大小, 单位:GB,普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000]。 - **UDiskId** (str) - (Required) UDisk Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **CouponId** (str) - 使用的代金券id - **MachineType** (str) - 云主机机型(V2.0),枚举值["N", "C", "G", "O", "OM"]。参考 `云主机机型说明 <https://docs.ucloud.cn/api/uhost-api/uhost_type>`_ 。 **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.ResizeUDiskRequestSchema().dumps(d) resp = self.invoke("ResizeUDisk", d, **kwargs) return apis.ResizeUDiskResponseSchema().loads(resp)
[docs] def restore_udisk( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """RestoreUDisk - 从备份恢复数据至UDisk **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **UDiskId** (str) - (Required) 需要恢复的盘ID - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **SnapshotId** (str) - 从指定的快照恢复 - **SnapshotTime** (int) - 指定从方舟恢复的备份时间点 **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.RestoreUDiskRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("RestoreUDisk", d, **kwargs) return apis.RestoreUDiskResponseSchema().loads(resp)
[docs] def set_udisk_udataark_mode( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **UDiskId** (str) - (Required) 需要设置数据方舟的UDisk的Id - **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **CouponId** (str) - 使用的代金券id - **UDataArkMode** (str) - 【开启数据方舟入口已关闭】是否开启数据方舟。Yes:开启,No:不开启,默认值:No **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.SetUDiskUDataArkModeRequestSchema().dumps(d) resp = self.invoke("SetUDiskUDataArkMode", d, **kwargs) return apis.SetUDiskUDataArkModeResponseSchema().loads(resp)