""" Code is generated by ucloud-model, DO NOT EDIT IT. """
import typing
from ucloud.core.client import Client
from ucloud.services.udpn.schemas import apis
[docs]class UDPNClient(Client):
def __init__(
self, config: dict, transport=None, middleware=None, logger=None
):
super(UDPNClient, self).__init__(config, transport, middleware, logger)
[docs] def allocate_udpn(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AllocateUDPN - 分配一条 UDPN 专线
**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>`_
- **Bandwidth** (int) - (Required) 带宽
- **Peer1** (str) - (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-ca, 华盛顿:us-ws, 东京:jpn-tky
- **Peer2** (str) - (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-ca, 华盛顿:us-ws, 东京:jpn-tky
- **ChargeType** (str) - 计费类型,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费
- **CouponId** (str) - 代金劵
- **PayMode** (str) - 计费模式. 枚举值:"Traffic", 流量计费模式; 否则 带宽计费模式;
- **Quantity** (int) - 计费时长,默认 1
**Response**
- **Action** (str) - 操作名称
- **RetCode** (int) - 返回码
- **UDPNId** (str) - 资源名称
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AllocateUDPNRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AllocateUDPN", d, **kwargs)
return apis.AllocateUDPNResponseSchema().loads(resp)
[docs] def describe_udpn(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeUDPN - 描述 UDPN
**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
- **UDPNId** (str) - 申请到的 UDPN 资源 ID。若为空,则查询该用户在机房所有的专线信息。非默认项目资源,需填写ProjectId
**Response**
- **DataSet** (list) - 见 **UDPNData** 模型定义
- **TotalCount** (int) - 查询到的总数量
**Response Model**
**UDPNData**
- **Bandwidth** (int) - 带宽
- **ChargeType** (str) - 计费类型
- **CreateTime** (int) - unix 时间戳 创建时间
- **ExpireTime** (int) - unix 时间戳 到期时间
- **Peer1** (str) - 可用区域 1
- **Peer2** (str) - 可用区域 2
- **UDPNId** (str) - UDPN 资源短 ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeUDPNRequestSchema().dumps(d)
resp = self.invoke("DescribeUDPN", d, **kwargs)
return apis.DescribeUDPNResponseSchema().loads(resp)
[docs] def get_udpn_line_list(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetUDPNLineList - 获取当前支持的专线线路列表
**Request**
- **ProjectId** (str) - (Config)
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
**Response**
- **DataSet** (list) - 见 **UDPNLineSet** 模型定义
- **TotalCount** (int) - DataSet中的元素个数
**Response Model**
**UDPNLineSet**
- **BandwidthUpperLimit** (int) - 线路带宽上限,单位 M
- **LocalRegion** (str) - 支持UDPN的地域之一,北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 华盛顿:us-ws, 洛杉矶:us-la, 东京:jpn-tky
- **RemoteRegion** (str) - 支持UDPN的地域之一,北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 华盛顿:us-ws, 洛杉矶:us-la, 东京:jpn-tky
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetUDPNLineListRequestSchema().dumps(d)
resp = self.invoke("GetUDPNLineList", d, **kwargs)
return apis.GetUDPNLineListResponseSchema().loads(resp)
[docs] def get_udpn_price(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetUDPNPrice - 获取 UDPN 价格
**Request**
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **Bandwidth** (int) - (Required) 带宽信息
- **Peer1** (str) - (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky
- **Peer2** (str) - (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky
- **ChargeType** (str) - 计费类型
- **PayMode** (str) - PayMode,枚举值,Bandwidth:带宽;Traffic:流量 默认不填写:带宽
- **Quantity** (int) - 购买时长
**Response**
- **Price** (float) - 专线价格
- **PurchaseValue** (int) - 资源有效期 unix 时间戳
"""
# build request
d = {
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetUDPNPriceRequestSchema().dumps(d)
resp = self.invoke("GetUDPNPrice", d, **kwargs)
return apis.GetUDPNPriceResponseSchema().loads(resp)
[docs] def get_udpn_upgrade_price(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetUDPNUpgradePrice - 获取专线升级价格
**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>`_
- **Bandwidth** (int) - (Required) 带宽
- **UDPNId** (str) - (Required) 专线带宽资源 Id
**Response**
- **Price** (float) - 升级后的价格
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetUDPNUpgradePriceRequestSchema().dumps(d)
resp = self.invoke("GetUDPNUpgradePrice", d, **kwargs)
return apis.GetUDPNUpgradePriceResponseSchema().loads(resp)
[docs] def modify_udpn_bandwidth(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""ModifyUDPNBandwidth - 修改带宽值
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config)
- **Bandwidth** (int) - (Required) 调整后专线带宽, 单位为Mbps,取值范围为大于等于2且小于等于1000([2-1000])的整数
- **UDPNId** (str) - (Required) UDPN Id
- **CouponId** (str) - 代金劵 ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.ModifyUDPNBandwidthRequestSchema().dumps(d)
resp = self.invoke("ModifyUDPNBandwidth", d, **kwargs)
return apis.ModifyUDPNBandwidthResponseSchema().loads(resp)
[docs] def release_udpn(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""ReleaseUDPN - 释放 UDPN
**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>`_
- **UDPNId** (str) - (Required) UDPN 资源 Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.ReleaseUDPNRequestSchema().dumps(d)
resp = self.invoke("ReleaseUDPN", d, **kwargs)
return apis.ReleaseUDPNResponseSchema().loads(resp)