huaweicloud-sdk-python-v3/huaweicloud-sdk-eip/huaweicloudsdkeip/v3/eip_async_client.py

1353 lines
50 KiB
Python

# coding: utf-8
from __future__ import absolute_import
import importlib
from huaweicloudsdkcore.client import Client, ClientBuilder
from huaweicloudsdkcore.utils import http_utils
from huaweicloudsdkcore.sdk_stream_request import SdkStreamRequest
class EipAsyncClient(Client):
def __init__(self):
super(EipAsyncClient, self).__init__()
self.model_package = importlib.import_module("huaweicloudsdkeip.v3.model")
@classmethod
def new_builder(cls, clazz=None):
if clazz is None:
return ClientBuilder(cls)
if clazz.__name__ != "EipClient":
raise TypeError("client type error, support client type is EipClient")
return ClientBuilder(clazz)
def list_bandwidth_async(self, request):
"""查询带宽列表
查询带宽列表
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListBandwidth
:type request: :class:`huaweicloudsdkeip.v3.ListBandwidthRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListBandwidthResponse`
"""
return self._list_bandwidth_with_http_info(request)
def _list_bandwidth_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'marker' in local_var_params:
query_params.append(('marker', local_var_params['marker']))
if 'id' in local_var_params:
query_params.append(('id', local_var_params['id']))
if 'bandwidth_type' in local_var_params:
query_params.append(('bandwidth_type', local_var_params['bandwidth_type']))
if 'name' in local_var_params:
query_params.append(('name', local_var_params['name']))
if 'name_like' in local_var_params:
query_params.append(('name_like', local_var_params['name_like']))
if 'ingress_size' in local_var_params:
query_params.append(('ingress_size', local_var_params['ingress_size']))
if 'admin_state' in local_var_params:
query_params.append(('admin_state', local_var_params['admin_state']))
if 'billing_info' in local_var_params:
query_params.append(('billing_info', local_var_params['billing_info']))
if 'tags' in local_var_params:
query_params.append(('tags', local_var_params['tags']))
if 'enable_bandwidth_rules' in local_var_params:
query_params.append(('enable_bandwidth_rules', local_var_params['enable_bandwidth_rules']))
if 'rule_quota' in local_var_params:
query_params.append(('rule_quota', local_var_params['rule_quota']))
if 'public_border_group' in local_var_params:
query_params.append(('public_border_group', local_var_params['public_border_group']))
if 'charge_mode' in local_var_params:
query_params.append(('charge_mode', local_var_params['charge_mode']))
if 'size' in local_var_params:
query_params.append(('size', local_var_params['size']))
if 'type' in local_var_params:
query_params.append(('type', local_var_params['type']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/bandwidths',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListBandwidthResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_common_pools_async(self, request):
"""查询公共池列表
查询公共池列表
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListCommonPools
:type request: :class:`huaweicloudsdkeip.v3.ListCommonPoolsRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListCommonPoolsResponse`
"""
return self._list_common_pools_with_http_info(request)
def _list_common_pools_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'offset' in local_var_params:
query_params.append(('offset', local_var_params['offset']))
if 'name' in local_var_params:
query_params.append(('name', local_var_params['name']))
if 'public_border_group' in local_var_params:
query_params.append(('public_border_group', local_var_params['public_border_group']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicip-pools/common-pools',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListCommonPoolsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_public_border_groups_async(self, request):
"""查询公共池分组列表
查询公共池分组列表,包含名称和位置信息
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListPublicBorderGroups
:type request: :class:`huaweicloudsdkeip.v3.ListPublicBorderGroupsRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListPublicBorderGroupsResponse`
"""
return self._list_public_border_groups_with_http_info(request)
def _list_public_border_groups_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/public-border-groups',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListPublicBorderGroupsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_publicip_pool_async(self, request):
"""查询公网IP池列表
全量查询公网IP池列表
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListPublicipPool
:type request: :class:`huaweicloudsdkeip.v3.ListPublicipPoolRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListPublicipPoolResponse`
"""
return self._list_publicip_pool_with_http_info(request)
def _list_publicip_pool_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'marker' in local_var_params:
query_params.append(('marker', local_var_params['marker']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
if 'sort_key' in local_var_params:
query_params.append(('sort_key', local_var_params['sort_key']))
if 'sort_dir' in local_var_params:
query_params.append(('sort_dir', local_var_params['sort_dir']))
if 'id' in local_var_params:
query_params.append(('id', local_var_params['id']))
if 'name' in local_var_params:
query_params.append(('name', local_var_params['name']))
if 'size' in local_var_params:
query_params.append(('size', local_var_params['size']))
if 'status' in local_var_params:
query_params.append(('status', local_var_params['status']))
if 'type' in local_var_params:
query_params.append(('type', local_var_params['type']))
if 'description' in local_var_params:
query_params.append(('description', local_var_params['description']))
if 'public_border_group' in local_var_params:
query_params.append(('public_border_group', local_var_params['public_border_group']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicip-pools',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListPublicipPoolResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_share_bandwidth_types_async(self, request):
"""查询指定租户下的共享带宽类型列表
查询指定租户下的共享带宽类型列表
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListShareBandwidthTypes
:type request: :class:`huaweicloudsdkeip.v3.ListShareBandwidthTypesRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListShareBandwidthTypesResponse`
"""
return self._list_share_bandwidth_types_with_http_info(request)
def _list_share_bandwidth_types_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
if 'id' in local_var_params:
query_params.append(('id', local_var_params['id']))
if 'bandwidth_type' in local_var_params:
query_params.append(('bandwidth_type', local_var_params['bandwidth_type']))
if 'name_en' in local_var_params:
query_params.append(('name_en', local_var_params['name_en']))
if 'name_zh' in local_var_params:
query_params.append(('name_zh', local_var_params['name_zh']))
if 'public_border_group' in local_var_params:
query_params.append(('public_border_group', local_var_params['public_border_group']))
if 'sort_key' in local_var_params:
query_params.append(('sort_key', local_var_params['sort_key']))
if 'sort_dir' in local_var_params:
query_params.append(('sort_dir', local_var_params['sort_dir']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'marker' in local_var_params:
query_params.append(('marker', local_var_params['marker']))
if 'offset' in local_var_params:
query_params.append(('offset', local_var_params['offset']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/share-bandwidth-types',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListShareBandwidthTypesResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_publicip_pool_async(self, request):
"""查询公网IP池详情
查询公网IP池详情
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ShowPublicipPool
:type request: :class:`huaweicloudsdkeip.v3.ShowPublicipPoolRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ShowPublicipPoolResponse`
"""
return self._show_publicip_pool_with_http_info(request)
def _show_publicip_pool_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_pool_id' in local_var_params:
path_params['publicip_pool_id'] = local_var_params['publicip_pool_id']
query_params = []
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicip-pools/{publicip_pool_id}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ShowPublicipPoolResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def associate_publicips_async(self, request):
"""绑定弹性公网IP
绑定弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for AssociatePublicips
:type request: :class:`huaweicloudsdkeip.v3.AssociatePublicipsRequest`
:rtype: :class:`huaweicloudsdkeip.v3.AssociatePublicipsResponse`
"""
return self._associate_publicips_with_http_info(request)
def _associate_publicips_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/associate-instance',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='AssociatePublicipsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def attach_batch_public_ip_async(self, request):
"""共享带宽批量加入弹性公网IP
共享带宽批量加入弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for AttachBatchPublicIp
:type request: :class:`huaweicloudsdkeip.v3.AttachBatchPublicIpRequest`
:rtype: :class:`huaweicloudsdkeip.v3.AttachBatchPublicIpResponse`
"""
return self._attach_batch_public_ip_with_http_info(request)
def _attach_batch_public_ip_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/attach-share-bandwidth',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='AttachBatchPublicIpResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def attach_share_bandwidth_async(self, request):
"""共享带宽加入弹性公网IP
共享带宽加入弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for AttachShareBandwidth
:type request: :class:`huaweicloudsdkeip.v3.AttachShareBandwidthRequest`
:rtype: :class:`huaweicloudsdkeip.v3.AttachShareBandwidthResponse`
"""
return self._attach_share_bandwidth_with_http_info(request)
def _attach_share_bandwidth_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/attach-share-bandwidth',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='AttachShareBandwidthResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def count_eip_available_resources_async(self, request):
"""查询弹性公网IP可用数
IP池用于查询公网可用ip个数
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for CountEipAvailableResources
:type request: :class:`huaweicloudsdkeip.v3.CountEipAvailableResourcesRequest`
:rtype: :class:`huaweicloudsdkeip.v3.CountEipAvailableResourcesResponse`
"""
return self._count_eip_available_resources_with_http_info(request)
def _count_eip_available_resources_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/resources/available',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='CountEipAvailableResourcesResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def detach_batch_public_ip_async(self, request):
"""共享带宽批量移出弹性公网IP
共享带宽批量移出弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for DetachBatchPublicIp
:type request: :class:`huaweicloudsdkeip.v3.DetachBatchPublicIpRequest`
:rtype: :class:`huaweicloudsdkeip.v3.DetachBatchPublicIpResponse`
"""
return self._detach_batch_public_ip_with_http_info(request)
def _detach_batch_public_ip_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/detach-share-bandwidth',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='DetachBatchPublicIpResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def detach_share_bandwidth_async(self, request):
"""共享带宽移出弹性公网IP
共享带宽移出弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for DetachShareBandwidth
:type request: :class:`huaweicloudsdkeip.v3.DetachShareBandwidthRequest`
:rtype: :class:`huaweicloudsdkeip.v3.DetachShareBandwidthResponse`
"""
return self._detach_share_bandwidth_with_http_info(request)
def _detach_share_bandwidth_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/detach-share-bandwidth',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='DetachShareBandwidthResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def disable_nat64_async(self, request):
"""弹性公网IP关闭NAT64
弹性公网IP关闭NAT64
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for DisableNat64
:type request: :class:`huaweicloudsdkeip.v3.DisableNat64Request`
:rtype: :class:`huaweicloudsdkeip.v3.DisableNat64Response`
"""
return self._disable_nat64_with_http_info(request)
def _disable_nat64_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/disable-nat64',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='DisableNat64Response',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def disassociate_publicips_async(self, request):
"""解绑弹性公网IP
解绑弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for DisassociatePublicips
:type request: :class:`huaweicloudsdkeip.v3.DisassociatePublicipsRequest`
:rtype: :class:`huaweicloudsdkeip.v3.DisassociatePublicipsResponse`
"""
return self._disassociate_publicips_with_http_info(request)
def _disassociate_publicips_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/disassociate-instance',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='DisassociatePublicipsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def enable_nat64_async(self, request):
"""弹性公网IP开启NAT64
弹性公网IP开启NAT64
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for EnableNat64
:type request: :class:`huaweicloudsdkeip.v3.EnableNat64Request`
:rtype: :class:`huaweicloudsdkeip.v3.EnableNat64Response`
"""
return self._enable_nat64_with_http_info(request)
def _enable_nat64_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/enable-nat64',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='EnableNat64Response',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_publicips_async(self, request):
"""全量查询弹性公网IP列表
查询弹性公网IP列表信息
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ListPublicips
:type request: :class:`huaweicloudsdkeip.v3.ListPublicipsRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ListPublicipsResponse`
"""
return self._list_publicips_with_http_info(request)
def _list_publicips_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
query_params = []
if 'marker' in local_var_params:
query_params.append(('marker', local_var_params['marker']))
if 'offset' in local_var_params:
query_params.append(('offset', local_var_params['offset']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
collection_formats['fields'] = 'multi'
if 'sort_key' in local_var_params:
query_params.append(('sort_key', local_var_params['sort_key']))
if 'sort_dir' in local_var_params:
query_params.append(('sort_dir', local_var_params['sort_dir']))
if 'id' in local_var_params:
query_params.append(('id', local_var_params['id']))
collection_formats['id'] = 'multi'
if 'ip_version' in local_var_params:
query_params.append(('ip_version', local_var_params['ip_version']))
collection_formats['ip_version'] = 'multi'
if 'public_ip_address' in local_var_params:
query_params.append(('public_ip_address', local_var_params['public_ip_address']))
collection_formats['public_ip_address'] = 'multi'
if 'public_ip_address_like' in local_var_params:
query_params.append(('public_ip_address_like', local_var_params['public_ip_address_like']))
if 'public_ipv6_address' in local_var_params:
query_params.append(('public_ipv6_address', local_var_params['public_ipv6_address']))
collection_formats['public_ipv6_address'] = 'multi'
if 'public_ipv6_address_like' in local_var_params:
query_params.append(('public_ipv6_address_like', local_var_params['public_ipv6_address_like']))
if 'type' in local_var_params:
query_params.append(('type', local_var_params['type']))
collection_formats['type'] = 'multi'
if 'network_type' in local_var_params:
query_params.append(('network_type', local_var_params['network_type']))
collection_formats['network_type'] = 'multi'
if 'publicip_pool_name' in local_var_params:
query_params.append(('publicip_pool_name', local_var_params['publicip_pool_name']))
collection_formats['publicip_pool_name'] = 'multi'
if 'status' in local_var_params:
query_params.append(('status', local_var_params['status']))
collection_formats['status'] = 'multi'
if 'alias_like' in local_var_params:
query_params.append(('alias_like', local_var_params['alias_like']))
if 'alias' in local_var_params:
query_params.append(('alias', local_var_params['alias']))
collection_formats['alias'] = 'multi'
if 'description' in local_var_params:
query_params.append(('description', local_var_params['description']))
collection_formats['description'] = 'multi'
if 'vnic_private_ip_address' in local_var_params:
query_params.append(('vnic.private_ip_address', local_var_params['vnic_private_ip_address']))
collection_formats['vnic.private_ip_address'] = 'multi'
if 'vnic_private_ip_address_like' in local_var_params:
query_params.append(('vnic.private_ip_address_like', local_var_params['vnic_private_ip_address_like']))
if 'vnic_device_id' in local_var_params:
query_params.append(('vnic.device_id', local_var_params['vnic_device_id']))
collection_formats['vnic.device_id'] = 'multi'
if 'vnic_device_owner' in local_var_params:
query_params.append(('vnic.device_owner', local_var_params['vnic_device_owner']))
collection_formats['vnic.device_owner'] = 'multi'
if 'vnic_vpc_id' in local_var_params:
query_params.append(('vnic.vpc_id', local_var_params['vnic_vpc_id']))
collection_formats['vnic.vpc_id'] = 'multi'
if 'vnic_port_id' in local_var_params:
query_params.append(('vnic.port_id', local_var_params['vnic_port_id']))
collection_formats['vnic.port_id'] = 'multi'
if 'vnic_device_owner_prefixlike' in local_var_params:
query_params.append(('vnic.device_owner_prefixlike', local_var_params['vnic_device_owner_prefixlike']))
if 'vnic_instance_type' in local_var_params:
query_params.append(('vnic.instance_type', local_var_params['vnic_instance_type']))
collection_formats['vnic.instance_type'] = 'multi'
if 'vnic_instance_id' in local_var_params:
query_params.append(('vnic.instance_id', local_var_params['vnic_instance_id']))
collection_formats['vnic.instance_id'] = 'multi'
if 'bandwidth_id' in local_var_params:
query_params.append(('bandwidth.id', local_var_params['bandwidth_id']))
collection_formats['bandwidth.id'] = 'multi'
if 'bandwidth_name' in local_var_params:
query_params.append(('bandwidth.name', local_var_params['bandwidth_name']))
collection_formats['bandwidth.name'] = 'multi'
if 'bandwidth_name_like' in local_var_params:
query_params.append(('bandwidth.name_like', local_var_params['bandwidth_name_like']))
collection_formats['bandwidth.name_like'] = 'multi'
if 'bandwidth_size' in local_var_params:
query_params.append(('bandwidth.size', local_var_params['bandwidth_size']))
collection_formats['bandwidth.size'] = 'multi'
if 'bandwidth_share_type' in local_var_params:
query_params.append(('bandwidth.share_type', local_var_params['bandwidth_share_type']))
collection_formats['bandwidth.share_type'] = 'multi'
if 'bandwidth_charge_mode' in local_var_params:
query_params.append(('bandwidth.charge_mode', local_var_params['bandwidth_charge_mode']))
collection_formats['bandwidth.charge_mode'] = 'multi'
if 'billing_info' in local_var_params:
query_params.append(('billing_info', local_var_params['billing_info']))
collection_formats['billing_info'] = 'multi'
if 'billing_mode' in local_var_params:
query_params.append(('billing_mode', local_var_params['billing_mode']))
if 'associate_instance_type' in local_var_params:
query_params.append(('associate_instance_type', local_var_params['associate_instance_type']))
collection_formats['associate_instance_type'] = 'multi'
if 'associate_instance_id' in local_var_params:
query_params.append(('associate_instance_id', local_var_params['associate_instance_id']))
collection_formats['associate_instance_id'] = 'multi'
if 'enterprise_project_id' in local_var_params:
query_params.append(('enterprise_project_id', local_var_params['enterprise_project_id']))
collection_formats['enterprise_project_id'] = 'multi'
if 'public_border_group' in local_var_params:
query_params.append(('public_border_group', local_var_params['public_border_group']))
collection_formats['public_border_group'] = 'multi'
if 'allow_share_bandwidth_type_any' in local_var_params:
query_params.append(('allow_share_bandwidth_type_any', local_var_params['allow_share_bandwidth_type_any']))
collection_formats['allow_share_bandwidth_type_any'] = 'multi'
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ListPublicipsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_publicip_async(self, request):
"""查询弹性公网IP详情
查询弹性公网IP详情
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for ShowPublicip
:type request: :class:`huaweicloudsdkeip.v3.ShowPublicipRequest`
:rtype: :class:`huaweicloudsdkeip.v3.ShowPublicipResponse`
"""
return self._show_publicip_with_http_info(request)
def _show_publicip_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
if 'fields' in local_var_params:
query_params.append(('fields', local_var_params['fields']))
collection_formats['fields'] = 'csv'
header_params = {}
form_params = {}
body_params = None
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='ShowPublicipResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_associate_publicip_async(self, request):
"""绑定弹性公网IP
绑定弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for UpdateAssociatePublicip
:type request: :class:`huaweicloudsdkeip.v3.UpdateAssociatePublicipRequest`
:rtype: :class:`huaweicloudsdkeip.v3.UpdateAssociatePublicipResponse`
"""
return self._update_associate_publicip_with_http_info(request)
def _update_associate_publicip_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/associate-instance',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='UpdateAssociatePublicipResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_disassociate_publicip_async(self, request):
"""解绑弹性公网IP
解绑弹性公网IP
Please refer to HUAWEI cloud API Explorer for details.
:param request: Request instance for UpdateDisassociatePublicip
:type request: :class:`huaweicloudsdkeip.v3.UpdateDisassociatePublicipRequest`
:rtype: :class:`huaweicloudsdkeip.v3.UpdateDisassociatePublicipResponse`
"""
return self._update_disassociate_publicip_with_http_info(request)
def _update_disassociate_publicip_with_http_info(self, request):
local_var_params = {attr: getattr(request, attr) for attr in request.attribute_map if hasattr(request, attr)}
cname = None
collection_formats = {}
path_params = {}
if 'publicip_id' in local_var_params:
path_params['publicip_id'] = local_var_params['publicip_id']
query_params = []
header_params = {}
form_params = {}
body_params = None
if 'body' in local_var_params:
body_params = local_var_params['body']
if isinstance(request, SdkStreamRequest):
body_params = request.get_file_stream()
response_headers = []
header_params['Content-Type'] = http_utils.select_header_content_type(
['application/json;charset=UTF-8'])
auth_settings = []
return self.call_api(
resource_path='/v3/{project_id}/eip/publicips/{publicip_id}/disassociate-instance',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
cname=cname,
response_type='UpdateDisassociatePublicipResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None, body=None,
post_params=None, cname=None, response_type=None, response_headers=None, auth_settings=None,
collection_formats=None, request_type=None):
"""Makes the HTTP request and returns deserialized data.
:param resource_path: Path to method endpoint.
:param method: Method to call.
:param path_params: Path parameters in the url.
:param query_params: Query parameters in the url.
:param header_params: Header parameters to be
placed in the request header.
:param body: Request body.
:param post_params: Request post form parameters,
for `application/x-www-form-urlencoded`, `multipart/form-data`.
:param cname: Used for obs endpoint.
:param auth_settings: Auth Settings names for the request.
:param response_type: Response data type.
:param response_headers: Header should be added to response data.
:param collection_formats: dict of collection formats for path, query,
header, and post parameters.
:param request_type: Request data type.
:return:
Return the response directly.
"""
return self.do_http_request(
method=method,
resource_path=resource_path,
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body,
post_params=post_params,
cname=cname,
response_type=response_type,
response_headers=response_headers,
collection_formats=collection_formats,
request_type=request_type,
async_request=True)