Source code for ucloud.services.vpc.client

""" 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)