huaweicloud-sdk-python-v3/huaweicloud-sdk-ces/huaweicloudsdkces/v1/ces_async_client.py

1665 lines
59 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 CesAsyncClient(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(CesAsyncClient, self).__init__()
self.model_package = importlib.import_module("huaweicloudsdkces.v1.model")
self.preset_headers = {'User-Agent': 'HuaweiCloud-SDK-Python'}
@classmethod
def new_builder(cls, clazz=None):
if clazz is None:
return ClientBuilder(cls)
if clazz.__name__ != "CesClient":
raise TypeError("client type error, support client type is CesClient")
return ClientBuilder(clazz)
def batch_list_metric_data_async(self, request):
"""批量查询监控数据
批量查询指定时间范围内指定指标的指定粒度的监控数据目前最多支持500指标的批量查询。 对于不同的period取值和查询的指标数量默认的最大查询区间(to-from)不同。 规则为\"指标数量*(to-from)/监控周期<=3000\"若超出阈值会自动调整from以满足规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for BatchListMetricData
:type request: :class:`huaweicloudsdkces.v1.BatchListMetricDataRequest`
:rtype: :class:`huaweicloudsdkces.v1.BatchListMetricDataResponse`
"""
return self.batch_list_metric_data_with_http_info(request)
def batch_list_metric_data_with_http_info(self, request):
all_params = ['batch_list_metric_data_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.0/{project_id}/batch-query-metric-data',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='BatchListMetricDataResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def create_alarm_async(self, request):
"""创建告警规则
创建一条告警规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateAlarm
:type request: :class:`huaweicloudsdkces.v1.CreateAlarmRequest`
:rtype: :class:`huaweicloudsdkces.v1.CreateAlarmResponse`
"""
return self.create_alarm_with_http_info(request)
def create_alarm_with_http_info(self, request):
all_params = ['create_alarm_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.0/{project_id}/alarms',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateAlarmResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def create_alarm_template_async(self, request):
"""创建自定义告警模板
创建自定义告警模板。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateAlarmTemplate
:type request: :class:`huaweicloudsdkces.v1.CreateAlarmTemplateRequest`
:rtype: :class:`huaweicloudsdkces.v1.CreateAlarmTemplateResponse`
"""
return self.create_alarm_template_with_http_info(request)
def create_alarm_template_with_http_info(self, request):
all_params = ['create_alarm_template_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.0/{project_id}/alarm-template',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateAlarmTemplateResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def create_events_async(self, request):
"""上报事件
上报自定义事件。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateEvents
:type request: :class:`huaweicloudsdkces.v1.CreateEventsRequest`
:rtype: :class:`huaweicloudsdkces.v1.CreateEventsResponse`
"""
return self.create_events_with_http_info(request)
def create_events_with_http_info(self, request):
all_params = ['event_items']
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.0/{project_id}/events',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateEventsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def create_metric_data_async(self, request):
"""添加监控数据
添加一条或多条指标监控数据。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateMetricData
:type request: :class:`huaweicloudsdkces.v1.CreateMetricDataRequest`
:rtype: :class:`huaweicloudsdkces.v1.CreateMetricDataResponse`
"""
return self.create_metric_data_with_http_info(request)
def create_metric_data_with_http_info(self, request):
all_params = ['metric_data_item']
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.0/{project_id}/metric-data',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateMetricDataResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def create_resource_group_async(self, request):
"""创建资源分组
创建资源分组,资源分组支持将各类资源按照业务集中进行分组管理,可以从分组角度查看监控与告警信息,以提升运维效率。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for CreateResourceGroup
:type request: :class:`huaweicloudsdkces.v1.CreateResourceGroupRequest`
:rtype: :class:`huaweicloudsdkces.v1.CreateResourceGroupResponse`
"""
return self.create_resource_group_with_http_info(request)
def create_resource_group_with_http_info(self, request):
all_params = ['create_resource_group_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.0/{project_id}/resource-groups',
method='POST',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='CreateResourceGroupResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def delete_alarm_async(self, request):
"""删除告警规则
删除一条告警规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for DeleteAlarm
:type request: :class:`huaweicloudsdkces.v1.DeleteAlarmRequest`
:rtype: :class:`huaweicloudsdkces.v1.DeleteAlarmResponse`
"""
return self.delete_alarm_with_http_info(request)
def delete_alarm_with_http_info(self, request):
all_params = ['alarm_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 'alarm_id' in local_var_params:
path_params['alarm_id'] = local_var_params['alarm_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.0/{project_id}/alarms/{alarm_id}',
method='DELETE',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='DeleteAlarmResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def delete_alarm_template_async(self, request):
"""删除自定义告警模板
根据ID删除自定义告警模板。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for DeleteAlarmTemplate
:type request: :class:`huaweicloudsdkces.v1.DeleteAlarmTemplateRequest`
:rtype: :class:`huaweicloudsdkces.v1.DeleteAlarmTemplateResponse`
"""
return self.delete_alarm_template_with_http_info(request)
def delete_alarm_template_with_http_info(self, request):
all_params = ['template_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 'template_id' in local_var_params:
path_params['template_id'] = local_var_params['template_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.0/{project_id}/alarm-template/{template_id}',
method='DELETE',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='DeleteAlarmTemplateResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def delete_resource_group_async(self, request):
"""删除资源分组
删除一条资源分组。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for DeleteResourceGroup
:type request: :class:`huaweicloudsdkces.v1.DeleteResourceGroupRequest`
:rtype: :class:`huaweicloudsdkces.v1.DeleteResourceGroupResponse`
"""
return self.delete_resource_group_with_http_info(request)
def delete_resource_group_with_http_info(self, request):
all_params = ['group_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 'group_id' in local_var_params:
path_params['group_id'] = local_var_params['group_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.0/{project_id}/resource-groups/{group_id}',
method='DELETE',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='DeleteResourceGroupResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_alarm_histories_async(self, request):
"""查询告警历史
查询告警历史列表。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListAlarmHistories
:type request: :class:`huaweicloudsdkces.v1.ListAlarmHistoriesRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListAlarmHistoriesResponse`
"""
return self.list_alarm_histories_with_http_info(request)
def list_alarm_histories_with_http_info(self, request):
all_params = ['group_id', 'alarm_id', 'alarm_name', 'alarm_status', 'alarm_level', 'namespace', '_from', 'to', 'start', 'limit']
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 'group_id' in local_var_params:
query_params.append(('group_id', local_var_params['group_id']))
if 'alarm_id' in local_var_params:
query_params.append(('alarm_id', local_var_params['alarm_id']))
if 'alarm_name' in local_var_params:
query_params.append(('alarm_name', local_var_params['alarm_name']))
if 'alarm_status' in local_var_params:
query_params.append(('alarm_status', local_var_params['alarm_status']))
if 'alarm_level' in local_var_params:
query_params.append(('alarm_level', local_var_params['alarm_level']))
if 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if '_from' in local_var_params:
query_params.append(('from', local_var_params['_from']))
if 'to' in local_var_params:
query_params.append(('to', local_var_params['to']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/alarm-histories',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListAlarmHistoriesResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_alarm_templates_async(self, request):
"""查询自定义告警模板列表
查询自定义告警模板列表
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListAlarmTemplates
:type request: :class:`huaweicloudsdkces.v1.ListAlarmTemplatesRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListAlarmTemplatesResponse`
"""
return self.list_alarm_templates_with_http_info(request)
def list_alarm_templates_with_http_info(self, request):
all_params = ['alarm_template_id', 'namespace', 'dname', 'start', 'limit']
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 'alarm_template_id' in local_var_params:
query_params.append(('alarmTemplateId', local_var_params['alarm_template_id']))
if 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if 'dname' in local_var_params:
query_params.append(('dname', local_var_params['dname']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/alarm-template',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListAlarmTemplatesResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_alarms_async(self, request):
"""查询告警规则列表
查询告警规则列表,可以指定分页条件限制结果数量,可以指定排序规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListAlarms
:type request: :class:`huaweicloudsdkces.v1.ListAlarmsRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListAlarmsResponse`
"""
return self.list_alarms_with_http_info(request)
def list_alarms_with_http_info(self, request):
all_params = ['limit', 'order', 'start']
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 'order' in local_var_params:
query_params.append(('order', local_var_params['order']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
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.0/{project_id}/alarms',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListAlarmsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_event_detail_async(self, request):
"""查询某一事件监控详情
根据事件监控名称,查询该事件发生的详细信息。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListEventDetail
:type request: :class:`huaweicloudsdkces.v1.ListEventDetailRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListEventDetailResponse`
"""
return self.list_event_detail_with_http_info(request)
def list_event_detail_with_http_info(self, request):
all_params = ['event_name', 'event_type', 'event_source', 'event_level', 'event_user', 'event_state', '_from', 'to', 'start', 'limit']
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 'event_name' in local_var_params:
path_params['event_name'] = local_var_params['event_name']
query_params = []
if 'event_type' in local_var_params:
query_params.append(('event_type', local_var_params['event_type']))
if 'event_source' in local_var_params:
query_params.append(('event_source', local_var_params['event_source']))
if 'event_level' in local_var_params:
query_params.append(('event_level', local_var_params['event_level']))
if 'event_user' in local_var_params:
query_params.append(('event_user', local_var_params['event_user']))
if 'event_state' in local_var_params:
query_params.append(('event_state', local_var_params['event_state']))
if '_from' in local_var_params:
query_params.append(('from', local_var_params['_from']))
if 'to' in local_var_params:
query_params.append(('to', local_var_params['to']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/event/{event_name}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListEventDetailResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_events_async(self, request):
"""查询事件监控列表
查询事件监控列表,包括系统事件和自定义事件。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListEvents
:type request: :class:`huaweicloudsdkces.v1.ListEventsRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListEventsResponse`
"""
return self.list_events_with_http_info(request)
def list_events_with_http_info(self, request):
all_params = ['event_type', 'event_name', '_from', 'to', 'start', 'limit']
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 'event_type' in local_var_params:
query_params.append(('event_type', local_var_params['event_type']))
if 'event_name' in local_var_params:
query_params.append(('event_name', local_var_params['event_name']))
if '_from' in local_var_params:
query_params.append(('from', local_var_params['_from']))
if 'to' in local_var_params:
query_params.append(('to', local_var_params['to']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/events',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListEventsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_metrics_async(self, request):
"""查询指标列表
查询系统当前可监控指标列表,可以指定指标命名空间、指标名称、维度、排序方式,起始记录和最大记录条数过滤查询结果。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListMetrics
:type request: :class:`huaweicloudsdkces.v1.ListMetricsRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListMetricsResponse`
"""
return self.list_metrics_with_http_info(request)
def list_metrics_with_http_info(self, request):
all_params = ['dim_0', 'dim_1', 'dim_2', 'limit', 'metric_name', 'namespace', 'order', 'start']
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 'dim_0' in local_var_params:
query_params.append(('dim.0', local_var_params['dim_0']))
if 'dim_1' in local_var_params:
query_params.append(('dim.1', local_var_params['dim_1']))
if 'dim_2' in local_var_params:
query_params.append(('dim.2', local_var_params['dim_2']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
if 'metric_name' in local_var_params:
query_params.append(('metric_name', local_var_params['metric_name']))
if 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if 'order' in local_var_params:
query_params.append(('order', local_var_params['order']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
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.0/{project_id}/metrics',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListMetricsResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def list_resource_group_async(self, request):
"""查询所有资源分组
查询所创建的所有资源分组。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ListResourceGroup
:type request: :class:`huaweicloudsdkces.v1.ListResourceGroupRequest`
:rtype: :class:`huaweicloudsdkces.v1.ListResourceGroupResponse`
"""
return self.list_resource_group_with_http_info(request)
def list_resource_group_with_http_info(self, request):
all_params = ['group_name', 'group_id', 'status', 'start', 'limit']
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 'group_name' in local_var_params:
query_params.append(('group_name', local_var_params['group_name']))
if 'group_id' in local_var_params:
query_params.append(('group_id', local_var_params['group_id']))
if 'status' in local_var_params:
query_params.append(('status', local_var_params['status']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/resource-groups',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ListResourceGroupResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_alarm_async(self, request):
"""查询单条告警规则信息
根据告警ID查询告警规则信息。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowAlarm
:type request: :class:`huaweicloudsdkces.v1.ShowAlarmRequest`
:rtype: :class:`huaweicloudsdkces.v1.ShowAlarmResponse`
"""
return self.show_alarm_with_http_info(request)
def show_alarm_with_http_info(self, request):
all_params = ['alarm_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 'alarm_id' in local_var_params:
path_params['alarm_id'] = local_var_params['alarm_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.0/{project_id}/alarms/{alarm_id}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ShowAlarmResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_event_data_async(self, request):
"""查询主机配置数据
查询指定时间范围指定事件类型的主机配置数据可以通过参数指定需要查询的数据维度。注意该接口提供给HANA场景下SAP Monitor查询主机配置数据其他场景下查不到主机配置数据。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowEventData
:type request: :class:`huaweicloudsdkces.v1.ShowEventDataRequest`
:rtype: :class:`huaweicloudsdkces.v1.ShowEventDataResponse`
"""
return self.show_event_data_with_http_info(request)
def show_event_data_with_http_info(self, request):
all_params = ['namespace', 'dim_0', 'type', '_from', 'to', 'dim_1', 'dim_2', 'dim_3']
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 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if 'dim_0' in local_var_params:
query_params.append(('dim.0', local_var_params['dim_0']))
if 'dim_1' in local_var_params:
query_params.append(('dim.1', local_var_params['dim_1']))
if 'dim_2' in local_var_params:
query_params.append(('dim.2', local_var_params['dim_2']))
if 'dim_3' in local_var_params:
query_params.append(('dim.3', local_var_params['dim_3']))
if 'type' in local_var_params:
query_params.append(('type', local_var_params['type']))
if '_from' in local_var_params:
query_params.append(('from', local_var_params['_from']))
if 'to' in local_var_params:
query_params.append(('to', local_var_params['to']))
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.0/{project_id}/event-data',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ShowEventDataResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_metric_data_async(self, request):
"""查询监控数据
查询指定时间范围指定指标的指定粒度的监控数据,可以通过参数指定需要查询的数据维度。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowMetricData
:type request: :class:`huaweicloudsdkces.v1.ShowMetricDataRequest`
:rtype: :class:`huaweicloudsdkces.v1.ShowMetricDataResponse`
"""
return self.show_metric_data_with_http_info(request)
def show_metric_data_with_http_info(self, request):
all_params = ['namespace', 'metric_name', 'dim_0', 'filter', 'period', '_from', 'to', 'dim_1', 'dim_2', 'dim_3']
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 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if 'metric_name' in local_var_params:
query_params.append(('metric_name', local_var_params['metric_name']))
if 'dim_0' in local_var_params:
query_params.append(('dim.0', local_var_params['dim_0']))
if 'dim_1' in local_var_params:
query_params.append(('dim.1', local_var_params['dim_1']))
if 'dim_2' in local_var_params:
query_params.append(('dim.2', local_var_params['dim_2']))
if 'dim_3' in local_var_params:
query_params.append(('dim.3', local_var_params['dim_3']))
if 'filter' in local_var_params:
query_params.append(('filter', local_var_params['filter']))
if 'period' in local_var_params:
query_params.append(('period', local_var_params['period']))
if '_from' in local_var_params:
query_params.append(('from', local_var_params['_from']))
if 'to' in local_var_params:
query_params.append(('to', local_var_params['to']))
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.0/{project_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='ShowMetricDataResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_quotas_async(self, request):
"""查询配额
查询用户可以创建的资源配额总数及当前使用量,当前仅有告警规则一种资源类型。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowQuotas
:type request: :class:`huaweicloudsdkces.v1.ShowQuotasRequest`
:rtype: :class:`huaweicloudsdkces.v1.ShowQuotasResponse`
"""
return self.show_quotas_with_http_info(request)
def show_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.0/{project_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='ShowQuotasResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def show_resource_group_async(self, request):
"""查询资源分组下的资源
根据资源分组ID查询资源分组下的资源。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for ShowResourceGroup
:type request: :class:`huaweicloudsdkces.v1.ShowResourceGroupRequest`
:rtype: :class:`huaweicloudsdkces.v1.ShowResourceGroupResponse`
"""
return self.show_resource_group_with_http_info(request)
def show_resource_group_with_http_info(self, request):
all_params = ['group_id', 'status', 'namespace', 'dname', 'start', 'limit']
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 'group_id' in local_var_params:
path_params['group_id'] = local_var_params['group_id']
query_params = []
if 'status' in local_var_params:
query_params.append(('status', local_var_params['status']))
if 'namespace' in local_var_params:
query_params.append(('namespace', local_var_params['namespace']))
if 'dname' in local_var_params:
query_params.append(('dname', local_var_params['dname']))
if 'start' in local_var_params:
query_params.append(('start', local_var_params['start']))
if 'limit' in local_var_params:
query_params.append(('limit', local_var_params['limit']))
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.0/{project_id}/resource-groups/{group_id}',
method='GET',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='ShowResourceGroupResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_alarm_async(self, request):
"""修改告警规则
修改告警规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for UpdateAlarm
:type request: :class:`huaweicloudsdkces.v1.UpdateAlarmRequest`
:rtype: :class:`huaweicloudsdkces.v1.UpdateAlarmResponse`
"""
return self.update_alarm_with_http_info(request)
def update_alarm_with_http_info(self, request):
all_params = ['alarm_id', 'update_alarm_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 'alarm_id' in local_var_params:
path_params['alarm_id'] = local_var_params['alarm_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.0/{project_id}/alarms/{alarm_id}',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='UpdateAlarmResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_alarm_action_async(self, request):
"""启停告警规则
启动或停止一条告警规则。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for UpdateAlarmAction
:type request: :class:`huaweicloudsdkces.v1.UpdateAlarmActionRequest`
:rtype: :class:`huaweicloudsdkces.v1.UpdateAlarmActionResponse`
"""
return self.update_alarm_action_with_http_info(request)
def update_alarm_action_with_http_info(self, request):
all_params = ['alarm_id', 'modify_alarm_action_req']
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 'alarm_id' in local_var_params:
path_params['alarm_id'] = local_var_params['alarm_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.0/{project_id}/alarms/{alarm_id}/action',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='UpdateAlarmActionResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_alarm_template_async(self, request):
"""更新自定义告警模板
更新自定义告警模板。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for UpdateAlarmTemplate
:type request: :class:`huaweicloudsdkces.v1.UpdateAlarmTemplateRequest`
:rtype: :class:`huaweicloudsdkces.v1.UpdateAlarmTemplateResponse`
"""
return self.update_alarm_template_with_http_info(request)
def update_alarm_template_with_http_info(self, request):
all_params = ['template_id', 'update_alarm_template_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 'template_id' in local_var_params:
path_params['template_id'] = local_var_params['template_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.0/{project_id}/alarm-template/{template_id}',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='UpdateAlarmTemplateResponse',
response_headers=response_headers,
auth_settings=auth_settings,
collection_formats=collection_formats,
request_type=request.__class__.__name__)
def update_resource_group_async(self, request):
"""更新资源分组
更新资源分组,资源分组支持将各类资源按照业务集中进行分组管理,可以从分组角度查看监控与告警信息,以提升运维效率。
详细说明请参考华为云API Explorer。
Please refer to Huawei cloud API Explorer for details.
:param request: Request instance for UpdateResourceGroup
:type request: :class:`huaweicloudsdkces.v1.UpdateResourceGroupRequest`
:rtype: :class:`huaweicloudsdkces.v1.UpdateResourceGroupResponse`
"""
return self.update_resource_group_with_http_info(request)
def update_resource_group_with_http_info(self, request):
all_params = ['group_id', 'update_resource_group_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 'group_id' in local_var_params:
path_params['group_id'] = local_var_params['group_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.0/{project_id}/resource-groups/{group_id}',
method='PUT',
path_params=path_params,
query_params=query_params,
header_params=header_params,
body=body_params,
post_params=form_params,
response_type='UpdateResourceGroupResponse',
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,
async_request=True)