# coding: utf-8 import re import six from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization class ShowMetricDataRequest: """ 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', 'dim_0': 'str', 'dim_1': 'str', 'dim_2': 'str', 'dim_3': 'str', 'filter': 'str', 'period': 'int', '_from': 'int', 'to': 'int' } attribute_map = { 'namespace': 'namespace', 'metric_name': 'metric_name', 'dim_0': 'dim.0', 'dim_1': 'dim.1', 'dim_2': 'dim.2', 'dim_3': 'dim.3', 'filter': 'filter', 'period': 'period', '_from': 'from', 'to': 'to' } def __init__(self, namespace=None, metric_name=None, dim_0=None, dim_1=None, dim_2=None, dim_3=None, filter=None, period=None, _from=None, to=None): """ShowMetricDataRequest The model defined in huaweicloud sdk :param namespace: 指标命名空间,如:弹性云服务器的命名空间为SYS.ECS,文档数据库的命名空间为SYS.DDS,各服务的命名空间可查看:“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type namespace: str :param metric_name: 资源的监控指标名称,如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率;各服务的指标名称可查看:“[服务指标名称](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type metric_name: str :param dim_0: 指标的第一层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.0=key,value,如mongodb_cluster_id,4270ff17-aba3-4138-89fa-820594c39755;key为指标的维度信息,如:文档数据库服务,则第一层维度为mongodb_cluster_id,value为文档数据库实例ID;各服务资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type dim_0: str :param dim_1: 指标的第二层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.1=key,value,如mongos_instance_id,c65d39d7-185c-4616-9aca-ad65703b15f9;key为指标的维度信息,如:文档数据库服务,则第二层维度为mongos_instance_id,value为文档数据库集群实例下的mongos节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type dim_1: str :param dim_2: 指标的第三层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.2=key,value,如mongod_primary_instance_id,5f9498e9-36f8-4317-9ea1-ebe28cba99b4;key为指标的维度信息,如:文档数据库服务,则第三层维度为mongod_primary_instance_id,value为文档数据库实例下的主节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type dim_2: str :param dim_3: 指标的第四层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.3=key,value,如mongod_secondary_instance_id,b46fa2c7-aac6-4ae3-9337-f4ea97f885cb;key为指标的维度信息,如:文档数据库服务,则第四层维度为mongod_secondary_instance_id,value为文档数据库实例下的备节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :type dim_3: str :param filter: 数据聚合方式。支持的值为max, min, average, sum, variance。 :type filter: str :param period: 指标监控数据的聚合粒度,取值范围:1,300,1200,3600,14400,86400;1为监控资源的实时数据;300为聚合5分钟粒度数据,表示5分钟一个数据点;1200为聚合20分钟粒度数据,表示20分钟一个数据点;3600为聚合1小时粒度数据,表示1小时一个数据点;14400为聚合4小时粒度数据,表示4小时一个数据点;86400为聚合1天粒度数据,表示1天一个数据点;聚合解释可查看:“[聚合含义](https://support.huaweicloud.com/ces_faq/ces_faq_0009.html)”。 :type period: int :param _from: 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。云监控会根据所选择的聚合粒度向前取整from参数;如:1607146998177。 :type _from: int :param to: 查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to;如:1607150598177。 :type to: int """ self._namespace = None self._metric_name = None self._dim_0 = None self._dim_1 = None self._dim_2 = None self._dim_3 = None self._filter = None self._period = None self.__from = None self._to = None self.discriminator = None self.namespace = namespace self.metric_name = metric_name self.dim_0 = dim_0 if dim_1 is not None: self.dim_1 = dim_1 if dim_2 is not None: self.dim_2 = dim_2 if dim_3 is not None: self.dim_3 = dim_3 self.filter = filter self.period = period self._from = _from self.to = to @property def namespace(self): """Gets the namespace of this ShowMetricDataRequest. 指标命名空间,如:弹性云服务器的命名空间为SYS.ECS,文档数据库的命名空间为SYS.DDS,各服务的命名空间可查看:“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The namespace of this ShowMetricDataRequest. :rtype: str """ return self._namespace @namespace.setter def namespace(self, namespace): """Sets the namespace of this ShowMetricDataRequest. 指标命名空间,如:弹性云服务器的命名空间为SYS.ECS,文档数据库的命名空间为SYS.DDS,各服务的命名空间可查看:“[服务命名空间](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :param namespace: The namespace of this ShowMetricDataRequest. :type namespace: str """ self._namespace = namespace @property def metric_name(self): """Gets the metric_name of this ShowMetricDataRequest. 资源的监控指标名称,如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率;各服务的指标名称可查看:“[服务指标名称](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The metric_name of this ShowMetricDataRequest. :rtype: str """ return self._metric_name @metric_name.setter def metric_name(self, metric_name): """Sets the metric_name of this ShowMetricDataRequest. 资源的监控指标名称,如:弹性云服务器中的监控指标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 ShowMetricDataRequest. :type metric_name: str """ self._metric_name = metric_name @property def dim_0(self): """Gets the dim_0 of this ShowMetricDataRequest. 指标的第一层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.0=key,value,如mongodb_cluster_id,4270ff17-aba3-4138-89fa-820594c39755;key为指标的维度信息,如:文档数据库服务,则第一层维度为mongodb_cluster_id,value为文档数据库实例ID;各服务资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The dim_0 of this ShowMetricDataRequest. :rtype: str """ return self._dim_0 @dim_0.setter def dim_0(self, dim_0): """Sets the dim_0 of this ShowMetricDataRequest. 指标的第一层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.0=key,value,如mongodb_cluster_id,4270ff17-aba3-4138-89fa-820594c39755;key为指标的维度信息,如:文档数据库服务,则第一层维度为mongodb_cluster_id,value为文档数据库实例ID;各服务资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :param dim_0: The dim_0 of this ShowMetricDataRequest. :type dim_0: str """ self._dim_0 = dim_0 @property def dim_1(self): """Gets the dim_1 of this ShowMetricDataRequest. 指标的第二层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.1=key,value,如mongos_instance_id,c65d39d7-185c-4616-9aca-ad65703b15f9;key为指标的维度信息,如:文档数据库服务,则第二层维度为mongos_instance_id,value为文档数据库集群实例下的mongos节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The dim_1 of this ShowMetricDataRequest. :rtype: str """ return self._dim_1 @dim_1.setter def dim_1(self, dim_1): """Sets the dim_1 of this ShowMetricDataRequest. 指标的第二层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.1=key,value,如mongos_instance_id,c65d39d7-185c-4616-9aca-ad65703b15f9;key为指标的维度信息,如:文档数据库服务,则第二层维度为mongos_instance_id,value为文档数据库集群实例下的mongos节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :param dim_1: The dim_1 of this ShowMetricDataRequest. :type dim_1: str """ self._dim_1 = dim_1 @property def dim_2(self): """Gets the dim_2 of this ShowMetricDataRequest. 指标的第三层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.2=key,value,如mongod_primary_instance_id,5f9498e9-36f8-4317-9ea1-ebe28cba99b4;key为指标的维度信息,如:文档数据库服务,则第三层维度为mongod_primary_instance_id,value为文档数据库实例下的主节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The dim_2 of this ShowMetricDataRequest. :rtype: str """ return self._dim_2 @dim_2.setter def dim_2(self, dim_2): """Sets the dim_2 of this ShowMetricDataRequest. 指标的第三层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.2=key,value,如mongod_primary_instance_id,5f9498e9-36f8-4317-9ea1-ebe28cba99b4;key为指标的维度信息,如:文档数据库服务,则第三层维度为mongod_primary_instance_id,value为文档数据库实例下的主节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :param dim_2: The dim_2 of this ShowMetricDataRequest. :type dim_2: str """ self._dim_2 = dim_2 @property def dim_3(self): """Gets the dim_3 of this ShowMetricDataRequest. 指标的第四层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.3=key,value,如mongod_secondary_instance_id,b46fa2c7-aac6-4ae3-9337-f4ea97f885cb;key为指标的维度信息,如:文档数据库服务,则第四层维度为mongod_secondary_instance_id,value为文档数据库实例下的备节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :return: The dim_3 of this ShowMetricDataRequest. :rtype: str """ return self._dim_3 @dim_3.setter def dim_3(self, dim_3): """Sets the dim_3 of this ShowMetricDataRequest. 指标的第四层维度,目前最大支持4个维度,维度编号从0开始;维度格式为dim.3=key,value,如mongod_secondary_instance_id,b46fa2c7-aac6-4ae3-9337-f4ea97f885cb;key为指标的维度信息,如:文档数据库服务,则第四层维度为mongod_secondary_instance_id,value为文档数据库实例下的备节点ID;各资源的指标维度名称可查看:“[服务指标维度](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html)”。 :param dim_3: The dim_3 of this ShowMetricDataRequest. :type dim_3: str """ self._dim_3 = dim_3 @property def filter(self): """Gets the filter of this ShowMetricDataRequest. 数据聚合方式。支持的值为max, min, average, sum, variance。 :return: The filter of this ShowMetricDataRequest. :rtype: str """ return self._filter @filter.setter def filter(self, filter): """Sets the filter of this ShowMetricDataRequest. 数据聚合方式。支持的值为max, min, average, sum, variance。 :param filter: The filter of this ShowMetricDataRequest. :type filter: str """ self._filter = filter @property def period(self): """Gets the period of this ShowMetricDataRequest. 指标监控数据的聚合粒度,取值范围:1,300,1200,3600,14400,86400;1为监控资源的实时数据;300为聚合5分钟粒度数据,表示5分钟一个数据点;1200为聚合20分钟粒度数据,表示20分钟一个数据点;3600为聚合1小时粒度数据,表示1小时一个数据点;14400为聚合4小时粒度数据,表示4小时一个数据点;86400为聚合1天粒度数据,表示1天一个数据点;聚合解释可查看:“[聚合含义](https://support.huaweicloud.com/ces_faq/ces_faq_0009.html)”。 :return: The period of this ShowMetricDataRequest. :rtype: int """ return self._period @period.setter def period(self, period): """Sets the period of this ShowMetricDataRequest. 指标监控数据的聚合粒度,取值范围:1,300,1200,3600,14400,86400;1为监控资源的实时数据;300为聚合5分钟粒度数据,表示5分钟一个数据点;1200为聚合20分钟粒度数据,表示20分钟一个数据点;3600为聚合1小时粒度数据,表示1小时一个数据点;14400为聚合4小时粒度数据,表示4小时一个数据点;86400为聚合1天粒度数据,表示1天一个数据点;聚合解释可查看:“[聚合含义](https://support.huaweicloud.com/ces_faq/ces_faq_0009.html)”。 :param period: The period of this ShowMetricDataRequest. :type period: int """ self._period = period @property def _from(self): """Gets the _from of this ShowMetricDataRequest. 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。云监控会根据所选择的聚合粒度向前取整from参数;如:1607146998177。 :return: The _from of this ShowMetricDataRequest. :rtype: int """ return self.__from @_from.setter def _from(self, _from): """Sets the _from of this ShowMetricDataRequest. 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。云监控会根据所选择的聚合粒度向前取整from参数;如:1607146998177。 :param _from: The _from of this ShowMetricDataRequest. :type _from: int """ self.__from = _from @property def to(self): """Gets the to of this ShowMetricDataRequest. 查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to;如:1607150598177。 :return: The to of this ShowMetricDataRequest. :rtype: int """ return self._to @to.setter def to(self, to): """Sets the to of this ShowMetricDataRequest. 查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to;如:1607150598177。 :param to: The to of this ShowMetricDataRequest. :type to: int """ self._to = to 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, ShowMetricDataRequest): return False return self.__dict__ == other.__dict__ def __ne__(self, other): """Returns true if both objects are not equal""" return not self == other