huaweicloud-sdk-python-v3/huaweicloud-sdk-ces/huaweicloudsdkces/v1/model/metric_info.py

175 lines
7.3 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
import re
import six
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
class MetricInfo:
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
sensitive_list = []
openapi_types = {
'namespace': 'str',
'metric_name': 'str',
'dimensions': 'list[MetricsDimension]'
}
attribute_map = {
'namespace': 'namespace',
'metric_name': 'metric_name',
'dimensions': 'dimensions'
}
def __init__(self, namespace=None, metric_name=None, dimensions=None):
"""MetricInfo
The model defined in huaweicloud sdk
:param namespace: 服务指标命名空间格式为service.itemservice和item必须是字符串必须以字母开头只能包含0-9/a-z/A-Z/_字符总长度最短为3最大为32。说明 当alarm_type为EVENT.SYS| EVENT.CUSTOM时允许为空弹性云服务器的命名空间为SYS.ECS文档数据库的命名空间为SYS.DDS各服务的命名空间可查看“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:type namespace: str
:param metric_name: 资源的监控指标名称必须以字母开头只能包含0-9/a-z/A-Z/_字符长度最短为1最大为64弹性云服务器中的监控指标cpu_util表示弹性服务器的CPU使用率文档数据库中的指标mongo001_command_ps表示command执行频率各服务的指标名称可查看“[服务指标名称](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:type metric_name: str
:param dimensions: 指标维度目前最大可添加4个维度。
:type dimensions: list[:class:`huaweicloudsdkces.v1.MetricsDimension`]
"""
self._namespace = None
self._metric_name = None
self._dimensions = None
self.discriminator = None
self.namespace = namespace
self.metric_name = metric_name
self.dimensions = dimensions
@property
def namespace(self):
"""Gets the namespace of this MetricInfo.
服务指标命名空间格式为service.itemservice和item必须是字符串必须以字母开头只能包含0-9/a-z/A-Z/_字符总长度最短为3最大为32。说明 当alarm_type为EVENT.SYS| EVENT.CUSTOM时允许为空弹性云服务器的命名空间为SYS.ECS文档数据库的命名空间为SYS.DDS各服务的命名空间可查看“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:return: The namespace of this MetricInfo.
:rtype: str
"""
return self._namespace
@namespace.setter
def namespace(self, namespace):
"""Sets the namespace of this MetricInfo.
服务指标命名空间格式为service.itemservice和item必须是字符串必须以字母开头只能包含0-9/a-z/A-Z/_字符总长度最短为3最大为32。说明 当alarm_type为EVENT.SYS| EVENT.CUSTOM时允许为空弹性云服务器的命名空间为SYS.ECS文档数据库的命名空间为SYS.DDS各服务的命名空间可查看“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:param namespace: The namespace of this MetricInfo.
:type namespace: str
"""
self._namespace = namespace
@property
def metric_name(self):
"""Gets the metric_name of this MetricInfo.
资源的监控指标名称必须以字母开头只能包含0-9/a-z/A-Z/_字符长度最短为1最大为64弹性云服务器中的监控指标cpu_util表示弹性服务器的CPU使用率文档数据库中的指标mongo001_command_ps表示command执行频率各服务的指标名称可查看“[服务指标名称](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:return: The metric_name of this MetricInfo.
:rtype: str
"""
return self._metric_name
@metric_name.setter
def metric_name(self, metric_name):
"""Sets the metric_name of this MetricInfo.
资源的监控指标名称必须以字母开头只能包含0-9/a-z/A-Z/_字符长度最短为1最大为64弹性云服务器中的监控指标cpu_util表示弹性服务器的CPU使用率文档数据库中的指标mongo001_command_ps表示command执行频率各服务的指标名称可查看“[服务指标名称](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。
:param metric_name: The metric_name of this MetricInfo.
:type metric_name: str
"""
self._metric_name = metric_name
@property
def dimensions(self):
"""Gets the dimensions of this MetricInfo.
指标维度目前最大可添加4个维度。
:return: The dimensions of this MetricInfo.
:rtype: list[:class:`huaweicloudsdkces.v1.MetricsDimension`]
"""
return self._dimensions
@dimensions.setter
def dimensions(self, dimensions):
"""Sets the dimensions of this MetricInfo.
指标维度目前最大可添加4个维度。
:param dimensions: The dimensions of this MetricInfo.
:type dimensions: list[:class:`huaweicloudsdkces.v1.MetricsDimension`]
"""
self._dimensions = dimensions
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
if attr in self.sensitive_list:
result[attr] = "****"
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
import simplejson as json
if six.PY2:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
def __repr__(self):
"""For `print`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, MetricInfo):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other