Source code for ucloud.services.ufs.client

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

import typing


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


[docs]class UFSClient(Client): def __init__( self, config: dict, transport=None, middleware=None, logger=None ): super(UFSClient, self).__init__(config, transport, middleware, logger)
[docs] def create_ufs_volume( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CreateUFSVolume - 创建文件系统 **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>`_ - **ProtocolType** (str) - (Required) 文件系统协议,枚举值,NFSv3表示NFS V3协议,NFSv4表示NFS V4协议 - **Size** (int) - (Required) 文件系统大小,单位为GB,最大不超过20T,香港容量型必须为100的整数倍,Size最小为500GB,北京,上海,广州的容量型必须为1024的整数倍,Size最小为1024GB。性能型文件系统Size最小为100GB - **StorageType** (str) - (Required) 文件系统存储类型,枚举值,Basic表示容量型,Advanced表示性能型 - **ChargeType** (str) - 计费模式,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费(需开启权限); Trial,试用(需开启权限) 默认为Dynamic - **CouponId** (str) - 使用的代金券id - **Quantity** (int) - 购买时长 默认: 1 - **Remark** (str) - 备注 - **Tag** (str) - 文件系统所属业务组 - **VolumeName** (str) - 文件系统名称 **Response** - **VolumeId** (str) - 文件系统ID - **VolumeName** (str) - 文件系统名称 - **VolumeStatus** (str) - 文件系统挂载点状态 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateUFSVolumeRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateUFSVolume", d, **kwargs) return apis.CreateUFSVolumeResponseSchema().loads(resp)
[docs] def describe_ufs_volume_2( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUFSVolume2 - 获取文件系统列表 **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>`_ - **Limit** (int) - 文件列表长度 - **Offset** (int) - 文件列表起始 - **VolumeId** (str) - 文件系统ID **Response** - **DataSet** (list) - 见 **UFSVolumeInfo2** 模型定义 - **TotalCount** (int) - 文件系统总数 **Response Model** **UFSVolumeInfo2** - **CreateTime** (int) - 文件系统创建时间(unix时间戳) - **ExpiredTime** (int) - 文件系统过期时间(unix时间戳) - **IsExpired** (str) - 是否过期 - **MaxMountPointNum** (int) - 文件系统允许创建的最大挂载点数目 - **ProtocolType** (str) - 文件系统协议,枚举值,NFSv3表示NFS V3协议,NFSv4表示NFS V4协议 - **Remark** (str) - 文件系统备注信息 - **Size** (int) - 文件系统大小,单位GB - **StorageType** (str) - 文件系统存储类型,枚举值,Basic表示容量型,Advanced表示性能型 - **Tag** (str) - 文件系统所属业务组 - **TotalMountPointNum** (int) - 当前文件系统已创建的挂载点数目 - **UsedSize** (int) - 文件系统当前使用容量,单位GB - **VolumeId** (str) - 文件系统ID - **VolumeName** (str) - 文件系统名称 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUFSVolume2RequestSchema().dumps(d) resp = self.invoke("DescribeUFSVolume2", d, **kwargs) return apis.DescribeUFSVolume2ResponseSchema().loads(resp)
[docs] def extend_ufs_volume( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """ExtendUFSVolume - 文件系统扩容 **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,最大不超过20T,香港容量型必须为100的整数倍,Size最小为500GB,北京,上海,广州的容量型必须为1024的整数倍,Size最小为1024GB。性能型文件系统Size最小为100GB - **VolumeId** (str) - (Required) 文件系统ID **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.ExtendUFSVolumeRequestSchema().dumps(d) resp = self.invoke("ExtendUFSVolume", d, **kwargs) return apis.ExtendUFSVolumeResponseSchema().loads(resp)
[docs] def remove_ufs_volume( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """RemoveUFSVolume - 删除UFS文件系统 **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>`_ - **VolumeId** (str) - (Required) 文件系统ID **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.RemoveUFSVolumeRequestSchema().dumps(d) resp = self.invoke("RemoveUFSVolume", d, **kwargs) return apis.RemoveUFSVolumeResponseSchema().loads(resp)