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)