huaweicloud-sdk-python-v3/huaweicloud-sdk-ies/huaweicloudsdkies/v1/ies_client.py

583 lines
20 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
from __future__ import absolute_import
import datetime
import re
import importlib
import six
from huaweicloudsdkcore.client import Client, ClientBuilder
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcore.utils import http_utils
from huaweicloudsdkcore.sdk_stream_request import SdkStreamRequest
class IesClient(Client):
"""
:param configuration: .Configuration object for this client
:param pool_threads: The number of threads to use for async requests
to the API. More threads means more concurrent API requests.
"""
PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types
NATIVE_TYPES_MAPPING = {
'int': int,
'long': int if six.PY3 else long,
'float': float,
'str': str,
'bool': bool,
'date': datetime.date,
'datetime': datetime.datetime,
'object': object,
}
def __init__(self):
super(IesClient, self).__init__()
self.model_package = importlib.import_module("huaweicloudsdkies.v1.model")
self.preset_headers = {'User-Agent': 'HuaweiCloud-SDK-Python'}
@classmethod
def new_builder(cls, clazz=None):
if clazz is None:
return ClientBuilder(cls, "GlobalCredentials")
if clazz.__name__ != "IesClient":
raise TypeError("client type error, support client type is IesClient")
return ClientBuilder(clazz, "GlobalCredentials")
def create_edge_site(self, request):
"""创建边缘小站
创建边缘小站。
- 一个边缘小站关联一个华为云指定的区域。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateEdgeSite
:type request: :class:`huaweicloudsdkies.v1.CreateEdgeSiteRequest`
:rtype: :class:`huaweicloudsdkies.v1.CreateEdgeSiteResponse`
"""
return self.create_edge_site_with_http_info(request)
def create_edge_site_with_http_info(self, request):
all_params = ['create_edge_site_request_body']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
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'])
auth_settings = []
return self.call_api(
resource_path='/v1/{domain_id}/edge-sites',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateEdgeSiteResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def delete_edge_site(self, request):
"""删除边缘小站
删除指定的边缘小站。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for DeleteEdgeSite
:type request: :class:`huaweicloudsdkies.v1.DeleteEdgeSiteRequest`
:rtype: :class:`huaweicloudsdkies.v1.DeleteEdgeSiteResponse`
"""
return self.delete_edge_site_with_http_info(request)
def delete_edge_site_with_http_info(self, request):
all_params = ['site_id']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
collection_formats = {}
path_params = {}
if 'site_id' in local_var_params:
path_params['site_id'] = local_var_params['site_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='/v1/{domain_id}/edge-sites/{site_id}',
method='DELETE',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='DeleteEdgeSiteResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_edge_sites(self, request):
"""查询边缘小站列表
查询边缘小站列表。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListEdgeSites
:type request: :class:`huaweicloudsdkies.v1.ListEdgeSitesRequest`
:rtype: :class:`huaweicloudsdkies.v1.ListEdgeSitesResponse`
"""
return self.list_edge_sites_with_http_info(request)
def list_edge_sites_with_http_info(self, request):
all_params = ['limit', 'marker', 'sort_key', 'sort_dir', 'id', 'name', 'availability_zone_id', 'status']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
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 'sort_key' in local_var_params:
query_params.append(('sort_key', local_var_params['sort_key']))
collection_formats['sort_key'] = 'multi'
if 'sort_dir' in local_var_params:
query_params.append(('sort_dir', local_var_params['sort_dir']))
collection_formats['sort_dir'] = 'multi'
if 'id' in local_var_params:
query_params.append(('id', local_var_params['id']))
collection_formats['id'] = 'multi'
if 'name' in local_var_params:
query_params.append(('name', local_var_params['name']))
collection_formats['name'] = 'multi'
if 'availability_zone_id' in local_var_params:
query_params.append(('availability_zone_id', local_var_params['availability_zone_id']))
collection_formats['availability_zone_id'] = 'multi'
if 'status' in local_var_params:
query_params.append(('status', local_var_params['status']))
collection_formats['status'] = '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='/v1/{domain_id}/edge-sites',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListEdgeSitesResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_edge_site(self, request):
"""查询边缘小站详情
查询边缘小站详情。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowEdgeSite
:type request: :class:`huaweicloudsdkies.v1.ShowEdgeSiteRequest`
:rtype: :class:`huaweicloudsdkies.v1.ShowEdgeSiteResponse`
"""
return self.show_edge_site_with_http_info(request)
def show_edge_site_with_http_info(self, request):
all_params = ['site_id']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
collection_formats = {}
path_params = {}
if 'site_id' in local_var_params:
path_params['site_id'] = local_var_params['site_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='/v1/{domain_id}/edge-sites/{site_id}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ShowEdgeSiteResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_edge_site(self, request):
"""更新边缘小站
更新边缘小站。
- 允许更新边缘小站描述或场地信息。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for UpdateEdgeSite
:type request: :class:`huaweicloudsdkies.v1.UpdateEdgeSiteRequest`
:rtype: :class:`huaweicloudsdkies.v1.UpdateEdgeSiteResponse`
"""
return self.update_edge_site_with_http_info(request)
def update_edge_site_with_http_info(self, request):
all_params = ['site_id', 'update_edge_site_request_body']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
collection_formats = {}
path_params = {}
if 'site_id' in local_var_params:
path_params['site_id'] = local_var_params['site_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'])
auth_settings = []
return self.call_api(
resource_path='/v1/{domain_id}/edge-sites/{site_id}',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='UpdateEdgeSiteResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_edge_site_metrics(self, request):
"""查看站点容量信息
查看站点容量信息。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListEdgeSiteMetrics
:type request: :class:`huaweicloudsdkies.v1.ListEdgeSiteMetricsRequest`
:rtype: :class:`huaweicloudsdkies.v1.ListEdgeSiteMetricsResponse`
"""
return self.list_edge_site_metrics_with_http_info(request)
def list_edge_site_metrics_with_http_info(self, request):
all_params = ['site_id', 'dim']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
collection_formats = {}
path_params = {}
if 'site_id' in local_var_params:
path_params['site_id'] = local_var_params['site_id']
query_params = []
if 'dim' in local_var_params:
query_params.append(('dim', local_var_params['dim']))
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='/v1/{domain_id}/edge-sites/{site_id}/metric-data',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListEdgeSiteMetricsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_quotas(self, request):
"""查询配额
查询租户资源配额。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListQuotas
:type request: :class:`huaweicloudsdkies.v1.ListQuotasRequest`
:rtype: :class:`huaweicloudsdkies.v1.ListQuotasResponse`
"""
return self.list_quotas_with_http_info(request)
def list_quotas_with_http_info(self, request):
all_params = []
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
collection_formats = {}
path_params = {}
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='/v1/{domain_id}/quotas',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListQuotasResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_supported_regions(self, request):
"""查询支持的区域列表
查询支持智能边缘小站接入的华为云区域region列表。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListSupportedRegions
:type request: :class:`huaweicloudsdkies.v1.ListSupportedRegionsRequest`
:rtype: :class:`huaweicloudsdkies.v1.ListSupportedRegionsResponse`
"""
return self.list_supported_regions_with_http_info(request)
def list_supported_regions_with_http_info(self, request):
all_params = ['x_language', 'limit', 'marker', 'sort_key', 'sort_dir']
local_var_params = {}
for attr in request.attribute_map:
if hasattr(request, attr):
local_var_params[attr] = getattr(request, attr)
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 'sort_key' in local_var_params:
query_params.append(('sort_key', local_var_params['sort_key']))
collection_formats['sort_key'] = 'multi'
if 'sort_dir' in local_var_params:
query_params.append(('sort_dir', local_var_params['sort_dir']))
collection_formats['sort_dir'] = 'multi'
header_params = {}
if 'x_language' in local_var_params:
header_params['X-Language'] = local_var_params['x_language']
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='/v1/{domain_id}/regions',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListSupportedRegionsResponse',
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, 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 dict: Request post form parameters,
for `application/x-www-form-urlencoded`, `multipart/form-data`.
:param auth_settings list: 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,
response_type=response_type,
response_headers=response_headers,
collection_formats=collection_formats,
request_type=request_type)