# -*- coding: utf-8 -*-
""" Code is generated by ucloud-model, DO NOT EDIT IT. """
from ucloud.core.client import Client
from ucloud.services.unet.schemas import apis
[docs]class UNetClient(Client):
def __init__(self, config, transport=None, middleware=None, logger=None):
super(UNetClient, self).__init__(config, transport, middleware, logger)
[docs] def allocate_eip(self, req=None, **kwargs):
""" AllocateEIP - 根据提供信息, 申请弹性IP
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。
- **Region** (str) - (Config) 地域。
- **Bandwidth** (int) - (Required) 弹性IP的外网带宽, 单位为Mbps. 共享带宽模式必须指定0M带宽, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-200],带宽计费[1-800]
- **OperatorName** (str) - (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International
- **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按需付费(需开启权限); Trial, 试用(需开启权限) 默认为按月付费
- **CouponId** (str) - 代金券ID, 默认不使用
- **Name** (str) - 弹性IP的名称, 默认为 "EIP"
- **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. 默认为 "Bandwidth".
- **Quantity** (int) - 购买时长, 默认: 1
- **Remark** (str) - 弹性IP的备注, 默认为空
- **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效
- **Tag** (str) - 业务组名称, 默认为 "Default"
**Response**
- **EIPSet** (list) - 见 **UnetAllocateEIPSet** 模型定义
**Response Model**
**UnetEIPAddrSet**
- **IP** (str) - IP地址
- **OperatorName** (str) - 运营商信息如: 电信: Telecom, 联通: Unicom, 国际: International, Duplet: 双线IP(电信+联通), BGP: Bgp
**UnetAllocateEIPSet**
- **EIPAddr** (list) - 见 **UnetEIPAddrSet** 模型定义
- **EIPId** (str) - 申请到的EIP资源ID
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.AllocateEIPRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("AllocateEIP", d, **kwargs)
return apis.AllocateEIPResponseSchema().loads(resp)
[docs] def allocate_share_bandwidth(self, req=None, **kwargs):
""" AllocateShareBandwidth - 开通共享带宽
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **ChargeType** (str) - (Required) 付费方式:Year 按年,Month 按月,Dynamic 按时;
- **Name** (str) - (Required) 共享带宽名字
- **ShareBandwidth** (int) - (Required) 共享带宽值
- **BwType** (str) - 共享带宽类型,ipv4或者ipv6,不传默认ipv4
- **Quantity** (int) - 购买时长
- **ShareBandwidthGuarantee** (int) - 共享带宽保底值(后付费)
**Response**
- **ShareBandwidthId** (str) - 共享带宽资源Id
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.AllocateShareBandwidthRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("AllocateShareBandwidth", d, **kwargs)
return apis.AllocateShareBandwidthResponseSchema().loads(resp)
[docs] def allocate_vip(self, req=None, **kwargs):
""" AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 地域
- **SubnetId** (str) - (Required) 子网id
- **VPCId** (str) - (Required) 指定vip所属的VPC
- **BusinessId** (str) - 业务组
- **Count** (int) - 申请数量,默认: 1
- **Ip** (str) - 指定ip
- **Name** (str) - vip名,默认为VIP
- **Remark** (str) - 备注
- **Tag** (str) - 业务组名称,默认为Default
- **Zone** (str) - 可用区
**Response**
- **DataSet** (list) - 申请到的VIP地址
- **VIPSet** (list) - 见 **VIPSet** 模型定义
**Response Model**
**VIPSet**
- **VIP** (str) - 虚拟ip
- **VIPId** (str) - 虚拟ip id
- **VPCId** (str) - VPC id
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.AllocateVIPRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("AllocateVIP", d, **kwargs)
return apis.AllocateVIPResponseSchema().loads(resp)
[docs] def associate_eip_with_share_bandwidth(self, req=None, **kwargs):
""" AssociateEIPWithShareBandwidth - 将EIP加入共享带宽
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。
- **Region** (str) - (Config) 地域。
- **EIPIds** (list) - (Required) 要加入共享带宽的EIP的资源Id
- **ShareBandwidthId** (str) - (Required) 共享带宽ID
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.AssociateEIPWithShareBandwidthRequestSchema().dumps(d)
resp = self.invoke("AssociateEIPWithShareBandwidth", d, **kwargs)
return apis.AssociateEIPWithShareBandwidthResponseSchema().loads(resp)
[docs] def bind_eip(self, req=None, **kwargs):
""" BindEIP - 将尚未使用的弹性IP绑定到指定的资源
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **EIPId** (str) - (Required) 弹性IP的资源Id
- **ResourceId** (str) - (Required) 弹性IP请求绑定的资源ID
- **ResourceType** (str) - (Required) 弹性IP请求绑定的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:natgw;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni:虚拟网卡。
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.BindEIPRequestSchema().dumps(d)
resp = self.invoke("BindEIP", d, **kwargs)
return apis.BindEIPResponseSchema().loads(resp)
[docs] def create_bandwidth_package(self, req=None, **kwargs):
""" CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。
- **Region** (str) - (Config) 地域
- **Bandwidth** (int) - (Required) 带宽大小(单位Mbps), 取值范围[2,800] (最大值受地域限制)
- **EIPId** (str) - (Required) 所绑定弹性IP的资源ID
- **TimeRange** (int) - (Required) 带宽包有效时长, 取值范围为大于0的整数, 即该带宽包在EnableTime到 EnableTime+TimeRange时间段内生效
- **CouponId** (str) - 代金券ID
- **EnableTime** (int) - 生效时间, 格式为 Unix timestamp, 默认为立即开通
**Response**
- **BandwidthPackageId** (str) - 所创建带宽包的资源ID
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.CreateBandwidthPackageRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("CreateBandwidthPackage", d, **kwargs)
return apis.CreateBandwidthPackageResponseSchema().loads(resp)
[docs] def create_firewall(self, req=None, **kwargs):
""" CreateFirewall - 创建防火墙
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **Name** (str) - (Required) 防火墙名称
- **Rule** (list) - (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注
- **Remark** (str) - 防火墙描述,默认为空
- **Tag** (str) - 防火墙业务组,默认为Default
**Response**
- **FWId** (str) - 防火墙ID
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.CreateFirewallRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("CreateFirewall", d, **kwargs)
return apis.CreateFirewallResponseSchema().loads(resp)
[docs] def delete_bandwidth_package(self, req=None, **kwargs):
""" DeleteBandwidthPackage - 删除弹性IP上已附加带宽包
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **BandwidthPackageId** (str) - (Required) 带宽包资源ID
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DeleteBandwidthPackageRequestSchema().dumps(d)
resp = self.invoke("DeleteBandwidthPackage", d, **kwargs)
return apis.DeleteBandwidthPackageResponseSchema().loads(resp)
[docs] def delete_firewall(self, req=None, **kwargs):
""" DeleteFirewall - 删除防火墙
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **FWId** (str) - (Required) 防火墙资源ID
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DeleteFirewallRequestSchema().dumps(d)
resp = self.invoke("DeleteFirewall", d, **kwargs)
return apis.DeleteFirewallResponseSchema().loads(resp)
[docs] def describe_bandwidth_package(self, req=None, **kwargs):
""" DescribeBandwidthPackage - 获取某地域下的带宽包信息
**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) - 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20
- **Offset** (int) - 返回数据偏移量, 默认为0
**Response**
- **DataSets** (list) - 见 **UnetBandwidthPackageSet** 模型定义
- **TotalCount** (int) - 满足条件的带宽包总数
**Response Model**
**EIPAddrSet**
- **IP** (str) - 弹性IP地址
- **OperatorName** (str) - 运营商信息, 枚举值为: Telecom 电信; Unicom: 联通; Duplet: 双线; Bgp: BGP; International: 国际.
**UnetBandwidthPackageSet**
- **Bandwidth** (int) - 带宽包的临时带宽值, 单位Mbps
- **BandwidthPackageId** (str) - 带宽包的资源ID
- **CreateTime** (int) - 创建时间, 格式为 Unix Timestamp
- **DisableTime** (int) - 失效时间, 格式为 Unix Timestamp
- **EIPAddr** (list) - 见 **EIPAddrSet** 模型定义
- **EIPId** (str) - 带宽包所绑定弹性IP的资源ID
- **EnableTime** (int) - 生效时间, 格式为 Unix Timestamp
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeBandwidthPackageRequestSchema().dumps(d)
resp = self.invoke("DescribeBandwidthPackage", d, **kwargs)
return apis.DescribeBandwidthPackageResponseSchema().loads(resp)
[docs] def describe_bandwidth_usage(self, req=None, **kwargs):
""" DescribeBandwidthUsage - 获取带宽用量信息
**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>`_
- **EIPIds** (list) - 弹性IP的资源Id. 如果为空, 则返回当前 Region中符合条件的所有EIP的带宽用量, n为自然数
- **Limit** (int) - 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20
- **OffSet** (int) - 返回数据偏移量, 默认为0
**Response**
- **EIPSet** (list) - 见 **UnetBandwidthUsageEIPSet** 模型定义
- **TotalCount** (int) - EIPSet中的元素个数
**Response Model**
**UnetBandwidthUsageEIPSet**
- **CurBandwidth** (float) - 最近5分钟带宽用量, 单位Mbps
- **EIPId** (str) - 弹性IP资源ID
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeBandwidthUsageRequestSchema().dumps(d)
resp = self.invoke("DescribeBandwidthUsage", d, **kwargs)
return apis.DescribeBandwidthUsageResponseSchema().loads(resp)
[docs] def describe_eip(self, req=None, **kwargs):
""" DescribeEIP - 获取弹性IP信息
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **EIPIds** (list) - 弹性IP的资源ID如果为空, 则返回当前 Region中符合条件的的所有EIP
- **Limit** (int) - 数据分页值, 默认为20
- **Offset** (int) - 数据偏移量, 默认为0
**Response**
- **EIPSet** (list) - 见 **UnetEIPSet** 模型定义
- **TotalBandwidth** (int) - 满足条件的弹性IP带宽总和, 单位Mbps
- **TotalCount** (int) - 满足条件的弹性IP总数
**Response Model**
**ShareBandwidthSet**
- **ShareBandwidth** (int) - 共享带宽带宽值
- **ShareBandwidthId** (str) - 共享带宽ID
- **ShareBandwidthName** (str) - 共享带宽的资源名称
**UnetEIPAddrSet**
- **IP** (str) - IP地址
- **OperatorName** (str) - 运营商信息如: 电信: Telecom, 联通: Unicom, 国际: International, Duplet: 双线IP(电信+联通), BGP: Bgp
**UnetEIPResourceSet**
- **EIPId** (str) - 弹性IP的资源ID
- **ResourceId** (str) - 已绑定资源的资源ID
- **ResourceName** (str) - 已绑定的资源名称
- **ResourceType** (str) - 已绑定的资源类型, 枚举值为: uhost, 云主机;natgw:NAT网关;ulb:负载均衡器;upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;vpngw:IPSec VPN;ucdr:云灾备;dbaudit:数据库审计,uni:虚拟网卡。
- **SubResourceId** (str) - 资源绑定的虚拟网卡的ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的名称
- **SubResourceType** (str) - 资源绑定的虚拟网卡的类型。uni,虚拟网卡。
**UnetEIPSet**
- **Bandwidth** (int) - 弹性IP的带宽, 单位为Mbps, 当BandwidthType=1时, 该处显示为共享带宽值. 当BandwidthType=0时, 该处显示这个弹性IP的带宽.
- **BandwidthType** (int) - 带宽模式, 枚举值为: 0: 非共享带宽模式, 1: 共享带宽模式
- **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按小时付费; Trial, 试用. 按小时付费和试用这两种付费模式需要开通权限.
- **CreateTime** (int) - 弹性IP的创建时间, 格式为Unix Timestamp
- **EIPAddr** (list) - 见 **UnetEIPAddrSet** 模型定义
- **EIPId** (str) - 弹性IP的资源ID
- **Expire** (bool) - 弹性IP是否到期
- **ExpireTime** (int) - 弹性IP的到期时间, 格式为Unix Timestamp
- **Name** (str) - 弹性IP的名称,缺省值为 "EIP"
- **PayMode** (str) - 弹性IP的计费模式, 枚举值为: "Bandwidth", 带宽计费; "Traffic", 流量计费; "ShareBandwidth",共享带宽模式. 默认为 "Bandwidth".
- **Remark** (str) - 弹性IP的备注, 缺省值为 ""
- **Resource** (dict) - 见 **UnetEIPResourceSet** 模型定义
- **ShareBandwidthSet** (dict) - 见 **ShareBandwidthSet** 模型定义
- **Status** (str) - 弹性IP的资源绑定状态, 枚举值为: used: 已绑定, free: 未绑定, freeze: 已冻结
- **Tag** (str) - 弹性IP的业务组标识, 缺省值为 "Default"
- **Weight** (int) - 外网出口权重, 默认为50, 范围[0-100]
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeEIPRequestSchema().dumps(d)
resp = self.invoke("DescribeEIP", d, **kwargs)
return apis.DescribeEIPResponseSchema().loads(resp)
[docs] def describe_firewall(self, req=None, **kwargs):
""" DescribeFirewall - 获取防火墙组信息
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **FWId** (str) - 防火墙ID,默认为返回所有防火墙
- **Limit** (int) - 返回数据长度,默认为20,最大10000000
- **Offset** (int) - 列表起始位置偏移量,默认为0
- **ResourceId** (str) - 绑定防火墙组的资源ID
- **ResourceType** (str) - 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计.
**Response**
- **DataSet** (list) - 见 **FirewallDataSet** 模型定义
- **TotalCount** (int) -
**Response Model**
**FirewallRuleSet**
- **DstPort** (str) - 目标端口
- **Priority** (str) - 优先级
- **ProtocolType** (str) - 协议类型
- **Remark** (str) - 防火墙规则备注
- **RuleAction** (str) - 防火墙动作
- **SrcIP** (str) - 源地址
**FirewallDataSet**
- **CreateTime** (int) - 防火墙组创建时间,格式为Unix Timestamp
- **FWId** (str) - 防火墙ID
- **GroupId** (str) - 安全组ID(即将废弃)
- **Name** (str) - 防火墙名称
- **Remark** (str) - 防火墙备注
- **ResourceCount** (int) - 防火墙绑定资源数量
- **Rule** (list) - 见 **FirewallRuleSet** 模型定义
- **Tag** (str) - 防火墙业务组
- **Type** (str) - 防火墙组类型,枚举值为: "user defined", 用户自定义防火墙; "recommend web", 默认Web防火墙; "recommend non web", 默认非Web防火墙
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeFirewallRequestSchema().dumps(d)
resp = self.invoke("DescribeFirewall", d, **kwargs)
return apis.DescribeFirewallResponseSchema().loads(resp)
[docs] def describe_firewall_resource(self, req=None, **kwargs):
""" DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP
**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>`_
- **FWId** (str) - (Required) 防火墙ID
- **Limit** (int) - 返回数据长度,默认为20,最大10000000
- **Offset** (int) - 列表起始位置偏移量,默认为0
**Response**
- **ResourceSet** (list) - 见 **ResourceSet** 模型定义
- **TotalCount** (int) - 绑定资源总数
**Response Model**
**ResourceSet**
- **Name** (str) - 名称
- **PrivateIP** (str) - 内网IP
- **Remark** (str) - 备注
- **ResourceID** (str) - 绑定该防火墙的资源id
- **ResourceType** (str) - 绑定资源的资源类型,如"uhost","upm","umem","uhive","uvip","uredis","uhadoop","ufortress","dbaudit","udw","udocker", "umemcache"
- **Status** (int) - 状态
- **Tag** (str) - 业务组
- **Zone** (int) - 可用区
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeFirewallResourceRequestSchema().dumps(d)
resp = self.invoke("DescribeFirewallResource", d, **kwargs)
return apis.DescribeFirewallResourceResponseSchema().loads(resp)
[docs] def describe_share_bandwidth(self, req=None, **kwargs):
""" DescribeShareBandwidth - 获取共享带宽信息
**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>`_
- **ShareBandwidthIds** (list) - 需要返回的共享带宽Id
**Response**
- **DataSet** (list) - 见 **UnetShareBandwidthSet** 模型定义
- **TotalCount** (int) - 符合条件的共享带宽总数,大于等于返回DataSet长度
**Response Model**
**EIPAddrSet**
- **IP** (str) - 弹性IP地址
- **OperatorName** (str) - 运营商信息, 枚举值为: Telecom 电信; Unicom: 联通; Duplet: 双线; Bgp: BGP; International: 国际.
**EIPSetData**
- **Bandwidth** (int) - EIP带宽值
- **EIPAddr** (list) - 见 **EIPAddrSet** 模型定义
- **EIPId** (str) - EIP资源Id
**UnetShareBandwidthSet**
- **BandwidthGuarantee** (int) - 共享带宽保底值(后付费)
- **ChargeType** (str) - 付费方式, 预付费:Year 按年,Month 按月,Dynamic 按需;后付费:PostPay(按月)
- **CreateTime** (int) - 创建时间, 格式为Unix Timestamp
- **EIPSet** (list) - 见 **EIPSetData** 模型定义
- **ExpireTime** (int) - 过期时间, 格式为Unix Timestamp
- **Name** (str) - 共享带宽名称
- **PostPayStartTime** (int) - 共享带宽后付费开始计费时间(后付费)
- **ShareBandwidth** (int) - 共享带宽值(预付费)/共享带宽峰值(后付费), 单位Mbps
- **ShareBandwidthId** (str) - 共享带宽的资源ID
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeShareBandwidthRequestSchema().dumps(d)
resp = self.invoke("DescribeShareBandwidth", d, **kwargs)
return apis.DescribeShareBandwidthResponseSchema().loads(resp)
[docs] def describe_vip(self, req=None, **kwargs):
""" DescribeVIP - 获取内网VIP详细信息
**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>`_
- **BusinessId** (str) - 业务组
- **SubnetId** (str) - 子网id,不指定则获取VPCId下的所有vip
- **Tag** (str) - 业务组名称, 默认为 Default
- **VPCId** (str) - vpc的id,指定SubnetId时必填
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
**Response**
- **DataSet** (list) - 内网VIP地址列表
- **TotalCount** (int) - vip数量
- **VIPSet** (list) - 见 **VIPDetailSet** 模型定义
**Response Model**
**VIPDetailSet**
- **CreateTime** (int) - 创建时间
- **Name** (str) -
- **RealIp** (str) - 真实主机ip
- **SubnetId** (str) - 子网id
- **VIP** (str) - 虚拟ip
- **VIPId** (str) - 虚拟ip id
- **VPCId** (str) - VPC id
- **Zone** (str) - 地域
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DescribeVIPRequestSchema().dumps(d)
resp = self.invoke("DescribeVIP", d, **kwargs)
return apis.DescribeVIPResponseSchema().loads(resp)
[docs] def disassociate_eip_with_share_bandwidth(self, req=None, **kwargs):
""" DisassociateEIPWithShareBandwidth - 将EIP移出共享带宽
**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) 移出共享带宽后,EIP的外网带宽, 单位为Mbps. 各地域带宽范围如下: 流量计费[1-200],带宽计费[1-800]
- **ShareBandwidthId** (str) - (Required) 共享带宽ID
- **EIPIds** (list) - EIP的资源Id;默认移出该共享带宽下所有的EIP
- **PayMode** (str) - 移出共享带宽后,EIP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; 默认为 "Bandwidth".
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.DisassociateEIPWithShareBandwidthRequestSchema().dumps(d)
resp = self.invoke("DisassociateEIPWithShareBandwidth", d, **kwargs)
return apis.DisassociateEIPWithShareBandwidthResponseSchema().loads(
resp
)
[docs] def get_eip_pay_mode(self, req=None, **kwargs):
""" GetEIPPayMode - 获取弹性IP计费模式
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **EIPId** (list) - (Required) 弹性IP的资源Id
**Response**
- **EIPPayMode** (list) - 见 **EIPPayModeSet** 模型定义
**Response Model**
**EIPPayModeSet**
- **EIPId** (str) - EIP的资源ID
- **EIPPayMode** (str) - EIP的计费模式. 枚举值为:Bandwidth, 带宽计费;Traffic, 流量计费; "ShareBandwidth",共享带宽模式
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.GetEIPPayModeRequestSchema().dumps(d)
resp = self.invoke("GetEIPPayMode", d, **kwargs)
return apis.GetEIPPayModeResponseSchema().loads(resp)
[docs] def get_eip_price(self, req=None, **kwargs):
""" GetEIPPrice - 获取弹性IP价格
**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) 弹性IP的外网带宽, 单位为Mbps, 范围 [0-800]
- **OperatorName** (str) - (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International,泉州为移动单线cn-qz:ChinaMobile
- **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按时付费; 默认为获取三种价格
- **PayMode** (str) - 弹性IP计费方式r. 枚举值为: Traffic, 流量计费; Bandwidth, 带宽计费; "ShareBandwidth",共享带宽模式. 默认为Bandwidth
- **Quantity** (int) - 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末
**Response**
- **PriceSet** (list) - 见 **EIPPriceDetailSet** 模型定义
**Response Model**
**EIPPriceDetailSet**
- **ChargeType** (str) - 弹性IP付费方式
- **Price** (float) - 弹性IP价格, 单位"元"
- **PurchaseValue** (int) - 资源有效期, 以Unix Timestamp表示
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.GetEIPPriceRequestSchema().dumps(d)
resp = self.invoke("GetEIPPrice", d, **kwargs)
return apis.GetEIPPriceResponseSchema().loads(resp)
[docs] def get_eip_upgrade_price(self, req=None, **kwargs):
""" GetEIPUpgradePrice - 获取弹性IP带宽改动价格
**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) 弹性IP的外网带宽, 单位为Mbps, 范围 [1-800]
- **EIPId** (str) - (Required) 弹性IP的资源ID
**Response**
- **Price** (float) - 调整带宽后的EIP价格, 单位为"元", 如需退费此处为负值
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.GetEIPUpgradePriceRequestSchema().dumps(d)
resp = self.invoke("GetEIPUpgradePrice", d, **kwargs)
return apis.GetEIPUpgradePriceResponseSchema().loads(resp)
[docs] def grant_firewall(self, req=None, **kwargs):
""" GrantFirewall - 将防火墙应用到资源上
**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>`_
- **FWId** (str) - (Required) 防火墙资源ID
- **ResourceId** (str) - (Required) 所应用资源ID
- **ResourceType** (str) - (Required) 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计,”uni“,虚拟网卡。
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.GrantFirewallRequestSchema().dumps(d)
resp = self.invoke("GrantFirewall", d, **kwargs)
return apis.GrantFirewallResponseSchema().loads(resp)
[docs] def modify_eip_bandwidth(self, req=None, **kwargs):
""" ModifyEIPBandwidth - 调整弹性IP的外网带宽
**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) 弹性IP的外网带宽, 单位为Mbps. 各地域的带宽值范围如下:流量计费[1-200],带宽计费[1-800]
- **EIPId** (str) - (Required) 弹性IP的资源ID
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ModifyEIPBandwidthRequestSchema().dumps(d)
resp = self.invoke("ModifyEIPBandwidth", d, **kwargs)
return apis.ModifyEIPBandwidthResponseSchema().loads(resp)
[docs] def modify_eip_weight(self, req=None, **kwargs):
""" ModifyEIPWeight - 修改弹性IP的外网出口权重
**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>`_
- **EIPId** (str) - (Required) 弹性IP的资源ID
- **Weight** (int) - (Required) 外网出口权重, 范围[0-100] 取值为0时, 该弹性IP不会被使用. 取值为100时, 同主机下只会使用这个弹性IP,其他弹性IP不会被使用 请勿将多个绑定在同一资源的弹性IP设置为相同权重
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ModifyEIPWeightRequestSchema().dumps(d)
resp = self.invoke("ModifyEIPWeight", d, **kwargs)
return apis.ModifyEIPWeightResponseSchema().loads(resp)
[docs] def release_eip(self, req=None, **kwargs):
""" ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态.
**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>`_
- **EIPId** (str) - (Required) 弹性IP的资源ID
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ReleaseEIPRequestSchema().dumps(d)
resp = self.invoke("ReleaseEIP", d, **kwargs)
return apis.ReleaseEIPResponseSchema().loads(resp)
[docs] def release_share_bandwidth(self, req=None, **kwargs):
""" ReleaseShareBandwidth - 关闭共享带宽
**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>`_
- **EIPBandwidth** (int) - (Required) 关闭共享带宽后,各EIP恢复为的带宽值
- **ShareBandwidthId** (str) - (Required) 共享带宽ID
- **PayMode** (str) - Bandwidth 带宽计费, Traffic 转流量计费
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ReleaseShareBandwidthRequestSchema().dumps(d)
resp = self.invoke("ReleaseShareBandwidth", d, **kwargs)
return apis.ReleaseShareBandwidthResponseSchema().loads(resp)
[docs] def release_vip(self, req=None, **kwargs):
""" ReleaseVIP - 释放VIP资源
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **VIPId** (str) - (Required) 内网VIP的id
- **Zone** (str) - 可用区
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ReleaseVIPRequestSchema().dumps(d)
resp = self.invoke("ReleaseVIP", d, **kwargs)
return apis.ReleaseVIPResponseSchema().loads(resp)
[docs] def resize_share_bandwidth(self, req=None, **kwargs):
""" ResizeShareBandwidth - 调整共享带宽的带宽值
**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>`_
- **ShareBandwidth** (int) - (Required) 带宽值,单位为Mb,范围 [20-5000] (最大值受地域限制)
- **ShareBandwidthId** (str) - (Required) 共享带宽的Id
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.ResizeShareBandwidthRequestSchema().dumps(d)
resp = self.invoke("ResizeShareBandwidth", d, **kwargs)
return apis.ResizeShareBandwidthResponseSchema().loads(resp)
[docs] def set_eip_pay_mode(self, req=None, **kwargs):
""" SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费.
**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) 调整的目标带宽值, 单位Mbps. 各地域的带宽值范围如下: 流量计费[1-200],其余情况[1-800]
- **EIPId** (str) - (Required) 弹性IP的资源Id
- **PayMode** (str) - (Required) 计费模式. 枚举值:"Traffic", 流量计费模式; "Bandwidth", 带宽计费模式
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.SetEIPPayModeRequestSchema().dumps(d)
resp = self.invoke("SetEIPPayMode", d, **kwargs)
return apis.SetEIPPayModeResponseSchema().loads(resp)
[docs] def un_bind_eip(self, req=None, **kwargs):
""" UnBindEIP - 将弹性IP从资源上解绑
**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>`_
- **EIPId** (str) - (Required) 弹性IP的资源Id
- **ResourceId** (str) - (Required) 弹性IP请求解绑的资源ID
- **ResourceType** (str) - (Required) 弹性IP请求解绑的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:NAT网关;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni,虚拟网卡。
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.UnBindEIPRequestSchema().dumps(d)
resp = self.invoke("UnBindEIP", d, **kwargs)
return apis.UnBindEIPResponseSchema().loads(resp)
[docs] def update_eip_attribute(self, req=None, **kwargs):
""" UpdateEIPAttribute - 更新弹性IP名称,业务组,备注等属性字段
**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>`_
- **EIPId** (str) - (Required) EIP资源ID
- **Name** (str) - 名字(Name Tag Remark都为空则报错)
- **Remark** (str) - 备注
- **Tag** (str) - 业务
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.UpdateEIPAttributeRequestSchema().dumps(d)
resp = self.invoke("UpdateEIPAttribute", d, **kwargs)
return apis.UpdateEIPAttributeResponseSchema().loads(resp)
[docs] def update_firewall(self, req=None, **kwargs):
""" UpdateFirewall - 更新防火墙规则
**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>`_
- **FWId** (str) - (Required) 防火墙资源ID
- **Rule** (list) - (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注
**Response**
- **FWId** (str) - 防火墙id
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.UpdateFirewallRequestSchema().dumps(d)
resp = self.invoke("UpdateFirewall", d, **kwargs)
return apis.UpdateFirewallResponseSchema().loads(resp)
[docs] def update_firewall_attribute(self, req=None, **kwargs):
""" UpdateFirewallAttribute - 更新防火墙规则
**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>`_
- **FWId** (str) - (Required) 防火墙资源ID
- **Name** (str) - 防火墙名称,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上
- **Remark** (str) - 防火墙备注,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上
- **Tag** (str) - 防火墙业务组,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上
**Response**
"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.UpdateFirewallAttributeRequestSchema().dumps(d)
resp = self.invoke("UpdateFirewallAttribute", d, **kwargs)
return apis.UpdateFirewallAttributeResponseSchema().loads(resp)
_deprecated = {
"allocate_e_ip": "allocate_eip",
"associate_e_ip_with_share_bandwidth": "associate_eip_with_share_bandwidth",
"bind_e_ip": "bind_eip",
"describe_e_ip": "describe_eip",
"disassociate_e_ip_with_share_bandwidth": "disassociate_eip_with_share_bandwidth",
"get_e_ip_pay_mode": "get_eip_pay_mode",
"get_e_ip_price": "get_eip_price",
"get_e_ip_upgrade_price": "get_eip_upgrade_price",
"modify_e_ip_bandwidth": "modify_eip_bandwidth",
"modify_e_ip_weight": "modify_eip_weight",
"release_e_ip": "release_eip",
"set_e_ip_pay_mode": "set_eip_pay_mode",
"un_bind_e_ip": "un_bind_eip",
"update_e_ip_attribute": "update_eip_attribute",
"release_v_ip": "release_vip",
"allocate_v_ip": "allocate_vip",
"describe_v_ip": "describe_vip",
}
def __getattr__(self, item):
if item in self._deprecated:
instead_of = self._deprecated[item]
msg = "the method {} is deprecated, please use {} instead, this method will remove after 0.5.0 version"
self.logger.warning(msg.format(item, instead_of))
return getattr(self, self._deprecated[item])
raise AttributeError(
"'{}' object has no attribute '{}'".format(
self.__class__.__name__, item
)
)