diff --git a/ucloud/services/cloudwatch/client.py b/ucloud/services/cloudwatch/client.py index 732d751..ea1026d 100644 --- a/ucloud/services/cloudwatch/client.py +++ b/ucloud/services/cloudwatch/client.py @@ -255,10 +255,10 @@ def get_metric_data_aggregation_method( resp = self.invoke("GetMetricDataAggregationMethod", d, **kwargs) return apis.GetMetricDataAggregationMethodResponseSchema().loads(resp) - def get_product_metrics( + def get_product_high_precision_metrics( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """GetProductMetrics - 获取云产品关联的指标列表 + """GetProductHighPrecisionMetrics - 获取云产品关联的高精度指标列表 **Request** @@ -270,6 +270,12 @@ def get_product_metrics( **Response Model** + **ConversionRule** + - **ConversionFactor** (int) - 转换因子 + - **From** (str) - 来源 + - **To** (str) - 目标 + + **MetricUnit** - **ConversionFactor** (int) - 转换因子 - **CreatedAt** (str) - 创建时间 @@ -302,6 +308,43 @@ def get_product_metrics( - **UpdatedBy** (str) - 修改者 + **MetricUnitConfig** + - **ConversionFactor** (int) - 转换因子 + - **ConversionRules** (list) - 见 **ConversionRule** 模型定义 + - **UnitCnNames** (list) - 指标中文名列表 + - **UnitEnNames** (list) - 指标英文名列表 + + + **GetProductMetricsRespData** + - **List** (list) - 见 **Metirc** 模型定义 + - **Total** (int) - 查询结果总数 + - **UnitConfigs** (list) - 见 **MetricUnitConfig** 模型定义 + + + """ + # build request + d = {} + req and d.update(req) + d = apis.GetProductHighPrecisionMetricsRequestSchema().dumps(d) + + resp = self.invoke("GetProductHighPrecisionMetrics", d, **kwargs) + return apis.GetProductHighPrecisionMetricsResponseSchema().loads(resp) + + def get_product_metrics( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetProductMetrics - 获取云产品关联的指标列表 + + **Request** + + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + + **Response** + + - **Data** (dict) - 见 **GetProductMetricsRespData** 模型定义 + + **Response Model** + **ConversionRule** - **ConversionFactor** (int) - 转换因子 - **From** (str) - 来源 @@ -315,6 +358,38 @@ def get_product_metrics( - **UnitEnNames** (list) - 指标英文名列表 + **MetricUnit** + - **ConversionFactor** (int) - 转换因子 + - **CreatedAt** (str) - 创建时间 + - **CreatedBy** (str) - 创建人 + - **DeletedAt** (int) - 删除时间 + - **GroupId** (int) - GroupId + - **UnitChName** (str) - 单位中文名称 + - **UnitDesc** (str) - 单位描述 + - **UnitEnName** (str) - 单位英文名称 + - **UnitID** (int) - 单位id + - **UpdatedAt** (str) - 修改时间 + - **UpdatedBy** (str) - 修改人 + + + **Metirc** + - **CreatedAt** (str) - 创建时间 + - **CreatedBy** (str) - 创建者 + - **FrequencyMs** (int) - 上报频率毫秒 + - **Metric** (str) - 指标唯一标识 (uhost_cpu_usage) + - **MetricChDesc** (str) - 指标中文描述 + - **MetricChName** (str) - 指标中文名称 + - **MetricEnDesc** (str) - 指标英文描述 + - **MetricEnName** (str) - 指标英文名称 + - **MetricGroup** (str) - 指标分类/指标组 + - **MetricID** (int) - 指标ID + - **ProductType** (int) - 云产品ID + - **Unit** (dict) - 见 **MetricUnit** 模型定义 + - **UnitID** (int) - 单位ID + - **UpdatedAt** (str) - 修改时间 + - **UpdatedBy** (str) - 修改者 + + **GetProductMetricsRespData** - **List** (list) - 见 **Metirc** 模型定义 - **Total** (int) - 查询结果总数 @@ -656,9 +731,9 @@ def query_metric_data_set( **Response Model** - **TagEntry** - - **KeyList** (list) - 标签候选值列表 - - **TagName** (str) - 标签名称 + **MetricSample** + - **Timestamp** (int) - 时间戳 + - **Value** (float) - 样本值 **TagListItem** @@ -666,11 +741,6 @@ def query_metric_data_set( - **TagValue** (str) - 标签值 - **MetricSample** - - **Timestamp** (int) - 时间戳 - - **Value** (float) - 样本值 - - **MetricResult** - **ResourceId** (str) - 资源的短id - **ResourceName** (str) - 资源名称 @@ -678,6 +748,11 @@ def query_metric_data_set( - **Values** (list) - 见 **MetricSample** 模型定义 + **TagEntry** + - **KeyList** (list) - 标签候选值列表 + - **TagName** (str) - 标签名称 + + **QueryMetricDataRespItem** - **ErrCode** (int) - 该指标查询的处理状态码 - **ErrMsg** (str) - 该指标查询的状态说明 @@ -743,6 +818,11 @@ def query_metric_data_summary( - **Value** (dict) - 见 **MetricSample** 模型定义 + **LabelAttrItem** + - **Key** (str) - 键 + - **Value** (str) - 值 + + **ResourceMonitorItem** - **Metric** (str) - 指标名 - **MetricValues** (list) - 见 **MetricSingleSample** 模型定义 @@ -753,11 +833,6 @@ def query_metric_data_summary( - **Value** (str) - 值 - **LabelAttrItem** - - **Key** (str) - 键 - - **Value** (str) - 值 - - **ResourceSummary** - **CompanyId** (int) - 公司id - **LabelAttrList** (list) - 见 **LabelAttrItem** 模型定义 @@ -792,6 +867,86 @@ def query_metric_data_summary( resp = self.invoke("QueryMetricDataSummary", d, **kwargs) return apis.QueryMetricDataSummaryResponseSchema().loads(resp) + def query_metric_dense_data( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """QueryMetricDenseData - 获取高精度指标样本数据 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID + - **Region** (str) - (Config) 地域。 全局产品可不传,其他类型必传。 + - **EndTime** (int) - (Required) 截止时间戳 + - **ProductKey** (str) - (Required) 资源类型 + - **StartTime** (int) - (Required) 开始时间戳 + - **MetricInfos** (list) - 见 **QueryMetricDenseDataParamMetricInfos** 模型定义 + + **Response** + + - **Data** (dict) - 见 **QueryMetricDataResp** 模型定义 + - **Message** (str) - 错误信息 + + **Request Model** + + **QueryMetricDenseDataParamMetricInfosTags** + - **AnyKey** (str) - AnyKey:代表任意一个用户自定义的key。Tags是一个用户自定义对象map,是要查询指标的tag的key和value。用户自定义的Tags对象里的key和value,它们分别是要查询的tag的key和value。如:"Tags":{ "tag1":"value1", "tag2":"value2", "tag3":"value3"} + + + **QueryMetricDenseDataParamMetricInfos** + - **Metric** (str) - 指标名 + - **ResourceId** (str) - 资源id + - **Tags** (dict) - 见 **QueryMetricDenseDataParamMetricInfosTags** 模型定义 + + + **Response Model** + + **TagEntry** + - **KeyList** (list) - 标签候选值列表 + - **TagName** (str) - 标签名称 + + + **TagListItem** + - **Tag** (str) - 标签名 + - **TagValue** (str) - 标签值 + + + **MetricSample** + - **Timestamp** (int) - 时间戳 + - **Value** (float) - 样本值 + + + **MetricResult** + - **ResourceId** (str) - 资源的短id + - **ResourceName** (str) - 资源名称 + - **TagList** (list) - 见 **TagListItem** 模型定义 + - **Values** (list) - 见 **MetricSample** 模型定义 + + + **QueryMetricDataRespItem** + - **ErrCode** (int) - 该指标查询的处理状态码 + - **ErrMsg** (str) - 该指标查询的状态说明 + - **Metric** (str) - 指标名 + - **Results** (list) - 见 **MetricResult** 模型定义 + - **TagEntries** (list) - 见 **TagEntry** 模型定义 + + + **QueryMetricDataResp** + - **InvalidResourceIds** (list) - 无效或无权限资源的 ID 列表 + - **List** (list) - 见 **QueryMetricDataRespItem** 模型定义 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.QueryMetricDenseDataRequestSchema().dumps(d) + + resp = self.invoke("QueryMetricDenseData", d, **kwargs) + return apis.QueryMetricDenseDataResponseSchema().loads(resp) + def un_bind_alert_strategy( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: diff --git a/ucloud/services/cloudwatch/schemas/apis.py b/ucloud/services/cloudwatch/schemas/apis.py index 87bd74d..ae1d773 100644 --- a/ucloud/services/cloudwatch/schemas/apis.py +++ b/ucloud/services/cloudwatch/schemas/apis.py @@ -208,6 +208,29 @@ class GetMetricDataAggregationMethodResponseSchema(schema.ResponseSchema): } +""" +API: GetProductHighPrecisionMetrics + +获取云产品关联的高精度指标列表 +""" + + +class GetProductHighPrecisionMetricsRequestSchema(schema.RequestSchema): + """GetProductHighPrecisionMetrics - 获取云产品关联的高精度指标列表""" + + fields = { + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + } + + +class GetProductHighPrecisionMetricsResponseSchema(schema.ResponseSchema): + """GetProductHighPrecisionMetrics - 获取云产品关联的高精度指标列表""" + + fields = { + "Data": models.GetProductMetricsRespDataSchema(), + } + + """ API: GetProductMetrics @@ -496,6 +519,57 @@ class QueryMetricDataSummaryResponseSchema(schema.ResponseSchema): } +""" +API: QueryMetricDenseData + +获取高精度指标样本数据 +""" + + +class QueryMetricDenseDataParamMetricInfosTagsSchema(schema.RequestSchema): + """QueryMetricDenseDataParamMetricInfosTags -""" + + fields = { + "AnyKey": fields.Str(required=False, dump_to="AnyKey"), + } + + +class QueryMetricDenseDataParamMetricInfosSchema(schema.RequestSchema): + """QueryMetricDenseDataParamMetricInfos -""" + + fields = { + "Metric": fields.Str(required=False, dump_to="Metric"), + "ResourceId": fields.Str(required=False, dump_to="ResourceId"), + "Tags": QueryMetricDenseDataParamMetricInfosTagsSchema( + required=False, dump_to="Tags" + ), + } + + +class QueryMetricDenseDataRequestSchema(schema.RequestSchema): + """QueryMetricDenseData - 获取高精度指标样本数据""" + + fields = { + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "MetricInfos": fields.List( + QueryMetricDenseDataParamMetricInfosSchema() + ), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=False, dump_to="Region"), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class QueryMetricDenseDataResponseSchema(schema.ResponseSchema): + """QueryMetricDenseData - 获取高精度指标样本数据""" + + fields = { + "Data": models.QueryMetricDataRespSchema(), + "Message": fields.Str(required=False, load_from="Message"), + } + + """ API: UnBindAlertStrategy diff --git a/ucloud/services/cloudwatch/schemas/models.py b/ucloud/services/cloudwatch/schemas/models.py index 8c04701..c9eaded 100644 --- a/ucloud/services/cloudwatch/schemas/models.py +++ b/ucloud/services/cloudwatch/schemas/models.py @@ -68,18 +68,6 @@ class MetricUnitSchema(schema.ResponseSchema): } -class ConversionRuleSchema(schema.ResponseSchema): - """ConversionRule - 指标单位转换规则""" - - fields = { - "ConversionFactor": fields.Int( - required=False, load_from="ConversionFactor" - ), - "From": fields.Str(required=False, load_from="From"), - "To": fields.Str(required=False, load_from="To"), - } - - class MetircSchema(schema.ResponseSchema): """Metirc - 指标""" @@ -102,6 +90,18 @@ class MetircSchema(schema.ResponseSchema): } +class ConversionRuleSchema(schema.ResponseSchema): + """ConversionRule - 指标单位转换规则""" + + fields = { + "ConversionFactor": fields.Int( + required=False, load_from="ConversionFactor" + ), + "From": fields.Str(required=False, load_from="From"), + "To": fields.Str(required=False, load_from="To"), + } + + class MetricUnitConfigSchema(schema.ResponseSchema): """MetricUnitConfig - 指标单位配置""" @@ -261,21 +261,21 @@ class ListMonitorProductSchema(schema.ResponseSchema): } -class MetricSampleSchema(schema.ResponseSchema): - """MetricSample - 指标数据点(代码结构体:MetricPoint)""" +class TagListItemSchema(schema.ResponseSchema): + """TagListItem - 标签键值项""" fields = { - "Timestamp": fields.Int(required=False, load_from="Timestamp"), - "Value": fields.Float(required=False, load_from="Value"), + "Tag": fields.Str(required=False, load_from="Tag"), + "TagValue": fields.Str(required=False, load_from="TagValue"), } -class TagListItemSchema(schema.ResponseSchema): - """TagListItem - 标签键值项""" +class MetricSampleSchema(schema.ResponseSchema): + """MetricSample - 指标数据点(代码结构体:MetricPoint)""" fields = { - "Tag": fields.Str(required=False, load_from="Tag"), - "TagValue": fields.Str(required=False, load_from="TagValue"), + "Timestamp": fields.Int(required=False, load_from="Timestamp"), + "Value": fields.Float(required=False, load_from="Value"), } @@ -320,6 +320,15 @@ class QueryMetricDataRespSchema(schema.ResponseSchema): } +class LabelAttrItemSchema(schema.ResponseSchema): + """LabelAttrItem - 标签扩展属性项""" + + fields = { + "Key": fields.Str(required=False, load_from="Key"), + "Value": fields.Str(required=False, load_from="Value"), + } + + class MetricSingleSampleSchema(schema.ResponseSchema): """MetricSingleSample - 指标单个样本点结果""" @@ -348,15 +357,6 @@ class ResourceExtendAttrItemSchema(schema.ResponseSchema): } -class LabelAttrItemSchema(schema.ResponseSchema): - """LabelAttrItem - 标签扩展属性项""" - - fields = { - "Key": fields.Str(required=False, load_from="Key"), - "Value": fields.Str(required=False, load_from="Value"), - } - - class ResourceSummarySchema(schema.ResponseSchema): """ResourceSummary - 单个资源的总览属性指标等信息""" diff --git a/ucloud/version.py b/ucloud/version.py index b3fc8d6..11f9409 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.140" +version = "0.11.141"