diff --git a/docs/services.rst b/docs/services.rst index 3975f59..19ad69d 100644 --- a/docs/services.rst +++ b/docs/services.rst @@ -87,6 +87,13 @@ VPC +CloudWatch +---------- + +.. autoclass:: ucloud.services.cloudwatch.client.CloudWatchClient + :members: + + Cube ---- diff --git a/ucloud/client.py b/ucloud/client.py index b5a27ff..4982934 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -22,6 +22,16 @@ def pathx(self): self.logger, ) + def cloudwatch(self): + from ucloud.services.cloudwatch.client import CloudWatchClient + + return CloudWatchClient( + self._auto_config("cloudwatch"), + self.transport, + self.middleware, + self.logger, + ) + def cube(self): from ucloud.services.cube.client import CubeClient diff --git a/ucloud/services/cloudwatch/__init__.py b/ucloud/services/cloudwatch/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ucloud/services/cloudwatch/client.py b/ucloud/services/cloudwatch/client.py new file mode 100644 index 0000000..d3cb6bc --- /dev/null +++ b/ucloud/services/cloudwatch/client.py @@ -0,0 +1,918 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +import typing + + +from ucloud.core.client import Client +from ucloud.services.cloudwatch.schemas import apis + + +class CloudWatchClient(Client): + def __init__( + self, config: dict, transport=None, middleware=None, logger=None + ): + super(CloudWatchClient, self).__init__( + config, transport, middleware, logger + ) + + def bind_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """BindAlertStrategy - 绑定告警策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **AlertStrategyIDs** (list) - (Required) 告警策略id数组 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **Resources** (list) - (Required) 资源数组 + + **Response** + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.BindAlertStrategyRequestSchema().dumps(d) + + resp = self.invoke("BindAlertStrategy", d, **kwargs) + return apis.BindAlertStrategyResponseSchema().loads(resp) + + def create_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """CreateAlertStrategy - 创建告警策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **ConfigMode** (int) - (Required) 条件设置方式1 - 手动配置 2 - 选择模版 + - **Name** (str) - (Required) 告警策略名称。最大长度255个字符 + - **ObjectType** (int) - (Required) 绑定资源类型1 - 资源组 2 - 资源 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **CallbackLanguage** (str) - 当通知渠道=回调webhook时,需要设置回调语言。枚举值:cn - 中文en - 英文 + - **CallbackUrls** (list) - 回调URL地址 + - **NotifyChannelDs** (list) - 通知渠道。枚举值:sms - 短信email - 邮件webhook - 回调 + - **NotifyGroupIDs** (list) - 通知人组id + - **NotifyTemplateId** (str) - 通知模板id + - **NotifyType** (str) - 通知类型。枚举值: group - 通知组 user - 通知人 + - **NotifyUserIDs** (list) - 通知人id + - **ResourceGroupIDs** (list) - 绑定资源组,对应绑定资源类型ObjectType=1 + - **Resources** (list) - 绑定资源,对应绑定资源类型ObjectType=2 + - **RuleSet** (list) - 见 **CreateAlertStrategyParamRuleSet** 模型定义 + - **TemplateId** (int) - 模板id.对应ConfigMode=2时候需要填写 + + **Response** + + - **Data** (dict) - 见 **AlertStrategyId** 模型定义 + + **Request Model** + + **CreateAlertStrategyParamRuleSet** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **SendInterval** (int) - 沉默周期(告警周期选择为连续时必填) + - **SendPeriodType** (str) - 触发周期。枚举值continuous - 连续exponent - 指数single - 不重复 + - **Status** (int) - 告警状态。枚举值0 - 关闭1 - 开启 + - **ThresholdCompare** (int) - 阈值比较方式。 枚举值:1:>= 2:<= 3:> 4:< 5:== 6:!= + - **ThresholdValue** (int) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + + + **Response Model** + + **AlertStrategyId** + - **AlertStrategyID** (int) - 告警策略id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.CreateAlertStrategyRequestSchema().dumps(d) + + # build options + kwargs["max_retries"] = 0 # ignore retry when api is not idempotent + + resp = self.invoke("CreateAlertStrategy", d, **kwargs) + return apis.CreateAlertStrategyResponseSchema().loads(resp) + + def create_alert_strategy_template( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """CreateAlertStrategyTemplate - 新建条件模板 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Name** (str) - (Required) 告警模板名称。最大长度64个字符 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **Remark** (str) - 备注 + - **RuleSet** (list) - 见 **CreateAlertStrategyTemplateParamRuleSet** 模型定义 + + **Response** + + - **Data** (dict) - 见 **AlertTemplate** 模型定义 + + **Request Model** + + **CreateAlertStrategyTemplateParamRuleSet** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **SendInterval** (int) - 沉默周期(告警周期选择为连续时必填) + - **SendPeriodType** (str) - 触发周期。枚举值:continuous连续 exponent 指数 single 不重复 + - **Status** (int) - 告警状态。枚举值:0-关闭 1-开启 + - **ThresholdCompare** (int) - 阈值比较方式。枚举值: 1:>= 2:<= 3:> 4:< 5:== 6:!= + - **ThresholdValue** (int) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + + + **Response Model** + + **AlertTemplate** + - **TemplateID** (int) - 告警模板ID + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.CreateAlertStrategyTemplateRequestSchema().dumps(d) + + # build options + kwargs["max_retries"] = 0 # ignore retry when api is not idempotent + + resp = self.invoke("CreateAlertStrategyTemplate", d, **kwargs) + return apis.CreateAlertStrategyTemplateResponseSchema().loads(resp) + + def delete_alert_strategy_template( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """DeleteAlertStrategyTemplate - 删除告警条件模板 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **TemplateID** (list) - (Required) 告警模板ID(支持批量删除) + + **Response** + + - **Data** (dict) - 见 **DelAlertTemplate** 模型定义 + + **Response Model** + + **DelAlertTemplate** + - **TemplateID** (list) - 模板ID + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.DeleteAlertStrategyTemplateRequestSchema().dumps(d) + + resp = self.invoke("DeleteAlertStrategyTemplate", d, **kwargs) + return apis.DeleteAlertStrategyTemplateResponseSchema().loads(resp) + + def enable_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """EnableAlertStrategy - 是否启用告警策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **AlertStrategyID** (int) - (Required) 告警策略id + - **Status** (int) - (Required) 启用状态0 停用 1 启用 + + **Response** + + - **Data** (dict) - 见 **AlertStrategyId** 模型定义 + + **Response Model** + + **AlertStrategyId** + - **AlertStrategyID** (int) - 告警策略id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.EnableAlertStrategyRequestSchema().dumps(d) + + resp = self.invoke("EnableAlertStrategy", d, **kwargs) + return apis.EnableAlertStrategyResponseSchema().loads(resp) + + def get_metric_data_aggregation_method( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """GetMetricDataAggregationMethod - 获取指标数据聚合方式 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Data** (dict) - 见 **GetMetricDataAggregationMethodResp** 模型定义 + + **Response Model** + + **MetricDataAggregationMethod** + - **Description** (str) - 描述 + - **IsDefault** (bool) - 是否是默认方式 + - **Label** (str) - 标签 + - **Value** (str) - 值 + + + **GetMetricDataAggregationMethodResp** + - **List** (list) - 见 **MetricDataAggregationMethod** 模型定义 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.GetMetricDataAggregationMethodRequestSchema().dumps(d) + + resp = self.invoke("GetMetricDataAggregationMethod", d, **kwargs) + return apis.GetMetricDataAggregationMethodResponseSchema().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) - 来源 + - **To** (str) - 目标 + + + **MetricUnitConfig** + - **ConversionFactor** (int) - 转换因子 + - **ConversionRules** (list) - 见 **ConversionRule** 模型定义 + - **UnitCnNames** (list) - 指标中文名列表 + - **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) - 查询结果总数 + - **UnitConfigs** (list) - 见 **MetricUnitConfig** 模型定义 + + + """ + # build request + d = {} + req and d.update(req) + d = apis.GetProductMetricsRequestSchema().dumps(d) + + resp = self.invoke("GetProductMetrics", d, **kwargs) + return apis.GetProductMetricsResponseSchema().loads(resp) + + def list_alert_record( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListAlertRecord - 获取时间段内的告警记录 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **EndAt** (int) - (Required) 结束时间,查询告警记录结束时间(查询开始时间和结束时间不能超过一个月),值为10位数时间戳 + - **StartAt** (int) - (Required) 开始时间,查询告警记录开始时间,不支持查询距当前时间一年前的数据),值为10位数时间戳 + - **Filter** (dict) - 见 **ListAlertRecordParamFilter** 模型定义 + - **Fuzzy** (str) - 模糊查询(支持资源id模糊搜索) + - **Limit** (int) - 查询返回数量,默认值300,最大值:300。 + - **Offset** (int) - 数据偏移量 (默认0) + - **OrderType** (str) - 排序(默认根据告警发生时间倒序),枚举值:asc-升序,desc-降序 + + **Response** + + - **Data** (list) - 见 **AlertRecord** 模型定义 + - **TotalCount** (int) - 告警记录总数 + + **Request Model** + + **ListAlertRecordParamFilter** + - **Levels** (list) - 告警级别,根据告警级别精确搜索对应的告警记录,枚举值:P0,P1,P2,P3 + - **ProductTypes** (list) - 产品ID,根据产品类型精确搜索对应的告警记录,参见 `产品概览 `_ + - **Status** (list) - 告警状态,根据告警状态精确搜索对应的告警记录,枚举值:firing-告警中,resolved-已恢复 + + + **Response Model** + + **AlertRecord** + - **ContentAttrList** (list) - 产品相关的额外属性列表 + - **EndAt** (int) - 告警结束时间 + - **Level** (str) - 告警等级 + - **MetricID** (int) - 指标id + - **MetricName** (str) - 指标名称 + - **ProductName** (str) - 产品类型名称 + - **ProductType** (int) - 产品类型 + - **ProjectID** (int) - 项目ProjectID + - **RecordID** (int) - 告警记录RecordID + - **Region** (str) - 可用区 + - **ResourceID** (str) - 资源id + - **RuleID** (int) - 告警记录触发告警规则Id + - **ShieldRuleID** (int) - 告警屏蔽规则id(如果配置了屏蔽规则,并且满足条件) + - **StartAt** (int) - 告警触发时间 + - **Status** (str) - 告警状态 + - **StrategyID** (int) - 告警记录触发告警策略Id + - **StrategyName** (str) - 告警记录触发告警策略名称 + - **Tag** (list) - 告警点tag信息 + - **ThresholdCompare** (int) - 比较符 + - **ThresholdValue** (int) - 告警阈值 + - **UnitName** (str) - 指标单位名称 + - **Value** (int) - 告警当前值 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ListAlertRecordRequestSchema().dumps(d) + + resp = self.invoke("ListAlertRecord", d, **kwargs) + return apis.ListAlertRecordResponseSchema().loads(resp) + + def list_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListAlertStrategy - 获取告警策略列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Filter** (dict) - 见 **ListAlertStrategyParamFilter** 模型定义 + - **Fuzzy** (str) - 模糊查询(支持告警策略名称模糊搜索) + - **Limit** (int) - 查询返回数量,默认值300,最大值:300。 + - **Offset** (int) - 数据偏移量 (默认0) + - **Resources** (list) - 资源id集合,根据资源id返回绑定的告警策略列表 + + **Response** + + - **Data** (list) - 见 **AlertStrategy** 模型定义 + - **Message** (str) - 错误信息 + - **TotalCount** (int) - 告警策略总数 + - **TraceId** (str) - 链路ID + + **Request Model** + + **ListAlertStrategyParamFilter** + - **AlertStrategyIDs** (list) - 告警策略id,根据策略id获取告警策略列表 + - **ProductTypes** (list) - 产品ID,参见 `产品概览 `_ + - **Status** (list) - 告警策略状态,根据告警策略状态精确搜索对应的告警策略,枚举值:0-停用,1-启用 + + + **Response Model** + + **AlertRule** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **MetricName** (str) - 指标名称 + - **RuleID** (int) - 规则ID + - **SendInterval** (int) - 发送间隔 + - **SendPeriodType** (str) - 触发周期。枚举值:continuous连续 exponent 指数 single 不重复 + - **Status** (int) - 告警状态。枚举值:0-关闭 1-开启 + - **ThresholdCompare** (int) - 阈值比较方式枚举值比较方式:1->=2-<=3->4-<5-==6-!= + - **ThresholdValue** (float) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + - **UnitID** (int) - 单位id + - **UnitName** (str) - 单位名称 + + + **AlertStrategy** + - **AlertStrategyID** (int) - 告警策略Id + - **CallbackLanguage** (str) - 回调语言(cn,en) + - **CallbackUrls** (list) - 回调地址 + - **ConfigMode** (int) - 告警规则配置类型(基于模板配置、基于手工配置) + - **CreatedAt** (int) - 创建时间 + - **CreatedBy** (str) - 创建人 + - **Name** (str) - 告警策略名称 + - **NotifyChannelDs** (list) - 通知渠道('email', 'sms', 'webhook') + - **NotifyGroupIDs** (list) - 通知组id集合 + - **NotifyType** (str) - 通知方式(通知组:group,通知人:user) + - **NotifyUserIDs** (list) - 通知人用户id集合 + - **ProductKey** (str) - 资源类型名称 + - **ProductType** (int) - 资源类型 + - **Remark** (str) - 告警策略备注 + - **RuleSet** (list) - 见 **AlertRule** 模型定义 + - **Status** (int) - 告警策略状态 + - **TemplateId** (int) - 模板Id + - **UpdatedAt** (int) - 更新时间 + - **UpdatedBy** (str) - 更新人 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ListAlertStrategyRequestSchema().dumps(d) + + resp = self.invoke("ListAlertStrategy", d, **kwargs) + return apis.ListAlertStrategyResponseSchema().loads(resp) + + def list_alert_strategy_template( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListAlertStrategyTemplate - 条件模板列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Filter** (dict) - 见 **ListAlertStrategyTemplateParamFilter** 模型定义 + - **Limit** (int) - 查询返回数量,默认值300,最大值:300。 + - **Offset** (int) - 数据偏移量 (默认0) + + **Response** + + - **Data** (list) - 见 **ListAlertTemplate** 模型定义 + - **Message** (str) - 错误信息 + - **TotalCount** (int) - 条件模板总条数 + + **Request Model** + + **ListAlertStrategyTemplateParamFilter** + - **TemplateIDs** (list) - 模板id集合,根据模板id获取告警条件模板列表 + + + **Response Model** + + **AlertRule** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **MetricName** (str) - 指标名称 + - **RuleID** (int) - 规则ID + - **SendInterval** (int) - 发送间隔 + - **SendPeriodType** (str) - 触发周期。枚举值:continuous连续 exponent 指数 single 不重复 + - **Status** (int) - 告警状态。枚举值:0-关闭 1-开启 + - **ThresholdCompare** (int) - 阈值比较方式枚举值比较方式:1->=2-<=3->4-<5-==6-!= + - **ThresholdValue** (float) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + - **UnitID** (int) - 单位id + - **UnitName** (str) - 单位名称 + + + **ListAlertTemplate** + - **CompanyID** (int) - 公司id + - **Name** (str) - 告警模板名称 + - **ProductKey** (str) - 产品类型(字符型)。参考ListMonitorProduct获取监控对象类型列表 + - **ProductType** (int) - 产品类型(数值型)。参考ListMonitorProduct获取监控对象类型列表 + - **Remark** (str) - 条件模板备注 + - **RuleSet** (list) - 见 **AlertRule** 模型定义 + - **TemplateID** (int) - 模板Id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ListAlertStrategyTemplateRequestSchema().dumps(d) + + resp = self.invoke("ListAlertStrategyTemplate", d, **kwargs) + return apis.ListAlertStrategyTemplateResponseSchema().loads(resp) + + def list_monitor_product( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListMonitorProduct - 获取监控对象类型列表 + + **Request** + + + **Response** + + - **Data** (dict) - 见 **ListMonitorProduct** 模型定义 + - **Message** (str) - 错误信息 + - **TraceId** (str) - 链路ID + + **Response Model** + + **Product** + - **Id** (int) - ID + - **Metas** (str) - {Type: 1|2, Key:string, Name: string}[] -> JSON字符串 + - **ProductChName** (str) - 产品中文名称 + - **ProductEnName** (str) - 产品英文名称 + - **ProductGroup** (str) - 产品分组 + - **ProductKey** (str) - 资源类型唯一key + - **ProductName** (str) - 产品名称 + - **ProductName1** (str) - 产品子名称 + - **ProductType** (int) - 资源类型ID + + + **ListMonitorProduct** + - **List** (list) - 见 **Product** 模型定义 + - **Total** (int) - 查询结果总数 + + + """ + # build request + d = {} + req and d.update(req) + d = apis.ListMonitorProductRequestSchema().dumps(d) + + resp = self.invoke("ListMonitorProduct", d, **kwargs) + return apis.ListMonitorProductResponseSchema().loads(resp) + + def modify_alert_strategy_remark( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ModifyAlertStrategyRemark - 修改告警策略备注 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **AlertStrategyID** (int) - (Required) 策略id + - **Name** (str) - (Required) 策略名称 + - **Remark** (str) - 策略备注 + + **Response** + + - **Data** (dict) - 见 **AlertStrategyId** 模型定义 + + **Response Model** + + **AlertStrategyId** + - **AlertStrategyID** (int) - 告警策略id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ModifyAlertStrategyRemarkRequestSchema().dumps(d) + + resp = self.invoke("ModifyAlertStrategyRemark", d, **kwargs) + return apis.ModifyAlertStrategyRemarkResponseSchema().loads(resp) + + def query_metric_data_set( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """QueryMetricDataSet - 查询监控指标数据集 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 参见 `地域和可用区列表 `_ + - **CalcMethod** (str) - (Required) 计算方式,枚举值如下:raw:原始值,max:最大值,min:最小值,avg:平均值,sum:求和 + - **EndTime** (int) - (Required) 截止时间,值为10位数时间戳 + - **Period** (int) - (Required) 周期,单位为秒,即:数据查询时,返回数据点的时间间隔。不同的查询时间范围,对应的周期不同:0<时间范围<=1h——周期:1分钟/5分钟,对应的枚举值为60、300;1h<时间范围<=12h——周期:1分钟/5分钟/1小时,对应的枚举值为60、300、3600;12h<时间范围<=24h——周期:5分钟/1小时,对应的枚举值为300、3600;1天<时间范围<=30天——周期:1小时/6小时/24小时,对应的枚举值为3600、21600、86400 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **StartTime** (int) - (Required) 开始时间,值为10位数时间戳 + - **MetricInfos** (list) - 见 **QueryMetricDataSetParamMetricInfos** 模型定义 + + **Response** + + - **Data** (dict) - 见 **QueryMetricDataResp** 模型定义 + - **Message** (str) - 错误信息 + - **TraceId** (str) - 日志链路id + + **Request Model** + + **QueryMetricDataSetParamMetricInfosTagList** + - **TagKey** (str) - 要查询指标的Tag的key,参数中N的取值范围为 0~9 + - **TagValues** (list) - 要查询指标的Tag的Value,参数中N的取值范围为 0~9 + + + **QueryMetricDataSetParamMetricInfos** + - **Metric** (str) - 指标名,参数中N的取值范围为 0~9 + - **ResourceId** (str) - 指标所属资源id,参数中N的取值范围为 0~9 + - **TagList** (list) - 见 **QueryMetricDataSetParamMetricInfosTagList** 模型定义 + - **TagOperation** (str) - 多个 Tag 条件的匹配方式;可选 and(默认)或 or。TagList 中使用 or 时最多支持 3 个 Tag。 + + + **Response Model** + + **ObjectType** + - **Id** (int) - ID + - **Metas** (str) - {type: spec|basic, key:string, name: string}[] -> JSON字符串 + - **ObjectType** (str) - 资源类型ID + - **ObjectTypeKey** (str) - 资源类型 + - **ProductCNName** (str) - 产品中文名称 + - **ProductENName** (str) - 产品英文名称 + - **ProductName** (str) - 产品名称 + - **ProductName1** (str) - 产品子名称 + + + **MetricSample** + - **Timestamp** (int) - 时间戳 + - **Value** (float) - 样本值 + + + **MetricResult** + - **ResourceId** (str) - 资源的短id + - **ResourceName** (str) - 资源名称 + - **TagList** (list) - 资源标签列表。每项为 TagListItem:Tag(标签名)和 TagValue(标签值)。 + - **Values** (list) - 见 **MetricSample** 模型定义 + + + **QueryMetricDataRespItem** + - **ErrCode** (int) - 该指标查询的处理状态码 + - **ErrMsg** (str) - 该指标查询的状态说明 + - **Metric** (str) - 指标名 + - **Results** (list) - 见 **MetricResult** 模型定义 + - **TagEntries** (list) - 见 **ObjectType** 模型定义 + + + **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.QueryMetricDataSetRequestSchema().dumps(d) + + resp = self.invoke("QueryMetricDataSet", d, **kwargs) + return apis.QueryMetricDataSetResponseSchema().loads(resp) + + def query_metric_data_summary( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """QueryMetricDataSummary - 获取资源看图属性列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 参见 `地域和可用区列表 `_ + - **Limit** (int) - (Required) 当前页数据尺寸 + - **Offset** (int) - (Required) 跳过的数量 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **Metrics** (list) - 指定要查询的指标列表,不指定则使用默认的指标集合 + - **ResourceIds** (list) - 指定要查询的资源ID列表 + + **Response** + + - **Data** (dict) - 见 **QueryMetricDataSummaryRespData** 模型定义 + - **Message** (str) - 错误信息 + - **TotalCount** (int) - 总数 + - **TraceId** (str) - 链路id + + **Response Model** + + **MetricSample** + - **Timestamp** (int) - 时间戳 + - **Value** (float) - 样本值 + + + **Product** + - **Id** (int) - ID + - **Metas** (str) - {Type: 1|2, Key:string, Name: string}[] -> JSON字符串 + - **ProductChName** (str) - 产品中文名称 + - **ProductEnName** (str) - 产品英文名称 + - **ProductGroup** (str) - 产品分组 + - **ProductKey** (str) - 资源类型唯一key + - **ProductName** (str) - 产品名称 + - **ProductName1** (str) - 产品子名称 + - **ProductType** (int) - 资源类型ID + + + **MetricSingleSample** + - **Metric** (str) - 指标名 + - **TagsList** (list) - 见 **Product** 模型定义 + - **Value** (dict) - 见 **MetricSample** 模型定义 + + + **ResourceMonitorItem** + - **Metric** (str) - 指标名 + - **MetricValues** (list) - 见 **MetricSingleSample** 模型定义 + + + **ResourceSummary** + - **CompanyId** (int) - 公司id + - **LabelAttrList** (list) - 见 **ResourceMonitorItem** 模型定义 + - **MonitorAttr** (list) - 见 **ResourceMonitorItem** 模型定义 + - **Name** (str) - 资源名称 + - **OrganizationId** (int) - 项目id + - **ProductKey** (str) - 产品类型 + - **ProjectId** (int) - 项目id + - **Region** (str) - 地域 + - **RegionCN** (str) - 地域中文名 + - **ResourceExtendAttrList** (list) - 见 **ResourceMonitorItem** 模型定义 + - **ResourceId** (str) - 资源id + - **Status** (int) - 资源状态 + - **Zone** (str) - 可用区 + - **ZoneCN** (str) - 可用区中文 + + + **QueryMetricDataSummaryRespData** + - **List** (list) - 见 **ResourceSummary** 模型定义 + - **Total** (int) - 总数 + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.QueryMetricDataSummaryRequestSchema().dumps(d) + + resp = self.invoke("QueryMetricDataSummary", d, **kwargs) + return apis.QueryMetricDataSummaryResponseSchema().loads(resp) + + def un_bind_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """UnBindAlertStrategy - 解绑告警策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID + - **AlertStrategyIDs** (list) - (Required) 告警策略数组 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **Resources** (list) - (Required) 资源数组 + + **Response** + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.UnBindAlertStrategyRequestSchema().dumps(d) + + resp = self.invoke("UnBindAlertStrategy", d, **kwargs) + return apis.UnBindAlertStrategyResponseSchema().loads(resp) + + def update_alert_strategy( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """UpdateAlertStrategy - 更新告警策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **AlertStrategyID** (str) - (Required) 告警策略id + - **ConfigMode** (int) - (Required) 条件设置方式 1. 手动配置 2.选择模版 + - **Name** (str) - (Required) 告警策略名称。最大长度255个字符 + - **ObjectType** (int) - (Required) 绑定资源类型 1 资源组 2 资源 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **CallbackLanguage** (str) - 通知渠道回调webhook 回调语言 中文cn 英文en + - **CallbackUrls** (list) - 回调url + - **NotifyChannelDs** (list) - 通知渠道 短信sms 邮件email 回调webhook + - **NotifyGroupIDs** (list) - 通知人组id + - **NotifyType** (str) - 通知类型 通知组 group 通知人 user + - **NotifyUserIDs** (list) - 通知人id + - **ResourceGroupIDs** (list) - 绑定资源组,对应绑定资源类型ObjectType=1 + - **Resources** (list) - 绑定资源,对应绑定资源类型ObjectType=2 + - **RuleSet** (list) - 见 **UpdateAlertStrategyParamRuleSet** 模型定义 + - **TemplateId** (int) - 模板id.对应ConfigMode=2 + + **Response** + + - **Data** (dict) - 见 **AlertStrategyId** 模型定义 + + **Request Model** + + **UpdateAlertStrategyParamRuleSet** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **SendInterval** (int) - 沉默周期(告警周期选择为连续时必填) + - **SendPeriodType** (str) - 触发周期。枚举值:continuous连续 exponent 指数 single 不重复 + - **Status** (int) - 告警状态。枚举值:0-关闭 1-开启 + - **ThresholdCompare** (int) - 阈值比较方式。 枚举值:1:>= 2:<= 3:> 4:< 5:== 6:!= + - **ThresholdValue** (int) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + + + **Response Model** + + **AlertStrategyId** + - **AlertStrategyID** (int) - 告警策略id + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.UpdateAlertStrategyRequestSchema().dumps(d) + + resp = self.invoke("UpdateAlertStrategy", d, **kwargs) + return apis.UpdateAlertStrategyResponseSchema().loads(resp) + + def update_alert_strategy_template( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """UpdateAlertStrategyTemplate - 编辑条件模板 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Name** (str) - (Required) 告警模板名称。最大长度64个字符 + - **ProductKey** (str) - (Required) 产品唯一标识,参见 `产品概览 `_ + - **TemplateID** (int) - (Required) 条件模板ID + - **Remark** (str) - 备注 + - **RuleSet** (list) - 见 **UpdateAlertStrategyTemplateParamRuleSet** 模型定义 + + **Response** + + - **Data** (dict) - 见 **AlertTemplate** 模型定义 + + **Request Model** + + **UpdateAlertStrategyTemplateParamRuleSet** + - **Level** (str) - 告警等级。枚举值:P0,P1,P2,P3 + - **MetricID** (int) - 规则指标ID。参考该类型产品下返回的指标列表GetProductMetrics + - **SendInterval** (int) - 沉默周期(告警周期选择为连续时必填) + - **SendPeriodType** (str) - 触发周期。枚举值:continuous连续 exponent 指数 single 不重复 + - **Status** (int) - 告警状态。枚举值:0-关闭 1-开启 + - **ThresholdCompare** (int) - 阈值比较方式。枚举值比较方式: 1->=2-<= 3-> 4-< 5-== 6-!= + - **ThresholdValue** (int) - 触发阈值 + - **TriggerCount** (int) - 触发次数 + + + **Response Model** + + **AlertTemplate** + - **TemplateID** (int) - 告警模板ID + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.UpdateAlertStrategyTemplateRequestSchema().dumps(d) + + resp = self.invoke("UpdateAlertStrategyTemplate", d, **kwargs) + return apis.UpdateAlertStrategyTemplateResponseSchema().loads(resp) diff --git a/ucloud/services/cloudwatch/schemas/__init__.py b/ucloud/services/cloudwatch/schemas/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ucloud/services/cloudwatch/schemas/apis.py b/ucloud/services/cloudwatch/schemas/apis.py new file mode 100644 index 0000000..87bd74d --- /dev/null +++ b/ucloud/services/cloudwatch/schemas/apis.py @@ -0,0 +1,622 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +from ucloud.core.typesystem import schema, fields +from ucloud.services.cloudwatch.schemas import models + +""" CloudWatch API Schema +""" + + +""" +API: BindAlertStrategy + +绑定告警策略 +""" + + +class BindAlertStrategyRequestSchema(schema.RequestSchema): + """BindAlertStrategy - 绑定告警策略""" + + fields = { + "AlertStrategyIDs": fields.List(fields.Int()), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Resources": fields.List(fields.Str()), + } + + +class BindAlertStrategyResponseSchema(schema.ResponseSchema): + """BindAlertStrategy - 绑定告警策略""" + + fields = {} + + +""" +API: CreateAlertStrategy + +创建告警策略 +""" + + +class CreateAlertStrategyParamRuleSetSchema(schema.RequestSchema): + """CreateAlertStrategyParamRuleSet -""" + + fields = { + "Level": fields.Str(required=False, dump_to="Level"), + "MetricID": fields.Int(required=False, dump_to="MetricID"), + "SendInterval": fields.Int(required=False, dump_to="SendInterval"), + "SendPeriodType": fields.Str(required=False, dump_to="SendPeriodType"), + "Status": fields.Int(required=False, dump_to="Status"), + "ThresholdCompare": fields.Int( + required=False, dump_to="ThresholdCompare" + ), + "ThresholdValue": fields.Int(required=False, dump_to="ThresholdValue"), + "TriggerCount": fields.Int(required=False, dump_to="TriggerCount"), + } + + +class CreateAlertStrategyRequestSchema(schema.RequestSchema): + """CreateAlertStrategy - 创建告警策略""" + + fields = { + "CallbackLanguage": fields.Str( + required=False, dump_to="CallbackLanguage" + ), + "CallbackUrls": fields.List(fields.Str()), + "ConfigMode": fields.Int(required=True, dump_to="ConfigMode"), + "Name": fields.Str(required=True, dump_to="Name"), + "NotifyChannelDs": fields.List(fields.Str()), + "NotifyGroupIDs": fields.List(fields.Int()), + "NotifyTemplateId": fields.Str( + required=False, dump_to="NotifyTemplateId" + ), + "NotifyType": fields.Str(required=False, dump_to="NotifyType"), + "NotifyUserIDs": fields.List(fields.Int()), + "ObjectType": fields.Int(required=True, dump_to="ObjectType"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "ResourceGroupIDs": fields.List(fields.Int()), + "Resources": fields.List(fields.Str()), + "RuleSet": fields.List(CreateAlertStrategyParamRuleSetSchema()), + "TemplateId": fields.Int(required=False, dump_to="TemplateId"), + } + + +class CreateAlertStrategyResponseSchema(schema.ResponseSchema): + """CreateAlertStrategy - 创建告警策略""" + + fields = { + "Data": models.AlertStrategyIdSchema(), + } + + +""" +API: CreateAlertStrategyTemplate + +新建条件模板 +""" + + +class CreateAlertStrategyTemplateParamRuleSetSchema(schema.RequestSchema): + """CreateAlertStrategyTemplateParamRuleSet -""" + + fields = { + "Level": fields.Str(required=True, dump_to="Level"), + "MetricID": fields.Int(required=True, dump_to="MetricID"), + "SendInterval": fields.Int(required=False, dump_to="SendInterval"), + "SendPeriodType": fields.Str(required=True, dump_to="SendPeriodType"), + "Status": fields.Int(required=True, dump_to="Status"), + "ThresholdCompare": fields.Int( + required=True, dump_to="ThresholdCompare" + ), + "ThresholdValue": fields.Int(required=True, dump_to="ThresholdValue"), + "TriggerCount": fields.Int(required=True, dump_to="TriggerCount"), + } + + +class CreateAlertStrategyTemplateRequestSchema(schema.RequestSchema): + """CreateAlertStrategyTemplate - 新建条件模板""" + + fields = { + "Name": fields.Str(required=True, dump_to="Name"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "RuleSet": fields.List(CreateAlertStrategyTemplateParamRuleSetSchema()), + } + + +class CreateAlertStrategyTemplateResponseSchema(schema.ResponseSchema): + """CreateAlertStrategyTemplate - 新建条件模板""" + + fields = { + "Data": models.AlertTemplateSchema(), + } + + +""" +API: DeleteAlertStrategyTemplate + +删除告警条件模板 +""" + + +class DeleteAlertStrategyTemplateRequestSchema(schema.RequestSchema): + """DeleteAlertStrategyTemplate - 删除告警条件模板""" + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "TemplateID": fields.List(fields.Int()), + } + + +class DeleteAlertStrategyTemplateResponseSchema(schema.ResponseSchema): + """DeleteAlertStrategyTemplate - 删除告警条件模板""" + + fields = { + "Data": models.DelAlertTemplateSchema(), + } + + +""" +API: EnableAlertStrategy + +是否启用告警策略 +""" + + +class EnableAlertStrategyRequestSchema(schema.RequestSchema): + """EnableAlertStrategy - 是否启用告警策略""" + + fields = { + "AlertStrategyID": fields.Int(required=True, dump_to="AlertStrategyID"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Status": fields.Int(required=True, dump_to="Status"), + } + + +class EnableAlertStrategyResponseSchema(schema.ResponseSchema): + """EnableAlertStrategy - 是否启用告警策略""" + + fields = { + "Data": models.AlertStrategyIdSchema(), + } + + +""" +API: GetMetricDataAggregationMethod + +获取指标数据聚合方式 +""" + + +class GetMetricDataAggregationMethodRequestSchema(schema.RequestSchema): + """GetMetricDataAggregationMethod - 获取指标数据聚合方式""" + + fields = { + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=False, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + } + + +class GetMetricDataAggregationMethodResponseSchema(schema.ResponseSchema): + """GetMetricDataAggregationMethod - 获取指标数据聚合方式""" + + fields = { + "Data": models.GetMetricDataAggregationMethodRespSchema(), + } + + +""" +API: GetProductMetrics + +获取云产品关联的指标列表 +""" + + +class GetProductMetricsRequestSchema(schema.RequestSchema): + """GetProductMetrics - 获取云产品关联的指标列表""" + + fields = { + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + } + + +class GetProductMetricsResponseSchema(schema.ResponseSchema): + """GetProductMetrics - 获取云产品关联的指标列表""" + + fields = { + "Data": models.GetProductMetricsRespDataSchema(), + } + + +""" +API: ListAlertRecord + +获取时间段内的告警记录 +""" + + +class ListAlertRecordParamFilterSchema(schema.RequestSchema): + """ListAlertRecordParamFilter -""" + + fields = { + "Levels": fields.List(fields.Str()), + "ProductTypes": fields.List(fields.Int()), + "Status": fields.List(fields.Str()), + } + + +class ListAlertRecordRequestSchema(schema.RequestSchema): + """ListAlertRecord - 获取时间段内的告警记录""" + + fields = { + "EndAt": fields.Int(required=True, dump_to="EndAt"), + "Filter": ListAlertRecordParamFilterSchema( + required=False, dump_to="Filter" + ), + "Fuzzy": fields.Str(required=False, dump_to="Fuzzy"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "OrderType": fields.Str(required=False, dump_to="OrderType"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "StartAt": fields.Int(required=True, dump_to="StartAt"), + } + + +class ListAlertRecordResponseSchema(schema.ResponseSchema): + """ListAlertRecord - 获取时间段内的告警记录""" + + fields = { + "Data": fields.List( + models.AlertRecordSchema(), required=False, load_from="Data" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + +""" +API: ListAlertStrategy + +获取告警策略列表 +""" + + +class ListAlertStrategyParamFilterSchema(schema.RequestSchema): + """ListAlertStrategyParamFilter -""" + + fields = { + "AlertStrategyIDs": fields.List(fields.Int()), + "ProductTypes": fields.List(fields.Int()), + "Status": fields.List(fields.Int()), + } + + +class ListAlertStrategyRequestSchema(schema.RequestSchema): + """ListAlertStrategy - 获取告警策略列表""" + + fields = { + "Filter": ListAlertStrategyParamFilterSchema( + required=False, dump_to="Filter" + ), + "Fuzzy": fields.Str(required=False, dump_to="Fuzzy"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Resources": fields.List(fields.Str()), + } + + +class ListAlertStrategyResponseSchema(schema.ResponseSchema): + """ListAlertStrategy - 获取告警策略列表""" + + fields = { + "Data": fields.List( + models.AlertStrategySchema(), required=False, load_from="Data" + ), + "Message": fields.Str(required=False, load_from="Message"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "TraceId": fields.Str(required=False, load_from="TraceId"), + } + + +""" +API: ListAlertStrategyTemplate + +条件模板列表 +""" + + +class ListAlertStrategyTemplateParamFilterSchema(schema.RequestSchema): + """ListAlertStrategyTemplateParamFilter -""" + + fields = { + "TemplateIDs": fields.List(fields.Int()), + } + + +class ListAlertStrategyTemplateRequestSchema(schema.RequestSchema): + """ListAlertStrategyTemplate - 条件模板列表""" + + fields = { + "Filter": ListAlertStrategyTemplateParamFilterSchema( + required=False, dump_to="Filter" + ), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + } + + +class ListAlertStrategyTemplateResponseSchema(schema.ResponseSchema): + """ListAlertStrategyTemplate - 条件模板列表""" + + fields = { + "Data": fields.List( + models.ListAlertTemplateSchema(), required=False, load_from="Data" + ), + "Message": fields.Str(required=False, load_from="Message"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + +""" +API: ListMonitorProduct + +获取监控对象类型列表 +""" + + +class ListMonitorProductRequestSchema(schema.RequestSchema): + """ListMonitorProduct - 获取监控对象类型列表""" + + fields = {} + + +class ListMonitorProductResponseSchema(schema.ResponseSchema): + """ListMonitorProduct - 获取监控对象类型列表""" + + fields = { + "Data": models.ListMonitorProductSchema(), + "Message": fields.Str(required=False, load_from="Message"), + "TraceId": fields.Str(required=False, load_from="TraceId"), + } + + +""" +API: ModifyAlertStrategyRemark + +修改告警策略备注 +""" + + +class ModifyAlertStrategyRemarkRequestSchema(schema.RequestSchema): + """ModifyAlertStrategyRemark - 修改告警策略备注""" + + fields = { + "AlertStrategyID": fields.Int(required=True, dump_to="AlertStrategyID"), + "Name": fields.Str(required=True, dump_to="Name"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Remark": fields.Str(required=False, dump_to="Remark"), + } + + +class ModifyAlertStrategyRemarkResponseSchema(schema.ResponseSchema): + """ModifyAlertStrategyRemark - 修改告警策略备注""" + + fields = { + "Data": models.AlertStrategyIdSchema(), + } + + +""" +API: QueryMetricDataSet + +查询监控指标数据集 +""" + + +class QueryMetricDataSetParamMetricInfosTagListSchema(schema.RequestSchema): + """QueryMetricDataSetParamMetricInfosTagList -""" + + fields = { + "TagKey": fields.Str(required=False, dump_to="TagKey"), + "TagValues": fields.List(fields.Str()), + } + + +class QueryMetricDataSetParamMetricInfosSchema(schema.RequestSchema): + """QueryMetricDataSetParamMetricInfos -""" + + fields = { + "Metric": fields.Str(required=True, dump_to="Metric"), + "ResourceId": fields.Str(required=True, dump_to="ResourceId"), + "TagList": fields.List( + QueryMetricDataSetParamMetricInfosTagListSchema() + ), + "TagOperation": fields.Str(required=False, dump_to="TagOperation"), + } + + +class QueryMetricDataSetRequestSchema(schema.RequestSchema): + """QueryMetricDataSet - 查询监控指标数据集""" + + fields = { + "CalcMethod": fields.Str(required=True, dump_to="CalcMethod"), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "MetricInfos": fields.List(QueryMetricDataSetParamMetricInfosSchema()), + "Period": fields.Int(required=True, dump_to="Period"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Region": fields.Str(required=True, dump_to="Region"), + "StartTime": fields.Int(required=True, dump_to="StartTime"), + } + + +class QueryMetricDataSetResponseSchema(schema.ResponseSchema): + """QueryMetricDataSet - 查询监控指标数据集""" + + fields = { + "Data": models.QueryMetricDataRespSchema(), + "Message": fields.Str(required=False, load_from="Message"), + "TraceId": fields.Str(required=False, load_from="TraceId"), + } + + +""" +API: QueryMetricDataSummary + +获取资源看图属性列表 +""" + + +class QueryMetricDataSummaryRequestSchema(schema.RequestSchema): + """QueryMetricDataSummary - 获取资源看图属性列表""" + + fields = { + "Limit": fields.Int(required=True, dump_to="Limit"), + "Metrics": fields.List(fields.Str()), + "Offset": fields.Int(required=True, dump_to="Offset"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Region": fields.Str(required=True, dump_to="Region"), + "ResourceIds": fields.List(fields.Str()), + } + + +class QueryMetricDataSummaryResponseSchema(schema.ResponseSchema): + """QueryMetricDataSummary - 获取资源看图属性列表""" + + fields = { + "Data": models.QueryMetricDataSummaryRespDataSchema(), + "Message": fields.Str(required=False, load_from="Message"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "TraceId": fields.Str(required=False, load_from="TraceId"), + } + + +""" +API: UnBindAlertStrategy + +解绑告警策略 +""" + + +class UnBindAlertStrategyRequestSchema(schema.RequestSchema): + """UnBindAlertStrategy - 解绑告警策略""" + + fields = { + "AlertStrategyIDs": fields.List(fields.Int()), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Resources": fields.List(fields.Str()), + } + + +class UnBindAlertStrategyResponseSchema(schema.ResponseSchema): + """UnBindAlertStrategy - 解绑告警策略""" + + fields = {} + + +""" +API: UpdateAlertStrategy + +更新告警策略 +""" + + +class UpdateAlertStrategyParamRuleSetSchema(schema.RequestSchema): + """UpdateAlertStrategyParamRuleSet -""" + + fields = { + "Level": fields.Str(required=False, dump_to="Level"), + "MetricID": fields.Int(required=False, dump_to="MetricID"), + "SendInterval": fields.Int(required=False, dump_to="SendInterval"), + "SendPeriodType": fields.Str(required=False, dump_to="SendPeriodType"), + "Status": fields.Int(required=False, dump_to="Status"), + "ThresholdCompare": fields.Int( + required=False, dump_to="ThresholdCompare" + ), + "ThresholdValue": fields.Int(required=False, dump_to="ThresholdValue"), + "TriggerCount": fields.Int(required=False, dump_to="TriggerCount"), + } + + +class UpdateAlertStrategyRequestSchema(schema.RequestSchema): + """UpdateAlertStrategy - 更新告警策略""" + + fields = { + "AlertStrategyID": fields.Str(required=True, dump_to="AlertStrategyID"), + "CallbackLanguage": fields.Str( + required=False, dump_to="CallbackLanguage" + ), + "CallbackUrls": fields.List(fields.Str()), + "ConfigMode": fields.Int(required=True, dump_to="ConfigMode"), + "Name": fields.Str(required=True, dump_to="Name"), + "NotifyChannelDs": fields.List(fields.Str()), + "NotifyGroupIDs": fields.List(fields.Int()), + "NotifyType": fields.Str(required=False, dump_to="NotifyType"), + "NotifyUserIDs": fields.List(fields.Int()), + "ObjectType": fields.Int(required=True, dump_to="ObjectType"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "ResourceGroupIDs": fields.List(fields.Int()), + "Resources": fields.List(fields.Str()), + "RuleSet": fields.List(UpdateAlertStrategyParamRuleSetSchema()), + "TemplateId": fields.Int(required=False, dump_to="TemplateId"), + } + + +class UpdateAlertStrategyResponseSchema(schema.ResponseSchema): + """UpdateAlertStrategy - 更新告警策略""" + + fields = { + "Data": models.AlertStrategyIdSchema(), + } + + +""" +API: UpdateAlertStrategyTemplate + +编辑条件模板 +""" + + +class UpdateAlertStrategyTemplateParamRuleSetSchema(schema.RequestSchema): + """UpdateAlertStrategyTemplateParamRuleSet -""" + + fields = { + "Level": fields.Str(required=True, dump_to="Level"), + "MetricID": fields.Int(required=True, dump_to="MetricID"), + "SendInterval": fields.Int(required=False, dump_to="SendInterval"), + "SendPeriodType": fields.Str(required=True, dump_to="SendPeriodType"), + "Status": fields.Int(required=True, dump_to="Status"), + "ThresholdCompare": fields.Int( + required=True, dump_to="ThresholdCompare" + ), + "ThresholdValue": fields.Int(required=True, dump_to="ThresholdValue"), + "TriggerCount": fields.Int(required=True, dump_to="TriggerCount"), + } + + +class UpdateAlertStrategyTemplateRequestSchema(schema.RequestSchema): + """UpdateAlertStrategyTemplate - 编辑条件模板""" + + fields = { + "Name": fields.Str(required=True, dump_to="Name"), + "ProductKey": fields.Str(required=True, dump_to="ProductKey"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "RuleSet": fields.List(UpdateAlertStrategyTemplateParamRuleSetSchema()), + "TemplateID": fields.Int(required=True, dump_to="TemplateID"), + } + + +class UpdateAlertStrategyTemplateResponseSchema(schema.ResponseSchema): + """UpdateAlertStrategyTemplate - 编辑条件模板""" + + fields = { + "Data": models.AlertTemplateSchema(), + } diff --git a/ucloud/services/cloudwatch/schemas/models.py b/ucloud/services/cloudwatch/schemas/models.py new file mode 100644 index 0000000..017b6fd --- /dev/null +++ b/ucloud/services/cloudwatch/schemas/models.py @@ -0,0 +1,359 @@ +""" Code is generated by ucloud-model, DO NOT EDIT IT. """ + +from ucloud.core.typesystem import schema, fields + + +class AlertStrategyIdSchema(schema.ResponseSchema): + """AlertStrategyId - 告警策略id""" + + fields = { + "AlertStrategyID": fields.Int( + required=False, load_from="AlertStrategyID" + ), + } + + +class AlertTemplateSchema(schema.ResponseSchema): + """AlertTemplate - 告警模板对象""" + + fields = { + "TemplateID": fields.Int(required=True, load_from="TemplateID"), + } + + +class DelAlertTemplateSchema(schema.ResponseSchema): + """DelAlertTemplate - 删除告警模型返回对象""" + + fields = { + "TemplateID": fields.List(fields.Int()), + } + + +class MetricDataAggregationMethodSchema(schema.ResponseSchema): + """MetricDataAggregationMethod - 指标数据聚合方式""" + + fields = { + "Description": fields.Str(required=True, load_from="Description"), + "IsDefault": fields.Bool(required=True, load_from="IsDefault"), + "Label": fields.Str(required=True, load_from="Label"), + "Value": fields.Str(required=True, load_from="Value"), + } + + +class GetMetricDataAggregationMethodRespSchema(schema.ResponseSchema): + """GetMetricDataAggregationMethodResp - 获取指标数据聚合方式返回结构""" + + fields = { + "List": fields.List(MetricDataAggregationMethodSchema()), + } + + +class MetricUnitSchema(schema.ResponseSchema): + """MetricUnit - 指标单位""" + + fields = { + "ConversionFactor": fields.Int( + required=False, load_from="ConversionFactor" + ), + "CreatedAt": fields.Str(required=False, load_from="CreatedAt"), + "CreatedBy": fields.Str(required=False, load_from="CreatedBy"), + "DeletedAt": fields.Int(required=False, load_from="DeletedAt"), + "GroupId": fields.Int(required=False, load_from="GroupId"), + "UnitChName": fields.Str(required=False, load_from="UnitChName"), + "UnitDesc": fields.Str(required=False, load_from="UnitDesc"), + "UnitEnName": fields.Str(required=False, load_from="UnitEnName"), + "UnitID": fields.Int(required=False, load_from="UnitID"), + "UpdatedAt": fields.Str(required=False, load_from="UpdatedAt"), + "UpdatedBy": fields.Str(required=False, load_from="UpdatedBy"), + } + + +class MetircSchema(schema.ResponseSchema): + """Metirc - 指标""" + + fields = { + "CreatedAt": fields.Str(required=False, load_from="CreatedAt"), + "CreatedBy": fields.Str(required=False, load_from="CreatedBy"), + "FrequencyMs": fields.Int(required=False, load_from="FrequencyMs"), + "Metric": fields.Str(required=False, load_from="Metric"), + "MetricChDesc": fields.Str(required=False, load_from="MetricChDesc"), + "MetricChName": fields.Str(required=False, load_from="MetricChName"), + "MetricEnDesc": fields.Str(required=False, load_from="MetricEnDesc"), + "MetricEnName": fields.Str(required=False, load_from="MetricEnName"), + "MetricGroup": fields.Str(required=False, load_from="MetricGroup"), + "MetricID": fields.Int(required=False, load_from="MetricID"), + "ProductType": fields.Int(required=False, load_from="ProductType"), + "Unit": MetricUnitSchema(), + "UnitID": fields.Int(required=False, load_from="UnitID"), + "UpdatedAt": fields.Str(required=False, load_from="UpdatedAt"), + "UpdatedBy": fields.Str(required=False, load_from="UpdatedBy"), + } + + +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 - 指标单位配置""" + + fields = { + "ConversionFactor": fields.Int( + required=False, load_from="ConversionFactor" + ), + "ConversionRules": fields.List(ConversionRuleSchema()), + "UnitCnNames": fields.List(fields.Str()), + "UnitEnNames": fields.List(fields.Str()), + } + + +class GetProductMetricsRespDataSchema(schema.ResponseSchema): + """GetProductMetricsRespData - 产品指标查询结果""" + + fields = { + "List": fields.List(MetircSchema()), + "Total": fields.Int(required=False, load_from="Total"), + "UnitConfigs": fields.List(MetricUnitConfigSchema()), + } + + +class AlertRecordSchema(schema.ResponseSchema): + """AlertRecord - 告警记录模型""" + + fields = { + "ContentAttrList": fields.List(fields.Str()), + "EndAt": fields.Int(required=False, load_from="EndAt"), + "Level": fields.Str(required=False, load_from="Level"), + "MetricID": fields.Int(required=False, load_from="MetricID"), + "MetricName": fields.Str(required=False, load_from="MetricName"), + "ProductName": fields.Str(required=False, load_from="ProductName"), + "ProductType": fields.Int(required=False, load_from="ProductType"), + "ProjectID": fields.Int(required=False, load_from="ProjectID"), + "RecordID": fields.Int(required=False, load_from="RecordID"), + "Region": fields.Str(required=False, load_from="Region"), + "ResourceID": fields.Str(required=False, load_from="ResourceID"), + "RuleID": fields.Int(required=False, load_from="RuleID"), + "ShieldRuleID": fields.Int(required=False, load_from="ShieldRuleID"), + "StartAt": fields.Int(required=False, load_from="StartAt"), + "Status": fields.Str(required=False, load_from="Status"), + "StrategyID": fields.Int(required=False, load_from="StrategyID"), + "StrategyName": fields.Str(required=False, load_from="StrategyName"), + "Tag": fields.List(fields.Str()), + "ThresholdCompare": fields.Int( + required=False, load_from="ThresholdCompare" + ), + "ThresholdValue": fields.Int( + required=False, load_from="ThresholdValue" + ), + "UnitName": fields.Str(required=False, load_from="UnitName"), + "Value": fields.Int(required=False, load_from="Value"), + } + + +class AlertRuleSchema(schema.ResponseSchema): + """AlertRule - 告警规则""" + + fields = { + "Level": fields.Str(required=False, load_from="Level"), + "MetricID": fields.Int(required=False, load_from="MetricID"), + "MetricName": fields.Str(required=False, load_from="MetricName"), + "RuleID": fields.Int(required=False, load_from="RuleID"), + "SendInterval": fields.Int(required=False, load_from="SendInterval"), + "SendPeriodType": fields.Str( + required=False, load_from="SendPeriodType" + ), + "Status": fields.Int(required=False, load_from="Status"), + "ThresholdCompare": fields.Int( + required=False, load_from="ThresholdCompare" + ), + "ThresholdValue": fields.Float( + required=False, load_from="ThresholdValue" + ), + "TriggerCount": fields.Int(required=False, load_from="TriggerCount"), + "UnitID": fields.Int(required=False, load_from="UnitID"), + "UnitName": fields.Str(required=False, load_from="UnitName"), + } + + +class AlertStrategySchema(schema.ResponseSchema): + """AlertStrategy - 告警策略模型""" + + fields = { + "AlertStrategyID": fields.Int( + required=False, load_from="AlertStrategyID" + ), + "CallbackLanguage": fields.Str( + required=False, load_from="CallbackLanguage" + ), + "CallbackUrls": fields.List(fields.Str()), + "ConfigMode": fields.Int(required=False, load_from="ConfigMode"), + "CreatedAt": fields.Int(required=False, load_from="CreatedAt"), + "CreatedBy": fields.Str(required=False, load_from="CreatedBy"), + "Name": fields.Str(required=False, load_from="Name"), + "NotifyChannelDs": fields.List(fields.Str()), + "NotifyGroupIDs": fields.List(fields.Int()), + "NotifyType": fields.Str(required=False, load_from="NotifyType"), + "NotifyUserIDs": fields.List(fields.Int()), + "ProductKey": fields.Str(required=False, load_from="ProductKey"), + "ProductType": fields.Int(required=False, load_from="ProductType"), + "Remark": fields.Str(required=False, load_from="Remark"), + "RuleSet": fields.List(AlertRuleSchema()), + "Status": fields.Int(required=False, load_from="Status"), + "TemplateId": fields.Int(required=False, load_from="TemplateId"), + "UpdatedAt": fields.Int(required=False, load_from="UpdatedAt"), + "UpdatedBy": fields.Str(required=False, load_from="UpdatedBy"), + } + + +class ListAlertTemplateSchema(schema.ResponseSchema): + """ListAlertTemplate -""" + + fields = { + "CompanyID": fields.Int(required=False, load_from="CompanyID"), + "Name": fields.Str(required=False, load_from="Name"), + "ProductKey": fields.Str(required=False, load_from="ProductKey"), + "ProductType": fields.Int(required=False, load_from="ProductType"), + "Remark": fields.Str(required=False, load_from="Remark"), + "RuleSet": fields.List(AlertRuleSchema()), + "TemplateID": fields.Int(required=False, load_from="TemplateID"), + } + + +class ProductSchema(schema.ResponseSchema): + """Product - 云产品""" + + fields = { + "Id": fields.Int(required=False, load_from="Id"), + "Metas": fields.Str(required=False, load_from="Metas"), + "ProductChName": fields.Str(required=False, load_from="ProductChName"), + "ProductEnName": fields.Str(required=False, load_from="ProductEnName"), + "ProductGroup": fields.Str(required=False, load_from="ProductGroup"), + "ProductKey": fields.Str(required=False, load_from="ProductKey"), + "ProductName": fields.Str(required=False, load_from="ProductName"), + "ProductName1": fields.Str(required=False, load_from="ProductName1"), + "ProductType": fields.Int(required=False, load_from="ProductType"), + } + + +class ListMonitorProductSchema(schema.ResponseSchema): + """ListMonitorProduct -""" + + fields = { + "List": fields.List(ProductSchema()), + "Total": fields.Int(required=False, load_from="Total"), + } + + +class MetricSampleSchema(schema.ResponseSchema): + """MetricSample - 指标数据点(代码结构体:MetricPoint)""" + + fields = { + "Timestamp": fields.Int(required=False, load_from="Timestamp"), + "Value": fields.Float(required=False, load_from="Value"), + } + + +class MetricResultSchema(schema.ResponseSchema): + """MetricResult - 单条时间序列的结果(代码结构体:MetricValues)""" + + fields = { + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "ResourceName": fields.Str(required=False, load_from="ResourceName"), + "TagList": fields.List(fields.Int()), + "Values": fields.List(MetricSampleSchema()), + } + + +class ObjectTypeSchema(schema.ResponseSchema): + """ObjectType -""" + + fields = { + "Id": fields.Int(required=False, load_from="Id"), + "Metas": fields.Str(required=False, load_from="Metas"), + "ObjectType": fields.Str(required=False, load_from="ObjectType"), + "ObjectTypeKey": fields.Str(required=False, load_from="ObjectTypeKey"), + "ProductCNName": fields.Str(required=False, load_from="ProductCNName"), + "ProductENName": fields.Str(required=False, load_from="ProductENName"), + "ProductName": fields.Str(required=False, load_from="ProductName"), + "ProductName1": fields.Str(required=False, load_from="ProductName1"), + } + + +class QueryMetricDataRespItemSchema(schema.ResponseSchema): + """QueryMetricDataRespItem - 单个监控指标的查询结果""" + + fields = { + "ErrCode": fields.Int(required=False, load_from="ErrCode"), + "ErrMsg": fields.Str(required=False, load_from="ErrMsg"), + "Metric": fields.Str(required=False, load_from="Metric"), + "Results": fields.List(MetricResultSchema()), + "TagEntries": fields.List(ObjectTypeSchema()), + } + + +class QueryMetricDataRespSchema(schema.ResponseSchema): + """QueryMetricDataResp - QueryMetricDataSet 接口返回的结果""" + + fields = { + "InvalidResourceIds": fields.List(fields.Str()), + "List": fields.List(QueryMetricDataRespItemSchema()), + } + + +class MetricSingleSampleSchema(schema.ResponseSchema): + """MetricSingleSample - 指标单个样本点结果""" + + fields = { + "Metric": fields.Str(required=False, load_from="Metric"), + "TagsList": fields.List(ProductSchema()), + "Value": MetricSampleSchema(), + } + + +class ResourceMonitorItemSchema(schema.ResponseSchema): + """ResourceMonitorItem - 资源监控的单个指标数据""" + + fields = { + "Metric": fields.Str(required=False, load_from="Metric"), + "MetricValues": fields.List(MetricSingleSampleSchema()), + } + + +class ResourceSummarySchema(schema.ResponseSchema): + """ResourceSummary - 单个资源的总览属性指标等信息""" + + fields = { + "CompanyId": fields.Int(required=False, load_from="CompanyId"), + "LabelAttrList": fields.List(ResourceMonitorItemSchema()), + "MonitorAttr": fields.List(ResourceMonitorItemSchema()), + "Name": fields.Str(required=False, load_from="Name"), + "OrganizationId": fields.Int( + required=False, load_from="OrganizationId" + ), + "ProductKey": fields.Str(required=False, load_from="ProductKey"), + "ProjectId": fields.Int(required=False, load_from="ProjectId"), + "Region": fields.Str(required=False, load_from="Region"), + "RegionCN": fields.Str(required=False, load_from="RegionCN"), + "ResourceExtendAttrList": fields.List(ResourceMonitorItemSchema()), + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "Status": fields.Int(required=False, load_from="Status"), + "Zone": fields.Str(required=False, load_from="Zone"), + "ZoneCN": fields.Str(required=False, load_from="ZoneCN"), + } + + +class QueryMetricDataSummaryRespDataSchema(schema.ResponseSchema): + """QueryMetricDataSummaryRespData - QueryMetricDataSummary接口返回的Data数据""" + + fields = { + "List": fields.List(ResourceSummarySchema()), + "Total": fields.Int(required=False, load_from="Total"), + } diff --git a/ucloud/services/uai_modelverse/client.py b/ucloud/services/uai_modelverse/client.py index da95bf1..7718778 100644 --- a/ucloud/services/uai_modelverse/client.py +++ b/ucloud/services/uai_modelverse/client.py @@ -25,10 +25,13 @@ def create_um_infer_api_key( - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - **Name** (str) - (Required) apikey名称 - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **DeniedModels** (str) - API Key 禁止访问的模型列表。内容为数组格式。 + - **ExpireTime** (int) - API Key 过期时间,Unix 时间戳,单位为秒。传 -1 表示永不过期。 - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 - **GrantedModels** (str) - 授权模型,内容为数组格式。当 GrantAllModels 为false时 当前key只可访问数组中模型。例:["deepseek-ai/DeepSeek-V3.2-Think"] - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:192.168.1.1192.168.1.10-192.168.1.100192.168.1.10/24 - **InferenceLogEnabled** (int) - 是否开启推理日志 + - **ModelAccessMode** (str) - 模型访问策略:whitelist 表示白名单模式,blacklist 表示黑名单模式。 - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) @@ -45,6 +48,7 @@ def create_um_infer_api_key( - **CreateTime** (int) - 创建时间 - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 - **DailyUsedAmount** (str) - 日已使用额,单位随用户所在渠道。126渠道单位为美元 + - **DeniedModels** (list) - 禁止访问的模型列表。当 ModelAccessMode=blacklist 时生效。 - **ExpireTime** (int) - 过期时间的unix时间戳,-1 用不过期 - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 - **GrantedModels** (list) - 授权的模型,英文逗号分隔,all表示所有模型都有权限 @@ -52,6 +56,7 @@ def create_um_infer_api_key( - **InferenceLogEnabled** (int) - 是否开启推理日志 - **Key** (str) - 密钥值 - **KeyId** (str) - 资源ID + - **ModelAccessMode** (str) - 模型访问策略。可选值:whitelist(白名单模式,默认)或 blacklist(黑名单模式)。 - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 - **MonthlyUsedAmount** (str) - 月已使用额,单位随用户所在渠道。126渠道单位为美元 @@ -276,14 +281,14 @@ def get_filter_options( **Response Model** - **FilterOptionString** + **FilterOptionInteger** - **Name** (str) - 显示名称 - - **Value** (str) - 值 + - **Value** (int) - 值 - **FilterOptionInteger** + **FilterOptionString** - **Name** (str) - 显示名称 - - **Value** (int) - 值 + - **Value** (str) - 值 """ @@ -484,6 +489,9 @@ def get_um_infer_api_model( - **Currency** (str) - - **Image** (float) - - **Prompt** (float) - + - **Unit** (str) - + - **UnitEn** (str) - + - **Video** (str) - **UMinferAPIModel** @@ -1161,10 +1169,13 @@ def update_um_infer_api_key( - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - **KeyId** (str) - (Required) apikey的id - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 + - **DeniedModels** (str) - 禁止访问的模型列表。当 ModelAccessMode=blacklist 时生效。数组类型,示例 ["gpt-4o", "sora-2"] + - **ExpireTime** (int) - API Key 过期时间,Unix 时间戳,单位为秒。传 -1 表示永不过期。 - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 - **GrantedModels** (str) - 授权模型,内容为数组格式。当 GrantAllModels 为false时 当前key只可访问数组中模型。例:["deepseek-ai/DeepSeek-V3.2-Think"] - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:  192.168.1.1 192.168.1.10-192.168.1.100 192.168.1.10/24 - **InferenceLogEnabled** (int) - 是否开启推理日志 + - **ModelAccessMode** (str) - 模型访问策略。可选值:whitelist(白名单模式,默认)或 blacklist(黑名单模式)。 - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 - **Name** (str) - 更新的名称 diff --git a/ucloud/services/uai_modelverse/schemas/apis.py b/ucloud/services/uai_modelverse/schemas/apis.py index c5b8231..068a9e7 100644 --- a/ucloud/services/uai_modelverse/schemas/apis.py +++ b/ucloud/services/uai_modelverse/schemas/apis.py @@ -21,12 +21,17 @@ class CreateUMInferAPIKeyRequestSchema(schema.RequestSchema): "DailyLimitAmount": fields.Str( required=False, dump_to="DailyLimitAmount" ), + "DeniedModels": fields.Str(required=False, dump_to="DeniedModels"), + "ExpireTime": fields.Int(required=False, dump_to="ExpireTime"), "GrantAllModels": fields.Bool(required=False, dump_to="GrantAllModels"), "GrantedModels": fields.Str(required=False, dump_to="GrantedModels"), "IPWhitelist": fields.Str(required=False, dump_to="IPWhitelist"), "InferenceLogEnabled": fields.Int( required=False, dump_to="InferenceLogEnabled" ), + "ModelAccessMode": fields.Str( + required=False, dump_to="ModelAccessMode" + ), "ModelverseDisabled": fields.Int( required=False, dump_to="ModelverseDisabled" ), @@ -762,6 +767,8 @@ class UpdateUMInferAPIKeyRequestSchema(schema.RequestSchema): "DailyLimitAmount": fields.Str( required=False, dump_to="DailyLimitAmount" ), + "DeniedModels": fields.Str(required=False, dump_to="DeniedModels"), + "ExpireTime": fields.Int(required=False, dump_to="ExpireTime"), "GrantAllModels": fields.Bool(required=False, dump_to="GrantAllModels"), "GrantedModels": fields.Str(required=False, dump_to="GrantedModels"), "IPWhitelist": fields.Str(required=False, dump_to="IPWhitelist"), @@ -769,6 +776,9 @@ class UpdateUMInferAPIKeyRequestSchema(schema.RequestSchema): required=False, dump_to="InferenceLogEnabled" ), "KeyId": fields.Str(required=True, dump_to="KeyId"), + "ModelAccessMode": fields.Str( + required=False, dump_to="ModelAccessMode" + ), "ModelverseDisabled": fields.Int( required=False, dump_to="ModelverseDisabled" ), diff --git a/ucloud/services/uai_modelverse/schemas/models.py b/ucloud/services/uai_modelverse/schemas/models.py index df1aaa9..5955646 100644 --- a/ucloud/services/uai_modelverse/schemas/models.py +++ b/ucloud/services/uai_modelverse/schemas/models.py @@ -350,6 +350,17 @@ class OrderItemDetailSchema(schema.ResponseSchema): } +class RequestLogSummarySchema(schema.ResponseSchema): + """RequestLogSummary - 请求日志汇总""" + + fields = { + "FailedRequests": fields.Int( + required=False, load_from="FailedRequests" + ), + "TotalRequests": fields.Int(required=False, load_from="TotalRequests"), + } + + class RequestLogItemSchema(schema.ResponseSchema): """RequestLogItem - 请求日志列表项""" @@ -398,17 +409,6 @@ class RequestLogItemSchema(schema.ResponseSchema): } -class RequestLogSummarySchema(schema.ResponseSchema): - """RequestLogSummary - 请求日志汇总""" - - fields = { - "FailedRequests": fields.Int( - required=False, load_from="FailedRequests" - ), - "TotalRequests": fields.Int(required=False, load_from="TotalRequests"), - } - - class ListUMInferRequestLogsDataSchema(schema.ResponseSchema): """ListUMInferRequestLogsData - 日志明细列表返回数据""" diff --git a/ucloud/version.py b/ucloud/version.py index 6315ada..8b76268 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.119" +version = "0.11.120"