""" Code is generated by ucloud-model, DO NOT EDIT IT. """
import typing
from ucloud.core.client import Client
from ucloud.services.vpc.schemas import apis
[docs]class VPCClient(Client):
def __init__(
self, config: dict, transport=None, middleware=None, logger=None
):
super(VPCClient, self).__init__(config, transport, middleware, logger)
[docs] def add_snat_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AddSnatRule - 对于绑定了多个EIP的NAT网关,您可以将一个子网下的某台云主机映射到某个特定的EIP上,规则生效后,则该云主机通过该特定的EIP访问互联网。
**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>`_
- **NATGWId** (str) - (Required) NAT网关的ID
- **SnatIp** (str) - (Required) EIP的ip地址,例如106.75.xx.xx
- **SourceIp** (str) - (Required) 需要出外网的私网IP地址,例如10.9.7.xx
- **Name** (str) - snat规则名称,默认为“出口规则”
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AddSnatRuleRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AddSnatRule", d, **kwargs)
return apis.AddSnatRuleResponseSchema().loads(resp)
[docs] def add_vpc_network(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AddVPCNetwork - 添加VPC网段
**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>`_
- **Network** (list) - (Required) 增加网段
- **VPCId** (str) - (Required) 源VPC短ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AddVPCNetworkRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AddVPCNetwork", d, **kwargs)
return apis.AddVPCNetworkResponseSchema().loads(resp)
[docs] def add_white_list_resource(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AddWhiteListResource - 添加NAT网关白名单
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **ResourceIds** (list) - (Required) 可添加白名单的资源Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AddWhiteListResourceRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AddWhiteListResource", d, **kwargs)
return apis.AddWhiteListResourceResponseSchema().loads(resp)
[docs] def allocate_secondary_ip(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AllocateSecondaryIp - 分配ip(用于uk8s使用)
**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>`_
- **Mac** (str) - (Required) 节点mac
- **ObjectId** (str) - (Required) 资源Id
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **Ip** (str) - 指定Ip分配
- **SubnetId** (str) - 子网Id(若未指定,则根据zone获取默认子网进行创建)
- **VPCId** (str) - vpcId
**Response**
- **IpInfo** (dict) - 见 **IpInfo** 模型定义
**Response Model**
**IpInfo**
- **Gateway** (str) -
- **Ip** (str) -
- **Mac** (str) -
- **Mask** (str) -
- **SubnetId** (str) -
- **VPCId** (str) -
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AllocateSecondaryIpRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AllocateSecondaryIp", d, **kwargs)
return apis.AllocateSecondaryIpResponseSchema().loads(resp)
[docs] def allocate_vip(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""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
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AllocateVIPRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("AllocateVIP", d, **kwargs)
return apis.AllocateVIPResponseSchema().loads(resp)
[docs] def associate_route_table(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""AssociateRouteTable - 绑定子网的路由表
**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>`_
- **RouteTableId** (str) - (Required) 路由表资源ID
- **SubnetId** (str) - (Required) 子网ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.AssociateRouteTableRequestSchema().dumps(d)
resp = self.invoke("AssociateRouteTable", d, **kwargs)
return apis.AssociateRouteTableResponseSchema().loads(resp)
[docs] def clone_route_table(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CloneRouteTable - 将现有的路由表复制为一张新的路由表
**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>`_
- **RouteTableId** (str) - (Required) 被克隆的路由表ID
**Response**
- **RouteTableId** (str) - 复制后新的路由表资源ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CloneRouteTableRequestSchema().dumps(d)
resp = self.invoke("CloneRouteTable", d, **kwargs)
return apis.CloneRouteTableResponseSchema().loads(resp)
[docs] def create_natgw(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""CreateNATGW - 创建NAT网关
**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) - (Required) NAT网关绑定的EIPId
- **FirewallId** (str) - (Required) NAT网关绑定的防火墙Id
- **NATGWName** (str) - (Required) NAT网关名称
- **SubnetworkIds** (list) - (Required) NAT网关绑定的子网Id
- **IfOpen** (int) - 白名单开关标记。0表示关闭,1表示开启。默认为0
- **Remark** (str) - 备注。默认为空
- **Tag** (str) - 业务组。默认为空
- **VPCId** (str) - NAT网关所属的VPC Id。默认为Default VPC Id
**Response**
- **NATGWId** (str) - 申请到的NATGateWay Id
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateNATGWRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateNATGW", d, **kwargs)
return apis.CreateNATGWResponseSchema().loads(resp)
[docs] def create_natgw_policy(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateNATGWPolicy - 添加NAT网关端口转发规则
**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>`_
- **DstIP** (str) - (Required) 目标IP。填写对应的目标IP地址
- **DstPort** (str) - (Required) 目标端口。可填写固定端口,也可填写端口范围。支持的端口范围为1-65535
- **NATGWId** (str) - (Required) NAT网关Id
- **Protocol** (str) - (Required) 协议类型。枚举值为:TCP、UDP
- **SrcEIPId** (str) - (Required) 源IP。填写对应的EIP Id
- **SrcPort** (str) - (Required) 源端口。可填写固定端口,也可填写端口范围。支持的端口范围为1-65535
- **PolicyName** (str) - 转发策略名称。默认为空
**Response**
- **PolicyId** (str) - 创建时分配的策略Id
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateNATGWPolicyRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateNATGWPolicy", d, **kwargs)
return apis.CreateNATGWPolicyResponseSchema().loads(resp)
[docs] def create_network_acl(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateNetworkAcl - 创建网络ACL
**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>`_
- **AclName** (str) - (Required) ACL的名称
- **VpcId** (str) - (Required) 将要创建的ACL所属VPC的ID
- **Description** (str) - ACL的描述
**Response**
- **AclId** (str) - 创建的ACL的ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateNetworkAclRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateNetworkAcl", d, **kwargs)
return apis.CreateNetworkAclResponseSchema().loads(resp)
[docs] def create_network_acl_association(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateNetworkAclAssociation - 创建ACL的绑定关系
**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>`_
- **AclId** (str) - (Required) ACL的ID
- **SubnetworkId** (str) - (Required) 需要绑定的子网ID
**Response**
- **AssociationId** (str) - 创建的绑定关系的ID
- **PrevAssociation** (dict) - 见 **AssociationInfo** 模型定义
**Response Model**
**AssociationInfo**
- **AclId** (str) - ACL的ID
- **AssociationId** (str) - 绑定ID
- **CreateTime** (int) - 创建的Unix时间戳
- **SubnetworkId** (str) - 绑定的子网ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateNetworkAclAssociationRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateNetworkAclAssociation", d, **kwargs)
return apis.CreateNetworkAclAssociationResponseSchema().loads(resp)
[docs] def create_network_acl_entry(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateNetworkAclEntry - 创建ACL的规则
**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>`_
- **AclId** (str) - (Required) ACL的ID
- **CidrBlock** (str) - (Required) IPv4段的CIDR表示
- **Direction** (str) - (Required) 出向或者入向(“Ingress”, "Egress")
- **EntryAction** (str) - (Required) 规则的行为("Accept", "Reject")
- **IpProtocol** (str) - (Required) 协议规则描述
- **PortRange** (str) - (Required) 针对的端口范围
- **Priority** (int) - (Required) Entry的优先级,对于同样的Direction来说,不能重复
- **Description** (str) - 描述。长度限制为不超过32字节。
- **TargetResourceIds** (list) - 应用目标资源列表。默认为全部资源生效。TargetType为0时不用填写该值。
- **TargetType** (int) - 应用目标类型。0代表“子网内全部资源”,1代表“子网内指定资源”,默认为0
**Response**
- **EntryId** (str) - 创建的Entry的ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateNetworkAclEntryRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateNetworkAclEntry", d, **kwargs)
return apis.CreateNetworkAclEntryResponseSchema().loads(resp)
[docs] def create_route_table(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateRouteTable - 创建路由表
**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>`_
- **VPCId** (str) - (Required) 所属的VPC资源ID
- **Name** (str) - 路由表名称。默认为RouteTable
- **Remark** (str) - 备注
- **Tag** (str) - 路由表所属业务组
**Response**
- **RouteTableId** (str) - 路由表ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateRouteTableRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateRouteTable", d, **kwargs)
return apis.CreateRouteTableResponseSchema().loads(resp)
[docs] def create_subnet(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateSubnet - 创建子网
**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>`_
- **Subnet** (str) - (Required) 子网网络地址,例如192.168.0.0
- **VPCId** (str) - (Required) VPC资源ID
- **Netmask** (int) - 子网网络号位数,默认为24
- **Remark** (str) - 备注
- **SubnetName** (str) - 子网名称,默认为Subnet
- **Tag** (str) - 业务组名称,默认为Default
**Response**
- **SubnetId** (str) - 子网ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateSubnetRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateSubnet", d, **kwargs)
return apis.CreateSubnetResponseSchema().loads(resp)
[docs] def create_vpc(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""CreateVPC - 创建VPC
**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) VPC名称
- **Network** (list) - (Required) VPC网段
- **Remark** (str) - 备注
- **Tag** (str) - 业务组名称
**Response**
- **VPCId** (str) - VPC资源Id
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateVPCRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateVPC", d, **kwargs)
return apis.CreateVPCResponseSchema().loads(resp)
[docs] def create_vpc_intercom(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""CreateVPCIntercom - 新建VPC互通关系
**Request**
- **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **DstVPCId** (str) - (Required) 目的VPC短ID
- **VPCId** (str) - (Required) 源VPC短ID
- **DstProjectId** (str) - 目的VPC项目ID。默认与源VPC同项目。
- **DstRegion** (str) - 目的VPC所在地域,默认与源VPC同地域。
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.CreateVPCIntercomRequestSchema().dumps(d)
# build options
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
resp = self.invoke("CreateVPCIntercom", d, **kwargs)
return apis.CreateVPCIntercomResponseSchema().loads(resp)
[docs] def delete_natgw(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""DeleteNATGW - 删除NAT网关
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **ReleaseEip** (bool) - 是否释放绑定的EIP。true:解绑并释放;false:只解绑不释放。默认为false
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteNATGWRequestSchema().dumps(d)
resp = self.invoke("DeleteNATGW", d, **kwargs)
return apis.DeleteNATGWResponseSchema().loads(resp)
[docs] def delete_natgw_policy(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteNATGWPolicy - 删除NAT网关端口转发规则
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **PolicyId** (str) - (Required) 端口转发规则Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteNATGWPolicyRequestSchema().dumps(d)
resp = self.invoke("DeleteNATGWPolicy", d, **kwargs)
return apis.DeleteNATGWPolicyResponseSchema().loads(resp)
[docs] def delete_network_acl(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteNetworkAcl - 删除网络ACL
**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>`_
- **AclId** (str) - (Required) 需要删除的AclId
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteNetworkAclRequestSchema().dumps(d)
resp = self.invoke("DeleteNetworkAcl", d, **kwargs)
return apis.DeleteNetworkAclResponseSchema().loads(resp)
[docs] def delete_network_acl_association(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteNetworkAclAssociation - 删除网络ACL绑定关系
**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>`_
- **AclId** (str) - (Required) 需要删除的AclId
- **SubnetworkId** (str) - (Required) 绑定的子网ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteNetworkAclAssociationRequestSchema().dumps(d)
resp = self.invoke("DeleteNetworkAclAssociation", d, **kwargs)
return apis.DeleteNetworkAclAssociationResponseSchema().loads(resp)
[docs] def delete_network_acl_entry(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteNetworkAclEntry - 删除ACL的规则
**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>`_
- **AclId** (str) - (Required) Acl的ID
- **EntryId** (str) - (Required) 需要删除的EntryId
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteNetworkAclEntryRequestSchema().dumps(d)
resp = self.invoke("DeleteNetworkAclEntry", d, **kwargs)
return apis.DeleteNetworkAclEntryResponseSchema().loads(resp)
[docs] def delete_route_table(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteRouteTable - 删除自定义路由表
**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>`_
- **RouteTableId** (str) - (Required) 路由表资源ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteRouteTableRequestSchema().dumps(d)
resp = self.invoke("DeleteRouteTable", d, **kwargs)
return apis.DeleteRouteTableResponseSchema().loads(resp)
[docs] def delete_secondary_ip(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteSecondaryIp - 删除ip(用于uk8s使用)
**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>`_
- **Ip** (str) - (Required) ip
- **Mac** (str) - (Required) mac
- **SubnetId** (str) - (Required) 子网Id
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **ObjectId** (str) - 资源Id
- **VPCId** (str) - VPCId
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteSecondaryIpRequestSchema().dumps(d)
resp = self.invoke("DeleteSecondaryIp", d, **kwargs)
return apis.DeleteSecondaryIpResponseSchema().loads(resp)
[docs] def delete_snat_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteSnatRule - 删除指定的出口规则(SNAT规则)
**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>`_
- **NATGWId** (str) - (Required) NAT网关的ID
- **SourceIp** (str) - (Required) 需要出外网的私网IP地址,例如10.9.7.xx
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteSnatRuleRequestSchema().dumps(d)
resp = self.invoke("DeleteSnatRule", d, **kwargs)
return apis.DeleteSnatRuleResponseSchema().loads(resp)
[docs] def delete_subnet(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteSubnet - 删除子网
**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>`_
- **SubnetId** (str) - (Required) 子网ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteSubnetRequestSchema().dumps(d)
resp = self.invoke("DeleteSubnet", d, **kwargs)
return apis.DeleteSubnetResponseSchema().loads(resp)
[docs] def delete_vpc(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""DeleteVPC - 删除VPC
**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>`_
- **VPCId** (str) - (Required) VPC资源Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteVPCRequestSchema().dumps(d)
resp = self.invoke("DeleteVPC", d, **kwargs)
return apis.DeleteVPCResponseSchema().loads(resp)
[docs] def delete_vpc_intercom(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteVPCIntercom - 删除VPC互通关系
**Request**
- **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **DstVPCId** (str) - (Required) 目的VPC短ID
- **VPCId** (str) - (Required) 源VPC短ID
- **DstProjectId** (str) - 目的VPC所在项目ID,默认为源VPC所在项目ID
- **DstRegion** (str) - 目的VPC所在地域,默认为源VPC所在地域
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteVPCIntercomRequestSchema().dumps(d)
resp = self.invoke("DeleteVPCIntercom", d, **kwargs)
return apis.DeleteVPCIntercomResponseSchema().loads(resp)
[docs] def delete_white_list_resource(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DeleteWhiteListResource - 删除NAT网关白名单列表
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **ResourceIds** (list) - (Required) 删除白名单的资源Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DeleteWhiteListResourceRequestSchema().dumps(d)
resp = self.invoke("DeleteWhiteListResource", d, **kwargs)
return apis.DeleteWhiteListResourceResponseSchema().loads(resp)
[docs] def describe_natgw(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNATGW - 获取NAT网关信息
**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) - 数据分页值。默认为20
- **NATGWIds** (list) - NAT网关Id。默认为该项目下所有NAT网关
- **Offset** (int) - 数据偏移量。默认为0
**Response**
- **DataSet** (list) - 见 **NatGatewayDataSet** 模型定义
- **TotalCount** (int) - 满足条件的实例的总数
**Response Model**
**NatGWIPResInfo**
- **EIP** (str) - 外网IP
- **OperatorName** (str) - IP的运营商信息
**NatGatewayIPSet**
- **Bandwidth** (int) - 带宽
- **BandwidthType** (str) - EIP带宽类型
- **EIPId** (str) - 外网IP的 EIPId
- **IPResInfo** (list) - 见 **NatGWIPResInfo** 模型定义
- **Weight** (int) - 权重为100的为出口
**NatGatewaySubnetSet**
- **Subnet** (str) - 子网网段
- **SubnetName** (str) - 子网名字
- **SubnetworkId** (str) - 子网id
**NatGatewayDataSet**
- **CreateTime** (int) - natgw创建时间
- **FirewallId** (str) - 绑定的防火墙Id
- **IPSet** (list) - 见 **NatGatewayIPSet** 模型定义
- **NATGWId** (str) - natgw id
- **NATGWName** (str) - natgw名称
- **PolicyId** (list) - 转发策略Id
- **Remark** (str) - 备注
- **SubnetSet** (list) - 见 **NatGatewaySubnetSet** 模型定义
- **Tag** (str) - 业务组
- **VPCId** (str) - 所属VPC Id
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNATGWRequestSchema().dumps(d)
resp = self.invoke("DescribeNATGW", d, **kwargs)
return apis.DescribeNATGWResponseSchema().loads(resp)
[docs] def describe_natgw_policy(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNATGWPolicy - 展示NAT网关端口转发规则
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **Limit** (int) - 返回数据长度,默认为10000
- **Offset** (int) - 列表起始位置偏移量,默认为0
**Response**
- **DataSet** (list) - 见 **NATGWPolicyDataSet** 模型定义
- **TotalCount** (int) - 满足条件的转发策略总数
**Response Model**
**NATGWPolicyDataSet**
- **DstIP** (str) - 目的地址
- **DstPort** (str) - 目的端口
- **NATGWId** (str) - NAT网关Id
- **PolicyId** (str) - 转发策略Id
- **PolicyName** (str) - 转发策略名称
- **Protocol** (str) - 协议类型
- **SrcEIP** (str) - 端口转发前端EIP
- **SrcEIPId** (str) - 端口转发前端EIP Id
- **SrcPort** (str) - 源端口
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNATGWPolicyRequestSchema().dumps(d)
resp = self.invoke("DescribeNATGWPolicy", d, **kwargs)
return apis.DescribeNATGWPolicyResponseSchema().loads(resp)
[docs] def describe_network_acl(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNetworkAcl - 获取网络ACL
**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** (str) - 列表获取的个数限制
- **Offset** (int) - 列表偏移量
- **VpcId** (str) - 需要获取的ACL所属的VPC的ID
**Response**
- **AclList** (list) - 见 **AclInfo** 模型定义
**Response Model**
**TargetResourceInfo**
- **PrivateIp** (str) - 资源内网IP
- **ResourceId** (str) - 资源ID
- **ResourceName** (str) - 资源名称
- **ResourceType** (int) - 资源类型
- **SubResourceId** (str) - 资源绑定的虚拟网卡的ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的名称
- **SubResourceType** (int) - 资源绑定虚拟网卡的类型
- **SubnetworkId** (str) - 子网ID
**AssociationInfo**
- **AclId** (str) - ACL的ID
- **AssociationId** (str) - 绑定ID
- **CreateTime** (int) - 创建的Unix时间戳
- **SubnetworkId** (str) - 绑定的子网ID
**AclEntryInfo**
- **CidrBlock** (str) - IP段的CIDR信息
- **CreateTime** (int) - 创建的Unix时间戳
- **Direction** (str) - 出向或者入向
- **EntryAction** (str) - 匹配规则的动作
- **EntryId** (str) - Entry的ID
- **IpProtocol** (str) - 针对的IP协议
- **PortRange** (str) - Port的段信息
- **Priority** (str) - 优先级
- **TargetResourceCount** (int) - 应用目标资源数量。TargetType为0时不返回该值。
- **TargetResourceList** (list) - 见 **TargetResourceInfo** 模型定义
- **TargetType** (int) - 应用目标类型。 0代表“子网内全部资源” ,1代表“子网内指定资源” 。
- **UpdateTime** (int) - 更改的Unix时间戳
**AclInfo**
- **AclId** (str) - ACL的ID
- **AclName** (str) - 名称
- **Associations** (list) - 见 **AssociationInfo** 模型定义
- **CreateTime** (int) - 创建的Unix时间戳
- **Description** (str) - 描述
- **Entries** (list) - 见 **AclEntryInfo** 模型定义
- **UpdateTime** (int) - 更改的Unix时间戳
- **VpcId** (str) - ACL所属的VPC ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNetworkAclRequestSchema().dumps(d)
resp = self.invoke("DescribeNetworkAcl", d, **kwargs)
return apis.DescribeNetworkAclResponseSchema().loads(resp)
[docs] def describe_network_acl_association(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNetworkAclAssociation - 获取网络ACL的绑定关系列表
**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>`_
- **AclId** (str) - (Required) Acl的ID
- **Limit** (str) - 列表获取的个数限制
- **Offset** (int) - 列表偏移量
**Response**
- **AssociationList** (list) - 见 **AssociationInfo** 模型定义
**Response Model**
**AssociationInfo**
- **AclId** (str) - ACL的ID
- **AssociationId** (str) - 绑定ID
- **CreateTime** (int) - 创建的Unix时间戳
- **SubnetworkId** (str) - 绑定的子网ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNetworkAclAssociationRequestSchema().dumps(d)
resp = self.invoke("DescribeNetworkAclAssociation", d, **kwargs)
return apis.DescribeNetworkAclAssociationResponseSchema().loads(resp)
[docs] def describe_network_acl_association_by_subnet(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNetworkAclAssociationBySubnet - 获取子网的ACL绑定信息
**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>`_
- **SubnetworkId** (str) - (Required) 子网的ID
**Response**
- **Association** (dict) - 见 **AssociationInfo** 模型定义
**Response Model**
**AssociationInfo**
- **AclId** (str) - ACL的ID
- **AssociationId** (str) - 绑定ID
- **CreateTime** (int) - 创建的Unix时间戳
- **SubnetworkId** (str) - 绑定的子网ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNetworkAclAssociationBySubnetRequestSchema().dumps(d)
resp = self.invoke("DescribeNetworkAclAssociationBySubnet", d, **kwargs)
return apis.DescribeNetworkAclAssociationBySubnetResponseSchema().loads(
resp
)
[docs] def describe_network_acl_entry(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeNetworkAclEntry - 获取ACL的规则信息
**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>`_
- **AclId** (str) - (Required) ACL的ID
**Response**
- **EntryList** (list) - 见 **AclEntryInfo** 模型定义
**Response Model**
**TargetResourceInfo**
- **PrivateIp** (str) - 资源内网IP
- **ResourceId** (str) - 资源ID
- **ResourceName** (str) - 资源名称
- **ResourceType** (int) - 资源类型
- **SubResourceId** (str) - 资源绑定的虚拟网卡的ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的名称
- **SubResourceType** (int) - 资源绑定虚拟网卡的类型
- **SubnetworkId** (str) - 子网ID
**AclEntryInfo**
- **CidrBlock** (str) - IP段的CIDR信息
- **CreateTime** (int) - 创建的Unix时间戳
- **Direction** (str) - 出向或者入向
- **EntryAction** (str) - 匹配规则的动作
- **EntryId** (str) - Entry的ID
- **IpProtocol** (str) - 针对的IP协议
- **PortRange** (str) - Port的段信息
- **Priority** (str) - 优先级
- **TargetResourceCount** (int) - 应用目标资源数量。TargetType为0时不返回该值。
- **TargetResourceList** (list) - 见 **TargetResourceInfo** 模型定义
- **TargetType** (int) - 应用目标类型。 0代表“子网内全部资源” ,1代表“子网内指定资源” 。
- **UpdateTime** (int) - 更改的Unix时间戳
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeNetworkAclEntryRequestSchema().dumps(d)
resp = self.invoke("DescribeNetworkAclEntry", d, **kwargs)
return apis.DescribeNetworkAclEntryResponseSchema().loads(resp)
[docs] def describe_route_table(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeRouteTable - 获取路由表详细信息(包括路由策略)
**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) - 业务组ID
- **Limit** (int) - 数据分页值。默认为20
- **OffSet** (int) - 数据偏移量。默认为0
- **RouteTableId** (str) - 路由表资源ID
- **VPCId** (str) - 所属VPC的资源ID
**Response**
- **RouteTables** (list) - 见 **RouteTableInfo** 模型定义
- **TotalCount** (int) - RouteTables字段的数量
**Response Model**
**RouteTableInfo**
- **CreateTime** (int) - 创建时间戳
- **Remark** (str) - 路由表备注
- **RouteRules** (list) - 见 **RouteRuleInfo** 模型定义
- **RouteTableId** (str) - 路由表资源ID
- **RouteTableType** (int) - 路由表类型。1为默认路由表,0为自定义路由表
- **SubnetCount** (int) - 绑定该路由表的子网数量
- **Tag** (str) - 路由表所属业务组
- **VPCId** (str) - 路由表所属的VPC资源ID
- **VPCName** (str) - 路由表所属的VPC资源名称
**RouteRuleInfo**
- **AccountId** (int) - 项目ID信息
- **DstAddr** (str) - 目的地址
- **DstPort** (int) - 保留字段,暂未使用
- **NexthopId** (str) - 路由下一跳资源ID
- **NexthopType** (str) - 路由表下一跳类型。LOCAL,本VPC内部通信路由;PUBLIC,公共服务路由;CNAT,外网路由;UDPN,跨域高速通道路由;HYBRIDGW,混合云路由;INSTANCE,实例路由;VNET,VPC联通路由;IPSEC VPN,指向VPN网关的路由。
- **OriginAddr** (str) - 保留字段,暂未使用
- **Priority** (int) - 保留字段,暂未使用
- **Remark** (str) - 路由规则备注
- **RouteRuleId** (str) - 规则ID
- **RouteTableId** (str) - 路由表资源ID
- **RuleType** (int) - 路由规则类型。0,系统路由规则;1,自定义路由规则
- **SrcAddr** (str) - 保留字段,暂未使用
- **SrcPort** (int) - 保留字段,暂未使用
- **VNetId** (str) - 所属的VPC
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeRouteTableRequestSchema().dumps(d)
resp = self.invoke("DescribeRouteTable", d, **kwargs)
return apis.DescribeRouteTableResponseSchema().loads(resp)
[docs] def describe_secondary_ip(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeSecondaryIp - 查询SecondaryIp(uk8s使用)
**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>`_
- **SubnetId** (str) - (Required) 子网Id
- **VPCId** (str) - (Required) VPCId
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **Ip** (str) - Ip
- **Mac** (str) - Mac
**Response**
- **DataSet** (list) - 见 **IpInfo** 模型定义
**Response Model**
**IpInfo**
- **Gateway** (str) -
- **Ip** (str) -
- **Mac** (str) -
- **Mask** (str) -
- **SubnetId** (str) -
- **VPCId** (str) -
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeSecondaryIpRequestSchema().dumps(d)
resp = self.invoke("DescribeSecondaryIp", d, **kwargs)
return apis.DescribeSecondaryIpResponseSchema().loads(resp)
[docs] def describe_snat_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeSnatRule - 获取Nat网关的出口规则(SNAT规则)
**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>`_
- **NATGWId** (str) - (Required) NAT网关的ID
- **Limit** (str) - 分页,默认为20
- **Offset** (str) - 偏移,默认为0
- **SnatIp** (str) - EIP的ip地址,例如106.75.xx.xx
- **SourceIp** (str) - 需要出外网的私网IP地址,例如10.9.7.xx
**Response**
- **DataSet** (list) - 见 **NATGWSnatRule** 模型定义
- **TotalCount** (int) - 规则数量
**Response Model**
**NATGWSnatRule**
- **Name** (str) - snat规则名称
- **SnatIp** (str) - EIP地址,如106.76.xx.xx
- **SourceIp** (str) - 资源的内网IP地址
- **SubnetworkId** (str) - SourceIp所属的子网id
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeSnatRuleRequestSchema().dumps(d)
resp = self.invoke("DescribeSnatRule", d, **kwargs)
return apis.DescribeSnatRuleResponseSchema().loads(resp)
[docs] def describe_subnet(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeSubnet - 获取子网信息
**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) - 列表长度,默认为20
- **Offset** (int) - 偏移量,默认为0
- **RouteTableId** (str) - 路由表Id
- **ShowAvailableIPs** (bool) - 是否返回子网的可用IP数,true为是,false为否,默认不返回
- **SubnetId** (str) - 子网id,适用于一次查询一个子网信息
- **SubnetIds** (list) - 子网id数组,适用于一次查询多个子网信息
- **Tag** (str) - 业务组名称,默认为Default
- **VPCId** (str) - VPC资源id
**Response**
- **DataSet** (list) - 见 **SubnetInfo** 模型定义
- **TotalCount** (int) - 子网总数量
**Response Model**
**SubnetInfo**
- **AvailableIPs** (int) - 可用IP数量
- **CreateTime** (int) - 创建时间
- **Gateway** (str) - 子网网关
- **HasNATGW** (bool) - 是否有natgw
- **IPv6Network** (str) - 子网关联的IPv6网段
- **Netmask** (str) - 子网掩码
- **Remark** (str) - 备注
- **RouteTableId** (str) - 路由表Id
- **Subnet** (str) - 子网网段
- **SubnetId** (str) - 子网Id
- **SubnetName** (str) - 子网名称
- **SubnetType** (int) - 子网类型
- **Tag** (str) - 业务组
- **VPCId** (str) - VPCId
- **VPCName** (str) - VPC名称
- **Zone** (str) - 可用区名称
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeSubnetRequestSchema().dumps(d)
resp = self.invoke("DescribeSubnet", d, **kwargs)
return apis.DescribeSubnetResponseSchema().loads(resp)
[docs] def describe_subnet_resource(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeSubnetResource - 展示子网资源
**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>`_
- **SubnetId** (str) - (Required) 子网id
- **Limit** (int) - 单页返回数据长度,默认为20
- **Offset** (int) - 列表起始位置偏移量,默认为0
- **ResourceType** (str) - 资源类型,默认为全部资源类型。枚举值为:UHOST,云主机;PHOST,物理云主机;ULB,负载均衡;UHADOOP_HOST,hadoop节点;UFORTRESS_HOST,堡垒机;UNATGW,NAT网关;UKAFKA,Kafka消息队列;UMEM,内存存储;DOCKER,容器集群;UDB,数据库;UDW,数据仓库;VIP,内网VIP.
**Response**
- **DataSet** (list) - 见 **SubnetResource** 模型定义
- **TotalCount** (int) - 总数
**Response Model**
**SubnetResource**
- **IP** (str) - 资源ip
- **Name** (str) - 名称
- **ResourceId** (str) - 资源Id
- **ResourceType** (str) - 资源类型。对应的资源类型:UHOST,云主机;PHOST,物理云主机;ULB,负载均衡;UHADOOP_HOST,hadoop节点;UFORTRESS_HOST,堡垒机;UNATGW,NAT网关;UKAFKA,分布式消息系统;UMEM,内存存储;DOCKER,容器集群;UDB,数据库;UDW,数据仓库;VIP,内网VIP.
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeSubnetResourceRequestSchema().dumps(d)
resp = self.invoke("DescribeSubnetResource", d, **kwargs)
return apis.DescribeSubnetResourceResponseSchema().loads(resp)
[docs] def describe_vip(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""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
- **VIPId** (str) - VIP ID
- **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) - VIP名称
- **RealIp** (str) - 真实主机ip
- **Remark** (str) - VIP备注
- **SubnetId** (str) - 子网id
- **Tag** (str) - VIP所属业务组
- **VIP** (str) - 虚拟ip
- **VIPId** (str) - 虚拟ip id
- **VPCId** (str) - VPC id
- **Zone** (str) - 地域
"""
# build request
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 describe_vpc(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""DescribeVPC - 获取VPC信息
**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) -
- **Tag** (str) - 业务组名称
- **VPCIds** (list) - VPCId
**Response**
- **DataSet** (list) - 见 **VPCInfo** 模型定义
**Response Model**
**VPCInfo**
- **CreateTime** (int) -
- **IPv6Network** (str) - VPC关联的IPv6网段
- **Name** (str) -
- **Network** (list) -
- **NetworkInfo** (list) - 见 **VPCNetworkInfo** 模型定义
- **OperatorName** (str) - VPC关联的IPv6网段所属运营商
- **SubnetCount** (int) -
- **Tag** (str) -
- **UpdateTime** (int) -
- **VPCId** (str) - VPCId
**VPCNetworkInfo**
- **Network** (str) - vpc地址空间
- **SubnetCount** (int) - 地址空间中子网数量
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeVPCRequestSchema().dumps(d)
resp = self.invoke("DescribeVPC", d, **kwargs)
return apis.DescribeVPCResponseSchema().loads(resp)
[docs] def describe_vpc_intercom(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeVPCIntercom - 获取VPC互通信息
**Request**
- **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
- **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
- **VPCId** (str) - (Required) VPC短ID
- **DstProjectId** (str) - 目的项目ID,默认为全部项目
- **DstRegion** (str) - 目的VPC所在地域,默认为全部地域
**Response**
- **DataSet** (list) - 见 **VPCIntercomInfo** 模型定义
**Response Model**
**VPCIntercomInfo**
- **AccountId** (int) - 项目Id(数字)
- **DstRegion** (str) - 所属地域
- **Name** (str) - VPC名字
- **Network** (list) - VPC的地址空间
- **ProjectId** (str) - 项目Id
- **Tag** (str) - 业务组(未分组显示为 Default)
- **VPCId** (str) - VPCId
- **VPCType** (int) - vpc类型(1表示托管VPC,0表示公有云VPC)
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeVPCIntercomRequestSchema().dumps(d)
resp = self.invoke("DescribeVPCIntercom", d, **kwargs)
return apis.DescribeVPCIntercomResponseSchema().loads(resp)
[docs] def describe_white_list_resource(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""DescribeWhiteListResource - 展示NAT网关白名单资源列表
**Request**
- **ProjectId** (str) - (Config) 项目id
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
- **NATGWIds** (list) - (Required) NAT网关的Id
- **Limit** (int) - 数据分页值, 默认为20
- **Offset** (int) - 数据偏移量, 默认为0
**Response**
- **DataSet** (list) - 见 **NatGWWhitelistDataSet** 模型定义
- **TotalCount** (int) - 上述DataSet总数量
**Response Model**
**DescribeWhiteListResourceObjectIPInfo**
- **GwType** (str) - natgw字符串
- **PrivateIP** (str) - 白名单资源的内网IP
- **ResourceId** (str) - 白名单资源Id信息
- **ResourceName** (str) - 白名单资源名称
- **ResourceType** (str) - 白名单资源类型
- **SubResourceId** (str) - 资源绑定的虚拟网卡的实例ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的实例名称
- **SubResourceType** (str) - 资源绑定的虚拟网卡的类型
- **VPCId** (str) - 白名单资源所属VPCId
**NatGWWhitelistDataSet**
- **IfOpen** (int) - 白名单开关标记
- **NATGWId** (str) - NATGateWay Id
- **ObjectIPInfo** (list) - 见 **DescribeWhiteListResourceObjectIPInfo** 模型定义
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.DescribeWhiteListResourceRequestSchema().dumps(d)
resp = self.invoke("DescribeWhiteListResource", d, **kwargs)
return apis.DescribeWhiteListResourceResponseSchema().loads(resp)
[docs] def enable_white_list(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""EnableWhiteList - 修改NAT网关白名单开关
**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>`_
- **IfOpen** (int) - (Required) 白名单开关标记。0:关闭;1:开启。默认为0
- **NATGWId** (str) - (Required) NAT网关Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.EnableWhiteListRequestSchema().dumps(d)
resp = self.invoke("EnableWhiteList", d, **kwargs)
return apis.EnableWhiteListResponseSchema().loads(resp)
[docs] def get_available_resource_for_policy(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetAvailableResourceForPolicy - 获取NAT网关可配置端口转发规则的资源信息
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **Limit** (int) - 返回数据长度,默认为20
- **Offset** (int) - 列表起始位置偏移量,默认为0
**Response**
- **DataSet** (list) - 见 **GetAvailableResourceForPolicyDataSet** 模型定义
**Response Model**
**GetAvailableResourceForPolicyDataSet**
- **PrivateIP** (str) - 资源对应的内网Ip
- **ResourceId** (str) - 资源的Id
- **ResourceType** (str) - 资源类型。"uhost":云主机; "upm",物理云主机; "hadoophost":hadoop节点; "fortresshost":堡垒机: "udockhost",容器
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetAvailableResourceForPolicyRequestSchema().dumps(d)
resp = self.invoke("GetAvailableResourceForPolicy", d, **kwargs)
return apis.GetAvailableResourceForPolicyResponseSchema().loads(resp)
[docs] def get_available_resource_for_snat_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetAvailableResourceForSnatRule - 获取可用于添加snat规则(出口规则)的资源列表
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **Limit** (int) - 数据分页值, 默认为20
- **Offset** (int) - 数据偏移量, 默认为0
**Response**
- **Action** (str) - 操作名称
- **DataSet** (list) - 见 **GetAvailableResourceForSnatRuleDataSet** 模型定义
- **RetCode** (str) - 返回值
- **TotalCount** (int) - 总数
**Response Model**
**GetAvailableResourceForSnatRuleDataSet**
- **PrivateIP** (str) - 资源内网IP
- **ResourceId** (str) - 资源ID
- **ResourceName** (str) - 资源名称
- **ResourceType** (str) - 资源类型
- **SubnetworkId** (str) - 资源所属VPC的ID
- **VPCId** (str) - 资源所属子网的ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetAvailableResourceForSnatRuleRequestSchema().dumps(d)
resp = self.invoke("GetAvailableResourceForSnatRule", d, **kwargs)
return apis.GetAvailableResourceForSnatRuleResponseSchema().loads(resp)
[docs] def get_available_resource_for_white_list(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetAvailableResourceForWhiteList - 获取NAT网关可添加白名单的资源
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **Limit** (int) - 数据分页值, 默认为20
- **Offset** (int) - 数据偏移量, 默认为0
**Response**
- **DataSet** (list) - 见 **GetAvailableResourceForWhiteListDataSet** 模型定义
- **TotalCount** (int) - 白名单资源列表的总的个数
**Response Model**
**GetAvailableResourceForWhiteListDataSet**
- **PrivateIP** (str) - 资源的内网Ip
- **ResourceId** (str) - 资源类型Id
- **ResourceName** (str) - 资源名称
- **ResourceType** (str) - 资源类型。"uhost":云主机; "upm",物理云主机; "hadoophost":hadoop节点; "fortresshost":堡垒机: "udockhost",容器
- **SubResourceId** (str) - 资源绑定的虚拟网卡的实例ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的实例名称
- **SubResourceType** (str) - 资源绑定的虚拟网卡的实例类型
- **SubnetworkId** (str) - 资源所属子网Id
- **VPCId** (str) - 资源所属VPCId
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetAvailableResourceForWhiteListRequestSchema().dumps(d)
resp = self.invoke("GetAvailableResourceForWhiteList", d, **kwargs)
return apis.GetAvailableResourceForWhiteListResponseSchema().loads(resp)
[docs] def get_network_acl_target_resource(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""GetNetworkAclTargetResource - 获取ACL规则应用目标列表
**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>`_
- **SubnetworkId** (list) - (Required) 子网ID。
**Response**
- **TargetResourceList** (list) - 见 **TargetResourceInfo** 模型定义
- **TotalCount** (int) - ACL规则应用目标资源总数
**Response Model**
**TargetResourceInfo**
- **PrivateIp** (str) - 资源内网IP
- **ResourceId** (str) - 资源ID
- **ResourceName** (str) - 资源名称
- **ResourceType** (int) - 资源类型
- **SubResourceId** (str) - 资源绑定的虚拟网卡的ID
- **SubResourceName** (str) - 资源绑定的虚拟网卡的名称
- **SubResourceType** (int) - 资源绑定虚拟网卡的类型
- **SubnetworkId** (str) - 子网ID
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.GetNetworkAclTargetResourceRequestSchema().dumps(d)
resp = self.invoke("GetNetworkAclTargetResource", d, **kwargs)
return apis.GetNetworkAclTargetResourceResponseSchema().loads(resp)
[docs] def list_subnet_for_natgw(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""ListSubnetForNATGW - 展示NAT网关可绑定的子网列表
**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>`_
- **VPCId** (str) - NAT网关所属VPC Id。默认值为Default VPC Id
**Response**
- **DataSet** (list) - 见 **NatgwSubnetDataSet** 模型定义
**Response Model**
**NatgwSubnetDataSet**
- **HasNATGW** (bool) - 是否绑定NATGW
- **Netmask** (str) - 掩码
- **Subnet** (str) - 子网网段
- **SubnetId** (str) - 子网id
- **SubnetName** (str) - 子网名字
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.ListSubnetForNATGWRequestSchema().dumps(d)
resp = self.invoke("ListSubnetForNATGW", d, **kwargs)
return apis.ListSubnetForNATGWResponseSchema().loads(resp)
[docs] def modify_route_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""ModifyRouteRule - 路由策略增、删、改
**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>`_
- **RouteRule** (list) - (Required) 格式: RouteRuleId | 目的网段 | 下一跳类型(支持INSTANCE、VIP) | 下一跳 |优先级(保留字段,填写0即可)| 备注 | 增、删、改标志(add/delete/update) 。"添加"示例: test_id | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| add (添加的RouteRuleId填任意非空字符串) 。"删除"示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| delete (RouteRuleId来自DescribeRouteTable中) 。“修改”示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-cjksa2 | 0 | Default Route Rule| update (RouteRuleId来自DescribeRouteTable中)
- **RouteTableId** (str) - (Required) 通过DescribeRouteTable拿到
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.ModifyRouteRuleRequestSchema().dumps(d)
resp = self.invoke("ModifyRouteRule", d, **kwargs)
return apis.ModifyRouteRuleResponseSchema().loads(resp)
[docs] def release_vip(self, req: typing.Optional[dict] = None, **kwargs) -> dict:
"""ReleaseVIP - 释放VIP资源
**Request**
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
- **Region** (str) - (Config) 地域
- **VIPId** (str) - (Required) 内网VIP的id
- **Zone** (str) - 可用区
**Response**
"""
# build request
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 set_gw_default_export(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""SetGwDefaultExport - 设置NAT网关的默认出口
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **ExportEipId** (str) - NAT网关绑定的EIP Id。ExportIp和ExportEipId必填一个
- **ExportIp** (str) - NAT网关绑定的EIP。ExportIp和ExportEipId必填一个
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.SetGwDefaultExportRequestSchema().dumps(d)
resp = self.invoke("SetGwDefaultExport", d, **kwargs)
return apis.SetGwDefaultExportResponseSchema().loads(resp)
[docs] def update_natgw_policy(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateNATGWPolicy - 更新NAT网关端口转发规则
**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>`_
- **DstIP** (str) - (Required) 目标IP。填写对饮的目标IP地址
- **DstPort** (str) - (Required) 目标端口。可填写固定端口,也可填写端口范围。支持的端口范围为1-65535
- **NATGWId** (str) - (Required) NAT网关Id
- **PolicyId** (str) - (Required) 转发策略Id
- **Protocol** (str) - (Required) 协议类型。枚举值为:TCP 、 UDP
- **SrcEIPId** (str) - (Required) 源IP。填写对应的EIP Id
- **SrcPort** (str) - (Required) 源端口。可填写固定端口,也可填写端口范围。支持的端口范围为1-6553
- **PolicyName** (str) - 转发策略名称。默认为空
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateNATGWPolicyRequestSchema().dumps(d)
resp = self.invoke("UpdateNATGWPolicy", d, **kwargs)
return apis.UpdateNATGWPolicyResponseSchema().loads(resp)
[docs] def update_natgw_subnet(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateNATGWSubnet - 更新NAT网关绑定的子网
**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>`_
- **NATGWId** (str) - (Required) NAT网关Id
- **SubnetworkIds** (list) - (Required) NAT网关绑定的子网Id
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateNATGWSubnetRequestSchema().dumps(d)
resp = self.invoke("UpdateNATGWSubnet", d, **kwargs)
return apis.UpdateNATGWSubnetResponseSchema().loads(resp)
[docs] def update_network_acl(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateNetworkAcl - 更改ACL
**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>`_
- **AclId** (str) - (Required) 需要更改的ACL ID
- **AclName** (str) - (Required) Acl的名称
- **Description** (str) - (Required) 描述
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateNetworkAclRequestSchema().dumps(d)
resp = self.invoke("UpdateNetworkAcl", d, **kwargs)
return apis.UpdateNetworkAclResponseSchema().loads(resp)
[docs] def update_network_acl_entry(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateNetworkAclEntry - 更新ACL的规则
**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>`_
- **AclId** (str) - (Required) ACL的ID
- **CidrBlock** (str) - (Required) IPv4段的CIDR表示
- **Direction** (str) - (Required) 出向或者入向(“Ingress”, "Egress")
- **EntryAction** (str) - (Required) 规则的行为("Accept", "Reject")
- **EntryId** (str) - (Required) 需要更新的Entry Id
- **IpProtocol** (str) - (Required) 针对的协议规则
- **PortRange** (str) - (Required) 针对的端口范围
- **Priority** (int) - (Required) Entry的优先级,对于同样的Direction来说,不能重复
- **Description** (str) - 描述
- **TargetResourceIds** (list) - 应用目标资源列表。默认为全部资源生效。TargetType为0时不用填写该值
- **TargetType** (int) - 应用目标类型。0代表“子网内全部资源”, 1代表“子网内指定资源”。默认为0
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateNetworkAclEntryRequestSchema().dumps(d)
resp = self.invoke("UpdateNetworkAclEntry", d, **kwargs)
return apis.UpdateNetworkAclEntryResponseSchema().loads(resp)
[docs] def update_route_table_attribute(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateRouteTableAttribute - 更新路由表基本信息
**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>`_
- **RouteTableId** (str) - (Required) 路由表ID
- **Name** (str) - 名称
- **Remark** (str) - 备注
- **Tag** (str) - 业务组名称
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateRouteTableAttributeRequestSchema().dumps(d)
resp = self.invoke("UpdateRouteTableAttribute", d, **kwargs)
return apis.UpdateRouteTableAttributeResponseSchema().loads(resp)
[docs] def update_snat_rule(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateSnatRule - 更新指定的出口规则(SNAT规则)
**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>`_
- **NATGWId** (str) - (Required) NAT网关的ID,
- **SnatIp** (str) - (Required) EIP的ip地址,例如106.75.xx.xx
- **SourceIp** (str) - (Required) 需要出外网的私网IP地址,例如10.9.7.xx
- **Name** (str) - snat名称,即出口规则名称
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateSnatRuleRequestSchema().dumps(d)
resp = self.invoke("UpdateSnatRule", d, **kwargs)
return apis.UpdateSnatRuleResponseSchema().loads(resp)
[docs] def update_subnet_attribute(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateSubnetAttribute - 更新子网信息
**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>`_
- **SubnetId** (str) - (Required) 子网ID
- **Name** (str) - 子网名称(如果Name不填写,Tag必须填写)
- **Tag** (str) - 业务组名称(如果Tag不填写,Name必须填写)
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateSubnetAttributeRequestSchema().dumps(d)
resp = self.invoke("UpdateSubnetAttribute", d, **kwargs)
return apis.UpdateSubnetAttributeResponseSchema().loads(resp)
[docs] def update_vip_attribute(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateVIPAttribute - 更新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>`_
- **VIPId** (str) - (Required) 内网VIP的资源Id
- **Name** (str) - 内网VIP的名称
- **Remark** (str) - 内网VIP的备注
- **Tag** (str) - 内网VIP所属的业务组
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateVIPAttributeRequestSchema().dumps(d)
resp = self.invoke("UpdateVIPAttribute", d, **kwargs)
return apis.UpdateVIPAttributeResponseSchema().loads(resp)
[docs] def update_vpc_network(
self, req: typing.Optional[dict] = None, **kwargs
) -> dict:
"""UpdateVPCNetwork - 更新VPC网段
**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>`_
- **Network** (list) - (Required) 需要保留的VPC网段。当前仅支持删除VPC网段,添加网段请参考 `AddVPCNetwork <https://docs.ucloud.cn/api/vpc2.0-api/add_vpc_network>`_
- **VPCId** (str) - (Required) VPC的ID
**Response**
"""
# build request
d = {
"ProjectId": self.config.project_id,
"Region": self.config.region,
}
req and d.update(req)
d = apis.UpdateVPCNetworkRequestSchema().dumps(d)
resp = self.invoke("UpdateVPCNetwork", d, **kwargs)
return apis.UpdateVPCNetworkResponseSchema().loads(resp)