# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class DataPoint(AbstractModel): """监控数据点 """ def __init__(self): r""" :param _Dimensions: 实例对象维度组合 :type Dimensions: list of Dimension :param _Timestamps: 时间戳数组,表示那些时间点有数据,缺失的时间戳,没有数据点,可以理解为掉点了 :type Timestamps: list of float :param _Values: 监控值数组,该数组和Timestamps一一对应 :type Values: list of float """ self._Dimensions = None self._Timestamps = None self._Values = None @property def Dimensions(self): """实例对象维度组合 :rtype: list of Dimension """ return self._Dimensions @Dimensions.setter def Dimensions(self, Dimensions): self._Dimensions = Dimensions @property def Timestamps(self): """时间戳数组,表示那些时间点有数据,缺失的时间戳,没有数据点,可以理解为掉点了 :rtype: list of float """ return self._Timestamps @Timestamps.setter def Timestamps(self, Timestamps): self._Timestamps = Timestamps @property def Values(self): """监控值数组,该数组和Timestamps一一对应 :rtype: list of float """ return self._Values @Values.setter def Values(self, Values): self._Values = Values def _deserialize(self, params): if params.get("Dimensions") is not None: self._Dimensions = [] for item in params.get("Dimensions"): obj = Dimension() obj._deserialize(item) self._Dimensions.append(obj) self._Timestamps = params.get("Timestamps") self._Values = params.get("Values") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Dimension(AbstractModel): """实例对象的维度组合 """ def __init__(self): r""" :param _Name: 实例维度名称 注意:此字段可能返回 null,表示取不到有效值。 :type Name: str :param _Value: 实例维度值 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Name = None self._Value = None @property def Name(self): """实例维度名称 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """实例维度值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Expr(AbstractModel): """计算算子 """ def __init__(self): r""" :param _Function: 算子名称 :type Function: str :param _N: 算子入参值 :type N: float """ self._Function = None self._N = None @property def Function(self): """算子名称 :rtype: str """ return self._Function @Function.setter def Function(self, Function): self._Function = Function @property def N(self): """算子入参值 :rtype: float """ return self._N @N.setter def N(self, N): self._N = N def _deserialize(self, params): self._Function = params.get("Function") self._N = params.get("N") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class GetMonitorDataRequest(AbstractModel): """GetMonitorData请求参数结构体 """ def __init__(self): r""" :param _Namespace: 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 :type Namespace: str :param _MetricName: 指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName :type MetricName: str :param _Instances: 实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 :type Instances: list of Instance :param _Period: 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 :type Period: int :param _StartTime: 起始时间,如2018-09-22T19:51:23+08:00 :type StartTime: str :param _EndTime: 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime :type EndTime: str :param _Expr: 计算算子 :type Expr: :class:`tencentcloud.monitor.v20230616.models.Expr` """ self._Namespace = None self._MetricName = None self._Instances = None self._Period = None self._StartTime = None self._EndTime = None self._Expr = None @property def Namespace(self): """命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档 :rtype: str """ return self._Namespace @Namespace.setter def Namespace(self, Namespace): self._Namespace = Namespace @property def MetricName(self): """指标名称,如CPUUsage,仅支持单指标拉取。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName :rtype: str """ return self._MetricName @MetricName.setter def MetricName(self, MetricName): self._MetricName = MetricName @property def Instances(self): """实例对象的维度组合,格式为key-value键值对形式的集合。不同类型的实例字段完全不同,如CVM为[{"Name":"InstanceId","Value":"ins-j0hk02zo"}],Ckafka为[{"Name":"instanceId","Value":"ckafka-l49k54dd"}],COS为[{"Name":"appid","Value":"1258344699"},{"Name":"bucket","Value":"rig-1258344699"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值。单请求最多支持批量拉取10个实例的监控数据。 :rtype: list of Instance """ return self._Instances @Instances.setter def Instances(self, Instances): self._Instances = Instances @property def Period(self): """监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期。单请求的数据点数限制为1440个。 :rtype: int """ return self._Period @Period.setter def Period(self, Period): self._Period = Period @property def StartTime(self): """起始时间,如2018-09-22T19:51:23+08:00 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Expr(self): """计算算子 :rtype: :class:`tencentcloud.monitor.v20230616.models.Expr` """ return self._Expr @Expr.setter def Expr(self, Expr): self._Expr = Expr def _deserialize(self, params): self._Namespace = params.get("Namespace") self._MetricName = params.get("MetricName") if params.get("Instances") is not None: self._Instances = [] for item in params.get("Instances"): obj = Instance() obj._deserialize(item) self._Instances.append(obj) self._Period = params.get("Period") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") if params.get("Expr") is not None: self._Expr = Expr() self._Expr._deserialize(params.get("Expr")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class GetMonitorDataResponse(AbstractModel): """GetMonitorData返回参数结构体 """ def __init__(self): r""" :param _Period: 统计周期 :type Period: int :param _MetricName: 指标名 :type MetricName: str :param _DataPoints: 数据点数组 :type DataPoints: list of DataPoint :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Msg: 返回信息 :type Msg: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Period = None self._MetricName = None self._DataPoints = None self._StartTime = None self._EndTime = None self._Msg = None self._RequestId = None @property def Period(self): """统计周期 :rtype: int """ return self._Period @Period.setter def Period(self, Period): self._Period = Period @property def MetricName(self): """指标名 :rtype: str """ return self._MetricName @MetricName.setter def MetricName(self, MetricName): self._MetricName = MetricName @property def DataPoints(self): """数据点数组 :rtype: list of DataPoint """ return self._DataPoints @DataPoints.setter def DataPoints(self, DataPoints): self._DataPoints = DataPoints @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Msg(self): """返回信息 :rtype: str """ return self._Msg @Msg.setter def Msg(self, Msg): self._Msg = Msg @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Period = params.get("Period") self._MetricName = params.get("MetricName") if params.get("DataPoints") is not None: self._DataPoints = [] for item in params.get("DataPoints"): obj = DataPoint() obj._deserialize(item) self._DataPoints.append(obj) self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Msg = params.get("Msg") self._RequestId = params.get("RequestId") class Instance(AbstractModel): """实例维度组合数组 """ def __init__(self): r""" :param _Dimensions: 实例的维度组合 注意:此字段可能返回 null,表示取不到有效值。 :type Dimensions: list of Dimension """ self._Dimensions = None @property def Dimensions(self): """实例的维度组合 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of Dimension """ return self._Dimensions @Dimensions.setter def Dimensions(self, Dimensions): self._Dimensions = Dimensions def _deserialize(self, params): if params.get("Dimensions") is not None: self._Dimensions = [] for item in params.get("Dimensions"): obj = Dimension() obj._deserialize(item) self._Dimensions.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory