diff --git a/CHANGELOG.md b/CHANGELOG.md index 484e9d6..4e2c383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # TencentCloud Monitor Grafana App--- +## [2.9.3] - 2024-08-29 +### Modify +- 地域参数选择问题修复 +- 其他已知问题修复 ## [2.9.2] - 2024-08-12 ### Modify diff --git a/dist/CHANGELOG.md b/dist/CHANGELOG.md index 484e9d6..4e2c383 100644 --- a/dist/CHANGELOG.md +++ b/dist/CHANGELOG.md @@ -1,5 +1,9 @@ # TencentCloud Monitor Grafana App--- +## [2.9.3] - 2024-08-29 +### Modify +- 地域参数选择问题修复 +- 其他已知问题修复 ## [2.9.2] - 2024-08-12 ### Modify diff --git a/dist/components/config.js b/dist/components/config.js index 87a226f..3a927d1 100644 --- a/dist/components/config.js +++ b/dist/components/config.js @@ -1,2 +1,2 @@ -define("TencentCloudMonitorGrafanaApp",["lodash","app/core/core_module","@grafana/data","@grafana/runtime","moment"],(function(e,t,n,r,i){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=212)}([function(t,n){t.exports=e},function(e,t,n){"use strict";var r={language:"语言",enable_intranet_API_mode:"开启内网API模式",cloud_database:"云数据库",cloud_load_balancer:"负载均衡",virtual_private_cloud:"私有网络",content_delivery_network:"内容分发网络",message_queue:"消息队列",direct_connect:"专线接入",cloud_physical_machine:"黑石物理服务器",elastic_mapReduce:"弹性 MapReduce",edge_computing_machine:"边缘计算机器",RUM:"前端性能监控(RUM)",APM:"应用性能监控(APM)",CLS:"日志服务(CLS)",CVM:"云服务器(CVM)",CDB:"云数据库 MySQL(CDB)",CMONGO:"云数据库 MongoDB(CMONGO)",POSTGRES:"云数据库 PostgreSQL(POSTGRES)",REDIS:"云数据库 Redis(REDIS)",REDIS_MEM:"云数据库 Redis内存版(5s)(REDIS_MEM)",SQLSERVER:"云数据库 SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"云数据库 TcaplusDB(TCAPLUS)",TDMYSQL:"分布式数据库 TDSQL MySQL(TDMYSQL)",PCX:"私有网络-对等连接(PCX)",BWP:"私有网络-带宽包(BWP)",NAT_GATEWAY:"私有网络-NAT 网关(NAT_GATEWAY)",VPNGW:"私有网络-VPN 网关(VPNGW)",VPNX:"私有网络-VPN 通道(VPNX)",DCG:"私有网络-专线网关(DCG)",CEIP_SUMMARY:"私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)",VPC_NET_DETECT:"私有网络-网络探测(VPC_NET_DETECT)",VBC:"私有网络-云联网(VBC)",LB:"私有网络-弹性公网IP(LB)",LB_PUBLIC:"公网负载均衡监控指标(LB_PUBLIC)",LB_PRIVATE:"内网负载均衡四层协议监控指标(LB_PRIVATE)",LOADBALANCE:"内网负载均衡七层协议监控指标(LOADBALANCE)",CDN:"国内域名(CDN)",CDN_LOG_DATA:"省份域名(CDN_LOG_DATA)",OV_CDN:"国外域名(OV_CDN)",SCF_V2:"云函数(SCF)",CFS:"文件存储(CFS)",COS:"对象存储(COS)",CKAFKA:"消息队列 CKafka(CKAFKA)",CMQ:"消息队列-队列服务监控(CMQ)",CMQTOPIC:"消息队列-主题订阅监控(CMQTOPIC)",TDMQ:"消息队列 Pulsar 版(TDMQ)",TDMQ_ROCKETMQ:"消息队列 RocketMQ 版(ROCKETMQ)",TDMQ_RABBITMQ:"消息队列 RabbitMQ 版(RABBITMQ)",DCX:"专线接入-专用通道(DCX)",DC:"专线接入-物理专线(DC)",CPM:"黑石物理服务器(CPM)",BM_PCX:"黑石对等连接(BM_PCX)",BM_LB:"黑石外网负载均衡(BM_LB)",BM_INTRA_LB:"黑石内网负载均衡(BM_INTRA_LB)",CES:"Elasticsearch指标(CES)",BLOCK_STORAGE:"云硬盘(BLOCK_STORAGE)",APIGATEWAY:"API 网关(APIGATEWAY)",QAAP:"全球应用加速(GAAP)",ECM:"边缘计算和网络监控(ECM)",ECM_BLOCK_STORAGE:"边缘计算存储监控(ECM_BLOCK_STORAGE)",ECM_LB:"边缘计算负载均衡(ECM_LB)",GSE:"游戏服务器伸缩(GSE)",TKE:"容器服务(TKE)",ECDN:"全站加速网络(ECDN)",WAF:"Web 应用防火墙(WAF)",multi_scene:"多场景版",lite:"精简版",cloud_monitor:"云监控",cloud_log_service:"日志服务",real_user_monitoring:"前端性能监控",apm_monitoring:"应用性能监控",region:"地域",log_topic:"日志主题",syntax_rule:"语法规则",max_result_num:"最大结果条数",search_statement:"检索语句",time_unit:"Time unit",seconds:"seconds",search_description:"按照具体的查询条件搜索实例,默认拉取前 20 条实例","ap-guangzhou":"华南地区(广州)","ap-shenzhen-fsi":"华南地区(深圳金融)","ap-guangzhou-open":"华南地区(广州OPEN)","ap-shenzhen":"华南地区(深圳)","ap-qingyuan":"华南地区(清远)","ap-shanghai":"华东地区(上海)","ap-shanghai-fsi":"华东地区(上海金融)","ap-jinan-ec":"华东地区(济南)","ap-hangzhou-ec":"华东地区(杭州)","ap-nanjing":"华东地区(南京)","ap-fuzhou-ec":"华东地区(福州)","ap-hefei-ec":"华东地区(合肥)","ap-beijing":"华北地区(北京)","ap-tianjin":"华北地区(天津)","ap-beijing-fsi":"华北地区(北京金融)","ap-shijiazhuang-ec":"华北地区(石家庄)","ap-wuhan-ec":"华中地区(武汉)","ap-changsha-ec":"华中地区(长沙)","ap-zhengzhou-ec":"华中地区(郑州)","ap-chengdu":"西南地区(成都)","ap-chongqing":"西南地区(重庆)","ap-xian-ec":"西北地区(西安)","ap-shenyang-ec":"东北地区(沈阳)","ap-taipei":"港澳台地区(中国台北)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-tokyo":"亚太东北(东京)","ap-singapore":"亚太东南(新加坡)","ap-bangkok":"亚太东南(曼谷)","ap-jakarta":"亚太东南(雅加达)","na-siliconvalley":"美国西部(硅谷)","eu-frankfurt":"欧洲地区(法兰克福)","eu-moscow":"欧洲地区(莫斯科)","ap-mumbai":"亚太南部(孟买)","na-ashburn":"美国东部(弗吉尼亚)","sa-saopaulo":"南美地区(圣保罗)","na-toronto":"北美地区(多伦多)"},i={language:"Language",enable_intranet_API_mode:"Enable Intranet API Mode",cloud_database:"Cloud Database",cloud_load_balancer:"Cloud Load Balancer",virtual_private_cloud:"Virtual Private Cloud",content_delivery_network:"Content Delivery Network",message_queue:"Message Queue",direct_connect:"Direct Connect",cloud_physical_machine:"Cloud Physical Machine",elastic_mapReduce:"Elastic MapReduce",edge_computing_machine:"Edge Computing Machine",RUM:"Real User Monitoring(RUM)",CLS:"Cloud Log Service(CLS)",CVM:"Cloud Virtual Machine(CVM)",CDB:"TencentDB for MySQL(CDB)",CMONGO:"TencentDB for MongoDB(CMONGO)",POSTGRES:"TencentDB for PostgreSQL(POSTGRES)",REDIS:"TencentDB for Redis(REDIS)",REDIS_MEM:"TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)",SQLSERVER:"TencentDB for SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"TencentDB for TcaplusDB(TCAPLUS)",TDMYSQL:"TDSQL for MySQL(TDMYSQL)",PCX:"Peering Connection(PCX)",BWP:"Bandwidth Packet(BWP)",NAT_GATEWAY:"NAT Gateway(NAT_GATEWAY)",VPNGW:"VPN Gateway(VPNGW)",VPNX:"VPN Tunnel(VPNX)",DCG:"Direct Connect Gateway(DCG)",CEIP_SUMMARY:"Anycast EIP(CEIP_SUMMARY)",VPC_NET_DETECT:"Network Detection(VPC_NET_DETECT)",VBC:"Cloud Connect Network(VBC)",LB:"Elastic IP(LB)",LB_PUBLIC:"Public Network CLB(LB_PUBLIC)",LB_PRIVATE:"Private Network CLB Layer-4 Protocol(LB_PRIVATE)",LOADBALANCE:"Private Network CLB Layer-7 Protocol(LOADBALANCE)",CDN:"Chinese Mainland Domain(CDN)",CDN_LOG_DATA:"Province(CDN_LOG_DATA)",OV_CDN:"Overseas Domain(OV_CDN)",SCF_V2:"Serverless Cloud Function(SCF)",CFS:"Cloud File Storage(CFS)",COS:"Cloud Object Storage(COS)",CKAFKA:"Message Queue CKafka(CKAFKA)",CMQ:"Message Queue for Queue Service(CMQ)",CMQTOPIC:"Message Queue for Topic Subscription(CMQTOPIC)",TDMQ:"Tencent Distributed Message Queue for Pulsar(TDMQ)",TDMQ_ROCKETMQ:"Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)",TDMQ_RABBITMQ:"Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)",DCX:"Direct Connect for Dedicated Tunnel(DCX)",DC:"Direct Connect for Connection(DC)",CPM:"Cloud Physical Machine(CPM)",BM_PCX:"Cloud Physical Machine for Peering Connection(BM_PCX)",BM_LB:"Cloud Physical Machine for Public Network CLB(BM_LB)",BM_INTRA_LB:"Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)",CES:"Elasticsearch Service(CES)",BLOCK_STORAGE:"Cloud Block Storage(BLOCK_STORAGE)",APIGATEWAY:"API Gateway(APIGATEWAY)",QAAP:"Global Application Acceleration Platform(GAAP)",ECM:"Edge Computing Machine for Computation and Networking(ECM)",ECM_BLOCK_STORAGE:"Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)",ECM_LB:"Edge Computing Machine for Layer-4 CLB(ECM_LB)",GSE:"Game Server Elastic-scaling(GSE)",TKE:"Tencent Kubernetes Engine(TKE)",ECDN:"Enterprise Content Delivery Network(ECDN)",WAF:"Web Application Firewall(WAF)",multi_scene:"Multi-Scene",lite:"Lite",cloud_monitor:"Cloud Monitor",cloud_log_service:"Cloud Log Service",real_user_monitoring:"Real User Monitoring",apm_monitoring:"Application Monitoring",region:"Region",log_topic:"Log Topic",syntax_rule:"Syntax Rule",max_result_num:"Maximum result number",search_statement:"Search Statement",time_unit:"Time unit",seconds:"seconds",search_description:"Search for instances according to specific query conditions, and pull the first 20 instances by default","ap-guangzhou":"South China(Guangzhou)","ap-shenzhen-fsi":"South China(Shenzhen Finance)","ap-guangzhou-open":"South China(Guangzhou OPEN)","ap-shenzhen":"South China(Shenzhen)","ap-qingyuan":"South China(Qingyuan)","ap-shanghai":"East China(Shanghai)","ap-shanghai-fsi":"East China(Shanghai Finance)","ap-jinan-ec":"East China(Jinan)","ap-hangzhou-ec":"East China(Hangzhou)","ap-nanjing":"East China(Nanjing)","ap-fuzhou-ec":"East China(Fuzhou)","ap-hefei-ec":"East China(Hefei)","ap-beijing":"North China region(Beijing)","ap-tianjin":"North China region(Tianjin)","ap-beijing-fsi":"North China region(Beijing Finance)","ap-shijiazhuang-ec":"North China region(Shijiazhuang)","ap-wuhan-ec":"Central China(Wuhan)","ap-changsha-ec":"Central China(Changsha)","ap-zhengzhou-ec":"Central China(Zhengzhou)","ap-chengdu":"Southwest China(Chengdu)","ap-chongqing":"Southwest China(Chongqing)","ap-xian-ec":"Northwest region(Xi'an)","ap-shenyang-ec":"Northeast China(Shenyang)","ap-taipei":"Hong Kong, Macau and Taiwan (China)(Taipei, China)","ap-hongkong":"Hong Kong, Macau and Taiwan (China)(Hong Kong, China)","ap-seoul":"Northeast Asia(Seoul)","ap-tokyo":"Northeast Asia(Tokyo)","ap-singapore":"Southeast Asia(Singapore)","ap-bangkok":"Southeast Asia(Bangkok)","ap-jakarta":"Southeast Asia(Jakarta)","na-siliconvalley":"US West(Silicon Valley)","eu-frankfurt":"Europe(Frankfurt)","eu-moscow":"Europe(Northeastern Europe)","ap-mumbai":"South Asia(Mumbai)","na-ashburn":"US East(Virginia)","sa-saopaulo":"South America(São Paulo)","na-toronto":"North America(Toronto)"};n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return u}));var o,a="zh-CN";!function(e){e.Chinese="zh-CN",e.English="en-US"}(o||(o={}));var c=function(e){return a===o.Chinese?r[e]:i[e]},s=function(e){a=e},u=function(){return a}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(197),a=n.n(o),c=n(20),s=n(69),u=n.n(s),l=function(){return(l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&-1===t._InstanceAliasValue.indexOf(r[o].timeshift)&&(t._InstanceAliasValue+="_".concat(r[o].timeshift)),t[e]=d.getDimensionsVal(t,p,y),d.checkKeys.length>0&&d.checkKeys.forEach((function(n){t[n]=t[e]})),n[e]={Name:e,Value:t[e]},[2]}}))},d=this,m=0,y=e,v.label=1;case 1:return m0){var r=i.a.cloneDeep(t);return r[n].timeshift="",m(m([],e,!0),[r,t],!1)}return m(m([],e,!0),[t],!1)}),[]).map((function(r){return d(t,void 0,void 0,(function(){var t,o,l,p,d,m,y,h,g,v,b,I,D=this;return f(this,(function(f){switch(f.label){case 0:return t=Object(c.j)(this.templateSrv,e.scopedVars,r[n].instance,!0),[4,s.a.getInstance(this.service)];case 1:o=f.sent(),l=Object(u.c)(r[n].timeshift),t=[].concat(t).map((function(e){var t,n;try{return JSON.parse(e)}catch(r){return o?null!==(n=i.a.cloneDeep(o.find((function(t){return t[D.templateQueryIdMap.instance]===e}))))&&void 0!==n?n:{}:null===(t=D.getDefaultInsObj)||void 0===t?void 0:t.call(D,e)}})),p=Object(c.j)(this.templateSrv,e.scopedVars,r[n].region,!1),d=[],m=0,y=t,f.label=2;case 2:return m=g)return(null==f?void 0:f.response)?f.response(r):r;var v=Object(c.k)(g,(null==o?void 0:o.Limit)||100),b=[];return i.a.forEach(v,(function(r){b.push(n.getInstances(e,p(p({},r),t)))})),Promise.all(b).then((function(e){return i.a.forEach(e,(function(e){r=i.a.concat(r,e)})),(null==f?void 0:f.response)?f.response(r):r})).catch((function(e){return(null==f?void 0:f.response)?f.response(r):r}))}))},e.prototype.isValidConfigField=function(e){return e&&e.length>0},e.prototype.testDatasource=function(){var e=this;return this.isValidConfigField(this.secretId)?Promise.all([this.getRegions(),this.getMetrics(),this.getInstances("ap-guangzhou",{Offset:0,Limit:1})]).then((function(t){var n=i.a.get(t,"[0].Error",{}),r=i.a.get(t,"[1].Error",{}),o=i.a.get(t,"[2].Error",{}),a=i.a.get(n,"Code",""),c=i.a.get(r,"Code",""),s=i.a.get(o,"Code","");if(a||c||s){var u=[];a&&u.push(i.a.get(n,"Code")),c&&u.push(i.a.get(r,"Code")),s&&u.push(i.a.get(o,"Code"));var l=i.a.join(i.a.compact(i.a.uniq(u)),"; ");return{service:e.service,status:"error",message:l}}return{namespace:e.namespace,service:e.service,status:"success",message:"Successfully queried the ".concat(e.service," service."),title:"Success"}})).catch((function(t){var n="".concat(e.service," service:");return n+=t.statusText?t.statusText+"; ":"",i.a.get(t,"data.error.code","")?n+=t.data.error.code+". "+t.data.error.message:i.a.get(t,"data.error","")?n+=t.data.error:i.a.get(t,"data","")?n+=t.data:n+="Cannot connect to ".concat(e.service," service."),{service:e.service,status:"error",message:n}})):{service:this.service,status:"error",message:"The SecretId/SecretKey field is required."}},e.prototype.doRequest=function(e,t,n){return void 0===n&&(n={}),d(this,void 0,void 0,(function(){return f(this,(function(r){switch(r.label){case 0:return[4,Object(c.c)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return i.a.get(e,"data.Response",{})})).catch((function(e){throw e}))]}}))}))},e}()},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"f",(function(){return f})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return y}));var r=n(0),i=n.n(r),o=n(20),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t?r.push({Name:o,Values:i.a.uniq(e).slice(0,5)}):n[o]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t?r.push({Name:o,Values:i.a.get(e,"value",[]).slice(0,5)}):n[o]=i.a.get(e,"value")):null!=e&&""!==e&&(t?r.push({Name:o,Values:e}):n[o]=e)})),t&&r.length>0)return n.Filters=r,n}return n}function d(e){return i.a.get(i.a.find(o.SERVICES,(function(t){return t.service===e})),"namespace")}function f(e){return e.reduce((function(e,t){var n=t.namespace,r=t.label,i=t.groupName,o=void 0===i?r:i,a=e.find((function(e){return e.label===o}));return a?(a.items.push({label:r,value:n}),e):(e.push({label:o,value:o,items:[{label:r,value:n}]}),e)}),[]).map((function(e){return 1===e.items.length?{label:e.items[0].label,value:e.items[0].value}:e}))}var m=function(e,t,n){try{var r=JSON.parse(e),i=JSON.parse(t);return r[n]===i[n]}catch(n){return e===t}},y=function(e){var t=/^(\d+)([d|h|m|s])$/.exec(e);if(!t)return 0;var n=parseInt(t[1],10);switch(t[2]){case"d":return 86400*n*1e3;case"h":return 3600*n*1e3;case"m":return 60*n*1e3;case"s":return 1e3*n}return 0}},function(e,n){e.exports=t},function(e,t,n){"use strict";n.r(t);var r=n(6),i=n.n(r),o=n(2);t.default=function(e,t){var n,r,a=(n=t,function(){function e(e,t){Object.assign(e,n),e.getDropdown=function(t){var n=Object(o.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t,region:e.region})}}return e.$inject=["$scope","$rootScope"],e}());i.a.directive(e,(r=a,function(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n',controller:r,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}))}},function(e,t){e.exports=n},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["InstanceId","InstanceName"],u=["TopicId","TopicName"],l={instance:"InstanceId",topicId:"TopicId",groupName:"GroupName",partition:"PartitionId"},p=new Proxy({topicId:"TopicId",topicName:"TopicName",consumerGroup:"GroupName",partition:"PartitionId"},{get:function(e,t){return"instanceid"===String(t).toLocaleLowerCase()?"InstanceId":e[t]}}),d={TopicList:"TopicList",GroupList:"GroupList",PartitionList:"PartitionList"},f={TopicId:{dim_KeyInStorage:d.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},TopicName:{dim_KeyInStorage:d.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},GroupName:{dim_KeyInStorage:d.GroupList,dim_KeyInTarget:"consumerGroup",dim_KeyInMap:l.groupName},PartitionId:{dim_KeyInStorage:d.PartitionList,dim_KeyInTarget:"partition",dim_KeyInMap:l.partition}};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"LOADBALANCEFieldsDescriptor",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return l})),n.d(t,"LOADBALANCEListenerAliasList",(function(){return p})),n.d(t,"LOADBALANCEServerAliasList",(function(){return d})),n.d(t,"LOADBALANCEVALIDDIMENSIONS",(function(){return f})),n.d(t,"templateQueryIdMap",(function(){return y})),n.d(t,"CANDIATEDIMENSIONS",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"queryEditorConfig",(function(){return c})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(5),i="QCE/LOADBALANCE",o="loadBalanceQuery",a=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],c={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:i,fieldDescriptor:a},s={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",servers:"",serverPort:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function u(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var l=["LoadBalancerId","LoadBalancerName","LoadBalancerVips"],p=["ListenerId","ListenerName","Port"],d=["PrivateIpAddresses","InstanceId"],f={vip:"LoadBalancerVips",loadBalancerPort:"Port",protocol:"Protocol",lanIp:"PrivateIpAddresses",port:"ServerPort"},m={LoadBalancerVips:"AddressIPv6"},y={instance:"LoadBalancerId",listener:"ListenerId",servers:"PrivateIpAddresses",port:"Port"},h={listener:"ListenerList",servers:"ServersList"},g={Port:{dim_KeyInStorage:h.listener,dim_KeyInTarget:"listener",dim_KeyInMap:y.listener},Protocol:{dim_KeyInStorage:h.listener,dim_KeyInTarget:"listener",dim_KeyInMap:y.listener},PrivateIpAddresses:{dim_KeyInStorage:h.servers,dim_KeyInTarget:"servers",dim_KeyInMap:y.servers},ServerPort:{dim_KeyInStorage:h.servers,dim_KeyInTarget:"serverPort",dim_KeyInIns:"Port",dim_KeyInMap:y.port}};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"TDMQInstanceAliasList",(function(){return u})),n.d(t,"TDMQInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"regionSupported",(function(){return m})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return f}));var r=n(5),i=n(0),o=n.n(i),a="QCE/TDMQ",c="tdmqQuery",s={tenantId:"ClusterId",tenant:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},u=["ClusterId","ClusterName"],l={instance:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",topicName:"",environmentId:"",queries:{Limit:20,Offset:0}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var m=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){-1!==e.Dimensions.indexOf("topicName")&&-1===e.Dimensions.indexOf("environmentId")&&e.Dimensions.push("environmentId")})),t}var h={topicName:"topicName",environmentId:"environmentId"},g={TopicName:{dim_KeyInStorage:h.topicName,dim_KeyInTarget:"topicName",dim_KeyInMap:l.topicName},EnvironmentId:{dim_KeyInStorage:h.environmentId,dim_KeyInTarget:"environmentId",dim_KeyInMap:l.environmentId}};t.default=d},,function(e,t,n){"use strict";n.r(t),n.d(t,"GSEFilterFieldsDescriptor",(function(){return m})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"GSEInstanceAliasList",(function(){return l})),n.d(t,"GSEInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return y})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"modifyDimensons",(function(){return b})),n.d(t,"queryMonitorExtraConfg",(function(){return f})),n.d(t,"fleetId",(function(){return c})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"GSEGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/GSE",c="FleetId",s="gseQuery",u={instanceid:"InstanceId",fleetid:"FleetId",queuename:"Name"},l=["InstanceId","PrivateIpAddress","IpAddress"],p={instance:"InstanceId",Name:"Name",FleetId:c},d={fleet:"fleet",queue:"queueName"},f={FleetId:{dim_KeyInStorage:d.fleet,dim_KeyInTarget:"FleetId",dim_KeyInMap:p.FleetId},Name:{dim_KeyInStorage:d.queue,dim_KeyInTarget:"Name",dim_KeyInMap:p.Name}},m=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceId",enDescriptor:"resourceName",cnDescriptor:"资源名称",link:"",type:"input"},{key:"FleetId",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"input"}],y={instanceDocUrl:"https://cloud.tencent.com/document/api/1165/42604",namespace:a,fieldDescriptor:m},h={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",FleetId:"",Name:"",queries:{Limit:20,Offset:0,InstanceId:"",FleetId:""}};function g(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var v=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-ashburn"},{value:"na-siliconvalley"}];function b(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return u[e]||e}))})),t}t.default=h},function(e,t,n){"use strict";n.r(t),n.d(t,"DCDBFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"DCDBInstanceAliasList",(function(){return s})),n.d(t,"DCDBInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"DCDBGetInstanceQueryParams",(function(){return y}));var r=n(0),i=n(5),o="QCE/TDMYSQL",a="dcdbQuery",c={nodeid:"NodeId",instanceid:"InstanceId",shardid:"ShardInstanceId",ShardId:"ShardInstanceId"},s=["InstanceId","InstanceName"],u={instance:"InstanceId",NodeId:"NodeId",ShardInstanceId:"ShardInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例 ID 查询",link:"",type:"inputMulti"},{key:"SearchName",enDescriptor:"SearchName",cnDescriptor:"搜索的字段名,当前支持的值有:instancename、vip、all",link:"",type:"input"},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"搜索的关键字",link:"",type:"input"},{key:"ProjectIds",enDescriptor:"ProjectIds",cnDescriptor:"按项目 ID 查询",link:"",type:"inputNumberMulti"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络 ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"私有网络的子网 ID",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"projectId",value:"projectId"},{text:"createtime",value:"createtime"},{text:"instancename",value:"instancename"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"私有网络 ID",link:"",type:"select",list:[{text:"desc",value:"desc"},{text:"asc",value:"asc"}]},{key:"ExclusterType",enDescriptor:"ExclusterType",cnDescriptor:"集群类型",link:"",type:"select",list:[{text:"非独享集群",value:1},{text:"独享集群",value:2},{text:"全部",value:0},{text:"asc",value:"asc"}]},{key:"ExclusterIds",enDescriptor:"ExclusterIds",cnDescriptor:"独享集群ID",link:"",type:"inputMulti"},{key:"FilterInstanceType",enDescriptor:"FilterInstanceType",cnDescriptor:"实例类型过滤",link:"",type:"select",multiple:!0,list:[{text:"独享实例",value:1},{text:"主实例",value:2},{text:"灾备实例",value:3}]}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/557/16140",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",ShardId:"",NodeId:"",queries:{Limit:20,Offset:0,InstanceIds:[],SearchName:"",SearchKey:"",ProjectIds:[],VpcId:"",SubnetId:"",OrderBy:{},OrderByType:{},ExclusterType:{},ExclusterIds:[],FilterInstanceType:{}}},f={shardid:"ShardId",instanceid:"InstanceId",nodeid:"NodeId"};function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return f[e]||e}))})),t}function y(e){void 0===e&&(e={});var t=Object(i.d)(e,!1);return t.IsFilterVpc=!1,t.IsFilterExcluster=!1,(t.VpcId||t.SubnetId)&&(t.IsFilterVpc=!0),t.ExclusterType&&(t.IsFilterExcluster=!0),Object(r.isArray)(t.FilterInstanceType)&&(t.FilterInstanceType=t.FilterInstanceType.join(",")),t}var h={NodeId:"NodeId",ShardInstanceId:"ShardId"},g={NodeId:{dim_KeyInStorage:h.NodeId,dim_KeyInTarget:"NodeId",dim_KeyInMap:u.NodeId},ShardInstanceId:{dim_KeyInStorage:h.ShardInstanceId,dim_KeyInTarget:"ShardId",dim_KeyInMap:u.ShardInstanceId}},v=[{text:"华北地区(北京)",value:"ap-beijing"},{text:"西南地区(成都)",value:"ap-chengdu"},{text:"西南地区(重庆)",value:"ap-chongqing"},{text:"华南地区(广州)",value:"ap-guangzhou"},{text:"港澳台地区(中国香港)",value:"ap-hongkong"},{text:"亚太南部(孟买)",value:"ap-mumbai"},{text:"华东地区(南京)",value:"ap-nanjing"},{text:"华东地区(上海)",value:"ap-shanghai"},{text:"华东地区(上海金融)",value:"ap-shanghai-fsi"},{text:"华南地区(深圳金融)",value:"ap-shenzhen-fsi"},{text:"亚太东南(新加坡)",value:"ap-singapore"},{text:"亚太东北(东京)",value:"ap-tokyo"},{text:"欧洲地区(法兰克福)",value:"eu-frankfurt"},{text:"美国东部(弗吉尼亚)",value:"na-ashburn"},{text:"美国西部(硅谷)",value:"na-siliconvalley"},{text:"北美地区(多伦多)",value:"na-toronto"}];t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemFieldsDescriptor",(function(){return c})),n.d(t,"RedisMemInvalidDemensions",(function(){return p})),n.d(t,"REDISMEMInstanceAliasList",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"namespace",(function(){return a})),n.d(t,"NodeType",(function(){return f})),n.d(t,"REDISMEMGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var l=["InstanceId","InstanceName","WanIp"],p={instanceid:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},d={instance:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},f=["Redis","Proxy"];t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQRABBITMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/RABBITMQ",o="tdmqQuery",a={instanceid:"InstanceId",node:"NodeName"},c=["InstanceId","InstanceName"],s={instance:"InstanceId",node:"NodeName"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",node:"",queries:{Limit:20,Offset:0}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={node:"NodeName"},m={NodeName:{dim_KeyInStorage:f.node,dim_KeyInTarget:"node",dim_KeyInMap:s.node}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQROCKETMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"TDMQROCKETMQGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o="QCE/ROCKETMQ",a={tenant:"ClusterId",namespace:"NamespaceId",group:"Name"},c=["ClusterId","ClusterName"],s={instance:"ClusterId",namespace:"NamespaceId",group:"Name"},u=[{key:"includeVip",enDescriptor:"includeVip",cnDescriptor:"包含专享集群",link:"",type:"select",list:[{text:"是",value:"true"},{text:"否",value:"false"}]}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",namespace:"",group:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIdList:[""],Filters:{includeVip:{text:"是",value:"true"}}}};function p(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.ClusterIdList)){var n=i.a.compact(e.ClusterIdList);i.a.uniq(n).length>0&&(t.ClusterIdList=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:[i.a.get(e,"value",[])].slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={namespace:"NamespaceId",group:"Name"},m={NamespaceId:{dim_KeyInStorage:f.namespace,dim_KeyInTarget:"namespace",dim_KeyInMap:s.namespace},Name:{dim_KeyInStorage:f.group,dim_KeyInTarget:"group",dim_KeyInMap:s.group}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"InitServiceState",(function(){return c})),n.d(t,"SERVICES",(function(){return o})),n.d(t,"Datasources",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return s})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(1),i=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c=new Proxy({},{get:function(e,t,n){if("string"==typeof t){if(t.startsWith("id4"))return"ClusterId";if(t.startsWith("host4"))return"Ip"}return Reflect.get(e,t,n)},has:function(e,t){return!0}}),s={instance:"ClusterId",node:"Ip"},u={node:"nodeIP"},l={Ip:{dim_KeyInStorage:u.node,dim_KeyInTarget:"nodeIP",dim_KeyInMap:s.node}},p=["ClusterId","ClusterName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",nodeIP:"",queries:{Offset:0,Limit:10,DisplayStrategy:"",OrderBy:{},Order:{},InstanceIds:[],ProjectId:-1,OrderField:"",Asc:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"VCLBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"VCLBInstanceAliasList",(function(){return u})),n.d(t,"VCLBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"clbNamespaceMap",(function(){return h})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"regionSupported",(function(){return y})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/V_CLB",c="vClbQuery",s={InstanceId:"LoadBalancerId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var y=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],h={public:"QCE/LB_PUBLIC",private:"QCE/LB_PRIVATE"};function g(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=f},,function(e,t,n){"use strict";n.r(t),n.d(t,"cynosdbMysqlFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"CYNOSDBMYSQLInstanceAliasList",(function(){return f})),n.d(t,"CYNOSDBInvalidDemensions",(function(){return y})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"regionSupported",(function(){return u})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"checkKeys",(function(){return h})),n.d(t,"CYNOSDBMYSQLGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CYNOSDB_MYSQL",c="cynosdbMysqlQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:1e3},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例id列表",link:"",type:"inputMulti"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"创建时间",value:"CREATETIME"},{text:"过期时间",value:"PERIODENDTIME"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序类型",link:"",type:"select",list:[{text:"升序",value:"ASC"},{text:"降序",value:"DESC"}]},{key:"DbType",enDescriptor:"DbType",cnDescriptor:"引擎类型",link:"",type:"select",list:[{text:"MYSQL",value:"MYSQL"},{text:"POSTGRESQL",value:"POSTGRESQL"}]}],u=[{value:"ap-beijing"},{value:"ap-guangzhou"},{value:"ap-nanjing"},{value:"ap-shanghai"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/1003/48334",namespace:a,fieldDescriptor:s},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,OrderBy:{},OrderByType:{},InstanceIds:[],DbType:{}}};function d(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var f=["InstanceId","InstanceName"],m={instance:"InstanceId"},y={instanceid:"InstanceId",instanceId:"InstanceId"},h=["instanceId"];function g(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryDescriptor",(function(){return o})),n.d(t,"SCFInstanceAliasList",(function(){return s})),n.d(t,"SCFInvalidDemensions",(function(){return u})),n.d(t,"queryMonitorExtraConfg",(function(){return f})),n.d(t,"regionSupported",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"SCFGetInstanceQueryParams",(function(){return c})),n.d(t,"SCFDefaultDimensionList",(function(){return m}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"支持FunctionName模糊匹配",link:"",type:"input"},{key:"Namespace",enDescriptor:"Namespace",cnDescriptor:"云函数命名空间",link:"",type:"input"},{key:"Description",enDescriptor:"Description",cnDescriptor:"函数描述,支持模糊搜索",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"AddTime",value:"AddTime"},{text:"ModTime",value:"ModTime"},{text:"FunctionName",value:"FunctionName"}]},{key:"Order",enDescriptor:"Order Direction",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"ASC",value:"ASC"},{text:"DESC",value:"DESC"}]}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FunctionName",version:"",queries:{Offset:0,Limit:20,OrderBy:{},Order:{},SearchKey:"",Namespace:"",Description:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FunctionId","FunctionName"],u={functionName:"FunctionName",namespace:"Namespace",version:"Version"},l={instance:"FunctionName",version:"Version"},p=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={version:"version"},f={Version:{dim_KeyInStorage:d.version,dim_KeyInTarget:"version",dim_KeyInMap:l.version}};t.default=a;var m=["functionName","namespace","version"]},function(e,t,n){"use strict";n.r(t),n.d(t,"CLSFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CLSInstanceAliasList",(function(){return u})),n.d(t,"CLSInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"regionSupported",(function(){return y})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"CLSGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CLS",c="clsQuery",s={},u=["TopicId","TopicName"],l={instance:"TopicId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"topicName",enDescriptor:"topicName",cnDescriptor:"日志主题名称",link:"",type:"inputMulti"},{key:"topicId",enDescriptor:"topicId",cnDescriptor:"日志主题ID",link:"",type:"inputMulti"},{key:"logsetName",enDescriptor:"logsetName",cnDescriptor:"日志集名称",link:"",type:"inputMulti"},{key:"logsetId",enDescriptor:"logsetId",cnDescriptor:"日志集ID",link:"",type:"inputMulti"},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"},{key:"tag:tagKey",enDescriptor:"tag - tagKey",cnDescriptor:"标签键值对",link:"",type:"inputMulti"},{key:"storageType",enDescriptor:"storageType",cnDescriptor:"日志主题的存储类型",link:"",type:"select",list:[{text:"实时存储",value:"hot"},{text:"离线存储",value:"cold"}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/614/56454",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicId",uin:"",queries:{Limit:20,Offset:0,topicName:[],topicId:[],logsetName:[],logsetId:[],tagKey:[],"tag:tagKey":[],storageType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var y=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["uin","TopicId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"SQLSERVERNETFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"SQLSERVERInstanceAliasList",(function(){return u})),n.d(t,"SQLSERVERInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"SQLSERVERGetInstanceQueryParams",(function(){return h}));var r=n(5),i=n(0),o=n.n(i),a="QCE/SQLSERVER",c="sqlserverQuery",s={resourceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputNumber"},{key:"Status",enDescriptor:"Status",cnDescriptor:"实例状态",link:"",type:"select",list:[{text:"申请中",value:1},{text:"运行中",value:2},{text:"受限运行中 (主备切换中)",value:3},{text:"已隔离",value:4},{text:"回收中",value:5},{text:"已回收",value:6},{text:"任务执行中",value:7},{text:"已下线",value:8},{text:"实例扩容中",value:9},{text:"实例迁移中",value:10},{text:"只读",value:11},{text:"重启中",value:12}]},{key:"InstanceIdSet",enDescriptor:"InstanceIdSet",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"PayMode",enDescriptor:"PayMode",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"包年包月",value:1},{text:"按量计费",value:0}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"实例所属VPC的唯一字符串ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"实例所属子网的唯一字符串ID",link:"",type:"input"},{key:"VipSet",enDescriptor:"VipSet",cnDescriptor:"实例内网地址列表",link:"",type:"inputMulti"},{key:"InstanceNameSet",enDescriptor:"InstanceNameSet",cnDescriptor:"实例名称列表, 模糊查询",link:"",type:"inputMulti"},{key:"VersionSet",enDescriptor:"VersionSet",cnDescriptor:"实例版本代号列表",link:"",type:"inputMulti"},{key:"Zone",enDescriptor:"Zone",cnDescriptor:"实例可用区",link:"",type:"dropdown"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/238/19969",namespace:a,fieldDescriptor:p},f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-moscow"},{value:"na-siliconvalley"}],m={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:null,Status:{},InstanceIdSet:[],PayMode:{},VpcId:"",SubnetId:"",VipSet:[],InstanceNameSet:[],VersionSet:[],Zone:""}};function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["resourceId"]})),t}function h(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=m},function(e,t,n){"use strict";n.r(t),n.d(t,"BMINTRALBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMINTRALBInstanceAliasList",(function(){return u})),n.d(t,"BMINTRALBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"isValidMetric",(function(){return y})),n.d(t,"BMINTRALBGetInstanceQueryParams",(function(){return h}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_INTRA_LB",c="bmIntraLbQuery",s={vip:"LoadBalancerVips",vpcId:"VpcId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}},m=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function y(e){var t=o.a.map(m,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}function h(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMLBInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"isValidMetric",(function(){return h})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_LB",c="bmLbQuery",s={vip:"LoadBalancerVips"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var y=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function h(e){var t=o.a.map(y,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"BMPCXFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMPCXInstanceAliasList",(function(){return u})),n.d(t,"BMPCXInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"BMPCXGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_PCX",c="bmPcxQuery",s={peeringConnectionId:"VpcPeerConnectionId"},u=["VpcPeerConnectionId","VpcPeerConnectionName"],l={instance:"VpcPeerConnectionId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"VpcPeerConnectionIds",enDescriptor:"VpcPeerConnectionIds",cnDescriptor:"对等连接实例ID",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/product/1024/36903",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpcPeerConnectionId",queries:{Limit:20,Offset:0,VpcPeerConnectionIds:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["peeringConnectionId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CBSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"CBSInstanceAliasList",(function(){return s})),n.d(t,"CBSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"isValidMetric",(function(){return m})),n.d(t,"CBSGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n(5),o="QCE/BLOCK_STORAGE",a="cbsQuery",c={diskId:"DiskId",InstanceId:"InstanceId",diskname:"DiskName",unInstanceId:"InstanceId"},s=["DiskId","DiskName"],u={instance:"DiskId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DiskIds",enDescriptor:"DiskIds",cnDescriptor:"云硬盘ID",link:"",type:"inputMulti"},{key:"Order",enDescriptor:"Order",cnDescriptor:"排列顺序",link:"",type:"select",list:[{text:"升序排列",value:"ASC"},{text:"降序排列",value:"DESC"}]},{key:"OrderField",enDescriptor:"OrderField",cnDescriptor:"排序的依据字段",link:"",type:"select",list:[{text:"云盘的创建时间排序",value:"CREATE_TIME"},{text:"云盘的到期时间排序",value:"DEADLINE"}]},{key:"ReturnBindAutoSnapshotPolicy",enDescriptor:"ReturnBindAutoSnapshotPolicy",cnDescriptor:"否需要返回云盘绑定的定期快照策略ID",link:"",type:"switch"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/362/16315",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DiskId",queries:{Limit:20,Offset:0,DiskIds:[],OrderField:[],Order:[],ReturnBindAutoSnapshotPolicy:!1}};function f(e){return void 0===e&&(e={}),Object(i.d)(e,!1)}function m(e){void 0===e&&(e={});var t=r.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==r.indexOf(t,"diskId")}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNPROVINCEFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CDNPROVINCEInstanceAliasList",(function(){return c})),n.d(t,"CDNPROVINCEInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"CDNPROVINCEGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/CDN_LOG_DATA",o="cdnProvinceQuery",a={domain:"Domain",projectid:"ProjectId",province:"district",appid:"AppId"},c=["Domain","ProjectId"],s={instance:"Domain"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"origin",enDescriptor:"origin",cnDescriptor:"主源站",link:"",type:"inputMulti"},{key:"domain",enDescriptor:"domain",cnDescriptor:"域名",link:"",type:"inputMulti"},{key:"resourceId",enDescriptor:"resourceId",cnDescriptor:"域名id",link:"",type:"inputMulti"},{key:"status",enDescriptor:"status",cnDescriptor:"域名状态",link:"",type:"select",list:[{text:"online",value:"online"},{text:"offline",value:"offline"},{text:"processing",value:"processing"}]},{key:"serviceType",enDescriptor:"serviceType",cnDescriptor:"业务类型",link:"",type:"select",list:[{text:"web",value:"web"},{text:"download",value:"download"},{text:"media",value:"media"}]},{key:"projectId",enDescriptor:"projectId",cnDescriptor:"项目ID",link:"",type:"inputNumberMulti"},{key:"domainType",enDescriptor:"domainType",cnDescriptor:"主源站类型",link:"",type:"select",list:[{text:"自有源",value:"cname"},{text:"cos接入",value:"cos"}]},{key:"fullUrlCache",enDescriptor:"fullUrlCache",cnDescriptor:"全路径缓存",link:"",type:"select",list:[{text:"打开",value:"on"},{text:"关闭",value:"off"}]},{key:"https",enDescriptor:"https",cnDescriptor:"是否配置https",link:"",type:"select",list:[{text:"on",value:"on"},{text:"off",value:"off"},{text:"processing",value:"processing"}]},{key:"originPullProtocol",enDescriptor:"originPullProtocol",cnDescriptor:"回源协议类型",link:"",type:"select",list:[{text:"http",value:"http"},{text:"follow",value:"follow"},{text:"https",value:"https"}]},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"}],l={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"Domain",isp:"",district:"",queries:{Limit:20,Offset:0,origin:[],domain:[],resourceId:[],status:{},serviceType:{},projectId:[],domainType:{},fullUrlCache:{},https:{},originPullProtocol:{},tagKey:[]}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"CEIPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CEIPSUMMARYInstanceAliasList",(function(){return u})),n.d(t,"CEIPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"CEIPSUMMARYGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CEIP_SUMMARY",c="ceipSummaryQuery",s={vip:"AddressIp",eip:"AddressIp"},u=["AddressId","AddressName","AddressIp"],l={instance:"AddressId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"address-id",enDescriptor:"address-id",cnDescriptor:" EIP 的唯一 ID",link:"",type:"inputMulti"},{key:"address-name",enDescriptor:"address-name",cnDescriptor:"EIP 名称",link:"",type:"inputMulti"},{key:"address-ip",enDescriptor:"address-ip",cnDescriptor:"EIP 的 IP 地址",link:"",type:"inputMulti"},{key:"address-status",enDescriptor:"address-status",cnDescriptor:"EIP 的状态",link:"",type:"select",multiple:!0,list:[{text:"CREATING",value:"CREATING"},{text:"BINDING",value:"BINDING"},{text:"BIND",value:"BIND"},{text:"UNBINDING",value:"UNBINDING"},{text:"UNBIND",value:"UNBIND"},{text:"OFFLINING",value:"OFFLINING"},{text:"BIND_ENI",value:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"EIP 绑定的实例 ID",link:"",type:"inputMulti"},{key:"private-ip-address",enDescriptor:"private-ip-address",cnDescriptor:"EIP 绑定的内网 IP ",link:"",type:"inputMulti"},{key:"network-interface-id",enDescriptor:"network-interface-id",cnDescriptor:" EIP 绑定的弹性网卡 ID",link:"",type:"inputMulti"},{key:"is-arrears",enDescriptor:"is-arrears",cnDescriptor:"EIP 是否欠费",link:"",type:"select",multiple:!0,list:[{text:"欠费状态",value:"TRUE"},{text:"费用状态正常",value:"FALSE"}]},{key:"address-isp",enDescriptor:"address-isp",cnDescriptor:"运营商类型",link:"",type:"select",multiple:!0,list:[{text:"BGP",value:"BGP"},{text:"CMCC",value:"CMCC"},{text:"CUCC",value:"CUCC"},{text:"CTCC",value:"CTCC"}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/215/16702",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",queries:{Limit:20,Offset:0,"address-id":[],"address-name":[],"address-ip":[],"address-status":{},"is-arrears":{},"address-isp":{},"instance-id":[],"private-ip-address":[],"network-interface-id":[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["eip"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return p})),n.d(t,"GetInstanceQueryParams",(function(){return a})),n.d(t,"queryMonitorExtraConfg",(function(){return l})),n.d(t,"keyInStorage",(function(){return u}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"TopicName",enDescriptor:"TopicName",cnDescriptor:"精确匹配TopicName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={topicId:"TopicId"},s={instance:"TopicName",subscription:"SubscriptionId"},u={subscriptionId:"subscriptionId"},l={subscriptionId:{dim_KeyInStorage:u.subscriptionId,dim_KeyInTarget:"subscriptionId",dim_KeyInMap:s.subscription}},p=["TopicName","TopicId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicName",subscriptionId:"",queries:{Offset:0,Limit:20,TopicName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CPMInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"CPMGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CPM",c="cpmQuery",s={instanceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DeviceClassCode",enDescriptor:"DeviceClassCode",cnDescriptor:"机型ID",link:"",type:"dropdown"},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"设备ID数组",link:"",type:"inputMulti"},{key:"WanIps",enDescriptor:"WanIps",cnDescriptor:"外网IP数组",link:"",type:"inputMulti"},{key:"LanIps",enDescriptor:"LanIps",cnDescriptor:"内网IP数组",link:"",type:"inputMulti"},{key:"Alias",enDescriptor:"Alias",cnDescriptor:"设备名称",link:"",type:"input"},{key:"VagueIp",enDescriptor:"VagueIp",cnDescriptor:"模糊IP查询",link:"",type:"input"},{key:"AutoRenewFlag",enDescriptor:"AutoRenewFlag",cnDescriptor:"自动续费标志",link:"",type:"select",list:[{text:"不自动续费",value:0},{text:"自动续费",value:1}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络唯一ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网唯一ID",link:"",type:"input"},{key:"DeviceType",enDescriptor:"DeviceType",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"计算型",value:"compute"},{text:"标准型",value:"standard"},{text:"存储型",value:"storage"}]},{key:"IsLuckyDevice",enDescriptor:"IsLuckyDevice",cnDescriptor:"竞价实例机器过滤",link:"",type:"select",list:[{text:"非竞价实例机器",value:0},{text:"竞价实例的机器",value:1}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/386/32904",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,DeviceClassCode:"",InstanceIds:[],WanIps:[],LanIps:[],Alias:"",VagueIp:"",AutoRenewFlag:{},VpcId:"",SubnetId:"",DeviceType:{},IsLuckyDevice:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["instanceId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"ECDNFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"ECDNInstanceAliasList",(function(){return c})),n.d(t,"ECDNInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECDNGetInstanceQueryParams",(function(){return f}));var r=n(0),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o.push({Name:t,Value:Object(r.uniq)(e).slice(0,5)}):Object(r.isObject)(e)&&(Object(r.isEmpty)(Object(r.get)(e,"value",[]))||o.push({Name:t,Value:[Object(r.get)(e,"value",[])].slice(0,5)}))})),o.length>0)return t.Filters=o.map((function(e){return"domain"===e.Name?i(i({},e),{Fuzzy:!0}):e})),t}return t}function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=["domain","projectid"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"ECMFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"ECMInstanceAliasList",(function(){return s})),n.d(t,"ECMInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECMGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n(5),o="QCE/ECM",a="ecmQuery",c={uuid:"UUID"},s=["InstanceId","InstanceName"],u={instance:"InstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"zone",enDescriptor:"zone",cnDescriptor:"可用区英文标识",link:"",type:"dropdownMulti"},{key:"zone-name",enDescriptor:"zone-name",cnDescriptor:"排列顺序",link:"",type:"inputMulti"},{key:"module-id",enDescriptor:"module-id",cnDescriptor:"模块ID",link:"",type:"inputMulti"},{key:"module-name",enDescriptor:"module-name",cnDescriptor:"模块名称",link:"",type:"inputMulti"},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"instance-name",enDescriptor:"instance-name",cnDescriptor:"实例名称",link:"",type:"inputMulti"},{key:"ip-address",enDescriptor:"ip-address",cnDescriptor:"内网/公网IP",link:"",type:"inputMulti"},{key:"instance-uuid",enDescriptor:"instance-uuid",cnDescriptor:"实例uuid",link:"",type:"inputMulti"},{key:"instance-state",enDescriptor:"instance-state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"创建中",value:"PENDING"},{text:"创建失败",value:"LAUNCH_FAILED"},{text:"运行中",value:"RUNNING"},{text:"关机",value:"STOPPED"},{text:"开机中",value:"STARTING"},{text:"关机中",value:"STOPPING"},{text:"重启中",value:"REBOOTING"},{text:"停止待销毁",value:"SHUTDOWN"},{text:"销毁中",value:"TERMINATING"}]},{key:"internet-service-provider",enDescriptor:"internet-service-provider",cnDescriptor:"公网IP所属的运营商",link:"",type:"inputMulti"},{key:"instance-family",enDescriptor:"instance-family",cnDescriptor:"机型family",link:"",type:"inputMulti"},{key:"image-id",enDescriptor:"image-id",cnDescriptor:"镜像ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"实例的vpc id",link:"",type:"inputMulti"},{key:"subnet-id",enDescriptor:"subnet-id",cnDescriptor:"实例的subnet id",link:"",type:"inputMulti"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/1108/42565",namespace:o,fieldDescriptor:l},d={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,zone:[],"zone-name":[],"module-id":[],"module-name":[],"instance-id":[],"instance-name":[],"ip-address":[],"instance-uuid":[],"instance-state":{},"internet-service-provider":[],"instance-family":[],"image-id":[],"vpc-id":[],"subnet-id":[]}};function f(e){return void 0===e&&(e={}),Object(i.d)(e,!0)}function m(e){var t=r.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["UUID"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"PostgresFieldsDescriptor",(function(){return u})),n.d(t,"POSTGRESInstanceAliasList",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return h})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"PostgreInvalidDemensions",(function(){return y})),n.d(t,"POSTGRESGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function l(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 2===t.length&&(-1!==i.a.indexOf(t,"instanceid")&&-1!==i.a.indexOf(t,"insttype")||-1!==i.a.indexOf(t,"InstanceId")&&-1!==i.a.indexOf(t,"InstanceType"))}function p(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return d[e]||e}))})),t}var d={instanceid:"InstanceId",insttype:"InstanceType",region:"Region"},f={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CESFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CESInstanceAliasList",(function(){return c})),n.d(t,"CESInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"CESGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/CES",o="cesQuery",a={uInstanceId:"InstanceId"},c=["InstanceId","InstanceName"],s={instance:"InstanceId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"集群实例ID列表",link:"",type:"inputMulti"},{key:"InstanceNames",enDescriptor:"InstanceNames",cnDescriptor:"集群实例名称列表",link:"",type:"inputMulti"},{key:"OrderByKey",enDescriptor:"OrderByKey",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"实例ID",value:1},{text:"实例名称",value:2},{text:"可用区",value:3},{text:"创建时间",value:4}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]},{key:"IpList",enDescriptor:"IpList",cnDescriptor:"私有网络vip列表",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/845/30631",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,InstanceIds:[],InstanceNames:[],OrderByKey:{},OrderByType:{},IpList:[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"DCInstanceAliasList",(function(){return d})),n.d(t,"DCInvalidDemensions",(function(){return m})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return u})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"DCGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=n(5),a="QCE/DC",c="dcQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DirectConnectIds",enDescriptor:"DirectConnectIds",cnDescriptor:"物理专线 ID",link:"",type:"inputMulti"}],u={instanceDocUrl:"https://cloud.tencent.com/document/api/216/34826",namespace:a,fieldDescriptor:s},l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectId",queries:{Limit:20,Offset:0,DirectConnectIds:[]}};function p(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var d=["DirectConnectId","DirectConnectName"],f={instance:"DirectConnectId"},m={directConnectId:"DirectConnectId",directconnectid:"DirectConnectId"};function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["directConnectId"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"DCGFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"DCGInstanceAliasList",(function(){return c})),n.d(t,"DCGInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"DCGGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/DCG",o="dcgQuery",a={directConnectGatewayId:"DirectConnectGatewayId"},c=["DirectConnectGatewayId","DirectConnectGatewayName"],s={instance:"DirectConnectGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"direct-connect-gateway-id",enDescriptor:"direct-connect-gateway-id",cnDescriptor:"专线网关唯一ID",link:"",type:"inputMulti"},{key:"direct-connect-gateway-name",enDescriptor:"direct-connect-gateway-name",cnDescriptor:"专线网关名称",link:"",type:"inputMulti"},{key:"direct-connect-gateway-ip",enDescriptor:"direct-connect-gateway-ip",cnDescriptor:"专线网关IP",link:"",type:"inputMulti"},{key:"gateway-type",enDescriptor:"gateway-type",cnDescriptor:"网关类型",link:"",type:"select",multiple:!0,list:[{text:"普通型",value:"NORMAL"},{text:"NAT型",value:"NAT"}]},{key:"network-type",enDescriptor:"network-type",cnDescriptor:"网络类型",link:"",type:"select",multiple:!0,list:[{text:"私有网络类型",value:"VPC"},{text:"云联网类型",value:"CCN"}]},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"专线网关所在云联网ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"专线网关所在私有网络ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/30644",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectGatewayId",queries:{Limit:20,Offset:0,"direct-connect-gateway-id":[],"direct-connect-gateway-name":[],"direct-connect-gateway-ip":[],"gateway-type":{},"network-type":{},"ccn-id":[],"vpc-id":[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"DCXInstanceAliasList",(function(){return f})),n.d(t,"DCXInvalidDemensions",(function(){return y})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"DCXGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var u=["InstanceId","InstanceName"],l={target:"InstanceId"},p={instance:"InstanceId",replica:"ReplicaSetId"},d={Replica:{dim_KeyInStorage:"ReplicaSets",dim_KeyInTarget:"replica",dim_KeyInMap:"ReplicaSetId",dim_KeyInIns:"ReplicaSetId"},Node:{dim_KeyInStorage:"ReplicaNodeSets",dim_KeyInTarget:"node",dim_KeyInMap:"NodeId",dim_KeyInIns:"NodeId"}};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"QAAPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"QAAPInstanceAliasList",(function(){return u})),n.d(t,"QAAPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"QAAPGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/QAAP",c="qaapQuery",s={channelId:"InstanceId"},u=["InstanceId"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputMulti"},{key:"AccessRegion",enDescriptor:"AccessRegion",cnDescriptor:"接入地域",link:"",type:"inputMulti"},{key:"RealServerRegion",enDescriptor:"RealServerRegion",cnDescriptor:"源站地域",link:"",type:"inputMulti"},{key:"GroupId",enDescriptor:"GroupId",cnDescriptor:"通道组ID",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/608/36963",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:[],AccessRegion:[],RealServerRegion:[],GroupId:[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function y(e){return i.a.cloneDeep(e)}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"TCAPLUSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TCAPLUSInstanceAliasList",(function(){return s})),n.d(t,"TCAPLUSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regonsMap",(function(){return m})),n.d(t,"TCAPLUSGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o="QCE/TCAPLUS",a="tcaplusQuery",c={},s=["TableInstanceId","TableName"],u={instance:"TableInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ClusterId",enDescriptor:"ClusterId",cnDescriptor:"表格所属集群ID",link:"",type:"input"},{key:"TableGroupIds",enDescriptor:"TableGroupIds",cnDescriptor:"表格组ID列表",link:"",type:"inputMulti"},{key:"TableName",enDescriptor:"TableName",cnDescriptor:"表格名称",link:"",type:"input"},{key:"TableInstanceId",enDescriptor:"TableInstanceId",cnDescriptor:"表实例ID",link:"",type:"input"},{key:"TableIdlType",enDescriptor:"TableIdlType",cnDescriptor:"表格描述语言类型",link:"",type:"select",list:[{text:"PROTO",value:"PROTO"},{text:"TDR",value:"TDR"}]},{key:"TableType",enDescriptor:"TableType",cnDescriptor:"表格数据结构类型",link:"",type:"select",list:[{text:"GENERIC",value:"GENERIC"},{text:"LIST",value:"LIST"}]},{key:"ListElementNum",enDescriptor:"ListElementNum",cnDescriptor:"LIST表元素个数",link:"",type:"inputNumber"},{key:"ReservedVolume",enDescriptor:"ReservedVolume",cnDescriptor:"表格预留容量(GB)",link:"",type:"inputNumber"},{key:"ReservedReadQps",enDescriptor:"ReservedReadQps",cnDescriptor:"表格预留读CU",link:"",type:"inputNumber"},{key:"ReservedWriteQps",enDescriptor:"ReservedWriteQps",cnDescriptor:"表格预留写CU",link:"",type:"inputNumber"},{key:"Memo",enDescriptor:"Memo",cnDescriptor:"表格备注信息",link:"",type:"input"},{key:"FileName",enDescriptor:"FileName",cnDescriptor:"Key回档文件名,回档专用",link:"",type:"input"},{key:"FileExtType",enDescriptor:"FileExtType",cnDescriptor:"Key回档文件扩展名,回档专用",link:"",type:"input"},{key:"FileSize",enDescriptor:"FileSize",cnDescriptor:"Key回档文件大小,回档专用",link:"",type:"inputNumber"},{key:"FileContent",enDescriptor:"FileContent",cnDescriptor:"Key回档文件内容,回档专用",link:"",type:"input"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/596/39664",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TableInstanceId",queries:{Limit:20,Offset:0,ClusterId:"",TableGroupIds:[],TableName:"",TableInstanceId:"",TableIdlType:{},TableType:{},ListElementNum:null,ReservedVolume:null,ReservedReadQps:null,ReservedWriteQps:null,Memo:"",FileName:"",FileExtType:"",FileSize:null,FileContent:""}};function f(e){void 0===e&&(e={});var t={};t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,t.ClusterId=i.a.get(e,"ClusterId","")||"",t.TableGroupIds=i.a.get(e,"TableGroupIds",[])||[],e=i.a.omit(e,["Offset","Limit","TableGroupIds","ClusterId"]);var n=[];return i.a.forEach(e,(function(e,t){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(n[t]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(n[t]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(n[t]=e)})),t.SelectedTables=n,t}var m={"ap-beijing":"华北地区(北京)","ap-guangzhou":"华南地区(广州)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-shanghai":"华东地区(上海)","ap-singapore":"亚太东南(新加坡)","ap-tokyo":"亚太东北(东京)","eu-frankfurt":"欧洲地区(法兰克福)","na-ashburn":"美国东部(弗吉尼亚)","na-siliconvalley":"美国西部(硅谷)"};t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VBCInstanceAliasList",(function(){return c})),n.d(t,"VBCInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VBCGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VBC",o="vbcQuery",a={},c=["CcnId","CcnName"],s={instance:"CcnId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"CCN实例ID",link:"",type:"inputMulti"},{key:"ccn-name",enDescriptor:"ccn-name",cnDescriptor:"CCN名称",link:"",type:"inputMulti"},{key:"ccn-description",enDescriptor:"ccn-description",cnDescriptor:"CCN描述",link:"",type:"inputMulti"},{key:"state",enDescriptor:"state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"隔离中",value:"ISOLATED"},{text:"运行中",value:"AVAILABLE"}]}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/19199",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"CcnId",DRegion:"",SRegion:"",queries:{Limit:20,Offset:0,"ccn-id":[],"ccn-name":[],"ccn-description":[],state:{}}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNGWFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNGWInstanceAliasList",(function(){return c})),n.d(t,"VPNGWInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNGWGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VPNGW",o="vpngwQuery",a={vpnGwId:"VpnGatewayId"},c=["VpnGatewayId","VpnGatewayName"],s={instance:"VpnGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-name",enDescriptor:"vpn-gateway-name",cnDescriptor:"VPN实例名称",link:"",type:"inputMulti"},{key:"type",enDescriptor:"type",cnDescriptor:"VPN网关类型",link:"",type:"select",multiple:!0,list:[{text:"IPSEC",value:"IPSEC"},{text:"SSL",value:"SSL"}]},{key:"public-ip-address",enDescriptor:"public-ip-address",cnDescriptor:"公网IP",link:"",type:"inputMulti"},{key:"renew-flag",enDescriptor:"renew-flag",cnDescriptor:"网关续费类型",link:"",type:"select",multiple:!0,list:[{text:"手动续费",value:"NOTIFY_AND_MANUAL_RENEW"},{text:"自动续费",value:"NOTIFY_AND_AUTO_RENEW"}]},{key:"zone",enDescriptor:"zone",cnDescriptor:"VPN所在可用区",link:"",type:"dropdownMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17514",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnGatewayId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"vpn-gateway-name":[],type:{},"public-ip-address":[],"renew-flag":{},zone:[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNXInstanceAliasList",(function(){return c})),n.d(t,"VPNXInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNXGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VPNX",o="vpnxQuery",a={vpnConnId:"VpnConnectionId"},c=["VpnConnectionId","VpnConnectionName"],s={instance:"VpnConnectionId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"customer-gateway-id ",enDescriptor:"customer-gateway-id ",cnDescriptor:"对端网关实例ID",link:"",type:"inputMulti"},{key:"vpn-connection-name",enDescriptor:"vpn-connection-name",cnDescriptor:"通道名称",link:"",type:"inputMulti"},{key:"vpn-connection-id",enDescriptor:"vpn-connection-id",cnDescriptor:"通道实例ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17515",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnConnectionId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"customer-gateway-id":[],"vpn-connection-name":[],"vpn-connection-id":[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseFilterFieldsDescriptor",(function(){return a})),n.d(t,"LIGHTHOUSEInstanceAliasList",(function(){return u})),n.d(t,"LighthouseInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"modifyDimensons",(function(){return d})),n.d(t,"LIGHTHOUSEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l={instanceid:"InstanceId"},p={instance:"InstanceId"};function d(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CFSQueryDescriptor",(function(){return o})),n.d(t,"CFSInstanceAliasList",(function(){return s})),n.d(t,"CFSInvalidDemensions",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"regionSupported",(function(){return l})),n.d(t,"CFSGetInstanceQueryParams",(function(){return c}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"FileSystemId",enDescriptor:"File System Id",cnDescriptor:"文件系统 ID",link:"",type:"input"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络(VPC) ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网 ID",link:"",type:"input"}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FileSystemId",version:"",queries:{Offset:0,Limit:20,FileSystemId:"",VpcId:"",SubnetId:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FileSystemId","FsName"],u={},l=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],p={instance:"InstanceId"};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return u})),n.d(t,"GetInstanceQueryParams",(function(){return a}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"QueueName",enDescriptor:"QueueName",cnDescriptor:"精确匹配QueueName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={queueId:"QueueId",queueName:"QueueName"},s={instance:"QueueName"},u=["QueueName","QueueId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"QueueName",queries:{Offset:0,Limit:20,QueueName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMFilterFieldsDescriptor",(function(){return a})),n.d(t,"CVMInstanceAliasList",(function(){return u})),n.d(t,"isValidMetric",(function(){return d})),n.d(t,"modifyDimensons",(function(){return f})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CVMGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l=["CPUUsage","CpuLoadavg","Cpuloadavg5m","Cpuloadavg15m","BaseCpuUsage","GpuMemTotal","GpuMemUsage","GpuMemUsed","GpuPowDraw","GpuPowLimit","GpuPowUsage","GpuTemp","GpuUtil","LanOuttraffic","LanIntraffic","LanOutpkg","LanInpkg","WanOuttraffic","WanIntraffic","WanOutpkg","WanInpkg","AccOuttraffic","TcpCurrEstab","TimeOffset","MemUsed","MemUsage","CvmDiskUsage","BaseCpuUsage","VmDiskReadIops"],p={instance:"InstanceId"};function d(e){var t=i.a.map(l,i.a.toUpper);return-1!==i.a.indexOf(t,i.a.toUpper(e.MetricName))}function f(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXInstanceAliasList",(function(){return u})),n.d(t,"PCXFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"namespace",(function(){return a})),n.d(t,"PCXGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisFieldsDescriptor",(function(){return a})),n.d(t,"RedisInvalidDemensions",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"REDISInstanceAliasList",(function(){return l})),n.d(t,"isValidMetric",(function(){return u})),n.d(t,"REDISGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function u(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==i.a.indexOf(t,"instanceid")}var l=["InstanceId","InstanceName","WanIp"],p={redis_uuid:"InstanceId",instanceid:"InstanceId"},d={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFInvalidDemensions",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TSFInstanceAliasList",(function(){return c})),n.d(t,"TSFFieldsDescriptor",(function(){return i})),n.d(t,"TSFGetInstanceQueryParams",(function(){return a}));var r=n(5),i=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchWord",enDescriptor:"SearchWord",cnDescriptor:"搜索关键字",link:"",type:"input"},{key:"ApplicationIdList",enDescriptor:"ApplicationIdList",cnDescriptor:"应用ID 组成的数组",link:"",type:"inputmulti"},{key:"ApplicationType",enDescriptor:"ApplicationType",cnDescriptor:"应用类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"容器应用",value:"C"},{text:"普通应用/虚拟机应用",value:"V"}]},{key:"MicroserviceType",enDescriptor:"MicroserviceType",cnDescriptor:"应用的微服务类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"普通应用",value:"N"},{text:"Mesh应用",value:"M"},{text:"微服务网关应用",value:"G"},{text:"原生应用",value:"NATIVE"}]},{key:"ApplicationResourceTypeList",enDescriptor:"ApplicationResourceTypeList",cnDescriptor:"应用资源类型数组",link:"",type:"select",multiple:!0,list:[{text:"默认资源类型",value:"DEF"},{text:"微服务网关资源",value:"GW"}]}],o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ApplicationId",queries:{Limit:20,Offset:0,SearchWord:"",OrderBy:"",OrderType:null,ApplicationType:"",MicroserviceType:"",ApplicationResourceTypeList:[],ApplicationIdList:[]}};function a(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var c=["ApplicationId","ApplicationName"],s={applicationid:"ApplicationId"},u={instance:"ApplicationId"};t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BWPInstanceAliasList",(function(){return u})),n.d(t,"BWPInvalidDemensions",(function(){return p})),n.d(t,"BWPGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.BandwidthPackageIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["BandwidthPackageId","BandwidthPackageName"],l={instance:"BandwidthPackageId"},p={bandwidthPackageId:"BandwidthPackageId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CDNInstanceAliasList",(function(){return u})),n.d(t,"CDNInvalidDemensions",(function(){return l})),n.d(t,"CDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ProjectId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"LBFilterDescriptor",(function(){return a})),n.d(t,"LBInstanceAliasList",(function(){return u})),n.d(t,"LBInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"LBGetInstanceQueryParams",(function(){return s}));var r,i=n(0),o=n.n(i),a=[{key:"address-id",enDescriptor:"Address ID",cnDescriptor:"EIP 的唯一 ID ",link:"",type:"inputmulti"},{key:"address-name",enDescriptor:"Address Name",cnDescriptor:"EIP 名称 ",link:"",type:"inputmulti"},{key:"address-ip",enDescriptor:"Address IP",cnDescriptor:"EIP 的 IP 地址 ",link:"",type:"inputmulti"},{key:"address-status",enDescriptor:"Address Status",cnDescriptor:"EIP 的状态",link:"",type:"select",list:[{value:"CREATING",text:"CREATING"},{value:"BINDING",text:"BINDING"},{value:"BIND",text:"BIND"},{value:"UNBINDING",text:"UNBINDING"},{value:"UNBIND",text:"UNBIND"},{value:"OFFLINING",text:"OFFLINING"},{value:"BIND_ENI",text:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"Instance ID",cnDescriptor:"实例ID ",link:"",type:"inputmulti"},{key:"private-ip-address",enDescriptor:"Private IP Address",cnDescriptor:"EIP 绑定的内网 IP",link:"",type:"inputmulti"},{key:"network-interface-id",enDescriptor:"Network Interface ID",cnDescriptor:"EIP 绑定的弹性网卡 ID",link:"",type:"inputmulti"},{key:"is-arrears",enDescriptor:"Arrears",cnDescriptor:"EIP 是否欠费 ",link:"",type:"select",list:[{text:"正常",value:"FALSE"},{text:"欠费",value:"TRUE"}]}],c={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",version:"",queries:(r={Offset:0,Limit:20},r.AddressIds=[""],r.Filters={"address-id":[],"address-name":[],"address-ip":[],"address-status ":[],"instance-id ":[],"private-ip-address":[],"network-interface-id ":[],"is-arrears ":[]},r)};function s(e){void 0===e&&(e={});var t={};if(!o.a.isEmpty(e))if(t.Limit=o.a.get(e,"Limit",20)||20,t.Offset=o.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(o.a.isArray(e.AddressIds)){var n=o.a.compact(e.AddressIds);o.a.uniq(n).length>0&&(t.AddressIds=o.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];o.a.forEach(e.Filters,(function(e,t){r.length>9||(o.a.isArray(e)?(e=o.a.compact(e)).length>0&&r.push({Name:t,Values:o.a.uniq(e).slice(0,5)}):o.a.isObject(e)&&(o.a.isEmpty(o.a.get(e,"value",[]))||r.push({Name:t,Values:o.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["AddressId","AddressName","AddressIp"],l={eip:"AddressIp"},p={instance:"AddressId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"NATGatewayFilterFieldsDescriptor",(function(){return c})),n.d(t,"NATGATEWAYInstanceAliasList",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"NATInvalidDemensions",(function(){return p})),n.d(t,"NATGATEWAYGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var l={instance:"NatGatewayId"},p={natId:"NatGatewayId"};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"OVCDNInstanceAliasList",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"OVCDNInvalidDemensions",(function(){return l})),n.d(t,"OVCDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ResourceId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},,function(e,t){e.exports=i},,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"TKEFilterFieldsDescriptor",(function(){return a})),n.d(t,"TKEInstanceAliasList",(function(){return c})),n.d(t,"TKEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",conditions:[],groupBys:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIds:[""],Filters:{ClusterName:[],ClusterType:[],ClusterStatus:[],"tag-key":[]}}},a=[{key:"ClusterName",enDescriptor:"Cluster Name",cnDescriptor:"集群名",link:"",type:"input"},{key:"ClusterType",enDescriptor:"Cluster Type",cnDescriptor:"集群类型",link:"",type:"inputmulti"},{key:"ClusterStatus",enDescriptor:"Cluster Status",cnDescriptor:"集群状态",link:"",type:"inputmulti"},{key:"Tags",enDescriptor:"Tags",cnDescriptor:"标签键值对",link:"",type:"inputmulti"},{key:"vpc-id",enDescriptor:"VPC",cnDescriptor:"VPC",link:"",type:"input"},{key:"tag-key",enDescriptor:"Tag Key",cnDescriptor:"标签键",link:"",type:"inputmulti"},{key:"tag-value",enDescriptor:"Tag Value",cnDescriptor:"标签值",link:"",type:"inputmulti"}],c=["ClusterId","ClusterName"];function s(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.InstanceIds)){var n=i.a.compact(e.InstanceIds);i.a.uniq(n).length>0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}t.default=o},function(e,t,n){"use strict";n.r(t);var r,i=n(23),o=n(3),a=n(2),c=n(5),s=n(9),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},d=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?w.map((function(e){return{TopicId:e.TopicId,TopicName:e.TopicName}})):I,PartitionList:C.length>0?C:D}]}}))}))},t.prototype.formatTopicVarDisplay=function(e,t,n){var r=this;return t?t.replace(/\$\{(\w+)\}/g,(function(t,n){return n&&r.TopicAliasList.includes(n)?r.getAliasValue(e,n):""})):this.getAliasValue(e,n)},t.prototype.fetchMetricData=function(e,t,n,r){return d(this,void 0,void 0,(function(){var i,o,a,c,s,p,d,m,y,h=this;return f(this,(function(f){switch(f.label){case 0:return i=r.topicalias,o=r.groupname,a=r.topicid,[4,this.getConsumerGroups(t,{InstanceId:n.InstanceId,groupname:o,topicid:a})];case 1:return c=f.sent(),s=r.display,p=c.TopicList,d=c.GroupList,m=c.PartitionList,i=this.TopicAliasList.includes(i)?i:this.templateQueryIdMap.topicId,y={GroupList:d.map((function(e){return e._InstanceAliasValue=e.GroupName,{text:e.GroupName,value:e[u.templateQueryIdMap.groupName]}})),TopicList:p.map((function(e){var t=h.formatTopicVarDisplay(e,s,i);return e._InstanceAliasValue=t||e[u.templateQueryIdMap.topicId],{text:t||e[u.templateQueryIdMap.topicId],value:e[u.templateQueryIdMap.topicId],TopicName:e.TopicName}})),PartitionList:m.map((function(e){return e._InstanceAliasValue=e[u.templateQueryIdMap.partition],{text:e[u.templateQueryIdMap.partition],value:e[u.templateQueryIdMap.partition]}}))},[4,l.a.setExtraStorage(this.service,this.keyInStorage.TopicList,p)];case 2:return f.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.GroupList,d)];case 3:return f.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.PartitionList,m)];case 4:switch(f.sent(),e){case"DescribeTopicList":return[2,y.TopicList];case"DescribeGroup":return[2,y.GroupList];case"DescribePartion":return[2,y.PartitionList];default:return[2,[]]}return[2]}}))}))},t}(s.BaseDatasource);t.default=m},function(e,t,n){"use strict";n.r(t);var r,i=n(12),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(5),l=n(9),p=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(){return(d=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i)return r;var o=Object(s.k)(i,50),a=[];return c.a.forEach(o,(function(t){a.push(n.getInstances(e,t))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){r=c.a.concat(r,e)})),r})).catch((function(e){return r}))}))},t.prototype.getVpcId=function(e,t){void 0===t&&(t={}),(t=l({Offset:0,Limit:20},t)).Offset=String(t.Offset),t.Limit=String(t.Limit);var n=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+n.path,data:t},n.service,{region:e,action:"DescribeVpcs"}).then((function(e){return c.a.map(e.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}))}))},t.prototype.getVpcIds=function(e){var t=this,n=[],r={Offset:0,Limit:100};r.Offset=String(r.Offset),r.Limit=String(r.Limit);var i=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+i.path,data:r},i.service,{region:e,action:"DescribeVpcs"}).then((function(r){n=c.a.map(r.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}));var i=r.TotalCount||0;if(n.length>=i)return n;var o=Object(s.k)(i,100),a=[];return c.a.forEach(o,(function(n){a.push(t.getVpcId(e,n))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){n=c.a.concat(n,e)})),n})).catch((function(e){return n}))}))},t.prototype.doRequestV2=function(e,t,n){return void 0===n&&(n={}),p(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,Object(s.d)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return c.a.get(e,"data",{})})).catch((function(e){throw e}))]}}))}))},t}(o.BaseDatasource);t.default=f},function(e,t,n){"use strict";n.r(t);var r,i=n(41),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace=i.namespace,o.InstanceAliasList=i.POSTGRESInstanceAliasList,o.InvalidDimensions=i.PostgreInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"postgres",action:"DescribeDBInstances",responseField:"DBInstanceSet"},o.MetricReqConfig={resultFilter:i.modifyDimensons},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(0),o=n(51),a=n(3),c=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"_".concat(r.timeshift):"";return{target:"".concat(e.MetricName," - ").concat(o).concat(a),datapoints:Object(i.map)(t.Values,(function(e){return[e.Value,1e3*e.Timestamp+d]}))}}))})))}))},t}(c.BaseDatasource);t.default=p},function(e,t,n){"use strict";n.r(t);var r,i=n(62),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace="QCE/TSF",o.InstanceAliasList=i.TSFInstanceAliasList,o.InvalidDimensions=i.TSFInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"tsf",action:"DescribeApplications",responseField:"Content"},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(25),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},d=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,l)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(31);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(32);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(33);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPQueryCtrl",(function(){return a})),n.d(t,"bwpQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(63),a=function(){function e(e,t){e.init=function(){e.BWPFilterFieldsDescriptor=o.BWPFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("bwpQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(34);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDBQueryCtrl",(function(){return a})),n.d(t,"cdbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(44),a=function(){function e(e,t){e.init=function(){e.CDBFieldsDescriptor=o.CDBFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"ZoneIds":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cdb",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNQueryCtrl",(function(){return a})),n.d(t,"cdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(64),a=function(){function e(e,t){e.init=function(){e.CDNFilterFieldsDescriptor=o.CDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return l})),n.d(t,"sQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(35),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,p)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(36);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(45);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(57),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cfsQuery",u)},function(e,t,n){"use strict";n.r(t),n.d(t,"CKAFKAQueryCtrl",(function(){return l})),n.d(t,"scfQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(11),a=n(5),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题,消费分组,分区 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"=",instance:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("ckafkaQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(0),a=n(12),c=n(2),s=n(5),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\x3c!--Listener维度部分--\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n');function f(){return{template:d,controller:p,restrict:"E",scope:{target:"=",namespace:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("clbQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return a})),n.d(t,"sQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(29),a=function(){function e(e,t){e.init=function(){e.GSEFilterFieldsDescriptor=o.CLSFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n \n
\n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(58);Object(r.default)("cmqQuery",{fieldDescriptor:i.InstanceQueryDescriptor,instanceDocUrl:"https://cloud.tencent.com/document/api/406/42624",namespace:"QCE/CMQ"})},function(e,t,n){"use strict";n.r(t),n.d(t,"CmqTopicQueryCtrl",(function(){return u})),n.d(t,"scfQuery",(function(){return l}));var r=n(6),i=n.n(r),o=n(37),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("cmqTopicQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceAliasList",(function(){return a})),n.d(t,"GetInstanceQueryParams",(function(){return o}));var r=n(0),i=n.n(r);function o(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var a=["BucketName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"BucketName",queries:{}}},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(38);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMQueryCtrl",(function(){return a})),n.d(t,"cvmQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(59),a=function(){function e(e,t){e.init=function(){e.CVMFilterFieldsDescriptor=o.CVMFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cvmQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(27);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(46);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(16),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(47);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(48);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(39);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(40);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return s})),n.d(t,"sQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(21),a=n(2),c=[{label:"diskId",field:"diskId"}],s=function(){function e(e,t){e.init=function(){e.ECMBLOCKSTORAGEFilterFieldsDescriptor=o.ECMBLOCKSTORAGEFilterFieldsDescriptor,e.ExtraFields=c,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n,r;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})||t.label in(null!==(r=e.dims)&&void 0!==r?r:{})}))},e.getExtraDropdown=function(t,n){var r=t.instance,i=Object(a.f)(e.namespace);r=e.datasource.getServiceFn(i,"getVariable")(r);try{return(r=JSON.parse(r)).DataDisks.map((function(e){return e._InstanceAliasValue=e[o.templateQueryIdMap.diskId],{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}catch(t){var c={InstanceId:r};return e.datasource.getServiceFn(i,"getDiskList")({payload:c}).map((function(e){return{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(49);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(15),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t),n.d(t,"LBQueryCtrl",(function(){return a})),n.d(t,"lbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(65),a=function(){function e(e,t){e.init=function(){e.LBFilterDescriptor=o.LBFilterDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\x3c!--Filters部分--\x3e\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseQueryCtrl",(function(){return a})),n.d(t,"lighthouseQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(56),a=function(){function e(e,t){e.init=function(){e.LighthouseFilterFieldsDescriptor=o.LighthouseFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("lighthouse",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lighthouseQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"MongoDBQueryCtrl",(function(){return p})),n.d(t,"mongodbQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(0),a=n(50),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onRefresh:"&",onChange:"&"},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("mongodbQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"MrQueryCtrl",(function(){return u})),n.d(t,"mrQuery",(function(){return l}));var r=n(24),i=n(6),o=n.n(i),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}o.a.directive("mrQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"NatGatewayQueryCtrl",(function(){return a})),n.d(t,"natGatewayQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(66),a=function(){function e(e,t){e.init=function(){e.NATGatewayFilterFieldsDescriptor=o.NATGatewayFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("natGatewayQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNQueryCtrl",(function(){return a})),n.d(t,"ovCdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(67),a=function(){function e(e,t){e.init=function(){e.OVCDNFilterFieldsDescriptor=o.OVCDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("ovCdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXQueryCtrl",(function(){return a})),n.d(t,"pcxQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(60),a=function(){function e(e,t){e.init=function(){e.PCXFieldsDescriptor=o.PCXFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"vpcId":return e.getVpcIds();default:return[]}},e.getVpcIds=function(){return e.region?e.datasource.getVpcIds("pcx",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("pcxQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(41);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(51);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisQueryCtrl",(function(){return a})),n.d(t,"redisQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(61),a=function(){function e(e,t){e.init=function(){e.RedisFieldsDescriptor=o.RedisFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("redisQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemQueryCtrl",(function(){return l})),n.d(t,"redisMemQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(0),a=n(17),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("redisMemQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(28),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- version部分 --\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&"}}}i.a.directive("scfQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(30);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(52);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(13),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(18),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRabbitmqQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"TdmqRocketmqQueryCtrl",(function(){return p})),n.d(t,"tdmqRocketmqQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(19),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRocketmqQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return c})),n.d(t,"sQuery",(function(){return s}));var r=n(6),i=n.n(r),o=n(0),a=n(74),c=function(){function e(e,t){e.init=function(){e.TKEFilterFieldsDescriptor=a.TKEFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.addCondition=function(){e.target.conditions.push({Key:"",Operator:"=",Value:""})},e.deleteCondition=function(t){var n=e.target.conditions[t];Object(o.isEmpty)(n.Key)||Object(o.isEmpty)(n.Operator)||Object(o.isEmpty)(n.Value)?e.target.conditions.splice(t,1):(e.target.conditions.splice(t,1),e.onRefresh())},e.getOperator=function(){return Promise.resolve([{text:"=",value:"="},{text:"in",value:"in"}])},e.init()}return e.$inject=["$scope","$rootScope"],e}();function s(){return{template:'\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n',controller:c,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("tkeQuery",s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFQueryCtrl",(function(){return a})),n.d(t,"tsfQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(62),a=function(){function e(e,t){e.init=function(){e.TSFFieldsDescriptor=o.TSFFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("tsfQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(25);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(53),a=n(2),c=[],s=function(){function e(e,t){e.init=function(){e.VBCFilterFieldsDescriptor=o.VBCFilterFieldsDescriptor,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})}))},e.getExtraDropdown=function(t){var n=Object(a.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t})},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("vbcQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(42);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(54);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(55);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(43);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){var r={".":20,"./":20,"./MonitorDatasource":188,"./MonitorDatasource.ts":188,"./_base/datasource":3,"./_base/datasource.ts":3,"./_base/query":7,"./_base/query.ts":7,"./_base/query_filter":195,"./_base/query_filter.ts":195,"./_base/types":196,"./_base/types.ts":196,"./apigateway/datasource":75,"./apigateway/datasource.ts":75,"./apigateway/query":131,"./apigateway/query.ts":131,"./apigateway/query_def":23,"./apigateway/query_def.ts":23,"./bmIntraLb/datasource":76,"./bmIntraLb/datasource.ts":76,"./bmIntraLb/query":132,"./bmIntraLb/query.ts":132,"./bmIntraLb/query_def":31,"./bmIntraLb/query_def.ts":31,"./bm_lb/datasource":77,"./bm_lb/datasource.ts":77,"./bm_lb/query":133,"./bm_lb/query.ts":133,"./bm_lb/query_def":32,"./bm_lb/query_def.ts":32,"./bm_pcx/datasource":78,"./bm_pcx/datasource.ts":78,"./bm_pcx/query":134,"./bm_pcx/query.ts":134,"./bm_pcx/query_def":33,"./bm_pcx/query_def.ts":33,"./bwp/datasource":79,"./bwp/datasource.ts":79,"./bwp/query":135,"./bwp/query.ts":135,"./bwp/query_def":63,"./bwp/query_def.ts":63,"./cbs/datasource":80,"./cbs/datasource.ts":80,"./cbs/query":136,"./cbs/query.ts":136,"./cbs/query_def":34,"./cbs/query_def.ts":34,"./cdb/datasource":81,"./cdb/datasource.ts":81,"./cdb/query":137,"./cdb/query.ts":137,"./cdb/query_def":44,"./cdb/query_def.ts":44,"./cdn/datasource":82,"./cdn/datasource.ts":82,"./cdn/query":138,"./cdn/query.ts":138,"./cdn/query_def":64,"./cdn/query_def.ts":64,"./cdn_province/datasource":83,"./cdn_province/datasource.ts":83,"./cdn_province/query":139,"./cdn_province/query.ts":139,"./cdn_province/query_def":35,"./cdn_province/query_def.ts":35,"./ceip_summary/datasource":84,"./ceip_summary/datasource.ts":84,"./ceip_summary/query":140,"./ceip_summary/query.ts":140,"./ceip_summary/query_def":36,"./ceip_summary/query_def.ts":36,"./ces/datasource":85,"./ces/datasource.ts":85,"./ces/query":141,"./ces/query.ts":141,"./ces/query_def":45,"./ces/query_def.ts":45,"./cfs/datasource":86,"./cfs/datasource.ts":86,"./cfs/query":142,"./cfs/query.ts":142,"./cfs/query_def":57,"./cfs/query_def.ts":57,"./ckafka/datasource":87,"./ckafka/datasource.ts":87,"./ckafka/query":143,"./ckafka/query.ts":143,"./ckafka/query_def":11,"./ckafka/query_def.ts":11,"./clb/datasource":88,"./clb/datasource.ts":88,"./clb/query":144,"./clb/query.ts":144,"./clb/query_def":12,"./clb/query_def.ts":12,"./cls/datasource":89,"./cls/datasource.ts":89,"./cls/query":145,"./cls/query.ts":145,"./cls/query_def":29,"./cls/query_def.ts":29,"./cmq/datasource":90,"./cmq/datasource.ts":90,"./cmq/query":146,"./cmq/query.ts":146,"./cmq/query_def":58,"./cmq/query_def.ts":58,"./cmq_topic/datasource":91,"./cmq_topic/datasource.ts":91,"./cmq_topic/query":147,"./cmq_topic/query.ts":147,"./cmq_topic/query_def":37,"./cmq_topic/query_def.ts":37,"./cos/datasource":92,"./cos/datasource.ts":92,"./cos/query_def":148,"./cos/query_def.ts":148,"./cpm/datasource":93,"./cpm/datasource.ts":93,"./cpm/query":149,"./cpm/query.ts":149,"./cpm/query_def":38,"./cpm/query_def.ts":38,"./cvm/datasource":94,"./cvm/datasource.ts":94,"./cvm/query":150,"./cvm/query.ts":150,"./cvm/query_def":59,"./cvm/query_def.ts":59,"./cynosdb_mysql/datasource":95,"./cynosdb_mysql/datasource.ts":95,"./cynosdb_mysql/query":151,"./cynosdb_mysql/query.ts":151,"./cynosdb_mysql/query_def":27,"./cynosdb_mysql/query_def.ts":27,"./dc/datasource":96,"./dc/datasource.ts":96,"./dc/query":152,"./dc/query.ts":152,"./dc/query_def":46,"./dc/query_def.ts":46,"./dcdb/datasource":97,"./dcdb/datasource.ts":97,"./dcdb/query":153,"./dcdb/query.ts":153,"./dcdb/query_def":16,"./dcdb/query_def.ts":16,"./dcg/datasource":98,"./dcg/datasource.ts":98,"./dcg/query":154,"./dcg/query.ts":154,"./dcg/query_def":47,"./dcg/query_def.ts":47,"./dcx/datasource":99,"./dcx/datasource.ts":99,"./dcx/query":155,"./dcx/query.ts":155,"./dcx/query_def":48,"./dcx/query_def.ts":48,"./ecdn/datasource":100,"./ecdn/datasource.ts":100,"./ecdn/query":156,"./ecdn/query.ts":156,"./ecdn/query_def":39,"./ecdn/query_def.ts":39,"./ecm/datasource":101,"./ecm/datasource.ts":101,"./ecm/query":157,"./ecm/query.ts":157,"./ecm/query_def":40,"./ecm/query_def.ts":40,"./ecm_block_storage/datasource":102,"./ecm_block_storage/datasource.ts":102,"./ecm_block_storage/query":158,"./ecm_block_storage/query.ts":158,"./ecm_block_storage/query_def":21,"./ecm_block_storage/query_def.ts":21,"./ecm_lb/datasource":103,"./ecm_lb/datasource.ts":103,"./ecm_lb/query":159,"./ecm_lb/query.ts":159,"./ecm_lb/query_def":49,"./ecm_lb/query_def.ts":49,"./gse/datasource":104,"./gse/datasource.ts":104,"./gse/query":160,"./gse/query.ts":160,"./gse/query_def":15,"./gse/query_def.ts":15,"./index":20,"./index.ts":20,"./lb/datasource":105,"./lb/datasource.ts":105,"./lb/query":161,"./lb/query.ts":161,"./lb/query_def":65,"./lb/query_def.ts":65,"./lighthouse/datasource":106,"./lighthouse/datasource.ts":106,"./lighthouse/query":162,"./lighthouse/query.ts":162,"./lighthouse/query_def":56,"./lighthouse/query_def.ts":56,"./mongodb/datasource":107,"./mongodb/datasource.ts":107,"./mongodb/query":163,"./mongodb/query.ts":163,"./mongodb/query_def":50,"./mongodb/query_def.ts":50,"./mr/datasource":108,"./mr/datasource.ts":108,"./mr/query":164,"./mr/query.ts":164,"./mr/query_def":24,"./mr/query_def.ts":24,"./nat_gateway/datasource":109,"./nat_gateway/datasource.ts":109,"./nat_gateway/query":165,"./nat_gateway/query.ts":165,"./nat_gateway/query_def":66,"./nat_gateway/query_def.ts":66,"./ov_cdn/datasource":110,"./ov_cdn/datasource.ts":110,"./ov_cdn/query":166,"./ov_cdn/query.ts":166,"./ov_cdn/query_def":67,"./ov_cdn/query_def.ts":67,"./pcx/datasource":111,"./pcx/datasource.ts":111,"./pcx/query":167,"./pcx/query.ts":167,"./pcx/query_def":60,"./pcx/query_def.ts":60,"./postgresql/datasource":112,"./postgresql/datasource.ts":112,"./postgresql/query":168,"./postgresql/query.ts":168,"./postgresql/query_def":41,"./postgresql/query_def.ts":41,"./qaap/datasource":113,"./qaap/datasource.ts":113,"./qaap/query":169,"./qaap/query.ts":169,"./qaap/query_def":51,"./qaap/query_def.ts":51,"./redis/datasource":114,"./redis/datasource.ts":114,"./redis/query":170,"./redis/query.ts":170,"./redis/query_def":61,"./redis/query_def.ts":61,"./redis_mem/datasource":115,"./redis_mem/datasource.ts":115,"./redis_mem/query":171,"./redis_mem/query.ts":171,"./redis_mem/query_def":17,"./redis_mem/query_def.ts":17,"./scf/datasource":116,"./scf/datasource.ts":116,"./scf/query":172,"./scf/query.ts":172,"./scf/query_def":28,"./scf/query_def.ts":28,"./sqlserver/datasource":117,"./sqlserver/datasource.ts":117,"./sqlserver/query":173,"./sqlserver/query.ts":173,"./sqlserver/query_def":30,"./sqlserver/query_def.ts":30,"./tcaplus/datasource":118,"./tcaplus/datasource.ts":118,"./tcaplus/query":174,"./tcaplus/query.ts":174,"./tcaplus/query_def":52,"./tcaplus/query_def.ts":52,"./tdmq/datasource":119,"./tdmq/datasource.ts":119,"./tdmq/query":175,"./tdmq/query.ts":175,"./tdmq/query_def":13,"./tdmq/query_def.ts":13,"./tdmq_rabbitmq/datasource":120,"./tdmq_rabbitmq/datasource.ts":120,"./tdmq_rabbitmq/query":176,"./tdmq_rabbitmq/query.ts":176,"./tdmq_rabbitmq/query_def":18,"./tdmq_rabbitmq/query_def.ts":18,"./tdmq_rocketmq/datasource":121,"./tdmq_rocketmq/datasource.ts":121,"./tdmq_rocketmq/query":177,"./tdmq_rocketmq/query.ts":177,"./tdmq_rocketmq/query_def":19,"./tdmq_rocketmq/query_def.ts":19,"./tke/datasource":122,"./tke/datasource.ts":122,"./tke/query":178,"./tke/query.ts":178,"./tke/query_def":74,"./tke/query_def.ts":74,"./tsf/datasource":123,"./tsf/datasource.ts":123,"./tsf/query":179,"./tsf/query.ts":179,"./tsf/query_def":62,"./tsf/query_def.ts":62,"./v_clb/datasource":124,"./v_clb/datasource.ts":124,"./v_clb/query":180,"./v_clb/query.ts":180,"./v_clb/query_def":25,"./v_clb/query_def.ts":25,"./vbc/datasource":125,"./vbc/datasource.ts":125,"./vbc/query":181,"./vbc/query.ts":181,"./vbc/query_def":53,"./vbc/query_def.ts":53,"./vpc_net_detect/datasource":126,"./vpc_net_detect/datasource.ts":126,"./vpc_net_detect/query":182,"./vpc_net_detect/query.ts":182,"./vpc_net_detect/query_def":42,"./vpc_net_detect/query_def.ts":42,"./vpngw/datasource":127,"./vpngw/datasource.ts":127,"./vpngw/query":183,"./vpngw/query.ts":183,"./vpngw/query_def":54,"./vpngw/query_def.ts":54,"./vpnx/datasource":128,"./vpnx/datasource.ts":128,"./vpnx/query":184,"./vpnx/query.ts":184,"./vpnx/query_def":55,"./vpnx/query_def.ts":55,"./waf/datasource":129,"./waf/datasource.ts":129,"./waf/query":185,"./waf/query.ts":185,"./waf/query_def":43,"./waf/query_def.ts":43};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=186},,function(e,t,n){"use strict";n.r(t),n.d(t,"TCMonitorDatasource",(function(){return u}));var r=n(0),i=n.n(r),o=n(20),a=n(2),c=n(5),s=n(8),u=function(){function e(e,t,n){var r=this;this.instanceSettings=e,this.backendSrv=t,this.templateSrv=n,i.a.forEach(o.Datasources,(function(e,t){r[t]=new e(r.instanceSettings,r.backendSrv,r.templateSrv)}))}return e.$inject=["instanceSettings","backendSrv","templateSrv"],e.prototype.getNamespaces=function(){var e=this,t=[];return i.a.forEach(o.SERVICES,(function(n){!0===e.instanceSettings.jsonData[n.service]&&t.push(n)})),t},e.prototype.getCascaderNamespaces=function(){var e=this,t=o.SERVICES.filter((function(t){return e.instanceSettings.jsonData[t.service]}));return Object(c.f)(t)},e.prototype.getSelectedServices=function(){var e=this.getNamespaces();return i.a.map(e,(function(e){var t=e.namespace;return Object(a.f)(t)}))},e.prototype.query=function(e){var t=this,n=[],r=this.getSelectedServices();return i.a.forEach(r,(function(r){var o=i.a.cloneDeep(e),a=i.a.filter(o.targets,(function(e){return e.service===r}));if(o.targets=a,o.targets.length>0){var c=t["".concat(i.a.toUpper(r),"Datasource")].query(o);c&&n.push(c)}})),0===n.length?Promise.resolve({data:[],state:s.LoadingState.Done}):Promise.all(n).then((function(e){return{data:i.a.flatten(e),state:s.LoadingState.Done}}))},e.prototype.metricFindQuery=function(e,t){var n=Object(a.h)(e),r=Object(a.f)(n.namespace||"");if(i.a.isEmpty(n)||!n.namespace||!n.action||!r)return Promise.resolve([]);if(this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery){var o=this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery(n,i.a.get(t,"variable.regex",void 0));if(o)return o}return Promise.resolve([])},e.prototype.getRegions=function(e){return this["".concat(i.a.toUpper(e),"Datasource")].getRegions?this["".concat(i.a.toUpper(e),"Datasource")].getRegions():[]},e.prototype.getMetrics=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getMetrics(t)},e.prototype.getZones=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getZones?this["".concat(i.a.toUpper(e),"Datasource")].getZones(t):[]},e.prototype.getFilterDropdown=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown?this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown(t):[]},e.prototype.getInstances=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getInstances(t,n)},e.prototype.getListeners=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getListeners?this["".concat(i.a.toUpper(e),"Datasource")].getListeners(t,n):[]},e.prototype.getVpcIds=function(e,t){if(this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds)return this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds(t)},e.prototype.testDatasource=function(){var e=this,t=[],n=this.getSelectedServices();return i.a.forEach(n,(function(n){t.push(e["".concat(i.a.toUpper(n),"Datasource")].testDatasource())})),0===t.length?Promise.resolve(null):Promise.all(t).then((function(e){var t="success",n="DataSource Connection OK",r=i.a.reduce(e,(function(e,t){return"error"===t.status&&(""===e&&(e+="Oops! Found an error in: "),e+="".concat(t.service,": ").concat(t.message,"; \n")),e}),"");return r&&(t="error",n=r),{status:t,message:n,title:i.a.upperFirst(t)}}))},e.prototype.getServiceFn=function(e,t){var n=this;return function(){for(var r,o=[],a=0;a=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(Array.isArray(t))t.push(n);else{if("object"!=typeof t)return[t,n];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if("object"!=typeof t)return[t].concat(n);var a=t;return Array.isArray(t)&&!Array.isArray(n)&&(a=o(t,i)),Array.isArray(t)&&Array.isArray(n)?(n.forEach((function(n,o){r.call(t,o)?t[o]&&"object"==typeof t[o]?t[o]=e(t[o],n,i):t.push(n):t[o]=n})),t):Object.keys(n).reduce((function(t,o){var a=n[o];return r.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),a)}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,n){"use strict";n.r(t),n.d(t,"queryDDO",(function(){return a}));var r=n(6),i=n.n(r),o=function(){function e(t,n){Object.assign(t,e._config),t.onChecked=function(e,n){!0===t.target.queries[e]&&(t.target.queries[n]=!1),t.onChange()},t.init()}return e.$inject=["$scope","$rootScope"],e}();function a(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:o,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}t.default=function(e,t){o._config=t,i.a.directive(e,a)}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";var r=n(207),i=n(208),o=n(194);e.exports={formats:o,parse:i,stringify:r}},function(e){e.exports=JSON.parse('{"type":"datasource","name":"Tencent Cloud Monitoring","id":"tencentcloud-monitor-datasource","backend":true,"alerting":true,"logs":true,"metrics":true,"annotations":false,"executable":"tencentcloud-monitor-app-backend","queryOptions":{"maxDataPoints":true},"routes":[{"path":"cls-internal","url":"https://cls.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region-internal","url":"https://region.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api-internal","url":"https://api.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq-internal","url":"https://cmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai-internal","url":"https://cmq.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen-internal","url":"https://cmq.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr-internal","url":"https://emr.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai-internal","url":"https://emr.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen-internal","url":"https://emr.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf-internal","url":"https://scf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai-internal","url":"https://scf.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen-internal","url":"https://scf.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs-internal","url":"https://cfs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai-internal","url":"https://cfs.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen-internal","url":"https://cfs.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka-internal","url":"https://ckafka.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai-internal","url":"https://ckafka.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen-internal","url":"https://ckafka.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb-internal","url":"https://clb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai-internal","url":"https://clb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen-internal","url":"https://clb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb-internal","url":"https://mongodb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai-internal","url":"https://mongodb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen-internal","url":"https://mongodb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc-internal","url":"https://vpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai-internal","url":"https://vpc.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen-internal","url":"https://vpc.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx-internal","url":"https://vpc.api.qcloud.com.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm-internal","url":"https://cvm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai-internal","url":"https://cvm.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen-internal","url":"https://cvm.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor-internal","url":"https://monitor.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai-internal","url":"https://monitor.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen-internal","url":"https://monitor.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb-internal","url":"https://cdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai-internal","url":"https://cdb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen-internal","url":"https://cdb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres-internal","url":"https://postgres.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai-internal","url":"https://postgres.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen-internal","url":"https://postgres.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn-internal","url":"https://cdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis-internal","url":"https://redis.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb-internal","url":"https://dcdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc-internal","url":"https://dc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb-internal","url":"https://cynosdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver-internal","url":"https://sqlserver.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip-internal","url":"https://bmeip.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc-internal","url":"https://bmvpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb-internal","url":"https://bmlb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm-internal","url":"https://bm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es-internal","url":"https://es.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs-internal","url":"https://cbs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb-internal","url":"https://tcaplusdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway-internal","url":"https://apigateway.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq-internal","url":"https://tdmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap-internal","url":"https://gaap.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm-internal","url":"https://ecm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse-internal","url":"https://gse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse-internal","url":"https://lighthouse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf-internal","url":"https://tsf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum-internal","url":"https://rum.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke-internal","url":"https://tke.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn-internal","url":"https://ecdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf-internal","url":"https://waf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway","url":"https://apigateway.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api","url":"https://api.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq","url":"https://cmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai","url":"https://cmq.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen","url":"https://cmq.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr","url":"https://emr.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai","url":"https://emr.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen","url":"https://emr.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf","url":"https://scf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai","url":"https://scf.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen","url":"https://scf.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs","url":"https://cfs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai","url":"https://cfs.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen","url":"https://cfs.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka","url":"https://ckafka.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai","url":"https://ckafka.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen","url":"https://ckafka.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb","url":"https://clb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai","url":"https://clb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen","url":"https://clb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb","url":"https://mongodb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai","url":"https://mongodb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen","url":"https://mongodb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc","url":"https://vpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai","url":"https://vpc.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen","url":"https://vpc.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx","url":"https://vpc.api.qcloud.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm","url":"https://cvm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai","url":"https://cvm.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen","url":"https://cvm.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor","url":"https://monitor.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai","url":"https://monitor.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen","url":"https://monitor.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb","url":"https://cdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai","url":"https://cdb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen","url":"https://cdb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres","url":"https://postgres.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai","url":"https://postgres.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen","url":"https://postgres.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn","url":"https://cdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis","url":"https://redis.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb","url":"https://dcdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc","url":"https://dc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb","url":"https://cynosdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver","url":"https://sqlserver.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip","url":"https://bmeip.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc","url":"https://bmvpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb","url":"https://bmlb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm","url":"https://bm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es","url":"https://es.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs","url":"https://cbs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb","url":"https://tcaplusdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq","url":"https://tdmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap","url":"https://gaap.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm","url":"https://ecm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse","url":"https://gse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cls","url":"https://cls.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shanghai","url":"https://cls.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shenzhen","url":"https://cls.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region","url":"https://region.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse","url":"https://lighthouse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf","url":"https://tsf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum","url":"https://rum.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apm","url":"https://apm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke","url":"https://tke.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn","url":"https://ecdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf","url":"https://waf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]}],"info":{"author":{"name":"Tencent Cloud"},"logos":{"small":"img/tencent-cloud.svg","large":"img/tencent-cloud.svg"},"description":"Data source for Tencent Cloud monitoring service"}}')},,,,,,,,,function(e,t,n){"use strict";var r=n(193),i=n(194),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,c={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},s=function e(t,n,i,o,a,s,u,l,p,d,f,m){var y=t;if("function"==typeof u)y=u(n,y);else if(y instanceof Date)y=d(y);else if(null===y){if(o)return s&&!m?s(n,c.encoder):n;y=""}if("string"==typeof y||"number"==typeof y||"boolean"==typeof y||r.isBuffer(y))return s?[f(m?n:s(n,c.encoder))+"="+f(s(y,c.encoder))]:[f(n)+"="+f(String(y))];var h,g=[];if(void 0===y)return g;if(Array.isArray(u))h=u;else{var v=Object.keys(y);h=l?v.sort(l):v}for(var b=0;b0?_+x:""}},function(e,t,n){"use strict";var r=n(193),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,a=/(\[[^[\]]*])/.exec(r),c=a?r.slice(0,a.index):r,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var u=0;null!==(a=o.exec(r))&&u=0;--i){var o,a=e[i];if("[]"===a)o=(o=[]).concat(r);else{o=n.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,s=parseInt(c,10);!isNaN(s)&&a!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=r:o[c]=r}r=o}return r}(s,t,n)}};e.exports=function(e,t){var n=t?r.assign({},t):{};if(null!==n.decoder&&void 0!==n.decoder&&"function"!=typeof n.decoder)throw new TypeError("Decoder has to be a function.");if(n.ignoreQueryPrefix=!0===n.ignoreQueryPrefix,n.delimiter="string"==typeof n.delimiter||r.isRegExp(n.delimiter)?n.delimiter:o.delimiter,n.depth="number"==typeof n.depth?n.depth:o.depth,n.arrayLimit="number"==typeof n.arrayLimit?n.arrayLimit:o.arrayLimit,n.parseArrays=!1!==n.parseArrays,n.decoder="function"==typeof n.decoder?n.decoder:o.decoder,n.allowDots="boolean"==typeof n.allowDots?n.allowDots:o.allowDots,n.plainObjects="boolean"==typeof n.plainObjects?n.plainObjects:o.plainObjects,n.allowPrototypes="boolean"==typeof n.allowPrototypes?n.allowPrototypes:o.allowPrototypes,n.parameterLimit="number"==typeof n.parameterLimit?n.parameterLimit:o.parameterLimit,n.strictNullHandling="boolean"==typeof n.strictNullHandling?n.strictNullHandling:o.strictNullHandling,""===e||null==e)return n.plainObjects?Object.create(null):{};for(var c="string"==typeof e?function(e,t){for(var n={},r=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,c=r.split(t.delimiter,a),s=0;s0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.configured=!0))}return e.$inject=["$scope","$injector","$q"],e.prototype.moveToFolder=function(e,t){return o(this,void 0,void 0,(function(){var n;return a(this,(function(r){switch(r.label){case 0:return[4,c.get("/api/dashboards/uid/".concat(e))];case 1:return n=r.sent().dashboard,[4,c.post("/api/dashboards/db/",{dashboard:n,folderId:t,message:"",overwrite:!0})];case 2:return r.sent(),[2]}}))}))},e.prototype.reviseDashboard=function(){var e;return o(this,void 0,void 0,(function(){var t,n,r,i,o,s=this;return a(this,(function(a){switch(a.label){case 0:return[4,l()];case 1:return t=a.sent(),n=t[0],r=t[1],[4,c.get("/api/plugins/".concat(null===(e=this.appModel)||void 0===e?void 0:e.id,"/dashboards"))];case 2:return i=a.sent(),o=i.map((function(e){var t=e.importedUrl,i=e.path,o=t.split("/")[2];return o?s.moveToFolder(o,i.endsWith("_en_dashboard.json")?r:n):Promise.resolve()})),[2,Promise.all(o)]}}))}))},e.prototype.postUpdate=function(){var e;return o(this,void 0,void 0,(function(){return a(this,(function(t){switch(t.label){case 0:return(null===(e=this.appModel)||void 0===e?void 0:e.enabled)?[4,this.reviseDashboard()]:[2];case 1:return t.sent(),[2,this.$q.resolve(!0)]}}))}))},e.templateUrl="components/config.html",e}()}])})); +define("TencentCloudMonitorGrafanaApp",["lodash","app/core/core_module","@grafana/data","@grafana/runtime","moment"],(function(e,t,n,r,i){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=212)}([function(t,n){t.exports=e},function(e,t,n){"use strict";var r={language:"语言",enable_intranet_API_mode:"开启内网API模式",cloud_database:"云数据库",cloud_load_balancer:"负载均衡",virtual_private_cloud:"私有网络",content_delivery_network:"内容分发网络",message_queue:"消息队列",direct_connect:"专线接入",cloud_physical_machine:"黑石物理服务器",elastic_mapReduce:"弹性 MapReduce",edge_computing_machine:"边缘计算机器",RUM:"前端性能监控(RUM)",APM:"应用性能监控(APM)",CLS:"日志服务(CLS)",CVM:"云服务器(CVM)",CDB:"云数据库 MySQL(CDB)",CMONGO:"云数据库 MongoDB(CMONGO)",POSTGRES:"云数据库 PostgreSQL(POSTGRES)",REDIS:"云数据库 Redis(REDIS)",REDIS_MEM:"云数据库 Redis内存版(5s)(REDIS_MEM)",SQLSERVER:"云数据库 SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"云数据库 TcaplusDB(TCAPLUS)",TDMYSQL:"分布式数据库 TDSQL MySQL(TDMYSQL)",PCX:"私有网络-对等连接(PCX)",BWP:"私有网络-带宽包(BWP)",NAT_GATEWAY:"私有网络-NAT 网关(NAT_GATEWAY)",VPNGW:"私有网络-VPN 网关(VPNGW)",VPNX:"私有网络-VPN 通道(VPNX)",DCG:"私有网络-专线网关(DCG)",CEIP_SUMMARY:"私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)",VPC_NET_DETECT:"私有网络-网络探测(VPC_NET_DETECT)",VBC:"私有网络-云联网(VBC)",LB:"私有网络-弹性公网IP(LB)",LB_PUBLIC:"公网负载均衡监控指标(LB_PUBLIC)",LB_PRIVATE:"内网负载均衡四层协议监控指标(LB_PRIVATE)",LOADBALANCE:"内网负载均衡七层协议监控指标(LOADBALANCE)",CDN:"国内域名(CDN)",CDN_LOG_DATA:"省份域名(CDN_LOG_DATA)",OV_CDN:"国外域名(OV_CDN)",SCF_V2:"云函数(SCF)",CFS:"文件存储(CFS)",COS:"对象存储(COS)",CKAFKA:"消息队列 CKafka(CKAFKA)",CMQ:"消息队列-队列服务监控(CMQ)",CMQTOPIC:"消息队列-主题订阅监控(CMQTOPIC)",TDMQ:"消息队列 Pulsar 版(TDMQ)",TDMQ_ROCKETMQ:"消息队列 RocketMQ 版(ROCKETMQ)",TDMQ_RABBITMQ:"消息队列 RabbitMQ 版(RABBITMQ)",DCX:"专线接入-专用通道(DCX)",DC:"专线接入-物理专线(DC)",CPM:"黑石物理服务器(CPM)",BM_PCX:"黑石对等连接(BM_PCX)",BM_LB:"黑石外网负载均衡(BM_LB)",BM_INTRA_LB:"黑石内网负载均衡(BM_INTRA_LB)",CES:"Elasticsearch指标(CES)",BLOCK_STORAGE:"云硬盘(BLOCK_STORAGE)",APIGATEWAY:"API 网关(APIGATEWAY)",QAAP:"全球应用加速(GAAP)",ECM:"边缘计算和网络监控(ECM)",ECM_BLOCK_STORAGE:"边缘计算存储监控(ECM_BLOCK_STORAGE)",ECM_LB:"边缘计算负载均衡(ECM_LB)",GSE:"游戏服务器伸缩(GSE)",TKE:"容器服务(TKE)",ECDN:"全站加速网络(ECDN)",WAF:"Web 应用防火墙(WAF)",multi_scene:"多场景版",lite:"精简版",cloud_monitor:"云监控",cloud_log_service:"日志服务",real_user_monitoring:"前端性能监控",apm_monitoring:"应用性能监控",region:"地域",log_topic:"日志主题",syntax_rule:"语法规则",max_result_num:"最大结果条数",search_statement:"检索语句",time_unit:"Time unit",seconds:"seconds",search_description:"按照具体的查询条件搜索实例,默认拉取前 20 条实例","ap-guangzhou":"华南地区(广州)","ap-shenzhen-fsi":"华南地区(深圳金融)","ap-guangzhou-open":"华南地区(广州OPEN)","ap-shenzhen":"华南地区(深圳)","ap-qingyuan":"华南地区(清远)","ap-shanghai":"华东地区(上海)","ap-shanghai-fsi":"华东地区(上海金融)","ap-jinan-ec":"华东地区(济南)","ap-hangzhou-ec":"华东地区(杭州)","ap-nanjing":"华东地区(南京)","ap-fuzhou-ec":"华东地区(福州)","ap-hefei-ec":"华东地区(合肥)","ap-beijing":"华北地区(北京)","ap-tianjin":"华北地区(天津)","ap-beijing-fsi":"华北地区(北京金融)","ap-shijiazhuang-ec":"华北地区(石家庄)","ap-wuhan-ec":"华中地区(武汉)","ap-changsha-ec":"华中地区(长沙)","ap-zhengzhou-ec":"华中地区(郑州)","ap-chengdu":"西南地区(成都)","ap-chongqing":"西南地区(重庆)","ap-xian-ec":"西北地区(西安)","ap-shenyang-ec":"东北地区(沈阳)","ap-taipei":"港澳台地区(中国台北)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-tokyo":"亚太东北(东京)","ap-singapore":"亚太东南(新加坡)","ap-bangkok":"亚太东南(曼谷)","ap-jakarta":"亚太东南(雅加达)","na-siliconvalley":"美国西部(硅谷)","eu-frankfurt":"欧洲地区(法兰克福)","eu-moscow":"欧洲地区(莫斯科)","ap-mumbai":"亚太南部(孟买)","na-ashburn":"美国东部(弗吉尼亚)","sa-saopaulo":"南美地区(圣保罗)","na-toronto":"北美地区(多伦多)"},i={language:"Language",enable_intranet_API_mode:"Enable Intranet API Mode",cloud_database:"Cloud Database",cloud_load_balancer:"Cloud Load Balancer",virtual_private_cloud:"Virtual Private Cloud",content_delivery_network:"Content Delivery Network",message_queue:"Message Queue",direct_connect:"Direct Connect",cloud_physical_machine:"Cloud Physical Machine",elastic_mapReduce:"Elastic MapReduce",edge_computing_machine:"Edge Computing Machine",RUM:"Real User Monitoring(RUM)",CLS:"Cloud Log Service(CLS)",CVM:"Cloud Virtual Machine(CVM)",CDB:"TencentDB for MySQL(CDB)",CMONGO:"TencentDB for MongoDB(CMONGO)",POSTGRES:"TencentDB for PostgreSQL(POSTGRES)",REDIS:"TencentDB for Redis(REDIS)",REDIS_MEM:"TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)",SQLSERVER:"TencentDB for SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"TencentDB for TcaplusDB(TCAPLUS)",TDMYSQL:"TDSQL for MySQL(TDMYSQL)",PCX:"Peering Connection(PCX)",BWP:"Bandwidth Packet(BWP)",NAT_GATEWAY:"NAT Gateway(NAT_GATEWAY)",VPNGW:"VPN Gateway(VPNGW)",VPNX:"VPN Tunnel(VPNX)",DCG:"Direct Connect Gateway(DCG)",CEIP_SUMMARY:"Anycast EIP(CEIP_SUMMARY)",VPC_NET_DETECT:"Network Detection(VPC_NET_DETECT)",VBC:"Cloud Connect Network(VBC)",LB:"Elastic IP(LB)",LB_PUBLIC:"Public Network CLB(LB_PUBLIC)",LB_PRIVATE:"Private Network CLB Layer-4 Protocol(LB_PRIVATE)",LOADBALANCE:"Private Network CLB Layer-7 Protocol(LOADBALANCE)",CDN:"Chinese Mainland Domain(CDN)",CDN_LOG_DATA:"Province(CDN_LOG_DATA)",OV_CDN:"Overseas Domain(OV_CDN)",SCF_V2:"Serverless Cloud Function(SCF)",CFS:"Cloud File Storage(CFS)",COS:"Cloud Object Storage(COS)",CKAFKA:"Message Queue CKafka(CKAFKA)",CMQ:"Message Queue for Queue Service(CMQ)",CMQTOPIC:"Message Queue for Topic Subscription(CMQTOPIC)",TDMQ:"Tencent Distributed Message Queue for Pulsar(TDMQ)",TDMQ_ROCKETMQ:"Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)",TDMQ_RABBITMQ:"Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)",DCX:"Direct Connect for Dedicated Tunnel(DCX)",DC:"Direct Connect for Connection(DC)",CPM:"Cloud Physical Machine(CPM)",BM_PCX:"Cloud Physical Machine for Peering Connection(BM_PCX)",BM_LB:"Cloud Physical Machine for Public Network CLB(BM_LB)",BM_INTRA_LB:"Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)",CES:"Elasticsearch Service(CES)",BLOCK_STORAGE:"Cloud Block Storage(BLOCK_STORAGE)",APIGATEWAY:"API Gateway(APIGATEWAY)",QAAP:"Global Application Acceleration Platform(GAAP)",ECM:"Edge Computing Machine for Computation and Networking(ECM)",ECM_BLOCK_STORAGE:"Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)",ECM_LB:"Edge Computing Machine for Layer-4 CLB(ECM_LB)",GSE:"Game Server Elastic-scaling(GSE)",TKE:"Tencent Kubernetes Engine(TKE)",ECDN:"Enterprise Content Delivery Network(ECDN)",WAF:"Web Application Firewall(WAF)",multi_scene:"Multi-Scene",lite:"Lite",cloud_monitor:"Cloud Monitor",cloud_log_service:"Cloud Log Service",real_user_monitoring:"Real User Monitoring",apm_monitoring:"Application Monitoring",region:"Region",log_topic:"Log Topic",syntax_rule:"Syntax Rule",max_result_num:"Maximum result number",search_statement:"Search Statement",time_unit:"Time unit",seconds:"seconds",search_description:"Search for instances according to specific query conditions, and pull the first 20 instances by default","ap-guangzhou":"South China(Guangzhou)","ap-shenzhen-fsi":"South China(Shenzhen Finance)","ap-guangzhou-open":"South China(Guangzhou OPEN)","ap-shenzhen":"South China(Shenzhen)","ap-qingyuan":"South China(Qingyuan)","ap-shanghai":"East China(Shanghai)","ap-shanghai-fsi":"East China(Shanghai Finance)","ap-jinan-ec":"East China(Jinan)","ap-hangzhou-ec":"East China(Hangzhou)","ap-nanjing":"East China(Nanjing)","ap-fuzhou-ec":"East China(Fuzhou)","ap-hefei-ec":"East China(Hefei)","ap-beijing":"North China region(Beijing)","ap-tianjin":"North China region(Tianjin)","ap-beijing-fsi":"North China region(Beijing Finance)","ap-shijiazhuang-ec":"North China region(Shijiazhuang)","ap-wuhan-ec":"Central China(Wuhan)","ap-changsha-ec":"Central China(Changsha)","ap-zhengzhou-ec":"Central China(Zhengzhou)","ap-chengdu":"Southwest China(Chengdu)","ap-chongqing":"Southwest China(Chongqing)","ap-xian-ec":"Northwest region(Xi'an)","ap-shenyang-ec":"Northeast China(Shenyang)","ap-taipei":"Hong Kong, Macau and Taiwan (China)(Taipei, China)","ap-hongkong":"Hong Kong, Macau and Taiwan (China)(Hong Kong, China)","ap-seoul":"Northeast Asia(Seoul)","ap-tokyo":"Northeast Asia(Tokyo)","ap-singapore":"Southeast Asia(Singapore)","ap-bangkok":"Southeast Asia(Bangkok)","ap-jakarta":"Southeast Asia(Jakarta)","na-siliconvalley":"US West(Silicon Valley)","eu-frankfurt":"Europe(Frankfurt)","eu-moscow":"Europe(Northeastern Europe)","ap-mumbai":"South Asia(Mumbai)","na-ashburn":"US East(Virginia)","sa-saopaulo":"South America(São Paulo)","na-toronto":"North America(Toronto)"};n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return u}));var o,a="zh-CN";!function(e){e.Chinese="zh-CN",e.English="en-US"}(o||(o={}));var c=function(e){return a===o.Chinese?r[e]:i[e]},s=function(e){a=e},u=function(){return a}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(197),a=n.n(o),c=n(20),s=n(69),u=n.n(s),l=function(){return(l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&-1===t._InstanceAliasValue.indexOf(r[o].timeshift)&&(t._InstanceAliasValue+="_".concat(r[o].timeshift)),t[e]=d.getDimensionsVal(t,p,y),d.checkKeys.length>0&&d.checkKeys.forEach((function(n){t[n]=t[e]})),n[e]={Name:e,Value:t[e]},[2]}}))},d=this,m=0,y=e,v.label=1;case 1:return m0){var r=i.a.cloneDeep(t);return r[n].timeshift="",m(m([],e,!0),[r,t],!1)}return m(m([],e,!0),[t],!1)}),[]).map((function(r){return d(t,void 0,void 0,(function(){var t,o,l,p,d,m,y,h,g,v,b,I,D=this;return f(this,(function(f){switch(f.label){case 0:return t=Object(c.j)(this.templateSrv,e.scopedVars,r[n].instance,!0),[4,s.a.getInstance(this.service)];case 1:o=f.sent(),l=Object(u.c)(r[n].timeshift),t=[].concat(t).map((function(e){var t,n;try{return JSON.parse(e)}catch(r){return o?null!==(n=i.a.cloneDeep(o.find((function(t){return t[D.templateQueryIdMap.instance]===e}))))&&void 0!==n?n:{}:null===(t=D.getDefaultInsObj)||void 0===t?void 0:t.call(D,e)}})),p=Object(c.j)(this.templateSrv,e.scopedVars,r[n].region,!1),d=[],m=0,y=t,f.label=2;case 2:return m=g)return(null==f?void 0:f.response)?f.response(r):r;var v=Object(c.k)(g,(null==o?void 0:o.Limit)||100),b=[];return i.a.forEach(v,(function(r){b.push(n.getInstances(e,p(p({},r),t)))})),Promise.all(b).then((function(e){return i.a.forEach(e,(function(e){r=i.a.concat(r,e)})),(null==f?void 0:f.response)?f.response(r):r})).catch((function(e){return(null==f?void 0:f.response)?f.response(r):r}))}))},e.prototype.isValidConfigField=function(e){return e&&e.length>0},e.prototype.testDatasource=function(){var e=this;return this.isValidConfigField(this.secretId)?Promise.all([this.getRegions(),this.getMetrics(),this.getInstances("ap-guangzhou",{Offset:0,Limit:1})]).then((function(t){var n=i.a.get(t,"[0].Error",{}),r=i.a.get(t,"[1].Error",{}),o=i.a.get(t,"[2].Error",{}),a=i.a.get(n,"Code",""),c=i.a.get(r,"Code",""),s=i.a.get(o,"Code","");if(a||c||s){var u=[];a&&u.push(i.a.get(n,"Code")),c&&u.push(i.a.get(r,"Code")),s&&u.push(i.a.get(o,"Code"));var l=i.a.join(i.a.compact(i.a.uniq(u)),"; ");return{service:e.service,status:"error",message:l}}return{namespace:e.namespace,service:e.service,status:"success",message:"Successfully queried the ".concat(e.service," service."),title:"Success"}})).catch((function(t){var n="".concat(e.service," service:");return n+=t.statusText?t.statusText+"; ":"",i.a.get(t,"data.error.code","")?n+=t.data.error.code+". "+t.data.error.message:i.a.get(t,"data.error","")?n+=t.data.error:i.a.get(t,"data","")?n+=t.data:n+="Cannot connect to ".concat(e.service," service."),{service:e.service,status:"error",message:n}})):{service:this.service,status:"error",message:"The SecretId/SecretKey field is required."}},e.prototype.doRequest=function(e,t,n){return void 0===n&&(n={}),d(this,void 0,void 0,(function(){return f(this,(function(r){switch(r.label){case 0:return[4,Object(c.c)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return i.a.get(e,"data.Response",{})})).catch((function(e){throw e}))]}}))}))},e}()},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"f",(function(){return f})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return y}));var r=n(0),i=n.n(r),o=n(20),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t?r.push({Name:o,Values:i.a.uniq(e).slice(0,5)}):n[o]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t?r.push({Name:o,Values:i.a.get(e,"value",[]).slice(0,5)}):n[o]=i.a.get(e,"value")):null!=e&&""!==e&&(t?r.push({Name:o,Values:e}):n[o]=e)})),t&&r.length>0)return n.Filters=r,n}return n}function d(e){return i.a.get(i.a.find(o.SERVICES,(function(t){return t.service===e})),"namespace")}function f(e){return e.reduce((function(e,t){var n=t.namespace,r=t.label,i=t.groupName,o=void 0===i?r:i,a=e.find((function(e){return e.label===o}));return a?(a.items.push({label:r,value:n}),e):(e.push({label:o,value:o,items:[{label:r,value:n}]}),e)}),[]).map((function(e){return 1===e.items.length?{label:e.items[0].label,value:e.items[0].value}:e}))}var m=function(e,t,n){try{var r=JSON.parse(e),i=JSON.parse(t);return r[n]===i[n]}catch(n){return e===t}},y=function(e){var t=/^(\d+)([d|h|m|s])$/.exec(e);if(!t)return 0;var n=parseInt(t[1],10);switch(t[2]){case"d":return 86400*n*1e3;case"h":return 3600*n*1e3;case"m":return 60*n*1e3;case"s":return 1e3*n}return 0}},function(e,n){e.exports=t},function(e,t,n){"use strict";n.r(t);var r=n(6),i=n.n(r),o=n(2);t.default=function(e,t){var n,r,a=(n=t,function(){function e(e,t){Object.assign(e,n),e.getDropdown=function(t){var n=Object(o.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t,region:e.region})}}return e.$inject=["$scope","$rootScope"],e}());i.a.directive(e,(r=a,function(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n',controller:r,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}))}},function(e,t){e.exports=n},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["InstanceId","InstanceName"],u=["TopicId","TopicName"],l={instance:"InstanceId",topicId:"TopicId",groupName:"GroupName",partition:"PartitionId"},p=new Proxy({topicId:"TopicId",topicName:"TopicName",consumerGroup:"GroupName",partition:"PartitionId"},{get:function(e,t){return"instanceid"===String(t).toLocaleLowerCase()?"InstanceId":e[t]}}),d={TopicList:"TopicList",GroupList:"GroupList",PartitionList:"PartitionList"},f={TopicId:{dim_KeyInStorage:d.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},TopicName:{dim_KeyInStorage:d.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},GroupName:{dim_KeyInStorage:d.GroupList,dim_KeyInTarget:"consumerGroup",dim_KeyInMap:l.groupName},PartitionId:{dim_KeyInStorage:d.PartitionList,dim_KeyInTarget:"partition",dim_KeyInMap:l.partition}};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"LOADBALANCEFieldsDescriptor",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return l})),n.d(t,"LOADBALANCEListenerAliasList",(function(){return p})),n.d(t,"LOADBALANCEServerAliasList",(function(){return d})),n.d(t,"LOADBALANCEVALIDDIMENSIONS",(function(){return f})),n.d(t,"templateQueryIdMap",(function(){return y})),n.d(t,"CANDIATEDIMENSIONS",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"queryEditorConfig",(function(){return c})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(5),i="QCE/LOADBALANCE",o="loadBalanceQuery",a=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],c={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:i,fieldDescriptor:a},s={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",servers:"",serverPort:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function u(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var l=["LoadBalancerId","LoadBalancerName","LoadBalancerVips"],p=["ListenerId","ListenerName","Port"],d=["PrivateIpAddresses","InstanceId"],f={vip:"LoadBalancerVips",loadBalancerPort:"Port",protocol:"Protocol",lanIp:"PrivateIpAddresses",port:"ServerPort"},m={LoadBalancerVips:"AddressIPv6"},y={instance:"LoadBalancerId",listener:"ListenerId",servers:"PrivateIpAddresses",port:"Port"},h={listener:"ListenerList",servers:"ServersList"},g={Port:{dim_KeyInStorage:h.listener,dim_KeyInTarget:"listener",dim_KeyInMap:y.listener},Protocol:{dim_KeyInStorage:h.listener,dim_KeyInTarget:"listener",dim_KeyInMap:y.listener},PrivateIpAddresses:{dim_KeyInStorage:h.servers,dim_KeyInTarget:"servers",dim_KeyInMap:y.servers},ServerPort:{dim_KeyInStorage:h.servers,dim_KeyInTarget:"serverPort",dim_KeyInIns:"Port",dim_KeyInMap:y.port}};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"TDMQInstanceAliasList",(function(){return u})),n.d(t,"TDMQInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"regionSupported",(function(){return m})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return f}));var r=n(5),i=n(0),o=n.n(i),a="QCE/TDMQ",c="tdmqQuery",s={tenantId:"ClusterId",tenant:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},u=["ClusterId","ClusterName"],l={instance:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",topicName:"",environmentId:"",queries:{Limit:20,Offset:0}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var m=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){-1!==e.Dimensions.indexOf("topicName")&&-1===e.Dimensions.indexOf("environmentId")&&e.Dimensions.push("environmentId")})),t}var h={topicName:"topicName",environmentId:"environmentId"},g={TopicName:{dim_KeyInStorage:h.topicName,dim_KeyInTarget:"topicName",dim_KeyInMap:l.topicName},EnvironmentId:{dim_KeyInStorage:h.environmentId,dim_KeyInTarget:"environmentId",dim_KeyInMap:l.environmentId}};t.default=d},,function(e,t,n){"use strict";n.r(t),n.d(t,"GSEFilterFieldsDescriptor",(function(){return m})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"GSEInstanceAliasList",(function(){return l})),n.d(t,"GSEInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return y})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"modifyDimensons",(function(){return b})),n.d(t,"queryMonitorExtraConfg",(function(){return f})),n.d(t,"fleetId",(function(){return c})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"GSEGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/GSE",c="FleetId",s="gseQuery",u={instanceid:"InstanceId",fleetid:"FleetId",queuename:"Name"},l=["InstanceId","PrivateIpAddress","IpAddress"],p={instance:"InstanceId",Name:"Name",FleetId:c},d={fleet:"fleet",queue:"queueName"},f={FleetId:{dim_KeyInStorage:d.fleet,dim_KeyInTarget:"FleetId",dim_KeyInMap:p.FleetId},Name:{dim_KeyInStorage:d.queue,dim_KeyInTarget:"Name",dim_KeyInMap:p.Name}},m=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceId",enDescriptor:"resourceName",cnDescriptor:"资源名称",link:"",type:"input"},{key:"FleetId",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"input"}],y={instanceDocUrl:"https://cloud.tencent.com/document/api/1165/42604",namespace:a,fieldDescriptor:m},h={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",FleetId:"",Name:"",queries:{Limit:20,Offset:0,InstanceId:"",FleetId:""}};function g(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var v=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-ashburn"},{value:"na-siliconvalley"}];function b(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return u[e]||e}))})),t}t.default=h},function(e,t,n){"use strict";n.r(t),n.d(t,"DCDBFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"DCDBInstanceAliasList",(function(){return s})),n.d(t,"DCDBInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"keyInStorage",(function(){return h})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return g})),n.d(t,"DCDBGetInstanceQueryParams",(function(){return y}));var r=n(0),i=n(5),o="QCE/TDMYSQL",a="dcdbQuery",c={nodeid:"NodeId",instanceid:"InstanceId",shardid:"ShardInstanceId",ShardId:"ShardInstanceId"},s=["InstanceId","InstanceName"],u={instance:"InstanceId",NodeId:"NodeId",ShardInstanceId:"ShardInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例 ID 查询",link:"",type:"inputMulti"},{key:"SearchName",enDescriptor:"SearchName",cnDescriptor:"搜索的字段名,当前支持的值有:instancename、vip、all",link:"",type:"input"},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"搜索的关键字",link:"",type:"input"},{key:"ProjectIds",enDescriptor:"ProjectIds",cnDescriptor:"按项目 ID 查询",link:"",type:"inputNumberMulti"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络 ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"私有网络的子网 ID",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"projectId",value:"projectId"},{text:"createtime",value:"createtime"},{text:"instancename",value:"instancename"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"私有网络 ID",link:"",type:"select",list:[{text:"desc",value:"desc"},{text:"asc",value:"asc"}]},{key:"ExclusterType",enDescriptor:"ExclusterType",cnDescriptor:"集群类型",link:"",type:"select",list:[{text:"非独享集群",value:1},{text:"独享集群",value:2},{text:"全部",value:0},{text:"asc",value:"asc"}]},{key:"ExclusterIds",enDescriptor:"ExclusterIds",cnDescriptor:"独享集群ID",link:"",type:"inputMulti"},{key:"FilterInstanceType",enDescriptor:"FilterInstanceType",cnDescriptor:"实例类型过滤",link:"",type:"select",multiple:!0,list:[{text:"独享实例",value:1},{text:"主实例",value:2},{text:"灾备实例",value:3}]}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/557/16140",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",ShardId:"",NodeId:"",queries:{Limit:20,Offset:0,InstanceIds:[],SearchName:"",SearchKey:"",ProjectIds:[],VpcId:"",SubnetId:"",OrderBy:{},OrderByType:{},ExclusterType:{},ExclusterIds:[],FilterInstanceType:{}}},f={shardid:"ShardId",instanceid:"InstanceId",nodeid:"NodeId"};function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return f[e]||e}))})),t}function y(e){void 0===e&&(e={});var t=Object(i.d)(e,!1);return t.IsFilterVpc=!1,t.IsFilterExcluster=!1,(t.VpcId||t.SubnetId)&&(t.IsFilterVpc=!0),t.ExclusterType&&(t.IsFilterExcluster=!0),Object(r.isArray)(t.FilterInstanceType)&&(t.FilterInstanceType=t.FilterInstanceType.join(",")),t}var h={NodeId:"NodeId",ShardInstanceId:"ShardId"},g={NodeId:{dim_KeyInStorage:h.NodeId,dim_KeyInTarget:"NodeId",dim_KeyInMap:u.NodeId},ShardInstanceId:{dim_KeyInStorage:h.ShardInstanceId,dim_KeyInTarget:"ShardId",dim_KeyInMap:u.ShardInstanceId}},v=[{text:"华北地区(北京)",value:"ap-beijing"},{text:"西南地区(成都)",value:"ap-chengdu"},{text:"西南地区(重庆)",value:"ap-chongqing"},{text:"华南地区(广州)",value:"ap-guangzhou"},{text:"港澳台地区(中国香港)",value:"ap-hongkong"},{text:"亚太南部(孟买)",value:"ap-mumbai"},{text:"华东地区(南京)",value:"ap-nanjing"},{text:"华东地区(上海)",value:"ap-shanghai"},{text:"华东地区(上海金融)",value:"ap-shanghai-fsi"},{text:"华南地区(深圳金融)",value:"ap-shenzhen-fsi"},{text:"亚太东南(新加坡)",value:"ap-singapore"},{text:"亚太东北(东京)",value:"ap-tokyo"},{text:"欧洲地区(法兰克福)",value:"eu-frankfurt"},{text:"美国东部(弗吉尼亚)",value:"na-ashburn"},{text:"美国西部(硅谷)",value:"na-siliconvalley"},{text:"北美地区(多伦多)",value:"na-toronto"}];t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemFieldsDescriptor",(function(){return c})),n.d(t,"RedisMemInvalidDemensions",(function(){return p})),n.d(t,"REDISMEMInstanceAliasList",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"namespace",(function(){return a})),n.d(t,"NodeType",(function(){return f})),n.d(t,"REDISMEMGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var l=["InstanceId","InstanceName","WanIp"],p={instanceid:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},d={instance:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},f=["Redis","Proxy"];t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQRABBITMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/RABBITMQ",o="tdmqQuery",a={instanceid:"InstanceId",node:"NodeName"},c=["InstanceId","InstanceName"],s={instance:"InstanceId",node:"NodeName"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",node:"",queries:{Limit:20,Offset:0}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={node:"NodeName"},m={NodeName:{dim_KeyInStorage:f.node,dim_KeyInTarget:"node",dim_KeyInMap:s.node}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQROCKETMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"TDMQROCKETMQGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o="QCE/ROCKETMQ",a={tenant:"ClusterId",namespace:"NamespaceId",group:"Name"},c=["ClusterId","ClusterName"],s={instance:"ClusterId",namespace:"NamespaceId",group:"Name"},u=[{key:"includeVip",enDescriptor:"includeVip",cnDescriptor:"包含专享集群",link:"",type:"select",list:[{text:"是",value:"true"},{text:"否",value:"false"}]}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",namespace:"",group:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIdList:[""],Filters:{includeVip:{text:"是",value:"true"}}}};function p(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.ClusterIdList)){var n=i.a.compact(e.ClusterIdList);i.a.uniq(n).length>0&&(t.ClusterIdList=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:[i.a.get(e,"value",[])].slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={namespace:"NamespaceId",group:"Name"},m={NamespaceId:{dim_KeyInStorage:f.namespace,dim_KeyInTarget:"namespace",dim_KeyInMap:s.namespace},Name:{dim_KeyInStorage:f.group,dim_KeyInTarget:"group",dim_KeyInMap:s.group}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"InitServiceState",(function(){return c})),n.d(t,"SERVICES",(function(){return o})),n.d(t,"Datasources",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return s})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(1),i=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c=new Proxy({},{get:function(e,t,n){if("string"==typeof t){if(t.startsWith("id4"))return"ClusterId";if(t.startsWith("host4"))return"Ip"}return Reflect.get(e,t,n)},has:function(e,t){return!0}}),s={instance:"ClusterId",node:"Ip"},u={node:"nodeIP"},l={Ip:{dim_KeyInStorage:u.node,dim_KeyInTarget:"nodeIP",dim_KeyInMap:s.node}},p=["ClusterId","ClusterName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",nodeIP:"",queries:{Offset:0,Limit:10,DisplayStrategy:"",OrderBy:{},Order:{},InstanceIds:[],ProjectId:-1,OrderField:"",Asc:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"VCLBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"VCLBInstanceAliasList",(function(){return u})),n.d(t,"VCLBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"clbNamespaceMap",(function(){return h})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"regionSupported",(function(){return y})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/V_CLB",c="vClbQuery",s={InstanceId:"LoadBalancerId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var y=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],h={public:"QCE/LB_PUBLIC",private:"QCE/LB_PRIVATE"};function g(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=f},,function(e,t,n){"use strict";n.r(t),n.d(t,"cynosdbMysqlFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"CYNOSDBMYSQLInstanceAliasList",(function(){return f})),n.d(t,"CYNOSDBInvalidDemensions",(function(){return y})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"regionSupported",(function(){return u})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"checkKeys",(function(){return h})),n.d(t,"CYNOSDBMYSQLGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CYNOSDB_MYSQL",c="cynosdbMysqlQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:1e3},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例id列表",link:"",type:"inputMulti"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"创建时间",value:"CREATETIME"},{text:"过期时间",value:"PERIODENDTIME"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序类型",link:"",type:"select",list:[{text:"升序",value:"ASC"},{text:"降序",value:"DESC"}]},{key:"DbType",enDescriptor:"DbType",cnDescriptor:"引擎类型",link:"",type:"select",list:[{text:"MYSQL",value:"MYSQL"},{text:"POSTGRESQL",value:"POSTGRESQL"}]}],u=[{value:"ap-beijing"},{value:"ap-guangzhou"},{value:"ap-nanjing"},{value:"ap-shanghai"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/1003/48334",namespace:a,fieldDescriptor:s},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,OrderBy:{},OrderByType:{},InstanceIds:[],DbType:{}}};function d(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var f=["InstanceId","InstanceName"],m={instance:"InstanceId"},y={instanceid:"InstanceId",instanceId:"InstanceId"},h=["instanceId"];function g(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryDescriptor",(function(){return o})),n.d(t,"SCFInstanceAliasList",(function(){return s})),n.d(t,"SCFInvalidDemensions",(function(){return u})),n.d(t,"queryMonitorExtraConfg",(function(){return f})),n.d(t,"regionSupported",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"SCFGetInstanceQueryParams",(function(){return c})),n.d(t,"SCFDefaultDimensionList",(function(){return m}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"支持FunctionName模糊匹配",link:"",type:"input"},{key:"Namespace",enDescriptor:"Namespace",cnDescriptor:"云函数命名空间",link:"",type:"input"},{key:"Description",enDescriptor:"Description",cnDescriptor:"函数描述,支持模糊搜索",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"AddTime",value:"AddTime"},{text:"ModTime",value:"ModTime"},{text:"FunctionName",value:"FunctionName"}]},{key:"Order",enDescriptor:"Order Direction",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"ASC",value:"ASC"},{text:"DESC",value:"DESC"}]}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FunctionName",version:"",queries:{Offset:0,Limit:20,OrderBy:{},Order:{},SearchKey:"",Namespace:"",Description:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FunctionId","FunctionName"],u={functionName:"FunctionName",namespace:"Namespace",version:"Version"},l={instance:"FunctionName",version:"Version"},p=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={version:"version"},f={Version:{dim_KeyInStorage:d.version,dim_KeyInTarget:"version",dim_KeyInMap:l.version}};t.default=a;var m=["functionName","namespace","version"]},function(e,t,n){"use strict";n.r(t),n.d(t,"CLSFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CLSInstanceAliasList",(function(){return u})),n.d(t,"CLSInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"regionSupported",(function(){return y})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"CLSGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CLS",c="clsQuery",s={},u=["TopicId","TopicName"],l={instance:"TopicId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"topicName",enDescriptor:"topicName",cnDescriptor:"日志主题名称",link:"",type:"inputMulti"},{key:"topicId",enDescriptor:"topicId",cnDescriptor:"日志主题ID",link:"",type:"inputMulti"},{key:"logsetName",enDescriptor:"logsetName",cnDescriptor:"日志集名称",link:"",type:"inputMulti"},{key:"logsetId",enDescriptor:"logsetId",cnDescriptor:"日志集ID",link:"",type:"inputMulti"},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"},{key:"tag:tagKey",enDescriptor:"tag - tagKey",cnDescriptor:"标签键值对",link:"",type:"inputMulti"},{key:"storageType",enDescriptor:"storageType",cnDescriptor:"日志主题的存储类型",link:"",type:"select",list:[{text:"实时存储",value:"hot"},{text:"离线存储",value:"cold"}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/614/56454",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicId",uin:"",queries:{Limit:20,Offset:0,topicName:[],topicId:[],logsetName:[],logsetId:[],tagKey:[],"tag:tagKey":[],storageType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var y=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["uin","TopicId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"SQLSERVERNETFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"SQLSERVERInstanceAliasList",(function(){return u})),n.d(t,"SQLSERVERInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"SQLSERVERGetInstanceQueryParams",(function(){return h}));var r=n(5),i=n(0),o=n.n(i),a="QCE/SQLSERVER",c="sqlserverQuery",s={resourceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputNumber"},{key:"Status",enDescriptor:"Status",cnDescriptor:"实例状态",link:"",type:"select",list:[{text:"申请中",value:1},{text:"运行中",value:2},{text:"受限运行中 (主备切换中)",value:3},{text:"已隔离",value:4},{text:"回收中",value:5},{text:"已回收",value:6},{text:"任务执行中",value:7},{text:"已下线",value:8},{text:"实例扩容中",value:9},{text:"实例迁移中",value:10},{text:"只读",value:11},{text:"重启中",value:12}]},{key:"InstanceIdSet",enDescriptor:"InstanceIdSet",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"PayMode",enDescriptor:"PayMode",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"包年包月",value:1},{text:"按量计费",value:0}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"实例所属VPC的唯一字符串ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"实例所属子网的唯一字符串ID",link:"",type:"input"},{key:"VipSet",enDescriptor:"VipSet",cnDescriptor:"实例内网地址列表",link:"",type:"inputMulti"},{key:"InstanceNameSet",enDescriptor:"InstanceNameSet",cnDescriptor:"实例名称列表, 模糊查询",link:"",type:"inputMulti"},{key:"VersionSet",enDescriptor:"VersionSet",cnDescriptor:"实例版本代号列表",link:"",type:"inputMulti"},{key:"Zone",enDescriptor:"Zone",cnDescriptor:"实例可用区",link:"",type:"dropdown"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/238/19969",namespace:a,fieldDescriptor:p},f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-moscow"},{value:"na-siliconvalley"}],m={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:null,Status:{},InstanceIdSet:[],PayMode:{},VpcId:"",SubnetId:"",VipSet:[],InstanceNameSet:[],VersionSet:[],Zone:""}};function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["resourceId"]})),t}function h(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=m},function(e,t,n){"use strict";n.r(t),n.d(t,"BMINTRALBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMINTRALBInstanceAliasList",(function(){return u})),n.d(t,"BMINTRALBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"isValidMetric",(function(){return y})),n.d(t,"BMINTRALBGetInstanceQueryParams",(function(){return h}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_INTRA_LB",c="bmIntraLbQuery",s={vip:"LoadBalancerVips",vpcId:"VpcId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}},m=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function y(e){var t=o.a.map(m,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}function h(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMLBInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"isValidMetric",(function(){return h})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_LB",c="bmLbQuery",s={vip:"LoadBalancerVips"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var y=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function h(e){var t=o.a.map(y,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"BMPCXFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMPCXInstanceAliasList",(function(){return u})),n.d(t,"BMPCXInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"BMPCXGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_PCX",c="bmPcxQuery",s={peeringConnectionId:"VpcPeerConnectionId"},u=["VpcPeerConnectionId","VpcPeerConnectionName"],l={instance:"VpcPeerConnectionId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"VpcPeerConnectionIds",enDescriptor:"VpcPeerConnectionIds",cnDescriptor:"对等连接实例ID",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/product/1024/36903",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpcPeerConnectionId",queries:{Limit:20,Offset:0,VpcPeerConnectionIds:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["peeringConnectionId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CBSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"CBSInstanceAliasList",(function(){return s})),n.d(t,"CBSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"isValidMetric",(function(){return m})),n.d(t,"CBSGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n(5),o="QCE/BLOCK_STORAGE",a="cbsQuery",c={diskId:"DiskId",InstanceId:"InstanceId",diskname:"DiskName",unInstanceId:"InstanceId"},s=["DiskId","DiskName"],u={instance:"DiskId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DiskIds",enDescriptor:"DiskIds",cnDescriptor:"云硬盘ID",link:"",type:"inputMulti"},{key:"Order",enDescriptor:"Order",cnDescriptor:"排列顺序",link:"",type:"select",list:[{text:"升序排列",value:"ASC"},{text:"降序排列",value:"DESC"}]},{key:"OrderField",enDescriptor:"OrderField",cnDescriptor:"排序的依据字段",link:"",type:"select",list:[{text:"云盘的创建时间排序",value:"CREATE_TIME"},{text:"云盘的到期时间排序",value:"DEADLINE"}]},{key:"ReturnBindAutoSnapshotPolicy",enDescriptor:"ReturnBindAutoSnapshotPolicy",cnDescriptor:"否需要返回云盘绑定的定期快照策略ID",link:"",type:"switch"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/362/16315",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DiskId",queries:{Limit:20,Offset:0,DiskIds:[],OrderField:[],Order:[],ReturnBindAutoSnapshotPolicy:!1}};function f(e){return void 0===e&&(e={}),Object(i.d)(e,!1)}function m(e){void 0===e&&(e={});var t=r.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==r.indexOf(t,"diskId")}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNPROVINCEFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CDNPROVINCEInstanceAliasList",(function(){return c})),n.d(t,"CDNPROVINCEInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"CDNPROVINCEGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/CDN_LOG_DATA",o="cdnProvinceQuery",a={domain:"Domain",projectid:"ProjectId",province:"district",appid:"AppId"},c=["Domain","ProjectId"],s={instance:"Domain"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"origin",enDescriptor:"origin",cnDescriptor:"主源站",link:"",type:"inputMulti"},{key:"domain",enDescriptor:"domain",cnDescriptor:"域名",link:"",type:"inputMulti"},{key:"resourceId",enDescriptor:"resourceId",cnDescriptor:"域名id",link:"",type:"inputMulti"},{key:"status",enDescriptor:"status",cnDescriptor:"域名状态",link:"",type:"select",list:[{text:"online",value:"online"},{text:"offline",value:"offline"},{text:"processing",value:"processing"}]},{key:"serviceType",enDescriptor:"serviceType",cnDescriptor:"业务类型",link:"",type:"select",list:[{text:"web",value:"web"},{text:"download",value:"download"},{text:"media",value:"media"}]},{key:"projectId",enDescriptor:"projectId",cnDescriptor:"项目ID",link:"",type:"inputNumberMulti"},{key:"domainType",enDescriptor:"domainType",cnDescriptor:"主源站类型",link:"",type:"select",list:[{text:"自有源",value:"cname"},{text:"cos接入",value:"cos"}]},{key:"fullUrlCache",enDescriptor:"fullUrlCache",cnDescriptor:"全路径缓存",link:"",type:"select",list:[{text:"打开",value:"on"},{text:"关闭",value:"off"}]},{key:"https",enDescriptor:"https",cnDescriptor:"是否配置https",link:"",type:"select",list:[{text:"on",value:"on"},{text:"off",value:"off"},{text:"processing",value:"processing"}]},{key:"originPullProtocol",enDescriptor:"originPullProtocol",cnDescriptor:"回源协议类型",link:"",type:"select",list:[{text:"http",value:"http"},{text:"follow",value:"follow"},{text:"https",value:"https"}]},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"}],l={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"Domain",isp:"",district:"",queries:{Limit:20,Offset:0,origin:[],domain:[],resourceId:[],status:{},serviceType:{},projectId:[],domainType:{},fullUrlCache:{},https:{},originPullProtocol:{},tagKey:[]}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"CEIPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CEIPSUMMARYInstanceAliasList",(function(){return u})),n.d(t,"CEIPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"CEIPSUMMARYGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CEIP_SUMMARY",c="ceipSummaryQuery",s={vip:"AddressIp",eip:"AddressIp"},u=["AddressId","AddressName","AddressIp"],l={instance:"AddressId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"address-id",enDescriptor:"address-id",cnDescriptor:" EIP 的唯一 ID",link:"",type:"inputMulti"},{key:"address-name",enDescriptor:"address-name",cnDescriptor:"EIP 名称",link:"",type:"inputMulti"},{key:"address-ip",enDescriptor:"address-ip",cnDescriptor:"EIP 的 IP 地址",link:"",type:"inputMulti"},{key:"address-status",enDescriptor:"address-status",cnDescriptor:"EIP 的状态",link:"",type:"select",multiple:!0,list:[{text:"CREATING",value:"CREATING"},{text:"BINDING",value:"BINDING"},{text:"BIND",value:"BIND"},{text:"UNBINDING",value:"UNBINDING"},{text:"UNBIND",value:"UNBIND"},{text:"OFFLINING",value:"OFFLINING"},{text:"BIND_ENI",value:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"EIP 绑定的实例 ID",link:"",type:"inputMulti"},{key:"private-ip-address",enDescriptor:"private-ip-address",cnDescriptor:"EIP 绑定的内网 IP ",link:"",type:"inputMulti"},{key:"network-interface-id",enDescriptor:"network-interface-id",cnDescriptor:" EIP 绑定的弹性网卡 ID",link:"",type:"inputMulti"},{key:"is-arrears",enDescriptor:"is-arrears",cnDescriptor:"EIP 是否欠费",link:"",type:"select",multiple:!0,list:[{text:"欠费状态",value:"TRUE"},{text:"费用状态正常",value:"FALSE"}]},{key:"address-isp",enDescriptor:"address-isp",cnDescriptor:"运营商类型",link:"",type:"select",multiple:!0,list:[{text:"BGP",value:"BGP"},{text:"CMCC",value:"CMCC"},{text:"CUCC",value:"CUCC"},{text:"CTCC",value:"CTCC"}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/215/16702",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",queries:{Limit:20,Offset:0,"address-id":[],"address-name":[],"address-ip":[],"address-status":{},"is-arrears":{},"address-isp":{},"instance-id":[],"private-ip-address":[],"network-interface-id":[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["eip"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return p})),n.d(t,"GetInstanceQueryParams",(function(){return a})),n.d(t,"queryMonitorExtraConfg",(function(){return l})),n.d(t,"keyInStorage",(function(){return u}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"TopicName",enDescriptor:"TopicName",cnDescriptor:"精确匹配TopicName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={topicId:"TopicId"},s={instance:"TopicName",subscription:"SubscriptionId"},u={subscriptionId:"subscriptionId"},l={subscriptionId:{dim_KeyInStorage:u.subscriptionId,dim_KeyInTarget:"subscriptionId",dim_KeyInMap:s.subscription}},p=["TopicName","TopicId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicName",subscriptionId:"",queries:{Offset:0,Limit:20,TopicName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CPMInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"CPMGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CPM",c="cpmQuery",s={instanceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DeviceClassCode",enDescriptor:"DeviceClassCode",cnDescriptor:"机型ID",link:"",type:"dropdown"},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"设备ID数组",link:"",type:"inputMulti"},{key:"WanIps",enDescriptor:"WanIps",cnDescriptor:"外网IP数组",link:"",type:"inputMulti"},{key:"LanIps",enDescriptor:"LanIps",cnDescriptor:"内网IP数组",link:"",type:"inputMulti"},{key:"Alias",enDescriptor:"Alias",cnDescriptor:"设备名称",link:"",type:"input"},{key:"VagueIp",enDescriptor:"VagueIp",cnDescriptor:"模糊IP查询",link:"",type:"input"},{key:"AutoRenewFlag",enDescriptor:"AutoRenewFlag",cnDescriptor:"自动续费标志",link:"",type:"select",list:[{text:"不自动续费",value:0},{text:"自动续费",value:1}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络唯一ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网唯一ID",link:"",type:"input"},{key:"DeviceType",enDescriptor:"DeviceType",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"计算型",value:"compute"},{text:"标准型",value:"standard"},{text:"存储型",value:"storage"}]},{key:"IsLuckyDevice",enDescriptor:"IsLuckyDevice",cnDescriptor:"竞价实例机器过滤",link:"",type:"select",list:[{text:"非竞价实例机器",value:0},{text:"竞价实例的机器",value:1}]}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/386/32904",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,DeviceClassCode:"",InstanceIds:[],WanIps:[],LanIps:[],Alias:"",VagueIp:"",AutoRenewFlag:{},VpcId:"",SubnetId:"",DeviceType:{},IsLuckyDevice:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["instanceId"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"ECDNFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"ECDNInstanceAliasList",(function(){return c})),n.d(t,"ECDNInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECDNGetInstanceQueryParams",(function(){return f}));var r=n(0),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o.push({Name:t,Value:Object(r.uniq)(e).slice(0,5)}):Object(r.isObject)(e)&&(Object(r.isEmpty)(Object(r.get)(e,"value",[]))||o.push({Name:t,Value:[Object(r.get)(e,"value",[])].slice(0,5)}))})),o.length>0)return t.Filters=o.map((function(e){return"domain"===e.Name?i(i({},e),{Fuzzy:!0}):e})),t}return t}function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=["domain","projectid"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"ECMFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"ECMInstanceAliasList",(function(){return s})),n.d(t,"ECMInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECMGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n(5),o="QCE/ECM",a="ecmQuery",c={uuid:"UUID"},s=["InstanceId","InstanceName"],u={instance:"InstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"zone",enDescriptor:"zone",cnDescriptor:"可用区英文标识",link:"",type:"dropdownMulti"},{key:"zone-name",enDescriptor:"zone-name",cnDescriptor:"排列顺序",link:"",type:"inputMulti"},{key:"module-id",enDescriptor:"module-id",cnDescriptor:"模块ID",link:"",type:"inputMulti"},{key:"module-name",enDescriptor:"module-name",cnDescriptor:"模块名称",link:"",type:"inputMulti"},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"instance-name",enDescriptor:"instance-name",cnDescriptor:"实例名称",link:"",type:"inputMulti"},{key:"ip-address",enDescriptor:"ip-address",cnDescriptor:"内网/公网IP",link:"",type:"inputMulti"},{key:"instance-uuid",enDescriptor:"instance-uuid",cnDescriptor:"实例uuid",link:"",type:"inputMulti"},{key:"instance-state",enDescriptor:"instance-state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"创建中",value:"PENDING"},{text:"创建失败",value:"LAUNCH_FAILED"},{text:"运行中",value:"RUNNING"},{text:"关机",value:"STOPPED"},{text:"开机中",value:"STARTING"},{text:"关机中",value:"STOPPING"},{text:"重启中",value:"REBOOTING"},{text:"停止待销毁",value:"SHUTDOWN"},{text:"销毁中",value:"TERMINATING"}]},{key:"internet-service-provider",enDescriptor:"internet-service-provider",cnDescriptor:"公网IP所属的运营商",link:"",type:"inputMulti"},{key:"instance-family",enDescriptor:"instance-family",cnDescriptor:"机型family",link:"",type:"inputMulti"},{key:"image-id",enDescriptor:"image-id",cnDescriptor:"镜像ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"实例的vpc id",link:"",type:"inputMulti"},{key:"subnet-id",enDescriptor:"subnet-id",cnDescriptor:"实例的subnet id",link:"",type:"inputMulti"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/1108/42565",namespace:o,fieldDescriptor:l},d={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,zone:[],"zone-name":[],"module-id":[],"module-name":[],"instance-id":[],"instance-name":[],"ip-address":[],"instance-uuid":[],"instance-state":{},"internet-service-provider":[],"instance-family":[],"image-id":[],"vpc-id":[],"subnet-id":[]}};function f(e){return void 0===e&&(e={}),Object(i.d)(e,!0)}function m(e){var t=r.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["UUID"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"PostgresFieldsDescriptor",(function(){return u})),n.d(t,"POSTGRESInstanceAliasList",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return h})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"PostgreInvalidDemensions",(function(){return y})),n.d(t,"POSTGRESGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function l(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 2===t.length&&(-1!==i.a.indexOf(t,"instanceid")&&-1!==i.a.indexOf(t,"insttype")||-1!==i.a.indexOf(t,"InstanceId")&&-1!==i.a.indexOf(t,"InstanceType"))}function p(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return d[e]||e}))})),t}var d={instanceid:"InstanceId",insttype:"InstanceType",region:"Region"},f={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CESFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CESInstanceAliasList",(function(){return c})),n.d(t,"CESInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"CESGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/CES",o="cesQuery",a={uInstanceId:"InstanceId"},c=["InstanceId","InstanceName"],s={instance:"InstanceId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"集群实例ID列表",link:"",type:"inputMulti"},{key:"InstanceNames",enDescriptor:"InstanceNames",cnDescriptor:"集群实例名称列表",link:"",type:"inputMulti"},{key:"OrderByKey",enDescriptor:"OrderByKey",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"实例ID",value:1},{text:"实例名称",value:2},{text:"可用区",value:3},{text:"创建时间",value:4}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]},{key:"IpList",enDescriptor:"IpList",cnDescriptor:"私有网络vip列表",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/845/30631",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,InstanceIds:[],InstanceNames:[],OrderByKey:{},OrderByType:{},IpList:[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"DCInstanceAliasList",(function(){return d})),n.d(t,"DCInvalidDemensions",(function(){return m})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return u})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"DCGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=n(5),a="QCE/DC",c="dcQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DirectConnectIds",enDescriptor:"DirectConnectIds",cnDescriptor:"物理专线 ID",link:"",type:"inputMulti"}],u={instanceDocUrl:"https://cloud.tencent.com/document/api/216/34826",namespace:a,fieldDescriptor:s},l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectId",queries:{Limit:20,Offset:0,DirectConnectIds:[]}};function p(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var d=["DirectConnectId","DirectConnectName"],f={instance:"DirectConnectId"},m={directConnectId:"DirectConnectId",directconnectid:"DirectConnectId"};function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["directConnectId"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"DCGFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"DCGInstanceAliasList",(function(){return c})),n.d(t,"DCGInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"DCGGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/DCG",o="dcgQuery",a={directConnectGatewayId:"DirectConnectGatewayId"},c=["DirectConnectGatewayId","DirectConnectGatewayName"],s={instance:"DirectConnectGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"direct-connect-gateway-id",enDescriptor:"direct-connect-gateway-id",cnDescriptor:"专线网关唯一ID",link:"",type:"inputMulti"},{key:"direct-connect-gateway-name",enDescriptor:"direct-connect-gateway-name",cnDescriptor:"专线网关名称",link:"",type:"inputMulti"},{key:"direct-connect-gateway-ip",enDescriptor:"direct-connect-gateway-ip",cnDescriptor:"专线网关IP",link:"",type:"inputMulti"},{key:"gateway-type",enDescriptor:"gateway-type",cnDescriptor:"网关类型",link:"",type:"select",multiple:!0,list:[{text:"普通型",value:"NORMAL"},{text:"NAT型",value:"NAT"}]},{key:"network-type",enDescriptor:"network-type",cnDescriptor:"网络类型",link:"",type:"select",multiple:!0,list:[{text:"私有网络类型",value:"VPC"},{text:"云联网类型",value:"CCN"}]},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"专线网关所在云联网ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"专线网关所在私有网络ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/30644",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectGatewayId",queries:{Limit:20,Offset:0,"direct-connect-gateway-id":[],"direct-connect-gateway-name":[],"direct-connect-gateway-ip":[],"gateway-type":{},"network-type":{},"ccn-id":[],"vpc-id":[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"DCXInstanceAliasList",(function(){return f})),n.d(t,"DCXInvalidDemensions",(function(){return y})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"DCXGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var u=["InstanceId","InstanceName"],l={target:"InstanceId"},p={instance:"InstanceId",replica:"ReplicaSetId"},d={Replica:{dim_KeyInStorage:"ReplicaSets",dim_KeyInTarget:"replica",dim_KeyInMap:"ReplicaSetId",dim_KeyInIns:"ReplicaSetId"},Node:{dim_KeyInStorage:"ReplicaNodeSets",dim_KeyInTarget:"node",dim_KeyInMap:"NodeId",dim_KeyInIns:"NodeId"}};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"QAAPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"QAAPInstanceAliasList",(function(){return u})),n.d(t,"QAAPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return d})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"QAAPGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/QAAP",c="qaapQuery",s={channelId:"InstanceId"},u=["InstanceId"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputMulti"},{key:"AccessRegion",enDescriptor:"AccessRegion",cnDescriptor:"接入地域",link:"",type:"inputMulti"},{key:"RealServerRegion",enDescriptor:"RealServerRegion",cnDescriptor:"源站地域",link:"",type:"inputMulti"},{key:"GroupId",enDescriptor:"GroupId",cnDescriptor:"通道组ID",link:"",type:"inputMulti"}],d={instanceDocUrl:"https://cloud.tencent.com/document/api/608/36963",namespace:a,fieldDescriptor:p},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:[],AccessRegion:[],RealServerRegion:[],GroupId:[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function y(e){return i.a.cloneDeep(e)}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"TCAPLUSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TCAPLUSInstanceAliasList",(function(){return s})),n.d(t,"TCAPLUSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regonsMap",(function(){return m})),n.d(t,"TCAPLUSGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o="QCE/TCAPLUS",a="tcaplusQuery",c={},s=["TableInstanceId","TableName"],u={instance:"TableInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ClusterId",enDescriptor:"ClusterId",cnDescriptor:"表格所属集群ID",link:"",type:"input"},{key:"TableGroupIds",enDescriptor:"TableGroupIds",cnDescriptor:"表格组ID列表",link:"",type:"inputMulti"},{key:"TableName",enDescriptor:"TableName",cnDescriptor:"表格名称",link:"",type:"input"},{key:"TableInstanceId",enDescriptor:"TableInstanceId",cnDescriptor:"表实例ID",link:"",type:"input"},{key:"TableIdlType",enDescriptor:"TableIdlType",cnDescriptor:"表格描述语言类型",link:"",type:"select",list:[{text:"PROTO",value:"PROTO"},{text:"TDR",value:"TDR"}]},{key:"TableType",enDescriptor:"TableType",cnDescriptor:"表格数据结构类型",link:"",type:"select",list:[{text:"GENERIC",value:"GENERIC"},{text:"LIST",value:"LIST"}]},{key:"ListElementNum",enDescriptor:"ListElementNum",cnDescriptor:"LIST表元素个数",link:"",type:"inputNumber"},{key:"ReservedVolume",enDescriptor:"ReservedVolume",cnDescriptor:"表格预留容量(GB)",link:"",type:"inputNumber"},{key:"ReservedReadQps",enDescriptor:"ReservedReadQps",cnDescriptor:"表格预留读CU",link:"",type:"inputNumber"},{key:"ReservedWriteQps",enDescriptor:"ReservedWriteQps",cnDescriptor:"表格预留写CU",link:"",type:"inputNumber"},{key:"Memo",enDescriptor:"Memo",cnDescriptor:"表格备注信息",link:"",type:"input"},{key:"FileName",enDescriptor:"FileName",cnDescriptor:"Key回档文件名,回档专用",link:"",type:"input"},{key:"FileExtType",enDescriptor:"FileExtType",cnDescriptor:"Key回档文件扩展名,回档专用",link:"",type:"input"},{key:"FileSize",enDescriptor:"FileSize",cnDescriptor:"Key回档文件大小,回档专用",link:"",type:"inputNumber"},{key:"FileContent",enDescriptor:"FileContent",cnDescriptor:"Key回档文件内容,回档专用",link:"",type:"input"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/596/39664",namespace:o,fieldDescriptor:l},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TableInstanceId",queries:{Limit:20,Offset:0,ClusterId:"",TableGroupIds:[],TableName:"",TableInstanceId:"",TableIdlType:{},TableType:{},ListElementNum:null,ReservedVolume:null,ReservedReadQps:null,ReservedWriteQps:null,Memo:"",FileName:"",FileExtType:"",FileSize:null,FileContent:""}};function f(e){void 0===e&&(e={});var t={};t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,t.ClusterId=i.a.get(e,"ClusterId","")||"",t.TableGroupIds=i.a.get(e,"TableGroupIds",[])||[],e=i.a.omit(e,["Offset","Limit","TableGroupIds","ClusterId"]);var n=[];return i.a.forEach(e,(function(e,t){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(n[t]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(n[t]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(n[t]=e)})),t.SelectedTables=n,t}var m={"ap-beijing":"华北地区(北京)","ap-guangzhou":"华南地区(广州)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-shanghai":"华东地区(上海)","ap-singapore":"亚太东南(新加坡)","ap-tokyo":"亚太东北(东京)","eu-frankfurt":"欧洲地区(法兰克福)","na-ashburn":"美国东部(弗吉尼亚)","na-siliconvalley":"美国西部(硅谷)"};t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VBCInstanceAliasList",(function(){return c})),n.d(t,"VBCInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VBCGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VBC",o="vbcQuery",a={},c=["CcnId","CcnName"],s={instance:"CcnId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"CCN实例ID",link:"",type:"inputMulti"},{key:"ccn-name",enDescriptor:"ccn-name",cnDescriptor:"CCN名称",link:"",type:"inputMulti"},{key:"ccn-description",enDescriptor:"ccn-description",cnDescriptor:"CCN描述",link:"",type:"inputMulti"},{key:"state",enDescriptor:"state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"隔离中",value:"ISOLATED"},{text:"运行中",value:"AVAILABLE"}]}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/19199",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"CcnId",DRegion:"",SRegion:"",queries:{Limit:20,Offset:0,"ccn-id":[],"ccn-name":[],"ccn-description":[],state:{}}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNGWFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNGWInstanceAliasList",(function(){return c})),n.d(t,"VPNGWInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNGWGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VPNGW",o="vpngwQuery",a={vpnGwId:"VpnGatewayId"},c=["VpnGatewayId","VpnGatewayName"],s={instance:"VpnGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-name",enDescriptor:"vpn-gateway-name",cnDescriptor:"VPN实例名称",link:"",type:"inputMulti"},{key:"type",enDescriptor:"type",cnDescriptor:"VPN网关类型",link:"",type:"select",multiple:!0,list:[{text:"IPSEC",value:"IPSEC"},{text:"SSL",value:"SSL"}]},{key:"public-ip-address",enDescriptor:"public-ip-address",cnDescriptor:"公网IP",link:"",type:"inputMulti"},{key:"renew-flag",enDescriptor:"renew-flag",cnDescriptor:"网关续费类型",link:"",type:"select",multiple:!0,list:[{text:"手动续费",value:"NOTIFY_AND_MANUAL_RENEW"},{text:"自动续费",value:"NOTIFY_AND_AUTO_RENEW"}]},{key:"zone",enDescriptor:"zone",cnDescriptor:"VPN所在可用区",link:"",type:"dropdownMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17514",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnGatewayId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"vpn-gateway-name":[],type:{},"public-ip-address":[],"renew-flag":{},zone:[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNXInstanceAliasList",(function(){return c})),n.d(t,"VPNXInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNXGetInstanceQueryParams",(function(){return d}));var r=n(5),i="QCE/VPNX",o="vpnxQuery",a={vpnConnId:"VpnConnectionId"},c=["VpnConnectionId","VpnConnectionName"],s={instance:"VpnConnectionId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"customer-gateway-id ",enDescriptor:"customer-gateway-id ",cnDescriptor:"对端网关实例ID",link:"",type:"inputMulti"},{key:"vpn-connection-name",enDescriptor:"vpn-connection-name",cnDescriptor:"通道名称",link:"",type:"inputMulti"},{key:"vpn-connection-id",enDescriptor:"vpn-connection-id",cnDescriptor:"通道实例ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17515",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnConnectionId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"customer-gateway-id":[],"vpn-connection-name":[],"vpn-connection-id":[]}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseFilterFieldsDescriptor",(function(){return a})),n.d(t,"LIGHTHOUSEInstanceAliasList",(function(){return u})),n.d(t,"LighthouseInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"modifyDimensons",(function(){return d})),n.d(t,"LIGHTHOUSEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l={instanceid:"InstanceId"},p={instance:"InstanceId"};function d(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CFSQueryDescriptor",(function(){return o})),n.d(t,"CFSInstanceAliasList",(function(){return s})),n.d(t,"CFSInvalidDemensions",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"regionSupported",(function(){return l})),n.d(t,"CFSGetInstanceQueryParams",(function(){return c}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"FileSystemId",enDescriptor:"File System Id",cnDescriptor:"文件系统 ID",link:"",type:"input"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络(VPC) ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网 ID",link:"",type:"input"}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FileSystemId",version:"",queries:{Offset:0,Limit:20,FileSystemId:"",VpcId:"",SubnetId:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FileSystemId","FsName"],u={},l=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],p={instance:"InstanceId"};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return u})),n.d(t,"GetInstanceQueryParams",(function(){return a}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"QueueName",enDescriptor:"QueueName",cnDescriptor:"精确匹配QueueName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={queueId:"QueueId",queueName:"QueueName"},s={instance:"QueueName"},u=["QueueName","QueueId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"QueueName",queries:{Offset:0,Limit:20,QueueName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMFilterFieldsDescriptor",(function(){return a})),n.d(t,"CVMInstanceAliasList",(function(){return u})),n.d(t,"isValidMetric",(function(){return d})),n.d(t,"modifyDimensons",(function(){return f})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CVMGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l=["CPUUsage","CpuLoadavg","Cpuloadavg5m","Cpuloadavg15m","BaseCpuUsage","GpuMemTotal","GpuMemUsage","GpuMemUsed","GpuPowDraw","GpuPowLimit","GpuPowUsage","GpuTemp","GpuUtil","LanOuttraffic","LanIntraffic","LanOutpkg","LanInpkg","WanOuttraffic","WanIntraffic","WanOutpkg","WanInpkg","AccOuttraffic","TcpCurrEstab","TimeOffset","MemUsed","MemUsage","CvmDiskUsage","BaseCpuUsage","VmDiskReadIops"],p={instance:"InstanceId"};function d(e){var t=i.a.map(l,i.a.toUpper);return-1!==i.a.indexOf(t,i.a.toUpper(e.MetricName))}function f(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXInstanceAliasList",(function(){return u})),n.d(t,"PCXFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"namespace",(function(){return a})),n.d(t,"PCXGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisFieldsDescriptor",(function(){return a})),n.d(t,"RedisInvalidDemensions",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"REDISInstanceAliasList",(function(){return l})),n.d(t,"isValidMetric",(function(){return u})),n.d(t,"REDISGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function u(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==i.a.indexOf(t,"instanceid")}var l=["InstanceId","InstanceName","WanIp"],p={redis_uuid:"InstanceId",instanceid:"InstanceId"},d={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFInvalidDemensions",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TSFInstanceAliasList",(function(){return c})),n.d(t,"TSFFieldsDescriptor",(function(){return i})),n.d(t,"TSFGetInstanceQueryParams",(function(){return a}));var r=n(5),i=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchWord",enDescriptor:"SearchWord",cnDescriptor:"搜索关键字",link:"",type:"input"},{key:"ApplicationIdList",enDescriptor:"ApplicationIdList",cnDescriptor:"应用ID 组成的数组",link:"",type:"inputmulti"},{key:"ApplicationType",enDescriptor:"ApplicationType",cnDescriptor:"应用类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"容器应用",value:"C"},{text:"普通应用/虚拟机应用",value:"V"}]},{key:"MicroserviceType",enDescriptor:"MicroserviceType",cnDescriptor:"应用的微服务类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"普通应用",value:"N"},{text:"Mesh应用",value:"M"},{text:"微服务网关应用",value:"G"},{text:"原生应用",value:"NATIVE"}]},{key:"ApplicationResourceTypeList",enDescriptor:"ApplicationResourceTypeList",cnDescriptor:"应用资源类型数组",link:"",type:"select",multiple:!0,list:[{text:"默认资源类型",value:"DEF"},{text:"微服务网关资源",value:"GW"}]}],o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ApplicationId",queries:{Limit:20,Offset:0,SearchWord:"",OrderBy:"",OrderType:null,ApplicationType:"",MicroserviceType:"",ApplicationResourceTypeList:[],ApplicationIdList:[]}};function a(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var c=["ApplicationId","ApplicationName"],s={applicationid:"ApplicationId"},u={instance:"ApplicationId"};t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BWPInstanceAliasList",(function(){return u})),n.d(t,"BWPInvalidDemensions",(function(){return p})),n.d(t,"BWPGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.BandwidthPackageIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["BandwidthPackageId","BandwidthPackageName"],l={instance:"BandwidthPackageId"},p={bandwidthPackageId:"BandwidthPackageId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CDNInstanceAliasList",(function(){return u})),n.d(t,"CDNInvalidDemensions",(function(){return l})),n.d(t,"CDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ProjectId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"LBFilterDescriptor",(function(){return a})),n.d(t,"LBInstanceAliasList",(function(){return u})),n.d(t,"LBInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"LBGetInstanceQueryParams",(function(){return s}));var r,i=n(0),o=n.n(i),a=[{key:"address-id",enDescriptor:"Address ID",cnDescriptor:"EIP 的唯一 ID ",link:"",type:"inputmulti"},{key:"address-name",enDescriptor:"Address Name",cnDescriptor:"EIP 名称 ",link:"",type:"inputmulti"},{key:"address-ip",enDescriptor:"Address IP",cnDescriptor:"EIP 的 IP 地址 ",link:"",type:"inputmulti"},{key:"address-status",enDescriptor:"Address Status",cnDescriptor:"EIP 的状态",link:"",type:"select",list:[{value:"CREATING",text:"CREATING"},{value:"BINDING",text:"BINDING"},{value:"BIND",text:"BIND"},{value:"UNBINDING",text:"UNBINDING"},{value:"UNBIND",text:"UNBIND"},{value:"OFFLINING",text:"OFFLINING"},{value:"BIND_ENI",text:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"Instance ID",cnDescriptor:"实例ID ",link:"",type:"inputmulti"},{key:"private-ip-address",enDescriptor:"Private IP Address",cnDescriptor:"EIP 绑定的内网 IP",link:"",type:"inputmulti"},{key:"network-interface-id",enDescriptor:"Network Interface ID",cnDescriptor:"EIP 绑定的弹性网卡 ID",link:"",type:"inputmulti"},{key:"is-arrears",enDescriptor:"Arrears",cnDescriptor:"EIP 是否欠费 ",link:"",type:"select",list:[{text:"正常",value:"FALSE"},{text:"欠费",value:"TRUE"}]}],c={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",version:"",queries:(r={Offset:0,Limit:20},r.AddressIds=[""],r.Filters={"address-id":[],"address-name":[],"address-ip":[],"address-status ":[],"instance-id ":[],"private-ip-address":[],"network-interface-id ":[],"is-arrears ":[]},r)};function s(e){void 0===e&&(e={});var t={};if(!o.a.isEmpty(e))if(t.Limit=o.a.get(e,"Limit",20)||20,t.Offset=o.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(o.a.isArray(e.AddressIds)){var n=o.a.compact(e.AddressIds);o.a.uniq(n).length>0&&(t.AddressIds=o.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];o.a.forEach(e.Filters,(function(e,t){r.length>9||(o.a.isArray(e)?(e=o.a.compact(e)).length>0&&r.push({Name:t,Values:o.a.uniq(e).slice(0,5)}):o.a.isObject(e)&&(o.a.isEmpty(o.a.get(e,"value",[]))||r.push({Name:t,Values:o.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["AddressId","AddressName","AddressIp"],l={eip:"AddressIp"},p={instance:"AddressId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"NATGatewayFilterFieldsDescriptor",(function(){return c})),n.d(t,"NATGATEWAYInstanceAliasList",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"NATInvalidDemensions",(function(){return p})),n.d(t,"NATGATEWAYGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var l={instance:"NatGatewayId"},p={natId:"NatGatewayId"};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"OVCDNInstanceAliasList",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"OVCDNInvalidDemensions",(function(){return l})),n.d(t,"OVCDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ResourceId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},,function(e,t){e.exports=i},,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"TKEFilterFieldsDescriptor",(function(){return a})),n.d(t,"TKEInstanceAliasList",(function(){return c})),n.d(t,"TKEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",conditions:[],groupBys:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIds:[""],Filters:{ClusterName:[],ClusterType:[],ClusterStatus:[],"tag-key":[]}}},a=[{key:"ClusterName",enDescriptor:"Cluster Name",cnDescriptor:"集群名",link:"",type:"input"},{key:"ClusterType",enDescriptor:"Cluster Type",cnDescriptor:"集群类型",link:"",type:"inputmulti"},{key:"ClusterStatus",enDescriptor:"Cluster Status",cnDescriptor:"集群状态",link:"",type:"inputmulti"},{key:"Tags",enDescriptor:"Tags",cnDescriptor:"标签键值对",link:"",type:"inputmulti"},{key:"vpc-id",enDescriptor:"VPC",cnDescriptor:"VPC",link:"",type:"input"},{key:"tag-key",enDescriptor:"Tag Key",cnDescriptor:"标签键",link:"",type:"inputmulti"},{key:"tag-value",enDescriptor:"Tag Value",cnDescriptor:"标签值",link:"",type:"inputmulti"}],c=["ClusterId","ClusterName"];function s(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.InstanceIds)){var n=i.a.compact(e.InstanceIds);i.a.uniq(n).length>0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}t.default=o},function(e,t,n){"use strict";n.r(t);var r,i=n(23),o=n(3),a=n(2),c=n(5),s=n(9),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},d=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?w.map((function(e){return{TopicId:e.TopicId,TopicName:e.TopicName}})):I,PartitionList:C.length>0?C:D}]}}))}))},t.prototype.formatTopicVarDisplay=function(e,t,n){var r=this;return t?t.replace(/\$\{(\w+)\}/g,(function(t,n){return n&&r.TopicAliasList.includes(n)?r.getAliasValue(e,n):""})):this.getAliasValue(e,n)},t.prototype.fetchMetricData=function(e,t,n,r){return d(this,void 0,void 0,(function(){var i,o,a,c,s,p,d,m,y,h=this;return f(this,(function(f){switch(f.label){case 0:return i=r.topicalias,o=r.groupname,a=r.topicid,[4,this.getConsumerGroups(t,{InstanceId:n.InstanceId,groupname:o,topicid:a})];case 1:return c=f.sent(),s=r.display,p=c.TopicList,d=c.GroupList,m=c.PartitionList,i=this.TopicAliasList.includes(i)?i:this.templateQueryIdMap.topicId,y={GroupList:d.map((function(e){return e._InstanceAliasValue=e.GroupName,{text:e.GroupName,value:e[u.templateQueryIdMap.groupName]}})),TopicList:p.map((function(e){var t=h.formatTopicVarDisplay(e,s,i);return e._InstanceAliasValue=t||e[u.templateQueryIdMap.topicId],{text:t||e[u.templateQueryIdMap.topicId],value:e[u.templateQueryIdMap.topicId],TopicName:e.TopicName}})),PartitionList:m.map((function(e){return e._InstanceAliasValue=e[u.templateQueryIdMap.partition],{text:e[u.templateQueryIdMap.partition],value:e[u.templateQueryIdMap.partition]}}))},[4,l.a.setExtraStorage(this.service,this.keyInStorage.TopicList,p)];case 2:return f.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.GroupList,d)];case 3:return f.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.PartitionList,m)];case 4:switch(f.sent(),e){case"DescribeTopicList":return[2,y.TopicList];case"DescribeGroup":return[2,y.GroupList];case"DescribePartion":return[2,y.PartitionList];default:return[2,[]]}return[2]}}))}))},t}(s.BaseDatasource);t.default=m},function(e,t,n){"use strict";n.r(t);var r,i=n(12),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(5),l=n(9),p=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(){return(d=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i)return r;var o=Object(s.k)(i,50),a=[];return c.a.forEach(o,(function(t){a.push(n.getInstances(e,t))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){r=c.a.concat(r,e)})),r})).catch((function(e){return r}))}))},t.prototype.getVpcId=function(e,t){void 0===t&&(t={}),(t=l({Offset:0,Limit:20},t)).Offset=String(t.Offset),t.Limit=String(t.Limit);var n=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+n.path,data:t},n.service,{region:e,action:"DescribeVpcs"}).then((function(e){return c.a.map(e.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}))}))},t.prototype.getVpcIds=function(e){var t=this,n=[],r={Offset:0,Limit:100};r.Offset=String(r.Offset),r.Limit=String(r.Limit);var i=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+i.path,data:r},i.service,{region:e,action:"DescribeVpcs"}).then((function(r){n=c.a.map(r.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}));var i=r.TotalCount||0;if(n.length>=i)return n;var o=Object(s.k)(i,100),a=[];return c.a.forEach(o,(function(n){a.push(t.getVpcId(e,n))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){n=c.a.concat(n,e)})),n})).catch((function(e){return n}))}))},t.prototype.doRequestV2=function(e,t,n){return void 0===n&&(n={}),p(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,Object(s.d)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return c.a.get(e,"data",{})})).catch((function(e){throw e}))]}}))}))},t}(o.BaseDatasource);t.default=f},function(e,t,n){"use strict";n.r(t);var r,i=n(41),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace=i.namespace,o.InstanceAliasList=i.POSTGRESInstanceAliasList,o.InvalidDimensions=i.PostgreInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"postgres",action:"DescribeDBInstances",responseField:"DBInstanceSet"},o.MetricReqConfig={resultFilter:i.modifyDimensons},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(0),o=n(51),a=n(3),c=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"_".concat(r.timeshift):"";return{target:"".concat(e.MetricName," - ").concat(o).concat(a),datapoints:Object(i.map)(t.Values,(function(e){return[e.Value,1e3*e.Timestamp+d]}))}}))})))}))},t}(c.BaseDatasource);t.default=p},function(e,t,n){"use strict";n.r(t);var r,i=n(62),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace="QCE/TSF",o.InstanceAliasList=i.TSFInstanceAliasList,o.InvalidDimensions=i.TSFInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"tsf",action:"DescribeApplications",responseField:"Content"},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(25),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},d=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,l)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(31);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(32);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(33);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPQueryCtrl",(function(){return a})),n.d(t,"bwpQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(63),a=function(){function e(e,t){e.init=function(){e.BWPFilterFieldsDescriptor=o.BWPFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("bwpQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(34);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDBQueryCtrl",(function(){return a})),n.d(t,"cdbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(44),a=function(){function e(e,t){e.init=function(){e.CDBFieldsDescriptor=o.CDBFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"ZoneIds":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cdb",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNQueryCtrl",(function(){return a})),n.d(t,"cdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(64),a=function(){function e(e,t){e.init=function(){e.CDNFilterFieldsDescriptor=o.CDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return l})),n.d(t,"sQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(35),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,p)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(36);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(45);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(57),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cfsQuery",u)},function(e,t,n){"use strict";n.r(t),n.d(t,"CKAFKAQueryCtrl",(function(){return l})),n.d(t,"scfQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(11),a=n(5),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题,消费分组,分区 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"=",instance:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("ckafkaQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(0),a=n(12),c=n(2),s=n(5),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\x3c!--Listener维度部分--\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n');function f(){return{template:d,controller:p,restrict:"E",scope:{target:"=",namespace:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("clbQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return a})),n.d(t,"sQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(29),a=function(){function e(e,t){e.init=function(){e.GSEFilterFieldsDescriptor=o.CLSFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n \n
\n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(58);Object(r.default)("cmqQuery",{fieldDescriptor:i.InstanceQueryDescriptor,instanceDocUrl:"https://cloud.tencent.com/document/api/406/42624",namespace:"QCE/CMQ"})},function(e,t,n){"use strict";n.r(t),n.d(t,"CmqTopicQueryCtrl",(function(){return u})),n.d(t,"scfQuery",(function(){return l}));var r=n(6),i=n.n(r),o=n(37),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("cmqTopicQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceAliasList",(function(){return a})),n.d(t,"GetInstanceQueryParams",(function(){return o}));var r=n(0),i=n.n(r);function o(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var a=["BucketName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"BucketName",queries:{}}},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(38);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMQueryCtrl",(function(){return a})),n.d(t,"cvmQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(59),a=function(){function e(e,t){e.init=function(){e.CVMFilterFieldsDescriptor=o.CVMFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cvmQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(27);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(46);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(16),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(47);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(48);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(39);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(40);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return s})),n.d(t,"sQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(21),a=n(2),c=[{label:"diskId",field:"diskId"}],s=function(){function e(e,t){e.init=function(){e.ECMBLOCKSTORAGEFilterFieldsDescriptor=o.ECMBLOCKSTORAGEFilterFieldsDescriptor,e.ExtraFields=c,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n,r;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})||t.label in(null!==(r=e.dims)&&void 0!==r?r:{})}))},e.getExtraDropdown=function(t,n){var r=t.instance,i=Object(a.f)(e.namespace);r=e.datasource.getServiceFn(i,"getVariable")(r);try{return(r=JSON.parse(r)).DataDisks.map((function(e){return e._InstanceAliasValue=e[o.templateQueryIdMap.diskId],{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}catch(t){var c={InstanceId:r};return e.datasource.getServiceFn(i,"getDiskList")({payload:c}).map((function(e){return{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(49);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(15),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t),n.d(t,"LBQueryCtrl",(function(){return a})),n.d(t,"lbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(65),a=function(){function e(e,t){e.init=function(){e.LBFilterDescriptor=o.LBFilterDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\x3c!--Filters部分--\x3e\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseQueryCtrl",(function(){return a})),n.d(t,"lighthouseQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(56),a=function(){function e(e,t){e.init=function(){e.LighthouseFilterFieldsDescriptor=o.LighthouseFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("lighthouse",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lighthouseQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"MongoDBQueryCtrl",(function(){return p})),n.d(t,"mongodbQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(0),a=n(50),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onRefresh:"&",onChange:"&"},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("mongodbQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"MrQueryCtrl",(function(){return u})),n.d(t,"mrQuery",(function(){return l}));var r=n(24),i=n(6),o=n.n(i),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}o.a.directive("mrQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"NatGatewayQueryCtrl",(function(){return a})),n.d(t,"natGatewayQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(66),a=function(){function e(e,t){e.init=function(){e.NATGatewayFilterFieldsDescriptor=o.NATGatewayFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("natGatewayQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNQueryCtrl",(function(){return a})),n.d(t,"ovCdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(67),a=function(){function e(e,t){e.init=function(){e.OVCDNFilterFieldsDescriptor=o.OVCDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("ovCdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXQueryCtrl",(function(){return a})),n.d(t,"pcxQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(60),a=function(){function e(e,t){e.init=function(){e.PCXFieldsDescriptor=o.PCXFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"vpcId":return e.getVpcIds();default:return[]}},e.getVpcIds=function(){return e.region?e.datasource.getVpcIds("pcx",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("pcxQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(41);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(51);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisQueryCtrl",(function(){return a})),n.d(t,"redisQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(61),a=function(){function e(e,t){e.init=function(){e.RedisFieldsDescriptor=o.RedisFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("redisQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemQueryCtrl",(function(){return l})),n.d(t,"redisMemQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(0),a=n(17),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("redisMemQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(28),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- version部分 --\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&"}}}i.a.directive("scfQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(30);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(52);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(13),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(18),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRabbitmqQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"TdmqRocketmqQueryCtrl",(function(){return p})),n.d(t,"tdmqRocketmqQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(19),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRocketmqQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return c})),n.d(t,"sQuery",(function(){return s}));var r=n(6),i=n.n(r),o=n(0),a=n(74),c=function(){function e(e,t){e.init=function(){e.TKEFilterFieldsDescriptor=a.TKEFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.addCondition=function(){e.target.conditions.push({Key:"",Operator:"=",Value:""})},e.deleteCondition=function(t){var n=e.target.conditions[t];Object(o.isEmpty)(n.Key)||Object(o.isEmpty)(n.Operator)||Object(o.isEmpty)(n.Value)?e.target.conditions.splice(t,1):(e.target.conditions.splice(t,1),e.onRefresh())},e.getOperator=function(){return Promise.resolve([{text:"=",value:"="},{text:"in",value:"in"}])},e.init()}return e.$inject=["$scope","$rootScope"],e}();function s(){return{template:'\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n',controller:c,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("tkeQuery",s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFQueryCtrl",(function(){return a})),n.d(t,"tsfQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(62),a=function(){function e(e,t){e.init=function(){e.TSFFieldsDescriptor=o.TSFFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("tsfQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(25);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(53),a=n(2),c=[],s=function(){function e(e,t){e.init=function(){e.VBCFilterFieldsDescriptor=o.VBCFilterFieldsDescriptor,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})}))},e.getExtraDropdown=function(t){var n=Object(a.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t})},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("vbcQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(42);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(54);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(55);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(43);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){var r={".":20,"./":20,"./MonitorDatasource":188,"./MonitorDatasource.ts":188,"./_base/datasource":3,"./_base/datasource.ts":3,"./_base/query":7,"./_base/query.ts":7,"./_base/query_filter":195,"./_base/query_filter.ts":195,"./_base/types":196,"./_base/types.ts":196,"./apigateway/datasource":75,"./apigateway/datasource.ts":75,"./apigateway/query":131,"./apigateway/query.ts":131,"./apigateway/query_def":23,"./apigateway/query_def.ts":23,"./bmIntraLb/datasource":76,"./bmIntraLb/datasource.ts":76,"./bmIntraLb/query":132,"./bmIntraLb/query.ts":132,"./bmIntraLb/query_def":31,"./bmIntraLb/query_def.ts":31,"./bm_lb/datasource":77,"./bm_lb/datasource.ts":77,"./bm_lb/query":133,"./bm_lb/query.ts":133,"./bm_lb/query_def":32,"./bm_lb/query_def.ts":32,"./bm_pcx/datasource":78,"./bm_pcx/datasource.ts":78,"./bm_pcx/query":134,"./bm_pcx/query.ts":134,"./bm_pcx/query_def":33,"./bm_pcx/query_def.ts":33,"./bwp/datasource":79,"./bwp/datasource.ts":79,"./bwp/query":135,"./bwp/query.ts":135,"./bwp/query_def":63,"./bwp/query_def.ts":63,"./cbs/datasource":80,"./cbs/datasource.ts":80,"./cbs/query":136,"./cbs/query.ts":136,"./cbs/query_def":34,"./cbs/query_def.ts":34,"./cdb/datasource":81,"./cdb/datasource.ts":81,"./cdb/query":137,"./cdb/query.ts":137,"./cdb/query_def":44,"./cdb/query_def.ts":44,"./cdn/datasource":82,"./cdn/datasource.ts":82,"./cdn/query":138,"./cdn/query.ts":138,"./cdn/query_def":64,"./cdn/query_def.ts":64,"./cdn_province/datasource":83,"./cdn_province/datasource.ts":83,"./cdn_province/query":139,"./cdn_province/query.ts":139,"./cdn_province/query_def":35,"./cdn_province/query_def.ts":35,"./ceip_summary/datasource":84,"./ceip_summary/datasource.ts":84,"./ceip_summary/query":140,"./ceip_summary/query.ts":140,"./ceip_summary/query_def":36,"./ceip_summary/query_def.ts":36,"./ces/datasource":85,"./ces/datasource.ts":85,"./ces/query":141,"./ces/query.ts":141,"./ces/query_def":45,"./ces/query_def.ts":45,"./cfs/datasource":86,"./cfs/datasource.ts":86,"./cfs/query":142,"./cfs/query.ts":142,"./cfs/query_def":57,"./cfs/query_def.ts":57,"./ckafka/datasource":87,"./ckafka/datasource.ts":87,"./ckafka/query":143,"./ckafka/query.ts":143,"./ckafka/query_def":11,"./ckafka/query_def.ts":11,"./clb/datasource":88,"./clb/datasource.ts":88,"./clb/query":144,"./clb/query.ts":144,"./clb/query_def":12,"./clb/query_def.ts":12,"./cls/datasource":89,"./cls/datasource.ts":89,"./cls/query":145,"./cls/query.ts":145,"./cls/query_def":29,"./cls/query_def.ts":29,"./cmq/datasource":90,"./cmq/datasource.ts":90,"./cmq/query":146,"./cmq/query.ts":146,"./cmq/query_def":58,"./cmq/query_def.ts":58,"./cmq_topic/datasource":91,"./cmq_topic/datasource.ts":91,"./cmq_topic/query":147,"./cmq_topic/query.ts":147,"./cmq_topic/query_def":37,"./cmq_topic/query_def.ts":37,"./cos/datasource":92,"./cos/datasource.ts":92,"./cos/query_def":148,"./cos/query_def.ts":148,"./cpm/datasource":93,"./cpm/datasource.ts":93,"./cpm/query":149,"./cpm/query.ts":149,"./cpm/query_def":38,"./cpm/query_def.ts":38,"./cvm/datasource":94,"./cvm/datasource.ts":94,"./cvm/query":150,"./cvm/query.ts":150,"./cvm/query_def":59,"./cvm/query_def.ts":59,"./cynosdb_mysql/datasource":95,"./cynosdb_mysql/datasource.ts":95,"./cynosdb_mysql/query":151,"./cynosdb_mysql/query.ts":151,"./cynosdb_mysql/query_def":27,"./cynosdb_mysql/query_def.ts":27,"./dc/datasource":96,"./dc/datasource.ts":96,"./dc/query":152,"./dc/query.ts":152,"./dc/query_def":46,"./dc/query_def.ts":46,"./dcdb/datasource":97,"./dcdb/datasource.ts":97,"./dcdb/query":153,"./dcdb/query.ts":153,"./dcdb/query_def":16,"./dcdb/query_def.ts":16,"./dcg/datasource":98,"./dcg/datasource.ts":98,"./dcg/query":154,"./dcg/query.ts":154,"./dcg/query_def":47,"./dcg/query_def.ts":47,"./dcx/datasource":99,"./dcx/datasource.ts":99,"./dcx/query":155,"./dcx/query.ts":155,"./dcx/query_def":48,"./dcx/query_def.ts":48,"./ecdn/datasource":100,"./ecdn/datasource.ts":100,"./ecdn/query":156,"./ecdn/query.ts":156,"./ecdn/query_def":39,"./ecdn/query_def.ts":39,"./ecm/datasource":101,"./ecm/datasource.ts":101,"./ecm/query":157,"./ecm/query.ts":157,"./ecm/query_def":40,"./ecm/query_def.ts":40,"./ecm_block_storage/datasource":102,"./ecm_block_storage/datasource.ts":102,"./ecm_block_storage/query":158,"./ecm_block_storage/query.ts":158,"./ecm_block_storage/query_def":21,"./ecm_block_storage/query_def.ts":21,"./ecm_lb/datasource":103,"./ecm_lb/datasource.ts":103,"./ecm_lb/query":159,"./ecm_lb/query.ts":159,"./ecm_lb/query_def":49,"./ecm_lb/query_def.ts":49,"./gse/datasource":104,"./gse/datasource.ts":104,"./gse/query":160,"./gse/query.ts":160,"./gse/query_def":15,"./gse/query_def.ts":15,"./index":20,"./index.ts":20,"./lb/datasource":105,"./lb/datasource.ts":105,"./lb/query":161,"./lb/query.ts":161,"./lb/query_def":65,"./lb/query_def.ts":65,"./lighthouse/datasource":106,"./lighthouse/datasource.ts":106,"./lighthouse/query":162,"./lighthouse/query.ts":162,"./lighthouse/query_def":56,"./lighthouse/query_def.ts":56,"./mongodb/datasource":107,"./mongodb/datasource.ts":107,"./mongodb/query":163,"./mongodb/query.ts":163,"./mongodb/query_def":50,"./mongodb/query_def.ts":50,"./mr/datasource":108,"./mr/datasource.ts":108,"./mr/query":164,"./mr/query.ts":164,"./mr/query_def":24,"./mr/query_def.ts":24,"./nat_gateway/datasource":109,"./nat_gateway/datasource.ts":109,"./nat_gateway/query":165,"./nat_gateway/query.ts":165,"./nat_gateway/query_def":66,"./nat_gateway/query_def.ts":66,"./ov_cdn/datasource":110,"./ov_cdn/datasource.ts":110,"./ov_cdn/query":166,"./ov_cdn/query.ts":166,"./ov_cdn/query_def":67,"./ov_cdn/query_def.ts":67,"./pcx/datasource":111,"./pcx/datasource.ts":111,"./pcx/query":167,"./pcx/query.ts":167,"./pcx/query_def":60,"./pcx/query_def.ts":60,"./postgresql/datasource":112,"./postgresql/datasource.ts":112,"./postgresql/query":168,"./postgresql/query.ts":168,"./postgresql/query_def":41,"./postgresql/query_def.ts":41,"./qaap/datasource":113,"./qaap/datasource.ts":113,"./qaap/query":169,"./qaap/query.ts":169,"./qaap/query_def":51,"./qaap/query_def.ts":51,"./redis/datasource":114,"./redis/datasource.ts":114,"./redis/query":170,"./redis/query.ts":170,"./redis/query_def":61,"./redis/query_def.ts":61,"./redis_mem/datasource":115,"./redis_mem/datasource.ts":115,"./redis_mem/query":171,"./redis_mem/query.ts":171,"./redis_mem/query_def":17,"./redis_mem/query_def.ts":17,"./scf/datasource":116,"./scf/datasource.ts":116,"./scf/query":172,"./scf/query.ts":172,"./scf/query_def":28,"./scf/query_def.ts":28,"./sqlserver/datasource":117,"./sqlserver/datasource.ts":117,"./sqlserver/query":173,"./sqlserver/query.ts":173,"./sqlserver/query_def":30,"./sqlserver/query_def.ts":30,"./tcaplus/datasource":118,"./tcaplus/datasource.ts":118,"./tcaplus/query":174,"./tcaplus/query.ts":174,"./tcaplus/query_def":52,"./tcaplus/query_def.ts":52,"./tdmq/datasource":119,"./tdmq/datasource.ts":119,"./tdmq/query":175,"./tdmq/query.ts":175,"./tdmq/query_def":13,"./tdmq/query_def.ts":13,"./tdmq_rabbitmq/datasource":120,"./tdmq_rabbitmq/datasource.ts":120,"./tdmq_rabbitmq/query":176,"./tdmq_rabbitmq/query.ts":176,"./tdmq_rabbitmq/query_def":18,"./tdmq_rabbitmq/query_def.ts":18,"./tdmq_rocketmq/datasource":121,"./tdmq_rocketmq/datasource.ts":121,"./tdmq_rocketmq/query":177,"./tdmq_rocketmq/query.ts":177,"./tdmq_rocketmq/query_def":19,"./tdmq_rocketmq/query_def.ts":19,"./tke/datasource":122,"./tke/datasource.ts":122,"./tke/query":178,"./tke/query.ts":178,"./tke/query_def":74,"./tke/query_def.ts":74,"./tsf/datasource":123,"./tsf/datasource.ts":123,"./tsf/query":179,"./tsf/query.ts":179,"./tsf/query_def":62,"./tsf/query_def.ts":62,"./v_clb/datasource":124,"./v_clb/datasource.ts":124,"./v_clb/query":180,"./v_clb/query.ts":180,"./v_clb/query_def":25,"./v_clb/query_def.ts":25,"./vbc/datasource":125,"./vbc/datasource.ts":125,"./vbc/query":181,"./vbc/query.ts":181,"./vbc/query_def":53,"./vbc/query_def.ts":53,"./vpc_net_detect/datasource":126,"./vpc_net_detect/datasource.ts":126,"./vpc_net_detect/query":182,"./vpc_net_detect/query.ts":182,"./vpc_net_detect/query_def":42,"./vpc_net_detect/query_def.ts":42,"./vpngw/datasource":127,"./vpngw/datasource.ts":127,"./vpngw/query":183,"./vpngw/query.ts":183,"./vpngw/query_def":54,"./vpngw/query_def.ts":54,"./vpnx/datasource":128,"./vpnx/datasource.ts":128,"./vpnx/query":184,"./vpnx/query.ts":184,"./vpnx/query_def":55,"./vpnx/query_def.ts":55,"./waf/datasource":129,"./waf/datasource.ts":129,"./waf/query":185,"./waf/query.ts":185,"./waf/query_def":43,"./waf/query_def.ts":43};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=186},,function(e,t,n){"use strict";n.r(t),n.d(t,"TCMonitorDatasource",(function(){return u}));var r=n(0),i=n.n(r),o=n(20),a=n(2),c=n(5),s=n(8),u=function(){function e(e,t,n){var r=this;this.instanceSettings=e,this.backendSrv=t,this.templateSrv=n,i.a.forEach(o.Datasources,(function(e,t){r[t]=new e(r.instanceSettings,r.backendSrv,r.templateSrv)}))}return e.$inject=["instanceSettings","backendSrv","templateSrv"],e.prototype.getNamespaces=function(){var e=this,t=[];return i.a.forEach(o.SERVICES,(function(n){!0===e.instanceSettings.jsonData[n.service]&&t.push(n)})),t},e.prototype.getCascaderNamespaces=function(){var e=this,t=o.SERVICES.filter((function(t){return e.instanceSettings.jsonData[t.service]}));return Object(c.f)(t)},e.prototype.getSelectedServices=function(){var e=this.getNamespaces();return i.a.map(e,(function(e){var t=e.namespace;return Object(a.f)(t)}))},e.prototype.query=function(e){var t=this,n=[],r=this.getSelectedServices();return i.a.forEach(r,(function(r){var o=i.a.cloneDeep(e),a=i.a.filter(o.targets,(function(e){return e.service===r}));if(o.targets=a,o.targets.length>0){var c=t["".concat(i.a.toUpper(r),"Datasource")].query(o);c&&n.push(c)}})),0===n.length?Promise.resolve({data:[],state:s.LoadingState.Done}):Promise.all(n).then((function(e){return{data:i.a.flatten(e),state:s.LoadingState.Done}}))},e.prototype.metricFindQuery=function(e,t){var n=Object(a.h)(e),r=Object(a.f)(n.namespace||"");if(i.a.isEmpty(n)||!n.namespace||!n.action||!r)return Promise.resolve([]);if(this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery){var o=this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery(n,i.a.get(t,"variable.regex",void 0));if(o)return o}return Promise.resolve([])},e.prototype.getRegions=function(e){return this["".concat(i.a.toUpper(e),"Datasource")].getRegions?this["".concat(i.a.toUpper(e),"Datasource")].getRegions():[]},e.prototype.getMetrics=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getMetrics(t)},e.prototype.getZones=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getZones?this["".concat(i.a.toUpper(e),"Datasource")].getZones(t):[]},e.prototype.getFilterDropdown=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown?this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown(t):[]},e.prototype.getInstances=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getInstances(t,n)},e.prototype.getListeners=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getListeners?this["".concat(i.a.toUpper(e),"Datasource")].getListeners(t,n):[]},e.prototype.getVpcIds=function(e,t){if(this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds)return this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds(t)},e.prototype.testDatasource=function(){var e=this,t=[],n=this.getSelectedServices();return i.a.forEach(n,(function(n){t.push(e["".concat(i.a.toUpper(n),"Datasource")].testDatasource())})),0===t.length?Promise.resolve(null):Promise.all(t).then((function(e){var t="success",n="DataSource Connection OK",r=i.a.reduce(e,(function(e,t){return"error"===t.status&&(""===e&&(e+="Oops! Found an error in: "),e+="".concat(t.service,": ").concat(t.message,"; \n")),e}),"");return r&&(t="error",n=r),{status:t,message:n,title:i.a.upperFirst(t)}}))},e.prototype.getServiceFn=function(e,t){var n=this;return function(){for(var r,o=[],a=0;a=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(Array.isArray(t))t.push(n);else{if("object"!=typeof t)return[t,n];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if("object"!=typeof t)return[t].concat(n);var a=t;return Array.isArray(t)&&!Array.isArray(n)&&(a=o(t,i)),Array.isArray(t)&&Array.isArray(n)?(n.forEach((function(n,o){r.call(t,o)?t[o]&&"object"==typeof t[o]?t[o]=e(t[o],n,i):t.push(n):t[o]=n})),t):Object.keys(n).reduce((function(t,o){var a=n[o];return r.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),a)}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,n){"use strict";n.r(t),n.d(t,"queryDDO",(function(){return a}));var r=n(6),i=n.n(r),o=function(){function e(t,n){Object.assign(t,e._config),t.onChecked=function(e,n){!0===t.target.queries[e]&&(t.target.queries[n]=!1),t.onChange()},t.init()}return e.$inject=["$scope","$rootScope"],e}();function a(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:o,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}t.default=function(e,t){o._config=t,i.a.directive(e,a)}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";var r=n(207),i=n(208),o=n(194);e.exports={formats:o,parse:i,stringify:r}},function(e){e.exports=JSON.parse('{"type":"datasource","name":"Tencent Cloud Monitoring","id":"tencentcloud-monitor-datasource","backend":true,"alerting":true,"logs":true,"metrics":true,"annotations":false,"executable":"tencentcloud-monitor-app-backend","queryOptions":{"maxDataPoints":true},"routes":[{"path":"cls-internal","url":"https://cls.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region-internal","url":"https://region.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api-internal","url":"https://api.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq-internal","url":"https://cmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai-internal","url":"https://cmq.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen-internal","url":"https://cmq.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr-internal","url":"https://emr.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai-internal","url":"https://emr.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen-internal","url":"https://emr.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf-internal","url":"https://scf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai-internal","url":"https://scf.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen-internal","url":"https://scf.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs-internal","url":"https://cfs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai-internal","url":"https://cfs.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen-internal","url":"https://cfs.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka-internal","url":"https://ckafka.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai-internal","url":"https://ckafka.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen-internal","url":"https://ckafka.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb-internal","url":"https://clb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai-internal","url":"https://clb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen-internal","url":"https://clb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb-internal","url":"https://mongodb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai-internal","url":"https://mongodb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen-internal","url":"https://mongodb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc-internal","url":"https://vpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai-internal","url":"https://vpc.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen-internal","url":"https://vpc.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx-internal","url":"https://vpc.api.qcloud.com.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm-internal","url":"https://cvm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai-internal","url":"https://cvm.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen-internal","url":"https://cvm.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor-internal","url":"https://monitor.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai-internal","url":"https://monitor.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen-internal","url":"https://monitor.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb-internal","url":"https://cdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai-internal","url":"https://cdb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen-internal","url":"https://cdb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres-internal","url":"https://postgres.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai-internal","url":"https://postgres.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen-internal","url":"https://postgres.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn-internal","url":"https://cdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis-internal","url":"https://redis.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb-internal","url":"https://dcdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc-internal","url":"https://dc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb-internal","url":"https://cynosdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver-internal","url":"https://sqlserver.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip-internal","url":"https://bmeip.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc-internal","url":"https://bmvpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb-internal","url":"https://bmlb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm-internal","url":"https://bm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es-internal","url":"https://es.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs-internal","url":"https://cbs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb-internal","url":"https://tcaplusdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway-internal","url":"https://apigateway.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq-internal","url":"https://tdmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap-internal","url":"https://gaap.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm-internal","url":"https://ecm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse-internal","url":"https://gse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse-internal","url":"https://lighthouse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf-internal","url":"https://tsf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum-internal","url":"https://rum.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke-internal","url":"https://tke.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn-internal","url":"https://ecdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf-internal","url":"https://waf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway","url":"https://apigateway.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api","url":"https://api.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq","url":"https://cmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai","url":"https://cmq.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen","url":"https://cmq.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr","url":"https://emr.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai","url":"https://emr.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen","url":"https://emr.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf","url":"https://scf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai","url":"https://scf.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen","url":"https://scf.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs","url":"https://cfs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai","url":"https://cfs.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen","url":"https://cfs.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka","url":"https://ckafka.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai","url":"https://ckafka.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen","url":"https://ckafka.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb","url":"https://clb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai","url":"https://clb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen","url":"https://clb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb","url":"https://mongodb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai","url":"https://mongodb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen","url":"https://mongodb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc","url":"https://vpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai","url":"https://vpc.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen","url":"https://vpc.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx","url":"https://vpc.api.qcloud.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm","url":"https://cvm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai","url":"https://cvm.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen","url":"https://cvm.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor","url":"https://monitor.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai","url":"https://monitor.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen","url":"https://monitor.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb","url":"https://cdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai","url":"https://cdb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen","url":"https://cdb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres","url":"https://postgres.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai","url":"https://postgres.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen","url":"https://postgres.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn","url":"https://cdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis","url":"https://redis.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb","url":"https://dcdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc","url":"https://dc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb","url":"https://cynosdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver","url":"https://sqlserver.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip","url":"https://bmeip.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc","url":"https://bmvpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb","url":"https://bmlb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm","url":"https://bm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es","url":"https://es.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs","url":"https://cbs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb","url":"https://tcaplusdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq","url":"https://tdmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap","url":"https://gaap.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm","url":"https://ecm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse","url":"https://gse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cls","url":"https://cls.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shanghai","url":"https://cls.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shenzhen","url":"https://cls.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region","url":"https://region.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse","url":"https://lighthouse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf","url":"https://tsf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum","url":"https://rum.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apm","url":"https://apm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke","url":"https://tke.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn","url":"https://ecdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf","url":"https://waf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]}],"info":{"author":{"name":"Tencent Cloud"},"logos":{"small":"img/tencent-cloud.svg","large":"img/tencent-cloud.svg"},"description":"Data source for Tencent Cloud monitoring service"}}')},,,,,,,,,function(e,t,n){"use strict";var r=n(193),i=n(194),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,c={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},s=function e(t,n,i,o,a,s,u,l,p,d,f,m){var y=t;if("function"==typeof u)y=u(n,y);else if(y instanceof Date)y=d(y);else if(null===y){if(o)return s&&!m?s(n,c.encoder):n;y=""}if("string"==typeof y||"number"==typeof y||"boolean"==typeof y||r.isBuffer(y))return s?[f(m?n:s(n,c.encoder))+"="+f(s(y,c.encoder))]:[f(n)+"="+f(String(y))];var h,g=[];if(void 0===y)return g;if(Array.isArray(u))h=u;else{var v=Object.keys(y);h=l?v.sort(l):v}for(var b=0;b0?_+x:""}},function(e,t,n){"use strict";var r=n(193),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,a=/(\[[^[\]]*])/.exec(r),c=a?r.slice(0,a.index):r,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var u=0;null!==(a=o.exec(r))&&u=0;--i){var o,a=e[i];if("[]"===a)o=(o=[]).concat(r);else{o=n.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,s=parseInt(c,10);!isNaN(s)&&a!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=r:o[c]=r}r=o}return r}(s,t,n)}};e.exports=function(e,t){var n=t?r.assign({},t):{};if(null!==n.decoder&&void 0!==n.decoder&&"function"!=typeof n.decoder)throw new TypeError("Decoder has to be a function.");if(n.ignoreQueryPrefix=!0===n.ignoreQueryPrefix,n.delimiter="string"==typeof n.delimiter||r.isRegExp(n.delimiter)?n.delimiter:o.delimiter,n.depth="number"==typeof n.depth?n.depth:o.depth,n.arrayLimit="number"==typeof n.arrayLimit?n.arrayLimit:o.arrayLimit,n.parseArrays=!1!==n.parseArrays,n.decoder="function"==typeof n.decoder?n.decoder:o.decoder,n.allowDots="boolean"==typeof n.allowDots?n.allowDots:o.allowDots,n.plainObjects="boolean"==typeof n.plainObjects?n.plainObjects:o.plainObjects,n.allowPrototypes="boolean"==typeof n.allowPrototypes?n.allowPrototypes:o.allowPrototypes,n.parameterLimit="number"==typeof n.parameterLimit?n.parameterLimit:o.parameterLimit,n.strictNullHandling="boolean"==typeof n.strictNullHandling?n.strictNullHandling:o.strictNullHandling,""===e||null==e)return n.plainObjects?Object.create(null):{};for(var c="string"==typeof e?function(e,t){for(var n={},r=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,c=r.split(t.delimiter,a),s=0;s0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.configured=!0))}return e.$inject=["$scope","$injector","$q"],e.prototype.moveToFolder=function(e,t){return o(this,void 0,void 0,(function(){var n;return a(this,(function(r){switch(r.label){case 0:return[4,c.get("/api/dashboards/uid/".concat(e))];case 1:return n=r.sent().dashboard,[4,c.post("/api/dashboards/db/",{dashboard:n,folderId:t,message:"",overwrite:!0})];case 2:return r.sent(),[2]}}))}))},e.prototype.reviseDashboard=function(){var e;return o(this,void 0,void 0,(function(){var t,n,r,i,o,s=this;return a(this,(function(a){switch(a.label){case 0:return[4,l()];case 1:return t=a.sent(),n=t[0],r=t[1],[4,c.get("/api/plugins/".concat(null===(e=this.appModel)||void 0===e?void 0:e.id,"/dashboards"))];case 2:return i=a.sent(),o=i.map((function(e){var t=e.importedUrl,i=e.path,o=t.split("/")[2];return o?s.moveToFolder(o,i.endsWith("_en_dashboard.json")?r:n):Promise.resolve()})),[2,Promise.all(o)]}}))}))},e.prototype.postUpdate=function(){var e;return o(this,void 0,void 0,(function(){return a(this,(function(t){switch(t.label){case 0:return(null===(e=this.appModel)||void 0===e?void 0:e.enabled)?[4,this.reviseDashboard()]:[2];case 1:return t.sent(),[2,this.$q.resolve(!0)]}}))}))},e.templateUrl="components/config.html",e}()}])})); //# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/dist/components/config.js.map b/dist/components/config.js.map index f99249f..588ccbb 100644 --- a/dist/components/config.js.map +++ b/dist/components/config.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://TencentCloudMonitorGrafanaApp/webpack/bootstrap","webpack://TencentCloudMonitorGrafanaApp/external \"lodash\"","webpack://TencentCloudMonitorGrafanaApp/./locale/zh_CN.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/en_US.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/sign.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/signV2.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/constants.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/utils.ts","webpack://TencentCloudMonitorGrafanaApp/external \"app/core/core_module\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/data\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/indexedDB.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/datasourceStorage.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/runtime\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"moment\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^.*$","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/MonitorDatasource.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/utils.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/formats.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query_filter.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/index.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/stringify.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/parse.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)","webpack://TencentCloudMonitorGrafanaApp/./components/config.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","language","enable_intranet_API_mode","cloud_database","cloud_load_balancer","virtual_private_cloud","content_delivery_network","message_queue","direct_connect","cloud_physical_machine","elastic_mapReduce","edge_computing_machine","RUM","APM","CLS","CVM","CDB","CMONGO","POSTGRES","REDIS","REDIS_MEM","SQLSERVER","CYNOSDB_MYSQL","TCAPLUS","TDMYSQL","PCX","BWP","NAT_GATEWAY","VPNGW","VPNX","DCG","CEIP_SUMMARY","VPC_NET_DETECT","VBC","LB","LB_PUBLIC","LB_PRIVATE","LOADBALANCE","CDN","CDN_LOG_DATA","OV_CDN","SCF_V2","CFS","COS","CKAFKA","CMQ","CMQTOPIC","TDMQ","TDMQ_ROCKETMQ","TDMQ_RABBITMQ","DCX","DC","CPM","BM_PCX","BM_LB","BM_INTRA_LB","CES","BLOCK_STORAGE","APIGATEWAY","QAAP","ECM","ECM_BLOCK_STORAGE","ECM_LB","GSE","TKE","ECDN","WAF","multi_scene","lite","cloud_monitor","cloud_log_service","real_user_monitoring","apm_monitoring","region","log_topic","syntax_rule","max_result_num","search_statement","time_unit","seconds","search_description","Language","locale_language","Chinese","setLanguage","getLanguage","options","secretId","service","action","host","version","payload","backendSrv","datasourceId","this","JSON","stringify","nowDate","utc","timestamp","unix","date","format","getHeader","getResourceHeader","res","datasourceRequest","url","method","headers","data","Host","Service","Version","Action","Region","Timestamp","Method","Uri","Query","Body","Headers","resp","authorization","token","intranet","grafanaVersion","window","grafanaBootData","settings","buildInfo","Authorization","toString","defaults","path","generateQueryString","getResourceQueryString","assign","secretKey","querystring","queryString","TcDataSourceId","id","FINACE_REGIONS","SERVICES_API_INFO","api","monitor","cls","cvm","cdb","pcx","vpc","mongodb","clb","postgres","cdn","redis","scf","cfs","ckafka","dc","cynosdb","sqlserver","bm","bmeip","bmvpc","bmlb","es","emr","cmq","cbs","tcaplusdb","dcdb","apigateway","tdmq","tdmq_rabbitmq","tdmq_rocketmq","gaap","ecm","gse","lighthouse","tsf","rum","tke","ecdn","waf","apm","FINACE_HOST","GetServiceAPIInfo","indexOf","find","__","getHostAndPath","GetServiceFromNamespace","namespace","ParseMetricQuery","query","result","queries","split","forEach","item","str","trim","val","parse","e","toLower","ReplaceVariable","templateSrv","scopedVars","field","multiple","varname","varFlag","regResult1","String","match","regResult2","parseVariableFormat","replaceVar","replace","error","isArray","GetDimensions","obj","isEmpty","dimensions","Value","undefined","push","Name","ParseQueryResult","response","instances","timeshift","instanceList","cloneDeep","dataPoints","map","dataPoint","instanceAliasValue","length","isInstanceMatch","_InstanceAliasValue","splice","target","MetricName","datapoints","parseDataPoint","timestamps","values","index","instance","isVariable","GetRequestParams","signObj","signParams","pick","headerSigned","GetRequestParamsV2","sign","SliceLength","total","len","num","Math","ceil","Offset","CoreApp","IS_DEVELOPMENT_ENVIRONMENT","instanceSettings","instanceListCache","extraMetricDims","checkKeys","MetricReqConfig","extrasAlias","queryMonitorExtraConfg","CandiateDimensions","jsonData","Namespace","getOtherAlias","alias","extra","extraAlia","getVariable","getAliasValue","Array","join","formatVarDisplay","displayTpl","instanceAlias","a","b","InstanceAliasList","includes","metricFindQuery","regex","display","instancealias","templateQueryIdMap","isObject","isString","getRegions","getVariableInstances","flatMap","insAlias","text","setInstance","getInstance","instanceCache","fetchMetricData","Promise","resolve","dimensionsFormat","dimKeys","ins","dimensionObject","keyTmp","invalidDim","InvalidDimensions","getInvalidDimensions","extraDimValue","dim_KeyInStorage","dim_KeyInTarget","dim_KeyInMap","dim_KeyInIns","extraSourceMap","getExtraStorage","extraStorage","isStringOrNumber","isNumber","otherAlias","getDimensionsVal","Ekey","tt","getOwnDimension","dimVal","filter","targets","hide","metricName","reduce","prev","cloneTarget","concat","inst","getDefaultInsObj","insInReq","keys","dimResult","Dimensions","StartTime","range","from","subtract","EndTime","to","Period","period","Instances","getMonitorData","all","then","responses","flatten","getInstanceReqConfig","selfIns","metric","rs","valStr","params","serviceInfo","doRequest","RegionSet","RegionName","RegionState","getMetrics","MetricSet","resFilterFn","resultFilter","getInstances","InstanceReqConfig","interceptor","Limit","Edition","request","Error","TotalCount","TotalCnt","TotalNumber","param","isValidConfigField","testDatasource","cvmErr","monitorErr","serviceErr","cvmAuthFail","monitorAuthFail","serviceAuthFail","messages","message","compact","uniq","status","title","statusText","code","getFieldsValue","fields","fetchAllFactory","fetcher","_params","omit","Result","firstLists","delta","batchCount","pmList","fill","_","isOffsetPage","acc","cur","lists","list","instanceQueryParamsBaseParse","isFilter","Values","slice","Filters","getNamesapceFromService","serviceName","serviceGroupBy","services","label","groupName","existedGroup","items","isTargetEqual","newTargetString","oldTargetString","newTarget","oldTarget","getTimeShiftInMs","timeShift","parts","exec","amount","parseInt","__WEBPACK_EXTERNAL_MODULE__6__","config","detailConfig","QueryCtrl","newQueryIns","$scope","$rootScope","getDropdown","datasource","getFilterDropdown","directive","template","controller","restrict","scope","showDetail","getDropdownOptions","onChange","__WEBPACK_EXTERNAL_MODULE__8__","store","promisify","type","reject","onsuccess","event","returnMap","msg","onerror","props","initDB","indexedDB","webkitIndexedDB","mozIndexedDB","msIndexedDB","open","onupgradeneeded","db","objectStoreNames","contains","createObjectStore","keyPath","openDB","insertData","storeName","transaction","objectStore","add","oncomplete","addData","isCover","getData","oldData","getObjectStore","newData","requestUpdate","put","seviceName","getAllData","getAll","insKey","cacheWay","setStorage","getStorage","setExtraStorage","EValue","serviceKey","storage","CKAFKAQueryDescriptor","enDescriptor","cnDescriptor","link","min","max","CKAFKA_STATE","metricUnit","topicId","topicName","consumerGroup","partition","Status","InstanceId","SearchWord","TagKey","GetInstanceQueryParams","CKAFKAInstanceAliasList","CKAFKATopicAliasList","CKAFKAInvalidDemensions","Proxy","prop","toLocaleLowerCase","keyInStorage","TopicList","GroupList","PartitionList","TopicId","TopicName","GroupName","PartitionId","queryEditorName","LOADBALANCEFieldsDescriptor","queryEditorConfig","instanceDocUrl","fieldDescriptor","LOADBALANCE_STATE","Port","Protocol","listener","servers","serverPort","LoadBalancerIds","Forward","LoadBalancerName","Domain","LoadBalancerVips","BackendPublicIps","BackendPrivateIps","ProjectId","WithRs","VpcId","SecurityGroup","MasterZone","OrderBy","OrderType","LOADBALANCEListenerAliasList","LOADBALANCEServerAliasList","LOADBALANCEVALIDDIMENSIONS","vip","loadBalancerPort","protocol","lanIp","port","CANDIATEDIMENSIONS","PrivateIpAddresses","ServerPort","TDMQInvalidDemensions","tenantId","tenant","environmentId","TDMQInstanceAliasList","TDMQFilterFieldsDescriptor","CDNPROVINCE_STATE","regionSupported","modifyDimensons","metricItem","metricTmp","EnvironmentId","fleetId","GSEInvalidDemensions","instanceid","fleetid","queuename","GSEInstanceAliasList","FleetId","fleet","queue","GSEFilterFieldsDescriptor","GSE_STATE","v","DCDBInvalidDemensions","nodeid","shardid","ShardId","DCDBInstanceAliasList","NodeId","ShardInstanceId","DCDBFilterFieldsDescriptor","DCDB_STATE","InstanceIds","SearchName","SearchKey","ProjectIds","SubnetId","OrderByType","ExclusterType","ExclusterIds","FilterInstanceType","modifyMetricConf","IsFilterVpc","IsFilterExcluster","RedisMemFieldsDescriptor","REDISMEM_STATE","VpcIds","SubnetIds","InstanceName","UniqVpcIds","UniqSubnetIds","TypeVersion","EngineName","AutoRenew","BillingMode","Type","rnodeid","pnodeid","REDISMEMInstanceAliasList","RedisMemInvalidDemensions","NodeType","node","TDMQRABBITMQInstanceAliasList","TDMQ_STATE","NodeName","group","TDMQROCKETMQInstanceAliasList","instanceIdsChecked","filtersChecked","ClusterIdList","includeVip","NamespaceId","SERVICES","href","hideRegion","Datasources","InitStates","hackModuleName","postgresql","mr","filePath","moduleName","fileName","prefix","toUpperCase","getParams","ECMBLOCKSTORAGEInvalidDemensions","uuid","diskId","ECMBLOCKSTORAGEInstanceAliasList","ECMBLOCKSTORAGEFilterFieldsDescriptor","ECMBLOCKSTORAGE_STATE","DiskId","__WEBPACK_EXTERNAL_MODULE__22__","APIGATEWAYInvalidDemensions","serviceId","environmentName","apiid","apiId","APIGATEWAYInstanceAliasList","environmentList","EnvironmentName","APIGATEWAYFilterFieldsDescriptor","APIGATEWAY_STATE","ServiceId","ServiceName","NotUsagePlanId","Environment","IpVersion","InstanceQueryDescriptor","InvalidDemensions","k","receiver","startsWith","Reflect","has","propKey","Ip","nodeIP","DisplayStrategy","Order","OrderField","Asc","VCLBInvalidDemensions","VCLBInstanceAliasList","VCLBFilterFieldsDescriptor","VCLB_STATE","clbNamespaceMap","public","private","cynosdbMysqlFilterFieldsDescriptor","CYNOSDB_STATE","DbType","CYNOSDBMYSQLInstanceAliasList","CYNOSDBInvalidDemensions","instanceId","SCFQueryDescriptor","SCF_STATE","Description","SCFInstanceAliasList","SCFInvalidDemensions","functionName","SCFDefaultDimensionList","CLSInvalidDemensions","CLSInstanceAliasList","CLSFilterFieldsDescriptor","CLS_STATE","uin","logsetName","logsetId","tagKey","storageType","SQLSERVERInvalidDemensions","resourceId","SQLSERVERInstanceAliasList","SQLSERVERNETFilterFieldsDescriptor","SQLSERVER_STATE","InstanceIdSet","PayMode","VipSet","InstanceNameSet","VersionSet","Zone","BMINTRALBInvalidDemensions","vpcId","BMINTRALBInstanceAliasList","BMINTRALBFilterFieldsDescriptor","BMINTRALB_STATE","BMLBValidMetricsT","isValidMetric","validMetrics","toUpper","CPMInvalidDemensions","BMLBInstanceAliasList","CPMFilterFieldsDescriptor","CPM_STATE","BMPCXInvalidDemensions","peeringConnectionId","BMPCXInstanceAliasList","BMPCXFilterFieldsDescriptor","BMPCX_STATE","VpcPeerConnectionIds","CBSInvalidDemensions","diskname","unInstanceId","CBSInstanceAliasList","CBSFilterFieldsDescriptor","CBS_STATE","DiskIds","ReturnBindAutoSnapshotPolicy","metricObj","dimension","CDNPROVINCEInvalidDemensions","domain","projectid","province","appid","CDNPROVINCEInstanceAliasList","CDNPROVINCEFilterFieldsDescriptor","isp","district","origin","serviceType","projectId","domainType","fullUrlCache","https","originPullProtocol","CEIPInvalidDemensions","eip","CEIPSUMMARYInstanceAliasList","CEIPFilterFieldsDescriptor","CEIP_STATE","subscription","subscriptionId","CPMInstanceAliasList","DeviceClassCode","WanIps","LanIps","Alias","VagueIp","AutoRenewFlag","DeviceType","IsLuckyDevice","ECDNInstanceAliasList","ECDNInvalidDemensions","ECDN_STATE","disable","area","ECDNFilterFieldsDescriptor","_queries","Fuzzy","ECMInvalidDemensions","ECMInstanceAliasList","ECMFilterFieldsDescriptor","ECM_STATE","zone","PostgresFieldsDescriptor","POSTGRESInstanceAliasList","POSTGRES_STATE","PostgreInvalidDemensions","uid","VPCNETInvalidDemensions","netdetectid","netDetectId","VPCNETDETECTInstanceAliasList","VPCNETFilterFieldsDescriptor","VPCNET_STATE","WAFFilterFieldsDescriptor","WAF_STATE","WAFInstanceAliasList","WAFInvalidDemensions","CDBFieldsDescriptor","CDB_STATE","InstanceTypes","Vips","SecurityGroupId","PayTypes","InstanceNames","TaskStatus","EngineVersions","ZoneIds","CdbErrors","OrderDirection","InitFlag","CDBInstanceAliasList","CDBInvalidDemensions","insttype","CESInvalidDemensions","uInstanceId","CESInstanceAliasList","CESFilterFieldsDescriptor","CES_STATE","OrderByKey","IpList","DCFilterFieldsDescriptor","DC_STATE","DirectConnectIds","DCInstanceAliasList","DCInvalidDemensions","directConnectId","directconnectid","DCGInvalidDemensions","directConnectGatewayId","DCGInstanceAliasList","DCGFilterFieldsDescriptor","DCG_STATE","DCXFilterFieldsDescriptor","DCX_STATE","DCXInstanceAliasList","DCXInvalidDemensions","directconnectconnid","directConnectConnId","ECMLBInvalidDemensions","ECMLBInstanceAliasList","ECMLBFilterFieldsDescriptor","MONGODBFieldsDescriptor","MONGODB_STATE","InstanceType","ClusterType","MONGODBInstanceAliasList","MONGODBInvalidDemensions","replica","Replica","Node","QAAPInvalidDemensions","channelId","QAAPInstanceAliasList","QAAPFilterFieldsDescriptor","QAAP_STATE","AccessRegion","RealServerRegion","GroupId","TCAPLUSInvalidDemensions","TCAPLUSInstanceAliasList","TCAPLUSFilterFieldsDescriptor","TCAPLUS_STATE","ClusterId","TableGroupIds","TableName","TableInstanceId","TableIdlType","TableType","ListElementNum","ReservedVolume","ReservedReadQps","ReservedWriteQps","Memo","FileName","FileExtType","FileSize","FileContent","SelectedTables","regonsMap","VBCInvalidDemensions","VBCInstanceAliasList","VBCFilterFieldsDescriptor","VBC_STATE","DRegion","SRegion","state","VPNGWInvalidDemensions","vpnGwId","VPNGWInstanceAliasList","VPNGWFilterFieldsDescriptor","VPNGW_STATE","VPNXInvalidDemensions","vpnConnId","VPNXInstanceAliasList","VPNXFilterFieldsDescriptor","VPNX_STATE","LighthouseFilterFieldsDescriptor","LIGHTHOUSE_STATE","LIGHTHOUSEInstanceAliasList","LighthouseInvalidDemensions","CFSQueryDescriptor","CFS_STATE","FileSystemId","CFSInstanceAliasList","CFSInvalidDemensions","queueId","queueName","QueueName","CVMFilterFieldsDescriptor","CVM_STATE","CVMInstanceAliasList","CVMValidMetricsT","CVMValidMetrics","PCX_STATE","limit","offset","peeringConnectionName","PCXFieldsDescriptor","PCXInstanceAliasList","RedisFieldsDescriptor","REDIS_STATE","REDISInstanceAliasList","RedisInvalidDemensions","redis_uuid","TSFFieldsDescriptor","TSF_STATE","ApplicationType","MicroserviceType","ApplicationResourceTypeList","ApplicationIdList","TSFInstanceAliasList","TSFInvalidDemensions","applicationid","BWPFilterFieldsDescriptor","BWP_STATE","BandwidthPackageIds","BWPInstanceAliasList","BWPInvalidDemensions","bandwidthPackageId","CDNFilterFieldsDescriptor","CDN_STATE","CDNInstanceAliasList","CDNInvalidDemensions","LBFilterDescriptor","LB_STATE","LBInstanceAliasList","LBInvalidDemensions","NATGATEWAYInstanceAliasList","NATGatewayFilterFieldsDescriptor","NATGATEWAY_STATE","NatGatewayIds","NATInvalidDemensions","natId","OVCDNFilterFieldsDescriptor","OVCDN_STATE","OVCDNInstanceAliasList","OVCDNInvalidDemensions","__WEBPACK_EXTERNAL_MODULE__69__","TKE_STATE","conditions","groupBys","ClusterIds","ClusterName","ClusterStatus","TKEFilterFieldsDescriptor","TKEInstanceAliasList","responseField","getEnvironmentNameList","LoadBalancerType","RegionMap","keyBy","RegionInfoSet","rawSet","getZones","ZoneSet","ZoneName","ZoneId","ZoneState","getConsumerList","MapInfoList","TopicAliasList","consumerGroupCache","getConsumerGroups","groupname","topicid","consumerGoup","topicList","GroupDetailList","uniqBy","SubscribedInfos","ConsumerGroupName","SubscribedInfo","partitions","sub","Partition","formatTopicVarDisplay","topic","topicAlias","topicalias","par","ListenerAliasList","ServerAliasList","tagret","getListenerList","LoadBalancerId","formatVariableDisplay","aliasList","getServerList","listenerId","ListenerIds","Listeners","Rules","Targets","elem","listenAlias","lisId","listenerid","serverprivateip","serveralias","serversList","chain","dims","Set","fetchAllSubscription","SubscriptionId","cosURL","Buckets","BucketName","bucket","DeviceClassSet","Product","extraActionMap","DescribeDCDBShards","pickKey","DescribeDCDBInstanceNodeInfo","RegionList","act","getDiskList","instanceObj","getQueueNameList","getFleetList","ReplicaAliasList","replicaAlias","ReplicaSetId","replicasetid","times","SecondaryNum","nodeId","fetchAllNodes","NodeFlag","resultT","doRequestV2","totalCount","getVpcId","VpcSet","getVpcIds","MonitorVersion","getInstanceNodeInfo","nodetype","ndoeTypeIndex","getVersions","Versions","FunctionName","RegionInfos","DescribeTopics","DescribeEnvironments","DescribeRabbitMQNodeList","DescribeRocketMQNamespaces","DescribeRocketMQGroups","variableToArray","variable","tke_cluster_instance_id","Key","Operator","MetricNames","Module","Conditions","GroupBys","Data","Points","point","dimensionSort","dimensionString","timeshiftString","getAllMetrics","public_metrics","private_metrics","edition","init","getInstanceId","getServiceFn","getExtraDropdown","sQuery","onRefresh","onChecked","srcField","dstField","bwpQuery","BWPQueryCtrl","cdbQuery","CDBQueryCtrl","cdnQuery","CDNQueryCtrl","ExtraFields","scfQuery","SCFQueryCtrl","onInstanceChange","getExtraFields","CKAFKAQueryCtrl","element","attrs","$watch","newValue","oldValue","onFieldChange","getVariableId","variableData","getServersDropdown","getServerPortDropdown","serverPortList","cacheMap","getTopicName","onExtraFieldChange","datas","CmqTopicQueryCtrl","cvmQuery","CVMQueryCtrl","dropdownTextConfig","actionMaps","lbQuery","LBQueryCtrl","lighthouseQuery","LighthouseQueryCtrl","replicaId","mongodbQuery","MongoDBQueryCtrl","some","dataT","mrQuery","MrQueryCtrl","natGatewayQuery","NatGatewayQueryCtrl","ovCdnQuery","OVCDNQueryCtrl","pcxQuery","PCXQueryCtrl","redisQuery","RedisQueryCtrl","clearExtrasAlias","redisMemQuery","RedisMemQueryCtrl","evId","tdmqRocketmqQuery","TdmqRocketmqQueryCtrl","addCondition","deleteCondition","targetCondition","getOperator","tsfQuery","TSFQueryCtrl","VBCQueryCtrl","webpackContext","req","webpackContextResolve","_class","getNamespaces","namespaces","getCascaderNamespaces","validServices","getSelectedServices","promises","optionsTemp","promiseTemp","Done","results","getListeners","errorMsg","upperFirst","fnName","argu","hexTable","array","arrayToObject","source","plainObjects","refs","j","pop","compacted","compactQueue","decode","decodeURIComponent","encode","string","out","charCodeAt","charAt","isBuffer","constructor","isRegExp","merge","allowPrototypes","mergeTarget","percentTwenties","formatters","RFC1738","RFC3986","SPQueryCtrl","_config","queryDDO","formats","utils","arrayPrefixGenerators","brackets","indices","repeat","toISO","Date","toISOString","delimiter","encoder","encodeValuesOnly","serializeDate","skipNulls","strictNullHandling","generateArrayPrefix","sort","allowDots","formatter","objKeys","opts","TypeError","arrayFormat","joined","addQueryPrefix","arrayLimit","decoder","depth","parameterLimit","parseKeys","givenKey","child","segment","parent","leaf","root","cleanRoot","isNaN","parseArrays","parseObject","ignoreQueryPrefix","tempObj","cleanStr","Infinity","part","bracketEqualsPos","pos","parseValues","newObj","tcFolder","folderId","tcFolder_EN","getFolderId","folders","folderEnId","post","folder","folderEn","oldPost","pluginId","location","pathname","endsWith","backendInterceptor","$injector","$q","appEditCtrl","setPostUpdateHook","postUpdate","appModel","configured","enabled","datasources","ds","moveToFolder","dashbaordUid","dashboard","overwrite","reviseDashboard","pmlist","importedUrl","templateUrl"],"mappings":"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a,CACXhO,iBAAkByN,EAAaG,cAC/B3N,gBAAiB,YACjBC,aAAczB,EAAmBoO,YAGtB,a,6BCtKf,gsBAEM9U,EAAY,kBAGZkW,EAAkB,mBAwBlBC,EAAkD,CACtD,CACE/iB,IAAK,SACLghB,aAAc,SACdC,aAAc,0CACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,QACLghB,aAAc,QACdC,aAAc,wBACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,kBACLghB,aAAc,kBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,UACLghB,aAAc,UACdC,aAAc,WACdC,KAAM,GACNjD,KAAM,SACN9C,KA3DiB,CACnB,CAAEtH,KAAM,UAAWnU,MAAO,GAC1B,CAAEmU,KAAM,UAAWnU,MAAO,KA2D1B,CACEM,IAAK,SACLghB,aAAc,SACdC,aAAc,wCACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,qBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,aACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,eAER,CACEje,IAAK,QACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,gBACLghB,aAAc,iBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,aACLghB,aAAc,cACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SACN9C,KA1GW,CACb,CAAEtH,KAAM,WAAYnU,MAAO,GAC3B,CAAEmU,KAAM,SAA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ACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,QACLghB,aAAc,QACdC,aAAc,wBACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,kBACLghB,aAAc,kBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,UACLghB,aAAc,UACdC,aAAc,WACdC,KAAM,GACNjD,KAAM,SACN9C,KA3DiB,CACnB,CAAEtH,KAAM,UAAWnU,MAAO,GAC1B,CAAEmU,KAAM,UAAWnU,MAAO,KA2D1B,CACEM,IAAK,SACLghB,aAAc,SACdC,aAAc,wCACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,qBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,aACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,eAER,CACEje,IAAK,QACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,gBACLghB,aAAc,iBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,aACLghB,aAAc,cACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SACN9C,KA1GW,CACb,CAAEtH,KAAM,WAAYnU,MAAO,GAC3B,CAAEmU,KAAM,SAAUnU,MAAO,GACzB,CAAEmU,KAAM,OAAQnU,OAAQ,KAyGxB,CACEM,IAAK,UACLghB,aAAc,UACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SACN9C,KA9HY,CACd,CAAEtH,KAAM,mBAAoBnU,MAAO,oBACnC,CAAEmU,KAAM,aAAcnU,M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AAoB,CAC/B0P,QAAS,UACTC,UAAW,aAGAtoB,EAAqB,CAChC/C,SAAU,aAINyC,EAAoB,CAAC,YAAa,WAIzB,WACb9N,OAAQ,GACR6Q,WAAY,GACZuL,WAAY,GACZrK,YAAQlI,EACRwF,gBAAiB,KACjBhE,SAAU,GACVsC,cAAe,YACf7F,QAAS,CACPsE,OAAQ,EACRoH,MAAO,GACPmjB,UAAW,GACX/Z,OAAQ,M,ikBClENga,EAA4B,CAChC,CACE97B,IAAK,OACLghB,aAAc,OACdC,aAAc,MACdC,KAAM,GACNjD,KAAM,iBAER,CACEje,IAAK,aACLghB,aAAc,aACdC,aAAc,OACdC,KAAM,kDACNjD,KAAM,oBAER,CACEje,IAAK,UACLghB,aAAc,SACdC,aAAc,SACdC,KAAM,uDACNjD,KAAM,cAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,YACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,cACLghB,aAAc,cACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,oBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,gBACLghB,aAAc,gBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,UACLghB,aAAc,MACdC,aAAc,MACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,uBACLghB,aAAc,uBACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SACN9C,KA3FwB,CAC1B,CAAEtH,KAAM,MAAOnU,MAAO,WACtB,CAAEmU,KAAM,MAAOnU,MAAO,oBACtB,CAAEmU,KAAM,QAASnU,MAAO,aA0FxB,CACEM,IAAK,qBACLghB,aAAc,qBACdC,aAAc,aACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,oBACdC,aAAc,2CACdC,KAAM,GACNjD,KAAM,eAIJ8d,EAAY,CAChB72B,OAAQ,GACR6Q,WAAY,GACZuL,WAAY,GACZrK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","file":"components/config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 212);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","const zh_CN = {\n language: '语言',\n enable_intranet_API_mode: '开启内网API模式',\n cloud_database: '云数据库',\n cloud_load_balancer: '负载均衡',\n virtual_private_cloud: '私有网络',\n content_delivery_network: '内容分发网络',\n message_queue: '消息队列',\n direct_connect: '专线接入',\n cloud_physical_machine: '黑石物理服务器',\n elastic_mapReduce: '弹性 MapReduce',\n edge_computing_machine: '边缘计算机器',\n // namespace\n RUM: '前端性能监控(RUM)',\n APM: '应用性能监控(APM)',\n CLS: '日志服务(CLS)',\n CVM: '云服务器(CVM)',\n CDB: '云数据库 MySQL(CDB)',\n CMONGO: '云数据库 MongoDB(CMONGO)',\n POSTGRES: '云数据库 PostgreSQL(POSTGRES)',\n REDIS: '云数据库 Redis(REDIS)',\n REDIS_MEM: '云数据库 Redis内存版(5s)(REDIS_MEM)',\n SQLSERVER: '云数据库 SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: '云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: '云数据库 TcaplusDB(TCAPLUS)',\n TDMYSQL: '分布式数据库 TDSQL MySQL(TDMYSQL)',\n PCX: '私有网络-对等连接(PCX)',\n BWP: '私有网络-带宽包(BWP)',\n NAT_GATEWAY: '私有网络-NAT 网关(NAT_GATEWAY)',\n VPNGW: '私有网络-VPN 网关(VPNGW)',\n VPNX: '私有网络-VPN 通道(VPNX)',\n DCG: '私有网络-专线网关(DCG)',\n CEIP_SUMMARY: '私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)',\n VPC_NET_DETECT: '私有网络-网络探测(VPC_NET_DETECT)',\n VBC: '私有网络-云联网(VBC)',\n LB: '私有网络-弹性公网IP(LB)',\n LB_PUBLIC: '公网负载均衡监控指标(LB_PUBLIC)',\n LB_PRIVATE: '内网负载均衡四层协议监控指标(LB_PRIVATE)',\n LOADBALANCE: '内网负载均衡七层协议监控指标(LOADBALANCE)',\n CDN: '国内域名(CDN)',\n CDN_LOG_DATA: '省份域名(CDN_LOG_DATA)',\n OV_CDN: '国外域名(OV_CDN)',\n SCF_V2: '云函数(SCF)',\n CFS: '文件存储(CFS)',\n COS: '对象存储(COS)',\n CKAFKA: '消息队列 CKafka(CKAFKA)',\n CMQ: '消息队列-队列服务监控(CMQ)',\n CMQTOPIC: '消息队列-主题订阅监控(CMQTOPIC)',\n TDMQ: '消息队列 Pulsar 版(TDMQ)',\n TDMQ_ROCKETMQ: '消息队列 RocketMQ 版(ROCKETMQ)',\n TDMQ_RABBITMQ: '消息队列 RabbitMQ 版(RABBITMQ)',\n DCX: '专线接入-专用通道(DCX)',\n DC: '专线接入-物理专线(DC)',\n CPM: '黑石物理服务器(CPM)',\n BM_PCX: '黑石对等连接(BM_PCX)',\n BM_LB: '黑石外网负载均衡(BM_LB)',\n BM_INTRA_LB: '黑石内网负载均衡(BM_INTRA_LB)',\n CES: 'Elasticsearch指标(CES)',\n BLOCK_STORAGE: '云硬盘(BLOCK_STORAGE)',\n APIGATEWAY: 'API 网关(APIGATEWAY)',\n QAAP: '全球应用加速(GAAP)',\n ECM: '边缘计算和网络监控(ECM)',\n ECM_BLOCK_STORAGE: '边缘计算存储监控(ECM_BLOCK_STORAGE)',\n ECM_LB: '边缘计算负载均衡(ECM_LB)',\n GSE: '游戏服务器伸缩(GSE)',\n TKE: '容器服务(TKE)',\n ECDN: '全站加速网络(ECDN)',\n WAF: 'Web 应用防火墙(WAF)',\n // others\n multi_scene: '多场景版',\n lite: '精简版',\n cloud_monitor: '云监控',\n cloud_log_service: '日志服务',\n real_user_monitoring: '前端性能监控',\n apm_monitoring: '应用性能监控',\n region: '地域',\n log_topic: '日志主题',\n syntax_rule: '语法规则',\n max_result_num: '最大结果条数',\n search_statement: '检索语句',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description: '按照具体的查询条件搜索实例,默认拉取前 20 条实例',\n // region\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-shenzhen-fsi': '华南地区(深圳金融)',\n 'ap-guangzhou-open': '华南地区(广州OPEN)',\n 'ap-shenzhen': '华南地区(深圳)',\n 'ap-qingyuan': '华南地区(清远)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-shanghai-fsi': '华东地区(上海金融)',\n 'ap-jinan-ec': '华东地区(济南)',\n 'ap-hangzhou-ec': '华东地区(杭州)',\n 'ap-nanjing': '华东地区(南京)',\n 'ap-fuzhou-ec': '华东地区(福州)',\n 'ap-hefei-ec': '华东地区(合肥)',\n 'ap-beijing': '华北地区(北京)',\n 'ap-tianjin': '华北地区(天津)',\n 'ap-beijing-fsi': '华北地区(北京金融)',\n 'ap-shijiazhuang-ec': '华北地区(石家庄)',\n 'ap-wuhan-ec': '华中地区(武汉)',\n 'ap-changsha-ec': '华中地区(长沙)',\n 'ap-zhengzhou-ec': '华中地区(郑州)',\n 'ap-chengdu': '西南地区(成都)',\n 'ap-chongqing': '西南地区(重庆)',\n 'ap-xian-ec': '西北地区(西安)',\n 'ap-shenyang-ec': '东北地区(沈阳)',\n 'ap-taipei': '港澳台地区(中国台北)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-tokyo': '亚太东北(东京)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-bangkok': '亚太东南(曼谷)',\n 'ap-jakarta': '亚太东南(雅加达)',\n 'na-siliconvalley': '美国西部(硅谷)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'eu-moscow': '欧洲地区(莫斯科)',\n 'ap-mumbai': '亚太南部(孟买)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'sa-saopaulo': '南美地区(圣保罗)',\n 'na-toronto': '北美地区(多伦多)',\n};\nexport default zh_CN;\n","const en_US = {\n language: 'Language',\n enable_intranet_API_mode: 'Enable Intranet API Mode',\n cloud_database: 'Cloud Database',\n cloud_load_balancer: 'Cloud Load Balancer',\n virtual_private_cloud: 'Virtual Private Cloud',\n content_delivery_network: 'Content Delivery Network',\n message_queue: 'Message Queue',\n direct_connect: 'Direct Connect',\n cloud_physical_machine: 'Cloud Physical Machine',\n elastic_mapReduce: 'Elastic MapReduce',\n edge_computing_machine: 'Edge Computing Machine',\n // namespace\n RUM: 'Real User Monitoring(RUM)',\n CLS: 'Cloud Log Service(CLS)',\n CVM: 'Cloud Virtual Machine(CVM)',\n CDB: 'TencentDB for MySQL(CDB)',\n CMONGO: 'TencentDB for MongoDB(CMONGO)',\n POSTGRES: 'TencentDB for PostgreSQL(POSTGRES)',\n REDIS: 'TencentDB for Redis(REDIS)',\n REDIS_MEM: 'TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)',\n SQLSERVER: 'TencentDB for SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: 'TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: 'TencentDB for TcaplusDB(TCAPLUS)',\n TDMYSQL: 'TDSQL for MySQL(TDMYSQL)',\n PCX: 'Peering Connection(PCX)',\n BWP: 'Bandwidth Packet(BWP)',\n NAT_GATEWAY: 'NAT Gateway(NAT_GATEWAY)',\n VPNGW: 'VPN Gateway(VPNGW)',\n VPNX: 'VPN Tunnel(VPNX)',\n DCG: 'Direct Connect Gateway(DCG)',\n CEIP_SUMMARY: 'Anycast EIP(CEIP_SUMMARY)',\n VPC_NET_DETECT: 'Network Detection(VPC_NET_DETECT)',\n VBC: 'Cloud Connect Network(VBC)',\n LB: 'Elastic IP(LB)',\n LB_PUBLIC: 'Public Network CLB(LB_PUBLIC)',\n LB_PRIVATE: 'Private Network CLB Layer-4 Protocol(LB_PRIVATE)',\n LOADBALANCE: 'Private Network CLB Layer-7 Protocol(LOADBALANCE)',\n CDN: 'Chinese Mainland Domain(CDN)',\n CDN_LOG_DATA: 'Province(CDN_LOG_DATA)',\n OV_CDN: 'Overseas Domain(OV_CDN)',\n SCF_V2: 'Serverless Cloud Function(SCF)',\n CFS: 'Cloud File Storage(CFS)',\n COS: 'Cloud Object Storage(COS)',\n CKAFKA: 'Message Queue CKafka(CKAFKA)',\n CMQ: 'Message Queue for Queue Service(CMQ)',\n CMQTOPIC: 'Message Queue for Topic Subscription(CMQTOPIC)',\n TDMQ: 'Tencent Distributed Message Queue for Pulsar(TDMQ)',\n TDMQ_ROCKETMQ: 'Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)',\n TDMQ_RABBITMQ: 'Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)',\n DCX: 'Direct Connect for Dedicated Tunnel(DCX)',\n DC: 'Direct Connect for Connection(DC)',\n CPM: 'Cloud Physical Machine(CPM)',\n BM_PCX: 'Cloud Physical Machine for Peering Connection(BM_PCX)',\n BM_LB: 'Cloud Physical Machine for Public Network CLB(BM_LB)',\n BM_INTRA_LB: 'Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)',\n CES: 'Elasticsearch Service(CES)',\n BLOCK_STORAGE: 'Cloud Block Storage(BLOCK_STORAGE)',\n APIGATEWAY: 'API Gateway(APIGATEWAY)',\n QAAP: 'Global Application Acceleration Platform(GAAP)',\n ECM: 'Edge Computing Machine for Computation and Networking(ECM)',\n ECM_BLOCK_STORAGE: 'Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)',\n ECM_LB: 'Edge Computing Machine for Layer-4 CLB(ECM_LB)',\n GSE: 'Game Server Elastic-scaling(GSE)',\n TKE: 'Tencent Kubernetes Engine(TKE)',\n ECDN: 'Enterprise Content Delivery Network(ECDN)',\n WAF: 'Web Application Firewall(WAF)',\n // others\n multi_scene: 'Multi-Scene',\n lite: 'Lite',\n cloud_monitor: 'Cloud Monitor',\n cloud_log_service: 'Cloud Log Service',\n real_user_monitoring: 'Real User Monitoring',\n apm_monitoring: 'Application Monitoring',\n region: 'Region',\n log_topic: 'Log Topic',\n syntax_rule: 'Syntax Rule',\n max_result_num: 'Maximum result number',\n search_statement: 'Search Statement',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description:\n 'Search for instances according to specific query conditions, and pull the first 20 instances by default',\n // region\n 'ap-guangzhou': 'South China(Guangzhou)',\n 'ap-shenzhen-fsi': 'South China(Shenzhen Finance)',\n 'ap-guangzhou-open': 'South China(Guangzhou OPEN)',\n 'ap-shenzhen': 'South China(Shenzhen)',\n 'ap-qingyuan': 'South China(Qingyuan)',\n 'ap-shanghai': 'East China(Shanghai)',\n 'ap-shanghai-fsi': 'East China(Shanghai Finance)',\n 'ap-jinan-ec': 'East China(Jinan)',\n 'ap-hangzhou-ec': 'East China(Hangzhou)',\n 'ap-nanjing': 'East China(Nanjing)',\n 'ap-fuzhou-ec': 'East China(Fuzhou)',\n 'ap-hefei-ec': 'East China(Hefei)',\n 'ap-beijing': 'North China region(Beijing)',\n 'ap-tianjin': 'North China region(Tianjin)',\n 'ap-beijing-fsi': 'North China region(Beijing Finance)',\n 'ap-shijiazhuang-ec': 'North China region(Shijiazhuang)',\n 'ap-wuhan-ec': 'Central China(Wuhan)',\n 'ap-changsha-ec': 'Central China(Changsha)',\n 'ap-zhengzhou-ec': 'Central China(Zhengzhou)',\n 'ap-chengdu': 'Southwest China(Chengdu)',\n 'ap-chongqing': 'Southwest China(Chongqing)',\n 'ap-xian-ec': \"Northwest region(Xi'an)\",\n 'ap-shenyang-ec': 'Northeast China(Shenyang)',\n 'ap-taipei': 'Hong Kong, Macau and Taiwan (China)(Taipei, China)',\n 'ap-hongkong': 'Hong Kong, Macau and Taiwan (China)(Hong Kong, China)',\n 'ap-seoul': 'Northeast Asia(Seoul)',\n 'ap-tokyo': 'Northeast Asia(Tokyo)',\n 'ap-singapore': 'Southeast Asia(Singapore)',\n 'ap-bangkok': 'Southeast Asia(Bangkok)',\n 'ap-jakarta': 'Southeast Asia(Jakarta)',\n 'na-siliconvalley': 'US West(Silicon Valley)',\n 'eu-frankfurt': 'Europe(Frankfurt)',\n 'eu-moscow': 'Europe(Northeastern Europe)',\n 'ap-mumbai': 'South Asia(Mumbai)',\n 'na-ashburn': 'US East(Virginia)',\n 'sa-saopaulo': 'South America(São Paulo)',\n 'na-toronto': 'North America(Toronto)',\n};\nexport default en_US;\n","import zh_CN from './zh_CN';\nimport en_US from './en_US';\n\nlet locale_language = 'zh-CN';\n\nexport enum Language {\n Chinese = 'zh-CN',\n English = 'en-US',\n}\n\nexport const t = (key: string) => {\n if (locale_language === Language.Chinese) {\n return zh_CN[key];\n }\n return en_US[key];\n};\n\nexport const setLanguage = (language: Language) => {\n locale_language = language;\n};\n\nexport const getLanguage = () => locale_language;\n","import moment from 'moment';\n\nconst HttpRequestMethod = 'POST';\nconst CanonicalUri = '/';\nconst CanonicalQueryString = '';\nconst ContentType = 'application/json';\n\nexport default class Sign {\n /**\n * Tencent Cloud API Signature v3 reference: https://cloud.tencent.com/document/api/213/30654\n * secretId: SecretId for identifying identity that is applied for on Cloud API Key.\n * A SecretId corresponds to a unique SecretKey, which is used to generate the request Signature.\n * secretKey: SecretKey is used to encrypt the signature string and verify the signature string on the server\n * service: the name of service, which must be consistent with the request domain, such as cvm\n * action: The name of the API for the desired operation\n * host: the domain of service,which must be consistent with the request domain, such as cvm.tencentcloudapi.com\n * version: PI version, such as 2017-03-12\n * payload: The request parameters\n */\n\n secretId: string;\n\n service: string;\n action: string;\n host: string;\n version: string;\n payload: Record | string;\n region: string;\n timestamp: number;\n date: string;\n backendSrv: any;\n datasourceId: Number;\n constructor(options) {\n const { secretId, service, action, host, version, payload = '', region, backendSrv, datasourceId } = options;\n this.secretId = secretId;\n // this.secretKey = secretKey;\n this.service = service;\n this.action = action;\n this.host = host;\n this.version = version;\n this.payload = typeof payload === 'string' ? payload : JSON.stringify(payload);\n this.region = region;\n const nowDate = moment().utc();\n this.timestamp = nowDate.unix();\n this.date = nowDate.format('YYYY-MM-DD');\n this.backendSrv = backendSrv;\n this.datasourceId = datasourceId;\n }\n\n async getHeader() {\n return this.getResourceHeader();\n }\n\n async getResourceHeader() {\n let res: { authorization?: string; token?: string; intranet?: boolean } = {};\n try {\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v3`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.host,\n Service: this.service,\n Version: this.version,\n Action: this.action,\n Region: this.region,\n Timestamp: this.timestamp,\n Method: HttpRequestMethod,\n Uri: CanonicalUri,\n Query: CanonicalQueryString,\n Body: this.payload,\n Headers: {\n 'content-type': ContentType,\n host: this.host,\n },\n },\n });\n res = resp.data;\n } catch (err) {}\n const { authorization, token, intranet } = res;\n const grafanaVersion = (window as any).grafanaBootData?.settings?.buildInfo?.version || '0.0.0';\n const headers = {\n Authorization: authorization,\n 'Content-Type': ContentType,\n 'X-TC-Action': this.action,\n 'X-TC-Timestamp': this.timestamp.toString(),\n 'X-TC-Version': this.version,\n 'X-TC-RequestClient': `GF_${grafanaVersion}_PL_CM_${process.env.TENCENT_CLOUD_MONITOR_GRAFANA_PLUGIN_VERSION}`,\n ...(this.region && {\n 'X-TC-Region': this.region,\n }),\n ...(token && {\n 'X-TC-Token': token,\n }),\n intranet: intranet,\n };\n return headers;\n }\n}\n","/**\n *\n * @param defaults 为对象\n * secretId\n * secretKey\n * action\n * region\n * host\n */\n\nexport default class SignV2 {\n defaults: any = {\n path: '/v2/index.php',\n method: 'POST',\n };\n backendSrv: any;\n datasourceId: Number;\n constructor(defaults: any = {}) {\n this.defaults = Object.assign(this.defaults, defaults);\n this.defaults.secretKey = '';\n this.backendSrv = defaults.backendSrv;\n this.datasourceId = defaults.datasourceId;\n }\n\n generateQueryString = async () => {\n return this.getResourceQueryString();\n };\n\n async getResourceQueryString() {\n let res: { path?: string; querystring?: any; host?: string; intranet?: boolean } = {};\n try {\n const { data } = this.defaults;\n const payload = typeof data === 'string' ? data : JSON.stringify(data);\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v2`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.defaults.host,\n Action: this.defaults.action,\n Version: this.defaults.version,\n Region: this.defaults.region,\n Method: this.defaults.method,\n Uri: this.defaults.path,\n Query: '',\n Body: payload,\n },\n });\n res = resp.data;\n } catch (err) {}\n const { path, querystring, host, intranet } = res;\n return { queryString: querystring, path: path, host: host, intranet: intranet };\n }\n}\n","import _ from 'lodash';\nimport qs from 'qs';\nimport { SERVICES } from '../tc_monitor';\nimport Sign from './sign';\nimport SignV2 from './signV2';\nimport { toDataQueryResponse } from '@grafana/runtime';\nimport { getLanguage } from '../../locale';\n\nimport packageInfo from '../plugin.json';\nexport const TcDataSourceId = packageInfo.id;\n\n// the services of tencentcloud monitor api\nconst FINACE_REGIONS = ['ap-shanghai-fsi', 'ap-shenzhen-fsi'];\nconst SERVICES_API_INFO = {\n api: {\n service: 'api',\n version: '2020-11-06',\n path: '/api',\n host: 'api.tencentcloudapi.com',\n },\n // monitor api info\n monitor: {\n service: 'monitor',\n version: '2018-07-24',\n path: '/monitor',\n host: 'monitor.tencentcloudapi.com',\n },\n // cls api info\n cls: {\n service: 'cls',\n version: '2020-10-16',\n path: '/cls',\n host: 'cls.tencentcloudapi.com',\n },\n // cvm api info\n cvm: {\n service: 'cvm',\n version: '2017-03-12',\n path: '/cvm',\n host: 'cvm.tencentcloudapi.com',\n },\n // cdb api info\n cdb: {\n service: 'cdb',\n version: '2017-03-20',\n path: '/cdb',\n host: 'cdb.tencentcloudapi.com',\n },\n // pcx api info\n pcx: {\n service: 'pcx',\n version: '',\n path: '/pcx',\n host: 'vpc.api.qcloud.com',\n },\n // vpc api info\n vpc: {\n service: 'vpc',\n version: '2017-03-12',\n path: '/vpc',\n host: 'vpc.tencentcloudapi.com',\n },\n // mongodb api info\n mongodb: {\n service: 'mongodb',\n version: '2019-07-25',\n path: '/mongodb',\n host: 'mongodb.tencentcloudapi.com',\n },\n // 负载均衡 clb\n clb: {\n service: 'clb',\n version: '2018-03-17',\n path: '/clb',\n host: 'clb.tencentcloudapi.com',\n },\n // postgresql api info\n postgres: {\n service: 'postgres',\n version: '2017-03-12',\n path: '/postgres',\n host: 'postgres.tencentcloudapi.com',\n },\n // cdn info\n cdn: {\n service: 'cdn',\n version: '2018-06-06',\n path: '/cdn',\n host: 'cdn.tencentcloudapi.com',\n },\n // redis info\n redis: {\n service: 'redis',\n version: '2018-04-12',\n path: '/redis',\n host: 'redis.tencentcloudapi.com',\n },\n scf: {\n service: 'scf',\n version: '2018-04-16',\n path: '/scf',\n host: 'scf.tencentcloudapi.com',\n },\n cfs: {\n service: 'cfs',\n version: '2019-07-19',\n path: '/cfs',\n host: 'cfs.tencentcloudapi.com',\n },\n ckafka: {\n service: 'ckafka',\n version: '2019-08-19',\n path: '/ckafka',\n host: 'ckafka.tencentcloudapi.com',\n },\n // 专线接入实例列表\n dc: {\n service: 'dc',\n version: '2018-04-10',\n path: '/dc',\n host: 'dc.tencentcloudapi.com',\n },\n // cynosdb实例列表\n cynosdb: {\n service: 'cynosdb',\n version: '2019-01-07',\n path: '/cynosdb',\n host: 'cynosdb.tencentcloudapi.com',\n },\n // sqlserver实例列表\n sqlserver: {\n service: 'sqlserver',\n version: '2018-03-28',\n path: '/sqlserver',\n host: 'sqlserver.tencentcloudapi.com',\n },\n // bm实例列表\n bm: {\n service: 'bm',\n version: '2018-04-23',\n path: '/bm',\n host: 'bm.tencentcloudapi.com',\n },\n bmeip: {\n service: 'bmeip',\n version: '2018-06-25',\n path: '/bmeip',\n host: 'bmeip.tencentcloudapi.com',\n },\n bmvpc: {\n service: 'bmvpc',\n version: '2018-06-25',\n path: '/bmvpc',\n host: 'bmvpc.tencentcloudapi.com',\n },\n bmlb: {\n service: 'bmlb',\n version: '2018-06-25',\n path: '/bmlb',\n host: 'bmlb.tencentcloudapi.com',\n },\n // ES集群实例\n es: {\n service: 'es',\n version: '2018-04-16',\n path: '/es',\n host: 'es.tencentcloudapi.com',\n },\n // MapReduce\n emr: {\n service: 'emr',\n version: '2019-01-03',\n path: '/emr',\n host: 'emr.tencentcloudapi.com',\n },\n // CMQ消息队列\n cmq: {\n service: 'cmq',\n version: '2019-03-04',\n path: '/cmq',\n host: 'cmq.tencentcloudapi.com',\n },\n cbs: {\n service: 'cbs',\n version: '2017-03-12',\n path: '/cbs',\n host: 'cbs.tencentcloudapi.com',\n },\n // tcaplus实例\n tcaplusdb: {\n service: 'tcaplusdb',\n version: '2019-08-23',\n path: '/tcaplusdb',\n host: 'tcaplusdb.tencentcloudapi.com',\n },\n // tcaplus实例\n dcdb: {\n service: 'dcdb',\n version: '2018-04-11',\n path: '/dcdb',\n host: 'dcdb.tencentcloudapi.com',\n },\n // apigateway实例\n apigateway: {\n service: 'apigateway',\n version: '2018-08-08',\n path: '/apigateway',\n host: 'apigateway.tencentcloudapi.com',\n },\n tdmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rabbitmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rocketmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n gaap: {\n service: 'gaap',\n version: '2018-05-29',\n path: '/gaap',\n host: 'gaap.tencentcloudapi.com',\n },\n ecm: {\n service: 'ecm',\n version: '2019-07-19',\n path: '/ecm',\n host: 'ecm.tencentcloudapi.com',\n },\n gse: {\n service: 'gse',\n version: '2019-11-12',\n path: '/gse',\n host: 'gse.tencentcloudapi.com',\n },\n lighthouse: {\n service: 'lighthouse',\n version: '2020-03-24',\n path: '/lighthouse',\n host: 'lighthouse.tencentcloudapi.com',\n },\n tsf: {\n service: 'tsf',\n version: '2018-03-26',\n path: '/tsf',\n host: 'tsf.tencentcloudapi.com',\n },\n rum: {\n service: 'rum',\n version: '2021-06-22',\n path: '/rum',\n host: 'rum.tencentcloudapi.com',\n },\n tke: {\n service: 'tke',\n version: '2018-05-25',\n path: '/tke',\n host: 'tke.tencentcloudapi.com',\n },\n ecdn: {\n service: 'ecdn',\n version: '2019-10-12',\n path: '/ecdn',\n host: 'ecdn.tencentcloudapi.com',\n },\n waf: {\n service: 'waf',\n version: '2018-01-25',\n path: '/waf',\n host: 'waf.tencentcloudapi.com',\n },\n region: {\n service: 'region',\n version: '2022-06-27',\n path: '/region',\n host: 'region.tencentcloudapi.com',\n },\n apm: {\n service: 'apm',\n version: '2021-06-22',\n path: '/apm',\n host: 'apm.tencentcloudapi.com',\n },\n // 不单独定义lb,因为lb同样用的是vpc的配置,同上\n // lb: {\n // service: 'lb',\n // version: '2017-03-12',\n // path: '/lb',\n // host: 'vpc.tencentcloudapi.com'\n // }\n // 负载均衡四层协议 lbPrivate\n // lbPrivate: {\n // service: 'lbPrivate',\n // version: '2018-03-17',\n // path: '/clb',\n // host: 'clb.tencentcloudapi.com',\n // },\n};\n\nconst FINACE_HOST = {\n scf: {\n 'ap-shanghai-fsi': {\n path: '/fsi/scf/shanghai',\n host: 'scf.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/scf/shenzhen',\n host: 'scf.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cfs: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cfs/shanghai',\n host: 'cfs.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cfs/shenzhen',\n host: 'cfs.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n ckafka: {\n 'ap-shanghai-fsi': {\n path: '/fsi/ckafka/shanghai',\n host: 'ckafka.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/ckafka/shenzhen',\n host: 'ckafka.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n clb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/clb/shanghai',\n host: 'clb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/clb/shenzhen',\n host: 'clb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n mongodb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/mongodb/shanghai',\n host: 'mongodb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/mongodb/shenzhen',\n host: 'mongodb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n vpc: {\n 'ap-shanghai-fsi': {\n path: '/fsi/vpc/shanghai',\n host: 'vpc.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/vpc/shenzhen',\n host: 'vpc.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cvm: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cvm/shanghai',\n host: 'cvm.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cvm/shenzhen',\n host: 'cvm.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cdb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cdb/shanghai',\n host: 'cdb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cdb/shenzhen',\n host: 'cdb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n monitor: {\n 'ap-shanghai-fsi': {\n path: '/fsi/monitor/shanghai',\n host: 'monitor.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/monitor/shenzhen',\n host: 'monitor.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n postgres: {\n 'ap-shanghai-fsi': {\n path: '/fsi/postgres/shanghai',\n host: 'postgres.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/postgres/shenzhen',\n host: 'postgres.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n emr: {\n 'ap-shanghai-fsi': {\n path: '/fsi/emr/shanghai',\n host: 'emr.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/emr/shenzhen',\n host: 'emr.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cmq: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cmq/shanghai',\n host: 'cmq.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cmq/shenzhen',\n host: 'cmq.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cls: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cls/shanghai',\n host: 'cls.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cls/shenzhen',\n host: 'cls.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n};\n\n// 获取对应业务的 API 接口信息\nexport function GetServiceAPIInfo(region, service) {\n return { ...(SERVICES_API_INFO[service] || {}), ...getHostAndPath(region, service) };\n}\n\n// get host and path for finance regions\nfunction getHostAndPath(region, service) {\n if (_.indexOf(FINACE_REGIONS, region) === -1) {\n return {};\n }\n return (\n _.find(\n _.find(FINACE_HOST, (__, key) => key === service),\n (__, key) => key === region\n ) || {}\n );\n}\n\n// 变量替换指定实例按照那个字段展示\nexport const VARIABLE_ALIAS = 'instancealias';\n\nexport function GetServiceFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace),\n 'service'\n );\n}\n// 处理存量target中保存的qce/cvm\nexport function GetLabelFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace || service.label === namespace),\n 'label'\n );\n}\n// parse template variable query params\nexport function ParseMetricQuery(query = '') {\n if (!query) {\n return {};\n }\n const result = {};\n const queries = _.split(query, '&');\n _.forEach(queries, (item) => {\n const str = _.split(item, '=');\n if (_.trim(_.get(str, '0', ''))) {\n let val = _.trim(_.get(str, '1', ''));\n try {\n val = JSON.parse(val);\n } catch (e) {\n // console.log({ val });\n }\n result[_.toLower(_.trim(_.get(str, '0', '')))] = val;\n }\n });\n return result;\n}\n\n// parse template variable regex params\nexport function ParseMetricRegex(regex = '') {\n if (!regex) {\n return [];\n }\n regex = regex.replace(/:/g, ':');\n regex = regex.replace(/,/g, ',');\n const regexParams = ParseMetricQuery(regex);\n const result: any[] = [];\n _.forEach(regexParams, (value, key) => {\n if (key === 'tag:tag-key') {\n const valuesArr = _.split(value, ',');\n _.forEach(valuesArr, (item) => {\n const temp = _.split(item, ':');\n if (temp.length === 2) {\n result.push({ Name: `tag:${temp[0]}`, Values: temp.slice(1) });\n }\n });\n } else {\n result.push({ Name: key, Values: _.split(value, ',') });\n }\n });\n return result;\n}\n\n// get the actual value of template variable\nfunction parseVariableFormat(varname: string) {\n varname = String(varname || '');\n // $varname\n let varFlag = false;\n const regResult1 = varname.match(/^\\${?(\\w+)}?/);\n if (regResult1) {\n varFlag = true;\n varname = `\\$\\{${regResult1[1]}\\:json\\}`;\n }\n // [[varname]]\n const regResult2 = varname.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/);\n if (regResult2) {\n varFlag = true;\n varname = `\\$\\{${regResult2[1]}\\:json\\}`;\n }\n return { varname, varFlag };\n}\n\nexport function ReplaceVariable(templateSrv, scopedVars, field, multiple = false) {\n const { varname, varFlag } = parseVariableFormat(field);\n let replaceVar = templateSrv.replace(varname, scopedVars);\n if (varFlag) {\n try {\n replaceVar = JSON.parse(replaceVar);\n } catch (error) {}\n }\n if (!multiple && _.isArray(replaceVar)) {\n replaceVar = _.get(replaceVar, '0', '');\n }\n return replaceVar;\n}\n\n// get dimensions for instance query param\nexport function GetDimensions(obj) {\n if (_.isEmpty(obj)) {\n return [];\n }\n const dimensions: any[] = [];\n _.forEach(obj, (item) => {\n if (item.Value !== null && item.Value !== undefined && item.Value !== '') {\n dimensions.push({ Name: item.Name, Value: typeof item.Value === 'string' ? item.Value : `${item.Value}` });\n }\n });\n return dimensions;\n}\n\n// parse query data result for panel\nexport function ParseQueryResult(response, instances: any[] = [], timeshift = 0) {\n const instanceList = _.cloneDeep(instances);\n\n const dataPoints = _.get(response, 'DataPoints', []);\n return _.map(dataPoints, (dataPoint) => {\n let instanceAliasValue = _.get(dataPoint, 'Dimensions[0].Value');\n for (let i = 0; i < instanceList.length; i++) {\n if (isInstanceMatch(instanceList[i], _.get(dataPoint, 'Dimensions', []))) {\n instanceAliasValue = instanceList[i]._InstanceAliasValue;\n instanceList.splice(i, 1);\n break;\n }\n }\n return {\n target: `${response.MetricName} - ${instanceAliasValue}`,\n datapoints: parseDataPoint(dataPoint, timeshift),\n };\n });\n}\n\n// parse tencent cloud monitor response data to grafana panel data\nfunction parseDataPoint(dataPoint, timeshift = 0) {\n const timestamps = _.get(dataPoint, 'Timestamps', []);\n const values = _.get(dataPoint, 'Values', []);\n const result = timestamps.map((timestamp, index) => {\n return [values[index], timestamp * 1000 + timeshift];\n });\n\n return result;\n}\n\n// check whether instance is match or not\nfunction isInstanceMatch(instance, dimensions) {\n let match = true;\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < dimensions.length; i++) {\n if (_.get(instance, dimensions[i].Name, '').toString() !== dimensions[i].Value.toString()) {\n match = false;\n break;\n }\n }\n return match;\n}\n\n/**\n * 检查某个变量是否模板变量,即是否匹配 ${varnam} 或 [[varname]]\n *\n * @param field 变量字段名\n */\nexport function isVariable(value) {\n if (value && (value.match(/^\\${?(\\w+)}?/) || value.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/))) {\n return true;\n }\n return false;\n}\n\n/**\n * 腾讯云 API 3.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParams(options, service, signObj: any = {}, secretId, datasourceId, backendSrv) {\n const signParams = {\n secretId,\n payload: options.data || '',\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['service', 'host', 'version']) || {}),\n backendSrv,\n datasourceId,\n region: 'ap-guangzhou',\n };\n const sign = new Sign(signParams);\n const { intranet, ...headerSigned } = await sign.getHeader();\n // 传入x-tc-language实现国际化\n // zh-CN en-US ko-KR ja-JP\n options.headers = Object.assign(options.headers || {}, { ...headerSigned }, { 'x-tc-language': getLanguage() });\n options.method = 'POST';\n if (intranet) {\n options.url += '-internal';\n }\n return options;\n}\n\n/**\n * 腾讯云 API 2.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParamsV2(\n options: any = {},\n service,\n signObj: any = {},\n secretId,\n datasourceId,\n backendSrv\n) {\n const data = options.data || {};\n const signParams = {\n secretId,\n data,\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['host', 'version']) || {}),\n backendSrv,\n datasourceId,\n };\n options.method = 'POST';\n const sign = new SignV2(signParams);\n options.headers = Object.assign(options.headers || {}, { 'Content-Type': 'application/x-www-form-urlencoded' });\n const { queryString, path, host, intranet } = await sign.generateQueryString();\n options.data = qs.stringify({\n ...options.data,\n ...queryString,\n ...(host && { host: host }),\n });\n if (intranet) {\n // TODO: qcloud.com intranet host\n console.log('got intranet for sign v2');\n }\n options.url += path;\n return options;\n}\n\nexport function SliceLength(total = 0, len = 1) {\n const result: any[] = [];\n const num = Math.ceil(total / len);\n for (let i = 1; i < num; i++) {\n result.push({ Offset: len * i });\n }\n return result;\n}\n\nexport const FilterKeys = ['Namespace', 'Offset', 'Limit', 'SearchKey', 'Description', 'OrderBy', 'Order'];\n\nexport function parseDataFromBackendPlugin(res) {\n const { data } = toDataQueryResponse(res);\n return {\n authorization: _.get(data, '[0].meta.custom', ''),\n };\n}\n\n/** 当前环境是否为非生产环境 */\nexport const IS_DEVELOPMENT_ENVIRONMENT = !(process.env.NODE_ENV === 'production');\n\n/**\n * @link https://github.com/grafana/grafana/blob/3c6e0e8ef85048af952367751e478c08342e17b4/packages/grafana-data/src/types/app.ts#L12\n */\nexport enum CoreApp {\n CloudAlerting = 'cloud-alerting',\n UnifiedAlerting = 'unified-alerting',\n Dashboard = 'dashboard',\n Explore = 'explore',\n Unknown = 'unknown',\n PanelEditor = 'panel-editor',\n PanelViewer = 'panel-viewer',\n}\n","import _ from 'lodash';\nimport moment from 'moment';\nimport DatasourceInterface from '../MonitorDatasource';\nimport {\n GetRequestParams,\n GetServiceAPIInfo,\n ReplaceVariable,\n GetDimensions,\n ParseQueryResult,\n SliceLength,\n} from '../../common/constants';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { MetricQuery } from './types';\nimport { getNamesapceFromService, getTimeShiftInMs } from '../../common/utils';\nimport { Language, setLanguage } from '../../../locale';\n\nexport interface TemplateQueryIdType {\n instance: string;\n listener?: string;\n}\n\ninterface queryConfigType {\n dim_KeyInStorage: string;\n dim_KeyInTarget?: string;\n dim_KeyInIns?: string;\n dim_KeyInMap: string;\n}\n\nexport abstract class BaseDatasource implements DatasourceInterface {\n Namespace?: string;\n service: string;\n instanceListCache: any[] = [];\n extraMetricDims: string[] = [];\n url: string;\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n secretId: string;\n checkKeys: string[] = [];\n MetricReqConfig: {\n resultFilter?: Function;\n } = {};\n extrasAlias?: string[] = [];\n /*\n 一个配置:(用于处理除了InstanceId之外的)(Record中的key是指标修正之后的维度,即通过InvalidDemsion处理后)\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。为空则取即通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。即:templateQueryIdMap中内容。联合上面2的内容筛选出原始sourceMap\n 4 通过这个dim和sourceMap获取维度值。即sourceMap[dim]\n */\n queryMonitorExtraConfg: Record = {};\n CandiateDimensions?: Record = {};\n\n InstanceReqConfig?: {\n service?: string;\n action: string;\n responseField: string;\n interceptor?: {\n request?: (params: unknown) => unknown;\n response?: (data: unknown) => unknown;\n };\n };\n InvalidDimensions?: Record;\n\n abstract InstanceAliasList: string[];\n abstract templateQueryIdMap: TemplateQueryIdType; // 必须为标识\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n this.url = instanceSettings.url;\n this.secretId = (instanceSettings.jsonData || {}).secretId || '';\n setLanguage(instanceSettings.jsonData.language || Language.Chinese);\n }\n\n get namespace() {\n // 需要注意的是this.service来自于原型上,在实例中导入时注入\n return this.Namespace || getNamesapceFromService(this.service);\n }\n\n // 获取额外要显示到图例里的内容\n getOtherAlias(instance: any, target: any): string {\n let result = '';\n const alias = instance._InstanceAliasValue;\n this.extrasAlias?.forEach((extra) => {\n const extraAlia = this.getVariable(target[extra]);\n if (extraAlia && alias.indexOf(extraAlia) === -1) {\n result += ` - ${extraAlia}`;\n }\n });\n return result;\n }\n\n /* 格式化模板变量上的显示 */\n getAliasValue(instance: Record, alias: string) {\n const result = instance[alias];\n return Array.isArray(result) ? result.join() : result;\n }\n\n formatVarDisplay(instance: Record, displayTpl: string | undefined, instanceAlias: string) {\n // 获取display=aaa${InstanceName}bbb${InstanceId}ccc\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.InstanceAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(instance, b);\n });\n }\n return this.getAliasValue(instance, instanceAlias);\n }\n /**\n * @param query 模板变量配置填写的 Query 参数对象,由顶层将字符串转换为了对象\n */\n async metricFindQuery(query: MetricQuery, regex?: string) {\n const { action, namespace, display, payload = {} } = query;\n let { region, instancealias = this.templateQueryIdMap.instance } = query;\n if (!action || !namespace) {\n return [];\n }\n // 支持payload里传入模板变量\n if (_.isObject(payload)) {\n _.forEach(payload, (value, key) => {\n payload[key] = _.isString(value) ? this.getVariable(value) : value;\n });\n }\n\n // 查询地域列表\n const regionQuery = action.match(/^DescribeRegions$/i);\n if (regionQuery) {\n return this.getRegions();\n }\n\n region = this.getVariable(region); // 将模板region转换为真实值\n\n // 查询实例列表\n if (region && action.match(/^DescribeInstances/i)) {\n const result = await this.getVariableInstances(region, payload);\n instancealias = this.InstanceAliasList.includes(instancealias) ? instancealias : this.templateQueryIdMap.instance;\n\n const res = result.flatMap((item) => {\n const insAlias = this.formatVarDisplay(item, display, instancealias);\n\n item._InstanceAliasValue = insAlias; // FIXME:\n\n if (!item[instancealias]) return [];\n return [\n {\n text: insAlias,\n value: item[this.templateQueryIdMap.instance],\n },\n ];\n });\n\n // 缓存全量实例列表\n await instanceStorage.setInstance(this.service, result);\n return res;\n }\n\n // 在instance实例的基础上查询其他数据\n let instance = this.getVariable(query['instance']);\n if (_.isArray(instance)) instance = instance[0]; // 有额外维度,仅支持实例单选情况\n if (region && action && instance) {\n try {\n // instance = JSON.parse(instance);\n const instanceCache = await instanceStorage.getInstance(this.service);\n\n instance = _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === instance)) ?? {};\n // eslint-disable-next-line no-empty\n } catch (error) {}\n return this.fetchMetricData(action, region, instance, query);\n }\n\n return Promise.resolve([]);\n }\n // 获取指标数据\n async fetchMetricData(action: string, region: string, instance: any, query?: any) {\n return [];\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数\n * @return 返回数据数组,示例如下\n * [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n */\n async dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options) {\n for (let key of dimKeys) {\n let keyTmp = key;\n const invalidDim = this.InvalidDimensions || this.getInvalidDimensions(this, target[service]);\n if (invalidDim[key]) {\n // 从【维度中】的字段到【实例中】字段的映射。 { functionName: FunctionName }\n keyTmp = invalidDim[key];\n ins[key] = ins[keyTmp];\n }\n\n let extraDimValue = this.getVariable(target[service][keyTmp]);\n if (this.queryMonitorExtraConfg[keyTmp]) {\n const {\n dim_KeyInStorage,\n dim_KeyInTarget = keyTmp,\n dim_KeyInMap,\n dim_KeyInIns,\n } = this.queryMonitorExtraConfg[keyTmp];\n let extraIns = ReplaceVariable(this.templateSrv, options.scopedVars, target[service][dim_KeyInTarget], true);\n let extraSourceMap: any = {};\n try {\n extraSourceMap = JSON.parse(extraIns); // 兼容json字符串的 形式\n } catch (error) {\n if (_.isArray(extraIns)) extraIns = extraIns[0]; // 如果多个,取第一个。除了实例ID 暂不支持其他纬度多选\n const extraStorage = await instanceStorage.getExtraStorage(this.service, dim_KeyInStorage);\n\n extraSourceMap =\n extraStorage?.find((item) => {\n if (_.isArray(item[dim_KeyInMap])) {\n return item[dim_KeyInMap][0] === extraIns;\n }\n return item[dim_KeyInMap] === extraIns;\n }) ?? {};\n }\n const isStringOrNumber = _.isString(extraSourceMap) || _.isNumber(extraSourceMap);\n // 增加ins实例之外的alias,填入到ins._InstanceAliasValue\n const insAlias = ins._InstanceAliasValue;\n const otherAlias = isStringOrNumber ? extraSourceMap : extraSourceMap._InstanceAliasValue;\n if (otherAlias && insAlias.indexOf(otherAlias) === -1) {\n ins._InstanceAliasValue += ` - ${otherAlias}`;\n }\n\n extraDimValue = isStringOrNumber ? extraSourceMap : extraSourceMap?.[dim_KeyInIns || keyTmp];\n } else {\n ins._InstanceAliasValue += this.getOtherAlias(ins, target[service]);\n }\n\n if (\n getTimeShiftInMs(target[service].timeshift) > 0 &&\n ins._InstanceAliasValue.indexOf(target[service].timeshift) === -1\n ) {\n ins._InstanceAliasValue += `_${target[service].timeshift}`;\n }\n // 设置instance,针对额外的维度,需要注意模板变量的值\n // ins[key] = ins[keyTmp] ?? extraDimValue;\n ins[key] = this.getDimensionsVal(ins, keyTmp, extraDimValue);\n // cynosdb产品接口返回维度和入参不一致\n if (this.checkKeys.length > 0) {\n this.checkKeys.forEach((Ekey) => {\n ins[Ekey] = ins[key];\n });\n }\n dimensionObject[key] = { Name: key, Value: ins[key] };\n }\n // 处理waf逻辑\n const tt = this.getOwnDimension(dimensionObject, ins);\n if (tt) {\n return tt;\n }\n return dimensionObject;\n }\n getOwnDimension(dimensionObject: any, ins: any) {\n return null;\n }\n getDimensionsVal(ins: Record, key: string, extraDimValue: string) {\n let dimVal = ins[key];\n if (_.isEmpty(dimVal) && this.CandiateDimensions[key]) {\n dimVal = ins[this.CandiateDimensions[key]];\n }\n return dimVal ?? extraDimValue;\n }\n query(options: any) {\n const service = this.service!; // 强制声明非空\n\n const queries = _.filter(options.targets, (item) => {\n // 过滤无效的查询 target\n return (\n item.hide !== true &&\n !!item.namespace &&\n !!item[service].metricName &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].region, false)) &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].instance, true))\n );\n })\n .reduce((prev, target) => {\n if (getTimeShiftInMs(target[service].timeshift) > 0) {\n const cloneTarget = _.cloneDeep(target);\n cloneTarget[service].timeshift = '';\n return [...prev, cloneTarget, target];\n }\n return [...prev, target];\n }, [])\n .map(async (target) => {\n // 实例 instances 可能为模板变量,需先获取实际值\n // 针对JSON字符串和id的形式,分开做处理\n let instances = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].instance, true);\n const instanceCache = await instanceStorage.getInstance(this.service);\n const timeshift = getTimeShiftInMs(target[service].timeshift);\n\n instances = [].concat(instances).map((inst) => {\n try {\n return JSON.parse(inst); // 兼容json字符串的 形式\n } catch (error) {\n // 如果没拿到缓存,取默认实例组\n if (!instanceCache) return this.getDefaultInsObj?.(inst);\n return _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === inst)) ?? {};\n }\n });\n const region = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].region, false);\n const insInReq: any = [];\n for (let ins of instances) {\n const dimensionObject = target[service].dimensionObject;\n // 处理dimensions的值\n const dimKeys = Object.keys(dimensionObject);\n const dimResult = await this.dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options);\n\n insInReq.push([{ Dimensions: GetDimensions(dimResult) }]);\n }\n const data = {\n StartTime: moment(options.range.from).subtract(timeshift).format(),\n EndTime: moment(options.range.to).subtract(timeshift).format(),\n Period: target[service].period || 300,\n Instances: _.flatMap(insInReq),\n Namespace: target.namespace,\n MetricName: target[service].metricName,\n };\n return this.getMonitorData(data, region, instances, target[service], options);\n });\n\n if (queries.length === 0) {\n return [];\n }\n\n return Promise.all(queries)\n .then((responses) => {\n return _.flatten(responses);\n })\n .catch((error) => {\n return [];\n });\n }\n getDefaultInsObj(ins: string) {\n return {} as any;\n }\n getInstanceReqConfig(selfIns: any) {\n return {} as any;\n }\n getInvalidDimensions(selfIns: any, target?: any) {\n return {} as any;\n }\n // 获取某个变量的实际值,this.templateSrv.replace() 函数返回实际值的字符串\n getVariable(metric?: string) {\n const rs = this.templateSrv.replace((metric || '').trim());\n const valStr = rs.match(/\\{([\\w-,]+)\\}/);\n // 判断是否为多选\n if (valStr) {\n return valStr[1].split(',');\n }\n return rs;\n }\n\n /**\n * 获取 监控数据\n * @param params 获取监控数据的请求参数\n * @param region 地域信息\n * @param instances 实例列表,用于对返回结果的匹配解析\n */\n getMonitorData(params, region, instances, target, options) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { action: 'GetMonitorData', region }\n ).then((response) => {\n return ParseQueryResult(response, instances, timeshift);\n });\n }\n\n getRegions(): any {\n return this.doRequest(\n {\n url: this.url + '/cvm',\n },\n 'cvm',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getMetrics(region = 'ap-guangzhou'): Promise {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: this.namespace,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n ).then((response) => {\n const res = _.filter(\n _.filter(response.MetricSet || [], (item) => !(item.Namespace !== this.namespace || !item.MetricName))\n );\n const resFilterFn = this.MetricReqConfig.resultFilter;\n if (resFilterFn) {\n return res.map((item) => resFilterFn(item));\n }\n return res;\n });\n }\n\n getInstances(region, params = {}) {\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n params =\n service === 'waf'\n ? { Offset: 0, Limit: 100, Edition: 'sparta-waf', ...params }\n : { Offset: 0, Limit: 100, ...params };\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n // 处理异常,则不按正常的情况处理,直接抛出错误\n if (response?.Error) {\n console.error(response.Error);\n return response;\n }\n\n let result;\n // 先,field处理\n if (field) {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n }\n\n // 后,拦截器处理\n if (interceptor?.response) {\n result = interceptor.response(result);\n }\n return result;\n });\n }\n\n getVariableInstances(region, query = {}): Promise {\n let result: any[] = [];\n const params = { ...{ Offset: 0, Limit: 100 }, ...query };\n\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n const total =\n response.TotalCount ?? response.TotalCnt ?? response.TotalNumber ?? _.get(response, `Result.TotalCount`) ?? 0;\n if (result.length >= total) {\n return interceptor?.response ? interceptor.response(result) : result;\n } else {\n const param = SliceLength(total, params?.Limit || 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, { ...item, ...query }));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return interceptor?.response ? interceptor.response(result) : result;\n })\n .catch((error) => {\n return interceptor?.response ? interceptor.response(result) : result;\n });\n }\n });\n }\n\n // 检查某变量字段是否有值\n isValidConfigField(field: string) {\n return field && field.length > 0;\n }\n\n testDatasource() {\n // const { service = this.service, action } = this.InstanceReqConfig;\n // const serviceInfo = GetServiceAPIInfo('ap-guangzhou', service);\n\n if (!this.isValidConfigField(this.secretId)) {\n return {\n service: this.service,\n status: 'error',\n message: 'The SecretId/SecretKey field is required.',\n };\n }\n\n return Promise.all([\n this.getRegions(),\n this.getMetrics(),\n // this.doRequest(\n // {\n // url: this.url + serviceInfo.path,\n // data: {\n // Offset: 0,\n // Limit: 1,\n // },\n // },\n // service,\n // { region: 'ap-guangzhou', action },\n // ),\n this.getInstances('ap-guangzhou', {\n Offset: 0,\n Limit: 1,\n }),\n ])\n .then((responses) => {\n const cvmErr = _.get(responses, '[0].Error', {});\n const monitorErr = _.get(responses, '[1].Error', {});\n const serviceErr = _.get(responses, '[2].Error', {});\n // const cvmAuthFail = _.get(cvmErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const monitorAuthFail = _.get(monitorErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const serviceAuthFail = _.get(serviceErr, 'Code', '').indexOf('AuthFailure') !== -1;\n const cvmAuthFail = _.get(cvmErr, 'Code', '');\n const monitorAuthFail = _.get(monitorErr, 'Code', '');\n const serviceAuthFail = _.get(serviceErr, 'Code', '');\n if (cvmAuthFail || monitorAuthFail || serviceAuthFail) {\n const messages: any[] = [];\n if (cvmAuthFail) {\n messages.push(_.get(cvmErr, 'Code'));\n }\n if (monitorAuthFail) {\n messages.push(_.get(monitorErr, 'Code'));\n }\n if (serviceAuthFail) {\n messages.push(_.get(serviceErr, 'Code'));\n }\n const message = _.join(_.compact(_.uniq(messages)), '; ');\n return {\n service: this.service,\n status: 'error',\n message,\n };\n } else {\n return {\n namespace: this.namespace,\n service: this.service,\n status: 'success',\n message: `Successfully queried the ${this.service} service.`,\n title: 'Success',\n };\n }\n })\n .catch((error) => {\n let message = `${this.service} service:`;\n message += error.statusText ? error.statusText + '; ' : '';\n if (_.get(error, 'data.error.code', '')) {\n message += error.data.error.code + '. ' + error.data.error.message;\n } else if (_.get(error, 'data.error', '')) {\n message += error.data.error;\n } else if (_.get(error, 'data', '')) {\n message += error.data;\n } else {\n message += `Cannot connect to ${this.service} service.`;\n }\n return {\n service: this.service,\n status: 'error',\n message: message,\n };\n });\n }\n\n async doRequest(options, service, signObj: any = {}) {\n options = await GetRequestParams(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data.Response', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","import _ from 'lodash';\nimport { SERVICES } from '../tc_monitor';\n\n/* 从分页数据获取全量数据 */\nconst PageSize = 50;\nfunction getFieldsValue(value, fields) {\n return fields.map((item) => _.get(value, item, _.get(value, `Result.${item}`, [])));\n}\n\nexport async function fetchAllFactory(fetcher: (args: any) => Promise, _params: any, field: string | string[]) {\n const params = { ..._.omit(_params, ['isOffsetPage']) };\n params.Limit = params.Limit || PageSize; // 默认给个Limit大小为50\n params.Offset = params.Offset ?? 0; // 默认给个Offset为0\n\n // 第一次请求,获取总数\n const rs = (await fetcher(params)) ?? {};\n const fields = Array.isArray(field) ? field : [field];\n\n // rs.TotalCount = rs.TotalCount ?? rs.Result.TotalCount ?? [];\n // const { TotalCount } = rs;\n const TotalCount = rs.TotalCount ?? rs.Result?.TotalCount ?? rs.TotalCnt ?? rs.Result?.TotalCnt ?? 0;\n const firstLists = getFieldsValue(rs, fields);\n\n if (TotalCount === 0 || firstLists[0].length === TotalCount) {\n // 只有一页,结束\n return firstLists;\n }\n\n // 批量请求\n const delta = TotalCount - firstLists[0].length;\n const batchCount = Math.ceil(delta / PageSize);\n const pmList = new Array(batchCount).fill(0).map((_, index) => {\n params.Offset = _params.isOffsetPage ? 1 + index : (1 + index) * params.Limit;\n return fetcher(params);\n });\n\n // 合并\n const resultList = await Promise.all(pmList); // [ {a: [], b[] }, { a: [], b:[] }]\n\n return resultList.reduce((acc, cur) => {\n const lists = getFieldsValue(cur, fields);\n // [[], [], []] + [[], [], []]\n acc.forEach((list, index) => list.push(...lists[index]));\n return acc;\n }, firstLists);\n}\n\n/**\n * 实例列表接口入参处理\n *\n * @param queries 表单键入内容\n * @param isFilter 是否需要设置为Filters格式\n */\nexport function instanceQueryParamsBaseParse(queries: any, isFilter: boolean) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n } else {\n params[key] = _.uniq(item);\n }\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n } else {\n params[key] = _.get(item, 'value');\n }\n }\n } else if (item !== null && item !== undefined && item !== '') {\n if (isFilter) {\n Filters.push({ Name: key, Values: item });\n } else {\n params[key] = item;\n }\n }\n });\n if (isFilter && Filters.length > 0) {\n params.Filters = Filters;\n return params;\n }\n }\n return params;\n}\n\nexport function getNamesapceFromService(serviceName: string) {\n return _.get(\n _.find(SERVICES, (service) => service.service === serviceName),\n 'namespace'\n );\n}\n\nexport function serviceGroupBy(\n services: { service: string; label: string; namespace: string; href: string; groupName?: string }[]\n) {\n const result = services.reduce((acc, cur) => {\n const { namespace, label, groupName = label } = cur;\n\n const existedGroup = acc.find((item) => item.label === groupName);\n if (!existedGroup) {\n acc.push({ label: groupName, value: groupName, items: [{ label, value: namespace }] });\n return acc;\n }\n\n existedGroup.items.push({ label, value: namespace });\n return acc;\n }, [] as any[]);\n\n // 将只有一个子元素的项目进行特殊处理\n const rs = result.map((item) =>\n item.items.length === 1 ? { label: item.items[0].label, value: item.items[0].value } : item\n );\n return rs;\n}\n\nexport const isTargetEqual = (newTargetString: string, oldTargetString: string, key: string) => {\n try {\n const newTarget = JSON.parse(newTargetString);\n const oldTarget = JSON.parse(oldTargetString);\n return newTarget[key] === oldTarget[key];\n } catch (e) {\n return newTargetString === oldTargetString;\n }\n};\n\nexport const getTimeShiftInMs = (timeShift: any) => {\n const parts = /^(\\d+)([d|h|m|s])$/.exec(timeShift);\n if (!parts) {\n return 0;\n }\n const amount = parseInt(parts[1], 10);\n const unit = parts[2];\n switch (unit) {\n case 'd':\n return amount * 86400 * 1000;\n case 'h':\n return amount * 3600 * 1000;\n case 'm':\n return amount * 60 * 1000;\n case 's':\n return amount * 1000;\n }\n return 0;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nfunction classFactory(detailConfig) {\n return class QueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, detailConfig);\n\n $scope.getDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n return $scope.datasource.getFilterDropdown(service, { field, region: $scope.region });\n };\n }\n };\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n`;\nfunction queryDDOFactory(QueryCtrl) {\n return function queryDDO() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n // QueryCtrl._config = config;\n const newQueryIns = classFactory(config);\n coreModule.directive(name, queryDDOFactory(newQueryIns));\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8__;","interface DBEvent {\n target: { result: any; error: any };\n}\n// 数据库结构\ninterface DBTypes {\n store: StoreType;\n name?: string;\n version?: number;\n}\n// store表结构\ninterface StoreType {\n name: string; // 表名\n key: string; // 主键名\n cursorIndex?: { name: string; unique: boolean }[]; // 索引列表\n}\n\n// 数据结构\n// {service: 'cvm', instance: [{ins: 23}]}\ninterface DataType {\n service: string;\n [x: string]: any; // 有产品需缓存其他列表\n}\n\n// interface UpdateProps {\n// storeName: string;\n// cursorKey: string;\n// cursorValue?: any;\n// data: any;\n// }\n\nconst store: StoreType = {\n name: 'grafanaInstanceList',\n key: 'service',\n};\nconst promisify = (request: any, type?: string) => {\n return new Promise((resolve, reject) => {\n request.onsuccess = (event: DBEvent) => {\n const returnMap: any = {\n event: event.target.result,\n request: request.result,\n msg: '操作成功',\n };\n resolve(returnMap[type || 'msg']);\n };\n request.onerror = (event: DBEvent) => reject(event.target.error || '操作失败');\n });\n};\n// 固定表名和数据库名\nclass IndexedDB {\n name = 'grafanaDatabase';\n version = 1;\n\n constructor(props: DBTypes) {\n const { name = 'database', version = 1, store } = props;\n this.name = name;\n this.version = version;\n\n this.initDB(store);\n }\n\n /**\n * 初始化数据库\n * @param store 库表的结构\n */\n initDB(store: StoreType) {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n request.onupgradeneeded = (event: IDBVersionChangeEvent) => {\n const db = (event.target as IDBOpenDBRequest).result;\n if (db.objectStoreNames.contains(store.name)) {\n // 存在表store\n }\n\n // 遍历store,设置数据表结构\n db.createObjectStore(store.name, {\n keyPath: store.key,\n });\n };\n request.onerror = () => Promise.reject(new Error('初始化数据库失败'));\n request.onsuccess = () => Promise.resolve('初始化数据库成功');\n }\n\n openDB() {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n return promisify(request, 'event');\n }\n\n /**\n * 新增数据\n * @param storeName 表名\n * @param data 添加的数据\n */\n async insertData(storeName: string, data: any) {\n try {\n // console.time('insertData');\n const db = await this.openDB();\n const transaction = db.transaction(storeName, 'readwrite');\n const objectStore = transaction.objectStore(storeName);\n\n objectStore.add(data);\n // console.timeEnd('insertData');\n\n return new Promise((resolve, reject) => {\n transaction.oncomplete = function () {\n // console.timeEnd('insertData');\n resolve('所有数据插入成功');\n };\n\n transaction.onerror = function (event) {\n reject(event);\n };\n });\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 更新数据\n * @param props 查询数据的参数以及要修改的值的参数\n */\n async addData(data: DataType, isCover?: boolean) {\n try {\n // console.log('addData');\n const storeName = store.name; // 表名\n const oldData = await this.getData(data.service);\n const objectStore = await this.getObjectStore(storeName, 'readwrite');\n\n if (!oldData) {\n // 不存在则新建\n this.insertData(storeName, data);\n }\n // 存在则更新\n let newData: any = { ...oldData, ...data };\n if (isCover) newData = data; // 需要覆盖之前内容\n // 把更新过的对象放回数据库\n const requestUpdate = objectStore.put(newData);\n // console.timeEnd('updateData');\n return promisify(requestUpdate);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 获取数据库的值,返回查询到的第一项\n * @param storeName 表名/存储对象的键\n * @param cursorKey key\n * @param cursorValue 要查询索引的值\n */\n async getData(seviceName: string) {\n try {\n // console.time('getData');\n const storeName = store.name;\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.get(seviceName);\n // console.timeEnd('getData');\n return promisify(request, 'request');\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async getAllData(storeName: string) {\n try {\n // console.time('getAllData');\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.getAll();\n const result = await promisify(request, 'request');\n // console.timeEnd('getAllData');\n return result ? result : [];\n } catch (error) {\n return Promise.reject(error);\n }\n }\n /**\n * 获取对象仓库\n * @param storeName 表名\n * @param type readonly 或者 readwrite等\n */\n private async getObjectStore(storeName: string, type?: any): Promise {\n try {\n const db = await this.openDB();\n return db.transaction(storeName, type).objectStore(storeName);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n}\n// console.log('testDDB')\n// const indexDB = new IndexedDB({store});\n// indexDB.addData({service: 'cvm', instance: [{ins: 23}]}).then(e=>{\n// indexDB.getData('cvm').then(dd=>{console.log({dd})})\n// })\nexport default new IndexedDB({ store });\n","import indexedDB from './indexedDB';\nclass InstanceStorage {\n // prefix = 'Datasource';\n // storageKey = 'grafanaInstanceCache';\n insKey = 'Instances';\n cacheWay = '';\n constructor() {}\n setInstance(service: string, value: Record) {\n return this.setStorage(service, this.insKey, value, true);\n }\n async getInstance(service: string) {\n return this.getStorage(service, this.insKey);\n }\n setExtraStorage(service: string, Ekey: string, EValue: Record) {\n return this.setStorage(service, Ekey, EValue, false);\n }\n async getExtraStorage(service: string, Ekey: string) {\n return this.getStorage(service, Ekey);\n }\n private setStorage(serviceKey: string, key: string, value: Record, isCover = false) {\n // console.log('set', serviceKey, key, value);\n return indexedDB.addData(\n {\n service: serviceKey,\n [key]: value,\n },\n isCover\n );\n }\n // 获取到模版变量信息\n private async getStorage(service: string, key?: string) {\n const storage = await indexedDB.getData(service);\n // console.log('get', key, storage);\n return key ? storage?.[key] : storage;\n }\n}\nexport default new InstanceStorage();\n","import _ from 'lodash';\n\nexport const CKAFKAQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstanceId',\n cnDescriptor: '按照实例ID过滤',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '按照实例名称过滤,支持模糊查询',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '匹配标签key值',\n link: '',\n type: 'input',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例的状态,不填默认返回全部',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '删除中', value: 2 },\n ],\n },\n];\n\nconst CKAFKA_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n topicId: '',\n topicName: '',\n consumerGroup: '',\n partition: '',\n queries: {\n Offset: 0,\n Limit: 10,\n Status: [],\n InstanceId: '',\n SearchWord: '',\n TagKey: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CKAFKAInstanceAliasList = ['InstanceId', 'InstanceName'];\nconst CKAFKATopicAliasList = ['TopicId', 'TopicName'];\n// 保存在模板变量value中的key\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n topicId: 'TopicId',\n groupName: 'GroupName',\n partition: 'PartitionId',\n};\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CKAFKAInvalidDemensions = new Proxy(\n {\n topicId: 'TopicId',\n topicName: 'TopicName',\n consumerGroup: 'GroupName',\n partition: 'PartitionId',\n },\n {\n get: (obj, prop) => {\n if (String(prop).toLocaleLowerCase() === 'instanceid') return 'InstanceId';\n return obj[prop];\n },\n }\n);\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n TopicList: 'TopicList',\n GroupList: 'GroupList',\n PartitionList: 'PartitionList',\n};\n\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicId: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n // topicName和topicId是同一个storage中的source,所以根据topicId帅选\n TopicName: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n GroupName: {\n dim_KeyInStorage: keyInStorage.GroupList,\n dim_KeyInTarget: 'consumerGroup',\n dim_KeyInMap: templateQueryIdMap.groupName,\n },\n PartitionId: {\n dim_KeyInStorage: keyInStorage.PartitionList,\n dim_KeyInTarget: 'partition',\n dim_KeyInMap: templateQueryIdMap.partition,\n },\n};\nexport default CKAFKA_STATE;\nexport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as CKAFKAGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/LOADBALANCE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'loadBalanceQuery';\n\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst LOADBALANCEFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: LOADBALANCEFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst LOADBALANCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n servers: '',\n serverPort: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\n// function GetInstanceQueryParams(queries: any = {}) {\n// const params: any = {};\n// if (!_.isEmpty(queries)) {\n// params.Limit = _.get(queries, 'Limit', 20) || 20;\n// params.Offset = _.get(queries, 'Offset', 0) || 0;\n// queries = _.omit(queries, ['Offset', 'Limit']);\n// _.forEach(queries, (item: any, key) => {\n// if (_.isArray(item)) {\n// item = _.compact(item);\n// if (item.length > 0) {\n// params[key] = _.uniq(item);\n// }\n// } else if (_.isObject(item)) {\n// if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n// params[key] = _.get(item, 'value');\n// }\n// } else if (_.isNumber(item) || !_.isEmpty(item)) {\n// params[key] = item;\n// }\n// });\n// }\n// return params;\n// }\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst InstanceAliasList = ['LoadBalancerId', 'LoadBalancerName', 'LoadBalancerVips'];\nconst LOADBALANCEListenerAliasList = ['ListenerId', 'ListenerName', 'Port'];\nconst LOADBALANCEServerAliasList = ['PrivateIpAddresses', 'InstanceId'];\nconst LOADBALANCEVALIDDIMENSIONS = {\n vip: 'LoadBalancerVips',\n // vpcId: 'NumericalVpcId',\n loadBalancerPort: 'Port',\n protocol: 'Protocol',\n lanIp: 'PrivateIpAddresses',\n port: 'ServerPort',\n};\n// 对于ipv6类型,vip应该取AddressIPv6。\nconst CANDIATEDIMENSIONS = {\n LoadBalancerVips: 'AddressIPv6',\n};\n// dimensionObject[item] = { Name: item, Value: '' };\n// const LOADBALANCE_INSTANCE_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// };\n// const LOADBALANCE_LISTENER_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// loadBalancerPort: { Name: 'loadBalancerPort', Value: '' },\n// protocol: { Name: 'protocol', Value: '' },\n// };\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n listener: 'ListenerId',\n servers: 'PrivateIpAddresses',\n port: 'Port',\n};\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n listener: 'ListenerList',\n servers: 'ServersList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Port: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n Protocol: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n PrivateIpAddresses: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'servers',\n dim_KeyInMap: templateQueryIdMap.servers,\n },\n ServerPort: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'serverPort',\n dim_KeyInIns: 'Port',\n dim_KeyInMap: templateQueryIdMap.port,\n },\n};\nexport default LOADBALANCE_STATE;\nexport {\n LOADBALANCEFieldsDescriptor,\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n CANDIATEDIMENSIONS,\n // LOADBALANCE_LISTENER_DIMENSIONOBJECTS,\n // LOADBALANCE_INSTANCE_DIMENSIONOBJECTS,\n queryMonitorExtraConfg,\n keyInStorage,\n queryEditorConfig,\n namespace,\n queryEditorName,\n GetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TDMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n tenantId: 'ClusterId',\n tenant: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// 需和文件名对应\nconst TDMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n topicName: '',\n environmentId: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n if (item.Dimensions.indexOf('topicName') !== -1 && item.Dimensions.indexOf('environmentId') === -1) {\n item.Dimensions.push('environmentId');\n }\n });\n return metricTmp;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n topicName: 'topicName',\n environmentId: 'environmentId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicName: {\n dim_KeyInStorage: keyInStorage.topicName,\n dim_KeyInTarget: 'topicName',\n dim_KeyInMap: templateQueryIdMap.topicName,\n },\n EnvironmentId: {\n dim_KeyInStorage: keyInStorage.environmentId,\n dim_KeyInTarget: 'environmentId',\n dim_KeyInMap: templateQueryIdMap.environmentId,\n },\n};\nexport default CDNPROVINCE_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/GSE';\nconst fleetId = 'FleetId'; // 为和cvm其他产品保持一致,即将string[]改为Array<{fleetid: xxx}>,在此声明key\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'gseQuery';\n\nconst GSEInvalidDemensions = {\n instanceid: 'InstanceId',\n fleetid: 'FleetId',\n queuename: 'Name',\n};\n\n// 需和文件名对应\nconst GSEInstanceAliasList = ['InstanceId', 'PrivateIpAddress', 'IpAddress'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n Name: 'Name',\n FleetId: fleetId,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n fleet: 'fleet', // 实例队列\n queue: 'queueName', // 会话队列\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n FleetId: {\n dim_KeyInStorage: keyInStorage.fleet,\n dim_KeyInTarget: 'FleetId',\n dim_KeyInMap: templateQueryIdMap.FleetId,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.queue,\n dim_KeyInTarget: 'Name',\n dim_KeyInMap: templateQueryIdMap.Name,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst GSEFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceId: '',\n FleetId: '',\n};\n\nconst GSEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'resourceName',\n cnDescriptor: '资源名称',\n link: '',\n type: 'input',\n },\n {\n key: 'FleetId',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1165/42604',\n namespace,\n fieldDescriptor: GSEFilterFieldsDescriptor,\n};\n\nconst GSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n FleetId: '', // 服务器实例\n Name: '', // 队列名称\n queries: GSEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n // { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n // { value: 'ap-shanghai-fsi' },\n // { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n // { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => GSEInvalidDemensions[v] || v);\n });\n return metricTmp;\n}\nexport default GSE_STATE;\nexport {\n GSEFilterFieldsDescriptor,\n templateQueryIdMap,\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n fleetId,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as GSEGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { isArray, cloneDeep } from 'lodash';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/TDMYSQL';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'dcdbQuery';\n\nconst DCDBInvalidDemensions = {\n nodeid: 'NodeId',\n instanceid: 'InstanceId',\n shardid: 'ShardInstanceId',\n ShardId: 'ShardInstanceId',\n};\n\n// 需和文件名对应\nconst DCDBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst DCDBFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n SearchName: '',\n SearchKey: '',\n ProjectIds: [],\n // IsFilterVpc\n VpcId: '',\n SubnetId: '',\n\n OrderBy: {},\n OrderByType: {},\n // IsFilterExcluster: {},\n ExclusterType: {},\n\n ExclusterIds: [],\n FilterInstanceType: {},\n};\n\nconst DCDBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例 ID 查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'SearchName',\n enDescriptor: 'SearchName',\n cnDescriptor: '搜索的字段名,当前支持的值有:instancename、vip、all',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '搜索的关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '按项目 ID 查询',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'projectId', value: 'projectId' },\n { text: 'createtime', value: 'createtime' },\n { text: 'instancename', value: 'instancename' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'select',\n list: [\n { text: 'desc', value: 'desc' },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterType',\n enDescriptor: 'ExclusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: [\n { text: '非独享集群', value: 1 },\n { text: '独享集群', value: 2 },\n { text: '全部', value: 0 },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterIds',\n enDescriptor: 'ExclusterIds',\n cnDescriptor: '独享集群ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'FilterInstanceType',\n enDescriptor: 'FilterInstanceType',\n cnDescriptor: '实例类型过滤',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '独享实例', value: 1 },\n { text: '主实例', value: 2 },\n { text: '灾备实例', value: 3 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/557/16140',\n namespace,\n fieldDescriptor: DCDBFilterFieldsDescriptor,\n};\n\nconst DCDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n ShardId: '',\n NodeId: '',\n queries: DCDBFilterFields,\n};\nconst modifyMetricConf = {\n shardid: 'ShardId',\n instanceid: 'InstanceId',\n nodeid: 'NodeId',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => modifyMetricConf[v] || v);\n });\n return metricTmp;\n}\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params = instanceQueryParamsBaseParse(queries, false);\n // 特殊处理\n params.IsFilterVpc = false;\n params.IsFilterExcluster = false;\n if (params.VpcId || params.SubnetId) params.IsFilterVpc = true;\n if (params.ExclusterType) params.IsFilterExcluster = true;\n if (isArray(params.FilterInstanceType)) params.FilterInstanceType = params.FilterInstanceType.join(',');\n return params;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeId: {\n dim_KeyInStorage: keyInStorage.NodeId,\n dim_KeyInTarget: 'NodeId',\n dim_KeyInMap: templateQueryIdMap.NodeId,\n },\n ShardInstanceId: {\n dim_KeyInStorage: keyInStorage.ShardInstanceId,\n dim_KeyInTarget: 'ShardId',\n dim_KeyInMap: templateQueryIdMap.ShardInstanceId,\n },\n};\n// 和其他产品的展示保持一致\nconst regionSupported = [\n { text: '华北地区(北京)', value: 'ap-beijing' },\n { text: '西南地区(成都)', value: 'ap-chengdu' },\n { text: '西南地区(重庆)', value: 'ap-chongqing' },\n { text: '华南地区(广州)', value: 'ap-guangzhou' },\n { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n { text: '华东地区(南京)', value: 'ap-nanjing' },\n { text: '华东地区(上海)', value: 'ap-shanghai' },\n { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n { text: '亚太东北(东京)', value: 'ap-tokyo' },\n { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n { text: '北美地区(多伦多)', value: 'na-toronto' },\n];\nexport default DCDB_STATE;\nexport {\n DCDBFilterFieldsDescriptor,\n templateQueryIdMap,\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n keyInStorage,\n modifyDimensons,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as DCDBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst namespace = 'QCE/REDIS_MEM';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisMemFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDISMEM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n rnodeid: '',\n pnodeid: '',\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst REDISMEMInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisMemInvalidDemensions = {\n instanceid: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst NodeType = ['Redis', 'Proxy'];\n\nexport default REDISMEM_STATE;\nexport {\n RedisMemFieldsDescriptor,\n RedisMemInvalidDemensions,\n REDISMEMInstanceAliasList,\n templateQueryIdMap,\n namespace,\n NodeType,\n GetInstanceQueryParams as REDISMEMGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/RABBITMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n instanceid: 'InstanceId',\n node: 'NodeName',\n};\n\n// 需和文件名对应\nconst TDMQRABBITMQInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n node: 'NodeName',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n node: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'NodeName',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeName: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'node',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/ROCKETMQ';\n\nconst TDMQInvalidDemensions = {\n tenant: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// 需和文件名对应\nconst TDMQROCKETMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIdList: [''],\n Filters: {\n includeVip: { text: '是', value: 'true' },\n },\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'includeVip',\n enDescriptor: 'includeVip',\n cnDescriptor: '包含专享集群',\n link: '',\n type: 'select',\n list: [\n { text: '是', value: 'true' },\n { text: '否', value: 'false' },\n ],\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n namespace: '',\n group: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.ClusterIdList)) {\n const ClusterIdList = _.compact(queries.ClusterIdList);\n if (_.uniq(ClusterIdList).length > 0) {\n params.ClusterIdList = _.uniq(ClusterIdList).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: [_.get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n namespace: 'NamespaceId',\n group: 'Name',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NamespaceId: {\n dim_KeyInStorage: keyInStorage.namespace,\n dim_KeyInTarget: 'namespace',\n dim_KeyInMap: templateQueryIdMap.namespace,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.group,\n dim_KeyInTarget: 'group',\n dim_KeyInMap: templateQueryIdMap.group,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQROCKETMQGetInstanceQueryParams,\n};\n","import { t } from '../../locale';\n// name (产品名称), service(对应的真实service)\ninterface ServiceType {\n service: string;\n label: string;\n namespace: string;\n href: string;\n groupName?: string;\n hideRegion?: boolean;\n}\nconst SERVICES: ServiceType[] = [\n {\n service: 'cvm',\n get label() {\n return t('CVM');\n },\n namespace: 'QCE/CVM',\n href: 'https://cloud.tencent.com/document/api/213/15688',\n },\n {\n service: 'cdb',\n get label() {\n return t('CDB');\n },\n namespace: 'QCE/CDB',\n href: 'https://cloud.tencent.com/document/api/236/15829',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'mongoDB',\n get label() {\n return t('CMONGO');\n },\n namespace: 'QCE/CMONGO',\n href: 'https://cloud.tencent.com/document/api/240/38568',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'postgres',\n get label() {\n return t('POSTGRES');\n },\n namespace: 'QCE/POSTGRES',\n href: 'https://cloud.tencent.com/document/product/248/45105',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redis',\n get label() {\n return t('REDIS');\n },\n namespace: 'QCE/REDIS',\n href: 'https://cloud.tencent.com/document/product/248/45110',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redisMem',\n get label() {\n return t('REDIS_MEM');\n },\n namespace: 'QCE/REDIS_MEM',\n href: 'https://cloud.tencent.com/document/product/248/49729',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'sqlserver',\n get label() {\n return t('SQLSERVER');\n },\n namespace: 'QCE/SQLSERVER',\n href: 'https://cloud.tencent.com/document/product/248/45146',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'cynosdbMysql',\n get label() {\n return t('CYNOSDB_MYSQL');\n },\n namespace: 'QCE/CYNOSDB_MYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45106',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'tcaplus',\n get label() {\n return t('TCAPLUS');\n },\n namespace: 'QCE/TCAPLUS',\n href: 'https://cloud.tencent.com/document/product/248/45107',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'dcdb',\n get label() {\n return t('TDMYSQL');\n },\n namespace: 'QCE/TDMYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45108',\n },\n {\n service: 'pcx',\n get label() {\n return t('PCX');\n },\n namespace: 'QCE/PCX',\n href: 'https://cloud.tencent.com/document/product/215/5181',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'bwp',\n get label() {\n return t('BWP');\n },\n namespace: 'QCE/BWP',\n href: 'https://cloud.tencent.com/document/api/215/19209',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'natGateway',\n get label() {\n return t('NAT_GATEWAY');\n },\n namespace: 'QCE/NAT_GATEWAY',\n href: 'https://cloud.tencent.com/document/api/215/36034',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpngw',\n get label() {\n return t('VPNGW');\n },\n namespace: 'QCE/VPNGW',\n href: 'https://cloud.tencent.com/document/product/248/45070',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpnx',\n get label() {\n return t('VPNX');\n },\n namespace: 'QCE/VPNX',\n href: 'https://cloud.tencent.com/document/product/248/45071',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'dcg',\n get label() {\n return t('DCG');\n },\n namespace: 'QCE/DCG',\n href: 'https://cloud.tencent.com/document/product/248/45072',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'ceipSummary',\n get label() {\n return t('CEIP_SUMMARY');\n },\n namespace: 'QCE/CEIP_SUMMARY',\n href: 'https://cloud.tencent.com/document/product/248/50381',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpcNetDetect',\n get label() {\n return t('VPC_NET_DETECT');\n },\n namespace: 'QCE/VPC_NET_DETECT',\n href: 'https://cloud.tencent.com/document/product/248/50384',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vbc',\n get label() {\n return t('VBC');\n },\n namespace: 'QCE/VBC',\n href: 'https://cloud.tencent.com/document/product/248/45073',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lb',\n get label() {\n return t('LB');\n },\n namespace: 'QCE/LB',\n href: 'https://cloud.tencent.com/document/product/248/45099',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lbPublic',\n get label() {\n return t('LB_PUBLIC');\n },\n namespace: 'QCE/LB_PUBLIC',\n href: 'https://cloud.tencent.com/document/product/248/51898',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'lbPrivate',\n get label() {\n return t('LB_PRIVATE');\n },\n namespace: 'QCE/LB_PRIVATE',\n href: 'https://cloud.tencent.com/document/product/248/51899',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'loadBalance',\n get label() {\n return t('LOADBALANCE');\n },\n namespace: 'QCE/LOADBALANCE',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'vClb',\n get label() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n namespace: 'QCE/V_CLB',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n },\n {\n service: 'cdn',\n get label() {\n return t('CDN');\n },\n namespace: 'QCE/CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50386',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'cdnProvince',\n get label() {\n return t('CDN_LOG_DATA');\n },\n namespace: 'QCE/CDN_LOG_DATA',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50388',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'ovCdn',\n get label() {\n return t('OV_CDN');\n },\n namespace: 'QCE/OV_CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50387',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'scf',\n get label() {\n return t('SCF_V2');\n },\n namespace: 'QCE/SCF_V2',\n href: 'https://cloud.tencent.com/document/product/248/45130',\n },\n {\n service: 'cfs',\n get label() {\n return t('CFS');\n },\n namespace: 'QCE/CFS',\n href: 'https://cloud.tencent.com/document/product/248/45143',\n },\n {\n service: 'cos',\n get label() {\n return t('COS');\n },\n namespace: 'QCE/COS',\n href: 'https://cloud.tencent.com/document/product/248/45140',\n },\n {\n service: 'ckafka',\n get label() {\n return t('CKAFKA');\n },\n namespace: 'QCE/CKAFKA',\n href: 'https://cloud.tencent.com/document/product/248/45121',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmq',\n get label() {\n return t('CMQ');\n },\n namespace: 'QCE/CMQ',\n href: 'https://cloud.tencent.com/document/product/248/45114',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmqTopic',\n get label() {\n return t('CMQTOPIC');\n },\n namespace: 'QCE/CMQTOPIC',\n href: 'https://cloud.tencent.com/document/product/248/45113',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmq',\n get label() {\n return t('TDMQ');\n },\n namespace: 'QCE/TDMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRocketmq',\n get label() {\n return t('TDMQ_ROCKETMQ');\n },\n namespace: 'QCE/ROCKETMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRabbitmq',\n get label() {\n return t('TDMQ_RABBITMQ');\n },\n namespace: 'QCE/RABBITMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'dcx',\n get label() {\n return t('DCX');\n },\n namespace: 'QCE/DCX',\n href: 'https://cloud.tencent.com/document/product/248/45101',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'dc',\n get label() {\n return t('DC');\n },\n namespace: 'QCE/DC',\n href: 'https://cloud.tencent.com/document/product/248/45102',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'cpm',\n get label() {\n return t('CPM');\n },\n namespace: 'QCE/CPM',\n href: 'https://cloud.tencent.com/document/product/248/45881',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmPcx',\n get label() {\n return t('BM_PCX');\n },\n namespace: 'QCE/BM_PCX',\n href: 'https://cloud.tencent.com/document/product/248/45884',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmLb',\n get label() {\n return t('BM_LB');\n },\n namespace: 'QCE/BM_LB',\n href: 'https://cloud.tencent.com/document/product/248/45886',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmIntraLb',\n get label() {\n return t('BM_INTRA_LB');\n },\n namespace: 'QCE/BM_INTRA_LB',\n href: 'https://cloud.tencent.com/document/product/248/45885',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'ces',\n get label() {\n return t('CES');\n },\n namespace: 'QCE/CES',\n href: 'https://cloud.tencent.com/document/product/248/45129',\n },\n {\n service: 'mrHDFS',\n get label() {\n return `${t('elastic_mapReduce')}(HDFS)`;\n },\n namespace: 'QCE/TXMR_HDFS',\n href: 'https://cloud.tencent.com/document/product/248/44797',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHBASE',\n get label() {\n return `${t('elastic_mapReduce')}(HBASE)`;\n },\n namespace: 'QCE/TXMR_HBASE',\n href: 'https://cloud.tencent.com/document/product/248/45567',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHIVE',\n get label() {\n return `${t('elastic_mapReduce')}(HIVE)`;\n },\n namespace: 'QCE/TXMR_HIVE',\n href: 'https://cloud.tencent.com/document/product/248/45569',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrNODE',\n get label() {\n return `${t('elastic_mapReduce')}(NODE)`;\n },\n namespace: 'QCE/TXMR_NODE',\n href: 'https://cloud.tencent.com/document/product/248/45570',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrPRESTO',\n get label() {\n return `${t('elastic_mapReduce')}(PRESTO)`;\n },\n namespace: 'QCE/TXMR_PRESTO',\n href: 'https://cloud.tencent.com/document/product/248/45571',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrSPARK',\n get label() {\n return `${t('elastic_mapReduce')}(SPARK)`;\n },\n namespace: 'QCE/TXMR_SPARK',\n href: 'https://cloud.tencent.com/document/product/248/45572',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrYARN',\n get label() {\n return `${t('elastic_mapReduce')}(YARN)`;\n },\n namespace: 'QCE/TXMR_YARN',\n href: 'https://cloud.tencent.com/document/product/248/45573',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrZOOKEEPER',\n get label() {\n return `${t('elastic_mapReduce')}(ZOOKEEPER)`;\n },\n namespace: 'QCE/TXMR_ZOOKEEPER',\n href: 'https://cloud.tencent.com/document/product/248/45574',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'cbs',\n get label() {\n return t('BLOCK_STORAGE');\n },\n namespace: 'QCE/BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/362/2345',\n },\n {\n service: 'apigateway',\n get label() {\n return t('APIGATEWAY');\n },\n namespace: 'QCE/APIGATEWAY',\n href: 'https://cloud.tencent.com/document/product/248/45127',\n },\n {\n service: 'qaap',\n get label() {\n return t('QAAP');\n },\n namespace: 'QCE/QAAP',\n href: 'https://cloud.tencent.com/document/product/608',\n },\n {\n service: 'ecm',\n get label() {\n return t('ECM');\n },\n hideRegion: true,\n namespace: 'QCE/ECM',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmBlockStorage',\n get label() {\n return t('ECM_BLOCK_STORAGE');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmLb',\n get label() {\n return t('ECM_LB');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_LB',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'gse',\n get label() {\n return t('GSE');\n },\n namespace: 'QCE/GSE',\n href: 'https://cloud.tencent.com/document/product/1165',\n },\n {\n service: 'cls',\n get label() {\n return t('CLS');\n },\n namespace: 'QCE/CLS',\n href: 'https://cloud.tencent.com/document/product/614',\n },\n {\n service: 'tke',\n get label() {\n return t('TKE');\n },\n namespace: 'QCE/TKE2',\n href: 'https://cloud.tencent.com/document/product/457',\n },\n {\n service: 'ecdn',\n get label() {\n return t('ECDN');\n },\n namespace: 'QCE/DSA',\n href: 'https://cloud.tencent.com/document/product/570',\n },\n // {\n // service: 'lighthouse',\n // label: '轻量应用服务器(LIGHTHOUSE)',\n // namespace: 'QCE/LIGHTHOUSE',\n // href: 'https://cloud.tencent.com/document/product/1207',\n // },\n // {\n // service: 'tsf',\n // label: ' 微服务平台(TSF)',\n // namespace: 'QCE/TSF',\n // href: 'https://cloud.tencent.com/document/product/649',\n // },\n {\n service: 'waf',\n get label() {\n return t('WAF');\n },\n // hideRegion: true,\n namespace: 'QCE/WAF',\n href: 'https://cloud.tencent.com/document/product/627',\n },\n];\nconst Datasources = {};\nconst InitStates = {};\nconst InstanceAliasList = {};\nconst GetInstanceQueryParams = {};\n\n/**\n * 由于目录命名不规范,导致需要使用额外逻辑保证正确性。从目录到具体service的映射\n */\nconst hackModuleName = {\n // lb_loadBalance: 'loadBalance',\n postgresql: 'postgres',\n mongodb: 'mongoDB',\n clb: ['lbPrivate', 'lbPublic', 'loadBalance'],\n mr: ['mrHDFS', 'mrHBASE', 'mrHIVE', 'mrNODE', 'mrPRESTO', 'mrSPARK', 'mrYARN', 'mrZOOKEEPER'],\n};\n\nconst requireModule = (require as any).context('./', true, /^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)?)\\.ts$/);\n\nrequireModule.keys().forEach((filePath) => {\n let [, moduleName, fileName] = filePath.split('/');\n\n // hack: 这里是由于产品目录命名不规范,所以才会多这么一段代码\n moduleName = hackModuleName[moduleName] ?? moduleName;\n\n // 目录与模块的映射关系,不管是一对一还是一对多,均按数组进行统一处理\n [].concat(moduleName).forEach((module: string) => {\n // 这个service就是产品配置中的service,需要注意这里的service是根据目录名称算出来的,因此目录名称一定要和service对应\n const service = module.replace(/_([a-zA-Z])/g, (_, b) => b.toUpperCase());\n const prefix = service.toUpperCase(); // 命名规则\n\n // datasource\n if (fileName === 'datasource.ts') {\n const Cls = require(`${filePath}`).default;\n\n // 想办法为实例注入service,不能为prototype或则类本身注入,因为会造成互相污染,详尽mrDatasource\n Datasources[`${prefix}Datasource`] = class {\n constructor(...params) {\n const target = new Cls(...params, service);\n target.service = service;\n // eslint-disable-next-line no-constructor-return\n return target;\n }\n };\n }\n // query\n if (fileName === 'query.ts') {\n require(`${filePath}`);\n }\n // query_def\n if (fileName === 'query_def.ts') {\n const alias = `${prefix}InstanceAliasList`;\n const getParams = `${prefix}GetInstanceQueryParams`;\n\n const target = require(`${filePath}`);\n\n InitStates[service] = target.default; // FIXME: 这里需不需要深拷贝?\n InstanceAliasList[alias] = target[alias] ?? target['InstanceAliasList'];\n GetInstanceQueryParams[getParams] = target[getParams] ?? target['GetInstanceQueryParams'];\n }\n });\n});\n\nexport {\n InitStates as InitServiceState,\n SERVICES,\n Datasources,\n InstanceAliasList,\n GetInstanceQueryParams,\n // DefaultDimensions\n};\n\n// console.log(Datasources, InitStates, InstanceAliasList, GetInstanceQueryParams);\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_BLOCK_STORAGE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ecmBlockStorageQuery';\n\nconst ECMBLOCKSTORAGEInvalidDemensions = {\n uuid: 'UUID',\n diskId: 'DiskId',\n};\n\n// 需和文件名对应\nconst ECMBLOCKSTORAGEInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n diskId: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst ECMBLOCKSTORAGEFilterFields = {\n Limit: 20,\n Offset: 0,\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMBLOCKSTORAGEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMBLOCKSTORAGEFilterFieldsDescriptor,\n};\n\nconst ECMBLOCKSTORAGE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n diskId: '',\n queries: ECMBLOCKSTORAGEFilterFields,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n diskId: 'diskId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n DiskId: {\n dim_KeyInStorage: keyInStorage.diskId,\n dim_KeyInTarget: 'diskId',\n dim_KeyInMap: templateQueryIdMap.diskId,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default ECMBLOCKSTORAGE_STATE;\nexport {\n ECMBLOCKSTORAGEFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n keyInStorage,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as ECMBLOCKSTORAGEGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__22__;","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/APIGATEWAY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'apigatewayQuery';\n\nconst APIGATEWAYInvalidDemensions = {\n serviceId: 'ServiceId',\n environmentName: 'EnvironmentName',\n apiid: 'Apiid',\n apiId: 'Apiid',\n};\n\n// 需和文件名对应\nconst APIGATEWAYInstanceAliasList = ['ServiceId', 'ServiceName'];\n\nconst templateQueryIdMap = {\n instance: 'ServiceId',\n environmentName: 'EnvironmentName',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n environmentList: 'EnvironmentList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n EnvironmentName: {\n dim_KeyInStorage: keyInStorage.environmentList,\n dim_KeyInTarget: 'EnvironmentName',\n dim_KeyInMap: templateQueryIdMap.environmentName,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst APIGATEWAYFilterFields = {\n Limit: 20,\n Offset: 0,\n ServiceId: [],\n ServiceName: [],\n NotUsagePlanId: [],\n Environment: [],\n IpVersion: [],\n};\n\nconst APIGATEWAYFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ServiceId',\n enDescriptor: 'ServiceId',\n cnDescriptor: '服务id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ServiceName',\n enDescriptor: 'ServiceName',\n cnDescriptor: '服务名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'NotUsagePlanId',\n enDescriptor: 'NotUsagePlanId',\n cnDescriptor: 'NotUsagePlanId',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Environment',\n enDescriptor: 'Environment',\n cnDescriptor: '环境名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'IpVersion',\n enDescriptor: 'IpVersion',\n cnDescriptor: 'IP版本',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/628/45198',\n namespace,\n fieldDescriptor: APIGATEWAYFilterFieldsDescriptor,\n};\n\nconst APIGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ServiceId',\n EnvironmentName: '',\n queries: APIGATEWAYFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nexport default APIGATEWAY_STATE;\nexport {\n APIGATEWAYFilterFieldsDescriptor,\n templateQueryIdMap,\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as APIGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const InstanceQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '按照一个或者多个实例ID查询。实例ID形如: emr-xxxxxxxx ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 'clusterId' },\n { text: '创建时间', value: 'addTime' },\n { text: '状态', value: 'status' },\n ],\n },\n {\n key: 'Asc',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '降序', value: 0 },\n { text: '升序', value: 1 },\n ],\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '实例所属项目ID',\n link: '',\n type: 'inputnumber',\n },\n {\n key: 'DisplayStrategy',\n enDescriptor: 'DisplayStrategy',\n cnDescriptor: '集群筛选策略',\n link: '',\n type: 'select',\n list: [\n { text: '未销毁的实例', value: 'clusterList' },\n { text: '正常运行的实例', value: 'monitorManage' },\n ],\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = new Proxy(\n {},\n {\n get(target, k, receiver) {\n if (typeof k === 'string') {\n if (k.startsWith('id4')) return 'ClusterId'; // id4****\n if (k.startsWith('host4')) return 'Ip'; // host4***\n }\n return Reflect.get(target, k, receiver);\n },\n has(target, propKey) {\n return true;\n },\n }\n);\n\nexport const templateQueryIdMap = {\n instance: 'ClusterId',\n node: 'Ip',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'nodeIP',\n};\n\n/**\n * 如果有InstanceId额外的维度,原则上都需要传入此map结构配置\n *\n * `key` 的含义:\n * 经过InvalidDemensions处理后的string。topicId => TopicId。\n * 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\n *\n * `value` 的含义:\n * @param {1} dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n * @param {2} dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n * 默认取通过InvalidDemsion处理后的key\n * @param {3} dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n * 即:templateQueryIdMap中内容。\n * 联合上面 2 的内容筛选出原始sourceMap\n */\nconst queryMonitorExtraConfg = {\n Ip: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'nodeIP',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['ClusterId', 'ClusterName'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n nodeIP: '',\n queries: {\n Offset: 0,\n Limit: 10,\n DisplayStrategy: '',\n OrderBy: {},\n Order: {},\n InstanceIds: [],\n ProjectId: -1,\n OrderField: '',\n Asc: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/V_CLB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vClbQuery';\n\nconst VCLBInvalidDemensions = {\n InstanceId: 'LoadBalancerId',\n // vip: 'LoadBalancerVips',\n // loadBalancerPort: 'Port',\n // protocol: 'Protocol',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst VCLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst VCLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: VCLBFilterFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst VCLB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst clbNamespaceMap = {\n public: 'QCE/LB_PUBLIC',\n private: 'QCE/LB_PRIVATE',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default VCLB_STATE;\nexport {\n VCLBFilterFieldsDescriptor,\n templateQueryIdMap,\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n clbNamespaceMap,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CYNOSDB_MYSQL';\n\n// 按照驼峰方式命名,和SERVICES保持一致,abcDeF会成为angular组件名字\nconst queryEditorName = 'cynosdbMysqlQuery';\n\nconst cynosdbMysqlFilterFields = {\n Limit: 20,\n Offset: 0,\n OrderBy: {},\n OrderByType: {},\n InstanceIds: [],\n DbType: {},\n // Status: '',\n};\n\nconst cynosdbMysqlFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 1000,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例id列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '创建时间', value: 'CREATETIME' },\n { text: '过期时间', value: 'PERIODENDTIME' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序类型',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n ],\n },\n {\n key: 'DbType',\n enDescriptor: 'DbType',\n cnDescriptor: '引擎类型',\n link: '',\n type: 'select',\n list: [\n { text: 'MYSQL', value: 'MYSQL' },\n { text: 'POSTGRESQL', value: 'POSTGRESQL' },\n ],\n },\n // {\n // key: 'Status',\n // enDescriptor: 'Status',\n // cnDescriptor: '实例状态',\n // link: '',\n // type: 'input',\n // },\n];\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n];\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1003/48334',\n namespace,\n fieldDescriptor: cynosdbMysqlFilterFieldsDescriptor,\n};\n\nconst CYNOSDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: cynosdbMysqlFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// 和文件名字一样CYNOSDBMYSQL\nconst CYNOSDBMYSQLInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nconst CYNOSDBInvalidDemensions = {\n instanceid: 'InstanceId',\n instanceId: 'InstanceId',\n};\nconst checkKeys = ['instanceId'];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default CYNOSDB_STATE;\nexport {\n cynosdbMysqlFilterFieldsDescriptor,\n templateQueryIdMap,\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n checkKeys,\n // params前缀为service的全大写\n GetInstanceQueryParams as CYNOSDBMYSQLGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const SCFQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '支持FunctionName模糊匹配',\n link: '',\n type: 'input',\n },\n {\n key: 'Namespace',\n enDescriptor: 'Namespace',\n cnDescriptor: '云函数命名空间',\n link: '',\n type: 'input',\n },\n {\n key: 'Description',\n enDescriptor: 'Description',\n cnDescriptor: '函数描述,支持模糊搜索',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'AddTime', value: 'AddTime' },\n { text: 'ModTime', value: 'ModTime' },\n { text: 'FunctionName', value: 'FunctionName' },\n ],\n },\n {\n key: 'Order',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n ],\n },\n // {\n // key: 'Filters',\n // enDescriptor: 'Filters',\n // cnDescriptor: '按照标签键值对进行过滤',\n // link: '',\n // type: 'dropdownmulti',\n // },\n];\n\nconst SCF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FunctionName',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n OrderBy: {},\n Order: {},\n SearchKey: '',\n Namespace: '',\n Description: '',\n // Filters: {},\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst SCFInstanceAliasList = ['FunctionId', 'FunctionName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst SCFInvalidDemensions = {\n functionName: 'FunctionName',\n namespace: 'Namespace',\n version: 'Version',\n};\n\nconst templateQueryIdMap = {\n instance: 'FunctionName',\n version: 'Version',\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n version: 'version',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Version: {\n dim_KeyInStorage: keyInStorage.version,\n dim_KeyInTarget: 'version',\n dim_KeyInMap: templateQueryIdMap.version,\n },\n};\nexport default SCF_STATE;\nexport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n queryMonitorExtraConfg,\n regionSupported,\n templateQueryIdMap,\n keyInStorage,\n GetInstanceQueryParams as SCFGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\nexport const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CLS';\nconst queryEditorName = 'clsQuery';\n\nconst CLSInvalidDemensions = {\n // instanceid: 'TopicId',\n};\n\n// 需和文件名对应\nconst CLSInstanceAliasList = ['TopicId', 'TopicName'];\n\nconst templateQueryIdMap = {\n instance: 'TopicId',\n};\n\n// 需要缓存到storage的内容的key列表\n// const keyInStorage = {\n// fleet: 'fleet', // 实例队列\n// queue: 'queueName', // 会话队列\n// };\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\n// const queryMonitorExtraConfg = {\n// FleetId: {\n// dim_KeyInStorage: keyInStorage.fleet,\n// dim_KeyInTarget: 'FleetId',\n// dim_KeyInMap: templateQueryIdMap.FleetId,\n// },\n// Name: {\n// dim_KeyInStorage: keyInStorage.queue,\n// dim_KeyInTarget: 'Name',\n// dim_KeyInMap: templateQueryIdMap.Name,\n// },\n// };\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CLSFilterFields = {\n Limit: 20,\n Offset: 0,\n topicName: [],\n topicId: [],\n logsetName: [],\n logsetId: [],\n tagKey: [],\n 'tag:tagKey': [],\n storageType: {},\n};\n\nconst CLSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'topicName',\n enDescriptor: 'topicName',\n cnDescriptor: '日志主题名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'topicId',\n enDescriptor: 'topicId',\n cnDescriptor: '日志主题ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetName',\n enDescriptor: 'logsetName',\n cnDescriptor: '日志集名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetId',\n enDescriptor: 'logsetId',\n cnDescriptor: '日志集ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tag:tagKey',\n enDescriptor: 'tag - tagKey',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'storageType',\n enDescriptor: 'storageType',\n cnDescriptor: '日志主题的存储类型',\n link: '',\n type: 'select',\n list: [\n { text: '实时存储', value: 'hot' },\n { text: '离线存储', value: 'cold' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/614/56454',\n namespace,\n fieldDescriptor: CLSFilterFieldsDescriptor,\n};\n\nconst CLS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicId',\n uin: '',\n queries: CLSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = item.Dimensions.map((v) => CLSInvalidDemensions[v] || v);\n item.Dimensions = ['uin', 'TopicId'];\n });\n return metricTmp;\n}\nexport default CLS_STATE;\nexport {\n CLSFilterFieldsDescriptor,\n templateQueryIdMap,\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // queryMonitorExtraConfg,\n // fleetId,\n // keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CLSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/SQLSERVER';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'sqlserverQuery';\n\nconst SQLSERVERInvalidDemensions = {\n resourceId: 'InstanceId',\n};\n\nconst SQLSERVERInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst SQLSERVERNETFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: null,\n Status: {},\n InstanceIdSet: [],\n PayMode: {},\n VpcId: '',\n SubnetId: '',\n VipSet: [],\n InstanceNameSet: [],\n VersionSet: [],\n Zone: '',\n};\n\nconst SQLSERVERNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: [\n { text: '申请中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '受限运行中 (主备切换中)', value: 3 },\n { text: '已隔离', value: 4 },\n { text: '回收中', value: 5 },\n { text: '已回收', value: 6 },\n { text: '任务执行中', value: 7 },\n { text: '已下线', value: 8 },\n { text: '实例扩容中', value: 9 },\n { text: '实例迁移中', value: 10 },\n { text: '只读', value: 11 },\n { text: '重启中', value: 12 },\n ],\n },\n {\n key: 'InstanceIdSet',\n enDescriptor: 'InstanceIdSet',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '包年包月', value: 1 },\n { text: '按量计费', value: 0 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属VPC的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '实例所属子网的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VipSet',\n enDescriptor: 'VipSet',\n cnDescriptor: '实例内网地址列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNameSet',\n enDescriptor: 'InstanceNameSet',\n cnDescriptor: '实例名称列表, 模糊查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VersionSet',\n enDescriptor: 'VersionSet',\n cnDescriptor: '实例版本代号列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Zone',\n enDescriptor: 'Zone',\n cnDescriptor: '实例可用区',\n link: '',\n type: 'dropdown',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/238/19969',\n namespace,\n fieldDescriptor: SQLSERVERNETFilterFieldsDescriptor,\n};\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-moscow' },\n { value: 'na-siliconvalley' },\n];\nconst SQLSERVER_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: SQLSERVERNETFilterFields,\n};\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default SQLSERVER_STATE;\nexport {\n SQLSERVERNETFilterFieldsDescriptor,\n templateQueryIdMap,\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // 对应产品的service的全大写拼接InstanceQueryParams\n GetInstanceQueryParams as SQLSERVERGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_INTRA_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmIntraLbQuery';\n\nconst BMINTRALBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n vpcId: 'VpcId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMINTRALBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMINTRALBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst BMINTRALBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: BMINTRALBFilterFieldsDescriptor,\n};\n\nconst BMINTRALB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: BMINTRALBFilterFields,\n};\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default BMINTRALB_STATE;\nexport {\n BMINTRALBFilterFieldsDescriptor,\n templateQueryIdMap,\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMINTRALBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmLbQuery';\n\nconst CPMInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n BMLBInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_PCX';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmPcxQuery';\n\nconst BMPCXInvalidDemensions = {\n peeringConnectionId: 'VpcPeerConnectionId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMPCXInstanceAliasList = ['VpcPeerConnectionId', 'VpcPeerConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpcPeerConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMPCXFilterFields = {\n Limit: 20,\n Offset: 0,\n VpcPeerConnectionIds: [],\n};\n\nconst BMPCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'VpcPeerConnectionIds',\n enDescriptor: 'VpcPeerConnectionIds',\n cnDescriptor: '对等连接实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/product/1024/36903',\n namespace,\n fieldDescriptor: BMPCXFilterFieldsDescriptor,\n};\n\nconst BMPCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpcPeerConnectionId',\n queries: BMPCXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['peeringConnectionId'];\n });\n return metricTmp;\n}\nexport default BMPCX_STATE;\nexport {\n BMPCXFilterFieldsDescriptor,\n templateQueryIdMap,\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMPCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/BLOCK_STORAGE';\nconst queryEditorName = 'cbsQuery';\n\nconst CBSInvalidDemensions = {\n diskId: 'DiskId',\n InstanceId: 'InstanceId',\n diskname: 'DiskName',\n unInstanceId: 'InstanceId',\n};\n\nconst CBSInstanceAliasList = ['DiskId', 'DiskName'];\n\nconst templateQueryIdMap = {\n instance: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CBSFilterFields = {\n Limit: 20,\n Offset: 0,\n DiskIds: [],\n OrderField: [],\n Order: [],\n ReturnBindAutoSnapshotPolicy: false,\n};\n\nconst CBSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DiskIds',\n enDescriptor: 'DiskIds',\n cnDescriptor: '云硬盘ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Order',\n enDescriptor: 'Order',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'select',\n list: [\n { text: '升序排列', value: 'ASC' },\n { text: '降序排列', value: 'DESC' },\n ],\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderField',\n cnDescriptor: '排序的依据字段',\n link: '',\n type: 'select',\n list: [\n { text: '云盘的创建时间排序', value: 'CREATE_TIME' },\n { text: '云盘的到期时间排序', value: 'DEADLINE' },\n ],\n },\n {\n key: 'ReturnBindAutoSnapshotPolicy',\n enDescriptor: 'ReturnBindAutoSnapshotPolicy',\n cnDescriptor: '否需要返回云盘绑定的定期快照策略ID',\n link: '',\n type: 'switch',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/362/16315',\n namespace,\n fieldDescriptor: CBSFilterFieldsDescriptor,\n};\n\nconst CBS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DiskId',\n queries: CBSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n return dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1;\n}\nexport default CBS_STATE;\nexport {\n CBSFilterFieldsDescriptor,\n templateQueryIdMap,\n CBSInstanceAliasList,\n CBSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n GetInstanceQueryParams as CBSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CDN_LOG_DATA';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cdnProvinceQuery';\n\nconst CDNPROVINCEInvalidDemensions = {\n domain: 'Domain',\n // isp: 'Isp',\n projectid: 'ProjectId',\n province: 'district',\n appid: 'AppId',\n};\n\n// 需和文件名对应\nconst CDNPROVINCEInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CDNPROVINCEFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNPROVINCEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n // Isp Province分别在两个接口,单独保存在state\n isp: '',\n district: '',\n queries: CDNPROVINCEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default CDNPROVINCE_STATE;\nexport {\n CDNPROVINCEFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNPROVINCEInstanceAliasList,\n CDNPROVINCEInvalidDemensions,\n namespace,\n queryEditorName,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CDNPROVINCEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CEIP_SUMMARY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ceipSummaryQuery';\n\nconst CEIPInvalidDemensions = {\n vip: 'AddressIp',\n eip: 'AddressIp',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst CEIPSUMMARYInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CEIPFilterFields = {\n Limit: 20,\n Offset: 0,\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status': {},\n 'is-arrears': {},\n 'address-isp': {},\n 'instance-id': [],\n 'private-ip-address': [],\n 'network-interface-id': [],\n};\n\nconst CEIPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'address-id',\n enDescriptor: 'address-id',\n cnDescriptor: ' EIP 的唯一 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'address-name',\n cnDescriptor: 'EIP 名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'address-ip',\n cnDescriptor: 'EIP 的 IP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'address-status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'CREATING', value: 'CREATING' },\n { text: 'BINDING', value: 'BINDING' },\n { text: 'BIND', value: 'BIND' },\n { text: 'UNBINDING', value: 'UNBINDING' },\n { text: 'UNBIND', value: 'UNBIND' },\n { text: 'OFFLINING', value: 'OFFLINING' },\n { text: 'BIND_ENI', value: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: 'EIP 绑定的实例 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'private-ip-address',\n cnDescriptor: 'EIP 绑定的内网 IP ',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'network-interface-id',\n cnDescriptor: ' EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'is-arrears',\n cnDescriptor: 'EIP 是否欠费',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '欠费状态', value: 'TRUE' },\n { text: '费用状态正常', value: 'FALSE' },\n ],\n },\n {\n key: 'address-isp',\n enDescriptor: 'address-isp',\n cnDescriptor: '运营商类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'BGP', value: 'BGP' },\n { text: 'CMCC', value: 'CMCC' },\n { text: 'CUCC', value: 'CUCC' },\n { text: 'CTCC', value: 'CTCC' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/16702',\n namespace,\n fieldDescriptor: CEIPFilterFieldsDescriptor,\n};\n\nconst CEIP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n queries: CEIPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['eip'];\n });\n return metricTmp;\n}\nexport default CEIP_STATE;\nexport {\n CEIPFilterFieldsDescriptor,\n templateQueryIdMap,\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n queryEditorName,\n modifyDimensons,\n queryEditorConfig,\n GetInstanceQueryParams as CEIPSUMMARYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'TopicName',\n enDescriptor: 'TopicName',\n cnDescriptor: '精确匹配TopicName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n topicId: 'TopicId',\n};\n\n// 因为cmq那边,以TopciName为主键\nexport const templateQueryIdMap = {\n instance: 'TopicName',\n subscription: 'SubscriptionId',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n subscriptionId: 'subscriptionId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n subscriptionId: {\n dim_KeyInStorage: keyInStorage.subscriptionId,\n dim_KeyInTarget: 'subscriptionId',\n dim_KeyInMap: templateQueryIdMap.subscription,\n },\n};\n// 与名称挂钩的变量\nconst InstanceAliasList = ['TopicName', 'TopicId'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicName',\n subscriptionId: '',\n queries: {\n Offset: 0,\n Limit: 20,\n TopicName: '',\n TagKey: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CPM';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cpmQuery';\n\nconst CPMInvalidDemensions = {\n instanceId: 'InstanceId',\n // uniqid: 'InstanceId',\n};\n\nconst CPMInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n DeviceClassCode: '',\n InstanceIds: [],\n WanIps: [],\n LanIps: [],\n Alias: '',\n VagueIp: '',\n AutoRenewFlag: {},\n VpcId: '',\n SubnetId: '',\n DeviceType: {},\n IsLuckyDevice: {},\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DeviceClassCode',\n enDescriptor: 'DeviceClassCode',\n cnDescriptor: '机型ID',\n link: '',\n type: 'dropdown',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '设备ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'WanIps',\n enDescriptor: 'WanIps',\n cnDescriptor: '外网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LanIps',\n enDescriptor: 'LanIps',\n cnDescriptor: '内网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Alias',\n enDescriptor: 'Alias',\n cnDescriptor: '设备名称',\n link: '',\n type: 'input',\n },\n {\n key: 'VagueIp',\n enDescriptor: 'VagueIp',\n cnDescriptor: '模糊IP查询',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenewFlag',\n enDescriptor: 'AutoRenewFlag',\n cnDescriptor: '自动续费标志',\n link: '',\n type: 'select',\n list: [\n { text: '不自动续费', value: 0 },\n { text: '自动续费', value: 1 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'DeviceType',\n enDescriptor: 'DeviceType',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '计算型', value: 'compute' },\n { text: '标准型', value: 'standard' },\n { text: '存储型', value: 'storage' },\n ],\n },\n {\n key: 'IsLuckyDevice',\n enDescriptor: 'IsLuckyDevice',\n cnDescriptor: '竞价实例机器过滤',\n link: '',\n type: 'select',\n list: [\n { text: '非竞价实例机器', value: 0 },\n { text: '竞价实例的机器', value: 1 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/386/32904',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['instanceId'];\n });\n return metricTmp;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CPMGetInstanceQueryParams,\n};\n","import { cloneDeep, compact, forEach, get, isArray, isEmpty, isObject, omit, uniq } from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\n\nconst namespace = 'QCE/DSA';\nconst queryEditorName = 'ecdnQuery';\n\nconst ECDNInstanceAliasList = ['Domain'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\nconst ECDNInvalidDemensions = {\n domain: 'Domain',\n projectid: 'ProjectId',\n};\n\nconst ECDN_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 100,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n disable: [],\n projectId: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n area: [],\n tagKey: [],\n },\n};\n\nconst ECDNFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'Origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'ResourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'Status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'disable',\n enDescriptor: 'Disable',\n cnDescriptor: '域名封禁状态',\n link: '',\n type: 'select',\n list: [\n { text: 'normal', value: 'normal' },\n { text: 'unlicensed', value: 'unlicensed' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'FullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'Https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'OriginPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'https', value: 'https' },\n { text: 'follow', value: 'follow' },\n ],\n },\n {\n key: 'area',\n enDescriptor: 'Area',\n cnDescriptor: '加速区域',\n link: '',\n type: 'select',\n list: [\n { text: 'mainland', value: 'mainland' },\n { text: 'overseas', value: 'overseas' },\n { text: 'global', value: 'global' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/570/42462',\n namespace,\n fieldDescriptor: ECDNFilterFieldsDescriptor,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!isEmpty(queries)) {\n params.Limit = get(queries, 'Limit', 20) || 20;\n params.Offset = get(queries, 'Offset', 0) || 0;\n const _queries = omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n forEach(_queries, (item: any, key) => {\n if (isArray(item)) {\n item = compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: uniq(item).slice(0, 5) });\n }\n } else if (isObject(item)) {\n if (!isEmpty(get(item, 'value', []))) {\n Filters.push({ Name: key, Value: [get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters.map((item) => {\n if (item.Name === 'domain') {\n return { ...item, Fuzzy: true };\n }\n return item;\n });\n return params;\n }\n }\n return params;\n}\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['domain', 'projectid'];\n });\n return metricTmp;\n}\n\nexport default ECDN_STATE;\n\nexport {\n ECDNFilterFieldsDescriptor,\n templateQueryIdMap,\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECDNGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM';\nconst queryEditorName = 'ecmQuery';\n\nconst ECMInvalidDemensions = {\n // diskId: 'InstanceId',\n uuid: 'UUID',\n // unInstanceId: 'InstanceId',\n};\n\nconst ECMInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMFilterFields = {\n Limit: 20,\n Offset: 0,\n zone: [],\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: '可用区英文标识',\n link: '',\n type: 'dropdownMulti',\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: ECMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nconst namespace = 'QCE/POSTGRES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'postgresQuery';\n\nconst PostgresFields = {\n 'db-instance-id': [],\n 'db-instance-name': [],\n};\n\nconst PostgresFieldsDescriptor: FildDescriptorType = [\n {\n key: 'db-instance-id',\n enDescriptor: 'DB Instance ID',\n cnDescriptor: 'DB 实例ID',\n link: '',\n type: 'inputMulti',\n min: 0,\n },\n {\n key: 'db-instance-name',\n enDescriptor: 'DB Instance Name',\n cnDescriptor: 'DB 实例名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/409/16773',\n namespace,\n fieldDescriptor: PostgresFieldsDescriptor,\n};\nconst POSTGRESInstanceAliasList = ['DBInstanceId', 'DBInstanceName'];\n\nconst POSTGRES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DBInstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...PostgresFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nconst PostgreInvalidDemensions = {\n uid: 'DBInstanceId',\n resourceId: 'DBInstanceId',\n};\nconst templateQueryIdMap = {\n instance: 'DBInstanceId',\n};\nexport default POSTGRES_STATE;\n\nexport {\n PostgresFieldsDescriptor,\n POSTGRESInstanceAliasList,\n templateQueryIdMap,\n modifyDimensons,\n namespace,\n queryEditorName,\n queryEditorConfig,\n PostgreInvalidDemensions,\n GetInstanceQueryParams as POSTGRESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPC_NET_DETECT';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vpcNetDetectQuery';\n\nconst VPCNETInvalidDemensions = {\n netdetectid: 'NetDetectId',\n netDetectId: 'NetDetectId',\n};\n\nconst VPCNETDETECTInstanceAliasList = ['NetDetectId', 'NetDetectName'];\n\nconst templateQueryIdMap = {\n instance: 'NetDetectId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPCNETFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'net-detect-id': [],\n 'subnet-id': [],\n 'net-detect-name': [],\n};\n\nconst VPCNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-id',\n enDescriptor: 'net-detect-id',\n cnDescriptor: '网络探测实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-name',\n enDescriptor: 'net-detect-name',\n cnDescriptor: '网络探测名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/38696',\n namespace,\n fieldDescriptor: VPCNETFilterFieldsDescriptor,\n};\n\nconst VPCNET_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NetDetectId',\n queries: VPCNETFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['netDetectId'];\n });\n return metricTmp;\n}\nexport default VPCNET_STATE;\nexport {\n VPCNETFilterFieldsDescriptor,\n templateQueryIdMap,\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as VPCNETDETECTGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/WAF';\nconst queryEditorName = 'wafQuery';\nconst WAFFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst WAFFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/228/41118',\n namespace,\n fieldDescriptor: WAFFilterFieldsDescriptor,\n};\nconst WAF_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: WAFFilterFields,\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n];\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst WAFInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst WAFInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default WAF_STATE;\nexport {\n WAFFilterFieldsDescriptor,\n templateQueryIdMap,\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n namespace,\n regionSupported,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as WAFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst InstanceTypes = [\n { text: '主实例', value: 1 },\n { text: '备灾实例', value: 2 },\n { text: '只读实例', value: 3 },\n];\n\nconst Status = [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '隔离中', value: 4 },\n { text: '已隔离', value: 5 },\n];\n\nconst PayTypes = [\n { text: '包年包月', value: 0 },\n { text: '小时计费', value: 1 },\n];\n\nconst TaskStatus = [\n { text: '没有任务', value: 0 },\n { text: '升级中', value: 1 },\n { text: '数据导入中', value: 2 },\n { text: '开放Slave中', value: 3 },\n { text: '外网访问开通中', value: 4 },\n { text: '批量操作执行中', value: 5 },\n { text: '回档中', value: 6 },\n { text: '外网访问关闭中', value: 7 },\n { text: '密码修改中', value: 8 },\n { text: '实例名修改中', value: 9 },\n { text: '重启中', value: 10 },\n { text: '自建迁移中', value: 12 },\n { text: '删除库表中', value: 13 },\n { text: '灾备实例创建同步中', value: 14 },\n { text: '升级待切换', value: 15 },\n { text: '升级切换中', value: 16 },\n { text: '升级切换完成', value: 17 },\n];\n\nconst EngineVersions = [\n { text: '5.1', value: '5.1' },\n { text: '5.5', value: '5.5' },\n { text: '5.6', value: '5.6' },\n { text: '5.7', value: '5.7' },\n];\n\nconst OrderBy = [\n { text: 'InstanceId', value: 'InstanceId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'DeadlineTime', value: 'DeadlineTime' },\n];\n\nconst OrderDirection = [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n];\n\nconst InitFlag = [\n { text: '未初始化', value: 0 },\n { text: '初始化', value: 1 },\n];\n\nconst CdbErrors = [\n { text: '未锁定', value: 0 },\n { text: '锁定', value: 1 },\n];\n\nconst CDBFields = {\n ProjectId: '',\n InstanceTypes: {},\n Vips: [],\n Status: {},\n Offset: 0,\n Limit: 20,\n SecurityGroupId: '',\n PayTypes: {},\n InstanceNames: [],\n TaskStatus: {},\n EngineVersions: {},\n VpcIds: [],\n ZoneIds: [],\n SubnetIds: [],\n CdbErrors: {},\n OrderBy: {},\n OrderDirection: {},\n InstanceIds: [],\n InitFlag: {},\n};\n\nconst CDBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ZoneIds',\n enDescriptor: 'Zone ID',\n cnDescriptor: '可用区的ID',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'InstanceTypes',\n enDescriptor: 'Instance Type',\n cnDescriptor: '实例类型',\n link: '',\n multiple: true,\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'EngineVersions',\n enDescriptor: 'Engine Version',\n cnDescriptor: '实例数据库引擎版本',\n link: '',\n multiple: true,\n type: 'select',\n list: EngineVersions,\n },\n {\n key: 'TaskStatus',\n enDescriptor: 'Task Status',\n cnDescriptor: '实例任务',\n link: '',\n multiple: true,\n type: 'select',\n list: TaskStatus,\n },\n {\n key: 'InitFlag',\n enDescriptor: 'Init Flag',\n cnDescriptor: '实例初始化状态',\n link: '',\n multiple: true,\n type: 'select',\n list: InitFlag,\n },\n {\n key: 'PayTypes',\n enDescriptor: 'Pay Type',\n cnDescriptor: '付费类型',\n link: '',\n multiple: true,\n type: 'select',\n list: PayTypes,\n },\n {\n key: 'CdbErrors',\n enDescriptor: 'CDB Errors',\n cnDescriptor: '实例锁定标记',\n link: '',\n multiple: true,\n type: 'select',\n list: CdbErrors,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderDirection',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderDirection,\n },\n {\n key: 'Vips',\n enDescriptor: 'Vip',\n cnDescriptor: '实例内网IP地址',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'VpcIds',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '私有网络ID',\n link: 'https://cloud.tencent.com/document/api/215/15778',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: 'https://cloud.tencent.com/document/api/215/15784',\n type: 'inputmulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/product/378/4400',\n type: 'input',\n },\n {\n key: 'SecurityGroupId',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: 'https://cloud.tencent.com/document/api/236/15854',\n type: 'input',\n },\n];\n\nconst CDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...CDBFields },\n};\n\nconst CDBInstanceAliasList = ['InstanceId', 'InstanceName', 'Vip'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return (\n dimension.length === 2 &&\n ((_.indexOf(dimension, 'instanceid') !== -1 && _.indexOf(dimension, 'insttype') !== -1) ||\n (_.indexOf(dimension, 'InstanceId') !== -1 && _.indexOf(dimension, 'InstanceType') !== -1))\n );\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((i) => CDBInvalidDemensions[i] || i);\n });\n return metricTmp;\n}\nconst CDBInvalidDemensions = {\n instanceid: 'InstanceId',\n insttype: 'InstanceType',\n region: 'Region',\n};\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CDB_STATE;\n\nexport {\n CDBFieldsDescriptor,\n CDBInstanceAliasList,\n templateQueryIdMap,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n GetInstanceQueryParams as CDBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cesQuery';\n\nconst CESInvalidDemensions = {\n uInstanceId: 'InstanceId',\n};\n\nconst CESInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CESFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n InstanceNames: [],\n OrderByKey: {},\n OrderByType: {},\n IpList: [],\n};\n\nconst CESFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '集群实例ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'InstanceNames',\n cnDescriptor: '集群实例名称列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderByKey',\n enDescriptor: 'OrderByKey',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 1 },\n { text: '实例名称', value: 2 },\n { text: '可用区', value: 3 },\n { text: '创建时间', value: 4 },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n ],\n },\n {\n key: 'IpList',\n enDescriptor: 'IpList',\n cnDescriptor: '私有网络vip列表',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/845/30631',\n namespace,\n fieldDescriptor: CESFilterFieldsDescriptor,\n};\n\nconst CES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CESFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default CES_STATE;\nexport {\n CESFilterFieldsDescriptor,\n templateQueryIdMap,\n CESInstanceAliasList,\n CESInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DC';\nconst queryEditorName = 'dcQuery';\n\nconst DCFilterFields = {\n Limit: 20,\n Offset: 0,\n DirectConnectIds: [],\n};\n\nconst DCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DirectConnectIds',\n enDescriptor: 'DirectConnectIds',\n cnDescriptor: '物理专线 ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/34826',\n namespace,\n fieldDescriptor: DCFilterFieldsDescriptor,\n};\n\nconst DC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectId',\n queries: DCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst DCInstanceAliasList = ['DirectConnectId', 'DirectConnectName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectId',\n};\n\nconst DCInvalidDemensions = {\n directConnectId: 'DirectConnectId',\n directconnectid: 'DirectConnectId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectId'];\n });\n return metricTmp;\n}\nexport default DC_STATE;\nexport {\n DCFilterFieldsDescriptor,\n templateQueryIdMap,\n DCInstanceAliasList,\n DCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCG';\nconst queryEditorName = 'dcgQuery';\n\nconst DCGInvalidDemensions = {\n directConnectGatewayId: 'DirectConnectGatewayId',\n};\n\nconst DCGInstanceAliasList = ['DirectConnectGatewayId', 'DirectConnectGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst DCGFilterFields = {\n Limit: 20,\n Offset: 0,\n 'direct-connect-gateway-id': [],\n 'direct-connect-gateway-name': [],\n 'direct-connect-gateway-ip': [],\n 'gateway-type': {},\n 'network-type': {},\n 'ccn-id': [],\n 'vpc-id': [],\n};\n\nconst DCGFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-gateway-id',\n enDescriptor: 'direct-connect-gateway-id',\n cnDescriptor: '专线网关唯一ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-name',\n enDescriptor: 'direct-connect-gateway-name',\n cnDescriptor: '专线网关名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-ip',\n enDescriptor: 'direct-connect-gateway-ip',\n cnDescriptor: '专线网关IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'gateway-type',\n enDescriptor: 'gateway-type',\n cnDescriptor: '网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '普通型', value: 'NORMAL' },\n { text: 'NAT型', value: 'NAT' },\n ],\n },\n {\n key: 'network-type',\n enDescriptor: 'network-type',\n cnDescriptor: '网络类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '私有网络类型', value: 'VPC' },\n { text: '云联网类型', value: 'CCN' },\n ],\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: '专线网关所在云联网ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '专线网关所在私有网络ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/30644',\n namespace,\n fieldDescriptor: DCGFilterFieldsDescriptor,\n};\n\nconst DCG_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectGatewayId',\n queries: DCGFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default DCG_STATE;\nexport {\n DCGFilterFieldsDescriptor,\n templateQueryIdMap,\n DCGInstanceAliasList,\n DCGInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as DCGGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCX';\nconst queryEditorName = 'dcxQuery';\n\nconst DCXFilterFields = {\n 'direct-connect-tunnel-name': [],\n 'direct-connect-tunnel-id': [],\n 'direct-connect-id': [],\n};\n\nconst DCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-tunnel-name',\n enDescriptor: 'direct-connect-tunnel-name',\n cnDescriptor: '专用通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-tunnel-id',\n enDescriptor: 'direct-connect-tunnel-id',\n cnDescriptor: '专用通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-id',\n enDescriptor: 'direct-connect-id',\n cnDescriptor: '物理专线实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/19819',\n namespace,\n fieldDescriptor: DCXFilterFieldsDescriptor,\n};\n\nconst DCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectTunnelId',\n queries: {\n Limit: 20,\n Offset: 0,\n ...DCXFilterFields,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst DCXInstanceAliasList = ['DirectConnectTunnelId', 'DirectConnectTunnelName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n};\n\nconst DCXInvalidDemensions = {\n directconnectconnid: 'DirectConnectTunnelId',\n directConnectConnId: 'DirectConnectTunnelId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectConnId'];\n });\n return metricTmp;\n}\nexport default DCX_STATE;\nexport {\n DCXFilterFieldsDescriptor,\n templateQueryIdMap,\n DCXInstanceAliasList,\n DCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_LB';\nconst queryEditorName = 'ecmLbQuery';\n\nconst ECMLBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\nconst ECMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMLBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n BackendPrivateIps: [],\n VpcId: '',\n};\n\nconst ECMLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivateIps',\n cnDescriptor: '绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属私有网络唯一ID',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/48459',\n namespace,\n fieldDescriptor: ECMLBFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: ECMLBFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMLBFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMLBInstanceAliasList,\n ECMLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMLBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst InstanceTypes = [\n { text: '所有实例', value: 0 },\n { text: '正式实例', value: 1 },\n { text: '临时实例', value: 2 },\n { text: '只读实例', value: 3 },\n { text: '正式,只读,灾备实例', value: -1 },\n];\n\nconst ClusterTypes = [\n { text: '副本集实例', value: 0 },\n { text: '分片实例', value: 1 },\n { text: '所有实例', value: -1 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '实例有效', value: 2 },\n { text: '实例已过期', value: -2 },\n];\n\nconst PayMode = [\n { text: '按量计费', value: 0 },\n { text: '包年包月', value: 1 },\n { text: '按量包年包月计费', value: -1 },\n];\n\nconst OrderBy = [\n { text: 'ProjectId', value: 'ProjectId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n];\n\nconst OrderByType = [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n];\n\nconst MongoDBFields = {\n InstanceIds: [],\n InstanceType: {},\n ClusterType: {},\n Status: [],\n VpcId: '',\n SubnetId: '',\n PayMode: {},\n Limit: 20,\n Offset: 0,\n OrderBy: '',\n OrderByType: '',\n};\n\nconst MONGODBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstancesIds',\n cnDescriptor: '实例名称',\n type: 'inputmulti',\n },\n {\n key: 'InstanceType',\n enDescriptor: 'InstanceType',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'ClusterType',\n enDescriptor: 'ClusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: ClusterTypes,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网ID,基础网络则不传该参数。入参设置该参数的同时,必须设置相应的VpcId',\n link: '',\n type: 'input',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '付费类型',\n link: '',\n type: 'select',\n list: PayMode,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderByType,\n },\n];\n\nconst MONGODB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...MongoDBFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst MONGODBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst MONGODBInvalidDemensions = {\n target: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n replica: 'ReplicaSetId',\n};\n\nconst queryMonitorExtraConfg = {\n Replica: {\n dim_KeyInStorage: 'ReplicaSets',\n dim_KeyInTarget: 'replica',\n dim_KeyInMap: 'ReplicaSetId',\n dim_KeyInIns: 'ReplicaSetId',\n },\n Node: {\n dim_KeyInStorage: 'ReplicaNodeSets',\n dim_KeyInTarget: 'node',\n dim_KeyInMap: 'NodeId',\n dim_KeyInIns: 'NodeId',\n },\n};\nexport default MONGODB_STATE;\nexport {\n MONGODBFieldsDescriptor,\n MONGODBInvalidDemensions,\n MONGODBInstanceAliasList,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as MONGODBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/QAAP';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'qaapQuery';\n\nconst QAAPInvalidDemensions = {\n channelId: 'InstanceId',\n};\n\nconst QAAPInstanceAliasList = ['InstanceId'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst QAAPFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: [],\n AccessRegion: [],\n RealServerRegion: [],\n GroupId: [],\n};\n\nconst QAAPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'AccessRegion',\n enDescriptor: 'AccessRegion',\n cnDescriptor: '接入地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'RealServerRegion',\n enDescriptor: 'RealServerRegion',\n cnDescriptor: '源站地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'GroupId',\n enDescriptor: 'GroupId',\n cnDescriptor: '通道组ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/608/36963',\n namespace,\n fieldDescriptor: QAAPFilterFieldsDescriptor,\n};\n\nconst QAAP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: QAAPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n // metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['netDetectId'];\n // });\n return metricTmp;\n}\nexport default QAAP_STATE;\nexport {\n QAAPFilterFieldsDescriptor,\n templateQueryIdMap,\n QAAPInstanceAliasList,\n QAAPInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as QAAPGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TCAPLUS';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tcaplusQuery';\n\nconst TCAPLUSInvalidDemensions = {\n // TableInstanceId: 'TableInstanceId',\n // ClusterId: 'ClusterId',\n};\n\n// 需和文件名对应\nconst TCAPLUSInstanceAliasList = ['TableInstanceId', 'TableName'];\n\nconst templateQueryIdMap = {\n instance: 'TableInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst TCAPLUSFilterFields = {\n Limit: 20,\n Offset: 0,\n ClusterId: '',\n TableGroupIds: [],\n\n TableName: '',\n TableInstanceId: '',\n TableIdlType: {},\n TableType: {},\n ListElementNum: null,\n ReservedVolume: null,\n ReservedReadQps: null,\n ReservedWriteQps: null,\n Memo: '',\n FileName: '',\n FileExtType: '',\n FileSize: null,\n FileContent: '',\n};\n\nconst TCAPLUSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ClusterId',\n enDescriptor: 'ClusterId',\n cnDescriptor: '表格所属集群ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableGroupIds',\n enDescriptor: 'TableGroupIds',\n cnDescriptor: '表格组ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'TableName',\n enDescriptor: 'TableName',\n cnDescriptor: '表格名称',\n link: '',\n type: 'input',\n },\n {\n key: 'TableInstanceId',\n enDescriptor: 'TableInstanceId',\n cnDescriptor: '表实例ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableIdlType',\n enDescriptor: 'TableIdlType',\n cnDescriptor: '表格描述语言类型',\n link: '',\n type: 'select',\n list: [\n { text: 'PROTO', value: 'PROTO' },\n { text: 'TDR', value: 'TDR' },\n ],\n },\n {\n key: 'TableType',\n enDescriptor: 'TableType',\n cnDescriptor: '表格数据结构类型',\n link: '',\n type: 'select',\n list: [\n { text: 'GENERIC', value: 'GENERIC' },\n { text: 'LIST', value: 'LIST' },\n ],\n },\n {\n key: 'ListElementNum',\n enDescriptor: 'ListElementNum',\n cnDescriptor: 'LIST表元素个数',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedVolume',\n enDescriptor: 'ReservedVolume',\n cnDescriptor: '表格预留容量(GB)',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedReadQps',\n enDescriptor: 'ReservedReadQps',\n cnDescriptor: '表格预留读CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedWriteQps',\n enDescriptor: 'ReservedWriteQps',\n cnDescriptor: '表格预留写CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Memo',\n enDescriptor: 'Memo',\n cnDescriptor: '表格备注信息',\n link: '',\n type: 'input',\n },\n {\n key: 'FileName',\n enDescriptor: 'FileName',\n cnDescriptor: 'Key回档文件名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileExtType',\n enDescriptor: 'FileExtType',\n cnDescriptor: 'Key回档文件扩展名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileSize',\n enDescriptor: 'FileSize',\n cnDescriptor: 'Key回档文件大小,回档专用',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'FileContent',\n enDescriptor: 'FileContent',\n cnDescriptor: 'Key回档文件内容,回档专用',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/596/39664',\n namespace,\n fieldDescriptor: TCAPLUSFilterFieldsDescriptor,\n};\n\nconst TCAPLUS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TableInstanceId',\n queries: TCAPLUSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n params.ClusterId = _.get(queries, 'ClusterId', '') || '';\n params.TableGroupIds = _.get(queries, 'TableGroupIds', []) || [];\n queries = _.omit(queries, ['Offset', 'Limit', 'TableGroupIds', 'ClusterId']);\n const SelectedTables: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n SelectedTables[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n SelectedTables[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n SelectedTables[key] = item;\n }\n });\n params.SelectedTables = SelectedTables;\n return params;\n}\n// 和其他产品的展示保持一致\nconst regonsMap = {\n 'ap-beijing': '华北地区(北京)',\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-tokyo': '亚太东北(东京)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'na-siliconvalley': '美国西部(硅谷)',\n};\nexport default TCAPLUS_STATE;\nexport {\n TCAPLUSFilterFieldsDescriptor,\n templateQueryIdMap,\n TCAPLUSInstanceAliasList,\n TCAPLUSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regonsMap,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TCAPLUSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VBC';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vbcQuery';\n\nconst VBCInvalidDemensions = {\n // CcnId: 'CcnId',\n};\n\n// 需和文件名对应\nconst VBCInstanceAliasList = ['CcnId', 'CcnName'];\n\nconst templateQueryIdMap = {\n instance: 'CcnId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst VBCFilterFields = {\n Limit: 20,\n Offset: 0,\n 'ccn-id': [],\n 'ccn-name': [],\n 'ccn-description': [],\n state: {},\n};\n\nconst VBCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: 'CCN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-name',\n enDescriptor: 'ccn-name',\n cnDescriptor: 'CCN名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-description',\n enDescriptor: 'ccn-description',\n cnDescriptor: 'CCN描述',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '隔离中', value: 'ISOLATED' },\n { text: '运行中', value: 'AVAILABLE' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/19199',\n namespace,\n fieldDescriptor: VBCFilterFieldsDescriptor,\n};\n\nconst VBC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'CcnId',\n DRegion: '',\n SRegion: '',\n queries: VBCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default VBC_STATE;\nexport {\n VBCFilterFieldsDescriptor,\n templateQueryIdMap,\n VBCInstanceAliasList,\n VBCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as VBCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNGW';\nconst queryEditorName = 'vpngwQuery';\n\nconst VPNGWInvalidDemensions = {\n vpnGwId: 'VpnGatewayId',\n};\n\nconst VPNGWInstanceAliasList = ['VpnGatewayId', 'VpnGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNGWFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'vpn-gateway-name': [],\n type: {},\n 'public-ip-address': [],\n 'renew-flag': {},\n zone: [],\n};\n\nconst VPNGWFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-name',\n enDescriptor: 'vpn-gateway-name',\n cnDescriptor: 'VPN实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'type',\n enDescriptor: 'type',\n cnDescriptor: 'VPN网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'IPSEC', value: 'IPSEC' },\n { text: 'SSL', value: 'SSL' },\n ],\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'public-ip-address',\n cnDescriptor: '公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'renew-flag',\n enDescriptor: 'renew-flag',\n cnDescriptor: '网关续费类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '手动续费', value: 'NOTIFY_AND_MANUAL_RENEW' },\n { text: '自动续费', value: 'NOTIFY_AND_AUTO_RENEW' },\n ],\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: 'VPN所在可用区',\n link: '',\n type: 'dropdownMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17514',\n namespace,\n fieldDescriptor: VPNGWFilterFieldsDescriptor,\n};\n\nconst VPNGW_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnGatewayId',\n queries: VPNGWFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNGW_STATE;\nexport {\n VPNGWFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNGWInstanceAliasList,\n VPNGWInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNGWGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNX';\nconst queryEditorName = 'vpnxQuery';\n\nconst VPNXInvalidDemensions = {\n vpnConnId: 'VpnConnectionId',\n};\n\nconst VPNXInstanceAliasList = ['VpnConnectionId', 'VpnConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNXFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'customer-gateway-id': [],\n 'vpn-connection-name': [],\n 'vpn-connection-id': [],\n};\n\nconst VPNXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'customer-gateway-id ',\n enDescriptor: 'customer-gateway-id ',\n cnDescriptor: '对端网关实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-name',\n enDescriptor: 'vpn-connection-name',\n cnDescriptor: '通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-id',\n enDescriptor: 'vpn-connection-id',\n cnDescriptor: '通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17515',\n namespace,\n fieldDescriptor: VPNXFilterFieldsDescriptor,\n};\n\nconst VPNX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnConnectionId',\n queries: VPNXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNX_STATE;\nexport {\n VPNXFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNXInstanceAliasList,\n VPNXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst LighthouseStateType = [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n];\n\nconst LighthouseFilterFields = {\n zone: [],\n 'instance-name': [],\n 'instance-state': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n};\n\nconst LighthouseFilterFieldsDescriptor = [\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'Instance State',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: LighthouseStateType,\n },\n];\n\nconst LIGHTHOUSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...LighthouseFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LIGHTHOUSEInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst LighthouseInvalidDemensions = {\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default LIGHTHOUSE_STATE;\n\nexport {\n LighthouseFilterFieldsDescriptor,\n LIGHTHOUSEInstanceAliasList,\n LighthouseInvalidDemensions,\n templateQueryIdMap,\n modifyDimensons,\n GetInstanceQueryParams as LIGHTHOUSEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const CFSQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'FileSystemId',\n enDescriptor: 'File System Id',\n cnDescriptor: '文件系统 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络(VPC) ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网 ID',\n link: '',\n type: 'input',\n },\n];\n\nconst CFS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FileSystemId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n FileSystemId: '',\n VpcId: '',\n SubnetId: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CFSInstanceAliasList = ['FileSystemId', 'FsName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CFSInvalidDemensions = {\n // functionName: 'FunctionName',\n // namespace: 'Namespace'\n};\n\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CFS_STATE;\nexport {\n CFSInstanceAliasList,\n CFSInvalidDemensions,\n templateQueryIdMap,\n regionSupported,\n GetInstanceQueryParams as CFSGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'QueueName',\n enDescriptor: 'QueueName',\n cnDescriptor: '精确匹配QueueName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n queueId: 'QueueId',\n queueName: 'QueueName',\n};\n\nexport const templateQueryIdMap = {\n instance: 'QueueName',\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['QueueName', 'QueueId'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'QueueName',\n queries: {\n Offset: 0,\n Limit: 20,\n QueueName: '',\n TagKey: '',\n },\n};\n","import _ from 'lodash';\nconst instanceChargeTypes = [\n { text: '预付费', value: 'PREPAID' },\n { text: '后付费', value: 'POSTPAID_BY_HOUR' },\n { text: 'CDH付费', value: 'CDHPAID' },\n];\n\nconst CVMFilterFields = {\n zone: [],\n 'project-id': [],\n 'host-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n 'instance-id': [],\n 'security-group-id': [],\n 'instance-name': [],\n 'instance-charge-type': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n 'tag-key': [],\n};\n\nconst CVMFilterFieldsDescriptor = [\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'project-id',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/api/378/4400',\n type: 'inputNumbermulti',\n },\n {\n key: 'host-id',\n enDescriptor: 'CDH ID',\n cnDescriptor: 'CDH ID',\n link: 'https://cloud.tencent.com/document/product/416/19730',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: 'VPC ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'security-group-id',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-key',\n enDescriptor: '标签简',\n cnDescriptor: '标签简',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-charge-type',\n enDescriptor: 'Instance Charge Type',\n cnDescriptor: '实例计费模式',\n link: '',\n type: 'select',\n list: instanceChargeTypes,\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP,包含实例创建时自动分配的IP和实例创建后手动绑定的弹性IP',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CVM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...CVMFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst CVMInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst CVMValidMetricsT = [\n 'CPUUsage',\n 'CpuLoadavg',\n 'Cpuloadavg5m',\n 'Cpuloadavg15m',\n 'BaseCpuUsage',\n 'GpuMemTotal',\n 'GpuMemUsage',\n 'GpuMemUsed',\n 'GpuPowDraw',\n 'GpuPowLimit',\n 'GpuPowUsage',\n 'GpuTemp',\n 'GpuUtil',\n 'LanOuttraffic',\n 'LanIntraffic',\n 'LanOutpkg',\n 'LanInpkg',\n 'WanOuttraffic',\n 'WanIntraffic',\n 'WanOutpkg',\n 'WanInpkg',\n 'AccOuttraffic',\n 'TcpCurrEstab',\n 'TimeOffset',\n 'MemUsed',\n 'MemUsage',\n 'CvmDiskUsage',\n 'BaseCpuUsage',\n 'VmDiskReadIops',\n];\n// const CVMInvalidDemensions = {\n// 'vm_uuid': 'InstanceId',\n// 'vmUuid': 'InstanceId',\n// };\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nfunction isValidMetric(metric) {\n const CVMValidMetrics = _.map(CVMValidMetricsT, _.toUpper);\n return _.indexOf(CVMValidMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default CVM_STATE;\nexport {\n CVMFilterFieldsDescriptor,\n CVMInstanceAliasList,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n // CVMInvalidDemensions,\n GetInstanceQueryParams as CVMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst namespace = 'QCE/PCX';\n\nconst PCXFields = {\n limit: 20,\n offset: 0,\n peeringConnectionId: '',\n peeringConnectionName: '',\n vpcId: '',\n state: undefined,\n};\n\nconst PCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'peeringConnectionId',\n queries: { ...PCXFields },\n};\n\nconst StateTypes = [\n { text: '申请中', value: 0 },\n { text: '连接成功', value: 1 },\n { text: '已过期', value: 2 },\n { text: '对端已拒绝', value: 3 },\n { text: '对端已删除', value: 4 },\n];\n\nconst PCXFieldsDescriptor = [\n {\n key: 'offset',\n enDescriptor: 'offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'limit',\n enDescriptor: 'limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为50',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 50,\n },\n {\n key: 'peeringConnectionId',\n enDescriptor: 'PeeringConnection Id',\n cnDescriptor: '私有网络对等连接 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'peeringConnectionName',\n enDescriptor: 'PeeringConnection Name',\n cnDescriptor: '对等连接名称',\n link: '',\n type: 'input',\n },\n {\n key: 'vpcId',\n enDescriptor: 'vpcId',\n cnDescriptor: '发起方私有网络 ID 值',\n link: 'https://cloud.tencent.com/document/api/215/1372',\n type: 'dropdown',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '连接状态',\n link: '',\n type: 'select',\n list: StateTypes,\n },\n];\n\nconst PCXInstanceAliasList = ['peeringConnectionId', 'peeringConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'peeringConnectionId',\n};\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.limit = _.get(queries, 'limit', 20) || 20;\n params.offset = _.get(queries, 'offset', 0) || 0;\n queries = _.omit(queries, ['offset', 'limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nexport default PCX_STATE;\n\nexport {\n PCXInstanceAliasList,\n PCXFieldsDescriptor,\n templateQueryIdMap,\n namespace,\n GetInstanceQueryParams as PCXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDIS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return dimension.length === 1 && _.indexOf(dimension, 'instanceid') !== -1;\n}\n\nconst REDISInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisInvalidDemensions = {\n redis_uuid: 'InstanceId',\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default REDIS_STATE;\nexport {\n RedisFieldsDescriptor,\n RedisInvalidDemensions,\n templateQueryIdMap,\n REDISInstanceAliasList,\n isValidMetric,\n GetInstanceQueryParams as REDISGetInstanceQueryParams,\n};\n","import { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst ApplicationType = [\n { text: '所有', value: '' },\n { text: '容器应用', value: 'C' },\n { text: '普通应用/虚拟机应用', value: 'V' },\n];\n\nconst MicroserviceType = [\n { text: '所有', value: '' },\n { text: '普通应用', value: 'N' },\n { text: 'Mesh应用', value: 'M' },\n { text: '微服务网关应用', value: 'G' },\n { text: '原生应用', value: 'NATIVE' },\n];\n\nconst ApplicationResourceType = [\n { text: '默认资源类型', value: 'DEF' },\n { text: '微服务网关资源', value: 'GW' },\n];\n\nconst TSFFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '搜索关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ApplicationIdList',\n enDescriptor: 'ApplicationIdList',\n cnDescriptor: '应用ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ApplicationType',\n enDescriptor: 'ApplicationType',\n cnDescriptor: '应用类型',\n link: '',\n type: 'select',\n list: ApplicationType,\n },\n {\n key: 'MicroserviceType',\n enDescriptor: 'MicroserviceType',\n cnDescriptor: '应用的微服务类型',\n link: '',\n type: 'select',\n list: MicroserviceType,\n },\n {\n key: 'ApplicationResourceTypeList',\n enDescriptor: 'ApplicationResourceTypeList',\n cnDescriptor: '应用资源类型数组',\n link: '',\n type: 'select',\n multiple: true,\n list: ApplicationResourceType,\n },\n];\n\nconst TSF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ApplicationId',\n queries: {\n Limit: 20,\n Offset: 0,\n SearchWord: '',\n OrderBy: '',\n OrderType: null,\n ApplicationType: '',\n MicroserviceType: '',\n ApplicationResourceTypeList: [],\n ApplicationIdList: [],\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst TSFInstanceAliasList = ['ApplicationId', 'ApplicationName'];\n\nconst TSFInvalidDemensions = {\n applicationid: 'ApplicationId',\n};\n\nconst templateQueryIdMap = {\n instance: 'ApplicationId',\n};\n\nexport default TSF_STATE;\nexport {\n TSFInvalidDemensions,\n templateQueryIdMap,\n TSFInstanceAliasList,\n TSFFieldsDescriptor,\n GetInstanceQueryParams as TSFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst networkTypes = [\n { text: 'BGP', value: 'BGP' },\n { text: 'SINGLEISP', value: 'SINGLEISP' },\n { text: 'ANYCAST', value: 'ANYCAST' },\n];\n\nconst chargeTypes = [\n { text: 'top5计费', value: 'TOP5_POSTPAID_BY_MONTH' },\n { text: '月95计费', value: 'PERCENT95_POSTPAID_BY_MONTH' },\n];\nconst BWPFilterFields = {\n 'bandwidth-package_id': [],\n 'bandwidth-package-name': [],\n 'network-type': [],\n 'charge-type': [],\n};\n\nconst BWPFilterFieldsDescriptor = [\n {\n key: 'bandwidth-package_id',\n enDescriptor: 'BandwidthPackage Id',\n cnDescriptor: '带宽包ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'bandwidth-package-name',\n enDescriptor: 'BandwidthPackage Name',\n cnDescriptor: '带宽包名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-type',\n enDescriptor: 'network type',\n cnDescriptor: '带宽包类型',\n link: '',\n type: 'select',\n list: networkTypes,\n },\n {\n key: 'charge-type',\n enDescriptor: 'charge type',\n cnDescriptor: '带宽包计费类型',\n link: '',\n type: 'select',\n list: chargeTypes,\n },\n];\n\nconst BWP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BandwidthPackageId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n BandwidthPackageIds: [''],\n Filters: { ...BWPFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.BandwidthPackageIds)) {\n const BandwidthPackageIds = _.compact(queries.BandwidthPackageIds);\n if (_.uniq(BandwidthPackageIds).length > 0) {\n params.BandwidthPackageIds = _.uniq(BandwidthPackageIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst BWPInstanceAliasList = ['BandwidthPackageId', 'BandwidthPackageName'];\n\nconst templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n};\n\nconst BWPInvalidDemensions = {\n bandwidthPackageId: 'BandwidthPackageId',\n};\nexport default BWP_STATE;\nexport {\n BWPFilterFieldsDescriptor,\n templateQueryIdMap,\n BWPInstanceAliasList,\n BWPInvalidDemensions,\n GetInstanceQueryParams as BWPGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n // console.log('item', item, queries);\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst CDNInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst CDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default CDN_STATE;\nexport {\n CDNFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNInstanceAliasList,\n CDNInvalidDemensions,\n GetInstanceQueryParams as CDNGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\n// export const LBQueryDescriptor = [{\n// key: 'Offset',\n// enDescriptor: 'Offset',\n// cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n// link: '',\n// type: 'inputnumber',\n// min: 0,\n// },\n// {\n// key: 'Limit',\n// enDescriptor: 'Limit',\n// cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为2000',\n// link: '',\n// type: 'inputnumber',\n// min: 1,\n// max: 2000,\n// },\n// {\n// key: 'AddressId',\n// enDescriptor: 'Address Id',\n// cnDescriptor: '标识 EIP 的唯一 ID ',\n// link: '',\n// type: 'inputmulti',\n// }\n// ];\n\nexport const LBFilterDescriptor = [\n {\n key: 'address-id',\n enDescriptor: 'Address ID',\n cnDescriptor: 'EIP 的唯一 ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'Address Name',\n cnDescriptor: 'EIP 名称 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'Address IP',\n cnDescriptor: 'EIP 的 IP 地址 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'Address Status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n list: [\n { value: 'CREATING', text: 'CREATING' },\n { value: 'BINDING', text: 'BINDING' },\n { value: 'BIND', text: 'BIND' },\n { value: 'UNBINDING', text: 'UNBINDING' },\n { value: 'UNBIND', text: 'UNBIND' },\n { value: 'OFFLINING', text: 'OFFLINING' },\n { value: 'BIND_ENI', text: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: 'EIP 绑定的内网 IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'Network Interface ID',\n cnDescriptor: 'EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'Arrears',\n cnDescriptor: 'EIP 是否欠费 ',\n link: '',\n type: 'select',\n list: [\n { text: '正常', value: 'FALSE' },\n { text: '欠费', value: 'TRUE' },\n ],\n },\n];\n\n// const LBFilterFields = {\n// \"address-id\": [],\n// \"address-name\": [],\n// \"address-ip\": [],\n// \"address-status \": [],\n// \"instance-id \": [],\n// \"private-ip-address\": [],\n// \"network-interface-id \": [],\n// \"is-arrears \": [],\n// };\n\nconst InstanceKey = 'AddressIds';\nconst LB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n [InstanceKey]: [''],\n Filters: {\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status ': [],\n 'instance-id ': [],\n 'private-ip-address': [],\n 'network-interface-id ': [],\n 'is-arrears ': [],\n },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries[InstanceKey])) {\n const InstanceIds = _.compact(queries[InstanceKey]);\n if (_.uniq(InstanceIds).length > 0) {\n params[InstanceKey] = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LBInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\n// 维度eip对应于实例中的哪个字段?映射\nconst LBInvalidDemensions = {\n eip: 'AddressIp',\n};\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n// 从monitor维度到LB实例对应字段的映射\n// export const metric2Instance = {\n// functionName: 'FunctionName',\n// namespace: 'Namespace'\n// };\n\nexport default LB_STATE;\nexport {\n LBInstanceAliasList,\n LBInvalidDemensions,\n templateQueryIdMap,\n GetInstanceQueryParams as LBGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const LBDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\n\nconst NATGATEWAYInstanceAliasList = ['NatGatewayId', 'NatGatewayName'];\n\nconst NATGatewayFilterFields = {\n 'nat-gateway-id': [],\n 'nat-gateway-name': [],\n 'vpc-id': [],\n};\n\nconst NATGatewayFilterFieldsDescriptor = [\n {\n key: 'nat-gateway-id',\n enDescriptor: 'NatGateway ID',\n cnDescriptor: 'NAT网关统一 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'nat-gateway-name',\n enDescriptor: 'NatGateway Name',\n cnDescriptor: 'NatGateway Name',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst NATGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NatGatewayId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n NatGatewayIds: [''],\n Filters: { ...NATGatewayFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.NatGatewayIds)) {\n const NatGatewayIds = _.compact(queries.NatGatewayIds);\n if (_.uniq(NatGatewayIds).length > 0) {\n params.InstanceIds = _.uniq(NatGatewayIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst templateQueryIdMap = {\n instance: 'NatGatewayId',\n};\n\nconst NATInvalidDemensions = {\n natId: 'NatGatewayId',\n};\n\nexport default NATGATEWAY_STATE;\nexport {\n NATGatewayFilterFieldsDescriptor,\n NATGATEWAYInstanceAliasList,\n templateQueryIdMap,\n NATInvalidDemensions,\n GetInstanceQueryParams as NATGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n serviceType: [],\n projectId: [],\n domainType: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n tagKey: [],\n};\n\nconst OVCDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst OVCDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst OVCDNInstanceAliasList = ['Domain', 'ResourceId'];\n\nconst OVCDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default OVCDN_STATE;\nexport {\n OVCDNFilterFieldsDescriptor,\n OVCDNInstanceAliasList,\n templateQueryIdMap,\n OVCDNInvalidDemensions,\n GetInstanceQueryParams as OVCDNGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__69__;","import _ from 'lodash';\n\nconst TKE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n conditions: [],\n groupBys: '',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIds: [''],\n Filters: {\n ClusterName: [],\n ClusterType: [],\n ClusterStatus: [],\n 'tag-key': [],\n },\n },\n};\n\nconst TKEFilterFieldsDescriptor = [\n {\n key: 'ClusterName',\n enDescriptor: 'Cluster Name',\n cnDescriptor: '集群名',\n link: '',\n type: 'input',\n },\n {\n key: 'ClusterType',\n enDescriptor: 'Cluster Type',\n cnDescriptor: '集群类型',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ClusterStatus',\n enDescriptor: 'Cluster Status',\n cnDescriptor: '集群状态',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Tags',\n enDescriptor: 'Tags',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC',\n cnDescriptor: 'VPC',\n link: '',\n type: 'input',\n },\n {\n key: 'tag-key',\n enDescriptor: 'Tag Key',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-value',\n enDescriptor: 'Tag Value',\n cnDescriptor: '标签值',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst TKEInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nexport default TKE_STATE;\n\nexport { TKEFilterFieldsDescriptor, TKEInstanceAliasList, GetInstanceQueryParams as TKEGetInstanceQueryParams };\n","import {\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = APIGATEWAYInstanceAliasList;\n InvalidDimensions = APIGATEWAYInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'apigateway',\n action: 'DescribeServicesStatus',\n responseField: 'ServiceSet',\n };\n\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getEnvironmentNameList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeServiceEnvironmentList' }\n );\n },\n {\n ServiceId: instanceId,\n },\n 'EnvironmentList'\n );\n const [rs] = res;\n return rs;\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeServiceEnvironmentList') {\n const rs = await this.getEnvironmentNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.environmentName];\n return {\n text: o[this.templateQueryIdMap.environmentName],\n value: o[this.templateQueryIdMap.environmentName],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.environmentList, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n isValidMetric,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMINTRALBInstanceAliasList;\n InvalidDimensions = BMINTRALBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'internal',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n}\n","import { BMLBInstanceAliasList, CPMInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMLBInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'open',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import {\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMPCXInstanceAliasList;\n InvalidDimensions = BMPCXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmvpc',\n action: 'DescribeVpcPeerConnections',\n responseField: 'VpcPeerConnectionSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import { BWPInstanceAliasList, BWPInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class BWPDatasource extends BaseDatasource {\n Namespace = 'QCE/BWP';\n InstanceAliasList = BWPInstanceAliasList;\n InvalidDimensions = BWPInvalidDemensions;\n templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeBandwidthPackages',\n responseField: 'BandwidthPackageSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { CBSInstanceAliasList, CBSInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CBSInstanceAliasList;\n InvalidDimensions = CBSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cbs',\n action: 'DescribeDisks',\n responseField: 'DiskSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.filter(rawSet, isValidMetric);\n }\n}\n","import _ from 'lodash';\nimport {\n CDBInstanceAliasList,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = 'QCE/CDB';\n InstanceAliasList = CDBInstanceAliasList;\n InvalidDimensions = CDBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cdb',\n action: 'DescribeDBInstances',\n responseField: 'Items',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n /**\n * 获取 可用区\n * @param region 地域信息\n */\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.ZoneId, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId和InstanceType的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n InstanceType: 1,\n };\n }\n}\n","import _ from 'lodash';\nimport { CDNInstanceAliasList, CDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = 'QCE/CDN';\n InstanceAliasList = CDNInstanceAliasList;\n InvalidDimensions = CDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { CDNPROVINCEInstanceAliasList, CDNPROVINCEInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CDNPROVINCEInstanceAliasList;\n InvalidDimensions = CDNPROVINCEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n extrasAlias = ['isp', 'district'];\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n async getConsumerList(params: any) {\n const { region, field } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'cdn');\n\n // 从分页数据,获取全量数据\n const rs = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Name: field,\n },\n },\n serviceInfo.service,\n { action: 'DescribeMapInfo' }\n );\n return (rs.MapInfoList || []).map((o) => {\n return {\n text: o.Name,\n value: o.Name,\n };\n });\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeMapInfo') {\n const { name: field } = query;\n const rs = await this.getConsumerList({ region, field });\n return rs;\n }\n return [];\n }\n}\n","import {\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CEIPSUMMARYInstanceAliasList;\n InvalidDimensions = CEIPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['AnycastEIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n // response: (data: unknown[]) =>[\n // {\n // AddressId: 'AddressId',\n // AddressIp: '111.22.3.4'\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n}\n","import { CESInstanceAliasList, CESInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CESInstanceAliasList;\n InvalidDimensions = CESInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'es',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { CFSInstanceAliasList, CFSInvalidDemensions, regionSupported } from './query_def';\nimport { t } from '../../../locale';\nexport default class CFSDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = {\n instance: 'FileSystemId',\n };\n extrasAlias = ['version'];\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/CFS';\n this.InstanceAliasList = CFSInstanceAliasList;\n this.InvalidDimensions = CFSInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'cfs',\n action: 'DescribeCfsFileSystems',\n responseField: 'FileSystems',\n };\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n}\n","import _, { flattenDeep } from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\n\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CKFKADatasource extends BaseDatasource {\n Namespace = 'QCE/CKAFKA';\n InstanceAliasList = CKAFKAInstanceAliasList;\n TopicAliasList = CKAFKATopicAliasList;\n InvalidDimensions = CKAFKAInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ckafka',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n extraMetricDims = ['topicId'];\n // extrasAlias = ['topicId', 'consumerGroup', 'partition'];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n consumerGroupCache = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getConsumerGroups(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'ckafka');\n let { InstanceId, groupname = '', topicid = '' } = params;\n groupname = this.getVariable(groupname); // 将模板转换为真实值\n topicid = this.getVariable(topicid); // 将模板转换为真实值\n try {\n groupname = JSON.parse(groupname)[templateQueryIdMap.groupName];\n topicid = JSON.parse(topicid)[templateQueryIdMap.topicId];\n } catch (e) {}\n let consumerGoup = this.consumerGroupCache[InstanceId];\n if (!consumerGoup) {\n // 从分页数据,获取全量数据\n consumerGoup = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeConsumerGroup' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['GroupListForMonitor', 'TopicListForMonitor', 'PartitionListForMonitor', 'GroupList']\n );\n // topick数据从DescribeTopic\n const topicList = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeTopic' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['TopicList']\n );\n consumerGoup[1] = flattenDeep(topicList);\n console.log({ consumerGoup, topicList });\n this.consumerGroupCache[InstanceId] = consumerGoup;\n }\n\n let [GroupList, TopicList, PartitionList, GroupDetailList] = consumerGoup;\n // 无重复数组\n TopicList = _.uniqBy(TopicList, (item) => (item as any).TopicId);\n GroupList = _.uniqBy(GroupList, (item) => (item as any).GroupName);\n PartitionList = _.uniqBy(PartitionList, (item) => (item as any).PartitionId);\n GroupDetailList = _.uniqBy(GroupDetailList, (item) => (item as any).ConsumerGroupName);\n // 如果传入消费者信息,consumergroupname,获取该用户的订阅信息列表\n const SubscribedInfos = GroupDetailList.find((d) => d.ConsumerGroupName === groupname)?.SubscribedInfo || [];\n // 这里为了兼容PartitonList格式,最后转化为数组对象的方式\n const partitions =\n SubscribedInfos.find((sub) => sub.TopicId === topicid)?.Partition?.map((p) => ({\n [templateQueryIdMap.partition]: p,\n })) || [];\n return {\n GroupList,\n TopicList:\n SubscribedInfos.length > 0\n ? SubscribedInfos.map(({ TopicId, TopicName }) => ({ TopicId, TopicName }))\n : TopicList,\n PartitionList: partitions.length > 0 ? partitions : PartitionList,\n };\n }\n formatTopicVarDisplay(topic: Record, displayTpl: string | undefined, topicAlias: string) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.TopicAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(topic, b);\n });\n }\n return this.getAliasValue(topic, topicAlias);\n }\n // 查询指标下的数据\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n let { topicalias, groupname, topicid } = query;\n const result = await this.getConsumerGroups(region, {\n InstanceId: instance.InstanceId,\n groupname,\n topicid,\n });\n let { display } = query;\n const { TopicList, GroupList, PartitionList } = result;\n topicalias = this.TopicAliasList.includes(topicalias) ? topicalias : this.templateQueryIdMap.topicId;\n\n const rs = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: group[templateQueryIdMap.groupName],\n };\n }),\n TopicList: TopicList.map((topic) => {\n const topicAlias = this.formatTopicVarDisplay(topic, display, topicalias);\n topic._InstanceAliasValue = topicAlias || topic[templateQueryIdMap.topicId];\n return {\n text: topicAlias || topic[templateQueryIdMap.topicId],\n value: topic[templateQueryIdMap.topicId], // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n TopicName: topic.TopicName,\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: par[templateQueryIdMap.partition],\n value: par[templateQueryIdMap.partition],\n };\n }),\n };\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.TopicList, TopicList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.GroupList, GroupList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.PartitionList, PartitionList);\n // console.log({ res1, res2, res3 });\n // console.log({rs});\n // 根据action返回指定的维度数据列表\n switch (action) {\n case 'DescribeTopicList':\n return rs.TopicList;\n case 'DescribeGroup':\n return rs.GroupList;\n case 'DescribePartion':\n return rs.PartitionList;\n default:\n return [];\n }\n }\n\n // async getOtherAlias(datapoints) {\n // let dimension;\n // for(let j = 0; j < datapoints.Dimensions.length; j++){\n // if(datapoints.Dimensions[j] !== 'InstanceName'){\n // dimension.push(datapoints.Dimensions[j])\n // }\n // }\n // console.log(dimension);\n\n // return dimension\n // }\n}\n","import {\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n keyInStorage,\n CANDIATEDIMENSIONS,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n // Namespace = namespace;\n InstanceAliasList = InstanceAliasList;\n ListenerAliasList = LOADBALANCEListenerAliasList;\n ServerAliasList = LOADBALANCEServerAliasList;\n CandiateDimensions = CANDIATEDIMENSIONS;\n // InvalidDimensions = LOADBALANCEVALIDDIMENSIONS;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n // InstanceReqConfig = {\n // service: 'clb',\n // action: 'DescribeLoadBalancers',\n // responseField: 'LoadBalancerSet',\n // };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getInvalidDimensions(selfIns: any, tagret: any) {\n if (selfIns.service === 'lbPrivate' || (selfIns.service === 'lbPublic' && tagret.servers))\n return { ...LOADBALANCEVALIDDIMENSIONS, vpcId: 'NumericalVpcId' };\n return LOADBALANCEVALIDDIMENSIONS;\n }\n getInstanceReqConfig(selfIns: any) {\n const res: any = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n if (selfIns.service === 'lbPrivate' || selfIns.service === 'loadBalance') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'INTERNAL' }),\n };\n }\n if (selfIns.service === 'lbPublic') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'OPEN' }),\n };\n }\n return res;\n }\n async getListenerList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeListeners' }\n );\n },\n {\n LoadBalancerId: instanceId,\n },\n 'Listeners'\n );\n const [rs] = res;\n return rs;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async getServerList(params: any) {\n const { region, instanceId, listenerId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n const res = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { LoadBalancerId: instanceId, ListenerIds: [listenerId] },\n },\n serviceInfo.service,\n { region, action: 'DescribeTargets' }\n );\n const { Listeners } = res;\n const serversList = _.reduce(\n Listeners,\n (prev, item) => {\n const { Rules, Targets } = item;\n if (!_.isEmpty(Rules)) {\n return _.concat(prev, _.flatten(_.map(Rules, (elem) => (_.isEmpty(elem.Targets) ? [] : elem.Targets))));\n }\n if (!_.isEmpty(Targets)) {\n return _.concat(prev, Targets);\n }\n return prev;\n },\n []\n );\n return serversList;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeListeners') {\n const rs = await this.getListenerList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n let { listeneralias } = query;\n listeneralias = this.ListenerAliasList.includes(listeneralias) ? listeneralias : this.templateQueryIdMap.listener;\n const result = rs.flatMap((o) => {\n const listenAlias = this.formatVariableDisplay(o, display, listeneralias, this.ListenerAliasList);\n const lisId = o[this.templateQueryIdMap.listener];\n o._InstanceAliasValue = listenAlias || lisId;\n // if (!o[listeneralias]) return [];\n return {\n text: listenAlias || lisId,\n value: lisId,\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.listener, rs);\n return result;\n }\n if (action === 'DescribeServer' || action === 'DescribeServerPort') {\n const { listenerid, serverprivateip, serveralias } = query;\n const serverPrivateIp = this.getVariable(serverprivateip);\n const serversList = await this.getServerList({\n region,\n instanceId: instance[this.templateQueryIdMap.instance],\n listenerId: this.getVariable(listenerid),\n });\n const serverAlias = this.ServerAliasList.includes(serveralias) ? serveralias : this.templateQueryIdMap.servers;\n const result = _.chain(serversList)\n .filter((item) => {\n if (action === 'DescribeServer') {\n return true;\n }\n return serverPrivateIp === _.get(item, 'PrivateIpAddresses.0');\n })\n .map((item) => {\n const alias = this.formatVariableDisplay(item, display, serverAlias, this.ServerAliasList);\n const id = item[this.templateQueryIdMap.servers][0];\n item._InstanceAliasValue = alias || id;\n return action === 'DescribeServer'\n ? {\n text: alias || id,\n value: id,\n }\n : {\n text: `${_.get(item, 'Port')}`,\n value: _.get(item, 'Port'),\n };\n })\n .value();\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.servers, serversList);\n return action === 'DescribeServer' ? result : _.uniqBy(result, 'text');\n }\n return [];\n }\n}\n","import {\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CLSInstanceAliasList;\n InvalidDimensions = CLSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cls',\n action: 'DescribeTopics',\n responseField: 'Topics',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n // async getInstances(region, params = {}) {\n // const superRes = await super.getInstances(region, params);\n // console.log({ superRes });\n // }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport { InvalidDemensions, InstanceAliasList, templateQueryIdMap } from './query_def';\n\nexport default class CmqDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeQueueDetail',\n responseField: 'QueueSet',\n };\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims = Array.from(new Set([...dims, 'queueId', 'queueName']));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CmqTopicDatasource extends BaseDatasource {\n Namespace = 'QCE/CMQTOPIC';\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeTopicDetail',\n responseField: 'TopicSet',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraMetricDims = ['subscriptionId']; // 多选\n\n async fetchAllSubscription(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'cmq');\n // console.log(serviceInfo, 'serviceinfo');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeSubscriptionDetail' }\n );\n },\n params,\n 'SubscriptionSet'\n );\n\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeSubscriptionDetail':\n result = await this.fetchAllSubscription(region, { TopicName: instance.TopicName });\n // eslint-disable-next-line no-case-declarations\n const rs = result.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: item[templateQueryIdMap.subscription] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.subscriptionId, result);\n return rs;\n default:\n return [];\n }\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims.push('topicId');\n if (['NumOfNotify', 'NumOfSuccNotify'].includes(metric.MetricName)) {\n dims.push('subscriptionId');\n }\n\n dims = Array.from(new Set(dims));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\n\ninterface BucketListResult {\n Owner: { ID: 'string'; DisplayName: 'string' };\n Buckets: { Name: string; Region: string }[];\n}\n\nexport default class CosDatasource extends BaseDatasource {\n InvalidDimensions: Record = {};\n InstanceAliasList: string[] = ['BucketName'];\n templateQueryIdMap = {\n instance: 'BucketName',\n };\n InstanceReqConfig = {} as any; // 不必要的配置\n cosURL: string;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n this.cosURL = `/api/datasources/${this.instanceSettings.id}/resources/tc_cos_list`;\n }\n async getInstances(region: string) {\n return this.backendSrv\n .datasourceRequest({\n url: this.cosURL,\n method: 'GET',\n params: { region },\n headers: { 'Content-Type': 'application/json' },\n })\n .then((res) => {\n let { data }: { data: BucketListResult } = res;\n data = data || ({} as any);\n let { Buckets } = data;\n Buckets = Buckets || [];\n\n // name contains appid,see detail https://cloud.tencent.com/document/product/436/8291\n return Buckets.map((item) => ({\n ...item,\n BucketName: item.Name,\n bucket: item.Name,\n appid: item.Name.split('-').slice(-1)[0],\n }));\n });\n }\n\n async getVariableInstances(region) {\n return this.getInstances(region);\n }\n}\n","import {\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CPMInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bm',\n action: 'DescribeDevices',\n responseField: 'DeviceInfoSet',\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'DeviceClassCode') {\n const serviceInfo = GetServiceAPIInfo(region, 'bm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n 'bm',\n { region, action: 'DescribeDeviceClass' }\n ).then((response) => {\n return _.map(response.DeviceClassSet || [], (item) => {\n return { text: item.DeviceClassCode, value: item.DeviceClassCode };\n });\n });\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { CVMInstanceAliasList, isValidMetric, modifyDimensons } from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CVMDatasource extends BaseDatasource {\n Namespace = 'QCE/CVM';\n InstanceAliasList = CVMInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cvm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cvm' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'cvm' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n}\n","import {\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n checkKeys,\n} from './query_def';\nimport _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\n// import { t } from '../../../locale';\n\nexport default class CYNOSDBMYSQLDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CYNOSDBMYSQLInstanceAliasList;\n InvalidDimensions = CYNOSDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n checkKeys = checkKeys;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cynosdb',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n // getRegions() {\n // return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n // }\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cynosdbmysql' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n };\n }\n}\n","import { DCInstanceAliasList, DCInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCInstanceAliasList;\n InvalidDimensions = DCInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnects',\n responseField: 'DirectConnectSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCDBInstanceAliasList;\n InvalidDimensions = DCDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'dcdb',\n action: 'DescribeDCDBInstances',\n responseField: 'Instances',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraActionMap = {\n DescribeDCDBShards: {\n service: 'dcdb',\n action: 'DescribeDCDBShards',\n responseField: 'Shards',\n pickKey: 'ShardInstanceId',\n },\n DescribeDCDBInstanceNodeInfo: {\n service: 'dcdb',\n action: 'DescribeDCDBInstanceNodeInfo',\n responseField: 'NodesInfo',\n pickKey: 'NodeId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion, 入参的region用广州\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/dcdb',\n },\n 'dcdb',\n { action: 'DescribeDCDBSaleInfo', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionList || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n RegionState: item.RegionState,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance[this.templateQueryIdMap.instance],\n Limit: 100,\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { DCGInstanceAliasList, DCGInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCGInstanceAliasList;\n InvalidDimensions = DCGInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeDirectConnectGateways',\n responseField: 'DirectConnectGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { DCXInstanceAliasList, DCXInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCXDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCXInstanceAliasList;\n InvalidDimensions = DCXInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnectTunnels',\n responseField: 'DirectConnectTunnelSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport {\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n modifyDimensons,\n namespace,\n templateQueryIdMap,\n} from './query_def';\n\nexport default class ECDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECDNInstanceAliasList;\n InvalidDimensions = ECDNInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ecdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMInstanceAliasList;\n InvalidDimensions = ECMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMBLOCKSTORAGEInstanceAliasList;\n InvalidDimensions = ECMBLOCKSTORAGEInvalidDemensions;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n templateQueryIdMap = templateQueryIdMap;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getDiskList(params: any) {\n const { payload } = params;\n const { InstanceId } = payload;\n const instanceCache = await instanceStorage.getInstance(this.service);\n const instanceObj: any =\n _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === InstanceId)) ?? {};\n const { DataDisks: dataDisks } = instanceObj;\n return dataDisks;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance,\n Limit: 100,\n };\n const rs = await this.getDiskList({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.diskId];\n return {\n text: o[this.templateQueryIdMap.diskId],\n value: o[this.templateQueryIdMap.diskId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.diskId, rs);\n return result;\n }\n}\n","import { ECMLBInstanceAliasList, ECMLBInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMLBInstanceAliasList;\n InvalidDimensions = ECMLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = GSEInstanceAliasList;\n InvalidDimensions = GSEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gse',\n action: 'DescribeInstances',\n responseField: 'Instances',\n };\n\n keyInStorage = keyInStorage;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getQueueNameList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeGameServerSessionQueues' }\n );\n },\n {},\n 'GameServerSessionQueues'\n );\n const [rs] = res;\n return rs;\n }\n async getFleetList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'ListFleets' }\n );\n },\n {},\n 'FleetIds'\n );\n const [rs] = res;\n return rs.map((r) => ({ [this.templateQueryIdMap.FleetId]: r }));\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeGameServerSessionQueues') {\n const rs = await this.getQueueNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.Name];\n return {\n text: o[this.templateQueryIdMap.Name],\n value: o[this.templateQueryIdMap.Name],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.queue, rs);\n return result;\n }\n if (action === 'ListFleets') {\n const rs = await this.getFleetList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.FleetId];\n return {\n text: o[this.templateQueryIdMap.FleetId],\n value: o[this.templateQueryIdMap.FleetId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.fleet, rs);\n return result;\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { LBInstanceAliasList, LBInvalidDemensions } from './query_def';\n\nexport default class SCFDatasource extends BaseDatasource {\n Namespace = 'QCE/LB';\n InstanceAliasList = LBInstanceAliasList;\n InvalidDimensions = LBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'AddressId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['EIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n },\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('eip')\n );\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n}\n","import _ from 'lodash';\nimport {\n LIGHTHOUSEInstanceAliasList,\n templateQueryIdMap,\n LighthouseInvalidDemensions,\n modifyDimensons,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class LighthouseDatasource extends BaseDatasource {\n Namespace = 'QCE/LIGHTHOUSE';\n InstanceAliasList = LIGHTHOUSEInstanceAliasList;\n InvalidDimensions = LighthouseInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'lighthouse',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'lighthouse' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'lighthouse' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import _ from 'lodash';\nimport {\n MONGODBInstanceAliasList,\n MONGODBInvalidDemensions,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MONGODBDatasource extends BaseDatasource {\n Namespace = 'QCE/CMONGO';\n InstanceAliasList = MONGODBInstanceAliasList;\n ReplicaAliasList = ['ReplicaSetId', 'ReplicaSetName'];\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n InstanceReqConfig = {\n service: 'mongodb',\n action: 'DescribeDBInstances',\n responseField: 'InstanceDetails',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getInvalidDimensions(selfIns: any, target: any) {\n if (target.node && target.node !== '') {\n return { target: 'Node' };\n }\n if (target.replica && target.replica !== '') {\n return { target: 'Replica' };\n }\n return MONGODBInvalidDemensions;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeReplicas') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n let { replicaalias } = query;\n replicaalias = this.ReplicaAliasList.includes(replicaalias) ? replicaalias : this.templateQueryIdMap.replica;\n const result = _.map(_.get(res, 'ReplicaSets', []), (item) => {\n const replicaAlias = this.formatVariableDisplay(item, display, replicaalias, this.ReplicaAliasList);\n item._InstanceAliasValue = replicaAlias || item[this.templateQueryIdMap.replica];\n return { text: item.ReplicaSetId, value: item.ReplicaSetId };\n });\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Replica.dim_KeyInStorage,\n _.get(res, 'ReplicaSets', [])\n );\n return result;\n }\n if (action === 'DescribeReplicaNodes') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n const { replicasetid } = query;\n const targetReplica = _.find(_.get(res, 'ReplicaSets', []), { ReplicaSetId: this.getVariable(replicasetid) });\n let result = _.times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return { text: nodeId, value: nodeId };\n });\n if (targetReplica) {\n result = [\n { text: `${targetReplica.ReplicaSetId}-node-primary`, value: `${targetReplica.ReplicaSetId}-node-primary` },\n ...result,\n ];\n }\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Node.dim_KeyInStorage,\n result.map((item) => ({ NodeId: item.value, _InstanceAliasValue: item.value }))\n );\n return result;\n }\n\n return [];\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MrHdfsDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n InstanceReqConfig = {\n service: 'emr',\n action: 'DescribeInstances',\n responseField: 'ClusterList',\n interceptor: {\n request: (params) => ({\n ...params,\n DisplayStrategy: params.DisplayStrategy || 'monitorManage',\n ProjectId: params.ProjectId || -1,\n }), // 设置一些请求参数的 默认值\n response: (data: any[]) => data.map(({ ClusterId, ClusterName }) => ({ ClusterId, ClusterName })),\n },\n };\n\n async fetchAllNodes(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'emr');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeClusterNodes' }\n );\n },\n { ...params, isOffsetPage: true },\n 'NodeList'\n );\n\n // return rs[0].map((item) => ({ text: item.Ip, value: item.Ip }));\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeClusterNodes': {\n const resultT = await this.fetchAllNodes(region, { InstanceId: instance.ClusterId, NodeFlag: 'all' });\n result = resultT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return { text: item[templateQueryIdMap.node], value: item[templateQueryIdMap.node] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.node, resultT);\n\n return result;\n }\n default:\n return [];\n }\n }\n}\n","import _ from 'lodash';\nimport { NATGATEWAYInstanceAliasList, NATInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class NATGATEWAYDatasource extends BaseDatasource {\n Namespace = 'QCE/NAT_GATEWAY';\n InstanceAliasList = NATGATEWAYInstanceAliasList;\n InvalidDimensions = NATInvalidDemensions;\n templateQueryIdMap = {\n instance: 'NatGatewayId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNatGateways',\n responseField: 'NatGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { OVCDNInstanceAliasList, OVCDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class OVCDNDatasource extends BaseDatasource {\n Namespace = 'QCE/OV_CDN';\n InstanceAliasList = OVCDNInstanceAliasList;\n InvalidDimensions = OVCDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { PCXInstanceAliasList, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo, GetRequestParamsV2, SliceLength } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = PCXInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'xx',\n action: 'xx',\n responseField: 'xx',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getInstances(region = 'ap-guangzhou', params = {}) {\n params = { offset: 0, limit: 50, ...params };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n return response.data || [];\n });\n }\n\n /**\n * 模板变量中获取全量的 PCX 实例列表\n * @param region 地域信息\n */\n getVariableInstances(region, query) {\n let result: any[] = [];\n const params = { Offset: 0, Limit: 50, ...query };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n result = response.data || [];\n const total = response.totalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 50);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n getVpcId(region, params: any = {}) {\n params = { Offset: 0, Limit: 20, ...params };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n return _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n });\n }\n\n getVpcIds(region) {\n let result: any[] = [];\n const params: any = { Offset: 0, Limit: 100 };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n result = _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n const total = response.TotalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getVpcId(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n /**\n * 腾讯云 API 2.0 请求接口\n * @param options\n * @param service\n * @param signObj\n */\n async doRequestV2(options, service, signObj: any = {}) {\n options = await GetRequestParamsV2(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","import _ from 'lodash';\nimport {\n POSTGRESInstanceAliasList,\n PostgreInvalidDemensions,\n namespace,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = POSTGRESInstanceAliasList;\n InvalidDimensions = PostgreInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'postgres',\n action: 'DescribeDBInstances',\n responseField: 'DBInstanceSet',\n };\n\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { get } from 'lodash';\nimport { QAAPInstanceAliasList, QAAPInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class QAAPDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = QAAPInstanceAliasList;\n InvalidDimensions = QAAPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gaap',\n action: 'DescribeProxies',\n responseField: 'ProxySet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n // MetricReqConfig = {\n // resultFilter: modifyDimensons,\n // };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n get(item, 'Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions[0]') === 'channelId'\n );\n }\n}\n","import _ from 'lodash';\nimport { REDISInstanceAliasList, RedisInvalidDemensions, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = 'QCE/REDIS';\n InstanceAliasList = REDISInstanceAliasList;\n InvalidDimensions = RedisInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '1m' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => isValidMetric(item));\n }\n}\n","import _ from 'lodash';\nimport {\n REDISMEMInstanceAliasList,\n namespace,\n RedisMemInvalidDemensions,\n templateQueryIdMap,\n NodeType,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = REDISMEMInstanceAliasList;\n InvalidDimensions = RedisMemInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [RedisMemInvalidDemensions.pnodeid, RedisMemInvalidDemensions.rnodeid];\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '5s' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getInstanceNodeInfo(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'redis');\n\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeInstanceNodeInfo' }\n );\n },\n {\n InstanceId: instanceId,\n },\n NodeType\n );\n\n return res;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeInstanceNodeInfo') {\n const rs = await this.getInstanceNodeInfo({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const { nodetype } = query;\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1\n ? []\n : _.map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n templateQueryIdMap,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class SCFDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/SCF_V2';\n this.InstanceAliasList = SCFInstanceAliasList;\n this.InvalidDimensions = SCFInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'scf',\n action: 'ListFunctions',\n responseField: 'Functions',\n };\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含functionName的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('functionName') &&\n item.Dimensions?.[0]?.Dimensions?.includes('namespace') &&\n !item.MetricName.startsWith('Name')\n );\n }\n\n getVersions(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'scf');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'ListVersionByFunction' }\n ).then((response) => {\n return response.Versions;\n });\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'ListVersionByFunction') {\n const rs = await this.getVersions(region, { FunctionName: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.version];\n return {\n text: o[this.templateQueryIdMap.version],\n value: o[this.templateQueryIdMap.version],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.version, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = SQLSERVERInstanceAliasList;\n InvalidDimensions = SQLSERVERInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'sqlserver',\n action: 'DescribeDBInstances',\n responseField: 'DBInstances',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n getFilterDropdown({ field, region }) {\n if (field === 'Zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { TCAPLUSInstanceAliasList, TCAPLUSInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TCAPLUSInstanceAliasList;\n InvalidDimensions = TCAPLUSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tcaplusdb',\n action: 'DescribeTables',\n responseField: 'TableInfos',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/tcaplusdb',\n },\n 'tcaplusdb',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionInfos || [], (item) => {\n return {\n text: t(item.RegionName),\n value: item.RegionName,\n };\n });\n });\n }\n}\n","import {\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeClusters',\n responseField: 'ClusterSet',\n };\n extraActionMap = {\n DescribeTopics: {\n service: 'tdmq',\n action: 'DescribeTopics',\n responseField: 'TopicSets',\n pickKey: 'TopicName',\n },\n DescribeEnvironments: {\n service: 'tdmq',\n action: 'DescribeEnvironments',\n responseField: 'EnvironmentSet',\n pickKey: 'EnvironmentId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n // console.log({ rs });\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeTopics') {\n payload.EnvironmentId = this.getVariable(query['environmentid']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQRABBITMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRabbitMQVipInstances',\n responseField: 'Instances',\n };\n extraActionMap = {\n DescribeRabbitMQNodeList: {\n service: 'tdmq',\n action: 'DescribeRabbitMQNodeList',\n responseField: 'NodeList',\n pickKey: 'node',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n InstanceId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQROCKETMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRocketMQClusters',\n responseField: 'ClusterList',\n interceptor: {\n response: (result) =>\n _.map(result, (item) => ({\n ...item,\n ClusterId: _.get(item, 'Info.ClusterId', ''),\n ClusterName: _.get(item, 'Info.ClusterName', ''),\n })),\n },\n };\n extraActionMap = {\n DescribeRocketMQNamespaces: {\n service: 'tdmq',\n action: 'DescribeRocketMQNamespaces',\n responseField: 'Namespaces',\n pickKey: 'namespace',\n },\n DescribeRocketMQGroups: {\n service: 'tdmq',\n action: 'DescribeRocketMQGroups',\n responseField: 'Groups',\n pickKey: 'group',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => !item.Dimensions?.[0]?.Dimensions?.includes('rmqcluster'));\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeRocketMQGroups') {\n payload.NamespaceId = this.getVariable(query['clusternamespace']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { map, flatten, reduce, isEmpty, filter, split, sortBy, findIndex, trim, isArray, isString } from 'lodash';\nimport { GetServiceAPIInfo, ReplaceVariable } from '../../common/constants';\nimport { getTimeShiftInMs } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\n\nconst variableToArray = (variable) => {\n if (isEmpty(variable)) {\n return [];\n }\n if (isArray(variable)) {\n return variable;\n }\n if (isString(variable)) {\n return split(variable, ',').map((item) => trim(item));\n }\n return [];\n};\n\nexport default class TKEDatasource extends BaseDatasource {\n InstanceAliasList = ['ClusterId', 'ClusterName'];\n templateQueryIdMap = {\n instance: 'ClusterId',\n };\n InvalidDimensions = {\n tke_cluster_instance_id: 'ClusterId',\n };\n InstanceReqConfig = {\n service: 'tke',\n action: 'DescribeClusters',\n responseField: 'Clusters',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getMonitorData(params: any, region: any, instances: any, target: any, options: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n const conditions = reduce(\n target.conditions,\n (prev, item) => {\n if (isEmpty(item.Key) || isEmpty(item.Operator) || isEmpty(item.Value)) {\n return prev;\n }\n return [\n ...filter(prev, (e) => e.Key !== item.Key),\n {\n Key: ReplaceVariable(this.templateSrv, options.scopedVars, item.Key, false),\n Operator: ReplaceVariable(this.templateSrv, options.scopedVars, item.Operator, false),\n Value: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, item.Value, true)),\n },\n ];\n },\n [{ Key: 'tke_cluster_instance_id', Operator: '=', Value: instances.map((item) => item['ClusterId']) }]\n );\n\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Period: params.Period,\n MetricNames: [params.MetricName],\n Module: 'monitor',\n Namespace: 'QCE/TKE',\n EndTime: params.EndTime,\n StartTime: params.StartTime,\n Conditions: conditions,\n GroupBys: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, target.groupBys, true)),\n },\n },\n serviceInfo.service,\n { action: 'DescribeStatisticData', region }\n ).then((response) => {\n return flatten(\n map(response.Data, (data) => {\n return map(data.Points, (point) => {\n const dimensionSort = sortBy(point.Dimensions, ['Name']);\n const dimensionString = [\n ...dimensionSort.splice(findIndex(dimensionSort, { Name: 'tke_cluster_instance_id' }), 1),\n ...dimensionSort,\n ]\n .map((dimension) => dimension.Value)\n .join(' - ');\n const timeshiftString = timeshift > 0 ? `_${target.timeshift}` : '';\n return {\n target: `${data.MetricName} - ${dimensionString}${timeshiftString}`,\n datapoints: map(point.Values, (value) => [value.Value, value.Timestamp * 1000 + timeshift]),\n };\n });\n })\n );\n });\n }\n}\n","import _ from 'lodash';\nimport { TSFInvalidDemensions, TSFInstanceAliasList, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class TSFDatasource extends BaseDatasource {\n Namespace = 'QCE/TSF';\n InstanceAliasList = TSFInstanceAliasList;\n InvalidDimensions = TSFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'tsf',\n action: 'DescribeApplications',\n responseField: 'Content',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import {\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n clbNamespaceMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VCLBInstanceAliasList;\n InvalidDimensions = VCLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getAllMetrics(region: string) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const { MetricSet: public_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.public,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const { MetricSet: private_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.private,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const res = Object.values(_.keyBy(_.concat(private_metrics, public_metrics), 'MetricName'));\n return res.map((t) => modifyDimensons(t));\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await this.getAllMetrics(region);\n return _.compact(rawSet);\n }\n}\n","import { VBCInstanceAliasList, VBCInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VBCInstanceAliasList;\n InvalidDimensions = VBCInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeCcns',\n responseField: 'CcnSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getFilterDropdown({ field }) {\n return super.getRegions();\n }\n}\n","import {\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPCNETDETECTInstanceAliasList;\n InvalidDimensions = VPCNETInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNetDetects',\n responseField: 'NetDetectSet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { VPNGWInstanceAliasList, VPNGWInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNGWInstanceAliasList;\n InvalidDimensions = VPNGWInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnGateways',\n responseField: 'VpnGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { VPNXInstanceAliasList, VPNXInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNXInstanceAliasList;\n InvalidDimensions = VPNXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnConnections',\n responseField: 'VpnConnectionSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport {\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n templateQueryIdMap,\n namespace,\n regionSupported,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { t } from '../../../locale';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = WAFInstanceAliasList;\n InvalidDimensions = WAFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'waf',\n // action: 'DescribeDomains', // DescribeMonitorDomains\n action: 'DescribeMonitorDomains', //\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n\n getOwnDimension(dimensionObject: any, ins: any) {\n const { Edition = '' } = ins;\n return {\n ...dimensionObject,\n edition: {\n Name: 'edition',\n Value: Edition,\n },\n };\n }\n}\n","import coreModule from 'grafana/app/core/core_module';\nimport { APIGATEWAYFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.APIGATEWAYFilterFieldsDescriptor = APIGATEWAYFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n\n const result = rs.map((o) => {\n return {\n text: o.EnvironmentName,\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { BWPFilterFieldsDescriptor } from './query_def';\n\nexport class BWPQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.BWPFilterFieldsDescriptor = BWPFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function bwpQuery() {\n return {\n template: template,\n controller: BWPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('bwpQuery', bwpQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDBFieldsDescriptor } from './query_def';\n\nexport class CDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDBFieldsDescriptor = CDBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'ZoneIds':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cdb', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n`;\n\nexport function cdbQuery() {\n return {\n template: template,\n controller: CDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdbQuery', cdbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNFilterFieldsDescriptor } from './query_def';\n\nexport class CDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNFilterFieldsDescriptor = CDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function cdnQuery() {\n return {\n template: template,\n controller: CDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdnQuery', cdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNPROVINCEFilterFieldsDescriptor, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Isp',\n field: 'isp',\n },\n {\n label: 'Province',\n field: 'district',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNPROVINCEFilterFieldsDescriptor = CDNPROVINCEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, field });\n return rs;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CFSQueryDescriptor } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CFSQueryDescriptor = CFSQueryDescriptor;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n const { instance, region } = target;\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n if (!instance || !region) return [];\n\n return fetcher(region, { FunctionName: JSON.parse(instance).FunctionName }).then((res) => {\n // console.log(res, 'res');\n\n return res;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\ncoreModule.directive('cfsQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CKAFKAQueryDescriptor, templateQueryIdMap } from './query_def';\nimport { isTargetEqual } from '../../common/utils';\n\nconst ExtraFields = [\n {\n label: 'ConsumerGroup',\n field: 'consumerGroup',\n },\n {\n label: 'TopicId',\n field: 'topicId',\n },\n {\n label: 'Partition',\n field: 'partition',\n },\n];\n\nexport class CKAFKAQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CKAFKAQueryDescriptor = CKAFKAQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'LoadBalancerId')) return;\n $scope.target.consumerGroup = '';\n $scope.target.topicId = '';\n $scope.target.topicName = '';\n $scope.target.partition = '';\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('ckafka', 'getVariable')(instance);\n if (Array.isArray(instance)) instance = instance[0];\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).InstanceId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const InstanceId = $scope.getInstanceId();\n const fetcher = $scope.datasource.getServiceFn('ckafka', 'getConsumerGroups');\n const region = $scope.datasource.getServiceFn('ckafka', 'getVariable')(target.region);\n const res = await fetcher(region, { InstanceId, groupname: target.consumerGroup, topicid: target.topicId });\n\n const { TopicList, GroupList, PartitionList } = res;\n const data = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: JSON.stringify(group),\n };\n }),\n TopicList: TopicList.map((topic) => {\n topic._InstanceAliasValue = topic[templateQueryIdMap.topicId];\n return {\n text: topic[templateQueryIdMap.topicId],\n value: JSON.stringify(topic), // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: String(par[templateQueryIdMap.partition]),\n value: JSON.stringify(par),\n };\n }),\n };\n\n switch (field) {\n case 'consumerGroup':\n return data.GroupList;\n case 'topicId':\n return data.TopicList;\n case 'partition':\n return data.PartitionList;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CKAFKAQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n instance: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('ckafkaQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { get, chain } from 'lodash';\nimport { LOADBALANCEFieldsDescriptor, templateQueryIdMap, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\nimport { isTargetEqual } from '../../common/utils';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LOADBALANCEFieldsDescriptor = LOADBALANCEFieldsDescriptor;\n $scope.serversList = [];\n };\n $scope.onFieldChange = (field) => {\n $scope.onRefresh();\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'InstanceId')) return;\n $scope.target.listener = '';\n $scope.target.servers = '';\n $scope.target.serverPort = '';\n };\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n $scope.getExtraDropdown = async (target) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getListenerList')({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.listener];\n return {\n text: o[templateQueryIdMap.listener],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n $scope.getServersDropdown = async (target) => {\n const { instance, listener } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const listenerId = $scope.getVariableId(listener, 'listener');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const serversList = await $scope.datasource.getServiceFn(\n service,\n 'getServerList'\n )({ region, instanceId, listenerId });\n $scope.serversList = serversList;\n const res = chain(serversList)\n .map((item) => {\n item._InstanceAliasValue = get(item, 'PrivateIpAddresses.0');\n return {\n text: get(item, 'PrivateIpAddresses.0'),\n value: JSON.stringify(item),\n };\n })\n .uniqBy('text')\n .value();\n return res;\n };\n $scope.getServerPortDropdown = async (target) => {\n const { servers } = $scope.target;\n let serverPortList: any[] = [];\n try {\n const serversSource = JSON.parse(servers);\n serverPortList = chain($scope.serversList)\n .filter((item) => get(serversSource, 'PrivateIpAddresses.0') === get(item, 'PrivateIpAddresses.0'))\n .map((item) => {\n item._InstanceAliasValue = get(item, 'Port');\n return {\n text: `${get(item, 'Port')}`,\n value: JSON.stringify(item),\n };\n })\n .value();\n } catch (error) {}\n return serverPortList;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n namespace: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('clbQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CLSFilterFieldsDescriptor, queryEditorName } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = CLSFilterFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import createQuery from '../_base/query';\nimport { InstanceQueryDescriptor } from './query_def';\n\ncreateQuery('cmqQuery', {\n fieldDescriptor: InstanceQueryDescriptor,\n instanceDocUrl: 'https://cloud.tencent.com/document/api/406/42624',\n namespace: 'QCE/CMQ',\n});\n","import coreModule from 'grafana/app/core/core_module';\nimport { InstanceQueryDescriptor } from './query_def';\n\nconst ExtraFields = [\n {\n label: 'Subscription(订阅)',\n field: 'subscriptionId',\n },\n];\n\nexport class CmqTopicQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getTopicName = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).TopicName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'subscriptionId') {\n const TopicName = $scope.getTopicName();\n let data = $scope.cacheMap[TopicName];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('cmqTopic', 'fetchAllSubscription');\n const datas = await fetcher(region, { TopicName });\n data = datas.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: JSON.stringify(item) };\n });\n }\n\n // 缓存\n $scope.cacheMap[TopicName] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CmqTopicQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('cmqTopicQuery', scfQuery);\n","import _ from 'lodash';\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['BucketName'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BucketName',\n queries: {},\n};\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CVMFilterFieldsDescriptor } from './query_def';\n\nexport class CVMQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CVMFilterFieldsDescriptor = CVMFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function cvmQuery() {\n return {\n template: template,\n controller: CVMQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cvmQuery', cvmQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { DCDBFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'nodeid',\n field: 'NodeId',\n action: 'DescribeDCDBInstanceNodeInfo',\n },\n {\n label: 'shardid',\n field: 'ShardId',\n action: 'DescribeDCDBShards',\n },\n];\nconst dropdownTextConfig = {\n DescribeDCDBInstanceNodeInfo: 'NodeId',\n DescribeDCDBShards: 'ShardInstanceId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.DCDBFilterFieldsDescriptor = DCDBFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const instanceId = $scope.getInstanceId();\n const payload: any = {\n InstanceId: instanceId,\n Limit: 100,\n };\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { ECMBLOCKSTORAGEFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n // {\n // label: 'nodeid',\n // field: 'NodeId',\n // action: 'DescribeInstanceNodeInfo',\n // },\n {\n label: 'diskId',\n field: 'diskId',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.ECMBLOCKSTORAGEFilterFieldsDescriptor = ECMBLOCKSTORAGEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n // $scope.getInstanceId = () => {\n // let { instance } = $scope.target;\n // const service = GetServiceFromNamespace($scope.namespace);\n // instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n // if (!instance) {\n // return '';\n // }\n // try {\n // instance = JSON.parse(instance)[templateQueryIdMap.instance];\n // } catch (error) {\n // console.log();\n // }\n // return instance;\n // };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = (target, action) => {\n let { instance } = target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n try {\n instance = JSON.parse(instance);\n const { DataDisks: dataDisks } = instance;\n return dataDisks.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.diskId];\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n } catch (error) {\n // console.log('instance error', instance);\n const payload: any = {\n InstanceId: instance,\n };\n const rs = $scope.datasource.getServiceFn(service, 'getDiskList')({ payload });\n const result = rs.map((o) => {\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n return result;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { GSEFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'fleetId',\n field: 'FleetId',\n },\n {\n label: 'queueName',\n field: 'Name',\n },\n];\nconst actionMaps = {\n FleetId: 'getFleetList',\n Name: 'getQueueNameList',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = GSEFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n // const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n let rs = await $scope.datasource.getServiceFn(service, actionMaps[field])({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[field]];\n return {\n text: o[templateQueryIdMap[field]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LBFilterDescriptor } from './query_def';\n\nexport class LBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n // $scope.LBQueryDescriptor = LBQueryDescriptor;\n $scope.LBFilterDescriptor = LBFilterDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function lbQuery() {\n return {\n template: template,\n controller: LBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lbQuery', lbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LighthouseFilterFieldsDescriptor } from './query_def';\n\nexport class LighthouseQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LighthouseFilterFieldsDescriptor = LighthouseFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('lighthouse', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function lighthouseQuery() {\n return {\n template: template,\n controller: LighthouseQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lighthouseQuery', lighthouseQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map, get, find, times } from 'lodash';\nimport { MONGODBFieldsDescriptor, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class MongoDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.MONGODBFieldsDescriptor = MONGODBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.onInstanceChange = (n, o) => {\n if (n === o) {\n return;\n }\n $scope.target.replica = '';\n $scope.target.node = '';\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, type) => {\n const { instance, replica } = $scope.target;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const [res] = await $scope.datasource.getServiceFn(service, 'getInstances')(region, {\n InstanceIds: [instanceId],\n });\n if (type === 'replica') {\n return map(get(res, 'ReplicaSets', []), (item) => {\n item._InstanceAliasValue = item.ReplicaSetId;\n return { text: item.ReplicaSetId, value: JSON.stringify(item) };\n });\n }\n if (type === 'node' && replica !== '') {\n const replicaId = $scope.getVariableId(replica, 'replica');\n const targetReplica = find(get(res, 'ReplicaSets', []), { ReplicaSetId: replicaId });\n const options = times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return {\n text: nodeId,\n value: JSON.stringify({ NodeId: nodeId, _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${nodeId}` }),\n };\n });\n return [\n {\n text: `${targetReplica.ReplicaSetId}-node-primary`,\n value: JSON.stringify({\n NodeId: `${targetReplica.ReplicaSetId}-node-primary`,\n _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${`${targetReplica.ReplicaSetId}-node-primary`}`,\n }),\n },\n ...options,\n ];\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function mongodbQuery() {\n return {\n template: template,\n controller: MongoDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onRefresh: '&',\n onChange: '&',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\n\ncoreModule.directive('mongodbQuery', mongodbQuery);\n","import { InstanceQueryDescriptor, templateQueryIdMap } from './query_def';\nimport coreModule from 'grafana/app/core/core_module';\n\nconst ExtraFields = [\n {\n label: 'NodeIP',\n field: 'nodeIP',\n },\n];\n\nexport class MrQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return Object.keys($scope.dims ?? {}).some((item: string) => item.startsWith('host4')) ? ExtraFields : [];\n // return ExtraFields;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).ClusterId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'nodeIP') {\n const InstanceId = $scope.getInstanceId();\n let data = $scope.cacheMap[InstanceId];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('mrHDFS', 'fetchAllNodes');\n const dataT = await fetcher(region, { InstanceId, NodeFlag: 'all' });\n data = dataT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return {\n text: item[templateQueryIdMap.node],\n value: JSON.stringify(item),\n };\n });\n }\n\n // 缓存\n $scope.cacheMap[InstanceId] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function mrQuery() {\n return {\n template: template,\n controller: MrQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('mrQuery', mrQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { NATGatewayFilterFieldsDescriptor } from './query_def';\n\nexport class NatGatewayQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.NATGatewayFilterFieldsDescriptor = NATGatewayFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function natGatewayQuery() {\n return {\n template: template,\n controller: NatGatewayQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('natGatewayQuery', natGatewayQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { OVCDNFilterFieldsDescriptor } from './query_def';\n\nexport class OVCDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.OVCDNFilterFieldsDescriptor = OVCDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function ovCdnQuery() {\n return {\n template: template,\n controller: OVCDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('ovCdnQuery', ovCdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { PCXFieldsDescriptor } from './query_def';\n\nexport class PCXQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.PCXFieldsDescriptor = PCXFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'vpcId':\n return $scope.getVpcIds();\n default:\n return [];\n }\n };\n\n $scope.getVpcIds = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getVpcIds('pcx', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function pcxQuery() {\n return {\n template: template,\n controller: PCXQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('pcxQuery', pcxQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { RedisFieldsDescriptor } from './query_def';\n\nexport class RedisQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisFieldsDescriptor = RedisFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function redisQuery() {\n return {\n template: template,\n controller: RedisQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('redisQuery', redisQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map } from 'lodash';\nimport { RedisMemFieldsDescriptor, templateQueryIdMap, NodeType, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class RedisMemQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisMemFieldsDescriptor = RedisMemFieldsDescriptor;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.rnodeid = '';\n $scope.target.pnodeid = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {}\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, nodetype) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getInstanceNodeInfo')({ region, instanceId });\n\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1 ? [] : map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function redisMemQuery() {\n return {\n template: template,\n controller: RedisMemQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\n\ncoreModule.directive('redisMemQuery', redisMemQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { SCFQueryDescriptor, templateQueryIdMap } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.SCFQueryDescriptor = SCFQueryDescriptor;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('scf', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).FunctionName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n // let { instance, region } = target;\n const FunctionName = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn('scf', 'getVariable')(target.region);\n if (!FunctionName || !region) return [];\n\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n\n return fetcher(region, { FunctionName }).then((res) => {\n // console.log(res, 'res');\n const result = res.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.version];\n return {\n text: o[templateQueryIdMap.version],\n value: JSON.stringify(o),\n };\n });\n return result;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n },\n };\n}\ncoreModule.directive('scfQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'environmentId',\n field: 'environmentId',\n action: 'DescribeEnvironments',\n },\n {\n label: 'topicName',\n field: 'topicName',\n action: 'DescribeTopics',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeTopics: 'topicName',\n DescribeEnvironments: 'environmentId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeTopics') {\n let evId = $scope.target.environmentId;\n try {\n evId = JSON.parse(evId);\n evId = evId[templateQueryIdMap.environmentId];\n } catch (e) {}\n payload.EnvironmentId = evId;\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Node',\n field: 'node',\n action: 'DescribeRabbitMQNodeList',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRabbitMQNodeList: 'node',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.node = '';\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n InstanceId: $scope.getInstanceId(),\n };\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRabbitmqQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Namespace',\n field: 'namespace',\n action: 'DescribeRocketMQNamespaces',\n },\n {\n label: 'Group',\n field: 'group',\n action: 'DescribeRocketMQGroups',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRocketMQNamespaces: 'namespace',\n DescribeRocketMQGroups: 'group',\n};\nexport class TdmqRocketmqQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.namespace = '';\n $scope.target.group = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeRocketMQGroups') {\n let namespace = $scope.target.namespace;\n try {\n namespace = JSON.parse(namespace)[templateQueryIdMap.namespace];\n } catch (e) {}\n payload.NamespaceId = $scope.datasource.getServiceFn(service, 'getVariable')(namespace);\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function tdmqRocketmqQuery() {\n return {\n template: template,\n controller: TdmqRocketmqQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRocketmqQuery', tdmqRocketmqQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { isEmpty } from 'lodash';\nimport { TKEFilterFieldsDescriptor } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TKEFilterFieldsDescriptor = TKEFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.addCondition = () => {\n $scope.target.conditions.push({ Key: '', Operator: '=', Value: '' });\n };\n\n $scope.deleteCondition = (index) => {\n const targetCondition = $scope.target.conditions[index];\n if (isEmpty(targetCondition.Key) || isEmpty(targetCondition.Operator) || isEmpty(targetCondition.Value)) {\n $scope.target.conditions.splice(index, 1);\n } else {\n $scope.target.conditions.splice(index, 1);\n $scope.onRefresh();\n }\n };\n\n $scope.getOperator = () => {\n return Promise.resolve([\n { text: '=', value: '=' },\n { text: 'in', value: 'in' },\n ]);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('tkeQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TSFFieldsDescriptor } from './query_def';\n\nexport class TSFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TSFFieldsDescriptor = TSFFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function tsfQuery() {\n return {\n template: template,\n controller: TSFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('tsfQuery', tsfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { VBCFilterFieldsDescriptor, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields: any = [\n // {\n // label: 'SRegion',\n // field: 'SRegion',\n // },\n // {\n // label: 'DRegion',\n // field: 'DRegion',\n // },\n];\n\nexport class VBCQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.VBCFilterFieldsDescriptor = VBCFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getExtraDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n // return $scope.datasource.getServiceFn(service, 'getFilterDropdown')({ field })\n return $scope.datasource.getFilterDropdown(service, { field });\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: VBCQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('vbcQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","var map = {\n\t\".\": 20,\n\t\"./\": 20,\n\t\"./MonitorDatasource\": 188,\n\t\"./MonitorDatasource.ts\": 188,\n\t\"./_base/datasource\": 3,\n\t\"./_base/datasource.ts\": 3,\n\t\"./_base/query\": 7,\n\t\"./_base/query.ts\": 7,\n\t\"./_base/query_filter\": 195,\n\t\"./_base/query_filter.ts\": 195,\n\t\"./_base/types\": 196,\n\t\"./_base/types.ts\": 196,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query\": 131,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def\": 23,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query\": 132,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def\": 31,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query\": 133,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def\": 32,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query\": 134,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def\": 33,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query\": 135,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def\": 63,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query\": 136,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def\": 34,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query\": 137,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def\": 44,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query\": 138,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def\": 64,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query\": 139,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def\": 35,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query\": 140,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def\": 36,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query\": 141,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def\": 45,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query\": 142,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def\": 57,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query\": 143,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def\": 11,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query\": 144,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def\": 12,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query\": 145,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def\": 29,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query\": 146,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def\": 58,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query\": 147,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def\": 37,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def\": 148,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query\": 149,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def\": 38,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query\": 150,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def\": 59,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query\": 151,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def\": 27,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query\": 152,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def\": 46,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query\": 153,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def\": 16,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query\": 154,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def\": 47,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query\": 155,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def\": 48,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query\": 156,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def\": 39,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query\": 157,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def\": 40,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query\": 158,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def\": 21,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query\": 159,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def\": 49,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query\": 160,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def\": 15,\n\t\"./gse/query_def.ts\": 15,\n\t\"./index\": 20,\n\t\"./index.ts\": 20,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query\": 161,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def\": 65,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query\": 162,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def\": 56,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query\": 163,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def\": 50,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query\": 164,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def\": 24,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query\": 165,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def\": 66,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query\": 166,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def\": 67,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query\": 167,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def\": 60,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query\": 168,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def\": 41,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query\": 169,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def\": 51,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query\": 170,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def\": 61,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query\": 171,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def\": 17,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query\": 172,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def\": 28,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query\": 173,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def\": 30,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query\": 174,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def\": 52,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query\": 175,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def\": 13,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query\": 176,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def\": 18,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query\": 177,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def\": 19,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query\": 178,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def\": 74,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query\": 179,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def\": 62,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query\": 180,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def\": 25,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query\": 181,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def\": 53,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query\": 182,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def\": 42,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query\": 183,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def\": 54,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query\": 184,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def\": 55,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query\": 185,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def\": 43,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 186;","import _ from 'lodash';\nimport { Datasources, SERVICES } from './index';\nimport { GetServiceFromNamespace, ParseMetricQuery } from '../common/constants';\nimport { serviceGroupBy } from '../common/utils';\nimport { LoadingState } from '@grafana/data';\n\nexport default interface DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n query: (options: any) => any;\n testDatasource: () => any;\n metricFindQuery: (query: any) => any;\n getRegions?: (service: string) => any;\n getMetrics: (service: string, region: string) => any;\n getInstances: (service: string, region: string, params: any) => any;\n getZones?: (service: string, region: string) => any;\n}\n\nexport class TCMonitorDatasource implements DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n _.forEach(Datasources, (_class: any, key) => {\n this[key] = new _class(this.instanceSettings, this.backendSrv, this.templateSrv);\n });\n }\n\n // 根据 Datasource Config 配置时勾选的监控服务项,获取相应的命名空间\n getNamespaces() {\n const namespaces: any[] = [];\n _.forEach(SERVICES, (service) => {\n if (this.instanceSettings.jsonData[service.service] === true) {\n // namespaces.push(service.namespace);\n namespaces.push(service);\n }\n });\n return namespaces;\n }\n\n getCascaderNamespaces() {\n const validServices = SERVICES.filter((service) => this.instanceSettings.jsonData[service.service]);\n return serviceGroupBy(validServices);\n }\n\n getSelectedServices() {\n const namespaces = this.getNamespaces();\n return _.map(namespaces, ({ namespace }) => {\n return GetServiceFromNamespace(namespace);\n });\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数,示例如下\n * {\n * cacheTimeout: undefined,\n * dashboardId: 41,\n * interval: \"30s\",\n * intervalMs: 30000,\n * maxDataPoints: 554,\n * panelId: 2,\n * range: {\n * from: Moment,\n * to: Moment,\n * raw: {from: \"now-6h\", to: \"now\"}\n * },\n * rangeRaw: {from: \"now-6h\", to: \"now\"},\n * scopedVars: {__interval: {…}, __interval_ms: {…}}\n * targets: [\n * {\n * namespace: \"QCE/CVM\",\n * refId: \"A\",\n * service: \"cvm\",\n * showInstanceDetails: false,\n * cvm: {\n * dimensionObject: {InstanceId: {…}}\n * instance: \"\",\n * instanceAlias: \"InstanceId\",\n * metricName: \"AccOuttraffic\",\n * metricUnit: \"MB\",\n * period: 10,\n * queries: {Filters: {…}, InstanceIds: Array(1), Limit: 20, Offset: 0, filtersChecked: false, …},\n * region: \"ap-beijing\"\n * },\n * cdb: {},\n * },\n * ],\n * timezone: \"browser\"\n * }\n * @return 返回数据对象,示例如下\n * {\n * data: [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n * }\n */\n query(options: any) {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n const optionsTemp = _.cloneDeep(options);\n const targets = _.filter(optionsTemp.targets, (item) => item.service === service);\n optionsTemp.targets = targets;\n if (optionsTemp.targets.length > 0) {\n const promiseTemp = this[`${_.toUpper(service)}Datasource`].query(optionsTemp);\n if (promiseTemp) {\n promises.push(promiseTemp);\n }\n }\n });\n if (promises.length === 0) {\n return Promise.resolve({ data: [], state: LoadingState.Done });\n }\n return Promise.all(promises).then((results) => {\n return { data: _.flatten(results), state: LoadingState.Done };\n });\n }\n\n /**\n * 获取模板变量的选择项列表\n *\n * @param query 模板变量配置填写的 Query 参数字符串\n */\n metricFindQuery(query: string, options?: any) {\n const queries = ParseMetricQuery(query);\n const service = GetServiceFromNamespace(queries['namespace'] || '');\n\n if (_.isEmpty(queries) || !queries['namespace'] || !queries['action'] || !service) {\n return Promise.resolve([]);\n }\n if (this[`${_.toUpper(service)}Datasource`].metricFindQuery) {\n const result = this[`${_.toUpper(service)}Datasource`].metricFindQuery(\n queries,\n _.get(options, 'variable.regex', undefined)\n );\n if (result) {\n return result;\n }\n }\n return Promise.resolve([]);\n }\n\n /**\n * 获取地域列表\n * @param service\n */\n getRegions(service) {\n if (this[`${_.toUpper(service)}Datasource`].getRegions) {\n return this[`${_.toUpper(service)}Datasource`].getRegions();\n }\n return [];\n }\n\n /**\n * 获取监控指标列表\n * @param service\n * @param region\n */\n getMetrics(service, region) {\n return this[`${_.toUpper(service)}Datasource`].getMetrics(region);\n }\n\n /**\n * 获取可用区列表\n * @param service\n * @param region\n */\n getZones(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getZones) {\n return this[`${_.toUpper(service)}Datasource`].getZones(region);\n }\n return [];\n }\n\n /**\n * 获取filter中dropdown列表\n * @param service\n * @param param\n */\n getFilterDropdown(service, param) {\n if (this[`${_.toUpper(service)}Datasource`].getFilterDropdown) {\n return this[`${_.toUpper(service)}Datasource`].getFilterDropdown(param);\n }\n return [];\n }\n\n /**\n * 获取实例列表\n * @param service\n * @param region\n * @param params\n */\n getInstances(service, region, params) {\n return this[`${_.toUpper(service)}Datasource`].getInstances(region, params);\n }\n\n /**\n * 获取监听器列表\n * @param service\n * @param region\n * @param params\n */\n getListeners(service, region, instance) {\n if (!this[`${_.toUpper(service)}Datasource`].getListeners) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`].getListeners(region, instance);\n }\n\n /**\n * 获取 私有网络列表\n * @param service\n */\n getVpcIds(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getVpcIds) {\n return this[`${_.toUpper(service)}Datasource`].getVpcIds(region);\n }\n }\n\n // 在 Datasource Config 配置时,验证 SerectId、SerectKey 的有效性,并测试勾选的监控服务项的对应 API 连通性\n testDatasource() {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n promises.push(this[`${_.toUpper(service)}Datasource`].testDatasource());\n });\n if (promises.length === 0) {\n return Promise.resolve(null);\n }\n\n return Promise.all(promises).then((results) => {\n let status = 'success';\n let message = 'DataSource Connection OK';\n\n const errorMsg = _.reduce(\n results,\n (acc, cur) => {\n if (cur.status === 'error') {\n if (acc === '') acc += 'Oops! Found an error in: ';\n acc += `${cur.service}: ${cur.message}; \\n`;\n }\n return acc;\n },\n ''\n );\n\n if (errorMsg) {\n status = 'error';\n message = errorMsg;\n }\n\n return {\n status,\n message,\n title: _.upperFirst(status),\n };\n });\n }\n\n getServiceFn(service, fnName) {\n return (...argu) => {\n if (!this[`${_.toUpper(service)}Datasource`][fnName]) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`][fnName](...argu);\n };\n }\n}\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n var obj;\n\n while (queue.length) {\n var item = queue.pop();\n obj = item.obj[item.prop];\n\n if (Array.isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n\n return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (Array.isArray(target)) {\n target.push(source);\n } else if (typeof target === 'object') {\n if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (Array.isArray(target) && !Array.isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (Array.isArray(target) && Array.isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n if (target[i] && typeof target[i] === 'object') {\n target[i] = merge(target[i], item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str) {\n try {\n return decodeURIComponent(str.replace(/\\+/g, ' '));\n } catch (e) {\n return str;\n }\n};\n\nvar encode = function encode(str) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = typeof str === 'string' ? str : String(str);\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n merge: merge\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\n\nclass SPQueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, SPQueryCtrl._config);\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function queryDDO() {\n return {\n template: template,\n controller: SPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n SPQueryCtrl._config = config;\n coreModule.directive(name, queryDDO);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder);\n val = options.decoder(part.slice(pos + 1), defaults.decoder);\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options) {\n var leaf = val;\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]') {\n obj = [];\n obj = obj.concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n","var map = {\n\t\"./_base/query.ts\": 7,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def.ts\": 15,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 209;","import { PluginMeta } from '@grafana/data';\nimport { config, getBackendSrv } from '@grafana/runtime';\nimport { TcDataSourceId } from '../datasource/common/constants';\n\nconst backendSrv = getBackendSrv();\n\nconst tcFolder = {\n uid: 'tencent-cloud-monitor',\n title: '腾讯云监控',\n folderId: null,\n};\n\nconst tcFolder_EN = {\n uid: 'tencent-cloud-monitor-english',\n title: 'Tencent Cloud Monitor',\n folderId: null,\n};\n\n/**\n * 生成腾讯云专用目录\n * @returns\n */\nasync function getFolderId() {\n if (tcFolder.folderId && tcFolder_EN.folderId) {\n return [tcFolder.folderId, tcFolder_EN.folderId];\n }\n const folders: any[] = await backendSrv.get('/api/folders');\n let folderId = folders.find((item) => item.uid === tcFolder.uid)?.id;\n let folderEnId = folders.find((item) => item.uid === tcFolder_EN.uid)?.id;\n if (!folderId) {\n const folder = await backendSrv.post('/api/folders', tcFolder);\n folderId = folder?.id || 0;\n }\n if (!folderEnId) {\n const folderEn = await backendSrv.post('/api/folders', tcFolder_EN);\n folderEnId = folderEn?.id || 0;\n }\n tcFolder.folderId = folderId;\n tcFolder_EN.folderId = folderEnId;\n return [folderId, folderEnId];\n}\n\n/**\n * 请求拦截器,拦截导入按钮的接口请求\n */\nfunction backendInterceptor() {\n const oldPost = backendSrv.post.bind(getBackendSrv());\n const pluginId = window.location.pathname.split('/').filter((item) => item)[1];\n backendSrv.post = async (url, data) => {\n // 拦截判断:拦截指定接口\n if (url === '/api/dashboards/import' && data.pluginId === pluginId) {\n const [folderId, folderEnId] = await getFolderId();\n data.folderId = data.path.endsWith('_en_dashboard.json') ? folderEnId : folderId;\n }\n return oldPost(url, data);\n };\n}\n\nbackendInterceptor();\n\nexport class MonitorAppConfigCtrl {\n static templateUrl = 'components/config.html';\n appEditCtrl: any;\n appModel?: PluginMeta;\n $q: any;\n configured: boolean;\n\n /** @ngInject */\n constructor($scope: any, $injector: any, $q: any) {\n this.appEditCtrl.setPostUpdateHook(this.postUpdate.bind(this));\n this.$q = $q;\n // Make sure it has a JSON Data spot\n if (!this.appModel) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n this.appModel = {} as PluginMeta;\n }\n\n // Required until we get the types sorted on appModel :(\n const appModel = this.appModel as any;\n if (!appModel.jsonData) {\n appModel.jsonData = {};\n }\n this.configured = false;\n if (this.appModel?.enabled) {\n const datasources = Object.values(config.datasources).filter((ds) => {\n return ds.type === TcDataSourceId;\n });\n if (datasources.length > 0) {\n this.configured = true;\n }\n }\n }\n\n async moveToFolder(dashbaordUid: string, folderId: number) {\n // 获取dashboard\n const { dashboard } = await backendSrv.get(`/api/dashboards/uid/${dashbaordUid}`);\n // 移动目录\n await backendSrv.post('/api/dashboards/db/', {\n dashboard,\n folderId,\n message: '',\n overwrite: true,\n });\n }\n\n async reviseDashboard() {\n // 1. 生成腾讯云目录\n const [folderId, folderEnId] = await getFolderId();\n // 2. 获取所有腾讯云插件下的dashboard\n const rs = await backendSrv.get(`/api/plugins/${this.appModel?.id}/dashboards`);\n\n // 3. 调用api更新dashboard\n const pmlist = rs.map((item) => {\n const { importedUrl, path } = item;\n const uid = importedUrl.split('/')[2];\n if (uid) {\n return this.moveToFolder(uid, path.endsWith('_en_dashboard.json') ? folderEnId : folderId);\n } else {\n return Promise.resolve();\n }\n });\n\n return Promise.all(pmlist);\n }\n\n async postUpdate() {\n if (!this.appModel?.enabled) {\n return;\n }\n // enable或者update时,对预设dashboard进行修改\n await this.reviseDashboard();\n return this.$q.resolve(true);\n }\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://TencentCloudMonitorGrafanaApp/webpack/bootstrap","webpack://TencentCloudMonitorGrafanaApp/external \"lodash\"","webpack://TencentCloudMonitorGrafanaApp/./locale/zh_CN.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/en_US.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/sign.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/signV2.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/constants.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/utils.ts","webpack://TencentCloudMonitorGrafanaApp/external \"app/core/core_module\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/data\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/indexedDB.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/datasourceStorage.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/runtime\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"moment\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^.*$","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/MonitorDatasource.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/utils.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/formats.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query_filter.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/index.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/stringify.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/parse.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)","webpack://TencentCloudMonitorGrafanaApp/./components/config.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","language","enable_intranet_API_mode","cloud_database","cloud_load_balancer","virtual_private_cloud","content_delivery_network","message_queue","direct_connect","cloud_physical_machine","elastic_mapReduce","edge_computing_machine","RUM","APM","CLS","CVM","CDB","CMONGO","POSTGRES","REDIS","REDIS_MEM","SQLSERVER","CYNOSDB_MYSQL","TCAPLUS","TDMYSQL","PCX","BWP","NAT_GATEWAY","VPNGW","VPNX","DCG","CEIP_SUMMARY","VPC_NET_DETECT","VBC","LB","LB_PUBLIC","LB_PRIVATE","LOADBALANCE","CDN","CDN_LOG_DATA","OV_CDN","SCF_V2","CFS","COS","CKAFKA","CMQ","CMQTOPIC","TDMQ","TDMQ_ROCKETMQ","TDMQ_RABBITMQ","DCX","DC","CPM","BM_PCX","BM_LB","BM_INTRA_LB","CES","BLOCK_STORAGE","APIGATEWAY","QAAP","ECM","ECM_BLOCK_STORAGE","ECM_LB","GSE","TKE","ECDN","WAF","multi_scene","lite","cloud_monitor","cloud_log_service","real_user_monitoring","apm_monitoring","region","log_topic","syntax_rule","max_result_num","search_statement","time_unit","seconds","search_description","Language","locale_language","Chinese","setLanguage","getLanguage","options","secretId","service","action","host","version","payload","backendSrv","datasourceId","this","JSON","stringify","nowDate","utc","timestamp","unix","date","format","getHeader","getResourceHeader","res","datasourceRequest","url","method","headers","data","Host","Service","Version","Action","Region","Timestamp","Method","Uri","Query","Body","Headers","resp","authorization","token","intranet","grafanaVersion","window","grafanaBootData","settings","buildInfo","Authorization","toString","defaults","path","generateQueryString","getResourceQueryString","assign","secretKey","querystring","queryString","TcDataSourceId","id","FINACE_REGIONS","SERVICES_API_INFO","api","monitor","cls","cvm","cdb","pcx","vpc","mongodb","clb","postgres","cdn","redis","scf","cfs","ckafka","dc","cynosdb","sqlserver","bm","bmeip","bmvpc","bmlb","es","emr","cmq","cbs","tcaplusdb","dcdb","apigateway","tdmq","tdmq_rabbitmq","tdmq_rocketmq","gaap","ecm","gse","lighthouse","tsf","rum","tke","ecdn","waf","apm","FINACE_HOST","GetServiceAPIInfo","indexOf","find","__","getHostAndPath","GetServiceFromNamespace","namespace","ParseMetricQuery","query","result","queries","split","forEach","item","str","trim","val","parse","e","toLower","ReplaceVariable","templateSrv","scopedVars","field","multiple","varname","varFlag","regResult1","String","match","regResult2","parseVariableFormat","replaceVar","replace","error","isArray","GetDimensions","obj","isEmpty","dimensions","Value","undefined","push","Name","ParseQueryResult","response","instances","timeshift","instanceList","cloneDeep","dataPoints","map","dataPoint","instanceAliasValue","length","isInstanceMatch","_InstanceAliasValue","splice","target","MetricName","datapoints","parseDataPoint","timestamps","values","index","instance","isVariable","GetRequestParams","signObj","signParams","pick","headerSigned","GetRequestParamsV2","sign","SliceLength","total","len","num","Math","ceil","Offset","CoreApp","IS_DEVELOPMENT_ENVIRONMENT","instanceSettings","instanceListCache","extraMetricDims","checkKeys","MetricReqConfig","extrasAlias","queryMonitorExtraConfg","CandiateDimensions","jsonData","Namespace","getOtherAlias","alias","extra","extraAlia","getVariable","getAliasValue","Array","join","formatVarDisplay","displayTpl","instanceAlias","a","b","InstanceAliasList","includes","metricFindQuery","regex","display","instancealias","templateQueryIdMap","isObject","isString","getRegions","getVariableInstances","flatMap","insAlias","text","setInstance","getInstance","instanceCache","fetchMetricData","Promise","resolve","dimensionsFormat","dimKeys","ins","dimensionObject","keyTmp","invalidDim","InvalidDimensions","getInvalidDimensions","extraDimValue","dim_KeyInStorage","dim_KeyInTarget","dim_KeyInMap","dim_KeyInIns","extraSourceMap","getExtraStorage","extraStorage","isStringOrNumber","isNumber","otherAlias","getDimensionsVal","Ekey","tt","getOwnDimension","dimVal","filter","targets","hide","metricName","reduce","prev","cloneTarget","concat","inst","getDefaultInsObj","insInReq","keys","dimResult","Dimensions","StartTime","range","from","subtract","EndTime","to","Period","period","Instances","getMonitorData","all","then","responses","flatten","getInstanceReqConfig","selfIns","metric","rs","valStr","params","serviceInfo","doRequest","RegionSet","RegionName","RegionState","getMetrics","MetricSet","resFilterFn","resultFilter","getInstances","InstanceReqConfig","interceptor","Limit","Edition","request","Error","TotalCount","TotalCnt","TotalNumber","param","isValidConfigField","testDatasource","cvmErr","monitorErr","serviceErr","cvmAuthFail","monitorAuthFail","serviceAuthFail","messages","message","compact","uniq","status","title","statusText","code","getFieldsValue","fields","fetchAllFactory","fetcher","_params","omit","Result","firstLists","delta","batchCount","pmList","fill","_","isOffsetPage","acc","cur","lists","list","instanceQueryParamsBaseParse","isFilter","Values","slice","Filters","getNamesapceFromService","serviceName","serviceGroupBy","services","label","groupName","existedGroup","items","isTargetEqual","newTargetString","oldTargetString","newTarget","oldTarget","getTimeShiftInMs","timeShift","parts","exec","amount","parseInt","__WEBPACK_EXTERNAL_MODULE__6__","config","detailConfig","QueryCtrl","newQueryIns","$scope","$rootScope","getDropdown","datasource","getFilterDropdown","directive","template","controller","restrict","scope","showDetail","getDropdownOptions","onChange","__WEBPACK_EXTERNAL_MODULE__8__","store","promisify","type","reject","onsuccess","event","returnMap","msg","onerror","props","initDB","indexedDB","webkitIndexedDB","mozIndexedDB","msIndexedDB","open","onupgradeneeded","db","objectStoreNames","contains","createObjectStore","keyPath","openDB","insertData","storeName","transaction","objectStore","add","oncomplete","addData","isCover","getData","oldData","getObjectStore","newData","requestUpdate","put","seviceName","getAllData","getAll","insKey","cacheWay","setStorage","getStorage","setExtraStorage","EValue","serviceKey","storage","CKAFKAQueryDescriptor","enDescriptor","cnDescriptor","link","min","max","CKAFKA_STATE","metricUnit","topicId","topicName","consumerGroup","partition","Status","InstanceId","SearchWord","TagKey","GetInstanceQueryParams","CKAFKAInstanceAliasList","CKAFKATopicAliasList","CKAFKAInvalidDemensions","Proxy","prop","toLocaleLowerCase","keyInStorage","TopicList","GroupList","PartitionList","TopicId","TopicName","GroupName","PartitionId","queryEditorName","LOADBALANCEFieldsDescriptor","queryEditorConfig","instanceDocUrl","fieldDescriptor","LOADBALANCE_STATE","Port","Protocol","listener","servers","serverPort","LoadBalancerIds","Forward","LoadBalancerName","Domain","LoadBalancerVips","BackendPublicIps","BackendPrivateIps","ProjectId","WithRs","VpcId","SecurityGroup","MasterZone","OrderBy","OrderType","LOADBALANCEListenerAliasList","LOADBALANCEServerAliasList","LOADBALANCEVALIDDIMENSIONS","vip","loadBalancerPort","protocol","lanIp","port","CANDIATEDIMENSIONS","PrivateIpAddresses","ServerPort","TDMQInvalidDemensions","tenantId","tenant","environmentId","TDMQInstanceAliasList","TDMQFilterFieldsDescriptor","CDNPROVINCE_STATE","regionSupported","modifyDimensons","metricItem","metricTmp","EnvironmentId","fleetId","GSEInvalidDemensions","instanceid","fleetid","queuename","GSEInstanceAliasList","FleetId","fleet","queue","GSEFilterFieldsDescriptor","GSE_STATE","v","DCDBInvalidDemensions","nodeid","shardid","ShardId","DCDBInstanceAliasList","NodeId","ShardInstanceId","DCDBFilterFieldsDescriptor","DCDB_STATE","InstanceIds","SearchName","SearchKey","ProjectIds","SubnetId","OrderByType","ExclusterType","ExclusterIds","FilterInstanceType","modifyMetricConf","IsFilterVpc","IsFilterExcluster","RedisMemFieldsDescriptor","REDISMEM_STATE","VpcIds","SubnetIds","InstanceName","UniqVpcIds","UniqSubnetIds","TypeVersion","EngineName","AutoRenew","BillingMode","Type","rnodeid","pnodeid","REDISMEMInstanceAliasList","RedisMemInvalidDemensions","NodeType","node","TDMQRABBITMQInstanceAliasList","TDMQ_STATE","NodeName","group","TDMQROCKETMQInstanceAliasList","instanceIdsChecked","filtersChecked","ClusterIdList","includeVip","NamespaceId","SERVICES","href","hideRegion","Datasources","InitStates","hackModuleName","postgresql","mr","filePath","moduleName","fileName","prefix","toUpperCase","getParams","ECMBLOCKSTORAGEInvalidDemensions","uuid","diskId","ECMBLOCKSTORAGEInstanceAliasList","ECMBLOCKSTORAGEFilterFieldsDescriptor","ECMBLOCKSTORAGE_STATE","DiskId","__WEBPACK_EXTERNAL_MODULE__22__","APIGATEWAYInvalidDemensions","serviceId","environmentName","apiid","apiId","APIGATEWAYInstanceAliasList","environmentList","EnvironmentName","APIGATEWAYFilterFieldsDescriptor","APIGATEWAY_STATE","ServiceId","ServiceName","NotUsagePlanId","Environment","IpVersion","InstanceQueryDescriptor","InvalidDemensions","k","receiver","startsWith","Reflect","has","propKey","Ip","nodeIP","DisplayStrategy","Order","OrderField","Asc","VCLBInvalidDemensions","VCLBInstanceAliasList","VCLBFilterFieldsDescriptor","VCLB_STATE","clbNamespaceMap","public","private","cynosdbMysqlFilterFieldsDescriptor","CYNOSDB_STATE","DbType","CYNOSDBMYSQLInstanceAliasList","CYNOSDBInvalidDemensions","instanceId","SCFQueryDescriptor","SCF_STATE","Description","SCFInstanceAliasList","SCFInvalidDemensions","functionName","SCFDefaultDimensionList","CLSInvalidDemensions","CLSInstanceAliasList","CLSFilterFieldsDescriptor","CLS_STATE","uin","logsetName","logsetId","tagKey","storageType","SQLSERVERInvalidDemensions","resourceId","SQLSERVERInstanceAliasList","SQLSERVERNETFilterFieldsDescriptor","SQLSERVER_STATE","InstanceIdSet","PayMode","VipSet","InstanceNameSet","VersionSet","Zone","BMINTRALBInvalidDemensions","vpcId","BMINTRALBInstanceAliasList","BMINTRALBFilterFieldsDescriptor","BMINTRALB_STATE","BMLBValidMetricsT","isValidMetric","validMetrics","toUpper","CPMInvalidDemensions","BMLBInstanceAliasList","CPMFilterFieldsDescriptor","CPM_STATE","BMPCXInvalidDemensions","peeringConnectionId","BMPCXInstanceAliasList","BMPCXFilterFieldsDescriptor","BMPCX_STATE","VpcPeerConnectionIds","CBSInvalidDemensions","diskname","unInstanceId","CBSInstanceAliasList","CBSFilterFieldsDescriptor","CBS_STATE","DiskIds","ReturnBindAutoSnapshotPolicy","metricObj","dimension","CDNPROVINCEInvalidDemensions","domain","projectid","province","appid","CDNPROVINCEInstanceAliasList","CDNPROVINCEFilterFieldsDescriptor","isp","district","origin","serviceType","projectId","domainType","fullUrlCache","https","originPullProtocol","CEIPInvalidDemensions","eip","CEIPSUMMARYInstanceAliasList","CEIPFilterFieldsDescriptor","CEIP_STATE","subscription","subscriptionId","CPMInstanceAliasList","DeviceClassCode","WanIps","LanIps","Alias","VagueIp","AutoRenewFlag","DeviceType","IsLuckyDevice","ECDNInstanceAliasList","ECDNInvalidDemensions","ECDN_STATE","disable","area","ECDNFilterFieldsDescriptor","_queries","Fuzzy","ECMInvalidDemensions","ECMInstanceAliasList","ECMFilterFieldsDescriptor","ECM_STATE","zone","PostgresFieldsDescriptor","POSTGRESInstanceAliasList","POSTGRES_STATE","PostgreInvalidDemensions","uid","VPCNETInvalidDemensions","netdetectid","netDetectId","VPCNETDETECTInstanceAliasList","VPCNETFilterFieldsDescriptor","VPCNET_STATE","WAFFilterFieldsDescriptor","WAF_STATE","WAFInstanceAliasList","WAFInvalidDemensions","CDBFieldsDescriptor","CDB_STATE","InstanceTypes","Vips","SecurityGroupId","PayTypes","InstanceNames","TaskStatus","EngineVersions","ZoneIds","CdbErrors","OrderDirection","InitFlag","CDBInstanceAliasList","CDBInvalidDemensions","insttype","CESInvalidDemensions","uInstanceId","CESInstanceAliasList","CESFilterFieldsDescriptor","CES_STATE","OrderByKey","IpList","DCFilterFieldsDescriptor","DC_STATE","DirectConnectIds","DCInstanceAliasList","DCInvalidDemensions","directConnectId","directconnectid","DCGInvalidDemensions","directConnectGatewayId","DCGInstanceAliasList","DCGFilterFieldsDescriptor","DCG_STATE","DCXFilterFieldsDescriptor","DCX_STATE","DCXInstanceAliasList","DCXInvalidDemensions","directconnectconnid","directConnectConnId","ECMLBInvalidDemensions","ECMLBInstanceAliasList","ECMLBFilterFieldsDescriptor","MONGODBFieldsDescriptor","MONGODB_STATE","InstanceType","ClusterType","MONGODBInstanceAliasList","MONGODBInvalidDemensions","replica","Replica","Node","QAAPInvalidDemensions","channelId","QAAPInstanceAliasList","QAAPFilterFieldsDescriptor","QAAP_STATE","AccessRegion","RealServerRegion","GroupId","TCAPLUSInvalidDemensions","TCAPLUSInstanceAliasList","TCAPLUSFilterFieldsDescriptor","TCAPLUS_STATE","ClusterId","TableGroupIds","TableName","TableInstanceId","TableIdlType","TableType","ListElementNum","ReservedVolume","ReservedReadQps","ReservedWriteQps","Memo","FileName","FileExtType","FileSize","FileContent","SelectedTables","regonsMap","VBCInvalidDemensions","VBCInstanceAliasList","VBCFilterFieldsDescriptor","VBC_STATE","DRegion","SRegion","state","VPNGWInvalidDemensions","vpnGwId","VPNGWInstanceAliasList","VPNGWFilterFieldsDescriptor","VPNGW_STATE","VPNXInvalidDemensions","vpnConnId","VPNXInstanceAliasList","VPNXFilterFieldsDescriptor","VPNX_STATE","LighthouseFilterFieldsDescriptor","LIGHTHOUSE_STATE","LIGHTHOUSEInstanceAliasList","LighthouseInvalidDemensions","CFSQueryDescriptor","CFS_STATE","FileSystemId","CFSInstanceAliasList","CFSInvalidDemensions","queueId","queueName","QueueName","CVMFilterFieldsDescriptor","CVM_STATE","CVMInstanceAliasList","CVMValidMetricsT","CVMValidMetrics","PCX_STATE","limit","offset","peeringConnectionName","PCXFieldsDescriptor","PCXInstanceAliasList","RedisFieldsDescriptor","REDIS_STATE","REDISInstanceAliasList","RedisInvalidDemensions","redis_uuid","TSFFieldsDescriptor","TSF_STATE","ApplicationType","MicroserviceType","ApplicationResourceTypeList","ApplicationIdList","TSFInstanceAliasList","TSFInvalidDemensions","applicationid","BWPFilterFieldsDescriptor","BWP_STATE","BandwidthPackageIds","BWPInstanceAliasList","BWPInvalidDemensions","bandwidthPackageId","CDNFilterFieldsDescriptor","CDN_STATE","CDNInstanceAliasList","CDNInvalidDemensions","LBFilterDescriptor","LB_STATE","LBInstanceAliasList","LBInvalidDemensions","NATGATEWAYInstanceAliasList","NATGatewayFilterFieldsDescriptor","NATGATEWAY_STATE","NatGatewayIds","NATInvalidDemensions","natId","OVCDNFilterFieldsDescriptor","OVCDN_STATE","OVCDNInstanceAliasList","OVCDNInvalidDemensions","__WEBPACK_EXTERNAL_MODULE__69__","TKE_STATE","conditions","groupBys","ClusterIds","ClusterName","ClusterStatus","TKEFilterFieldsDescriptor","TKEInstanceAliasList","responseField","getEnvironmentNameList","LoadBalancerType","RegionMap","keyBy","RegionInfoSet","rawSet","getZones","ZoneSet","ZoneName","ZoneId","ZoneState","getConsumerList","MapInfoList","TopicAliasList","consumerGroupCache","getConsumerGroups","groupname","topicid","consumerGoup","topicList","GroupDetailList","uniqBy","SubscribedInfos","ConsumerGroupName","SubscribedInfo","partitions","sub","Partition","formatTopicVarDisplay","topic","topicAlias","topicalias","par","ListenerAliasList","ServerAliasList","tagret","getListenerList","LoadBalancerId","formatVariableDisplay","aliasList","getServerList","listenerId","ListenerIds","Listeners","Rules","Targets","elem","listenAlias","lisId","listenerid","serverprivateip","serveralias","serversList","chain","dims","Set","fetchAllSubscription","SubscriptionId","cosURL","Buckets","BucketName","bucket","DeviceClassSet","Product","extraActionMap","DescribeDCDBShards","pickKey","DescribeDCDBInstanceNodeInfo","RegionList","act","getDiskList","instanceObj","getQueueNameList","getFleetList","ReplicaAliasList","replicaAlias","ReplicaSetId","replicasetid","times","SecondaryNum","nodeId","fetchAllNodes","NodeFlag","resultT","doRequestV2","totalCount","getVpcId","VpcSet","getVpcIds","MonitorVersion","getInstanceNodeInfo","nodetype","ndoeTypeIndex","getVersions","Versions","FunctionName","RegionInfos","DescribeTopics","DescribeEnvironments","DescribeRabbitMQNodeList","DescribeRocketMQNamespaces","DescribeRocketMQGroups","variableToArray","variable","tke_cluster_instance_id","Key","Operator","MetricNames","Module","Conditions","GroupBys","Data","Points","point","dimensionSort","dimensionString","timeshiftString","getAllMetrics","public_metrics","private_metrics","edition","init","getInstanceId","getServiceFn","getExtraDropdown","sQuery","onRefresh","onChecked","srcField","dstField","bwpQuery","BWPQueryCtrl","cdbQuery","CDBQueryCtrl","cdnQuery","CDNQueryCtrl","ExtraFields","scfQuery","SCFQueryCtrl","onInstanceChange","getExtraFields","CKAFKAQueryCtrl","element","attrs","$watch","newValue","oldValue","onFieldChange","getVariableId","variableData","getServersDropdown","getServerPortDropdown","serverPortList","cacheMap","getTopicName","onExtraFieldChange","datas","CmqTopicQueryCtrl","cvmQuery","CVMQueryCtrl","dropdownTextConfig","actionMaps","lbQuery","LBQueryCtrl","lighthouseQuery","LighthouseQueryCtrl","replicaId","mongodbQuery","MongoDBQueryCtrl","some","dataT","mrQuery","MrQueryCtrl","natGatewayQuery","NatGatewayQueryCtrl","ovCdnQuery","OVCDNQueryCtrl","pcxQuery","PCXQueryCtrl","redisQuery","RedisQueryCtrl","clearExtrasAlias","redisMemQuery","RedisMemQueryCtrl","evId","tdmqRocketmqQuery","TdmqRocketmqQueryCtrl","addCondition","deleteCondition","targetCondition","getOperator","tsfQuery","TSFQueryCtrl","VBCQueryCtrl","webpackContext","req","webpackContextResolve","_class","getNamespaces","namespaces","getCascaderNamespaces","validServices","getSelectedServices","promises","optionsTemp","promiseTemp","Done","results","getListeners","errorMsg","upperFirst","fnName","argu","hexTable","array","arrayToObject","source","plainObjects","refs","j","pop","compacted","compactQueue","decode","decodeURIComponent","encode","string","out","charCodeAt","charAt","isBuffer","constructor","isRegExp","merge","allowPrototypes","mergeTarget","percentTwenties","formatters","RFC1738","RFC3986","SPQueryCtrl","_config","queryDDO","formats","utils","arrayPrefixGenerators","brackets","indices","repeat","toISO","Date","toISOString","delimiter","encoder","encodeValuesOnly","serializeDate","skipNulls","strictNullHandling","generateArrayPrefix","sort","allowDots","formatter","objKeys","opts","TypeError","arrayFormat","joined","addQueryPrefix","arrayLimit","decoder","depth","parameterLimit","parseKeys","givenKey","child","segment","parent","leaf","root","cleanRoot","isNaN","parseArrays","parseObject","ignoreQueryPrefix","tempObj","cleanStr","Infinity","part","bracketEqualsPos","pos","parseValues","newObj","tcFolder","folderId","tcFolder_EN","getFolderId","folders","folderEnId","post","folder","folderEn","oldPost","pluginId","location","pathname","endsWith","backendInterceptor","$injector","$q","appEditCtrl","setPostUpdateHook","postUpdate","appModel","configured","enabled","datasources","ds","moveToFolder","dashbaordUid","dashboard","overwrite","reviseDashboard","pmlist","importedUrl","templateUrl"],"mappings":"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CACXhO,iBAAkByN,EAAaG,cAC/B3N,gBAAiB,YACjBC,aAAczB,EAAmBoO,YAGtB,a,6BCtKf,gsBAEM9U,EAAY,kBAGZkW,EAAkB,mBAwBlBC,EAAkD,CACtD,CACE/iB,IAAK,SACLghB,aAAc,SACdC,aAAc,0CACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,QACLghB,aAAc,QACdC,aAAc,wBACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,kBACLghB,aAAc,kBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,UACLghB,aAAc,UACdC,aAAc,WACdC,KAAM,GACNjD,KAAM,SACN9C,KA3DiB,CACnB,CAAEtH,KAAM,UAAWnU,MAAO,GAC1B,CAAEmU,KAAM,UAAWnU,MAAO,KA2D1B,CACEM,IAAK,SACLghB,aAAc,SACdC,aAAc,wCACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,qBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,aACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,eAER,CACEje,IAAK,QACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,gBACLghB,aAAc,iBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,aACLghB,aAAc,cACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SACN9C,KA1GW,CACb,CAAEtH,KAAM,WAAYnU,MAAO,GAC3B,CAAEmU,KAAM,SAAUn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NjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,QACLghB,aAAc,QACdC,aAAc,wBACdC,KAAM,GACNjD,KAAM,cACNkD,IAAK,GAEP,CACEnhB,IAAK,kBACLghB,aAAc,kBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,UACLghB,aAAc,UACdC,aAAc,WACdC,KAAM,GACNjD,KAAM,SACN9C,KA3DiB,CACnB,CAAEtH,KAAM,UAAWnU,MAAO,GAC1B,CAAEmU,KAAM,UAAWnU,MAAO,KA2D1B,CACEM,IAAK,SACLghB,aAAc,SACdC,aAAc,wCACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,qBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,mBACLghB,aAAc,oBACdC,aAAc,oBACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,aACdC,aAAc,iBACdC,KAAM,GACNjD,KAAM,eAER,CACEje,IAAK,QACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,gBACLghB,aAAc,iBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,aACLghB,aAAc,cACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,eACdC,KAAM,GACNjD,KAAM,SACN9C,KA1GW,CACb,CAAEtH,KAAM,WAAYnU,MAAO,GAC3B,CAAEmU,KAAM,SAAUnU,MAAO,GACzB,CAAEmU,KAAM,OAAQnU,OAAQ,KAyGxB,CACEM,IAAK,UACLghB,aAAc,UACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,SACN9C,KA9HY,CACd,CAAEtH,KAAM,mBAAoBnU,MAAO,oBACnC,CAAEmU,KAAM,aAAcnU,MAA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oB,CAC/B0P,QAAS,UACTC,UAAW,aAGAtoB,EAAqB,CAChC/C,SAAU,aAINyC,EAAoB,CAAC,YAAa,WAIzB,WACb9N,OAAQ,GACR6Q,WAAY,GACZuL,WAAY,GACZrK,YAAQlI,EACRwF,gBAAiB,KACjBhE,SAAU,GACVsC,cAAe,YACf7F,QAAS,CACPsE,OAAQ,EACRoH,MAAO,GACPmjB,UAAW,GACX/Z,OAAQ,M,ikBClENga,EAA4B,CAChC,CACE97B,IAAK,OACLghB,aAAc,OACdC,aAAc,MACdC,KAAM,GACNjD,KAAM,iBAER,CACEje,IAAK,aACLghB,aAAc,aACdC,aAAc,OACdC,KAAM,kDACNjD,KAAM,oBAER,CACEje,IAAK,UACLghB,aAAc,SACdC,aAAc,SACdC,KAAM,uDACNjD,KAAM,cAER,CACEje,IAAK,SACLghB,aAAc,SACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,YACLghB,aAAc,YACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,cACLghB,aAAc,cACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,oBACdC,aAAc,QACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,gBACLghB,aAAc,gBACdC,aAAc,OACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,UACLghB,aAAc,MACdC,aAAc,MACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,uBACLghB,aAAc,uBACdC,aAAc,SACdC,KAAM,GACNjD,KAAM,SACN9C,KA3FwB,CAC1B,CAAEtH,KAAM,MAAOnU,MAAO,WACtB,CAAEmU,KAAM,MAAOnU,MAAO,oBACtB,CAAEmU,KAAM,QAASnU,MAAO,aA0FxB,CACEM,IAAK,qBACLghB,aAAc,qBACdC,aAAc,aACdC,KAAM,GACNjD,KAAM,cAER,CACEje,IAAK,oBACLghB,aAAc,oBACdC,aAAc,2CACdC,KAAM,GACNjD,KAAM,eAIJ8d,EAAY,CAChB72B,OAAQ,GACR6Q,WAAY,GACZuL,WAAY,GACZrK,Y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","file":"components/config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 212);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","const zh_CN = {\n language: '语言',\n enable_intranet_API_mode: '开启内网API模式',\n cloud_database: '云数据库',\n cloud_load_balancer: '负载均衡',\n virtual_private_cloud: '私有网络',\n content_delivery_network: '内容分发网络',\n message_queue: '消息队列',\n direct_connect: '专线接入',\n cloud_physical_machine: '黑石物理服务器',\n elastic_mapReduce: '弹性 MapReduce',\n edge_computing_machine: '边缘计算机器',\n // namespace\n RUM: '前端性能监控(RUM)',\n APM: '应用性能监控(APM)',\n CLS: '日志服务(CLS)',\n CVM: '云服务器(CVM)',\n CDB: '云数据库 MySQL(CDB)',\n CMONGO: '云数据库 MongoDB(CMONGO)',\n POSTGRES: '云数据库 PostgreSQL(POSTGRES)',\n REDIS: '云数据库 Redis(REDIS)',\n REDIS_MEM: '云数据库 Redis内存版(5s)(REDIS_MEM)',\n SQLSERVER: '云数据库 SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: '云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: '云数据库 TcaplusDB(TCAPLUS)',\n TDMYSQL: '分布式数据库 TDSQL MySQL(TDMYSQL)',\n PCX: '私有网络-对等连接(PCX)',\n BWP: '私有网络-带宽包(BWP)',\n NAT_GATEWAY: '私有网络-NAT 网关(NAT_GATEWAY)',\n VPNGW: '私有网络-VPN 网关(VPNGW)',\n VPNX: '私有网络-VPN 通道(VPNX)',\n DCG: '私有网络-专线网关(DCG)',\n CEIP_SUMMARY: '私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)',\n VPC_NET_DETECT: '私有网络-网络探测(VPC_NET_DETECT)',\n VBC: '私有网络-云联网(VBC)',\n LB: '私有网络-弹性公网IP(LB)',\n LB_PUBLIC: '公网负载均衡监控指标(LB_PUBLIC)',\n LB_PRIVATE: '内网负载均衡四层协议监控指标(LB_PRIVATE)',\n LOADBALANCE: '内网负载均衡七层协议监控指标(LOADBALANCE)',\n CDN: '国内域名(CDN)',\n CDN_LOG_DATA: '省份域名(CDN_LOG_DATA)',\n OV_CDN: '国外域名(OV_CDN)',\n SCF_V2: '云函数(SCF)',\n CFS: '文件存储(CFS)',\n COS: '对象存储(COS)',\n CKAFKA: '消息队列 CKafka(CKAFKA)',\n CMQ: '消息队列-队列服务监控(CMQ)',\n CMQTOPIC: '消息队列-主题订阅监控(CMQTOPIC)',\n TDMQ: '消息队列 Pulsar 版(TDMQ)',\n TDMQ_ROCKETMQ: '消息队列 RocketMQ 版(ROCKETMQ)',\n TDMQ_RABBITMQ: '消息队列 RabbitMQ 版(RABBITMQ)',\n DCX: '专线接入-专用通道(DCX)',\n DC: '专线接入-物理专线(DC)',\n CPM: '黑石物理服务器(CPM)',\n BM_PCX: '黑石对等连接(BM_PCX)',\n BM_LB: '黑石外网负载均衡(BM_LB)',\n BM_INTRA_LB: '黑石内网负载均衡(BM_INTRA_LB)',\n CES: 'Elasticsearch指标(CES)',\n BLOCK_STORAGE: '云硬盘(BLOCK_STORAGE)',\n APIGATEWAY: 'API 网关(APIGATEWAY)',\n QAAP: '全球应用加速(GAAP)',\n ECM: '边缘计算和网络监控(ECM)',\n ECM_BLOCK_STORAGE: '边缘计算存储监控(ECM_BLOCK_STORAGE)',\n ECM_LB: '边缘计算负载均衡(ECM_LB)',\n GSE: '游戏服务器伸缩(GSE)',\n TKE: '容器服务(TKE)',\n ECDN: '全站加速网络(ECDN)',\n WAF: 'Web 应用防火墙(WAF)',\n // others\n multi_scene: '多场景版',\n lite: '精简版',\n cloud_monitor: '云监控',\n cloud_log_service: '日志服务',\n real_user_monitoring: '前端性能监控',\n apm_monitoring: '应用性能监控',\n region: '地域',\n log_topic: '日志主题',\n syntax_rule: '语法规则',\n max_result_num: '最大结果条数',\n search_statement: '检索语句',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description: '按照具体的查询条件搜索实例,默认拉取前 20 条实例',\n // region\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-shenzhen-fsi': '华南地区(深圳金融)',\n 'ap-guangzhou-open': '华南地区(广州OPEN)',\n 'ap-shenzhen': '华南地区(深圳)',\n 'ap-qingyuan': '华南地区(清远)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-shanghai-fsi': '华东地区(上海金融)',\n 'ap-jinan-ec': '华东地区(济南)',\n 'ap-hangzhou-ec': '华东地区(杭州)',\n 'ap-nanjing': '华东地区(南京)',\n 'ap-fuzhou-ec': '华东地区(福州)',\n 'ap-hefei-ec': '华东地区(合肥)',\n 'ap-beijing': '华北地区(北京)',\n 'ap-tianjin': '华北地区(天津)',\n 'ap-beijing-fsi': '华北地区(北京金融)',\n 'ap-shijiazhuang-ec': '华北地区(石家庄)',\n 'ap-wuhan-ec': '华中地区(武汉)',\n 'ap-changsha-ec': '华中地区(长沙)',\n 'ap-zhengzhou-ec': '华中地区(郑州)',\n 'ap-chengdu': '西南地区(成都)',\n 'ap-chongqing': '西南地区(重庆)',\n 'ap-xian-ec': '西北地区(西安)',\n 'ap-shenyang-ec': '东北地区(沈阳)',\n 'ap-taipei': '港澳台地区(中国台北)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-tokyo': '亚太东北(东京)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-bangkok': '亚太东南(曼谷)',\n 'ap-jakarta': '亚太东南(雅加达)',\n 'na-siliconvalley': '美国西部(硅谷)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'eu-moscow': '欧洲地区(莫斯科)',\n 'ap-mumbai': '亚太南部(孟买)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'sa-saopaulo': '南美地区(圣保罗)',\n 'na-toronto': '北美地区(多伦多)',\n};\nexport default zh_CN;\n","const en_US = {\n language: 'Language',\n enable_intranet_API_mode: 'Enable Intranet API Mode',\n cloud_database: 'Cloud Database',\n cloud_load_balancer: 'Cloud Load Balancer',\n virtual_private_cloud: 'Virtual Private Cloud',\n content_delivery_network: 'Content Delivery Network',\n message_queue: 'Message Queue',\n direct_connect: 'Direct Connect',\n cloud_physical_machine: 'Cloud Physical Machine',\n elastic_mapReduce: 'Elastic MapReduce',\n edge_computing_machine: 'Edge Computing Machine',\n // namespace\n RUM: 'Real User Monitoring(RUM)',\n CLS: 'Cloud Log Service(CLS)',\n CVM: 'Cloud Virtual Machine(CVM)',\n CDB: 'TencentDB for MySQL(CDB)',\n CMONGO: 'TencentDB for MongoDB(CMONGO)',\n POSTGRES: 'TencentDB for PostgreSQL(POSTGRES)',\n REDIS: 'TencentDB for Redis(REDIS)',\n REDIS_MEM: 'TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)',\n SQLSERVER: 'TencentDB for SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: 'TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: 'TencentDB for TcaplusDB(TCAPLUS)',\n TDMYSQL: 'TDSQL for MySQL(TDMYSQL)',\n PCX: 'Peering Connection(PCX)',\n BWP: 'Bandwidth Packet(BWP)',\n NAT_GATEWAY: 'NAT Gateway(NAT_GATEWAY)',\n VPNGW: 'VPN Gateway(VPNGW)',\n VPNX: 'VPN Tunnel(VPNX)',\n DCG: 'Direct Connect Gateway(DCG)',\n CEIP_SUMMARY: 'Anycast EIP(CEIP_SUMMARY)',\n VPC_NET_DETECT: 'Network Detection(VPC_NET_DETECT)',\n VBC: 'Cloud Connect Network(VBC)',\n LB: 'Elastic IP(LB)',\n LB_PUBLIC: 'Public Network CLB(LB_PUBLIC)',\n LB_PRIVATE: 'Private Network CLB Layer-4 Protocol(LB_PRIVATE)',\n LOADBALANCE: 'Private Network CLB Layer-7 Protocol(LOADBALANCE)',\n CDN: 'Chinese Mainland Domain(CDN)',\n CDN_LOG_DATA: 'Province(CDN_LOG_DATA)',\n OV_CDN: 'Overseas Domain(OV_CDN)',\n SCF_V2: 'Serverless Cloud Function(SCF)',\n CFS: 'Cloud File Storage(CFS)',\n COS: 'Cloud Object Storage(COS)',\n CKAFKA: 'Message Queue CKafka(CKAFKA)',\n CMQ: 'Message Queue for Queue Service(CMQ)',\n CMQTOPIC: 'Message Queue for Topic Subscription(CMQTOPIC)',\n TDMQ: 'Tencent Distributed Message Queue for Pulsar(TDMQ)',\n TDMQ_ROCKETMQ: 'Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)',\n TDMQ_RABBITMQ: 'Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)',\n DCX: 'Direct Connect for Dedicated Tunnel(DCX)',\n DC: 'Direct Connect for Connection(DC)',\n CPM: 'Cloud Physical Machine(CPM)',\n BM_PCX: 'Cloud Physical Machine for Peering Connection(BM_PCX)',\n BM_LB: 'Cloud Physical Machine for Public Network CLB(BM_LB)',\n BM_INTRA_LB: 'Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)',\n CES: 'Elasticsearch Service(CES)',\n BLOCK_STORAGE: 'Cloud Block Storage(BLOCK_STORAGE)',\n APIGATEWAY: 'API Gateway(APIGATEWAY)',\n QAAP: 'Global Application Acceleration Platform(GAAP)',\n ECM: 'Edge Computing Machine for Computation and Networking(ECM)',\n ECM_BLOCK_STORAGE: 'Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)',\n ECM_LB: 'Edge Computing Machine for Layer-4 CLB(ECM_LB)',\n GSE: 'Game Server Elastic-scaling(GSE)',\n TKE: 'Tencent Kubernetes Engine(TKE)',\n ECDN: 'Enterprise Content Delivery Network(ECDN)',\n WAF: 'Web Application Firewall(WAF)',\n // others\n multi_scene: 'Multi-Scene',\n lite: 'Lite',\n cloud_monitor: 'Cloud Monitor',\n cloud_log_service: 'Cloud Log Service',\n real_user_monitoring: 'Real User Monitoring',\n apm_monitoring: 'Application Monitoring',\n region: 'Region',\n log_topic: 'Log Topic',\n syntax_rule: 'Syntax Rule',\n max_result_num: 'Maximum result number',\n search_statement: 'Search Statement',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description:\n 'Search for instances according to specific query conditions, and pull the first 20 instances by default',\n // region\n 'ap-guangzhou': 'South China(Guangzhou)',\n 'ap-shenzhen-fsi': 'South China(Shenzhen Finance)',\n 'ap-guangzhou-open': 'South China(Guangzhou OPEN)',\n 'ap-shenzhen': 'South China(Shenzhen)',\n 'ap-qingyuan': 'South China(Qingyuan)',\n 'ap-shanghai': 'East China(Shanghai)',\n 'ap-shanghai-fsi': 'East China(Shanghai Finance)',\n 'ap-jinan-ec': 'East China(Jinan)',\n 'ap-hangzhou-ec': 'East China(Hangzhou)',\n 'ap-nanjing': 'East China(Nanjing)',\n 'ap-fuzhou-ec': 'East China(Fuzhou)',\n 'ap-hefei-ec': 'East China(Hefei)',\n 'ap-beijing': 'North China region(Beijing)',\n 'ap-tianjin': 'North China region(Tianjin)',\n 'ap-beijing-fsi': 'North China region(Beijing Finance)',\n 'ap-shijiazhuang-ec': 'North China region(Shijiazhuang)',\n 'ap-wuhan-ec': 'Central China(Wuhan)',\n 'ap-changsha-ec': 'Central China(Changsha)',\n 'ap-zhengzhou-ec': 'Central China(Zhengzhou)',\n 'ap-chengdu': 'Southwest China(Chengdu)',\n 'ap-chongqing': 'Southwest China(Chongqing)',\n 'ap-xian-ec': \"Northwest region(Xi'an)\",\n 'ap-shenyang-ec': 'Northeast China(Shenyang)',\n 'ap-taipei': 'Hong Kong, Macau and Taiwan (China)(Taipei, China)',\n 'ap-hongkong': 'Hong Kong, Macau and Taiwan (China)(Hong Kong, China)',\n 'ap-seoul': 'Northeast Asia(Seoul)',\n 'ap-tokyo': 'Northeast Asia(Tokyo)',\n 'ap-singapore': 'Southeast Asia(Singapore)',\n 'ap-bangkok': 'Southeast Asia(Bangkok)',\n 'ap-jakarta': 'Southeast Asia(Jakarta)',\n 'na-siliconvalley': 'US West(Silicon Valley)',\n 'eu-frankfurt': 'Europe(Frankfurt)',\n 'eu-moscow': 'Europe(Northeastern Europe)',\n 'ap-mumbai': 'South Asia(Mumbai)',\n 'na-ashburn': 'US East(Virginia)',\n 'sa-saopaulo': 'South America(São Paulo)',\n 'na-toronto': 'North America(Toronto)',\n};\nexport default en_US;\n","import zh_CN from './zh_CN';\nimport en_US from './en_US';\n\nlet locale_language = 'zh-CN';\n\nexport enum Language {\n Chinese = 'zh-CN',\n English = 'en-US',\n}\n\nexport const t = (key: string) => {\n if (locale_language === Language.Chinese) {\n return zh_CN[key];\n }\n return en_US[key];\n};\n\nexport const setLanguage = (language: Language) => {\n locale_language = language;\n};\n\nexport const getLanguage = () => locale_language;\n","import moment from 'moment';\n\nconst HttpRequestMethod = 'POST';\nconst CanonicalUri = '/';\nconst CanonicalQueryString = '';\nconst ContentType = 'application/json';\n\nexport default class Sign {\n /**\n * Tencent Cloud API Signature v3 reference: https://cloud.tencent.com/document/api/213/30654\n * secretId: SecretId for identifying identity that is applied for on Cloud API Key.\n * A SecretId corresponds to a unique SecretKey, which is used to generate the request Signature.\n * secretKey: SecretKey is used to encrypt the signature string and verify the signature string on the server\n * service: the name of service, which must be consistent with the request domain, such as cvm\n * action: The name of the API for the desired operation\n * host: the domain of service,which must be consistent with the request domain, such as cvm.tencentcloudapi.com\n * version: PI version, such as 2017-03-12\n * payload: The request parameters\n */\n\n secretId: string;\n\n service: string;\n action: string;\n host: string;\n version: string;\n payload: Record | string;\n region: string;\n timestamp: number;\n date: string;\n backendSrv: any;\n datasourceId: Number;\n constructor(options) {\n const { secretId, service, action, host, version, payload = '', region, backendSrv, datasourceId } = options;\n this.secretId = secretId;\n // this.secretKey = secretKey;\n this.service = service;\n this.action = action;\n this.host = host;\n this.version = version;\n this.payload = typeof payload === 'string' ? payload : JSON.stringify(payload);\n this.region = region;\n const nowDate = moment().utc();\n this.timestamp = nowDate.unix();\n this.date = nowDate.format('YYYY-MM-DD');\n this.backendSrv = backendSrv;\n this.datasourceId = datasourceId;\n }\n\n async getHeader() {\n return this.getResourceHeader();\n }\n\n async getResourceHeader() {\n let res: { authorization?: string; token?: string; intranet?: boolean } = {};\n try {\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v3`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.host,\n Service: this.service,\n Version: this.version,\n Action: this.action,\n Region: this.region,\n Timestamp: this.timestamp,\n Method: HttpRequestMethod,\n Uri: CanonicalUri,\n Query: CanonicalQueryString,\n Body: this.payload,\n Headers: {\n 'content-type': ContentType,\n host: this.host,\n },\n },\n });\n res = resp.data;\n } catch (err) {}\n const { authorization, token, intranet } = res;\n const grafanaVersion = (window as any).grafanaBootData?.settings?.buildInfo?.version || '0.0.0';\n const headers = {\n Authorization: authorization,\n 'Content-Type': ContentType,\n 'X-TC-Action': this.action,\n 'X-TC-Timestamp': this.timestamp.toString(),\n 'X-TC-Version': this.version,\n 'X-TC-RequestClient': `GF_${grafanaVersion}_PL_CM_${process.env.TENCENT_CLOUD_MONITOR_GRAFANA_PLUGIN_VERSION}`,\n ...(this.region && {\n 'X-TC-Region': this.region,\n }),\n ...(token && {\n 'X-TC-Token': token,\n }),\n intranet: intranet,\n };\n return headers;\n }\n}\n","/**\n *\n * @param defaults 为对象\n * secretId\n * secretKey\n * action\n * region\n * host\n */\n\nexport default class SignV2 {\n defaults: any = {\n path: '/v2/index.php',\n method: 'POST',\n };\n backendSrv: any;\n datasourceId: Number;\n constructor(defaults: any = {}) {\n this.defaults = Object.assign(this.defaults, defaults);\n this.defaults.secretKey = '';\n this.backendSrv = defaults.backendSrv;\n this.datasourceId = defaults.datasourceId;\n }\n\n generateQueryString = async () => {\n return this.getResourceQueryString();\n };\n\n async getResourceQueryString() {\n let res: { path?: string; querystring?: any; host?: string; intranet?: boolean } = {};\n try {\n const { data } = this.defaults;\n const payload = typeof data === 'string' ? data : JSON.stringify(data);\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v2`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.defaults.host,\n Action: this.defaults.action,\n Version: this.defaults.version,\n Region: this.defaults.region,\n Method: this.defaults.method,\n Uri: this.defaults.path,\n Query: '',\n Body: payload,\n },\n });\n res = resp.data;\n } catch (err) {}\n const { path, querystring, host, intranet } = res;\n return { queryString: querystring, path: path, host: host, intranet: intranet };\n }\n}\n","import _ from 'lodash';\nimport qs from 'qs';\nimport { SERVICES } from '../tc_monitor';\nimport Sign from './sign';\nimport SignV2 from './signV2';\nimport { toDataQueryResponse } from '@grafana/runtime';\nimport { getLanguage } from '../../locale';\n\nimport packageInfo from '../plugin.json';\nexport const TcDataSourceId = packageInfo.id;\n\n// the services of tencentcloud monitor api\nconst FINACE_REGIONS = ['ap-shanghai-fsi', 'ap-shenzhen-fsi'];\nconst SERVICES_API_INFO = {\n api: {\n service: 'api',\n version: '2020-11-06',\n path: '/api',\n host: 'api.tencentcloudapi.com',\n },\n // monitor api info\n monitor: {\n service: 'monitor',\n version: '2018-07-24',\n path: '/monitor',\n host: 'monitor.tencentcloudapi.com',\n },\n // cls api info\n cls: {\n service: 'cls',\n version: '2020-10-16',\n path: '/cls',\n host: 'cls.tencentcloudapi.com',\n },\n // cvm api info\n cvm: {\n service: 'cvm',\n version: '2017-03-12',\n path: '/cvm',\n host: 'cvm.tencentcloudapi.com',\n },\n // cdb api info\n cdb: {\n service: 'cdb',\n version: '2017-03-20',\n path: '/cdb',\n host: 'cdb.tencentcloudapi.com',\n },\n // pcx api info\n pcx: {\n service: 'pcx',\n version: '',\n path: '/pcx',\n host: 'vpc.api.qcloud.com',\n },\n // vpc api info\n vpc: {\n service: 'vpc',\n version: '2017-03-12',\n path: '/vpc',\n host: 'vpc.tencentcloudapi.com',\n },\n // mongodb api info\n mongodb: {\n service: 'mongodb',\n version: '2019-07-25',\n path: '/mongodb',\n host: 'mongodb.tencentcloudapi.com',\n },\n // 负载均衡 clb\n clb: {\n service: 'clb',\n version: '2018-03-17',\n path: '/clb',\n host: 'clb.tencentcloudapi.com',\n },\n // postgresql api info\n postgres: {\n service: 'postgres',\n version: '2017-03-12',\n path: '/postgres',\n host: 'postgres.tencentcloudapi.com',\n },\n // cdn info\n cdn: {\n service: 'cdn',\n version: '2018-06-06',\n path: '/cdn',\n host: 'cdn.tencentcloudapi.com',\n },\n // redis info\n redis: {\n service: 'redis',\n version: '2018-04-12',\n path: '/redis',\n host: 'redis.tencentcloudapi.com',\n },\n scf: {\n service: 'scf',\n version: '2018-04-16',\n path: '/scf',\n host: 'scf.tencentcloudapi.com',\n },\n cfs: {\n service: 'cfs',\n version: '2019-07-19',\n path: '/cfs',\n host: 'cfs.tencentcloudapi.com',\n },\n ckafka: {\n service: 'ckafka',\n version: '2019-08-19',\n path: '/ckafka',\n host: 'ckafka.tencentcloudapi.com',\n },\n // 专线接入实例列表\n dc: {\n service: 'dc',\n version: '2018-04-10',\n path: '/dc',\n host: 'dc.tencentcloudapi.com',\n },\n // cynosdb实例列表\n cynosdb: {\n service: 'cynosdb',\n version: '2019-01-07',\n path: '/cynosdb',\n host: 'cynosdb.tencentcloudapi.com',\n },\n // sqlserver实例列表\n sqlserver: {\n service: 'sqlserver',\n version: '2018-03-28',\n path: '/sqlserver',\n host: 'sqlserver.tencentcloudapi.com',\n },\n // bm实例列表\n bm: {\n service: 'bm',\n version: '2018-04-23',\n path: '/bm',\n host: 'bm.tencentcloudapi.com',\n },\n bmeip: {\n service: 'bmeip',\n version: '2018-06-25',\n path: '/bmeip',\n host: 'bmeip.tencentcloudapi.com',\n },\n bmvpc: {\n service: 'bmvpc',\n version: '2018-06-25',\n path: '/bmvpc',\n host: 'bmvpc.tencentcloudapi.com',\n },\n bmlb: {\n service: 'bmlb',\n version: '2018-06-25',\n path: '/bmlb',\n host: 'bmlb.tencentcloudapi.com',\n },\n // ES集群实例\n es: {\n service: 'es',\n version: '2018-04-16',\n path: '/es',\n host: 'es.tencentcloudapi.com',\n },\n // MapReduce\n emr: {\n service: 'emr',\n version: '2019-01-03',\n path: '/emr',\n host: 'emr.tencentcloudapi.com',\n },\n // CMQ消息队列\n cmq: {\n service: 'cmq',\n version: '2019-03-04',\n path: '/cmq',\n host: 'cmq.tencentcloudapi.com',\n },\n cbs: {\n service: 'cbs',\n version: '2017-03-12',\n path: '/cbs',\n host: 'cbs.tencentcloudapi.com',\n },\n // tcaplus实例\n tcaplusdb: {\n service: 'tcaplusdb',\n version: '2019-08-23',\n path: '/tcaplusdb',\n host: 'tcaplusdb.tencentcloudapi.com',\n },\n // tcaplus实例\n dcdb: {\n service: 'dcdb',\n version: '2018-04-11',\n path: '/dcdb',\n host: 'dcdb.tencentcloudapi.com',\n },\n // apigateway实例\n apigateway: {\n service: 'apigateway',\n version: '2018-08-08',\n path: '/apigateway',\n host: 'apigateway.tencentcloudapi.com',\n },\n tdmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rabbitmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rocketmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n gaap: {\n service: 'gaap',\n version: '2018-05-29',\n path: '/gaap',\n host: 'gaap.tencentcloudapi.com',\n },\n ecm: {\n service: 'ecm',\n version: '2019-07-19',\n path: '/ecm',\n host: 'ecm.tencentcloudapi.com',\n },\n gse: {\n service: 'gse',\n version: '2019-11-12',\n path: '/gse',\n host: 'gse.tencentcloudapi.com',\n },\n lighthouse: {\n service: 'lighthouse',\n version: '2020-03-24',\n path: '/lighthouse',\n host: 'lighthouse.tencentcloudapi.com',\n },\n tsf: {\n service: 'tsf',\n version: '2018-03-26',\n path: '/tsf',\n host: 'tsf.tencentcloudapi.com',\n },\n rum: {\n service: 'rum',\n version: '2021-06-22',\n path: '/rum',\n host: 'rum.tencentcloudapi.com',\n },\n tke: {\n service: 'tke',\n version: '2018-05-25',\n path: '/tke',\n host: 'tke.tencentcloudapi.com',\n },\n ecdn: {\n service: 'ecdn',\n version: '2019-10-12',\n path: '/ecdn',\n host: 'ecdn.tencentcloudapi.com',\n },\n waf: {\n service: 'waf',\n version: '2018-01-25',\n path: '/waf',\n host: 'waf.tencentcloudapi.com',\n },\n region: {\n service: 'region',\n version: '2022-06-27',\n path: '/region',\n host: 'region.tencentcloudapi.com',\n },\n apm: {\n service: 'apm',\n version: '2021-06-22',\n path: '/apm',\n host: 'apm.tencentcloudapi.com',\n },\n // 不单独定义lb,因为lb同样用的是vpc的配置,同上\n // lb: {\n // service: 'lb',\n // version: '2017-03-12',\n // path: '/lb',\n // host: 'vpc.tencentcloudapi.com'\n // }\n // 负载均衡四层协议 lbPrivate\n // lbPrivate: {\n // service: 'lbPrivate',\n // version: '2018-03-17',\n // path: '/clb',\n // host: 'clb.tencentcloudapi.com',\n // },\n};\n\nconst FINACE_HOST = {\n scf: {\n 'ap-shanghai-fsi': {\n path: '/fsi/scf/shanghai',\n host: 'scf.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/scf/shenzhen',\n host: 'scf.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cfs: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cfs/shanghai',\n host: 'cfs.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cfs/shenzhen',\n host: 'cfs.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n ckafka: {\n 'ap-shanghai-fsi': {\n path: '/fsi/ckafka/shanghai',\n host: 'ckafka.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/ckafka/shenzhen',\n host: 'ckafka.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n clb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/clb/shanghai',\n host: 'clb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/clb/shenzhen',\n host: 'clb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n mongodb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/mongodb/shanghai',\n host: 'mongodb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/mongodb/shenzhen',\n host: 'mongodb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n vpc: {\n 'ap-shanghai-fsi': {\n path: '/fsi/vpc/shanghai',\n host: 'vpc.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/vpc/shenzhen',\n host: 'vpc.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cvm: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cvm/shanghai',\n host: 'cvm.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cvm/shenzhen',\n host: 'cvm.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cdb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cdb/shanghai',\n host: 'cdb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cdb/shenzhen',\n host: 'cdb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n monitor: {\n 'ap-shanghai-fsi': {\n path: '/fsi/monitor/shanghai',\n host: 'monitor.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/monitor/shenzhen',\n host: 'monitor.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n postgres: {\n 'ap-shanghai-fsi': {\n path: '/fsi/postgres/shanghai',\n host: 'postgres.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/postgres/shenzhen',\n host: 'postgres.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n emr: {\n 'ap-shanghai-fsi': {\n path: '/fsi/emr/shanghai',\n host: 'emr.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/emr/shenzhen',\n host: 'emr.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cmq: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cmq/shanghai',\n host: 'cmq.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cmq/shenzhen',\n host: 'cmq.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cls: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cls/shanghai',\n host: 'cls.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cls/shenzhen',\n host: 'cls.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n};\n\n// 获取对应业务的 API 接口信息\nexport function GetServiceAPIInfo(region, service) {\n return { ...(SERVICES_API_INFO[service] || {}), ...getHostAndPath(region, service) };\n}\n\n// get host and path for finance regions\nfunction getHostAndPath(region, service) {\n if (_.indexOf(FINACE_REGIONS, region) === -1) {\n return {};\n }\n return (\n _.find(\n _.find(FINACE_HOST, (__, key) => key === service),\n (__, key) => key === region\n ) || {}\n );\n}\n\n// 变量替换指定实例按照那个字段展示\nexport const VARIABLE_ALIAS = 'instancealias';\n\nexport function GetServiceFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace),\n 'service'\n );\n}\n// 处理存量target中保存的qce/cvm\nexport function GetLabelFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace || service.label === namespace),\n 'label'\n );\n}\n// parse template variable query params\nexport function ParseMetricQuery(query = '') {\n if (!query) {\n return {};\n }\n const result = {};\n const queries = _.split(query, '&');\n _.forEach(queries, (item) => {\n const str = _.split(item, '=');\n if (_.trim(_.get(str, '0', ''))) {\n let val = _.trim(_.get(str, '1', ''));\n try {\n val = JSON.parse(val);\n } catch (e) {\n // console.log({ val });\n }\n result[_.toLower(_.trim(_.get(str, '0', '')))] = val;\n }\n });\n return result;\n}\n\n// parse template variable regex params\nexport function ParseMetricRegex(regex = '') {\n if (!regex) {\n return [];\n }\n regex = regex.replace(/:/g, ':');\n regex = regex.replace(/,/g, ',');\n const regexParams = ParseMetricQuery(regex);\n const result: any[] = [];\n _.forEach(regexParams, (value, key) => {\n if (key === 'tag:tag-key') {\n const valuesArr = _.split(value, ',');\n _.forEach(valuesArr, (item) => {\n const temp = _.split(item, ':');\n if (temp.length === 2) {\n result.push({ Name: `tag:${temp[0]}`, Values: temp.slice(1) });\n }\n });\n } else {\n result.push({ Name: key, Values: _.split(value, ',') });\n }\n });\n return result;\n}\n\n// get the actual value of template variable\nfunction parseVariableFormat(varname: string) {\n varname = String(varname || '');\n // $varname\n let varFlag = false;\n const regResult1 = varname.match(/^\\${?(\\w+)}?/);\n if (regResult1) {\n varFlag = true;\n varname = `\\$\\{${regResult1[1]}\\:json\\}`;\n }\n // [[varname]]\n const regResult2 = varname.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/);\n if (regResult2) {\n varFlag = true;\n varname = `\\$\\{${regResult2[1]}\\:json\\}`;\n }\n return { varname, varFlag };\n}\n\nexport function ReplaceVariable(templateSrv, scopedVars, field, multiple = false) {\n const { varname, varFlag } = parseVariableFormat(field);\n let replaceVar = templateSrv.replace(varname, scopedVars);\n if (varFlag) {\n try {\n replaceVar = JSON.parse(replaceVar);\n } catch (error) {}\n }\n if (!multiple && _.isArray(replaceVar)) {\n replaceVar = _.get(replaceVar, '0', '');\n }\n return replaceVar;\n}\n\n// get dimensions for instance query param\nexport function GetDimensions(obj) {\n if (_.isEmpty(obj)) {\n return [];\n }\n const dimensions: any[] = [];\n _.forEach(obj, (item) => {\n if (item.Value !== null && item.Value !== undefined && item.Value !== '') {\n dimensions.push({ Name: item.Name, Value: typeof item.Value === 'string' ? item.Value : `${item.Value}` });\n }\n });\n return dimensions;\n}\n\n// parse query data result for panel\nexport function ParseQueryResult(response, instances: any[] = [], timeshift = 0) {\n const instanceList = _.cloneDeep(instances);\n\n const dataPoints = _.get(response, 'DataPoints', []);\n return _.map(dataPoints, (dataPoint) => {\n let instanceAliasValue = _.get(dataPoint, 'Dimensions[0].Value');\n for (let i = 0; i < instanceList.length; i++) {\n if (isInstanceMatch(instanceList[i], _.get(dataPoint, 'Dimensions', []))) {\n instanceAliasValue = instanceList[i]._InstanceAliasValue;\n instanceList.splice(i, 1);\n break;\n }\n }\n return {\n target: `${response.MetricName} - ${instanceAliasValue}`,\n datapoints: parseDataPoint(dataPoint, timeshift),\n };\n });\n}\n\n// parse tencent cloud monitor response data to grafana panel data\nfunction parseDataPoint(dataPoint, timeshift = 0) {\n const timestamps = _.get(dataPoint, 'Timestamps', []);\n const values = _.get(dataPoint, 'Values', []);\n const result = timestamps.map((timestamp, index) => {\n return [values[index], timestamp * 1000 + timeshift];\n });\n\n return result;\n}\n\n// check whether instance is match or not\nfunction isInstanceMatch(instance, dimensions) {\n let match = true;\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < dimensions.length; i++) {\n if (_.get(instance, dimensions[i].Name, '').toString() !== dimensions[i].Value.toString()) {\n match = false;\n break;\n }\n }\n return match;\n}\n\n/**\n * 检查某个变量是否模板变量,即是否匹配 ${varnam} 或 [[varname]]\n *\n * @param field 变量字段名\n */\nexport function isVariable(value) {\n if (value && (value.match(/^\\${?(\\w+)}?/) || value.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/))) {\n return true;\n }\n return false;\n}\n\n/**\n * 腾讯云 API 3.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParams(options, service, signObj: any = {}, secretId, datasourceId, backendSrv) {\n const signParams = {\n region: 'ap-guangzhou', // apm参数覆盖,这里先做兼容处理,后期重写apm时公共函数不写死值\n secretId,\n payload: options.data || '',\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['service', 'host', 'version']) || {}),\n backendSrv,\n datasourceId,\n };\n const sign = new Sign(signParams);\n const { intranet, ...headerSigned } = await sign.getHeader();\n // 传入x-tc-language实现国际化\n // zh-CN en-US ko-KR ja-JP\n options.headers = Object.assign(options.headers || {}, { ...headerSigned }, { 'x-tc-language': getLanguage() });\n options.method = 'POST';\n if (intranet) {\n options.url += '-internal';\n }\n return options;\n}\n\n/**\n * 腾讯云 API 2.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParamsV2(\n options: any = {},\n service,\n signObj: any = {},\n secretId,\n datasourceId,\n backendSrv\n) {\n const data = options.data || {};\n const signParams = {\n secretId,\n data,\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['host', 'version']) || {}),\n backendSrv,\n datasourceId,\n };\n options.method = 'POST';\n const sign = new SignV2(signParams);\n options.headers = Object.assign(options.headers || {}, { 'Content-Type': 'application/x-www-form-urlencoded' });\n const { queryString, path, host, intranet } = await sign.generateQueryString();\n options.data = qs.stringify({\n ...options.data,\n ...queryString,\n ...(host && { host: host }),\n });\n if (intranet) {\n // TODO: qcloud.com intranet host\n console.log('got intranet for sign v2');\n }\n options.url += path;\n return options;\n}\n\nexport function SliceLength(total = 0, len = 1) {\n const result: any[] = [];\n const num = Math.ceil(total / len);\n for (let i = 1; i < num; i++) {\n result.push({ Offset: len * i });\n }\n return result;\n}\n\nexport const FilterKeys = ['Namespace', 'Offset', 'Limit', 'SearchKey', 'Description', 'OrderBy', 'Order'];\n\nexport function parseDataFromBackendPlugin(res) {\n const { data } = toDataQueryResponse(res);\n return {\n authorization: _.get(data, '[0].meta.custom', ''),\n };\n}\n\n/** 当前环境是否为非生产环境 */\nexport const IS_DEVELOPMENT_ENVIRONMENT = !(process.env.NODE_ENV === 'production');\n\n/**\n * @link https://github.com/grafana/grafana/blob/3c6e0e8ef85048af952367751e478c08342e17b4/packages/grafana-data/src/types/app.ts#L12\n */\nexport enum CoreApp {\n CloudAlerting = 'cloud-alerting',\n UnifiedAlerting = 'unified-alerting',\n Dashboard = 'dashboard',\n Explore = 'explore',\n Unknown = 'unknown',\n PanelEditor = 'panel-editor',\n PanelViewer = 'panel-viewer',\n}\n","import _ from 'lodash';\nimport moment from 'moment';\nimport DatasourceInterface from '../MonitorDatasource';\nimport {\n GetRequestParams,\n GetServiceAPIInfo,\n ReplaceVariable,\n GetDimensions,\n ParseQueryResult,\n SliceLength,\n} from '../../common/constants';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { MetricQuery } from './types';\nimport { getNamesapceFromService, getTimeShiftInMs } from '../../common/utils';\nimport { Language, setLanguage } from '../../../locale';\n\nexport interface TemplateQueryIdType {\n instance: string;\n listener?: string;\n}\n\ninterface queryConfigType {\n dim_KeyInStorage: string;\n dim_KeyInTarget?: string;\n dim_KeyInIns?: string;\n dim_KeyInMap: string;\n}\n\nexport abstract class BaseDatasource implements DatasourceInterface {\n Namespace?: string;\n service: string;\n instanceListCache: any[] = [];\n extraMetricDims: string[] = [];\n url: string;\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n secretId: string;\n checkKeys: string[] = [];\n MetricReqConfig: {\n resultFilter?: Function;\n } = {};\n extrasAlias?: string[] = [];\n /*\n 一个配置:(用于处理除了InstanceId之外的)(Record中的key是指标修正之后的维度,即通过InvalidDemsion处理后)\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。为空则取即通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。即:templateQueryIdMap中内容。联合上面2的内容筛选出原始sourceMap\n 4 通过这个dim和sourceMap获取维度值。即sourceMap[dim]\n */\n queryMonitorExtraConfg: Record = {};\n CandiateDimensions?: Record = {};\n\n InstanceReqConfig?: {\n service?: string;\n action: string;\n responseField: string;\n interceptor?: {\n request?: (params: unknown) => unknown;\n response?: (data: unknown) => unknown;\n };\n };\n InvalidDimensions?: Record;\n\n abstract InstanceAliasList: string[];\n abstract templateQueryIdMap: TemplateQueryIdType; // 必须为标识\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n this.url = instanceSettings.url;\n this.secretId = (instanceSettings.jsonData || {}).secretId || '';\n setLanguage(instanceSettings.jsonData.language || Language.Chinese);\n }\n\n get namespace() {\n // 需要注意的是this.service来自于原型上,在实例中导入时注入\n return this.Namespace || getNamesapceFromService(this.service);\n }\n\n // 获取额外要显示到图例里的内容\n getOtherAlias(instance: any, target: any): string {\n let result = '';\n const alias = instance._InstanceAliasValue;\n this.extrasAlias?.forEach((extra) => {\n const extraAlia = this.getVariable(target[extra]);\n if (extraAlia && alias.indexOf(extraAlia) === -1) {\n result += ` - ${extraAlia}`;\n }\n });\n return result;\n }\n\n /* 格式化模板变量上的显示 */\n getAliasValue(instance: Record, alias: string) {\n const result = instance[alias];\n return Array.isArray(result) ? result.join() : result;\n }\n\n formatVarDisplay(instance: Record, displayTpl: string | undefined, instanceAlias: string) {\n // 获取display=aaa${InstanceName}bbb${InstanceId}ccc\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.InstanceAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(instance, b);\n });\n }\n return this.getAliasValue(instance, instanceAlias);\n }\n /**\n * @param query 模板变量配置填写的 Query 参数对象,由顶层将字符串转换为了对象\n */\n async metricFindQuery(query: MetricQuery, regex?: string) {\n const { action, namespace, display, payload = {} } = query;\n let { region, instancealias = this.templateQueryIdMap.instance } = query;\n if (!action || !namespace) {\n return [];\n }\n // 支持payload里传入模板变量\n if (_.isObject(payload)) {\n _.forEach(payload, (value, key) => {\n payload[key] = _.isString(value) ? this.getVariable(value) : value;\n });\n }\n\n // 查询地域列表\n const regionQuery = action.match(/^DescribeRegions$/i);\n if (regionQuery) {\n return this.getRegions();\n }\n\n region = this.getVariable(region); // 将模板region转换为真实值\n\n // 查询实例列表\n if (region && action.match(/^DescribeInstances/i)) {\n const result = await this.getVariableInstances(region, payload);\n instancealias = this.InstanceAliasList.includes(instancealias) ? instancealias : this.templateQueryIdMap.instance;\n\n const res = result.flatMap((item) => {\n const insAlias = this.formatVarDisplay(item, display, instancealias);\n\n item._InstanceAliasValue = insAlias; // FIXME:\n\n if (!item[instancealias]) return [];\n return [\n {\n text: insAlias,\n value: item[this.templateQueryIdMap.instance],\n },\n ];\n });\n\n // 缓存全量实例列表\n await instanceStorage.setInstance(this.service, result);\n return res;\n }\n\n // 在instance实例的基础上查询其他数据\n let instance = this.getVariable(query['instance']);\n if (_.isArray(instance)) instance = instance[0]; // 有额外维度,仅支持实例单选情况\n if (region && action && instance) {\n try {\n // instance = JSON.parse(instance);\n const instanceCache = await instanceStorage.getInstance(this.service);\n\n instance = _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === instance)) ?? {};\n // eslint-disable-next-line no-empty\n } catch (error) {}\n return this.fetchMetricData(action, region, instance, query);\n }\n\n return Promise.resolve([]);\n }\n // 获取指标数据\n async fetchMetricData(action: string, region: string, instance: any, query?: any) {\n return [];\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数\n * @return 返回数据数组,示例如下\n * [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n */\n async dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options) {\n for (let key of dimKeys) {\n let keyTmp = key;\n const invalidDim = this.InvalidDimensions || this.getInvalidDimensions(this, target[service]);\n if (invalidDim[key]) {\n // 从【维度中】的字段到【实例中】字段的映射。 { functionName: FunctionName }\n keyTmp = invalidDim[key];\n ins[key] = ins[keyTmp];\n }\n\n let extraDimValue = this.getVariable(target[service][keyTmp]);\n if (this.queryMonitorExtraConfg[keyTmp]) {\n const {\n dim_KeyInStorage,\n dim_KeyInTarget = keyTmp,\n dim_KeyInMap,\n dim_KeyInIns,\n } = this.queryMonitorExtraConfg[keyTmp];\n let extraIns = ReplaceVariable(this.templateSrv, options.scopedVars, target[service][dim_KeyInTarget], true);\n let extraSourceMap: any = {};\n try {\n extraSourceMap = JSON.parse(extraIns); // 兼容json字符串的 形式\n } catch (error) {\n if (_.isArray(extraIns)) extraIns = extraIns[0]; // 如果多个,取第一个。除了实例ID 暂不支持其他纬度多选\n const extraStorage = await instanceStorage.getExtraStorage(this.service, dim_KeyInStorage);\n\n extraSourceMap =\n extraStorage?.find((item) => {\n if (_.isArray(item[dim_KeyInMap])) {\n return item[dim_KeyInMap][0] === extraIns;\n }\n return item[dim_KeyInMap] === extraIns;\n }) ?? {};\n }\n const isStringOrNumber = _.isString(extraSourceMap) || _.isNumber(extraSourceMap);\n // 增加ins实例之外的alias,填入到ins._InstanceAliasValue\n const insAlias = ins._InstanceAliasValue;\n const otherAlias = isStringOrNumber ? extraSourceMap : extraSourceMap._InstanceAliasValue;\n if (otherAlias && insAlias.indexOf(otherAlias) === -1) {\n ins._InstanceAliasValue += ` - ${otherAlias}`;\n }\n\n extraDimValue = isStringOrNumber ? extraSourceMap : extraSourceMap?.[dim_KeyInIns || keyTmp];\n } else {\n ins._InstanceAliasValue += this.getOtherAlias(ins, target[service]);\n }\n\n if (\n getTimeShiftInMs(target[service].timeshift) > 0 &&\n ins._InstanceAliasValue.indexOf(target[service].timeshift) === -1\n ) {\n ins._InstanceAliasValue += `_${target[service].timeshift}`;\n }\n // 设置instance,针对额外的维度,需要注意模板变量的值\n // ins[key] = ins[keyTmp] ?? extraDimValue;\n ins[key] = this.getDimensionsVal(ins, keyTmp, extraDimValue);\n // cynosdb产品接口返回维度和入参不一致\n if (this.checkKeys.length > 0) {\n this.checkKeys.forEach((Ekey) => {\n ins[Ekey] = ins[key];\n });\n }\n dimensionObject[key] = { Name: key, Value: ins[key] };\n }\n // 处理waf逻辑\n const tt = this.getOwnDimension(dimensionObject, ins);\n if (tt) {\n return tt;\n }\n return dimensionObject;\n }\n getOwnDimension(dimensionObject: any, ins: any) {\n return null;\n }\n getDimensionsVal(ins: Record, key: string, extraDimValue: string) {\n let dimVal = ins[key];\n if (_.isEmpty(dimVal) && this.CandiateDimensions[key]) {\n dimVal = ins[this.CandiateDimensions[key]];\n }\n return dimVal ?? extraDimValue;\n }\n query(options: any) {\n const service = this.service!; // 强制声明非空\n\n const queries = _.filter(options.targets, (item) => {\n // 过滤无效的查询 target\n return (\n item.hide !== true &&\n !!item.namespace &&\n !!item[service].metricName &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].region, false)) &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].instance, true))\n );\n })\n .reduce((prev, target) => {\n if (getTimeShiftInMs(target[service].timeshift) > 0) {\n const cloneTarget = _.cloneDeep(target);\n cloneTarget[service].timeshift = '';\n return [...prev, cloneTarget, target];\n }\n return [...prev, target];\n }, [])\n .map(async (target) => {\n // 实例 instances 可能为模板变量,需先获取实际值\n // 针对JSON字符串和id的形式,分开做处理\n let instances = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].instance, true);\n const instanceCache = await instanceStorage.getInstance(this.service);\n const timeshift = getTimeShiftInMs(target[service].timeshift);\n\n instances = [].concat(instances).map((inst) => {\n try {\n return JSON.parse(inst); // 兼容json字符串的 形式\n } catch (error) {\n // 如果没拿到缓存,取默认实例组\n if (!instanceCache) return this.getDefaultInsObj?.(inst);\n return _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === inst)) ?? {};\n }\n });\n const region = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].region, false);\n const insInReq: any = [];\n for (let ins of instances) {\n const dimensionObject = target[service].dimensionObject;\n // 处理dimensions的值\n const dimKeys = Object.keys(dimensionObject);\n const dimResult = await this.dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options);\n\n insInReq.push([{ Dimensions: GetDimensions(dimResult) }]);\n }\n const data = {\n StartTime: moment(options.range.from).subtract(timeshift).format(),\n EndTime: moment(options.range.to).subtract(timeshift).format(),\n Period: target[service].period || 300,\n Instances: _.flatMap(insInReq),\n Namespace: target.namespace,\n MetricName: target[service].metricName,\n };\n return this.getMonitorData(data, region, instances, target[service], options);\n });\n\n if (queries.length === 0) {\n return [];\n }\n\n return Promise.all(queries)\n .then((responses) => {\n return _.flatten(responses);\n })\n .catch((error) => {\n return [];\n });\n }\n getDefaultInsObj(ins: string) {\n return {} as any;\n }\n getInstanceReqConfig(selfIns: any) {\n return {} as any;\n }\n getInvalidDimensions(selfIns: any, target?: any) {\n return {} as any;\n }\n // 获取某个变量的实际值,this.templateSrv.replace() 函数返回实际值的字符串\n getVariable(metric?: string) {\n const rs = this.templateSrv.replace((metric || '').trim());\n const valStr = rs.match(/\\{([\\w-,]+)\\}/);\n // 判断是否为多选\n if (valStr) {\n return valStr[1].split(',');\n }\n return rs;\n }\n\n /**\n * 获取 监控数据\n * @param params 获取监控数据的请求参数\n * @param region 地域信息\n * @param instances 实例列表,用于对返回结果的匹配解析\n */\n getMonitorData(params, region, instances, target, options) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { action: 'GetMonitorData', region }\n ).then((response) => {\n return ParseQueryResult(response, instances, timeshift);\n });\n }\n\n getRegions(): any {\n return this.doRequest(\n {\n url: this.url + '/cvm',\n },\n 'cvm',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getMetrics(region = 'ap-guangzhou'): Promise {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: this.namespace,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n ).then((response) => {\n const res = _.filter(\n _.filter(response.MetricSet || [], (item) => !(item.Namespace !== this.namespace || !item.MetricName))\n );\n const resFilterFn = this.MetricReqConfig.resultFilter;\n if (resFilterFn) {\n return res.map((item) => resFilterFn(item));\n }\n return res;\n });\n }\n\n getInstances(region, params = {}) {\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n params =\n service === 'waf'\n ? { Offset: 0, Limit: 100, Edition: 'sparta-waf', ...params }\n : { Offset: 0, Limit: 100, ...params };\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n // 处理异常,则不按正常的情况处理,直接抛出错误\n if (response?.Error) {\n console.error(response.Error);\n return response;\n }\n\n let result;\n // 先,field处理\n if (field) {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n }\n\n // 后,拦截器处理\n if (interceptor?.response) {\n result = interceptor.response(result);\n }\n return result;\n });\n }\n\n getVariableInstances(region, query = {}): Promise {\n let result: any[] = [];\n const params = { ...{ Offset: 0, Limit: 100 }, ...query };\n\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n const total =\n response.TotalCount ?? response.TotalCnt ?? response.TotalNumber ?? _.get(response, `Result.TotalCount`) ?? 0;\n if (result.length >= total) {\n return interceptor?.response ? interceptor.response(result) : result;\n } else {\n const param = SliceLength(total, params?.Limit || 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, { ...item, ...query }));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return interceptor?.response ? interceptor.response(result) : result;\n })\n .catch((error) => {\n return interceptor?.response ? interceptor.response(result) : result;\n });\n }\n });\n }\n\n // 检查某变量字段是否有值\n isValidConfigField(field: string) {\n return field && field.length > 0;\n }\n\n testDatasource() {\n // const { service = this.service, action } = this.InstanceReqConfig;\n // const serviceInfo = GetServiceAPIInfo('ap-guangzhou', service);\n\n if (!this.isValidConfigField(this.secretId)) {\n return {\n service: this.service,\n status: 'error',\n message: 'The SecretId/SecretKey field is required.',\n };\n }\n\n return Promise.all([\n this.getRegions(),\n this.getMetrics(),\n // this.doRequest(\n // {\n // url: this.url + serviceInfo.path,\n // data: {\n // Offset: 0,\n // Limit: 1,\n // },\n // },\n // service,\n // { region: 'ap-guangzhou', action },\n // ),\n this.getInstances('ap-guangzhou', {\n Offset: 0,\n Limit: 1,\n }),\n ])\n .then((responses) => {\n const cvmErr = _.get(responses, '[0].Error', {});\n const monitorErr = _.get(responses, '[1].Error', {});\n const serviceErr = _.get(responses, '[2].Error', {});\n // const cvmAuthFail = _.get(cvmErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const monitorAuthFail = _.get(monitorErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const serviceAuthFail = _.get(serviceErr, 'Code', '').indexOf('AuthFailure') !== -1;\n const cvmAuthFail = _.get(cvmErr, 'Code', '');\n const monitorAuthFail = _.get(monitorErr, 'Code', '');\n const serviceAuthFail = _.get(serviceErr, 'Code', '');\n if (cvmAuthFail || monitorAuthFail || serviceAuthFail) {\n const messages: any[] = [];\n if (cvmAuthFail) {\n messages.push(_.get(cvmErr, 'Code'));\n }\n if (monitorAuthFail) {\n messages.push(_.get(monitorErr, 'Code'));\n }\n if (serviceAuthFail) {\n messages.push(_.get(serviceErr, 'Code'));\n }\n const message = _.join(_.compact(_.uniq(messages)), '; ');\n return {\n service: this.service,\n status: 'error',\n message,\n };\n } else {\n return {\n namespace: this.namespace,\n service: this.service,\n status: 'success',\n message: `Successfully queried the ${this.service} service.`,\n title: 'Success',\n };\n }\n })\n .catch((error) => {\n let message = `${this.service} service:`;\n message += error.statusText ? error.statusText + '; ' : '';\n if (_.get(error, 'data.error.code', '')) {\n message += error.data.error.code + '. ' + error.data.error.message;\n } else if (_.get(error, 'data.error', '')) {\n message += error.data.error;\n } else if (_.get(error, 'data', '')) {\n message += error.data;\n } else {\n message += `Cannot connect to ${this.service} service.`;\n }\n return {\n service: this.service,\n status: 'error',\n message: message,\n };\n });\n }\n\n async doRequest(options, service, signObj: any = {}) {\n options = await GetRequestParams(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data.Response', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","import _ from 'lodash';\nimport { SERVICES } from '../tc_monitor';\n\n/* 从分页数据获取全量数据 */\nconst PageSize = 50;\nfunction getFieldsValue(value, fields) {\n return fields.map((item) => _.get(value, item, _.get(value, `Result.${item}`, [])));\n}\n\nexport async function fetchAllFactory(fetcher: (args: any) => Promise, _params: any, field: string | string[]) {\n const params = { ..._.omit(_params, ['isOffsetPage']) };\n params.Limit = params.Limit || PageSize; // 默认给个Limit大小为50\n params.Offset = params.Offset ?? 0; // 默认给个Offset为0\n\n // 第一次请求,获取总数\n const rs = (await fetcher(params)) ?? {};\n const fields = Array.isArray(field) ? field : [field];\n\n // rs.TotalCount = rs.TotalCount ?? rs.Result.TotalCount ?? [];\n // const { TotalCount } = rs;\n const TotalCount = rs.TotalCount ?? rs.Result?.TotalCount ?? rs.TotalCnt ?? rs.Result?.TotalCnt ?? 0;\n const firstLists = getFieldsValue(rs, fields);\n\n if (TotalCount === 0 || firstLists[0].length === TotalCount) {\n // 只有一页,结束\n return firstLists;\n }\n\n // 批量请求\n const delta = TotalCount - firstLists[0].length;\n const batchCount = Math.ceil(delta / PageSize);\n const pmList = new Array(batchCount).fill(0).map((_, index) => {\n params.Offset = _params.isOffsetPage ? 1 + index : (1 + index) * params.Limit;\n return fetcher(params);\n });\n\n // 合并\n const resultList = await Promise.all(pmList); // [ {a: [], b[] }, { a: [], b:[] }]\n\n return resultList.reduce((acc, cur) => {\n const lists = getFieldsValue(cur, fields);\n // [[], [], []] + [[], [], []]\n acc.forEach((list, index) => list.push(...lists[index]));\n return acc;\n }, firstLists);\n}\n\n/**\n * 实例列表接口入参处理\n *\n * @param queries 表单键入内容\n * @param isFilter 是否需要设置为Filters格式\n */\nexport function instanceQueryParamsBaseParse(queries: any, isFilter: boolean) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n } else {\n params[key] = _.uniq(item);\n }\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n } else {\n params[key] = _.get(item, 'value');\n }\n }\n } else if (item !== null && item !== undefined && item !== '') {\n if (isFilter) {\n Filters.push({ Name: key, Values: item });\n } else {\n params[key] = item;\n }\n }\n });\n if (isFilter && Filters.length > 0) {\n params.Filters = Filters;\n return params;\n }\n }\n return params;\n}\n\nexport function getNamesapceFromService(serviceName: string) {\n return _.get(\n _.find(SERVICES, (service) => service.service === serviceName),\n 'namespace'\n );\n}\n\nexport function serviceGroupBy(\n services: { service: string; label: string; namespace: string; href: string; groupName?: string }[]\n) {\n const result = services.reduce((acc, cur) => {\n const { namespace, label, groupName = label } = cur;\n\n const existedGroup = acc.find((item) => item.label === groupName);\n if (!existedGroup) {\n acc.push({ label: groupName, value: groupName, items: [{ label, value: namespace }] });\n return acc;\n }\n\n existedGroup.items.push({ label, value: namespace });\n return acc;\n }, [] as any[]);\n\n // 将只有一个子元素的项目进行特殊处理\n const rs = result.map((item) =>\n item.items.length === 1 ? { label: item.items[0].label, value: item.items[0].value } : item\n );\n return rs;\n}\n\nexport const isTargetEqual = (newTargetString: string, oldTargetString: string, key: string) => {\n try {\n const newTarget = JSON.parse(newTargetString);\n const oldTarget = JSON.parse(oldTargetString);\n return newTarget[key] === oldTarget[key];\n } catch (e) {\n return newTargetString === oldTargetString;\n }\n};\n\nexport const getTimeShiftInMs = (timeShift: any) => {\n const parts = /^(\\d+)([d|h|m|s])$/.exec(timeShift);\n if (!parts) {\n return 0;\n }\n const amount = parseInt(parts[1], 10);\n const unit = parts[2];\n switch (unit) {\n case 'd':\n return amount * 86400 * 1000;\n case 'h':\n return amount * 3600 * 1000;\n case 'm':\n return amount * 60 * 1000;\n case 's':\n return amount * 1000;\n }\n return 0;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nfunction classFactory(detailConfig) {\n return class QueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, detailConfig);\n\n $scope.getDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n return $scope.datasource.getFilterDropdown(service, { field, region: $scope.region });\n };\n }\n };\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n`;\nfunction queryDDOFactory(QueryCtrl) {\n return function queryDDO() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n // QueryCtrl._config = config;\n const newQueryIns = classFactory(config);\n coreModule.directive(name, queryDDOFactory(newQueryIns));\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8__;","interface DBEvent {\n target: { result: any; error: any };\n}\n// 数据库结构\ninterface DBTypes {\n store: StoreType;\n name?: string;\n version?: number;\n}\n// store表结构\ninterface StoreType {\n name: string; // 表名\n key: string; // 主键名\n cursorIndex?: { name: string; unique: boolean }[]; // 索引列表\n}\n\n// 数据结构\n// {service: 'cvm', instance: [{ins: 23}]}\ninterface DataType {\n service: string;\n [x: string]: any; // 有产品需缓存其他列表\n}\n\n// interface UpdateProps {\n// storeName: string;\n// cursorKey: string;\n// cursorValue?: any;\n// data: any;\n// }\n\nconst store: StoreType = {\n name: 'grafanaInstanceList',\n key: 'service',\n};\nconst promisify = (request: any, type?: string) => {\n return new Promise((resolve, reject) => {\n request.onsuccess = (event: DBEvent) => {\n const returnMap: any = {\n event: event.target.result,\n request: request.result,\n msg: '操作成功',\n };\n resolve(returnMap[type || 'msg']);\n };\n request.onerror = (event: DBEvent) => reject(event.target.error || '操作失败');\n });\n};\n// 固定表名和数据库名\nclass IndexedDB {\n name = 'grafanaDatabase';\n version = 1;\n\n constructor(props: DBTypes) {\n const { name = 'database', version = 1, store } = props;\n this.name = name;\n this.version = version;\n\n this.initDB(store);\n }\n\n /**\n * 初始化数据库\n * @param store 库表的结构\n */\n initDB(store: StoreType) {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n request.onupgradeneeded = (event: IDBVersionChangeEvent) => {\n const db = (event.target as IDBOpenDBRequest).result;\n if (db.objectStoreNames.contains(store.name)) {\n // 存在表store\n }\n\n // 遍历store,设置数据表结构\n db.createObjectStore(store.name, {\n keyPath: store.key,\n });\n };\n request.onerror = () => Promise.reject(new Error('初始化数据库失败'));\n request.onsuccess = () => Promise.resolve('初始化数据库成功');\n }\n\n openDB() {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n return promisify(request, 'event');\n }\n\n /**\n * 新增数据\n * @param storeName 表名\n * @param data 添加的数据\n */\n async insertData(storeName: string, data: any) {\n try {\n // console.time('insertData');\n const db = await this.openDB();\n const transaction = db.transaction(storeName, 'readwrite');\n const objectStore = transaction.objectStore(storeName);\n\n objectStore.add(data);\n // console.timeEnd('insertData');\n\n return new Promise((resolve, reject) => {\n transaction.oncomplete = function () {\n // console.timeEnd('insertData');\n resolve('所有数据插入成功');\n };\n\n transaction.onerror = function (event) {\n reject(event);\n };\n });\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 更新数据\n * @param props 查询数据的参数以及要修改的值的参数\n */\n async addData(data: DataType, isCover?: boolean) {\n try {\n // console.log('addData');\n const storeName = store.name; // 表名\n const oldData = await this.getData(data.service);\n const objectStore = await this.getObjectStore(storeName, 'readwrite');\n\n if (!oldData) {\n // 不存在则新建\n this.insertData(storeName, data);\n }\n // 存在则更新\n let newData: any = { ...oldData, ...data };\n if (isCover) newData = data; // 需要覆盖之前内容\n // 把更新过的对象放回数据库\n const requestUpdate = objectStore.put(newData);\n // console.timeEnd('updateData');\n return promisify(requestUpdate);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 获取数据库的值,返回查询到的第一项\n * @param storeName 表名/存储对象的键\n * @param cursorKey key\n * @param cursorValue 要查询索引的值\n */\n async getData(seviceName: string) {\n try {\n // console.time('getData');\n const storeName = store.name;\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.get(seviceName);\n // console.timeEnd('getData');\n return promisify(request, 'request');\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async getAllData(storeName: string) {\n try {\n // console.time('getAllData');\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.getAll();\n const result = await promisify(request, 'request');\n // console.timeEnd('getAllData');\n return result ? result : [];\n } catch (error) {\n return Promise.reject(error);\n }\n }\n /**\n * 获取对象仓库\n * @param storeName 表名\n * @param type readonly 或者 readwrite等\n */\n private async getObjectStore(storeName: string, type?: any): Promise {\n try {\n const db = await this.openDB();\n return db.transaction(storeName, type).objectStore(storeName);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n}\n// console.log('testDDB')\n// const indexDB = new IndexedDB({store});\n// indexDB.addData({service: 'cvm', instance: [{ins: 23}]}).then(e=>{\n// indexDB.getData('cvm').then(dd=>{console.log({dd})})\n// })\nexport default new IndexedDB({ store });\n","import indexedDB from './indexedDB';\nclass InstanceStorage {\n // prefix = 'Datasource';\n // storageKey = 'grafanaInstanceCache';\n insKey = 'Instances';\n cacheWay = '';\n constructor() {}\n setInstance(service: string, value: Record) {\n return this.setStorage(service, this.insKey, value, true);\n }\n async getInstance(service: string) {\n return this.getStorage(service, this.insKey);\n }\n setExtraStorage(service: string, Ekey: string, EValue: Record) {\n return this.setStorage(service, Ekey, EValue, false);\n }\n async getExtraStorage(service: string, Ekey: string) {\n return this.getStorage(service, Ekey);\n }\n private setStorage(serviceKey: string, key: string, value: Record, isCover = false) {\n // console.log('set', serviceKey, key, value);\n return indexedDB.addData(\n {\n service: serviceKey,\n [key]: value,\n },\n isCover\n );\n }\n // 获取到模版变量信息\n private async getStorage(service: string, key?: string) {\n const storage = await indexedDB.getData(service);\n // console.log('get', key, storage);\n return key ? storage?.[key] : storage;\n }\n}\nexport default new InstanceStorage();\n","import _ from 'lodash';\n\nexport const CKAFKAQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstanceId',\n cnDescriptor: '按照实例ID过滤',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '按照实例名称过滤,支持模糊查询',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '匹配标签key值',\n link: '',\n type: 'input',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例的状态,不填默认返回全部',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '删除中', value: 2 },\n ],\n },\n];\n\nconst CKAFKA_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n topicId: '',\n topicName: '',\n consumerGroup: '',\n partition: '',\n queries: {\n Offset: 0,\n Limit: 10,\n Status: [],\n InstanceId: '',\n SearchWord: '',\n TagKey: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CKAFKAInstanceAliasList = ['InstanceId', 'InstanceName'];\nconst CKAFKATopicAliasList = ['TopicId', 'TopicName'];\n// 保存在模板变量value中的key\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n topicId: 'TopicId',\n groupName: 'GroupName',\n partition: 'PartitionId',\n};\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CKAFKAInvalidDemensions = new Proxy(\n {\n topicId: 'TopicId',\n topicName: 'TopicName',\n consumerGroup: 'GroupName',\n partition: 'PartitionId',\n },\n {\n get: (obj, prop) => {\n if (String(prop).toLocaleLowerCase() === 'instanceid') return 'InstanceId';\n return obj[prop];\n },\n }\n);\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n TopicList: 'TopicList',\n GroupList: 'GroupList',\n PartitionList: 'PartitionList',\n};\n\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicId: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n // topicName和topicId是同一个storage中的source,所以根据topicId帅选\n TopicName: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n GroupName: {\n dim_KeyInStorage: keyInStorage.GroupList,\n dim_KeyInTarget: 'consumerGroup',\n dim_KeyInMap: templateQueryIdMap.groupName,\n },\n PartitionId: {\n dim_KeyInStorage: keyInStorage.PartitionList,\n dim_KeyInTarget: 'partition',\n dim_KeyInMap: templateQueryIdMap.partition,\n },\n};\nexport default CKAFKA_STATE;\nexport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as CKAFKAGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/LOADBALANCE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'loadBalanceQuery';\n\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst LOADBALANCEFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: LOADBALANCEFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst LOADBALANCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n servers: '',\n serverPort: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\n// function GetInstanceQueryParams(queries: any = {}) {\n// const params: any = {};\n// if (!_.isEmpty(queries)) {\n// params.Limit = _.get(queries, 'Limit', 20) || 20;\n// params.Offset = _.get(queries, 'Offset', 0) || 0;\n// queries = _.omit(queries, ['Offset', 'Limit']);\n// _.forEach(queries, (item: any, key) => {\n// if (_.isArray(item)) {\n// item = _.compact(item);\n// if (item.length > 0) {\n// params[key] = _.uniq(item);\n// }\n// } else if (_.isObject(item)) {\n// if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n// params[key] = _.get(item, 'value');\n// }\n// } else if (_.isNumber(item) || !_.isEmpty(item)) {\n// params[key] = item;\n// }\n// });\n// }\n// return params;\n// }\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst InstanceAliasList = ['LoadBalancerId', 'LoadBalancerName', 'LoadBalancerVips'];\nconst LOADBALANCEListenerAliasList = ['ListenerId', 'ListenerName', 'Port'];\nconst LOADBALANCEServerAliasList = ['PrivateIpAddresses', 'InstanceId'];\nconst LOADBALANCEVALIDDIMENSIONS = {\n vip: 'LoadBalancerVips',\n // vpcId: 'NumericalVpcId',\n loadBalancerPort: 'Port',\n protocol: 'Protocol',\n lanIp: 'PrivateIpAddresses',\n port: 'ServerPort',\n};\n// 对于ipv6类型,vip应该取AddressIPv6。\nconst CANDIATEDIMENSIONS = {\n LoadBalancerVips: 'AddressIPv6',\n};\n// dimensionObject[item] = { Name: item, Value: '' };\n// const LOADBALANCE_INSTANCE_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// };\n// const LOADBALANCE_LISTENER_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// loadBalancerPort: { Name: 'loadBalancerPort', Value: '' },\n// protocol: { Name: 'protocol', Value: '' },\n// };\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n listener: 'ListenerId',\n servers: 'PrivateIpAddresses',\n port: 'Port',\n};\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n listener: 'ListenerList',\n servers: 'ServersList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Port: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n Protocol: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n PrivateIpAddresses: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'servers',\n dim_KeyInMap: templateQueryIdMap.servers,\n },\n ServerPort: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'serverPort',\n dim_KeyInIns: 'Port',\n dim_KeyInMap: templateQueryIdMap.port,\n },\n};\nexport default LOADBALANCE_STATE;\nexport {\n LOADBALANCEFieldsDescriptor,\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n CANDIATEDIMENSIONS,\n // LOADBALANCE_LISTENER_DIMENSIONOBJECTS,\n // LOADBALANCE_INSTANCE_DIMENSIONOBJECTS,\n queryMonitorExtraConfg,\n keyInStorage,\n queryEditorConfig,\n namespace,\n queryEditorName,\n GetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TDMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n tenantId: 'ClusterId',\n tenant: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// 需和文件名对应\nconst TDMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n topicName: '',\n environmentId: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n if (item.Dimensions.indexOf('topicName') !== -1 && item.Dimensions.indexOf('environmentId') === -1) {\n item.Dimensions.push('environmentId');\n }\n });\n return metricTmp;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n topicName: 'topicName',\n environmentId: 'environmentId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicName: {\n dim_KeyInStorage: keyInStorage.topicName,\n dim_KeyInTarget: 'topicName',\n dim_KeyInMap: templateQueryIdMap.topicName,\n },\n EnvironmentId: {\n dim_KeyInStorage: keyInStorage.environmentId,\n dim_KeyInTarget: 'environmentId',\n dim_KeyInMap: templateQueryIdMap.environmentId,\n },\n};\nexport default CDNPROVINCE_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/GSE';\nconst fleetId = 'FleetId'; // 为和cvm其他产品保持一致,即将string[]改为Array<{fleetid: xxx}>,在此声明key\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'gseQuery';\n\nconst GSEInvalidDemensions = {\n instanceid: 'InstanceId',\n fleetid: 'FleetId',\n queuename: 'Name',\n};\n\n// 需和文件名对应\nconst GSEInstanceAliasList = ['InstanceId', 'PrivateIpAddress', 'IpAddress'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n Name: 'Name',\n FleetId: fleetId,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n fleet: 'fleet', // 实例队列\n queue: 'queueName', // 会话队列\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n FleetId: {\n dim_KeyInStorage: keyInStorage.fleet,\n dim_KeyInTarget: 'FleetId',\n dim_KeyInMap: templateQueryIdMap.FleetId,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.queue,\n dim_KeyInTarget: 'Name',\n dim_KeyInMap: templateQueryIdMap.Name,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst GSEFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceId: '',\n FleetId: '',\n};\n\nconst GSEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'resourceName',\n cnDescriptor: '资源名称',\n link: '',\n type: 'input',\n },\n {\n key: 'FleetId',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1165/42604',\n namespace,\n fieldDescriptor: GSEFilterFieldsDescriptor,\n};\n\nconst GSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n FleetId: '', // 服务器实例\n Name: '', // 队列名称\n queries: GSEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n // { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n // { value: 'ap-shanghai-fsi' },\n // { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n // { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => GSEInvalidDemensions[v] || v);\n });\n return metricTmp;\n}\nexport default GSE_STATE;\nexport {\n GSEFilterFieldsDescriptor,\n templateQueryIdMap,\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n fleetId,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as GSEGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { isArray, cloneDeep } from 'lodash';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/TDMYSQL';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'dcdbQuery';\n\nconst DCDBInvalidDemensions = {\n nodeid: 'NodeId',\n instanceid: 'InstanceId',\n shardid: 'ShardInstanceId',\n ShardId: 'ShardInstanceId',\n};\n\n// 需和文件名对应\nconst DCDBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst DCDBFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n SearchName: '',\n SearchKey: '',\n ProjectIds: [],\n // IsFilterVpc\n VpcId: '',\n SubnetId: '',\n\n OrderBy: {},\n OrderByType: {},\n // IsFilterExcluster: {},\n ExclusterType: {},\n\n ExclusterIds: [],\n FilterInstanceType: {},\n};\n\nconst DCDBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例 ID 查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'SearchName',\n enDescriptor: 'SearchName',\n cnDescriptor: '搜索的字段名,当前支持的值有:instancename、vip、all',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '搜索的关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '按项目 ID 查询',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'projectId', value: 'projectId' },\n { text: 'createtime', value: 'createtime' },\n { text: 'instancename', value: 'instancename' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'select',\n list: [\n { text: 'desc', value: 'desc' },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterType',\n enDescriptor: 'ExclusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: [\n { text: '非独享集群', value: 1 },\n { text: '独享集群', value: 2 },\n { text: '全部', value: 0 },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterIds',\n enDescriptor: 'ExclusterIds',\n cnDescriptor: '独享集群ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'FilterInstanceType',\n enDescriptor: 'FilterInstanceType',\n cnDescriptor: '实例类型过滤',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '独享实例', value: 1 },\n { text: '主实例', value: 2 },\n { text: '灾备实例', value: 3 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/557/16140',\n namespace,\n fieldDescriptor: DCDBFilterFieldsDescriptor,\n};\n\nconst DCDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n ShardId: '',\n NodeId: '',\n queries: DCDBFilterFields,\n};\nconst modifyMetricConf = {\n shardid: 'ShardId',\n instanceid: 'InstanceId',\n nodeid: 'NodeId',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => modifyMetricConf[v] || v);\n });\n return metricTmp;\n}\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params = instanceQueryParamsBaseParse(queries, false);\n // 特殊处理\n params.IsFilterVpc = false;\n params.IsFilterExcluster = false;\n if (params.VpcId || params.SubnetId) params.IsFilterVpc = true;\n if (params.ExclusterType) params.IsFilterExcluster = true;\n if (isArray(params.FilterInstanceType)) params.FilterInstanceType = params.FilterInstanceType.join(',');\n return params;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeId: {\n dim_KeyInStorage: keyInStorage.NodeId,\n dim_KeyInTarget: 'NodeId',\n dim_KeyInMap: templateQueryIdMap.NodeId,\n },\n ShardInstanceId: {\n dim_KeyInStorage: keyInStorage.ShardInstanceId,\n dim_KeyInTarget: 'ShardId',\n dim_KeyInMap: templateQueryIdMap.ShardInstanceId,\n },\n};\n// 和其他产品的展示保持一致\nconst regionSupported = [\n { text: '华北地区(北京)', value: 'ap-beijing' },\n { text: '西南地区(成都)', value: 'ap-chengdu' },\n { text: '西南地区(重庆)', value: 'ap-chongqing' },\n { text: '华南地区(广州)', value: 'ap-guangzhou' },\n { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n { text: '华东地区(南京)', value: 'ap-nanjing' },\n { text: '华东地区(上海)', value: 'ap-shanghai' },\n { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n { text: '亚太东北(东京)', value: 'ap-tokyo' },\n { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n { text: '北美地区(多伦多)', value: 'na-toronto' },\n];\nexport default DCDB_STATE;\nexport {\n DCDBFilterFieldsDescriptor,\n templateQueryIdMap,\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n keyInStorage,\n modifyDimensons,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as DCDBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst namespace = 'QCE/REDIS_MEM';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisMemFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDISMEM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n rnodeid: '',\n pnodeid: '',\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst REDISMEMInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisMemInvalidDemensions = {\n instanceid: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst NodeType = ['Redis', 'Proxy'];\n\nexport default REDISMEM_STATE;\nexport {\n RedisMemFieldsDescriptor,\n RedisMemInvalidDemensions,\n REDISMEMInstanceAliasList,\n templateQueryIdMap,\n namespace,\n NodeType,\n GetInstanceQueryParams as REDISMEMGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/RABBITMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n instanceid: 'InstanceId',\n node: 'NodeName',\n};\n\n// 需和文件名对应\nconst TDMQRABBITMQInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n node: 'NodeName',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n node: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'NodeName',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeName: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'node',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/ROCKETMQ';\n\nconst TDMQInvalidDemensions = {\n tenant: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// 需和文件名对应\nconst TDMQROCKETMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIdList: [''],\n Filters: {\n includeVip: { text: '是', value: 'true' },\n },\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'includeVip',\n enDescriptor: 'includeVip',\n cnDescriptor: '包含专享集群',\n link: '',\n type: 'select',\n list: [\n { text: '是', value: 'true' },\n { text: '否', value: 'false' },\n ],\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n namespace: '',\n group: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.ClusterIdList)) {\n const ClusterIdList = _.compact(queries.ClusterIdList);\n if (_.uniq(ClusterIdList).length > 0) {\n params.ClusterIdList = _.uniq(ClusterIdList).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: [_.get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n namespace: 'NamespaceId',\n group: 'Name',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NamespaceId: {\n dim_KeyInStorage: keyInStorage.namespace,\n dim_KeyInTarget: 'namespace',\n dim_KeyInMap: templateQueryIdMap.namespace,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.group,\n dim_KeyInTarget: 'group',\n dim_KeyInMap: templateQueryIdMap.group,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQROCKETMQGetInstanceQueryParams,\n};\n","import { t } from '../../locale';\n// name (产品名称), service(对应的真实service)\ninterface ServiceType {\n service: string;\n label: string;\n namespace: string;\n href: string;\n groupName?: string;\n hideRegion?: boolean;\n}\nconst SERVICES: ServiceType[] = [\n {\n service: 'cvm',\n get label() {\n return t('CVM');\n },\n namespace: 'QCE/CVM',\n href: 'https://cloud.tencent.com/document/api/213/15688',\n },\n {\n service: 'cdb',\n get label() {\n return t('CDB');\n },\n namespace: 'QCE/CDB',\n href: 'https://cloud.tencent.com/document/api/236/15829',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'mongoDB',\n get label() {\n return t('CMONGO');\n },\n namespace: 'QCE/CMONGO',\n href: 'https://cloud.tencent.com/document/api/240/38568',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'postgres',\n get label() {\n return t('POSTGRES');\n },\n namespace: 'QCE/POSTGRES',\n href: 'https://cloud.tencent.com/document/product/248/45105',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redis',\n get label() {\n return t('REDIS');\n },\n namespace: 'QCE/REDIS',\n href: 'https://cloud.tencent.com/document/product/248/45110',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redisMem',\n get label() {\n return t('REDIS_MEM');\n },\n namespace: 'QCE/REDIS_MEM',\n href: 'https://cloud.tencent.com/document/product/248/49729',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'sqlserver',\n get label() {\n return t('SQLSERVER');\n },\n namespace: 'QCE/SQLSERVER',\n href: 'https://cloud.tencent.com/document/product/248/45146',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'cynosdbMysql',\n get label() {\n return t('CYNOSDB_MYSQL');\n },\n namespace: 'QCE/CYNOSDB_MYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45106',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'tcaplus',\n get label() {\n return t('TCAPLUS');\n },\n namespace: 'QCE/TCAPLUS',\n href: 'https://cloud.tencent.com/document/product/248/45107',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'dcdb',\n get label() {\n return t('TDMYSQL');\n },\n namespace: 'QCE/TDMYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45108',\n },\n {\n service: 'pcx',\n get label() {\n return t('PCX');\n },\n namespace: 'QCE/PCX',\n href: 'https://cloud.tencent.com/document/product/215/5181',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'bwp',\n get label() {\n return t('BWP');\n },\n namespace: 'QCE/BWP',\n href: 'https://cloud.tencent.com/document/api/215/19209',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'natGateway',\n get label() {\n return t('NAT_GATEWAY');\n },\n namespace: 'QCE/NAT_GATEWAY',\n href: 'https://cloud.tencent.com/document/api/215/36034',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpngw',\n get label() {\n return t('VPNGW');\n },\n namespace: 'QCE/VPNGW',\n href: 'https://cloud.tencent.com/document/product/248/45070',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpnx',\n get label() {\n return t('VPNX');\n },\n namespace: 'QCE/VPNX',\n href: 'https://cloud.tencent.com/document/product/248/45071',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'dcg',\n get label() {\n return t('DCG');\n },\n namespace: 'QCE/DCG',\n href: 'https://cloud.tencent.com/document/product/248/45072',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'ceipSummary',\n get label() {\n return t('CEIP_SUMMARY');\n },\n namespace: 'QCE/CEIP_SUMMARY',\n href: 'https://cloud.tencent.com/document/product/248/50381',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpcNetDetect',\n get label() {\n return t('VPC_NET_DETECT');\n },\n namespace: 'QCE/VPC_NET_DETECT',\n href: 'https://cloud.tencent.com/document/product/248/50384',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vbc',\n get label() {\n return t('VBC');\n },\n namespace: 'QCE/VBC',\n href: 'https://cloud.tencent.com/document/product/248/45073',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lb',\n get label() {\n return t('LB');\n },\n namespace: 'QCE/LB',\n href: 'https://cloud.tencent.com/document/product/248/45099',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lbPublic',\n get label() {\n return t('LB_PUBLIC');\n },\n namespace: 'QCE/LB_PUBLIC',\n href: 'https://cloud.tencent.com/document/product/248/51898',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'lbPrivate',\n get label() {\n return t('LB_PRIVATE');\n },\n namespace: 'QCE/LB_PRIVATE',\n href: 'https://cloud.tencent.com/document/product/248/51899',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'loadBalance',\n get label() {\n return t('LOADBALANCE');\n },\n namespace: 'QCE/LOADBALANCE',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'vClb',\n get label() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n namespace: 'QCE/V_CLB',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n },\n {\n service: 'cdn',\n get label() {\n return t('CDN');\n },\n namespace: 'QCE/CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50386',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'cdnProvince',\n get label() {\n return t('CDN_LOG_DATA');\n },\n namespace: 'QCE/CDN_LOG_DATA',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50388',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'ovCdn',\n get label() {\n return t('OV_CDN');\n },\n namespace: 'QCE/OV_CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50387',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'scf',\n get label() {\n return t('SCF_V2');\n },\n namespace: 'QCE/SCF_V2',\n href: 'https://cloud.tencent.com/document/product/248/45130',\n },\n {\n service: 'cfs',\n get label() {\n return t('CFS');\n },\n namespace: 'QCE/CFS',\n href: 'https://cloud.tencent.com/document/product/248/45143',\n },\n {\n service: 'cos',\n get label() {\n return t('COS');\n },\n namespace: 'QCE/COS',\n href: 'https://cloud.tencent.com/document/product/248/45140',\n },\n {\n service: 'ckafka',\n get label() {\n return t('CKAFKA');\n },\n namespace: 'QCE/CKAFKA',\n href: 'https://cloud.tencent.com/document/product/248/45121',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmq',\n get label() {\n return t('CMQ');\n },\n namespace: 'QCE/CMQ',\n href: 'https://cloud.tencent.com/document/product/248/45114',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmqTopic',\n get label() {\n return t('CMQTOPIC');\n },\n namespace: 'QCE/CMQTOPIC',\n href: 'https://cloud.tencent.com/document/product/248/45113',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmq',\n get label() {\n return t('TDMQ');\n },\n namespace: 'QCE/TDMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRocketmq',\n get label() {\n return t('TDMQ_ROCKETMQ');\n },\n namespace: 'QCE/ROCKETMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRabbitmq',\n get label() {\n return t('TDMQ_RABBITMQ');\n },\n namespace: 'QCE/RABBITMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'dcx',\n get label() {\n return t('DCX');\n },\n namespace: 'QCE/DCX',\n href: 'https://cloud.tencent.com/document/product/248/45101',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'dc',\n get label() {\n return t('DC');\n },\n namespace: 'QCE/DC',\n href: 'https://cloud.tencent.com/document/product/248/45102',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'cpm',\n get label() {\n return t('CPM');\n },\n namespace: 'QCE/CPM',\n href: 'https://cloud.tencent.com/document/product/248/45881',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmPcx',\n get label() {\n return t('BM_PCX');\n },\n namespace: 'QCE/BM_PCX',\n href: 'https://cloud.tencent.com/document/product/248/45884',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmLb',\n get label() {\n return t('BM_LB');\n },\n namespace: 'QCE/BM_LB',\n href: 'https://cloud.tencent.com/document/product/248/45886',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmIntraLb',\n get label() {\n return t('BM_INTRA_LB');\n },\n namespace: 'QCE/BM_INTRA_LB',\n href: 'https://cloud.tencent.com/document/product/248/45885',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'ces',\n get label() {\n return t('CES');\n },\n namespace: 'QCE/CES',\n href: 'https://cloud.tencent.com/document/product/248/45129',\n },\n {\n service: 'mrHDFS',\n get label() {\n return `${t('elastic_mapReduce')}(HDFS)`;\n },\n namespace: 'QCE/TXMR_HDFS',\n href: 'https://cloud.tencent.com/document/product/248/44797',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHBASE',\n get label() {\n return `${t('elastic_mapReduce')}(HBASE)`;\n },\n namespace: 'QCE/TXMR_HBASE',\n href: 'https://cloud.tencent.com/document/product/248/45567',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHIVE',\n get label() {\n return `${t('elastic_mapReduce')}(HIVE)`;\n },\n namespace: 'QCE/TXMR_HIVE',\n href: 'https://cloud.tencent.com/document/product/248/45569',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrNODE',\n get label() {\n return `${t('elastic_mapReduce')}(NODE)`;\n },\n namespace: 'QCE/TXMR_NODE',\n href: 'https://cloud.tencent.com/document/product/248/45570',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrPRESTO',\n get label() {\n return `${t('elastic_mapReduce')}(PRESTO)`;\n },\n namespace: 'QCE/TXMR_PRESTO',\n href: 'https://cloud.tencent.com/document/product/248/45571',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrSPARK',\n get label() {\n return `${t('elastic_mapReduce')}(SPARK)`;\n },\n namespace: 'QCE/TXMR_SPARK',\n href: 'https://cloud.tencent.com/document/product/248/45572',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrYARN',\n get label() {\n return `${t('elastic_mapReduce')}(YARN)`;\n },\n namespace: 'QCE/TXMR_YARN',\n href: 'https://cloud.tencent.com/document/product/248/45573',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrZOOKEEPER',\n get label() {\n return `${t('elastic_mapReduce')}(ZOOKEEPER)`;\n },\n namespace: 'QCE/TXMR_ZOOKEEPER',\n href: 'https://cloud.tencent.com/document/product/248/45574',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'cbs',\n get label() {\n return t('BLOCK_STORAGE');\n },\n namespace: 'QCE/BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/362/2345',\n },\n {\n service: 'apigateway',\n get label() {\n return t('APIGATEWAY');\n },\n namespace: 'QCE/APIGATEWAY',\n href: 'https://cloud.tencent.com/document/product/248/45127',\n },\n {\n service: 'qaap',\n get label() {\n return t('QAAP');\n },\n namespace: 'QCE/QAAP',\n href: 'https://cloud.tencent.com/document/product/608',\n },\n {\n service: 'ecm',\n get label() {\n return t('ECM');\n },\n hideRegion: true,\n namespace: 'QCE/ECM',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmBlockStorage',\n get label() {\n return t('ECM_BLOCK_STORAGE');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmLb',\n get label() {\n return t('ECM_LB');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_LB',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'gse',\n get label() {\n return t('GSE');\n },\n namespace: 'QCE/GSE',\n href: 'https://cloud.tencent.com/document/product/1165',\n },\n {\n service: 'cls',\n get label() {\n return t('CLS');\n },\n namespace: 'QCE/CLS',\n href: 'https://cloud.tencent.com/document/product/614',\n },\n {\n service: 'tke',\n get label() {\n return t('TKE');\n },\n namespace: 'QCE/TKE2',\n href: 'https://cloud.tencent.com/document/product/457',\n },\n {\n service: 'ecdn',\n get label() {\n return t('ECDN');\n },\n namespace: 'QCE/DSA',\n href: 'https://cloud.tencent.com/document/product/570',\n },\n // {\n // service: 'lighthouse',\n // label: '轻量应用服务器(LIGHTHOUSE)',\n // namespace: 'QCE/LIGHTHOUSE',\n // href: 'https://cloud.tencent.com/document/product/1207',\n // },\n // {\n // service: 'tsf',\n // label: ' 微服务平台(TSF)',\n // namespace: 'QCE/TSF',\n // href: 'https://cloud.tencent.com/document/product/649',\n // },\n {\n service: 'waf',\n get label() {\n return t('WAF');\n },\n // hideRegion: true,\n namespace: 'QCE/WAF',\n href: 'https://cloud.tencent.com/document/product/627',\n },\n];\nconst Datasources = {};\nconst InitStates = {};\nconst InstanceAliasList = {};\nconst GetInstanceQueryParams = {};\n\n/**\n * 由于目录命名不规范,导致需要使用额外逻辑保证正确性。从目录到具体service的映射\n */\nconst hackModuleName = {\n // lb_loadBalance: 'loadBalance',\n postgresql: 'postgres',\n mongodb: 'mongoDB',\n clb: ['lbPrivate', 'lbPublic', 'loadBalance'],\n mr: ['mrHDFS', 'mrHBASE', 'mrHIVE', 'mrNODE', 'mrPRESTO', 'mrSPARK', 'mrYARN', 'mrZOOKEEPER'],\n};\n\nconst requireModule = (require as any).context('./', true, /^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)?)\\.ts$/);\n\nrequireModule.keys().forEach((filePath) => {\n let [, moduleName, fileName] = filePath.split('/');\n\n // hack: 这里是由于产品目录命名不规范,所以才会多这么一段代码\n moduleName = hackModuleName[moduleName] ?? moduleName;\n\n // 目录与模块的映射关系,不管是一对一还是一对多,均按数组进行统一处理\n [].concat(moduleName).forEach((module: string) => {\n // 这个service就是产品配置中的service,需要注意这里的service是根据目录名称算出来的,因此目录名称一定要和service对应\n const service = module.replace(/_([a-zA-Z])/g, (_, b) => b.toUpperCase());\n const prefix = service.toUpperCase(); // 命名规则\n\n // datasource\n if (fileName === 'datasource.ts') {\n const Cls = require(`${filePath}`).default;\n\n // 想办法为实例注入service,不能为prototype或则类本身注入,因为会造成互相污染,详尽mrDatasource\n Datasources[`${prefix}Datasource`] = class {\n constructor(...params) {\n const target = new Cls(...params, service);\n target.service = service;\n // eslint-disable-next-line no-constructor-return\n return target;\n }\n };\n }\n // query\n if (fileName === 'query.ts') {\n require(`${filePath}`);\n }\n // query_def\n if (fileName === 'query_def.ts') {\n const alias = `${prefix}InstanceAliasList`;\n const getParams = `${prefix}GetInstanceQueryParams`;\n\n const target = require(`${filePath}`);\n\n InitStates[service] = target.default; // FIXME: 这里需不需要深拷贝?\n InstanceAliasList[alias] = target[alias] ?? target['InstanceAliasList'];\n GetInstanceQueryParams[getParams] = target[getParams] ?? target['GetInstanceQueryParams'];\n }\n });\n});\n\nexport {\n InitStates as InitServiceState,\n SERVICES,\n Datasources,\n InstanceAliasList,\n GetInstanceQueryParams,\n // DefaultDimensions\n};\n\n// console.log(Datasources, InitStates, InstanceAliasList, GetInstanceQueryParams);\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_BLOCK_STORAGE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ecmBlockStorageQuery';\n\nconst ECMBLOCKSTORAGEInvalidDemensions = {\n uuid: 'UUID',\n diskId: 'DiskId',\n};\n\n// 需和文件名对应\nconst ECMBLOCKSTORAGEInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n diskId: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst ECMBLOCKSTORAGEFilterFields = {\n Limit: 20,\n Offset: 0,\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMBLOCKSTORAGEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMBLOCKSTORAGEFilterFieldsDescriptor,\n};\n\nconst ECMBLOCKSTORAGE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n diskId: '',\n queries: ECMBLOCKSTORAGEFilterFields,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n diskId: 'diskId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n DiskId: {\n dim_KeyInStorage: keyInStorage.diskId,\n dim_KeyInTarget: 'diskId',\n dim_KeyInMap: templateQueryIdMap.diskId,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default ECMBLOCKSTORAGE_STATE;\nexport {\n ECMBLOCKSTORAGEFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n keyInStorage,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as ECMBLOCKSTORAGEGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__22__;","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/APIGATEWAY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'apigatewayQuery';\n\nconst APIGATEWAYInvalidDemensions = {\n serviceId: 'ServiceId',\n environmentName: 'EnvironmentName',\n apiid: 'Apiid',\n apiId: 'Apiid',\n};\n\n// 需和文件名对应\nconst APIGATEWAYInstanceAliasList = ['ServiceId', 'ServiceName'];\n\nconst templateQueryIdMap = {\n instance: 'ServiceId',\n environmentName: 'EnvironmentName',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n environmentList: 'EnvironmentList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n EnvironmentName: {\n dim_KeyInStorage: keyInStorage.environmentList,\n dim_KeyInTarget: 'EnvironmentName',\n dim_KeyInMap: templateQueryIdMap.environmentName,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst APIGATEWAYFilterFields = {\n Limit: 20,\n Offset: 0,\n ServiceId: [],\n ServiceName: [],\n NotUsagePlanId: [],\n Environment: [],\n IpVersion: [],\n};\n\nconst APIGATEWAYFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ServiceId',\n enDescriptor: 'ServiceId',\n cnDescriptor: '服务id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ServiceName',\n enDescriptor: 'ServiceName',\n cnDescriptor: '服务名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'NotUsagePlanId',\n enDescriptor: 'NotUsagePlanId',\n cnDescriptor: 'NotUsagePlanId',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Environment',\n enDescriptor: 'Environment',\n cnDescriptor: '环境名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'IpVersion',\n enDescriptor: 'IpVersion',\n cnDescriptor: 'IP版本',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/628/45198',\n namespace,\n fieldDescriptor: APIGATEWAYFilterFieldsDescriptor,\n};\n\nconst APIGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ServiceId',\n EnvironmentName: '',\n queries: APIGATEWAYFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nexport default APIGATEWAY_STATE;\nexport {\n APIGATEWAYFilterFieldsDescriptor,\n templateQueryIdMap,\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as APIGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const InstanceQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '按照一个或者多个实例ID查询。实例ID形如: emr-xxxxxxxx ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 'clusterId' },\n { text: '创建时间', value: 'addTime' },\n { text: '状态', value: 'status' },\n ],\n },\n {\n key: 'Asc',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '降序', value: 0 },\n { text: '升序', value: 1 },\n ],\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '实例所属项目ID',\n link: '',\n type: 'inputnumber',\n },\n {\n key: 'DisplayStrategy',\n enDescriptor: 'DisplayStrategy',\n cnDescriptor: '集群筛选策略',\n link: '',\n type: 'select',\n list: [\n { text: '未销毁的实例', value: 'clusterList' },\n { text: '正常运行的实例', value: 'monitorManage' },\n ],\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = new Proxy(\n {},\n {\n get(target, k, receiver) {\n if (typeof k === 'string') {\n if (k.startsWith('id4')) return 'ClusterId'; // id4****\n if (k.startsWith('host4')) return 'Ip'; // host4***\n }\n return Reflect.get(target, k, receiver);\n },\n has(target, propKey) {\n return true;\n },\n }\n);\n\nexport const templateQueryIdMap = {\n instance: 'ClusterId',\n node: 'Ip',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'nodeIP',\n};\n\n/**\n * 如果有InstanceId额外的维度,原则上都需要传入此map结构配置\n *\n * `key` 的含义:\n * 经过InvalidDemensions处理后的string。topicId => TopicId。\n * 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\n *\n * `value` 的含义:\n * @param {1} dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n * @param {2} dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n * 默认取通过InvalidDemsion处理后的key\n * @param {3} dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n * 即:templateQueryIdMap中内容。\n * 联合上面 2 的内容筛选出原始sourceMap\n */\nconst queryMonitorExtraConfg = {\n Ip: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'nodeIP',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['ClusterId', 'ClusterName'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n nodeIP: '',\n queries: {\n Offset: 0,\n Limit: 10,\n DisplayStrategy: '',\n OrderBy: {},\n Order: {},\n InstanceIds: [],\n ProjectId: -1,\n OrderField: '',\n Asc: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/V_CLB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vClbQuery';\n\nconst VCLBInvalidDemensions = {\n InstanceId: 'LoadBalancerId',\n // vip: 'LoadBalancerVips',\n // loadBalancerPort: 'Port',\n // protocol: 'Protocol',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst VCLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst VCLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: VCLBFilterFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst VCLB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst clbNamespaceMap = {\n public: 'QCE/LB_PUBLIC',\n private: 'QCE/LB_PRIVATE',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default VCLB_STATE;\nexport {\n VCLBFilterFieldsDescriptor,\n templateQueryIdMap,\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n clbNamespaceMap,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CYNOSDB_MYSQL';\n\n// 按照驼峰方式命名,和SERVICES保持一致,abcDeF会成为angular组件名字\nconst queryEditorName = 'cynosdbMysqlQuery';\n\nconst cynosdbMysqlFilterFields = {\n Limit: 20,\n Offset: 0,\n OrderBy: {},\n OrderByType: {},\n InstanceIds: [],\n DbType: {},\n // Status: '',\n};\n\nconst cynosdbMysqlFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 1000,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例id列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '创建时间', value: 'CREATETIME' },\n { text: '过期时间', value: 'PERIODENDTIME' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序类型',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n ],\n },\n {\n key: 'DbType',\n enDescriptor: 'DbType',\n cnDescriptor: '引擎类型',\n link: '',\n type: 'select',\n list: [\n { text: 'MYSQL', value: 'MYSQL' },\n { text: 'POSTGRESQL', value: 'POSTGRESQL' },\n ],\n },\n // {\n // key: 'Status',\n // enDescriptor: 'Status',\n // cnDescriptor: '实例状态',\n // link: '',\n // type: 'input',\n // },\n];\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n];\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1003/48334',\n namespace,\n fieldDescriptor: cynosdbMysqlFilterFieldsDescriptor,\n};\n\nconst CYNOSDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: cynosdbMysqlFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// 和文件名字一样CYNOSDBMYSQL\nconst CYNOSDBMYSQLInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nconst CYNOSDBInvalidDemensions = {\n instanceid: 'InstanceId',\n instanceId: 'InstanceId',\n};\nconst checkKeys = ['instanceId'];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default CYNOSDB_STATE;\nexport {\n cynosdbMysqlFilterFieldsDescriptor,\n templateQueryIdMap,\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n checkKeys,\n // params前缀为service的全大写\n GetInstanceQueryParams as CYNOSDBMYSQLGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const SCFQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '支持FunctionName模糊匹配',\n link: '',\n type: 'input',\n },\n {\n key: 'Namespace',\n enDescriptor: 'Namespace',\n cnDescriptor: '云函数命名空间',\n link: '',\n type: 'input',\n },\n {\n key: 'Description',\n enDescriptor: 'Description',\n cnDescriptor: '函数描述,支持模糊搜索',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'AddTime', value: 'AddTime' },\n { text: 'ModTime', value: 'ModTime' },\n { text: 'FunctionName', value: 'FunctionName' },\n ],\n },\n {\n key: 'Order',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n ],\n },\n // {\n // key: 'Filters',\n // enDescriptor: 'Filters',\n // cnDescriptor: '按照标签键值对进行过滤',\n // link: '',\n // type: 'dropdownmulti',\n // },\n];\n\nconst SCF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FunctionName',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n OrderBy: {},\n Order: {},\n SearchKey: '',\n Namespace: '',\n Description: '',\n // Filters: {},\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst SCFInstanceAliasList = ['FunctionId', 'FunctionName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst SCFInvalidDemensions = {\n functionName: 'FunctionName',\n namespace: 'Namespace',\n version: 'Version',\n};\n\nconst templateQueryIdMap = {\n instance: 'FunctionName',\n version: 'Version',\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n version: 'version',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Version: {\n dim_KeyInStorage: keyInStorage.version,\n dim_KeyInTarget: 'version',\n dim_KeyInMap: templateQueryIdMap.version,\n },\n};\nexport default SCF_STATE;\nexport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n queryMonitorExtraConfg,\n regionSupported,\n templateQueryIdMap,\n keyInStorage,\n GetInstanceQueryParams as SCFGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\nexport const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CLS';\nconst queryEditorName = 'clsQuery';\n\nconst CLSInvalidDemensions = {\n // instanceid: 'TopicId',\n};\n\n// 需和文件名对应\nconst CLSInstanceAliasList = ['TopicId', 'TopicName'];\n\nconst templateQueryIdMap = {\n instance: 'TopicId',\n};\n\n// 需要缓存到storage的内容的key列表\n// const keyInStorage = {\n// fleet: 'fleet', // 实例队列\n// queue: 'queueName', // 会话队列\n// };\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\n// const queryMonitorExtraConfg = {\n// FleetId: {\n// dim_KeyInStorage: keyInStorage.fleet,\n// dim_KeyInTarget: 'FleetId',\n// dim_KeyInMap: templateQueryIdMap.FleetId,\n// },\n// Name: {\n// dim_KeyInStorage: keyInStorage.queue,\n// dim_KeyInTarget: 'Name',\n// dim_KeyInMap: templateQueryIdMap.Name,\n// },\n// };\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CLSFilterFields = {\n Limit: 20,\n Offset: 0,\n topicName: [],\n topicId: [],\n logsetName: [],\n logsetId: [],\n tagKey: [],\n 'tag:tagKey': [],\n storageType: {},\n};\n\nconst CLSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'topicName',\n enDescriptor: 'topicName',\n cnDescriptor: '日志主题名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'topicId',\n enDescriptor: 'topicId',\n cnDescriptor: '日志主题ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetName',\n enDescriptor: 'logsetName',\n cnDescriptor: '日志集名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetId',\n enDescriptor: 'logsetId',\n cnDescriptor: '日志集ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tag:tagKey',\n enDescriptor: 'tag - tagKey',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'storageType',\n enDescriptor: 'storageType',\n cnDescriptor: '日志主题的存储类型',\n link: '',\n type: 'select',\n list: [\n { text: '实时存储', value: 'hot' },\n { text: '离线存储', value: 'cold' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/614/56454',\n namespace,\n fieldDescriptor: CLSFilterFieldsDescriptor,\n};\n\nconst CLS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicId',\n uin: '',\n queries: CLSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = item.Dimensions.map((v) => CLSInvalidDemensions[v] || v);\n item.Dimensions = ['uin', 'TopicId'];\n });\n return metricTmp;\n}\nexport default CLS_STATE;\nexport {\n CLSFilterFieldsDescriptor,\n templateQueryIdMap,\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // queryMonitorExtraConfg,\n // fleetId,\n // keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CLSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/SQLSERVER';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'sqlserverQuery';\n\nconst SQLSERVERInvalidDemensions = {\n resourceId: 'InstanceId',\n};\n\nconst SQLSERVERInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst SQLSERVERNETFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: null,\n Status: {},\n InstanceIdSet: [],\n PayMode: {},\n VpcId: '',\n SubnetId: '',\n VipSet: [],\n InstanceNameSet: [],\n VersionSet: [],\n Zone: '',\n};\n\nconst SQLSERVERNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: [\n { text: '申请中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '受限运行中 (主备切换中)', value: 3 },\n { text: '已隔离', value: 4 },\n { text: '回收中', value: 5 },\n { text: '已回收', value: 6 },\n { text: '任务执行中', value: 7 },\n { text: '已下线', value: 8 },\n { text: '实例扩容中', value: 9 },\n { text: '实例迁移中', value: 10 },\n { text: '只读', value: 11 },\n { text: '重启中', value: 12 },\n ],\n },\n {\n key: 'InstanceIdSet',\n enDescriptor: 'InstanceIdSet',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '包年包月', value: 1 },\n { text: '按量计费', value: 0 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属VPC的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '实例所属子网的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VipSet',\n enDescriptor: 'VipSet',\n cnDescriptor: '实例内网地址列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNameSet',\n enDescriptor: 'InstanceNameSet',\n cnDescriptor: '实例名称列表, 模糊查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VersionSet',\n enDescriptor: 'VersionSet',\n cnDescriptor: '实例版本代号列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Zone',\n enDescriptor: 'Zone',\n cnDescriptor: '实例可用区',\n link: '',\n type: 'dropdown',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/238/19969',\n namespace,\n fieldDescriptor: SQLSERVERNETFilterFieldsDescriptor,\n};\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-moscow' },\n { value: 'na-siliconvalley' },\n];\nconst SQLSERVER_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: SQLSERVERNETFilterFields,\n};\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default SQLSERVER_STATE;\nexport {\n SQLSERVERNETFilterFieldsDescriptor,\n templateQueryIdMap,\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // 对应产品的service的全大写拼接InstanceQueryParams\n GetInstanceQueryParams as SQLSERVERGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_INTRA_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmIntraLbQuery';\n\nconst BMINTRALBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n vpcId: 'VpcId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMINTRALBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMINTRALBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst BMINTRALBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: BMINTRALBFilterFieldsDescriptor,\n};\n\nconst BMINTRALB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: BMINTRALBFilterFields,\n};\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default BMINTRALB_STATE;\nexport {\n BMINTRALBFilterFieldsDescriptor,\n templateQueryIdMap,\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMINTRALBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmLbQuery';\n\nconst CPMInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n BMLBInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_PCX';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmPcxQuery';\n\nconst BMPCXInvalidDemensions = {\n peeringConnectionId: 'VpcPeerConnectionId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMPCXInstanceAliasList = ['VpcPeerConnectionId', 'VpcPeerConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpcPeerConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMPCXFilterFields = {\n Limit: 20,\n Offset: 0,\n VpcPeerConnectionIds: [],\n};\n\nconst BMPCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'VpcPeerConnectionIds',\n enDescriptor: 'VpcPeerConnectionIds',\n cnDescriptor: '对等连接实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/product/1024/36903',\n namespace,\n fieldDescriptor: BMPCXFilterFieldsDescriptor,\n};\n\nconst BMPCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpcPeerConnectionId',\n queries: BMPCXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['peeringConnectionId'];\n });\n return metricTmp;\n}\nexport default BMPCX_STATE;\nexport {\n BMPCXFilterFieldsDescriptor,\n templateQueryIdMap,\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMPCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/BLOCK_STORAGE';\nconst queryEditorName = 'cbsQuery';\n\nconst CBSInvalidDemensions = {\n diskId: 'DiskId',\n InstanceId: 'InstanceId',\n diskname: 'DiskName',\n unInstanceId: 'InstanceId',\n};\n\nconst CBSInstanceAliasList = ['DiskId', 'DiskName'];\n\nconst templateQueryIdMap = {\n instance: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CBSFilterFields = {\n Limit: 20,\n Offset: 0,\n DiskIds: [],\n OrderField: [],\n Order: [],\n ReturnBindAutoSnapshotPolicy: false,\n};\n\nconst CBSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DiskIds',\n enDescriptor: 'DiskIds',\n cnDescriptor: '云硬盘ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Order',\n enDescriptor: 'Order',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'select',\n list: [\n { text: '升序排列', value: 'ASC' },\n { text: '降序排列', value: 'DESC' },\n ],\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderField',\n cnDescriptor: '排序的依据字段',\n link: '',\n type: 'select',\n list: [\n { text: '云盘的创建时间排序', value: 'CREATE_TIME' },\n { text: '云盘的到期时间排序', value: 'DEADLINE' },\n ],\n },\n {\n key: 'ReturnBindAutoSnapshotPolicy',\n enDescriptor: 'ReturnBindAutoSnapshotPolicy',\n cnDescriptor: '否需要返回云盘绑定的定期快照策略ID',\n link: '',\n type: 'switch',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/362/16315',\n namespace,\n fieldDescriptor: CBSFilterFieldsDescriptor,\n};\n\nconst CBS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DiskId',\n queries: CBSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n return dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1;\n}\nexport default CBS_STATE;\nexport {\n CBSFilterFieldsDescriptor,\n templateQueryIdMap,\n CBSInstanceAliasList,\n CBSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n GetInstanceQueryParams as CBSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CDN_LOG_DATA';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cdnProvinceQuery';\n\nconst CDNPROVINCEInvalidDemensions = {\n domain: 'Domain',\n // isp: 'Isp',\n projectid: 'ProjectId',\n province: 'district',\n appid: 'AppId',\n};\n\n// 需和文件名对应\nconst CDNPROVINCEInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CDNPROVINCEFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNPROVINCEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n // Isp Province分别在两个接口,单独保存在state\n isp: '',\n district: '',\n queries: CDNPROVINCEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default CDNPROVINCE_STATE;\nexport {\n CDNPROVINCEFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNPROVINCEInstanceAliasList,\n CDNPROVINCEInvalidDemensions,\n namespace,\n queryEditorName,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CDNPROVINCEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CEIP_SUMMARY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ceipSummaryQuery';\n\nconst CEIPInvalidDemensions = {\n vip: 'AddressIp',\n eip: 'AddressIp',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst CEIPSUMMARYInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CEIPFilterFields = {\n Limit: 20,\n Offset: 0,\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status': {},\n 'is-arrears': {},\n 'address-isp': {},\n 'instance-id': [],\n 'private-ip-address': [],\n 'network-interface-id': [],\n};\n\nconst CEIPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'address-id',\n enDescriptor: 'address-id',\n cnDescriptor: ' EIP 的唯一 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'address-name',\n cnDescriptor: 'EIP 名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'address-ip',\n cnDescriptor: 'EIP 的 IP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'address-status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'CREATING', value: 'CREATING' },\n { text: 'BINDING', value: 'BINDING' },\n { text: 'BIND', value: 'BIND' },\n { text: 'UNBINDING', value: 'UNBINDING' },\n { text: 'UNBIND', value: 'UNBIND' },\n { text: 'OFFLINING', value: 'OFFLINING' },\n { text: 'BIND_ENI', value: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: 'EIP 绑定的实例 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'private-ip-address',\n cnDescriptor: 'EIP 绑定的内网 IP ',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'network-interface-id',\n cnDescriptor: ' EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'is-arrears',\n cnDescriptor: 'EIP 是否欠费',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '欠费状态', value: 'TRUE' },\n { text: '费用状态正常', value: 'FALSE' },\n ],\n },\n {\n key: 'address-isp',\n enDescriptor: 'address-isp',\n cnDescriptor: '运营商类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'BGP', value: 'BGP' },\n { text: 'CMCC', value: 'CMCC' },\n { text: 'CUCC', value: 'CUCC' },\n { text: 'CTCC', value: 'CTCC' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/16702',\n namespace,\n fieldDescriptor: CEIPFilterFieldsDescriptor,\n};\n\nconst CEIP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n queries: CEIPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['eip'];\n });\n return metricTmp;\n}\nexport default CEIP_STATE;\nexport {\n CEIPFilterFieldsDescriptor,\n templateQueryIdMap,\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n queryEditorName,\n modifyDimensons,\n queryEditorConfig,\n GetInstanceQueryParams as CEIPSUMMARYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'TopicName',\n enDescriptor: 'TopicName',\n cnDescriptor: '精确匹配TopicName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n topicId: 'TopicId',\n};\n\n// 因为cmq那边,以TopciName为主键\nexport const templateQueryIdMap = {\n instance: 'TopicName',\n subscription: 'SubscriptionId',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n subscriptionId: 'subscriptionId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n subscriptionId: {\n dim_KeyInStorage: keyInStorage.subscriptionId,\n dim_KeyInTarget: 'subscriptionId',\n dim_KeyInMap: templateQueryIdMap.subscription,\n },\n};\n// 与名称挂钩的变量\nconst InstanceAliasList = ['TopicName', 'TopicId'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicName',\n subscriptionId: '',\n queries: {\n Offset: 0,\n Limit: 20,\n TopicName: '',\n TagKey: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CPM';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cpmQuery';\n\nconst CPMInvalidDemensions = {\n instanceId: 'InstanceId',\n // uniqid: 'InstanceId',\n};\n\nconst CPMInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n DeviceClassCode: '',\n InstanceIds: [],\n WanIps: [],\n LanIps: [],\n Alias: '',\n VagueIp: '',\n AutoRenewFlag: {},\n VpcId: '',\n SubnetId: '',\n DeviceType: {},\n IsLuckyDevice: {},\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DeviceClassCode',\n enDescriptor: 'DeviceClassCode',\n cnDescriptor: '机型ID',\n link: '',\n type: 'dropdown',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '设备ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'WanIps',\n enDescriptor: 'WanIps',\n cnDescriptor: '外网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LanIps',\n enDescriptor: 'LanIps',\n cnDescriptor: '内网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Alias',\n enDescriptor: 'Alias',\n cnDescriptor: '设备名称',\n link: '',\n type: 'input',\n },\n {\n key: 'VagueIp',\n enDescriptor: 'VagueIp',\n cnDescriptor: '模糊IP查询',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenewFlag',\n enDescriptor: 'AutoRenewFlag',\n cnDescriptor: '自动续费标志',\n link: '',\n type: 'select',\n list: [\n { text: '不自动续费', value: 0 },\n { text: '自动续费', value: 1 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'DeviceType',\n enDescriptor: 'DeviceType',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '计算型', value: 'compute' },\n { text: '标准型', value: 'standard' },\n { text: '存储型', value: 'storage' },\n ],\n },\n {\n key: 'IsLuckyDevice',\n enDescriptor: 'IsLuckyDevice',\n cnDescriptor: '竞价实例机器过滤',\n link: '',\n type: 'select',\n list: [\n { text: '非竞价实例机器', value: 0 },\n { text: '竞价实例的机器', value: 1 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/386/32904',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['instanceId'];\n });\n return metricTmp;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CPMGetInstanceQueryParams,\n};\n","import { cloneDeep, compact, forEach, get, isArray, isEmpty, isObject, omit, uniq } from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\n\nconst namespace = 'QCE/DSA';\nconst queryEditorName = 'ecdnQuery';\n\nconst ECDNInstanceAliasList = ['Domain'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\nconst ECDNInvalidDemensions = {\n domain: 'Domain',\n projectid: 'ProjectId',\n};\n\nconst ECDN_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 100,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n disable: [],\n projectId: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n area: [],\n tagKey: [],\n },\n};\n\nconst ECDNFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'Origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'ResourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'Status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'disable',\n enDescriptor: 'Disable',\n cnDescriptor: '域名封禁状态',\n link: '',\n type: 'select',\n list: [\n { text: 'normal', value: 'normal' },\n { text: 'unlicensed', value: 'unlicensed' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'FullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'Https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'OriginPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'https', value: 'https' },\n { text: 'follow', value: 'follow' },\n ],\n },\n {\n key: 'area',\n enDescriptor: 'Area',\n cnDescriptor: '加速区域',\n link: '',\n type: 'select',\n list: [\n { text: 'mainland', value: 'mainland' },\n { text: 'overseas', value: 'overseas' },\n { text: 'global', value: 'global' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/570/42462',\n namespace,\n fieldDescriptor: ECDNFilterFieldsDescriptor,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!isEmpty(queries)) {\n params.Limit = get(queries, 'Limit', 20) || 20;\n params.Offset = get(queries, 'Offset', 0) || 0;\n const _queries = omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n forEach(_queries, (item: any, key) => {\n if (isArray(item)) {\n item = compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: uniq(item).slice(0, 5) });\n }\n } else if (isObject(item)) {\n if (!isEmpty(get(item, 'value', []))) {\n Filters.push({ Name: key, Value: [get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters.map((item) => {\n if (item.Name === 'domain') {\n return { ...item, Fuzzy: true };\n }\n return item;\n });\n return params;\n }\n }\n return params;\n}\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['domain', 'projectid'];\n });\n return metricTmp;\n}\n\nexport default ECDN_STATE;\n\nexport {\n ECDNFilterFieldsDescriptor,\n templateQueryIdMap,\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECDNGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM';\nconst queryEditorName = 'ecmQuery';\n\nconst ECMInvalidDemensions = {\n // diskId: 'InstanceId',\n uuid: 'UUID',\n // unInstanceId: 'InstanceId',\n};\n\nconst ECMInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMFilterFields = {\n Limit: 20,\n Offset: 0,\n zone: [],\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: '可用区英文标识',\n link: '',\n type: 'dropdownMulti',\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: ECMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nconst namespace = 'QCE/POSTGRES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'postgresQuery';\n\nconst PostgresFields = {\n 'db-instance-id': [],\n 'db-instance-name': [],\n};\n\nconst PostgresFieldsDescriptor: FildDescriptorType = [\n {\n key: 'db-instance-id',\n enDescriptor: 'DB Instance ID',\n cnDescriptor: 'DB 实例ID',\n link: '',\n type: 'inputMulti',\n min: 0,\n },\n {\n key: 'db-instance-name',\n enDescriptor: 'DB Instance Name',\n cnDescriptor: 'DB 实例名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/409/16773',\n namespace,\n fieldDescriptor: PostgresFieldsDescriptor,\n};\nconst POSTGRESInstanceAliasList = ['DBInstanceId', 'DBInstanceName'];\n\nconst POSTGRES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DBInstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...PostgresFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nconst PostgreInvalidDemensions = {\n uid: 'DBInstanceId',\n resourceId: 'DBInstanceId',\n};\nconst templateQueryIdMap = {\n instance: 'DBInstanceId',\n};\nexport default POSTGRES_STATE;\n\nexport {\n PostgresFieldsDescriptor,\n POSTGRESInstanceAliasList,\n templateQueryIdMap,\n modifyDimensons,\n namespace,\n queryEditorName,\n queryEditorConfig,\n PostgreInvalidDemensions,\n GetInstanceQueryParams as POSTGRESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPC_NET_DETECT';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vpcNetDetectQuery';\n\nconst VPCNETInvalidDemensions = {\n netdetectid: 'NetDetectId',\n netDetectId: 'NetDetectId',\n};\n\nconst VPCNETDETECTInstanceAliasList = ['NetDetectId', 'NetDetectName'];\n\nconst templateQueryIdMap = {\n instance: 'NetDetectId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPCNETFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'net-detect-id': [],\n 'subnet-id': [],\n 'net-detect-name': [],\n};\n\nconst VPCNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-id',\n enDescriptor: 'net-detect-id',\n cnDescriptor: '网络探测实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-name',\n enDescriptor: 'net-detect-name',\n cnDescriptor: '网络探测名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/38696',\n namespace,\n fieldDescriptor: VPCNETFilterFieldsDescriptor,\n};\n\nconst VPCNET_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NetDetectId',\n queries: VPCNETFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['netDetectId'];\n });\n return metricTmp;\n}\nexport default VPCNET_STATE;\nexport {\n VPCNETFilterFieldsDescriptor,\n templateQueryIdMap,\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as VPCNETDETECTGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/WAF';\nconst queryEditorName = 'wafQuery';\nconst WAFFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst WAFFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/228/41118',\n namespace,\n fieldDescriptor: WAFFilterFieldsDescriptor,\n};\nconst WAF_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: WAFFilterFields,\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n];\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst WAFInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst WAFInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default WAF_STATE;\nexport {\n WAFFilterFieldsDescriptor,\n templateQueryIdMap,\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n namespace,\n regionSupported,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as WAFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst InstanceTypes = [\n { text: '主实例', value: 1 },\n { text: '备灾实例', value: 2 },\n { text: '只读实例', value: 3 },\n];\n\nconst Status = [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '隔离中', value: 4 },\n { text: '已隔离', value: 5 },\n];\n\nconst PayTypes = [\n { text: '包年包月', value: 0 },\n { text: '小时计费', value: 1 },\n];\n\nconst TaskStatus = [\n { text: '没有任务', value: 0 },\n { text: '升级中', value: 1 },\n { text: '数据导入中', value: 2 },\n { text: '开放Slave中', value: 3 },\n { text: '外网访问开通中', value: 4 },\n { text: '批量操作执行中', value: 5 },\n { text: '回档中', value: 6 },\n { text: '外网访问关闭中', value: 7 },\n { text: '密码修改中', value: 8 },\n { text: '实例名修改中', value: 9 },\n { text: '重启中', value: 10 },\n { text: '自建迁移中', value: 12 },\n { text: '删除库表中', value: 13 },\n { text: '灾备实例创建同步中', value: 14 },\n { text: '升级待切换', value: 15 },\n { text: '升级切换中', value: 16 },\n { text: '升级切换完成', value: 17 },\n];\n\nconst EngineVersions = [\n { text: '5.1', value: '5.1' },\n { text: '5.5', value: '5.5' },\n { text: '5.6', value: '5.6' },\n { text: '5.7', value: '5.7' },\n];\n\nconst OrderBy = [\n { text: 'InstanceId', value: 'InstanceId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'DeadlineTime', value: 'DeadlineTime' },\n];\n\nconst OrderDirection = [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n];\n\nconst InitFlag = [\n { text: '未初始化', value: 0 },\n { text: '初始化', value: 1 },\n];\n\nconst CdbErrors = [\n { text: '未锁定', value: 0 },\n { text: '锁定', value: 1 },\n];\n\nconst CDBFields = {\n ProjectId: '',\n InstanceTypes: {},\n Vips: [],\n Status: {},\n Offset: 0,\n Limit: 20,\n SecurityGroupId: '',\n PayTypes: {},\n InstanceNames: [],\n TaskStatus: {},\n EngineVersions: {},\n VpcIds: [],\n ZoneIds: [],\n SubnetIds: [],\n CdbErrors: {},\n OrderBy: {},\n OrderDirection: {},\n InstanceIds: [],\n InitFlag: {},\n};\n\nconst CDBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ZoneIds',\n enDescriptor: 'Zone ID',\n cnDescriptor: '可用区的ID',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'InstanceTypes',\n enDescriptor: 'Instance Type',\n cnDescriptor: '实例类型',\n link: '',\n multiple: true,\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'EngineVersions',\n enDescriptor: 'Engine Version',\n cnDescriptor: '实例数据库引擎版本',\n link: '',\n multiple: true,\n type: 'select',\n list: EngineVersions,\n },\n {\n key: 'TaskStatus',\n enDescriptor: 'Task Status',\n cnDescriptor: '实例任务',\n link: '',\n multiple: true,\n type: 'select',\n list: TaskStatus,\n },\n {\n key: 'InitFlag',\n enDescriptor: 'Init Flag',\n cnDescriptor: '实例初始化状态',\n link: '',\n multiple: true,\n type: 'select',\n list: InitFlag,\n },\n {\n key: 'PayTypes',\n enDescriptor: 'Pay Type',\n cnDescriptor: '付费类型',\n link: '',\n multiple: true,\n type: 'select',\n list: PayTypes,\n },\n {\n key: 'CdbErrors',\n enDescriptor: 'CDB Errors',\n cnDescriptor: '实例锁定标记',\n link: '',\n multiple: true,\n type: 'select',\n list: CdbErrors,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderDirection',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderDirection,\n },\n {\n key: 'Vips',\n enDescriptor: 'Vip',\n cnDescriptor: '实例内网IP地址',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'VpcIds',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '私有网络ID',\n link: 'https://cloud.tencent.com/document/api/215/15778',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: 'https://cloud.tencent.com/document/api/215/15784',\n type: 'inputmulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/product/378/4400',\n type: 'input',\n },\n {\n key: 'SecurityGroupId',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: 'https://cloud.tencent.com/document/api/236/15854',\n type: 'input',\n },\n];\n\nconst CDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...CDBFields },\n};\n\nconst CDBInstanceAliasList = ['InstanceId', 'InstanceName', 'Vip'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return (\n dimension.length === 2 &&\n ((_.indexOf(dimension, 'instanceid') !== -1 && _.indexOf(dimension, 'insttype') !== -1) ||\n (_.indexOf(dimension, 'InstanceId') !== -1 && _.indexOf(dimension, 'InstanceType') !== -1))\n );\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((i) => CDBInvalidDemensions[i] || i);\n });\n return metricTmp;\n}\nconst CDBInvalidDemensions = {\n instanceid: 'InstanceId',\n insttype: 'InstanceType',\n region: 'Region',\n};\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CDB_STATE;\n\nexport {\n CDBFieldsDescriptor,\n CDBInstanceAliasList,\n templateQueryIdMap,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n GetInstanceQueryParams as CDBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cesQuery';\n\nconst CESInvalidDemensions = {\n uInstanceId: 'InstanceId',\n};\n\nconst CESInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CESFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n InstanceNames: [],\n OrderByKey: {},\n OrderByType: {},\n IpList: [],\n};\n\nconst CESFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '集群实例ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'InstanceNames',\n cnDescriptor: '集群实例名称列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderByKey',\n enDescriptor: 'OrderByKey',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 1 },\n { text: '实例名称', value: 2 },\n { text: '可用区', value: 3 },\n { text: '创建时间', value: 4 },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n ],\n },\n {\n key: 'IpList',\n enDescriptor: 'IpList',\n cnDescriptor: '私有网络vip列表',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/845/30631',\n namespace,\n fieldDescriptor: CESFilterFieldsDescriptor,\n};\n\nconst CES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CESFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default CES_STATE;\nexport {\n CESFilterFieldsDescriptor,\n templateQueryIdMap,\n CESInstanceAliasList,\n CESInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DC';\nconst queryEditorName = 'dcQuery';\n\nconst DCFilterFields = {\n Limit: 20,\n Offset: 0,\n DirectConnectIds: [],\n};\n\nconst DCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DirectConnectIds',\n enDescriptor: 'DirectConnectIds',\n cnDescriptor: '物理专线 ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/34826',\n namespace,\n fieldDescriptor: DCFilterFieldsDescriptor,\n};\n\nconst DC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectId',\n queries: DCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst DCInstanceAliasList = ['DirectConnectId', 'DirectConnectName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectId',\n};\n\nconst DCInvalidDemensions = {\n directConnectId: 'DirectConnectId',\n directconnectid: 'DirectConnectId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectId'];\n });\n return metricTmp;\n}\nexport default DC_STATE;\nexport {\n DCFilterFieldsDescriptor,\n templateQueryIdMap,\n DCInstanceAliasList,\n DCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCG';\nconst queryEditorName = 'dcgQuery';\n\nconst DCGInvalidDemensions = {\n directConnectGatewayId: 'DirectConnectGatewayId',\n};\n\nconst DCGInstanceAliasList = ['DirectConnectGatewayId', 'DirectConnectGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst DCGFilterFields = {\n Limit: 20,\n Offset: 0,\n 'direct-connect-gateway-id': [],\n 'direct-connect-gateway-name': [],\n 'direct-connect-gateway-ip': [],\n 'gateway-type': {},\n 'network-type': {},\n 'ccn-id': [],\n 'vpc-id': [],\n};\n\nconst DCGFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-gateway-id',\n enDescriptor: 'direct-connect-gateway-id',\n cnDescriptor: '专线网关唯一ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-name',\n enDescriptor: 'direct-connect-gateway-name',\n cnDescriptor: '专线网关名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-ip',\n enDescriptor: 'direct-connect-gateway-ip',\n cnDescriptor: '专线网关IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'gateway-type',\n enDescriptor: 'gateway-type',\n cnDescriptor: '网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '普通型', value: 'NORMAL' },\n { text: 'NAT型', value: 'NAT' },\n ],\n },\n {\n key: 'network-type',\n enDescriptor: 'network-type',\n cnDescriptor: '网络类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '私有网络类型', value: 'VPC' },\n { text: '云联网类型', value: 'CCN' },\n ],\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: '专线网关所在云联网ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '专线网关所在私有网络ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/30644',\n namespace,\n fieldDescriptor: DCGFilterFieldsDescriptor,\n};\n\nconst DCG_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectGatewayId',\n queries: DCGFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default DCG_STATE;\nexport {\n DCGFilterFieldsDescriptor,\n templateQueryIdMap,\n DCGInstanceAliasList,\n DCGInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as DCGGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCX';\nconst queryEditorName = 'dcxQuery';\n\nconst DCXFilterFields = {\n 'direct-connect-tunnel-name': [],\n 'direct-connect-tunnel-id': [],\n 'direct-connect-id': [],\n};\n\nconst DCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-tunnel-name',\n enDescriptor: 'direct-connect-tunnel-name',\n cnDescriptor: '专用通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-tunnel-id',\n enDescriptor: 'direct-connect-tunnel-id',\n cnDescriptor: '专用通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-id',\n enDescriptor: 'direct-connect-id',\n cnDescriptor: '物理专线实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/19819',\n namespace,\n fieldDescriptor: DCXFilterFieldsDescriptor,\n};\n\nconst DCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectTunnelId',\n queries: {\n Limit: 20,\n Offset: 0,\n ...DCXFilterFields,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst DCXInstanceAliasList = ['DirectConnectTunnelId', 'DirectConnectTunnelName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n};\n\nconst DCXInvalidDemensions = {\n directconnectconnid: 'DirectConnectTunnelId',\n directConnectConnId: 'DirectConnectTunnelId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectConnId'];\n });\n return metricTmp;\n}\nexport default DCX_STATE;\nexport {\n DCXFilterFieldsDescriptor,\n templateQueryIdMap,\n DCXInstanceAliasList,\n DCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_LB';\nconst queryEditorName = 'ecmLbQuery';\n\nconst ECMLBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\nconst ECMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMLBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n BackendPrivateIps: [],\n VpcId: '',\n};\n\nconst ECMLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivateIps',\n cnDescriptor: '绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属私有网络唯一ID',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/48459',\n namespace,\n fieldDescriptor: ECMLBFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: ECMLBFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMLBFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMLBInstanceAliasList,\n ECMLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMLBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst InstanceTypes = [\n { text: '所有实例', value: 0 },\n { text: '正式实例', value: 1 },\n { text: '临时实例', value: 2 },\n { text: '只读实例', value: 3 },\n { text: '正式,只读,灾备实例', value: -1 },\n];\n\nconst ClusterTypes = [\n { text: '副本集实例', value: 0 },\n { text: '分片实例', value: 1 },\n { text: '所有实例', value: -1 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '实例有效', value: 2 },\n { text: '实例已过期', value: -2 },\n];\n\nconst PayMode = [\n { text: '按量计费', value: 0 },\n { text: '包年包月', value: 1 },\n { text: '按量包年包月计费', value: -1 },\n];\n\nconst OrderBy = [\n { text: 'ProjectId', value: 'ProjectId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n];\n\nconst OrderByType = [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n];\n\nconst MongoDBFields = {\n InstanceIds: [],\n InstanceType: {},\n ClusterType: {},\n Status: [],\n VpcId: '',\n SubnetId: '',\n PayMode: {},\n Limit: 20,\n Offset: 0,\n OrderBy: '',\n OrderByType: '',\n};\n\nconst MONGODBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstancesIds',\n cnDescriptor: '实例名称',\n type: 'inputmulti',\n },\n {\n key: 'InstanceType',\n enDescriptor: 'InstanceType',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'ClusterType',\n enDescriptor: 'ClusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: ClusterTypes,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网ID,基础网络则不传该参数。入参设置该参数的同时,必须设置相应的VpcId',\n link: '',\n type: 'input',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '付费类型',\n link: '',\n type: 'select',\n list: PayMode,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderByType,\n },\n];\n\nconst MONGODB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...MongoDBFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst MONGODBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst MONGODBInvalidDemensions = {\n target: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n replica: 'ReplicaSetId',\n};\n\nconst queryMonitorExtraConfg = {\n Replica: {\n dim_KeyInStorage: 'ReplicaSets',\n dim_KeyInTarget: 'replica',\n dim_KeyInMap: 'ReplicaSetId',\n dim_KeyInIns: 'ReplicaSetId',\n },\n Node: {\n dim_KeyInStorage: 'ReplicaNodeSets',\n dim_KeyInTarget: 'node',\n dim_KeyInMap: 'NodeId',\n dim_KeyInIns: 'NodeId',\n },\n};\nexport default MONGODB_STATE;\nexport {\n MONGODBFieldsDescriptor,\n MONGODBInvalidDemensions,\n MONGODBInstanceAliasList,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as MONGODBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/QAAP';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'qaapQuery';\n\nconst QAAPInvalidDemensions = {\n channelId: 'InstanceId',\n};\n\nconst QAAPInstanceAliasList = ['InstanceId'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst QAAPFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: [],\n AccessRegion: [],\n RealServerRegion: [],\n GroupId: [],\n};\n\nconst QAAPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'AccessRegion',\n enDescriptor: 'AccessRegion',\n cnDescriptor: '接入地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'RealServerRegion',\n enDescriptor: 'RealServerRegion',\n cnDescriptor: '源站地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'GroupId',\n enDescriptor: 'GroupId',\n cnDescriptor: '通道组ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/608/36963',\n namespace,\n fieldDescriptor: QAAPFilterFieldsDescriptor,\n};\n\nconst QAAP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: QAAPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n // metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['netDetectId'];\n // });\n return metricTmp;\n}\nexport default QAAP_STATE;\nexport {\n QAAPFilterFieldsDescriptor,\n templateQueryIdMap,\n QAAPInstanceAliasList,\n QAAPInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as QAAPGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TCAPLUS';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tcaplusQuery';\n\nconst TCAPLUSInvalidDemensions = {\n // TableInstanceId: 'TableInstanceId',\n // ClusterId: 'ClusterId',\n};\n\n// 需和文件名对应\nconst TCAPLUSInstanceAliasList = ['TableInstanceId', 'TableName'];\n\nconst templateQueryIdMap = {\n instance: 'TableInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst TCAPLUSFilterFields = {\n Limit: 20,\n Offset: 0,\n ClusterId: '',\n TableGroupIds: [],\n\n TableName: '',\n TableInstanceId: '',\n TableIdlType: {},\n TableType: {},\n ListElementNum: null,\n ReservedVolume: null,\n ReservedReadQps: null,\n ReservedWriteQps: null,\n Memo: '',\n FileName: '',\n FileExtType: '',\n FileSize: null,\n FileContent: '',\n};\n\nconst TCAPLUSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ClusterId',\n enDescriptor: 'ClusterId',\n cnDescriptor: '表格所属集群ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableGroupIds',\n enDescriptor: 'TableGroupIds',\n cnDescriptor: '表格组ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'TableName',\n enDescriptor: 'TableName',\n cnDescriptor: '表格名称',\n link: '',\n type: 'input',\n },\n {\n key: 'TableInstanceId',\n enDescriptor: 'TableInstanceId',\n cnDescriptor: '表实例ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableIdlType',\n enDescriptor: 'TableIdlType',\n cnDescriptor: '表格描述语言类型',\n link: '',\n type: 'select',\n list: [\n { text: 'PROTO', value: 'PROTO' },\n { text: 'TDR', value: 'TDR' },\n ],\n },\n {\n key: 'TableType',\n enDescriptor: 'TableType',\n cnDescriptor: '表格数据结构类型',\n link: '',\n type: 'select',\n list: [\n { text: 'GENERIC', value: 'GENERIC' },\n { text: 'LIST', value: 'LIST' },\n ],\n },\n {\n key: 'ListElementNum',\n enDescriptor: 'ListElementNum',\n cnDescriptor: 'LIST表元素个数',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedVolume',\n enDescriptor: 'ReservedVolume',\n cnDescriptor: '表格预留容量(GB)',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedReadQps',\n enDescriptor: 'ReservedReadQps',\n cnDescriptor: '表格预留读CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedWriteQps',\n enDescriptor: 'ReservedWriteQps',\n cnDescriptor: '表格预留写CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Memo',\n enDescriptor: 'Memo',\n cnDescriptor: '表格备注信息',\n link: '',\n type: 'input',\n },\n {\n key: 'FileName',\n enDescriptor: 'FileName',\n cnDescriptor: 'Key回档文件名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileExtType',\n enDescriptor: 'FileExtType',\n cnDescriptor: 'Key回档文件扩展名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileSize',\n enDescriptor: 'FileSize',\n cnDescriptor: 'Key回档文件大小,回档专用',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'FileContent',\n enDescriptor: 'FileContent',\n cnDescriptor: 'Key回档文件内容,回档专用',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/596/39664',\n namespace,\n fieldDescriptor: TCAPLUSFilterFieldsDescriptor,\n};\n\nconst TCAPLUS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TableInstanceId',\n queries: TCAPLUSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n params.ClusterId = _.get(queries, 'ClusterId', '') || '';\n params.TableGroupIds = _.get(queries, 'TableGroupIds', []) || [];\n queries = _.omit(queries, ['Offset', 'Limit', 'TableGroupIds', 'ClusterId']);\n const SelectedTables: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n SelectedTables[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n SelectedTables[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n SelectedTables[key] = item;\n }\n });\n params.SelectedTables = SelectedTables;\n return params;\n}\n// 和其他产品的展示保持一致\nconst regonsMap = {\n 'ap-beijing': '华北地区(北京)',\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-tokyo': '亚太东北(东京)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'na-siliconvalley': '美国西部(硅谷)',\n};\nexport default TCAPLUS_STATE;\nexport {\n TCAPLUSFilterFieldsDescriptor,\n templateQueryIdMap,\n TCAPLUSInstanceAliasList,\n TCAPLUSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regonsMap,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TCAPLUSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VBC';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vbcQuery';\n\nconst VBCInvalidDemensions = {\n // CcnId: 'CcnId',\n};\n\n// 需和文件名对应\nconst VBCInstanceAliasList = ['CcnId', 'CcnName'];\n\nconst templateQueryIdMap = {\n instance: 'CcnId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst VBCFilterFields = {\n Limit: 20,\n Offset: 0,\n 'ccn-id': [],\n 'ccn-name': [],\n 'ccn-description': [],\n state: {},\n};\n\nconst VBCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: 'CCN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-name',\n enDescriptor: 'ccn-name',\n cnDescriptor: 'CCN名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-description',\n enDescriptor: 'ccn-description',\n cnDescriptor: 'CCN描述',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '隔离中', value: 'ISOLATED' },\n { text: '运行中', value: 'AVAILABLE' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/19199',\n namespace,\n fieldDescriptor: VBCFilterFieldsDescriptor,\n};\n\nconst VBC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'CcnId',\n DRegion: '',\n SRegion: '',\n queries: VBCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default VBC_STATE;\nexport {\n VBCFilterFieldsDescriptor,\n templateQueryIdMap,\n VBCInstanceAliasList,\n VBCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as VBCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNGW';\nconst queryEditorName = 'vpngwQuery';\n\nconst VPNGWInvalidDemensions = {\n vpnGwId: 'VpnGatewayId',\n};\n\nconst VPNGWInstanceAliasList = ['VpnGatewayId', 'VpnGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNGWFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'vpn-gateway-name': [],\n type: {},\n 'public-ip-address': [],\n 'renew-flag': {},\n zone: [],\n};\n\nconst VPNGWFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-name',\n enDescriptor: 'vpn-gateway-name',\n cnDescriptor: 'VPN实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'type',\n enDescriptor: 'type',\n cnDescriptor: 'VPN网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'IPSEC', value: 'IPSEC' },\n { text: 'SSL', value: 'SSL' },\n ],\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'public-ip-address',\n cnDescriptor: '公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'renew-flag',\n enDescriptor: 'renew-flag',\n cnDescriptor: '网关续费类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '手动续费', value: 'NOTIFY_AND_MANUAL_RENEW' },\n { text: '自动续费', value: 'NOTIFY_AND_AUTO_RENEW' },\n ],\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: 'VPN所在可用区',\n link: '',\n type: 'dropdownMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17514',\n namespace,\n fieldDescriptor: VPNGWFilterFieldsDescriptor,\n};\n\nconst VPNGW_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnGatewayId',\n queries: VPNGWFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNGW_STATE;\nexport {\n VPNGWFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNGWInstanceAliasList,\n VPNGWInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNGWGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNX';\nconst queryEditorName = 'vpnxQuery';\n\nconst VPNXInvalidDemensions = {\n vpnConnId: 'VpnConnectionId',\n};\n\nconst VPNXInstanceAliasList = ['VpnConnectionId', 'VpnConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNXFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'customer-gateway-id': [],\n 'vpn-connection-name': [],\n 'vpn-connection-id': [],\n};\n\nconst VPNXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'customer-gateway-id ',\n enDescriptor: 'customer-gateway-id ',\n cnDescriptor: '对端网关实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-name',\n enDescriptor: 'vpn-connection-name',\n cnDescriptor: '通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-id',\n enDescriptor: 'vpn-connection-id',\n cnDescriptor: '通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17515',\n namespace,\n fieldDescriptor: VPNXFilterFieldsDescriptor,\n};\n\nconst VPNX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnConnectionId',\n queries: VPNXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNX_STATE;\nexport {\n VPNXFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNXInstanceAliasList,\n VPNXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst LighthouseStateType = [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n];\n\nconst LighthouseFilterFields = {\n zone: [],\n 'instance-name': [],\n 'instance-state': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n};\n\nconst LighthouseFilterFieldsDescriptor = [\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'Instance State',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: LighthouseStateType,\n },\n];\n\nconst LIGHTHOUSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...LighthouseFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LIGHTHOUSEInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst LighthouseInvalidDemensions = {\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default LIGHTHOUSE_STATE;\n\nexport {\n LighthouseFilterFieldsDescriptor,\n LIGHTHOUSEInstanceAliasList,\n LighthouseInvalidDemensions,\n templateQueryIdMap,\n modifyDimensons,\n GetInstanceQueryParams as LIGHTHOUSEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const CFSQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'FileSystemId',\n enDescriptor: 'File System Id',\n cnDescriptor: '文件系统 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络(VPC) ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网 ID',\n link: '',\n type: 'input',\n },\n];\n\nconst CFS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FileSystemId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n FileSystemId: '',\n VpcId: '',\n SubnetId: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CFSInstanceAliasList = ['FileSystemId', 'FsName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CFSInvalidDemensions = {\n // functionName: 'FunctionName',\n // namespace: 'Namespace'\n};\n\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CFS_STATE;\nexport {\n CFSInstanceAliasList,\n CFSInvalidDemensions,\n templateQueryIdMap,\n regionSupported,\n GetInstanceQueryParams as CFSGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'QueueName',\n enDescriptor: 'QueueName',\n cnDescriptor: '精确匹配QueueName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n queueId: 'QueueId',\n queueName: 'QueueName',\n};\n\nexport const templateQueryIdMap = {\n instance: 'QueueName',\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['QueueName', 'QueueId'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'QueueName',\n queries: {\n Offset: 0,\n Limit: 20,\n QueueName: '',\n TagKey: '',\n },\n};\n","import _ from 'lodash';\nconst instanceChargeTypes = [\n { text: '预付费', value: 'PREPAID' },\n { text: '后付费', value: 'POSTPAID_BY_HOUR' },\n { text: 'CDH付费', value: 'CDHPAID' },\n];\n\nconst CVMFilterFields = {\n zone: [],\n 'project-id': [],\n 'host-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n 'instance-id': [],\n 'security-group-id': [],\n 'instance-name': [],\n 'instance-charge-type': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n 'tag-key': [],\n};\n\nconst CVMFilterFieldsDescriptor = [\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'project-id',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/api/378/4400',\n type: 'inputNumbermulti',\n },\n {\n key: 'host-id',\n enDescriptor: 'CDH ID',\n cnDescriptor: 'CDH ID',\n link: 'https://cloud.tencent.com/document/product/416/19730',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: 'VPC ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'security-group-id',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-key',\n enDescriptor: '标签简',\n cnDescriptor: '标签简',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-charge-type',\n enDescriptor: 'Instance Charge Type',\n cnDescriptor: '实例计费模式',\n link: '',\n type: 'select',\n list: instanceChargeTypes,\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP,包含实例创建时自动分配的IP和实例创建后手动绑定的弹性IP',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CVM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...CVMFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst CVMInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst CVMValidMetricsT = [\n 'CPUUsage',\n 'CpuLoadavg',\n 'Cpuloadavg5m',\n 'Cpuloadavg15m',\n 'BaseCpuUsage',\n 'GpuMemTotal',\n 'GpuMemUsage',\n 'GpuMemUsed',\n 'GpuPowDraw',\n 'GpuPowLimit',\n 'GpuPowUsage',\n 'GpuTemp',\n 'GpuUtil',\n 'LanOuttraffic',\n 'LanIntraffic',\n 'LanOutpkg',\n 'LanInpkg',\n 'WanOuttraffic',\n 'WanIntraffic',\n 'WanOutpkg',\n 'WanInpkg',\n 'AccOuttraffic',\n 'TcpCurrEstab',\n 'TimeOffset',\n 'MemUsed',\n 'MemUsage',\n 'CvmDiskUsage',\n 'BaseCpuUsage',\n 'VmDiskReadIops',\n];\n// const CVMInvalidDemensions = {\n// 'vm_uuid': 'InstanceId',\n// 'vmUuid': 'InstanceId',\n// };\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nfunction isValidMetric(metric) {\n const CVMValidMetrics = _.map(CVMValidMetricsT, _.toUpper);\n return _.indexOf(CVMValidMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default CVM_STATE;\nexport {\n CVMFilterFieldsDescriptor,\n CVMInstanceAliasList,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n // CVMInvalidDemensions,\n GetInstanceQueryParams as CVMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst namespace = 'QCE/PCX';\n\nconst PCXFields = {\n limit: 20,\n offset: 0,\n peeringConnectionId: '',\n peeringConnectionName: '',\n vpcId: '',\n state: undefined,\n};\n\nconst PCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'peeringConnectionId',\n queries: { ...PCXFields },\n};\n\nconst StateTypes = [\n { text: '申请中', value: 0 },\n { text: '连接成功', value: 1 },\n { text: '已过期', value: 2 },\n { text: '对端已拒绝', value: 3 },\n { text: '对端已删除', value: 4 },\n];\n\nconst PCXFieldsDescriptor = [\n {\n key: 'offset',\n enDescriptor: 'offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'limit',\n enDescriptor: 'limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为50',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 50,\n },\n {\n key: 'peeringConnectionId',\n enDescriptor: 'PeeringConnection Id',\n cnDescriptor: '私有网络对等连接 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'peeringConnectionName',\n enDescriptor: 'PeeringConnection Name',\n cnDescriptor: '对等连接名称',\n link: '',\n type: 'input',\n },\n {\n key: 'vpcId',\n enDescriptor: 'vpcId',\n cnDescriptor: '发起方私有网络 ID 值',\n link: 'https://cloud.tencent.com/document/api/215/1372',\n type: 'dropdown',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '连接状态',\n link: '',\n type: 'select',\n list: StateTypes,\n },\n];\n\nconst PCXInstanceAliasList = ['peeringConnectionId', 'peeringConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'peeringConnectionId',\n};\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.limit = _.get(queries, 'limit', 20) || 20;\n params.offset = _.get(queries, 'offset', 0) || 0;\n queries = _.omit(queries, ['offset', 'limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nexport default PCX_STATE;\n\nexport {\n PCXInstanceAliasList,\n PCXFieldsDescriptor,\n templateQueryIdMap,\n namespace,\n GetInstanceQueryParams as PCXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDIS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return dimension.length === 1 && _.indexOf(dimension, 'instanceid') !== -1;\n}\n\nconst REDISInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisInvalidDemensions = {\n redis_uuid: 'InstanceId',\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default REDIS_STATE;\nexport {\n RedisFieldsDescriptor,\n RedisInvalidDemensions,\n templateQueryIdMap,\n REDISInstanceAliasList,\n isValidMetric,\n GetInstanceQueryParams as REDISGetInstanceQueryParams,\n};\n","import { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst ApplicationType = [\n { text: '所有', value: '' },\n { text: '容器应用', value: 'C' },\n { text: '普通应用/虚拟机应用', value: 'V' },\n];\n\nconst MicroserviceType = [\n { text: '所有', value: '' },\n { text: '普通应用', value: 'N' },\n { text: 'Mesh应用', value: 'M' },\n { text: '微服务网关应用', value: 'G' },\n { text: '原生应用', value: 'NATIVE' },\n];\n\nconst ApplicationResourceType = [\n { text: '默认资源类型', value: 'DEF' },\n { text: '微服务网关资源', value: 'GW' },\n];\n\nconst TSFFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '搜索关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ApplicationIdList',\n enDescriptor: 'ApplicationIdList',\n cnDescriptor: '应用ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ApplicationType',\n enDescriptor: 'ApplicationType',\n cnDescriptor: '应用类型',\n link: '',\n type: 'select',\n list: ApplicationType,\n },\n {\n key: 'MicroserviceType',\n enDescriptor: 'MicroserviceType',\n cnDescriptor: '应用的微服务类型',\n link: '',\n type: 'select',\n list: MicroserviceType,\n },\n {\n key: 'ApplicationResourceTypeList',\n enDescriptor: 'ApplicationResourceTypeList',\n cnDescriptor: '应用资源类型数组',\n link: '',\n type: 'select',\n multiple: true,\n list: ApplicationResourceType,\n },\n];\n\nconst TSF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ApplicationId',\n queries: {\n Limit: 20,\n Offset: 0,\n SearchWord: '',\n OrderBy: '',\n OrderType: null,\n ApplicationType: '',\n MicroserviceType: '',\n ApplicationResourceTypeList: [],\n ApplicationIdList: [],\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst TSFInstanceAliasList = ['ApplicationId', 'ApplicationName'];\n\nconst TSFInvalidDemensions = {\n applicationid: 'ApplicationId',\n};\n\nconst templateQueryIdMap = {\n instance: 'ApplicationId',\n};\n\nexport default TSF_STATE;\nexport {\n TSFInvalidDemensions,\n templateQueryIdMap,\n TSFInstanceAliasList,\n TSFFieldsDescriptor,\n GetInstanceQueryParams as TSFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst networkTypes = [\n { text: 'BGP', value: 'BGP' },\n { text: 'SINGLEISP', value: 'SINGLEISP' },\n { text: 'ANYCAST', value: 'ANYCAST' },\n];\n\nconst chargeTypes = [\n { text: 'top5计费', value: 'TOP5_POSTPAID_BY_MONTH' },\n { text: '月95计费', value: 'PERCENT95_POSTPAID_BY_MONTH' },\n];\nconst BWPFilterFields = {\n 'bandwidth-package_id': [],\n 'bandwidth-package-name': [],\n 'network-type': [],\n 'charge-type': [],\n};\n\nconst BWPFilterFieldsDescriptor = [\n {\n key: 'bandwidth-package_id',\n enDescriptor: 'BandwidthPackage Id',\n cnDescriptor: '带宽包ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'bandwidth-package-name',\n enDescriptor: 'BandwidthPackage Name',\n cnDescriptor: '带宽包名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-type',\n enDescriptor: 'network type',\n cnDescriptor: '带宽包类型',\n link: '',\n type: 'select',\n list: networkTypes,\n },\n {\n key: 'charge-type',\n enDescriptor: 'charge type',\n cnDescriptor: '带宽包计费类型',\n link: '',\n type: 'select',\n list: chargeTypes,\n },\n];\n\nconst BWP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BandwidthPackageId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n BandwidthPackageIds: [''],\n Filters: { ...BWPFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.BandwidthPackageIds)) {\n const BandwidthPackageIds = _.compact(queries.BandwidthPackageIds);\n if (_.uniq(BandwidthPackageIds).length > 0) {\n params.BandwidthPackageIds = _.uniq(BandwidthPackageIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst BWPInstanceAliasList = ['BandwidthPackageId', 'BandwidthPackageName'];\n\nconst templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n};\n\nconst BWPInvalidDemensions = {\n bandwidthPackageId: 'BandwidthPackageId',\n};\nexport default BWP_STATE;\nexport {\n BWPFilterFieldsDescriptor,\n templateQueryIdMap,\n BWPInstanceAliasList,\n BWPInvalidDemensions,\n GetInstanceQueryParams as BWPGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n // console.log('item', item, queries);\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst CDNInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst CDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default CDN_STATE;\nexport {\n CDNFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNInstanceAliasList,\n CDNInvalidDemensions,\n GetInstanceQueryParams as CDNGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\n// export const LBQueryDescriptor = [{\n// key: 'Offset',\n// enDescriptor: 'Offset',\n// cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n// link: '',\n// type: 'inputnumber',\n// min: 0,\n// },\n// {\n// key: 'Limit',\n// enDescriptor: 'Limit',\n// cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为2000',\n// link: '',\n// type: 'inputnumber',\n// min: 1,\n// max: 2000,\n// },\n// {\n// key: 'AddressId',\n// enDescriptor: 'Address Id',\n// cnDescriptor: '标识 EIP 的唯一 ID ',\n// link: '',\n// type: 'inputmulti',\n// }\n// ];\n\nexport const LBFilterDescriptor = [\n {\n key: 'address-id',\n enDescriptor: 'Address ID',\n cnDescriptor: 'EIP 的唯一 ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'Address Name',\n cnDescriptor: 'EIP 名称 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'Address IP',\n cnDescriptor: 'EIP 的 IP 地址 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'Address Status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n list: [\n { value: 'CREATING', text: 'CREATING' },\n { value: 'BINDING', text: 'BINDING' },\n { value: 'BIND', text: 'BIND' },\n { value: 'UNBINDING', text: 'UNBINDING' },\n { value: 'UNBIND', text: 'UNBIND' },\n { value: 'OFFLINING', text: 'OFFLINING' },\n { value: 'BIND_ENI', text: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: 'EIP 绑定的内网 IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'Network Interface ID',\n cnDescriptor: 'EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'Arrears',\n cnDescriptor: 'EIP 是否欠费 ',\n link: '',\n type: 'select',\n list: [\n { text: '正常', value: 'FALSE' },\n { text: '欠费', value: 'TRUE' },\n ],\n },\n];\n\n// const LBFilterFields = {\n// \"address-id\": [],\n// \"address-name\": [],\n// \"address-ip\": [],\n// \"address-status \": [],\n// \"instance-id \": [],\n// \"private-ip-address\": [],\n// \"network-interface-id \": [],\n// \"is-arrears \": [],\n// };\n\nconst InstanceKey = 'AddressIds';\nconst LB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n [InstanceKey]: [''],\n Filters: {\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status ': [],\n 'instance-id ': [],\n 'private-ip-address': [],\n 'network-interface-id ': [],\n 'is-arrears ': [],\n },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries[InstanceKey])) {\n const InstanceIds = _.compact(queries[InstanceKey]);\n if (_.uniq(InstanceIds).length > 0) {\n params[InstanceKey] = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LBInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\n// 维度eip对应于实例中的哪个字段?映射\nconst LBInvalidDemensions = {\n eip: 'AddressIp',\n};\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n// 从monitor维度到LB实例对应字段的映射\n// export const metric2Instance = {\n// functionName: 'FunctionName',\n// namespace: 'Namespace'\n// };\n\nexport default LB_STATE;\nexport {\n LBInstanceAliasList,\n LBInvalidDemensions,\n templateQueryIdMap,\n GetInstanceQueryParams as LBGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const LBDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\n\nconst NATGATEWAYInstanceAliasList = ['NatGatewayId', 'NatGatewayName'];\n\nconst NATGatewayFilterFields = {\n 'nat-gateway-id': [],\n 'nat-gateway-name': [],\n 'vpc-id': [],\n};\n\nconst NATGatewayFilterFieldsDescriptor = [\n {\n key: 'nat-gateway-id',\n enDescriptor: 'NatGateway ID',\n cnDescriptor: 'NAT网关统一 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'nat-gateway-name',\n enDescriptor: 'NatGateway Name',\n cnDescriptor: 'NatGateway Name',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst NATGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NatGatewayId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n NatGatewayIds: [''],\n Filters: { ...NATGatewayFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.NatGatewayIds)) {\n const NatGatewayIds = _.compact(queries.NatGatewayIds);\n if (_.uniq(NatGatewayIds).length > 0) {\n params.InstanceIds = _.uniq(NatGatewayIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst templateQueryIdMap = {\n instance: 'NatGatewayId',\n};\n\nconst NATInvalidDemensions = {\n natId: 'NatGatewayId',\n};\n\nexport default NATGATEWAY_STATE;\nexport {\n NATGatewayFilterFieldsDescriptor,\n NATGATEWAYInstanceAliasList,\n templateQueryIdMap,\n NATInvalidDemensions,\n GetInstanceQueryParams as NATGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n serviceType: [],\n projectId: [],\n domainType: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n tagKey: [],\n};\n\nconst OVCDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst OVCDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst OVCDNInstanceAliasList = ['Domain', 'ResourceId'];\n\nconst OVCDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default OVCDN_STATE;\nexport {\n OVCDNFilterFieldsDescriptor,\n OVCDNInstanceAliasList,\n templateQueryIdMap,\n OVCDNInvalidDemensions,\n GetInstanceQueryParams as OVCDNGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__69__;","import _ from 'lodash';\n\nconst TKE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n conditions: [],\n groupBys: '',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIds: [''],\n Filters: {\n ClusterName: [],\n ClusterType: [],\n ClusterStatus: [],\n 'tag-key': [],\n },\n },\n};\n\nconst TKEFilterFieldsDescriptor = [\n {\n key: 'ClusterName',\n enDescriptor: 'Cluster Name',\n cnDescriptor: '集群名',\n link: '',\n type: 'input',\n },\n {\n key: 'ClusterType',\n enDescriptor: 'Cluster Type',\n cnDescriptor: '集群类型',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ClusterStatus',\n enDescriptor: 'Cluster Status',\n cnDescriptor: '集群状态',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Tags',\n enDescriptor: 'Tags',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC',\n cnDescriptor: 'VPC',\n link: '',\n type: 'input',\n },\n {\n key: 'tag-key',\n enDescriptor: 'Tag Key',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-value',\n enDescriptor: 'Tag Value',\n cnDescriptor: '标签值',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst TKEInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nexport default TKE_STATE;\n\nexport { TKEFilterFieldsDescriptor, TKEInstanceAliasList, GetInstanceQueryParams as TKEGetInstanceQueryParams };\n","import {\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = APIGATEWAYInstanceAliasList;\n InvalidDimensions = APIGATEWAYInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'apigateway',\n action: 'DescribeServicesStatus',\n responseField: 'ServiceSet',\n };\n\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getEnvironmentNameList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeServiceEnvironmentList' }\n );\n },\n {\n ServiceId: instanceId,\n },\n 'EnvironmentList'\n );\n const [rs] = res;\n return rs;\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeServiceEnvironmentList') {\n const rs = await this.getEnvironmentNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.environmentName];\n return {\n text: o[this.templateQueryIdMap.environmentName],\n value: o[this.templateQueryIdMap.environmentName],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.environmentList, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n isValidMetric,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMINTRALBInstanceAliasList;\n InvalidDimensions = BMINTRALBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'internal',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n}\n","import { BMLBInstanceAliasList, CPMInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMLBInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'open',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import {\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMPCXInstanceAliasList;\n InvalidDimensions = BMPCXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmvpc',\n action: 'DescribeVpcPeerConnections',\n responseField: 'VpcPeerConnectionSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import { BWPInstanceAliasList, BWPInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class BWPDatasource extends BaseDatasource {\n Namespace = 'QCE/BWP';\n InstanceAliasList = BWPInstanceAliasList;\n InvalidDimensions = BWPInvalidDemensions;\n templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeBandwidthPackages',\n responseField: 'BandwidthPackageSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { CBSInstanceAliasList, CBSInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CBSInstanceAliasList;\n InvalidDimensions = CBSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cbs',\n action: 'DescribeDisks',\n responseField: 'DiskSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.filter(rawSet, isValidMetric);\n }\n}\n","import _ from 'lodash';\nimport {\n CDBInstanceAliasList,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = 'QCE/CDB';\n InstanceAliasList = CDBInstanceAliasList;\n InvalidDimensions = CDBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cdb',\n action: 'DescribeDBInstances',\n responseField: 'Items',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n /**\n * 获取 可用区\n * @param region 地域信息\n */\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.ZoneId, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId和InstanceType的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n InstanceType: 1,\n };\n }\n}\n","import _ from 'lodash';\nimport { CDNInstanceAliasList, CDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = 'QCE/CDN';\n InstanceAliasList = CDNInstanceAliasList;\n InvalidDimensions = CDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { CDNPROVINCEInstanceAliasList, CDNPROVINCEInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CDNPROVINCEInstanceAliasList;\n InvalidDimensions = CDNPROVINCEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n extrasAlias = ['isp', 'district'];\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n async getConsumerList(params: any) {\n const { region, field } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'cdn');\n\n // 从分页数据,获取全量数据\n const rs = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Name: field,\n },\n },\n serviceInfo.service,\n { action: 'DescribeMapInfo' }\n );\n return (rs.MapInfoList || []).map((o) => {\n return {\n text: o.Name,\n value: o.Name,\n };\n });\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeMapInfo') {\n const { name: field } = query;\n const rs = await this.getConsumerList({ region, field });\n return rs;\n }\n return [];\n }\n}\n","import {\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CEIPSUMMARYInstanceAliasList;\n InvalidDimensions = CEIPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['AnycastEIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n // response: (data: unknown[]) =>[\n // {\n // AddressId: 'AddressId',\n // AddressIp: '111.22.3.4'\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n}\n","import { CESInstanceAliasList, CESInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CESInstanceAliasList;\n InvalidDimensions = CESInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'es',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { CFSInstanceAliasList, CFSInvalidDemensions, regionSupported } from './query_def';\nimport { t } from '../../../locale';\nexport default class CFSDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = {\n instance: 'FileSystemId',\n };\n extrasAlias = ['version'];\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/CFS';\n this.InstanceAliasList = CFSInstanceAliasList;\n this.InvalidDimensions = CFSInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'cfs',\n action: 'DescribeCfsFileSystems',\n responseField: 'FileSystems',\n };\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n}\n","import _, { flattenDeep } from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\n\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CKFKADatasource extends BaseDatasource {\n Namespace = 'QCE/CKAFKA';\n InstanceAliasList = CKAFKAInstanceAliasList;\n TopicAliasList = CKAFKATopicAliasList;\n InvalidDimensions = CKAFKAInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ckafka',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n extraMetricDims = ['topicId'];\n // extrasAlias = ['topicId', 'consumerGroup', 'partition'];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n consumerGroupCache = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getConsumerGroups(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'ckafka');\n let { InstanceId, groupname = '', topicid = '' } = params;\n groupname = this.getVariable(groupname); // 将模板转换为真实值\n topicid = this.getVariable(topicid); // 将模板转换为真实值\n try {\n groupname = JSON.parse(groupname)[templateQueryIdMap.groupName];\n topicid = JSON.parse(topicid)[templateQueryIdMap.topicId];\n } catch (e) {}\n let consumerGoup = this.consumerGroupCache[InstanceId];\n if (!consumerGoup) {\n // 从分页数据,获取全量数据\n consumerGoup = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeConsumerGroup' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['GroupListForMonitor', 'TopicListForMonitor', 'PartitionListForMonitor', 'GroupList']\n );\n // topick数据从DescribeTopic\n const topicList = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeTopic' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['TopicList']\n );\n consumerGoup[1] = flattenDeep(topicList);\n console.log({ consumerGoup, topicList });\n this.consumerGroupCache[InstanceId] = consumerGoup;\n }\n\n let [GroupList, TopicList, PartitionList, GroupDetailList] = consumerGoup;\n // 无重复数组\n TopicList = _.uniqBy(TopicList, (item) => (item as any).TopicId);\n GroupList = _.uniqBy(GroupList, (item) => (item as any).GroupName);\n PartitionList = _.uniqBy(PartitionList, (item) => (item as any).PartitionId);\n GroupDetailList = _.uniqBy(GroupDetailList, (item) => (item as any).ConsumerGroupName);\n // 如果传入消费者信息,consumergroupname,获取该用户的订阅信息列表\n const SubscribedInfos = GroupDetailList.find((d) => d.ConsumerGroupName === groupname)?.SubscribedInfo || [];\n // 这里为了兼容PartitonList格式,最后转化为数组对象的方式\n const partitions =\n SubscribedInfos.find((sub) => sub.TopicId === topicid)?.Partition?.map((p) => ({\n [templateQueryIdMap.partition]: p,\n })) || [];\n return {\n GroupList,\n TopicList:\n SubscribedInfos.length > 0\n ? SubscribedInfos.map(({ TopicId, TopicName }) => ({ TopicId, TopicName }))\n : TopicList,\n PartitionList: partitions.length > 0 ? partitions : PartitionList,\n };\n }\n formatTopicVarDisplay(topic: Record, displayTpl: string | undefined, topicAlias: string) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.TopicAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(topic, b);\n });\n }\n return this.getAliasValue(topic, topicAlias);\n }\n // 查询指标下的数据\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n let { topicalias, groupname, topicid } = query;\n const result = await this.getConsumerGroups(region, {\n InstanceId: instance.InstanceId,\n groupname,\n topicid,\n });\n let { display } = query;\n const { TopicList, GroupList, PartitionList } = result;\n topicalias = this.TopicAliasList.includes(topicalias) ? topicalias : this.templateQueryIdMap.topicId;\n\n const rs = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: group[templateQueryIdMap.groupName],\n };\n }),\n TopicList: TopicList.map((topic) => {\n const topicAlias = this.formatTopicVarDisplay(topic, display, topicalias);\n topic._InstanceAliasValue = topicAlias || topic[templateQueryIdMap.topicId];\n return {\n text: topicAlias || topic[templateQueryIdMap.topicId],\n value: topic[templateQueryIdMap.topicId], // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n TopicName: topic.TopicName,\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: par[templateQueryIdMap.partition],\n value: par[templateQueryIdMap.partition],\n };\n }),\n };\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.TopicList, TopicList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.GroupList, GroupList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.PartitionList, PartitionList);\n // console.log({ res1, res2, res3 });\n // console.log({rs});\n // 根据action返回指定的维度数据列表\n switch (action) {\n case 'DescribeTopicList':\n return rs.TopicList;\n case 'DescribeGroup':\n return rs.GroupList;\n case 'DescribePartion':\n return rs.PartitionList;\n default:\n return [];\n }\n }\n\n // async getOtherAlias(datapoints) {\n // let dimension;\n // for(let j = 0; j < datapoints.Dimensions.length; j++){\n // if(datapoints.Dimensions[j] !== 'InstanceName'){\n // dimension.push(datapoints.Dimensions[j])\n // }\n // }\n // console.log(dimension);\n\n // return dimension\n // }\n}\n","import {\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n keyInStorage,\n CANDIATEDIMENSIONS,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n // Namespace = namespace;\n InstanceAliasList = InstanceAliasList;\n ListenerAliasList = LOADBALANCEListenerAliasList;\n ServerAliasList = LOADBALANCEServerAliasList;\n CandiateDimensions = CANDIATEDIMENSIONS;\n // InvalidDimensions = LOADBALANCEVALIDDIMENSIONS;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n // InstanceReqConfig = {\n // service: 'clb',\n // action: 'DescribeLoadBalancers',\n // responseField: 'LoadBalancerSet',\n // };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getInvalidDimensions(selfIns: any, tagret: any) {\n if (selfIns.service === 'lbPrivate' || (selfIns.service === 'lbPublic' && tagret.servers))\n return { ...LOADBALANCEVALIDDIMENSIONS, vpcId: 'NumericalVpcId' };\n return LOADBALANCEVALIDDIMENSIONS;\n }\n getInstanceReqConfig(selfIns: any) {\n const res: any = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n if (selfIns.service === 'lbPrivate' || selfIns.service === 'loadBalance') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'INTERNAL' }),\n };\n }\n if (selfIns.service === 'lbPublic') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'OPEN' }),\n };\n }\n return res;\n }\n async getListenerList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeListeners' }\n );\n },\n {\n LoadBalancerId: instanceId,\n },\n 'Listeners'\n );\n const [rs] = res;\n return rs;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async getServerList(params: any) {\n const { region, instanceId, listenerId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n const res = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { LoadBalancerId: instanceId, ListenerIds: [listenerId] },\n },\n serviceInfo.service,\n { region, action: 'DescribeTargets' }\n );\n const { Listeners } = res;\n const serversList = _.reduce(\n Listeners,\n (prev, item) => {\n const { Rules, Targets } = item;\n if (!_.isEmpty(Rules)) {\n return _.concat(prev, _.flatten(_.map(Rules, (elem) => (_.isEmpty(elem.Targets) ? [] : elem.Targets))));\n }\n if (!_.isEmpty(Targets)) {\n return _.concat(prev, Targets);\n }\n return prev;\n },\n []\n );\n return serversList;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeListeners') {\n const rs = await this.getListenerList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n let { listeneralias } = query;\n listeneralias = this.ListenerAliasList.includes(listeneralias) ? listeneralias : this.templateQueryIdMap.listener;\n const result = rs.flatMap((o) => {\n const listenAlias = this.formatVariableDisplay(o, display, listeneralias, this.ListenerAliasList);\n const lisId = o[this.templateQueryIdMap.listener];\n o._InstanceAliasValue = listenAlias || lisId;\n // if (!o[listeneralias]) return [];\n return {\n text: listenAlias || lisId,\n value: lisId,\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.listener, rs);\n return result;\n }\n if (action === 'DescribeServer' || action === 'DescribeServerPort') {\n const { listenerid, serverprivateip, serveralias } = query;\n const serverPrivateIp = this.getVariable(serverprivateip);\n const serversList = await this.getServerList({\n region,\n instanceId: instance[this.templateQueryIdMap.instance],\n listenerId: this.getVariable(listenerid),\n });\n const serverAlias = this.ServerAliasList.includes(serveralias) ? serveralias : this.templateQueryIdMap.servers;\n const result = _.chain(serversList)\n .filter((item) => {\n if (action === 'DescribeServer') {\n return true;\n }\n return serverPrivateIp === _.get(item, 'PrivateIpAddresses.0');\n })\n .map((item) => {\n const alias = this.formatVariableDisplay(item, display, serverAlias, this.ServerAliasList);\n const id = item[this.templateQueryIdMap.servers][0];\n item._InstanceAliasValue = alias || id;\n return action === 'DescribeServer'\n ? {\n text: alias || id,\n value: id,\n }\n : {\n text: `${_.get(item, 'Port')}`,\n value: _.get(item, 'Port'),\n };\n })\n .value();\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.servers, serversList);\n return action === 'DescribeServer' ? result : _.uniqBy(result, 'text');\n }\n return [];\n }\n}\n","import {\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CLSInstanceAliasList;\n InvalidDimensions = CLSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cls',\n action: 'DescribeTopics',\n responseField: 'Topics',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n // async getInstances(region, params = {}) {\n // const superRes = await super.getInstances(region, params);\n // console.log({ superRes });\n // }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport { InvalidDemensions, InstanceAliasList, templateQueryIdMap } from './query_def';\n\nexport default class CmqDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeQueueDetail',\n responseField: 'QueueSet',\n };\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims = Array.from(new Set([...dims, 'queueId', 'queueName']));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CmqTopicDatasource extends BaseDatasource {\n Namespace = 'QCE/CMQTOPIC';\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeTopicDetail',\n responseField: 'TopicSet',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraMetricDims = ['subscriptionId']; // 多选\n\n async fetchAllSubscription(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'cmq');\n // console.log(serviceInfo, 'serviceinfo');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeSubscriptionDetail' }\n );\n },\n params,\n 'SubscriptionSet'\n );\n\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeSubscriptionDetail':\n result = await this.fetchAllSubscription(region, { TopicName: instance.TopicName });\n // eslint-disable-next-line no-case-declarations\n const rs = result.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: item[templateQueryIdMap.subscription] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.subscriptionId, result);\n return rs;\n default:\n return [];\n }\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims.push('topicId');\n if (['NumOfNotify', 'NumOfSuccNotify'].includes(metric.MetricName)) {\n dims.push('subscriptionId');\n }\n\n dims = Array.from(new Set(dims));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\n\ninterface BucketListResult {\n Owner: { ID: 'string'; DisplayName: 'string' };\n Buckets: { Name: string; Region: string }[];\n}\n\nexport default class CosDatasource extends BaseDatasource {\n InvalidDimensions: Record = {};\n InstanceAliasList: string[] = ['BucketName'];\n templateQueryIdMap = {\n instance: 'BucketName',\n };\n InstanceReqConfig = {} as any; // 不必要的配置\n cosURL: string;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n this.cosURL = `/api/datasources/${this.instanceSettings.id}/resources/tc_cos_list`;\n }\n async getInstances(region: string) {\n return this.backendSrv\n .datasourceRequest({\n url: this.cosURL,\n method: 'GET',\n params: { region },\n headers: { 'Content-Type': 'application/json' },\n })\n .then((res) => {\n let { data }: { data: BucketListResult } = res;\n data = data || ({} as any);\n let { Buckets } = data;\n Buckets = Buckets || [];\n\n // name contains appid,see detail https://cloud.tencent.com/document/product/436/8291\n return Buckets.map((item) => ({\n ...item,\n BucketName: item.Name,\n bucket: item.Name,\n appid: item.Name.split('-').slice(-1)[0],\n }));\n });\n }\n\n async getVariableInstances(region) {\n return this.getInstances(region);\n }\n}\n","import {\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CPMInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bm',\n action: 'DescribeDevices',\n responseField: 'DeviceInfoSet',\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'DeviceClassCode') {\n const serviceInfo = GetServiceAPIInfo(region, 'bm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n 'bm',\n { region, action: 'DescribeDeviceClass' }\n ).then((response) => {\n return _.map(response.DeviceClassSet || [], (item) => {\n return { text: item.DeviceClassCode, value: item.DeviceClassCode };\n });\n });\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { CVMInstanceAliasList, isValidMetric, modifyDimensons } from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CVMDatasource extends BaseDatasource {\n Namespace = 'QCE/CVM';\n InstanceAliasList = CVMInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cvm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cvm' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'cvm' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n}\n","import {\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n checkKeys,\n} from './query_def';\nimport _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\n// import { t } from '../../../locale';\n\nexport default class CYNOSDBMYSQLDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CYNOSDBMYSQLInstanceAliasList;\n InvalidDimensions = CYNOSDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n checkKeys = checkKeys;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cynosdb',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n // getRegions() {\n // return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n // }\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cynosdbmysql' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n };\n }\n}\n","import { DCInstanceAliasList, DCInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCInstanceAliasList;\n InvalidDimensions = DCInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnects',\n responseField: 'DirectConnectSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCDBInstanceAliasList;\n InvalidDimensions = DCDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'dcdb',\n action: 'DescribeDCDBInstances',\n responseField: 'Instances',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraActionMap = {\n DescribeDCDBShards: {\n service: 'dcdb',\n action: 'DescribeDCDBShards',\n responseField: 'Shards',\n pickKey: 'ShardInstanceId',\n },\n DescribeDCDBInstanceNodeInfo: {\n service: 'dcdb',\n action: 'DescribeDCDBInstanceNodeInfo',\n responseField: 'NodesInfo',\n pickKey: 'NodeId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion, 入参的region用广州\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/dcdb',\n },\n 'dcdb',\n { action: 'DescribeDCDBSaleInfo', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionList || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n RegionState: item.RegionState,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance[this.templateQueryIdMap.instance],\n Limit: 100,\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { DCGInstanceAliasList, DCGInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCGInstanceAliasList;\n InvalidDimensions = DCGInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeDirectConnectGateways',\n responseField: 'DirectConnectGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { DCXInstanceAliasList, DCXInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCXDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCXInstanceAliasList;\n InvalidDimensions = DCXInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnectTunnels',\n responseField: 'DirectConnectTunnelSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport {\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n modifyDimensons,\n namespace,\n templateQueryIdMap,\n} from './query_def';\n\nexport default class ECDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECDNInstanceAliasList;\n InvalidDimensions = ECDNInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ecdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMInstanceAliasList;\n InvalidDimensions = ECMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMBLOCKSTORAGEInstanceAliasList;\n InvalidDimensions = ECMBLOCKSTORAGEInvalidDemensions;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n templateQueryIdMap = templateQueryIdMap;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getDiskList(params: any) {\n const { payload } = params;\n const { InstanceId } = payload;\n const instanceCache = await instanceStorage.getInstance(this.service);\n const instanceObj: any =\n _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === InstanceId)) ?? {};\n const { DataDisks: dataDisks } = instanceObj;\n return dataDisks;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance,\n Limit: 100,\n };\n const rs = await this.getDiskList({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.diskId];\n return {\n text: o[this.templateQueryIdMap.diskId],\n value: o[this.templateQueryIdMap.diskId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.diskId, rs);\n return result;\n }\n}\n","import { ECMLBInstanceAliasList, ECMLBInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMLBInstanceAliasList;\n InvalidDimensions = ECMLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = GSEInstanceAliasList;\n InvalidDimensions = GSEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gse',\n action: 'DescribeInstances',\n responseField: 'Instances',\n };\n\n keyInStorage = keyInStorage;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getQueueNameList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeGameServerSessionQueues' }\n );\n },\n {},\n 'GameServerSessionQueues'\n );\n const [rs] = res;\n return rs;\n }\n async getFleetList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'ListFleets' }\n );\n },\n {},\n 'FleetIds'\n );\n const [rs] = res;\n return rs.map((r) => ({ [this.templateQueryIdMap.FleetId]: r }));\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeGameServerSessionQueues') {\n const rs = await this.getQueueNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.Name];\n return {\n text: o[this.templateQueryIdMap.Name],\n value: o[this.templateQueryIdMap.Name],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.queue, rs);\n return result;\n }\n if (action === 'ListFleets') {\n const rs = await this.getFleetList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.FleetId];\n return {\n text: o[this.templateQueryIdMap.FleetId],\n value: o[this.templateQueryIdMap.FleetId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.fleet, rs);\n return result;\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { LBInstanceAliasList, LBInvalidDemensions } from './query_def';\n\nexport default class SCFDatasource extends BaseDatasource {\n Namespace = 'QCE/LB';\n InstanceAliasList = LBInstanceAliasList;\n InvalidDimensions = LBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'AddressId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['EIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n },\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('eip')\n );\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n}\n","import _ from 'lodash';\nimport {\n LIGHTHOUSEInstanceAliasList,\n templateQueryIdMap,\n LighthouseInvalidDemensions,\n modifyDimensons,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class LighthouseDatasource extends BaseDatasource {\n Namespace = 'QCE/LIGHTHOUSE';\n InstanceAliasList = LIGHTHOUSEInstanceAliasList;\n InvalidDimensions = LighthouseInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'lighthouse',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'lighthouse' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'lighthouse' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import _ from 'lodash';\nimport {\n MONGODBInstanceAliasList,\n MONGODBInvalidDemensions,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MONGODBDatasource extends BaseDatasource {\n Namespace = 'QCE/CMONGO';\n InstanceAliasList = MONGODBInstanceAliasList;\n ReplicaAliasList = ['ReplicaSetId', 'ReplicaSetName'];\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n InstanceReqConfig = {\n service: 'mongodb',\n action: 'DescribeDBInstances',\n responseField: 'InstanceDetails',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getInvalidDimensions(selfIns: any, target: any) {\n if (target.node && target.node !== '') {\n return { target: 'Node' };\n }\n if (target.replica && target.replica !== '') {\n return { target: 'Replica' };\n }\n return MONGODBInvalidDemensions;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeReplicas') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n let { replicaalias } = query;\n replicaalias = this.ReplicaAliasList.includes(replicaalias) ? replicaalias : this.templateQueryIdMap.replica;\n const result = _.map(_.get(res, 'ReplicaSets', []), (item) => {\n const replicaAlias = this.formatVariableDisplay(item, display, replicaalias, this.ReplicaAliasList);\n item._InstanceAliasValue = replicaAlias || item[this.templateQueryIdMap.replica];\n return { text: item.ReplicaSetId, value: item.ReplicaSetId };\n });\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Replica.dim_KeyInStorage,\n _.get(res, 'ReplicaSets', [])\n );\n return result;\n }\n if (action === 'DescribeReplicaNodes') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n const { replicasetid } = query;\n const targetReplica = _.find(_.get(res, 'ReplicaSets', []), { ReplicaSetId: this.getVariable(replicasetid) });\n let result = _.times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return { text: nodeId, value: nodeId };\n });\n if (targetReplica) {\n result = [\n { text: `${targetReplica.ReplicaSetId}-node-primary`, value: `${targetReplica.ReplicaSetId}-node-primary` },\n ...result,\n ];\n }\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Node.dim_KeyInStorage,\n result.map((item) => ({ NodeId: item.value, _InstanceAliasValue: item.value }))\n );\n return result;\n }\n\n return [];\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MrHdfsDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n InstanceReqConfig = {\n service: 'emr',\n action: 'DescribeInstances',\n responseField: 'ClusterList',\n interceptor: {\n request: (params) => ({\n ...params,\n DisplayStrategy: params.DisplayStrategy || 'monitorManage',\n ProjectId: params.ProjectId || -1,\n }), // 设置一些请求参数的 默认值\n response: (data: any[]) => data.map(({ ClusterId, ClusterName }) => ({ ClusterId, ClusterName })),\n },\n };\n\n async fetchAllNodes(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'emr');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeClusterNodes' }\n );\n },\n { ...params, isOffsetPage: true },\n 'NodeList'\n );\n\n // return rs[0].map((item) => ({ text: item.Ip, value: item.Ip }));\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeClusterNodes': {\n const resultT = await this.fetchAllNodes(region, { InstanceId: instance.ClusterId, NodeFlag: 'all' });\n result = resultT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return { text: item[templateQueryIdMap.node], value: item[templateQueryIdMap.node] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.node, resultT);\n\n return result;\n }\n default:\n return [];\n }\n }\n}\n","import _ from 'lodash';\nimport { NATGATEWAYInstanceAliasList, NATInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class NATGATEWAYDatasource extends BaseDatasource {\n Namespace = 'QCE/NAT_GATEWAY';\n InstanceAliasList = NATGATEWAYInstanceAliasList;\n InvalidDimensions = NATInvalidDemensions;\n templateQueryIdMap = {\n instance: 'NatGatewayId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNatGateways',\n responseField: 'NatGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { OVCDNInstanceAliasList, OVCDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class OVCDNDatasource extends BaseDatasource {\n Namespace = 'QCE/OV_CDN';\n InstanceAliasList = OVCDNInstanceAliasList;\n InvalidDimensions = OVCDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { PCXInstanceAliasList, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo, GetRequestParamsV2, SliceLength } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = PCXInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'xx',\n action: 'xx',\n responseField: 'xx',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getInstances(region = 'ap-guangzhou', params = {}) {\n params = { offset: 0, limit: 50, ...params };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n return response.data || [];\n });\n }\n\n /**\n * 模板变量中获取全量的 PCX 实例列表\n * @param region 地域信息\n */\n getVariableInstances(region, query) {\n let result: any[] = [];\n const params = { Offset: 0, Limit: 50, ...query };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n result = response.data || [];\n const total = response.totalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 50);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n getVpcId(region, params: any = {}) {\n params = { Offset: 0, Limit: 20, ...params };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n return _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n });\n }\n\n getVpcIds(region) {\n let result: any[] = [];\n const params: any = { Offset: 0, Limit: 100 };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n result = _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n const total = response.TotalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getVpcId(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n /**\n * 腾讯云 API 2.0 请求接口\n * @param options\n * @param service\n * @param signObj\n */\n async doRequestV2(options, service, signObj: any = {}) {\n options = await GetRequestParamsV2(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","import _ from 'lodash';\nimport {\n POSTGRESInstanceAliasList,\n PostgreInvalidDemensions,\n namespace,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = POSTGRESInstanceAliasList;\n InvalidDimensions = PostgreInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'postgres',\n action: 'DescribeDBInstances',\n responseField: 'DBInstanceSet',\n };\n\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { get } from 'lodash';\nimport { QAAPInstanceAliasList, QAAPInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class QAAPDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = QAAPInstanceAliasList;\n InvalidDimensions = QAAPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gaap',\n action: 'DescribeProxies',\n responseField: 'ProxySet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n // MetricReqConfig = {\n // resultFilter: modifyDimensons,\n // };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n get(item, 'Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions[0]') === 'channelId'\n );\n }\n}\n","import _ from 'lodash';\nimport { REDISInstanceAliasList, RedisInvalidDemensions, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = 'QCE/REDIS';\n InstanceAliasList = REDISInstanceAliasList;\n InvalidDimensions = RedisInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '1m' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => isValidMetric(item));\n }\n}\n","import _ from 'lodash';\nimport {\n REDISMEMInstanceAliasList,\n namespace,\n RedisMemInvalidDemensions,\n templateQueryIdMap,\n NodeType,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = REDISMEMInstanceAliasList;\n InvalidDimensions = RedisMemInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [RedisMemInvalidDemensions.pnodeid, RedisMemInvalidDemensions.rnodeid];\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '5s' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getInstanceNodeInfo(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'redis');\n\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeInstanceNodeInfo' }\n );\n },\n {\n InstanceId: instanceId,\n },\n NodeType\n );\n\n return res;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeInstanceNodeInfo') {\n const rs = await this.getInstanceNodeInfo({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const { nodetype } = query;\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1\n ? []\n : _.map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n templateQueryIdMap,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class SCFDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/SCF_V2';\n this.InstanceAliasList = SCFInstanceAliasList;\n this.InvalidDimensions = SCFInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'scf',\n action: 'ListFunctions',\n responseField: 'Functions',\n };\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含functionName的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('functionName') &&\n item.Dimensions?.[0]?.Dimensions?.includes('namespace') &&\n !item.MetricName.startsWith('Name')\n );\n }\n\n getVersions(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'scf');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'ListVersionByFunction' }\n ).then((response) => {\n return response.Versions;\n });\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'ListVersionByFunction') {\n const rs = await this.getVersions(region, { FunctionName: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.version];\n return {\n text: o[this.templateQueryIdMap.version],\n value: o[this.templateQueryIdMap.version],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.version, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = SQLSERVERInstanceAliasList;\n InvalidDimensions = SQLSERVERInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'sqlserver',\n action: 'DescribeDBInstances',\n responseField: 'DBInstances',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n getFilterDropdown({ field, region }) {\n if (field === 'Zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { TCAPLUSInstanceAliasList, TCAPLUSInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TCAPLUSInstanceAliasList;\n InvalidDimensions = TCAPLUSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tcaplusdb',\n action: 'DescribeTables',\n responseField: 'TableInfos',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/tcaplusdb',\n },\n 'tcaplusdb',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionInfos || [], (item) => {\n return {\n text: t(item.RegionName),\n value: item.RegionName,\n };\n });\n });\n }\n}\n","import {\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeClusters',\n responseField: 'ClusterSet',\n };\n extraActionMap = {\n DescribeTopics: {\n service: 'tdmq',\n action: 'DescribeTopics',\n responseField: 'TopicSets',\n pickKey: 'TopicName',\n },\n DescribeEnvironments: {\n service: 'tdmq',\n action: 'DescribeEnvironments',\n responseField: 'EnvironmentSet',\n pickKey: 'EnvironmentId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n // console.log({ rs });\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeTopics') {\n payload.EnvironmentId = this.getVariable(query['environmentid']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQRABBITMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRabbitMQVipInstances',\n responseField: 'Instances',\n };\n extraActionMap = {\n DescribeRabbitMQNodeList: {\n service: 'tdmq',\n action: 'DescribeRabbitMQNodeList',\n responseField: 'NodeList',\n pickKey: 'node',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n InstanceId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQROCKETMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRocketMQClusters',\n responseField: 'ClusterList',\n interceptor: {\n response: (result) =>\n _.map(result, (item) => ({\n ...item,\n ClusterId: _.get(item, 'Info.ClusterId', ''),\n ClusterName: _.get(item, 'Info.ClusterName', ''),\n })),\n },\n };\n extraActionMap = {\n DescribeRocketMQNamespaces: {\n service: 'tdmq',\n action: 'DescribeRocketMQNamespaces',\n responseField: 'Namespaces',\n pickKey: 'namespace',\n },\n DescribeRocketMQGroups: {\n service: 'tdmq',\n action: 'DescribeRocketMQGroups',\n responseField: 'Groups',\n pickKey: 'group',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => !item.Dimensions?.[0]?.Dimensions?.includes('rmqcluster'));\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeRocketMQGroups') {\n payload.NamespaceId = this.getVariable(query['clusternamespace']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { map, flatten, reduce, isEmpty, filter, split, sortBy, findIndex, trim, isArray, isString } from 'lodash';\nimport { GetServiceAPIInfo, ReplaceVariable } from '../../common/constants';\nimport { getTimeShiftInMs } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\n\nconst variableToArray = (variable) => {\n if (isEmpty(variable)) {\n return [];\n }\n if (isArray(variable)) {\n return variable;\n }\n if (isString(variable)) {\n return split(variable, ',').map((item) => trim(item));\n }\n return [];\n};\n\nexport default class TKEDatasource extends BaseDatasource {\n InstanceAliasList = ['ClusterId', 'ClusterName'];\n templateQueryIdMap = {\n instance: 'ClusterId',\n };\n InvalidDimensions = {\n tke_cluster_instance_id: 'ClusterId',\n };\n InstanceReqConfig = {\n service: 'tke',\n action: 'DescribeClusters',\n responseField: 'Clusters',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getMonitorData(params: any, region: any, instances: any, target: any, options: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n const conditions = reduce(\n target.conditions,\n (prev, item) => {\n if (isEmpty(item.Key) || isEmpty(item.Operator) || isEmpty(item.Value)) {\n return prev;\n }\n return [\n ...filter(prev, (e) => e.Key !== item.Key),\n {\n Key: ReplaceVariable(this.templateSrv, options.scopedVars, item.Key, false),\n Operator: ReplaceVariable(this.templateSrv, options.scopedVars, item.Operator, false),\n Value: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, item.Value, true)),\n },\n ];\n },\n [{ Key: 'tke_cluster_instance_id', Operator: '=', Value: instances.map((item) => item['ClusterId']) }]\n );\n\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Period: params.Period,\n MetricNames: [params.MetricName],\n Module: 'monitor',\n Namespace: 'QCE/TKE',\n EndTime: params.EndTime,\n StartTime: params.StartTime,\n Conditions: conditions,\n GroupBys: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, target.groupBys, true)),\n },\n },\n serviceInfo.service,\n { action: 'DescribeStatisticData', region }\n ).then((response) => {\n return flatten(\n map(response.Data, (data) => {\n return map(data.Points, (point) => {\n const dimensionSort = sortBy(point.Dimensions, ['Name']);\n const dimensionString = [\n ...dimensionSort.splice(findIndex(dimensionSort, { Name: 'tke_cluster_instance_id' }), 1),\n ...dimensionSort,\n ]\n .map((dimension) => dimension.Value)\n .join(' - ');\n const timeshiftString = timeshift > 0 ? `_${target.timeshift}` : '';\n return {\n target: `${data.MetricName} - ${dimensionString}${timeshiftString}`,\n datapoints: map(point.Values, (value) => [value.Value, value.Timestamp * 1000 + timeshift]),\n };\n });\n })\n );\n });\n }\n}\n","import _ from 'lodash';\nimport { TSFInvalidDemensions, TSFInstanceAliasList, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class TSFDatasource extends BaseDatasource {\n Namespace = 'QCE/TSF';\n InstanceAliasList = TSFInstanceAliasList;\n InvalidDimensions = TSFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'tsf',\n action: 'DescribeApplications',\n responseField: 'Content',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import {\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n clbNamespaceMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VCLBInstanceAliasList;\n InvalidDimensions = VCLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getAllMetrics(region: string) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const { MetricSet: public_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.public,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const { MetricSet: private_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.private,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const res = Object.values(_.keyBy(_.concat(private_metrics, public_metrics), 'MetricName'));\n return res.map((t) => modifyDimensons(t));\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await this.getAllMetrics(region);\n return _.compact(rawSet);\n }\n}\n","import { VBCInstanceAliasList, VBCInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VBCInstanceAliasList;\n InvalidDimensions = VBCInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeCcns',\n responseField: 'CcnSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getFilterDropdown({ field }) {\n return super.getRegions();\n }\n}\n","import {\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPCNETDETECTInstanceAliasList;\n InvalidDimensions = VPCNETInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNetDetects',\n responseField: 'NetDetectSet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { VPNGWInstanceAliasList, VPNGWInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNGWInstanceAliasList;\n InvalidDimensions = VPNGWInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnGateways',\n responseField: 'VpnGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { VPNXInstanceAliasList, VPNXInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNXInstanceAliasList;\n InvalidDimensions = VPNXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnConnections',\n responseField: 'VpnConnectionSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport {\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n templateQueryIdMap,\n namespace,\n regionSupported,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { t } from '../../../locale';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = WAFInstanceAliasList;\n InvalidDimensions = WAFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'waf',\n // action: 'DescribeDomains', // DescribeMonitorDomains\n action: 'DescribeMonitorDomains', //\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n\n getOwnDimension(dimensionObject: any, ins: any) {\n const { Edition = '' } = ins;\n return {\n ...dimensionObject,\n edition: {\n Name: 'edition',\n Value: Edition,\n },\n };\n }\n}\n","import coreModule from 'grafana/app/core/core_module';\nimport { APIGATEWAYFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.APIGATEWAYFilterFieldsDescriptor = APIGATEWAYFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n\n const result = rs.map((o) => {\n return {\n text: o.EnvironmentName,\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { BWPFilterFieldsDescriptor } from './query_def';\n\nexport class BWPQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.BWPFilterFieldsDescriptor = BWPFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function bwpQuery() {\n return {\n template: template,\n controller: BWPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('bwpQuery', bwpQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDBFieldsDescriptor } from './query_def';\n\nexport class CDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDBFieldsDescriptor = CDBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'ZoneIds':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cdb', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n`;\n\nexport function cdbQuery() {\n return {\n template: template,\n controller: CDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdbQuery', cdbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNFilterFieldsDescriptor } from './query_def';\n\nexport class CDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNFilterFieldsDescriptor = CDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function cdnQuery() {\n return {\n template: template,\n controller: CDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdnQuery', cdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNPROVINCEFilterFieldsDescriptor, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Isp',\n field: 'isp',\n },\n {\n label: 'Province',\n field: 'district',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNPROVINCEFilterFieldsDescriptor = CDNPROVINCEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, field });\n return rs;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CFSQueryDescriptor } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CFSQueryDescriptor = CFSQueryDescriptor;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n const { instance, region } = target;\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n if (!instance || !region) return [];\n\n return fetcher(region, { FunctionName: JSON.parse(instance).FunctionName }).then((res) => {\n // console.log(res, 'res');\n\n return res;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\ncoreModule.directive('cfsQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CKAFKAQueryDescriptor, templateQueryIdMap } from './query_def';\nimport { isTargetEqual } from '../../common/utils';\n\nconst ExtraFields = [\n {\n label: 'ConsumerGroup',\n field: 'consumerGroup',\n },\n {\n label: 'TopicId',\n field: 'topicId',\n },\n {\n label: 'Partition',\n field: 'partition',\n },\n];\n\nexport class CKAFKAQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CKAFKAQueryDescriptor = CKAFKAQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'LoadBalancerId')) return;\n $scope.target.consumerGroup = '';\n $scope.target.topicId = '';\n $scope.target.topicName = '';\n $scope.target.partition = '';\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('ckafka', 'getVariable')(instance);\n if (Array.isArray(instance)) instance = instance[0];\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).InstanceId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const InstanceId = $scope.getInstanceId();\n const fetcher = $scope.datasource.getServiceFn('ckafka', 'getConsumerGroups');\n const region = $scope.datasource.getServiceFn('ckafka', 'getVariable')(target.region);\n const res = await fetcher(region, { InstanceId, groupname: target.consumerGroup, topicid: target.topicId });\n\n const { TopicList, GroupList, PartitionList } = res;\n const data = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: JSON.stringify(group),\n };\n }),\n TopicList: TopicList.map((topic) => {\n topic._InstanceAliasValue = topic[templateQueryIdMap.topicId];\n return {\n text: topic[templateQueryIdMap.topicId],\n value: JSON.stringify(topic), // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: String(par[templateQueryIdMap.partition]),\n value: JSON.stringify(par),\n };\n }),\n };\n\n switch (field) {\n case 'consumerGroup':\n return data.GroupList;\n case 'topicId':\n return data.TopicList;\n case 'partition':\n return data.PartitionList;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CKAFKAQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n instance: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('ckafkaQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { get, chain } from 'lodash';\nimport { LOADBALANCEFieldsDescriptor, templateQueryIdMap, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\nimport { isTargetEqual } from '../../common/utils';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LOADBALANCEFieldsDescriptor = LOADBALANCEFieldsDescriptor;\n $scope.serversList = [];\n };\n $scope.onFieldChange = (field) => {\n $scope.onRefresh();\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'InstanceId')) return;\n $scope.target.listener = '';\n $scope.target.servers = '';\n $scope.target.serverPort = '';\n };\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n $scope.getExtraDropdown = async (target) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getListenerList')({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.listener];\n return {\n text: o[templateQueryIdMap.listener],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n $scope.getServersDropdown = async (target) => {\n const { instance, listener } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const listenerId = $scope.getVariableId(listener, 'listener');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const serversList = await $scope.datasource.getServiceFn(\n service,\n 'getServerList'\n )({ region, instanceId, listenerId });\n $scope.serversList = serversList;\n const res = chain(serversList)\n .map((item) => {\n item._InstanceAliasValue = get(item, 'PrivateIpAddresses.0');\n return {\n text: get(item, 'PrivateIpAddresses.0'),\n value: JSON.stringify(item),\n };\n })\n .uniqBy('text')\n .value();\n return res;\n };\n $scope.getServerPortDropdown = async (target) => {\n const { servers } = $scope.target;\n let serverPortList: any[] = [];\n try {\n const serversSource = JSON.parse(servers);\n serverPortList = chain($scope.serversList)\n .filter((item) => get(serversSource, 'PrivateIpAddresses.0') === get(item, 'PrivateIpAddresses.0'))\n .map((item) => {\n item._InstanceAliasValue = get(item, 'Port');\n return {\n text: `${get(item, 'Port')}`,\n value: JSON.stringify(item),\n };\n })\n .value();\n } catch (error) {}\n return serverPortList;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n namespace: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('clbQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CLSFilterFieldsDescriptor, queryEditorName } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = CLSFilterFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import createQuery from '../_base/query';\nimport { InstanceQueryDescriptor } from './query_def';\n\ncreateQuery('cmqQuery', {\n fieldDescriptor: InstanceQueryDescriptor,\n instanceDocUrl: 'https://cloud.tencent.com/document/api/406/42624',\n namespace: 'QCE/CMQ',\n});\n","import coreModule from 'grafana/app/core/core_module';\nimport { InstanceQueryDescriptor } from './query_def';\n\nconst ExtraFields = [\n {\n label: 'Subscription(订阅)',\n field: 'subscriptionId',\n },\n];\n\nexport class CmqTopicQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getTopicName = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).TopicName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'subscriptionId') {\n const TopicName = $scope.getTopicName();\n let data = $scope.cacheMap[TopicName];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('cmqTopic', 'fetchAllSubscription');\n const datas = await fetcher(region, { TopicName });\n data = datas.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: JSON.stringify(item) };\n });\n }\n\n // 缓存\n $scope.cacheMap[TopicName] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CmqTopicQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('cmqTopicQuery', scfQuery);\n","import _ from 'lodash';\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['BucketName'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BucketName',\n queries: {},\n};\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CVMFilterFieldsDescriptor } from './query_def';\n\nexport class CVMQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CVMFilterFieldsDescriptor = CVMFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function cvmQuery() {\n return {\n template: template,\n controller: CVMQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cvmQuery', cvmQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { DCDBFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'nodeid',\n field: 'NodeId',\n action: 'DescribeDCDBInstanceNodeInfo',\n },\n {\n label: 'shardid',\n field: 'ShardId',\n action: 'DescribeDCDBShards',\n },\n];\nconst dropdownTextConfig = {\n DescribeDCDBInstanceNodeInfo: 'NodeId',\n DescribeDCDBShards: 'ShardInstanceId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.DCDBFilterFieldsDescriptor = DCDBFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const instanceId = $scope.getInstanceId();\n const payload: any = {\n InstanceId: instanceId,\n Limit: 100,\n };\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { ECMBLOCKSTORAGEFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n // {\n // label: 'nodeid',\n // field: 'NodeId',\n // action: 'DescribeInstanceNodeInfo',\n // },\n {\n label: 'diskId',\n field: 'diskId',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.ECMBLOCKSTORAGEFilterFieldsDescriptor = ECMBLOCKSTORAGEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n // $scope.getInstanceId = () => {\n // let { instance } = $scope.target;\n // const service = GetServiceFromNamespace($scope.namespace);\n // instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n // if (!instance) {\n // return '';\n // }\n // try {\n // instance = JSON.parse(instance)[templateQueryIdMap.instance];\n // } catch (error) {\n // console.log();\n // }\n // return instance;\n // };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = (target, action) => {\n let { instance } = target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n try {\n instance = JSON.parse(instance);\n const { DataDisks: dataDisks } = instance;\n return dataDisks.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.diskId];\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n } catch (error) {\n // console.log('instance error', instance);\n const payload: any = {\n InstanceId: instance,\n };\n const rs = $scope.datasource.getServiceFn(service, 'getDiskList')({ payload });\n const result = rs.map((o) => {\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n return result;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { GSEFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'fleetId',\n field: 'FleetId',\n },\n {\n label: 'queueName',\n field: 'Name',\n },\n];\nconst actionMaps = {\n FleetId: 'getFleetList',\n Name: 'getQueueNameList',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = GSEFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n // const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n let rs = await $scope.datasource.getServiceFn(service, actionMaps[field])({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[field]];\n return {\n text: o[templateQueryIdMap[field]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LBFilterDescriptor } from './query_def';\n\nexport class LBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n // $scope.LBQueryDescriptor = LBQueryDescriptor;\n $scope.LBFilterDescriptor = LBFilterDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function lbQuery() {\n return {\n template: template,\n controller: LBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lbQuery', lbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LighthouseFilterFieldsDescriptor } from './query_def';\n\nexport class LighthouseQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LighthouseFilterFieldsDescriptor = LighthouseFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('lighthouse', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function lighthouseQuery() {\n return {\n template: template,\n controller: LighthouseQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lighthouseQuery', lighthouseQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map, get, find, times } from 'lodash';\nimport { MONGODBFieldsDescriptor, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class MongoDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.MONGODBFieldsDescriptor = MONGODBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.onInstanceChange = (n, o) => {\n if (n === o) {\n return;\n }\n $scope.target.replica = '';\n $scope.target.node = '';\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, type) => {\n const { instance, replica } = $scope.target;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const [res] = await $scope.datasource.getServiceFn(service, 'getInstances')(region, {\n InstanceIds: [instanceId],\n });\n if (type === 'replica') {\n return map(get(res, 'ReplicaSets', []), (item) => {\n item._InstanceAliasValue = item.ReplicaSetId;\n return { text: item.ReplicaSetId, value: JSON.stringify(item) };\n });\n }\n if (type === 'node' && replica !== '') {\n const replicaId = $scope.getVariableId(replica, 'replica');\n const targetReplica = find(get(res, 'ReplicaSets', []), { ReplicaSetId: replicaId });\n const options = times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return {\n text: nodeId,\n value: JSON.stringify({ NodeId: nodeId, _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${nodeId}` }),\n };\n });\n return [\n {\n text: `${targetReplica.ReplicaSetId}-node-primary`,\n value: JSON.stringify({\n NodeId: `${targetReplica.ReplicaSetId}-node-primary`,\n _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${`${targetReplica.ReplicaSetId}-node-primary`}`,\n }),\n },\n ...options,\n ];\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function mongodbQuery() {\n return {\n template: template,\n controller: MongoDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onRefresh: '&',\n onChange: '&',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\n\ncoreModule.directive('mongodbQuery', mongodbQuery);\n","import { InstanceQueryDescriptor, templateQueryIdMap } from './query_def';\nimport coreModule from 'grafana/app/core/core_module';\n\nconst ExtraFields = [\n {\n label: 'NodeIP',\n field: 'nodeIP',\n },\n];\n\nexport class MrQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return Object.keys($scope.dims ?? {}).some((item: string) => item.startsWith('host4')) ? ExtraFields : [];\n // return ExtraFields;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).ClusterId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'nodeIP') {\n const InstanceId = $scope.getInstanceId();\n let data = $scope.cacheMap[InstanceId];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('mrHDFS', 'fetchAllNodes');\n const dataT = await fetcher(region, { InstanceId, NodeFlag: 'all' });\n data = dataT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return {\n text: item[templateQueryIdMap.node],\n value: JSON.stringify(item),\n };\n });\n }\n\n // 缓存\n $scope.cacheMap[InstanceId] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function mrQuery() {\n return {\n template: template,\n controller: MrQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('mrQuery', mrQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { NATGatewayFilterFieldsDescriptor } from './query_def';\n\nexport class NatGatewayQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.NATGatewayFilterFieldsDescriptor = NATGatewayFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function natGatewayQuery() {\n return {\n template: template,\n controller: NatGatewayQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('natGatewayQuery', natGatewayQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { OVCDNFilterFieldsDescriptor } from './query_def';\n\nexport class OVCDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.OVCDNFilterFieldsDescriptor = OVCDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function ovCdnQuery() {\n return {\n template: template,\n controller: OVCDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('ovCdnQuery', ovCdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { PCXFieldsDescriptor } from './query_def';\n\nexport class PCXQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.PCXFieldsDescriptor = PCXFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'vpcId':\n return $scope.getVpcIds();\n default:\n return [];\n }\n };\n\n $scope.getVpcIds = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getVpcIds('pcx', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function pcxQuery() {\n return {\n template: template,\n controller: PCXQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('pcxQuery', pcxQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { RedisFieldsDescriptor } from './query_def';\n\nexport class RedisQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisFieldsDescriptor = RedisFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function redisQuery() {\n return {\n template: template,\n controller: RedisQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('redisQuery', redisQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map } from 'lodash';\nimport { RedisMemFieldsDescriptor, templateQueryIdMap, NodeType, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class RedisMemQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisMemFieldsDescriptor = RedisMemFieldsDescriptor;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.rnodeid = '';\n $scope.target.pnodeid = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {}\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, nodetype) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getInstanceNodeInfo')({ region, instanceId });\n\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1 ? [] : map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function redisMemQuery() {\n return {\n template: template,\n controller: RedisMemQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\n\ncoreModule.directive('redisMemQuery', redisMemQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { SCFQueryDescriptor, templateQueryIdMap } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.SCFQueryDescriptor = SCFQueryDescriptor;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('scf', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).FunctionName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n // let { instance, region } = target;\n const FunctionName = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn('scf', 'getVariable')(target.region);\n if (!FunctionName || !region) return [];\n\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n\n return fetcher(region, { FunctionName }).then((res) => {\n // console.log(res, 'res');\n const result = res.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.version];\n return {\n text: o[templateQueryIdMap.version],\n value: JSON.stringify(o),\n };\n });\n return result;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n },\n };\n}\ncoreModule.directive('scfQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'environmentId',\n field: 'environmentId',\n action: 'DescribeEnvironments',\n },\n {\n label: 'topicName',\n field: 'topicName',\n action: 'DescribeTopics',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeTopics: 'topicName',\n DescribeEnvironments: 'environmentId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeTopics') {\n let evId = $scope.target.environmentId;\n try {\n evId = JSON.parse(evId);\n evId = evId[templateQueryIdMap.environmentId];\n } catch (e) {}\n payload.EnvironmentId = evId;\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Node',\n field: 'node',\n action: 'DescribeRabbitMQNodeList',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRabbitMQNodeList: 'node',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.node = '';\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n InstanceId: $scope.getInstanceId(),\n };\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRabbitmqQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Namespace',\n field: 'namespace',\n action: 'DescribeRocketMQNamespaces',\n },\n {\n label: 'Group',\n field: 'group',\n action: 'DescribeRocketMQGroups',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRocketMQNamespaces: 'namespace',\n DescribeRocketMQGroups: 'group',\n};\nexport class TdmqRocketmqQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.namespace = '';\n $scope.target.group = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeRocketMQGroups') {\n let namespace = $scope.target.namespace;\n try {\n namespace = JSON.parse(namespace)[templateQueryIdMap.namespace];\n } catch (e) {}\n payload.NamespaceId = $scope.datasource.getServiceFn(service, 'getVariable')(namespace);\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function tdmqRocketmqQuery() {\n return {\n template: template,\n controller: TdmqRocketmqQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRocketmqQuery', tdmqRocketmqQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { isEmpty } from 'lodash';\nimport { TKEFilterFieldsDescriptor } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TKEFilterFieldsDescriptor = TKEFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.addCondition = () => {\n $scope.target.conditions.push({ Key: '', Operator: '=', Value: '' });\n };\n\n $scope.deleteCondition = (index) => {\n const targetCondition = $scope.target.conditions[index];\n if (isEmpty(targetCondition.Key) || isEmpty(targetCondition.Operator) || isEmpty(targetCondition.Value)) {\n $scope.target.conditions.splice(index, 1);\n } else {\n $scope.target.conditions.splice(index, 1);\n $scope.onRefresh();\n }\n };\n\n $scope.getOperator = () => {\n return Promise.resolve([\n { text: '=', value: '=' },\n { text: 'in', value: 'in' },\n ]);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('tkeQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TSFFieldsDescriptor } from './query_def';\n\nexport class TSFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TSFFieldsDescriptor = TSFFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function tsfQuery() {\n return {\n template: template,\n controller: TSFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('tsfQuery', tsfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { VBCFilterFieldsDescriptor, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields: any = [\n // {\n // label: 'SRegion',\n // field: 'SRegion',\n // },\n // {\n // label: 'DRegion',\n // field: 'DRegion',\n // },\n];\n\nexport class VBCQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.VBCFilterFieldsDescriptor = VBCFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getExtraDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n // return $scope.datasource.getServiceFn(service, 'getFilterDropdown')({ field })\n return $scope.datasource.getFilterDropdown(service, { field });\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: VBCQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('vbcQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","var map = {\n\t\".\": 20,\n\t\"./\": 20,\n\t\"./MonitorDatasource\": 188,\n\t\"./MonitorDatasource.ts\": 188,\n\t\"./_base/datasource\": 3,\n\t\"./_base/datasource.ts\": 3,\n\t\"./_base/query\": 7,\n\t\"./_base/query.ts\": 7,\n\t\"./_base/query_filter\": 195,\n\t\"./_base/query_filter.ts\": 195,\n\t\"./_base/types\": 196,\n\t\"./_base/types.ts\": 196,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query\": 131,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def\": 23,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query\": 132,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def\": 31,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query\": 133,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def\": 32,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query\": 134,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def\": 33,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query\": 135,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def\": 63,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query\": 136,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def\": 34,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query\": 137,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def\": 44,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query\": 138,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def\": 64,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query\": 139,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def\": 35,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query\": 140,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def\": 36,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query\": 141,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def\": 45,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query\": 142,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def\": 57,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query\": 143,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def\": 11,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query\": 144,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def\": 12,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query\": 145,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def\": 29,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query\": 146,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def\": 58,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query\": 147,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def\": 37,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def\": 148,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query\": 149,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def\": 38,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query\": 150,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def\": 59,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query\": 151,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def\": 27,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query\": 152,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def\": 46,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query\": 153,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def\": 16,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query\": 154,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def\": 47,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query\": 155,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def\": 48,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query\": 156,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def\": 39,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query\": 157,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def\": 40,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query\": 158,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def\": 21,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query\": 159,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def\": 49,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query\": 160,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def\": 15,\n\t\"./gse/query_def.ts\": 15,\n\t\"./index\": 20,\n\t\"./index.ts\": 20,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query\": 161,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def\": 65,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query\": 162,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def\": 56,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query\": 163,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def\": 50,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query\": 164,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def\": 24,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query\": 165,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def\": 66,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query\": 166,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def\": 67,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query\": 167,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def\": 60,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query\": 168,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def\": 41,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query\": 169,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def\": 51,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query\": 170,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def\": 61,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query\": 171,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def\": 17,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query\": 172,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def\": 28,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query\": 173,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def\": 30,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query\": 174,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def\": 52,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query\": 175,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def\": 13,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query\": 176,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def\": 18,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query\": 177,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def\": 19,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query\": 178,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def\": 74,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query\": 179,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def\": 62,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query\": 180,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def\": 25,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query\": 181,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def\": 53,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query\": 182,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def\": 42,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query\": 183,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def\": 54,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query\": 184,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def\": 55,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query\": 185,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def\": 43,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 186;","import _ from 'lodash';\nimport { Datasources, SERVICES } from './index';\nimport { GetServiceFromNamespace, ParseMetricQuery } from '../common/constants';\nimport { serviceGroupBy } from '../common/utils';\nimport { LoadingState } from '@grafana/data';\n\nexport default interface DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n query: (options: any) => any;\n testDatasource: () => any;\n metricFindQuery: (query: any) => any;\n getRegions?: (service: string) => any;\n getMetrics: (service: string, region: string) => any;\n getInstances: (service: string, region: string, params: any) => any;\n getZones?: (service: string, region: string) => any;\n}\n\nexport class TCMonitorDatasource implements DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n _.forEach(Datasources, (_class: any, key) => {\n this[key] = new _class(this.instanceSettings, this.backendSrv, this.templateSrv);\n });\n }\n\n // 根据 Datasource Config 配置时勾选的监控服务项,获取相应的命名空间\n getNamespaces() {\n const namespaces: any[] = [];\n _.forEach(SERVICES, (service) => {\n if (this.instanceSettings.jsonData[service.service] === true) {\n // namespaces.push(service.namespace);\n namespaces.push(service);\n }\n });\n return namespaces;\n }\n\n getCascaderNamespaces() {\n const validServices = SERVICES.filter((service) => this.instanceSettings.jsonData[service.service]);\n return serviceGroupBy(validServices);\n }\n\n getSelectedServices() {\n const namespaces = this.getNamespaces();\n return _.map(namespaces, ({ namespace }) => {\n return GetServiceFromNamespace(namespace);\n });\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数,示例如下\n * {\n * cacheTimeout: undefined,\n * dashboardId: 41,\n * interval: \"30s\",\n * intervalMs: 30000,\n * maxDataPoints: 554,\n * panelId: 2,\n * range: {\n * from: Moment,\n * to: Moment,\n * raw: {from: \"now-6h\", to: \"now\"}\n * },\n * rangeRaw: {from: \"now-6h\", to: \"now\"},\n * scopedVars: {__interval: {…}, __interval_ms: {…}}\n * targets: [\n * {\n * namespace: \"QCE/CVM\",\n * refId: \"A\",\n * service: \"cvm\",\n * showInstanceDetails: false,\n * cvm: {\n * dimensionObject: {InstanceId: {…}}\n * instance: \"\",\n * instanceAlias: \"InstanceId\",\n * metricName: \"AccOuttraffic\",\n * metricUnit: \"MB\",\n * period: 10,\n * queries: {Filters: {…}, InstanceIds: Array(1), Limit: 20, Offset: 0, filtersChecked: false, …},\n * region: \"ap-beijing\"\n * },\n * cdb: {},\n * },\n * ],\n * timezone: \"browser\"\n * }\n * @return 返回数据对象,示例如下\n * {\n * data: [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n * }\n */\n query(options: any) {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n const optionsTemp = _.cloneDeep(options);\n const targets = _.filter(optionsTemp.targets, (item) => item.service === service);\n optionsTemp.targets = targets;\n if (optionsTemp.targets.length > 0) {\n const promiseTemp = this[`${_.toUpper(service)}Datasource`].query(optionsTemp);\n if (promiseTemp) {\n promises.push(promiseTemp);\n }\n }\n });\n if (promises.length === 0) {\n return Promise.resolve({ data: [], state: LoadingState.Done });\n }\n return Promise.all(promises).then((results) => {\n return { data: _.flatten(results), state: LoadingState.Done };\n });\n }\n\n /**\n * 获取模板变量的选择项列表\n *\n * @param query 模板变量配置填写的 Query 参数字符串\n */\n metricFindQuery(query: string, options?: any) {\n const queries = ParseMetricQuery(query);\n const service = GetServiceFromNamespace(queries['namespace'] || '');\n\n if (_.isEmpty(queries) || !queries['namespace'] || !queries['action'] || !service) {\n return Promise.resolve([]);\n }\n if (this[`${_.toUpper(service)}Datasource`].metricFindQuery) {\n const result = this[`${_.toUpper(service)}Datasource`].metricFindQuery(\n queries,\n _.get(options, 'variable.regex', undefined)\n );\n if (result) {\n return result;\n }\n }\n return Promise.resolve([]);\n }\n\n /**\n * 获取地域列表\n * @param service\n */\n getRegions(service) {\n if (this[`${_.toUpper(service)}Datasource`].getRegions) {\n return this[`${_.toUpper(service)}Datasource`].getRegions();\n }\n return [];\n }\n\n /**\n * 获取监控指标列表\n * @param service\n * @param region\n */\n getMetrics(service, region) {\n return this[`${_.toUpper(service)}Datasource`].getMetrics(region);\n }\n\n /**\n * 获取可用区列表\n * @param service\n * @param region\n */\n getZones(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getZones) {\n return this[`${_.toUpper(service)}Datasource`].getZones(region);\n }\n return [];\n }\n\n /**\n * 获取filter中dropdown列表\n * @param service\n * @param param\n */\n getFilterDropdown(service, param) {\n if (this[`${_.toUpper(service)}Datasource`].getFilterDropdown) {\n return this[`${_.toUpper(service)}Datasource`].getFilterDropdown(param);\n }\n return [];\n }\n\n /**\n * 获取实例列表\n * @param service\n * @param region\n * @param params\n */\n getInstances(service, region, params) {\n return this[`${_.toUpper(service)}Datasource`].getInstances(region, params);\n }\n\n /**\n * 获取监听器列表\n * @param service\n * @param region\n * @param params\n */\n getListeners(service, region, instance) {\n if (!this[`${_.toUpper(service)}Datasource`].getListeners) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`].getListeners(region, instance);\n }\n\n /**\n * 获取 私有网络列表\n * @param service\n */\n getVpcIds(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getVpcIds) {\n return this[`${_.toUpper(service)}Datasource`].getVpcIds(region);\n }\n }\n\n // 在 Datasource Config 配置时,验证 SerectId、SerectKey 的有效性,并测试勾选的监控服务项的对应 API 连通性\n testDatasource() {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n promises.push(this[`${_.toUpper(service)}Datasource`].testDatasource());\n });\n if (promises.length === 0) {\n return Promise.resolve(null);\n }\n\n return Promise.all(promises).then((results) => {\n let status = 'success';\n let message = 'DataSource Connection OK';\n\n const errorMsg = _.reduce(\n results,\n (acc, cur) => {\n if (cur.status === 'error') {\n if (acc === '') acc += 'Oops! Found an error in: ';\n acc += `${cur.service}: ${cur.message}; \\n`;\n }\n return acc;\n },\n ''\n );\n\n if (errorMsg) {\n status = 'error';\n message = errorMsg;\n }\n\n return {\n status,\n message,\n title: _.upperFirst(status),\n };\n });\n }\n\n getServiceFn(service, fnName) {\n return (...argu) => {\n if (!this[`${_.toUpper(service)}Datasource`][fnName]) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`][fnName](...argu);\n };\n }\n}\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n var obj;\n\n while (queue.length) {\n var item = queue.pop();\n obj = item.obj[item.prop];\n\n if (Array.isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n\n return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (Array.isArray(target)) {\n target.push(source);\n } else if (typeof target === 'object') {\n if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (Array.isArray(target) && !Array.isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (Array.isArray(target) && Array.isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n if (target[i] && typeof target[i] === 'object') {\n target[i] = merge(target[i], item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str) {\n try {\n return decodeURIComponent(str.replace(/\\+/g, ' '));\n } catch (e) {\n return str;\n }\n};\n\nvar encode = function encode(str) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = typeof str === 'string' ? str : String(str);\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n merge: merge\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\n\nclass SPQueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, SPQueryCtrl._config);\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function queryDDO() {\n return {\n template: template,\n controller: SPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n SPQueryCtrl._config = config;\n coreModule.directive(name, queryDDO);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder);\n val = options.decoder(part.slice(pos + 1), defaults.decoder);\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options) {\n var leaf = val;\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]') {\n obj = [];\n obj = obj.concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n","var map = {\n\t\"./_base/query.ts\": 7,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def.ts\": 15,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 209;","import { PluginMeta } from '@grafana/data';\nimport { config, getBackendSrv } from '@grafana/runtime';\nimport { TcDataSourceId } from '../datasource/common/constants';\n\nconst backendSrv = getBackendSrv();\n\nconst tcFolder = {\n uid: 'tencent-cloud-monitor',\n title: '腾讯云监控',\n folderId: null,\n};\n\nconst tcFolder_EN = {\n uid: 'tencent-cloud-monitor-english',\n title: 'Tencent Cloud Monitor',\n folderId: null,\n};\n\n/**\n * 生成腾讯云专用目录\n * @returns\n */\nasync function getFolderId() {\n if (tcFolder.folderId && tcFolder_EN.folderId) {\n return [tcFolder.folderId, tcFolder_EN.folderId];\n }\n const folders: any[] = await backendSrv.get('/api/folders');\n let folderId = folders.find((item) => item.uid === tcFolder.uid)?.id;\n let folderEnId = folders.find((item) => item.uid === tcFolder_EN.uid)?.id;\n if (!folderId) {\n const folder = await backendSrv.post('/api/folders', tcFolder);\n folderId = folder?.id || 0;\n }\n if (!folderEnId) {\n const folderEn = await backendSrv.post('/api/folders', tcFolder_EN);\n folderEnId = folderEn?.id || 0;\n }\n tcFolder.folderId = folderId;\n tcFolder_EN.folderId = folderEnId;\n return [folderId, folderEnId];\n}\n\n/**\n * 请求拦截器,拦截导入按钮的接口请求\n */\nfunction backendInterceptor() {\n const oldPost = backendSrv.post.bind(getBackendSrv());\n const pluginId = window.location.pathname.split('/').filter((item) => item)[1];\n backendSrv.post = async (url, data) => {\n // 拦截判断:拦截指定接口\n if (url === '/api/dashboards/import' && data.pluginId === pluginId) {\n const [folderId, folderEnId] = await getFolderId();\n data.folderId = data.path.endsWith('_en_dashboard.json') ? folderEnId : folderId;\n }\n return oldPost(url, data);\n };\n}\n\nbackendInterceptor();\n\nexport class MonitorAppConfigCtrl {\n static templateUrl = 'components/config.html';\n appEditCtrl: any;\n appModel?: PluginMeta;\n $q: any;\n configured: boolean;\n\n /** @ngInject */\n constructor($scope: any, $injector: any, $q: any) {\n this.appEditCtrl.setPostUpdateHook(this.postUpdate.bind(this));\n this.$q = $q;\n // Make sure it has a JSON Data spot\n if (!this.appModel) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n this.appModel = {} as PluginMeta;\n }\n\n // Required until we get the types sorted on appModel :(\n const appModel = this.appModel as any;\n if (!appModel.jsonData) {\n appModel.jsonData = {};\n }\n this.configured = false;\n if (this.appModel?.enabled) {\n const datasources = Object.values(config.datasources).filter((ds) => {\n return ds.type === TcDataSourceId;\n });\n if (datasources.length > 0) {\n this.configured = true;\n }\n }\n }\n\n async moveToFolder(dashbaordUid: string, folderId: number) {\n // 获取dashboard\n const { dashboard } = await backendSrv.get(`/api/dashboards/uid/${dashbaordUid}`);\n // 移动目录\n await backendSrv.post('/api/dashboards/db/', {\n dashboard,\n folderId,\n message: '',\n overwrite: true,\n });\n }\n\n async reviseDashboard() {\n // 1. 生成腾讯云目录\n const [folderId, folderEnId] = await getFolderId();\n // 2. 获取所有腾讯云插件下的dashboard\n const rs = await backendSrv.get(`/api/plugins/${this.appModel?.id}/dashboards`);\n\n // 3. 调用api更新dashboard\n const pmlist = rs.map((item) => {\n const { importedUrl, path } = item;\n const uid = importedUrl.split('/')[2];\n if (uid) {\n return this.moveToFolder(uid, path.endsWith('_en_dashboard.json') ? folderEnId : folderId);\n } else {\n return Promise.resolve();\n }\n });\n\n return Promise.all(pmlist);\n }\n\n async postUpdate() {\n if (!this.appModel?.enabled) {\n return;\n }\n // enable或者update时,对预设dashboard进行修改\n await this.reviseDashboard();\n return this.$q.resolve(true);\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/datasource/module.js b/dist/datasource/module.js index 1f22c49..a4a6167 100644 --- a/dist/datasource/module.js +++ b/dist/datasource/module.js @@ -1,3 +1,3 @@ /*! For license information please see module.js.LICENSE.txt */ -define("TencentCloudMonitorGrafanaApp",["lodash","react","app/core/core_module","@grafana/data","@grafana/ui","@grafana/runtime","emotion","moment","rxjs","app/core/utils/kbn","app/core/table_model","angular","app/plugins/sdk","react-dom"],(function(e,t,n,r,i,o,a,c,s,u,l,p,f,d){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=239)}([function(t,n){t.exports=e},function(e,t,n){"use strict";var r={language:"语言",enable_intranet_API_mode:"开启内网API模式",cloud_database:"云数据库",cloud_load_balancer:"负载均衡",virtual_private_cloud:"私有网络",content_delivery_network:"内容分发网络",message_queue:"消息队列",direct_connect:"专线接入",cloud_physical_machine:"黑石物理服务器",elastic_mapReduce:"弹性 MapReduce",edge_computing_machine:"边缘计算机器",RUM:"前端性能监控(RUM)",APM:"应用性能监控(APM)",CLS:"日志服务(CLS)",CVM:"云服务器(CVM)",CDB:"云数据库 MySQL(CDB)",CMONGO:"云数据库 MongoDB(CMONGO)",POSTGRES:"云数据库 PostgreSQL(POSTGRES)",REDIS:"云数据库 Redis(REDIS)",REDIS_MEM:"云数据库 Redis内存版(5s)(REDIS_MEM)",SQLSERVER:"云数据库 SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"云数据库 TcaplusDB(TCAPLUS)",TDMYSQL:"分布式数据库 TDSQL MySQL(TDMYSQL)",PCX:"私有网络-对等连接(PCX)",BWP:"私有网络-带宽包(BWP)",NAT_GATEWAY:"私有网络-NAT 网关(NAT_GATEWAY)",VPNGW:"私有网络-VPN 网关(VPNGW)",VPNX:"私有网络-VPN 通道(VPNX)",DCG:"私有网络-专线网关(DCG)",CEIP_SUMMARY:"私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)",VPC_NET_DETECT:"私有网络-网络探测(VPC_NET_DETECT)",VBC:"私有网络-云联网(VBC)",LB:"私有网络-弹性公网IP(LB)",LB_PUBLIC:"公网负载均衡监控指标(LB_PUBLIC)",LB_PRIVATE:"内网负载均衡四层协议监控指标(LB_PRIVATE)",LOADBALANCE:"内网负载均衡七层协议监控指标(LOADBALANCE)",CDN:"国内域名(CDN)",CDN_LOG_DATA:"省份域名(CDN_LOG_DATA)",OV_CDN:"国外域名(OV_CDN)",SCF_V2:"云函数(SCF)",CFS:"文件存储(CFS)",COS:"对象存储(COS)",CKAFKA:"消息队列 CKafka(CKAFKA)",CMQ:"消息队列-队列服务监控(CMQ)",CMQTOPIC:"消息队列-主题订阅监控(CMQTOPIC)",TDMQ:"消息队列 Pulsar 版(TDMQ)",TDMQ_ROCKETMQ:"消息队列 RocketMQ 版(ROCKETMQ)",TDMQ_RABBITMQ:"消息队列 RabbitMQ 版(RABBITMQ)",DCX:"专线接入-专用通道(DCX)",DC:"专线接入-物理专线(DC)",CPM:"黑石物理服务器(CPM)",BM_PCX:"黑石对等连接(BM_PCX)",BM_LB:"黑石外网负载均衡(BM_LB)",BM_INTRA_LB:"黑石内网负载均衡(BM_INTRA_LB)",CES:"Elasticsearch指标(CES)",BLOCK_STORAGE:"云硬盘(BLOCK_STORAGE)",APIGATEWAY:"API 网关(APIGATEWAY)",QAAP:"全球应用加速(GAAP)",ECM:"边缘计算和网络监控(ECM)",ECM_BLOCK_STORAGE:"边缘计算存储监控(ECM_BLOCK_STORAGE)",ECM_LB:"边缘计算负载均衡(ECM_LB)",GSE:"游戏服务器伸缩(GSE)",TKE:"容器服务(TKE)",ECDN:"全站加速网络(ECDN)",WAF:"Web 应用防火墙(WAF)",multi_scene:"多场景版",lite:"精简版",cloud_monitor:"云监控",cloud_log_service:"日志服务",real_user_monitoring:"前端性能监控",apm_monitoring:"应用性能监控",region:"地域",log_topic:"日志主题",syntax_rule:"语法规则",max_result_num:"最大结果条数",search_statement:"检索语句",time_unit:"Time unit",seconds:"seconds",search_description:"按照具体的查询条件搜索实例,默认拉取前 20 条实例","ap-guangzhou":"华南地区(广州)","ap-shenzhen-fsi":"华南地区(深圳金融)","ap-guangzhou-open":"华南地区(广州OPEN)","ap-shenzhen":"华南地区(深圳)","ap-qingyuan":"华南地区(清远)","ap-shanghai":"华东地区(上海)","ap-shanghai-fsi":"华东地区(上海金融)","ap-jinan-ec":"华东地区(济南)","ap-hangzhou-ec":"华东地区(杭州)","ap-nanjing":"华东地区(南京)","ap-fuzhou-ec":"华东地区(福州)","ap-hefei-ec":"华东地区(合肥)","ap-beijing":"华北地区(北京)","ap-tianjin":"华北地区(天津)","ap-beijing-fsi":"华北地区(北京金融)","ap-shijiazhuang-ec":"华北地区(石家庄)","ap-wuhan-ec":"华中地区(武汉)","ap-changsha-ec":"华中地区(长沙)","ap-zhengzhou-ec":"华中地区(郑州)","ap-chengdu":"西南地区(成都)","ap-chongqing":"西南地区(重庆)","ap-xian-ec":"西北地区(西安)","ap-shenyang-ec":"东北地区(沈阳)","ap-taipei":"港澳台地区(中国台北)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-tokyo":"亚太东北(东京)","ap-singapore":"亚太东南(新加坡)","ap-bangkok":"亚太东南(曼谷)","ap-jakarta":"亚太东南(雅加达)","na-siliconvalley":"美国西部(硅谷)","eu-frankfurt":"欧洲地区(法兰克福)","eu-moscow":"欧洲地区(莫斯科)","ap-mumbai":"亚太南部(孟买)","na-ashburn":"美国东部(弗吉尼亚)","sa-saopaulo":"南美地区(圣保罗)","na-toronto":"北美地区(多伦多)"},i={language:"Language",enable_intranet_API_mode:"Enable Intranet API Mode",cloud_database:"Cloud Database",cloud_load_balancer:"Cloud Load Balancer",virtual_private_cloud:"Virtual Private Cloud",content_delivery_network:"Content Delivery Network",message_queue:"Message Queue",direct_connect:"Direct Connect",cloud_physical_machine:"Cloud Physical Machine",elastic_mapReduce:"Elastic MapReduce",edge_computing_machine:"Edge Computing Machine",RUM:"Real User Monitoring(RUM)",CLS:"Cloud Log Service(CLS)",CVM:"Cloud Virtual Machine(CVM)",CDB:"TencentDB for MySQL(CDB)",CMONGO:"TencentDB for MongoDB(CMONGO)",POSTGRES:"TencentDB for PostgreSQL(POSTGRES)",REDIS:"TencentDB for Redis(REDIS)",REDIS_MEM:"TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)",SQLSERVER:"TencentDB for SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"TencentDB for TcaplusDB(TCAPLUS)",TDMYSQL:"TDSQL for MySQL(TDMYSQL)",PCX:"Peering Connection(PCX)",BWP:"Bandwidth Packet(BWP)",NAT_GATEWAY:"NAT Gateway(NAT_GATEWAY)",VPNGW:"VPN Gateway(VPNGW)",VPNX:"VPN Tunnel(VPNX)",DCG:"Direct Connect Gateway(DCG)",CEIP_SUMMARY:"Anycast EIP(CEIP_SUMMARY)",VPC_NET_DETECT:"Network Detection(VPC_NET_DETECT)",VBC:"Cloud Connect Network(VBC)",LB:"Elastic IP(LB)",LB_PUBLIC:"Public Network CLB(LB_PUBLIC)",LB_PRIVATE:"Private Network CLB Layer-4 Protocol(LB_PRIVATE)",LOADBALANCE:"Private Network CLB Layer-7 Protocol(LOADBALANCE)",CDN:"Chinese Mainland Domain(CDN)",CDN_LOG_DATA:"Province(CDN_LOG_DATA)",OV_CDN:"Overseas Domain(OV_CDN)",SCF_V2:"Serverless Cloud Function(SCF)",CFS:"Cloud File Storage(CFS)",COS:"Cloud Object Storage(COS)",CKAFKA:"Message Queue CKafka(CKAFKA)",CMQ:"Message Queue for Queue Service(CMQ)",CMQTOPIC:"Message Queue for Topic Subscription(CMQTOPIC)",TDMQ:"Tencent Distributed Message Queue for Pulsar(TDMQ)",TDMQ_ROCKETMQ:"Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)",TDMQ_RABBITMQ:"Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)",DCX:"Direct Connect for Dedicated Tunnel(DCX)",DC:"Direct Connect for Connection(DC)",CPM:"Cloud Physical Machine(CPM)",BM_PCX:"Cloud Physical Machine for Peering Connection(BM_PCX)",BM_LB:"Cloud Physical Machine for Public Network CLB(BM_LB)",BM_INTRA_LB:"Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)",CES:"Elasticsearch Service(CES)",BLOCK_STORAGE:"Cloud Block Storage(BLOCK_STORAGE)",APIGATEWAY:"API Gateway(APIGATEWAY)",QAAP:"Global Application Acceleration Platform(GAAP)",ECM:"Edge Computing Machine for Computation and Networking(ECM)",ECM_BLOCK_STORAGE:"Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)",ECM_LB:"Edge Computing Machine for Layer-4 CLB(ECM_LB)",GSE:"Game Server Elastic-scaling(GSE)",TKE:"Tencent Kubernetes Engine(TKE)",ECDN:"Enterprise Content Delivery Network(ECDN)",WAF:"Web Application Firewall(WAF)",multi_scene:"Multi-Scene",lite:"Lite",cloud_monitor:"Cloud Monitor",cloud_log_service:"Cloud Log Service",real_user_monitoring:"Real User Monitoring",apm_monitoring:"Application Monitoring",region:"Region",log_topic:"Log Topic",syntax_rule:"Syntax Rule",max_result_num:"Maximum result number",search_statement:"Search Statement",time_unit:"Time unit",seconds:"seconds",search_description:"Search for instances according to specific query conditions, and pull the first 20 instances by default","ap-guangzhou":"South China(Guangzhou)","ap-shenzhen-fsi":"South China(Shenzhen Finance)","ap-guangzhou-open":"South China(Guangzhou OPEN)","ap-shenzhen":"South China(Shenzhen)","ap-qingyuan":"South China(Qingyuan)","ap-shanghai":"East China(Shanghai)","ap-shanghai-fsi":"East China(Shanghai Finance)","ap-jinan-ec":"East China(Jinan)","ap-hangzhou-ec":"East China(Hangzhou)","ap-nanjing":"East China(Nanjing)","ap-fuzhou-ec":"East China(Fuzhou)","ap-hefei-ec":"East China(Hefei)","ap-beijing":"North China region(Beijing)","ap-tianjin":"North China region(Tianjin)","ap-beijing-fsi":"North China region(Beijing Finance)","ap-shijiazhuang-ec":"North China region(Shijiazhuang)","ap-wuhan-ec":"Central China(Wuhan)","ap-changsha-ec":"Central China(Changsha)","ap-zhengzhou-ec":"Central China(Zhengzhou)","ap-chengdu":"Southwest China(Chengdu)","ap-chongqing":"Southwest China(Chongqing)","ap-xian-ec":"Northwest region(Xi'an)","ap-shenyang-ec":"Northeast China(Shenyang)","ap-taipei":"Hong Kong, Macau and Taiwan (China)(Taipei, China)","ap-hongkong":"Hong Kong, Macau and Taiwan (China)(Hong Kong, China)","ap-seoul":"Northeast Asia(Seoul)","ap-tokyo":"Northeast Asia(Tokyo)","ap-singapore":"Southeast Asia(Singapore)","ap-bangkok":"Southeast Asia(Bangkok)","ap-jakarta":"Southeast Asia(Jakarta)","na-siliconvalley":"US West(Silicon Valley)","eu-frankfurt":"Europe(Frankfurt)","eu-moscow":"Europe(Northeastern Europe)","ap-mumbai":"South Asia(Mumbai)","na-ashburn":"US East(Virginia)","sa-saopaulo":"South America(São Paulo)","na-toronto":"North America(Toronto)"};n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return u}));var o,a="zh-CN";!function(e){e.Chinese="zh-CN",e.English="en-US"}(o||(o={}));var c=function(e){return a===o.Chinese?r[e]:i[e]},s=function(e){a=e},u=function(){return a}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(197),a=n.n(o),c=n(20),s=n(69),u=n.n(s),l=function(){return(l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&-1===t._InstanceAliasValue.indexOf(r[o].timeshift)&&(t._InstanceAliasValue+="_".concat(r[o].timeshift)),t[e]=f.getDimensionsVal(t,p,h),f.checkKeys.length>0&&f.checkKeys.forEach((function(n){t[n]=t[e]})),n[e]={Name:e,Value:t[e]},[2]}}))},f=this,m=0,h=e,v.label=1;case 1:return m0){var r=i.a.cloneDeep(t);return r[n].timeshift="",m(m([],e,!0),[r,t],!1)}return m(m([],e,!0),[t],!1)}),[]).map((function(r){return f(t,void 0,void 0,(function(){var t,o,l,p,f,m,h,g,y,v,b,I,w=this;return d(this,(function(d){switch(d.label){case 0:return t=Object(c.j)(this.templateSrv,e.scopedVars,r[n].instance,!0),[4,s.a.getInstance(this.service)];case 1:o=d.sent(),l=Object(u.c)(r[n].timeshift),t=[].concat(t).map((function(e){var t,n;try{return JSON.parse(e)}catch(r){return o?null!==(n=i.a.cloneDeep(o.find((function(t){return t[w.templateQueryIdMap.instance]===e}))))&&void 0!==n?n:{}:null===(t=w.getDefaultInsObj)||void 0===t?void 0:t.call(w,e)}})),p=Object(c.j)(this.templateSrv,e.scopedVars,r[n].region,!1),f=[],m=0,h=t,d.label=2;case 2:return m=y)return(null==d?void 0:d.response)?d.response(r):r;var v=Object(c.k)(y,(null==o?void 0:o.Limit)||100),b=[];return i.a.forEach(v,(function(r){b.push(n.getInstances(e,p(p({},r),t)))})),Promise.all(b).then((function(e){return i.a.forEach(e,(function(e){r=i.a.concat(r,e)})),(null==d?void 0:d.response)?d.response(r):r})).catch((function(e){return(null==d?void 0:d.response)?d.response(r):r}))}))},e.prototype.isValidConfigField=function(e){return e&&e.length>0},e.prototype.testDatasource=function(){var e=this;return this.isValidConfigField(this.secretId)?Promise.all([this.getRegions(),this.getMetrics(),this.getInstances("ap-guangzhou",{Offset:0,Limit:1})]).then((function(t){var n=i.a.get(t,"[0].Error",{}),r=i.a.get(t,"[1].Error",{}),o=i.a.get(t,"[2].Error",{}),a=i.a.get(n,"Code",""),c=i.a.get(r,"Code",""),s=i.a.get(o,"Code","");if(a||c||s){var u=[];a&&u.push(i.a.get(n,"Code")),c&&u.push(i.a.get(r,"Code")),s&&u.push(i.a.get(o,"Code"));var l=i.a.join(i.a.compact(i.a.uniq(u)),"; ");return{service:e.service,status:"error",message:l}}return{namespace:e.namespace,service:e.service,status:"success",message:"Successfully queried the ".concat(e.service," service."),title:"Success"}})).catch((function(t){var n="".concat(e.service," service:");return n+=t.statusText?t.statusText+"; ":"",i.a.get(t,"data.error.code","")?n+=t.data.error.code+". "+t.data.error.message:i.a.get(t,"data.error","")?n+=t.data.error:i.a.get(t,"data","")?n+=t.data:n+="Cannot connect to ".concat(e.service," service."),{service:e.service,status:"error",message:n}})):{service:this.service,status:"error",message:"The SecretId/SecretKey field is required."}},e.prototype.doRequest=function(e,t,n){return void 0===n&&(n={}),f(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,Object(c.c)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return i.a.get(e,"data.Response",{})})).catch((function(e){throw e}))]}}))}))},e}()},function(e,n){e.exports=t},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"b",(function(){return f})),n.d(t,"f",(function(){return d})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return h}));var r=n(0),i=n.n(r),o=n(20),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t?r.push({Name:o,Values:i.a.uniq(e).slice(0,5)}):n[o]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t?r.push({Name:o,Values:i.a.get(e,"value",[]).slice(0,5)}):n[o]=i.a.get(e,"value")):null!=e&&""!==e&&(t?r.push({Name:o,Values:e}):n[o]=e)})),t&&r.length>0)return n.Filters=r,n}return n}function f(e){return i.a.get(i.a.find(o.SERVICES,(function(t){return t.service===e})),"namespace")}function d(e){return e.reduce((function(e,t){var n=t.namespace,r=t.label,i=t.groupName,o=void 0===i?r:i,a=e.find((function(e){return e.label===o}));return a?(a.items.push({label:r,value:n}),e):(e.push({label:o,value:o,items:[{label:r,value:n}]}),e)}),[]).map((function(e){return 1===e.items.length?{label:e.items[0].label,value:e.items[0].value}:e}))}var m=function(e,t,n){try{var r=JSON.parse(e),i=JSON.parse(t);return r[n]===i[n]}catch(n){return e===t}},h=function(e){var t=/^(\d+)([d|h|m|s])$/.exec(e);if(!t)return 0;var n=parseInt(t[1],10);switch(t[2]){case"d":return 86400*n*1e3;case"h":return 3600*n*1e3;case"m":return 60*n*1e3;case"s":return 1e3*n}return 0}},function(e,t){e.exports=n},function(e,t,n){"use strict";n.r(t);var r=n(6),i=n.n(r),o=n(2);t.default=function(e,t){var n,r,a=(n=t,function(){function e(e,t){Object.assign(e,n),e.getDropdown=function(t){var n=Object(o.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t,region:e.region})}}return e.$inject=["$scope","$rootScope"],e}());i.a.directive(e,(r=a,function(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n',controller:r,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}))}},function(e,t){e.exports=r},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["InstanceId","InstanceName"],u=["TopicId","TopicName"],l={instance:"InstanceId",topicId:"TopicId",groupName:"GroupName",partition:"PartitionId"},p=new Proxy({topicId:"TopicId",topicName:"TopicName",consumerGroup:"GroupName",partition:"PartitionId"},{get:function(e,t){return"instanceid"===String(t).toLocaleLowerCase()?"InstanceId":e[t]}}),f={TopicList:"TopicList",GroupList:"GroupList",PartitionList:"PartitionList"},d={TopicId:{dim_KeyInStorage:f.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},TopicName:{dim_KeyInStorage:f.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},GroupName:{dim_KeyInStorage:f.GroupList,dim_KeyInTarget:"consumerGroup",dim_KeyInMap:l.groupName},PartitionId:{dim_KeyInStorage:f.PartitionList,dim_KeyInTarget:"partition",dim_KeyInMap:l.partition}};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"LOADBALANCEFieldsDescriptor",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return l})),n.d(t,"LOADBALANCEListenerAliasList",(function(){return p})),n.d(t,"LOADBALANCEServerAliasList",(function(){return f})),n.d(t,"LOADBALANCEVALIDDIMENSIONS",(function(){return d})),n.d(t,"templateQueryIdMap",(function(){return h})),n.d(t,"CANDIATEDIMENSIONS",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"queryEditorConfig",(function(){return c})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(5),i="QCE/LOADBALANCE",o="loadBalanceQuery",a=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],c={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:i,fieldDescriptor:a},s={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",servers:"",serverPort:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function u(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var l=["LoadBalancerId","LoadBalancerName","LoadBalancerVips"],p=["ListenerId","ListenerName","Port"],f=["PrivateIpAddresses","InstanceId"],d={vip:"LoadBalancerVips",loadBalancerPort:"Port",protocol:"Protocol",lanIp:"PrivateIpAddresses",port:"ServerPort"},m={LoadBalancerVips:"AddressIPv6"},h={instance:"LoadBalancerId",listener:"ListenerId",servers:"PrivateIpAddresses",port:"Port"},g={listener:"ListenerList",servers:"ServersList"},y={Port:{dim_KeyInStorage:g.listener,dim_KeyInTarget:"listener",dim_KeyInMap:h.listener},Protocol:{dim_KeyInStorage:g.listener,dim_KeyInTarget:"listener",dim_KeyInMap:h.listener},PrivateIpAddresses:{dim_KeyInStorage:g.servers,dim_KeyInTarget:"servers",dim_KeyInMap:h.servers},ServerPort:{dim_KeyInStorage:g.servers,dim_KeyInTarget:"serverPort",dim_KeyInIns:"Port",dim_KeyInMap:h.port}};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"TDMQInstanceAliasList",(function(){return u})),n.d(t,"TDMQInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"regionSupported",(function(){return m})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return d}));var r=n(5),i=n(0),o=n.n(i),a="QCE/TDMQ",c="tdmqQuery",s={tenantId:"ClusterId",tenant:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},u=["ClusterId","ClusterName"],l={instance:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",topicName:"",environmentId:"",queries:{Limit:20,Offset:0}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var m=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){-1!==e.Dimensions.indexOf("topicName")&&-1===e.Dimensions.indexOf("environmentId")&&e.Dimensions.push("environmentId")})),t}var g={topicName:"topicName",environmentId:"environmentId"},y={TopicName:{dim_KeyInStorage:g.topicName,dim_KeyInTarget:"topicName",dim_KeyInMap:l.topicName},EnvironmentId:{dim_KeyInStorage:g.environmentId,dim_KeyInTarget:"environmentId",dim_KeyInMap:l.environmentId}};t.default=f},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return s}));var r,i=n(1),o=n(202);!function(e){e.monitor="monitor",e.logService="logService",e.RUMService="RUMService",e.APMService="APMService"}(r||(r={}));var a=[{value:r.monitor,get label(){return Object(i.d)("cloud_monitor")}},{value:r.logService,get label(){return Object(i.d)("cloud_log_service")}},{value:r.RUMService,get label(){return Object(i.d)("real_user_monitoring")}},{value:r.APMService,get label(){return Object(i.d)("apm_monitoring")}}],c={serviceType:r.logService,logServiceParams:{region:"",TopicId:"",Query:"",SyntaxRule:o.a.CQL},RUMServiceParams:{policy:"default",resultFormat:"time_series",orderByTime:"ASC",tags:[],groupBy:[{type:"time",params:["$__interval"]},{type:"fill",params:["null"]}],select:[[{type:"field",params:["value"]},{type:"mean",params:[]}]]},APMServiceParams:{policy:"default",resultFormat:"time_series",orderType:"time",orderBy:"ASC",tags:[],groupBy:[{type:"time",params:["$__interval"]},{type:"fill",params:["null"]}],select:[[{type:"field",params:["value"]},{type:"mean",params:[]}]]}},s={refId:"",hide:!1,key:"",queryType:"",dataTopic:null,datasource:"",serviceType:c.serviceType,logServiceParams:c.logServiceParams,RUMServiceParams:c.RUMServiceParams,APMServiceParams:c.APMServiceParams}},function(e,t,n){"use strict";n.r(t),n.d(t,"GSEFilterFieldsDescriptor",(function(){return m})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"GSEInstanceAliasList",(function(){return l})),n.d(t,"GSEInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return h})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"modifyDimensons",(function(){return b})),n.d(t,"queryMonitorExtraConfg",(function(){return d})),n.d(t,"fleetId",(function(){return c})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"GSEGetInstanceQueryParams",(function(){return y}));var r=n(5),i=n(0),o=n.n(i),a="QCE/GSE",c="FleetId",s="gseQuery",u={instanceid:"InstanceId",fleetid:"FleetId",queuename:"Name"},l=["InstanceId","PrivateIpAddress","IpAddress"],p={instance:"InstanceId",Name:"Name",FleetId:c},f={fleet:"fleet",queue:"queueName"},d={FleetId:{dim_KeyInStorage:f.fleet,dim_KeyInTarget:"FleetId",dim_KeyInMap:p.FleetId},Name:{dim_KeyInStorage:f.queue,dim_KeyInTarget:"Name",dim_KeyInMap:p.Name}},m=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceId",enDescriptor:"resourceName",cnDescriptor:"资源名称",link:"",type:"input"},{key:"FleetId",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"input"}],h={instanceDocUrl:"https://cloud.tencent.com/document/api/1165/42604",namespace:a,fieldDescriptor:m},g={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",FleetId:"",Name:"",queries:{Limit:20,Offset:0,InstanceId:"",FleetId:""}};function y(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var v=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-ashburn"},{value:"na-siliconvalley"}];function b(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return u[e]||e}))})),t}t.default=g},function(e,t,n){"use strict";n.r(t),n.d(t,"DCDBFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"DCDBInstanceAliasList",(function(){return s})),n.d(t,"DCDBInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"DCDBGetInstanceQueryParams",(function(){return h}));var r=n(0),i=n(5),o="QCE/TDMYSQL",a="dcdbQuery",c={nodeid:"NodeId",instanceid:"InstanceId",shardid:"ShardInstanceId",ShardId:"ShardInstanceId"},s=["InstanceId","InstanceName"],u={instance:"InstanceId",NodeId:"NodeId",ShardInstanceId:"ShardInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例 ID 查询",link:"",type:"inputMulti"},{key:"SearchName",enDescriptor:"SearchName",cnDescriptor:"搜索的字段名,当前支持的值有:instancename、vip、all",link:"",type:"input"},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"搜索的关键字",link:"",type:"input"},{key:"ProjectIds",enDescriptor:"ProjectIds",cnDescriptor:"按项目 ID 查询",link:"",type:"inputNumberMulti"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络 ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"私有网络的子网 ID",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"projectId",value:"projectId"},{text:"createtime",value:"createtime"},{text:"instancename",value:"instancename"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"私有网络 ID",link:"",type:"select",list:[{text:"desc",value:"desc"},{text:"asc",value:"asc"}]},{key:"ExclusterType",enDescriptor:"ExclusterType",cnDescriptor:"集群类型",link:"",type:"select",list:[{text:"非独享集群",value:1},{text:"独享集群",value:2},{text:"全部",value:0},{text:"asc",value:"asc"}]},{key:"ExclusterIds",enDescriptor:"ExclusterIds",cnDescriptor:"独享集群ID",link:"",type:"inputMulti"},{key:"FilterInstanceType",enDescriptor:"FilterInstanceType",cnDescriptor:"实例类型过滤",link:"",type:"select",multiple:!0,list:[{text:"独享实例",value:1},{text:"主实例",value:2},{text:"灾备实例",value:3}]}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/557/16140",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",ShardId:"",NodeId:"",queries:{Limit:20,Offset:0,InstanceIds:[],SearchName:"",SearchKey:"",ProjectIds:[],VpcId:"",SubnetId:"",OrderBy:{},OrderByType:{},ExclusterType:{},ExclusterIds:[],FilterInstanceType:{}}},d={shardid:"ShardId",instanceid:"InstanceId",nodeid:"NodeId"};function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return d[e]||e}))})),t}function h(e){void 0===e&&(e={});var t=Object(i.d)(e,!1);return t.IsFilterVpc=!1,t.IsFilterExcluster=!1,(t.VpcId||t.SubnetId)&&(t.IsFilterVpc=!0),t.ExclusterType&&(t.IsFilterExcluster=!0),Object(r.isArray)(t.FilterInstanceType)&&(t.FilterInstanceType=t.FilterInstanceType.join(",")),t}var g={NodeId:"NodeId",ShardInstanceId:"ShardId"},y={NodeId:{dim_KeyInStorage:g.NodeId,dim_KeyInTarget:"NodeId",dim_KeyInMap:u.NodeId},ShardInstanceId:{dim_KeyInStorage:g.ShardInstanceId,dim_KeyInTarget:"ShardId",dim_KeyInMap:u.ShardInstanceId}},v=[{text:"华北地区(北京)",value:"ap-beijing"},{text:"西南地区(成都)",value:"ap-chengdu"},{text:"西南地区(重庆)",value:"ap-chongqing"},{text:"华南地区(广州)",value:"ap-guangzhou"},{text:"港澳台地区(中国香港)",value:"ap-hongkong"},{text:"亚太南部(孟买)",value:"ap-mumbai"},{text:"华东地区(南京)",value:"ap-nanjing"},{text:"华东地区(上海)",value:"ap-shanghai"},{text:"华东地区(上海金融)",value:"ap-shanghai-fsi"},{text:"华南地区(深圳金融)",value:"ap-shenzhen-fsi"},{text:"亚太东南(新加坡)",value:"ap-singapore"},{text:"亚太东北(东京)",value:"ap-tokyo"},{text:"欧洲地区(法兰克福)",value:"eu-frankfurt"},{text:"美国东部(弗吉尼亚)",value:"na-ashburn"},{text:"美国西部(硅谷)",value:"na-siliconvalley"},{text:"北美地区(多伦多)",value:"na-toronto"}];t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemFieldsDescriptor",(function(){return c})),n.d(t,"RedisMemInvalidDemensions",(function(){return p})),n.d(t,"REDISMEMInstanceAliasList",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"namespace",(function(){return a})),n.d(t,"NodeType",(function(){return d})),n.d(t,"REDISMEMGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var l=["InstanceId","InstanceName","WanIp"],p={instanceid:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},f={instance:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},d=["Redis","Proxy"];t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQRABBITMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/RABBITMQ",o="tdmqQuery",a={instanceid:"InstanceId",node:"NodeName"},c=["InstanceId","InstanceName"],s={instance:"InstanceId",node:"NodeName"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",node:"",queries:{Limit:20,Offset:0}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={node:"NodeName"},m={NodeName:{dim_KeyInStorage:d.node,dim_KeyInTarget:"node",dim_KeyInMap:s.node}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQROCKETMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"TDMQROCKETMQGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o="QCE/ROCKETMQ",a={tenant:"ClusterId",namespace:"NamespaceId",group:"Name"},c=["ClusterId","ClusterName"],s={instance:"ClusterId",namespace:"NamespaceId",group:"Name"},u=[{key:"includeVip",enDescriptor:"includeVip",cnDescriptor:"包含专享集群",link:"",type:"select",list:[{text:"是",value:"true"},{text:"否",value:"false"}]}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",namespace:"",group:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIdList:[""],Filters:{includeVip:{text:"是",value:"true"}}}};function p(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.ClusterIdList)){var n=i.a.compact(e.ClusterIdList);i.a.uniq(n).length>0&&(t.ClusterIdList=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:[i.a.get(e,"value",[])].slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={namespace:"NamespaceId",group:"Name"},m={NamespaceId:{dim_KeyInStorage:d.namespace,dim_KeyInTarget:"namespace",dim_KeyInMap:s.namespace},Name:{dim_KeyInStorage:d.group,dim_KeyInTarget:"group",dim_KeyInMap:s.group}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"InitServiceState",(function(){return c})),n.d(t,"SERVICES",(function(){return o})),n.d(t,"Datasources",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return s})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(1),i=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c=new Proxy({},{get:function(e,t,n){if("string"==typeof t){if(t.startsWith("id4"))return"ClusterId";if(t.startsWith("host4"))return"Ip"}return Reflect.get(e,t,n)},has:function(e,t){return!0}}),s={instance:"ClusterId",node:"Ip"},u={node:"nodeIP"},l={Ip:{dim_KeyInStorage:u.node,dim_KeyInTarget:"nodeIP",dim_KeyInMap:s.node}},p=["ClusterId","ClusterName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",nodeIP:"",queries:{Offset:0,Limit:10,DisplayStrategy:"",OrderBy:{},Order:{},InstanceIds:[],ProjectId:-1,OrderField:"",Asc:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"VCLBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"VCLBInstanceAliasList",(function(){return u})),n.d(t,"VCLBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"clbNamespaceMap",(function(){return g})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"regionSupported",(function(){return h})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/V_CLB",c="vClbQuery",s={InstanceId:"LoadBalancerId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var h=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],g={public:"QCE/LB_PUBLIC",private:"QCE/LB_PRIVATE"};function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=d},function(e,t){e.exports=a},function(e,t,n){"use strict";n.r(t),n.d(t,"cynosdbMysqlFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"CYNOSDBMYSQLInstanceAliasList",(function(){return d})),n.d(t,"CYNOSDBInvalidDemensions",(function(){return h})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"regionSupported",(function(){return u})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"checkKeys",(function(){return g})),n.d(t,"CYNOSDBMYSQLGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CYNOSDB_MYSQL",c="cynosdbMysqlQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:1e3},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例id列表",link:"",type:"inputMulti"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"创建时间",value:"CREATETIME"},{text:"过期时间",value:"PERIODENDTIME"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序类型",link:"",type:"select",list:[{text:"升序",value:"ASC"},{text:"降序",value:"DESC"}]},{key:"DbType",enDescriptor:"DbType",cnDescriptor:"引擎类型",link:"",type:"select",list:[{text:"MYSQL",value:"MYSQL"},{text:"POSTGRESQL",value:"POSTGRESQL"}]}],u=[{value:"ap-beijing"},{value:"ap-guangzhou"},{value:"ap-nanjing"},{value:"ap-shanghai"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/1003/48334",namespace:a,fieldDescriptor:s},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,OrderBy:{},OrderByType:{},InstanceIds:[],DbType:{}}};function f(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var d=["InstanceId","InstanceName"],m={instance:"InstanceId"},h={instanceid:"InstanceId",instanceId:"InstanceId"},g=["instanceId"];function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryDescriptor",(function(){return o})),n.d(t,"SCFInstanceAliasList",(function(){return s})),n.d(t,"SCFInvalidDemensions",(function(){return u})),n.d(t,"queryMonitorExtraConfg",(function(){return d})),n.d(t,"regionSupported",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"SCFGetInstanceQueryParams",(function(){return c})),n.d(t,"SCFDefaultDimensionList",(function(){return m}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"支持FunctionName模糊匹配",link:"",type:"input"},{key:"Namespace",enDescriptor:"Namespace",cnDescriptor:"云函数命名空间",link:"",type:"input"},{key:"Description",enDescriptor:"Description",cnDescriptor:"函数描述,支持模糊搜索",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"AddTime",value:"AddTime"},{text:"ModTime",value:"ModTime"},{text:"FunctionName",value:"FunctionName"}]},{key:"Order",enDescriptor:"Order Direction",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"ASC",value:"ASC"},{text:"DESC",value:"DESC"}]}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FunctionName",version:"",queries:{Offset:0,Limit:20,OrderBy:{},Order:{},SearchKey:"",Namespace:"",Description:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FunctionId","FunctionName"],u={functionName:"FunctionName",namespace:"Namespace",version:"Version"},l={instance:"FunctionName",version:"Version"},p=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={version:"version"},d={Version:{dim_KeyInStorage:f.version,dim_KeyInTarget:"version",dim_KeyInMap:l.version}};t.default=a;var m=["functionName","namespace","version"]},function(e,t,n){"use strict";n.r(t),n.d(t,"CLSFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CLSInstanceAliasList",(function(){return u})),n.d(t,"CLSInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"regionSupported",(function(){return h})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"CLSGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CLS",c="clsQuery",s={},u=["TopicId","TopicName"],l={instance:"TopicId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"topicName",enDescriptor:"topicName",cnDescriptor:"日志主题名称",link:"",type:"inputMulti"},{key:"topicId",enDescriptor:"topicId",cnDescriptor:"日志主题ID",link:"",type:"inputMulti"},{key:"logsetName",enDescriptor:"logsetName",cnDescriptor:"日志集名称",link:"",type:"inputMulti"},{key:"logsetId",enDescriptor:"logsetId",cnDescriptor:"日志集ID",link:"",type:"inputMulti"},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"},{key:"tag:tagKey",enDescriptor:"tag - tagKey",cnDescriptor:"标签键值对",link:"",type:"inputMulti"},{key:"storageType",enDescriptor:"storageType",cnDescriptor:"日志主题的存储类型",link:"",type:"select",list:[{text:"实时存储",value:"hot"},{text:"离线存储",value:"cold"}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/614/56454",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicId",uin:"",queries:{Limit:20,Offset:0,topicName:[],topicId:[],logsetName:[],logsetId:[],tagKey:[],"tag:tagKey":[],storageType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var h=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function g(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["uin","TopicId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"SQLSERVERNETFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"SQLSERVERInstanceAliasList",(function(){return u})),n.d(t,"SQLSERVERInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"SQLSERVERGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/SQLSERVER",c="sqlserverQuery",s={resourceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputNumber"},{key:"Status",enDescriptor:"Status",cnDescriptor:"实例状态",link:"",type:"select",list:[{text:"申请中",value:1},{text:"运行中",value:2},{text:"受限运行中 (主备切换中)",value:3},{text:"已隔离",value:4},{text:"回收中",value:5},{text:"已回收",value:6},{text:"任务执行中",value:7},{text:"已下线",value:8},{text:"实例扩容中",value:9},{text:"实例迁移中",value:10},{text:"只读",value:11},{text:"重启中",value:12}]},{key:"InstanceIdSet",enDescriptor:"InstanceIdSet",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"PayMode",enDescriptor:"PayMode",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"包年包月",value:1},{text:"按量计费",value:0}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"实例所属VPC的唯一字符串ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"实例所属子网的唯一字符串ID",link:"",type:"input"},{key:"VipSet",enDescriptor:"VipSet",cnDescriptor:"实例内网地址列表",link:"",type:"inputMulti"},{key:"InstanceNameSet",enDescriptor:"InstanceNameSet",cnDescriptor:"实例名称列表, 模糊查询",link:"",type:"inputMulti"},{key:"VersionSet",enDescriptor:"VersionSet",cnDescriptor:"实例版本代号列表",link:"",type:"inputMulti"},{key:"Zone",enDescriptor:"Zone",cnDescriptor:"实例可用区",link:"",type:"dropdown"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/238/19969",namespace:a,fieldDescriptor:p},d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-moscow"},{value:"na-siliconvalley"}],m={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:null,Status:{},InstanceIdSet:[],PayMode:{},VpcId:"",SubnetId:"",VipSet:[],InstanceNameSet:[],VersionSet:[],Zone:""}};function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["resourceId"]})),t}function g(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=m},function(e,t,n){"use strict";n.r(t),n.d(t,"BMINTRALBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMINTRALBInstanceAliasList",(function(){return u})),n.d(t,"BMINTRALBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"isValidMetric",(function(){return h})),n.d(t,"BMINTRALBGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_INTRA_LB",c="bmIntraLbQuery",s={vip:"LoadBalancerVips",vpcId:"VpcId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}},m=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function h(e){var t=o.a.map(m,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}function g(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMLBInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"isValidMetric",(function(){return g})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_LB",c="bmLbQuery",s={vip:"LoadBalancerVips"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var h=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function g(e){var t=o.a.map(h,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"BMPCXFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMPCXInstanceAliasList",(function(){return u})),n.d(t,"BMPCXInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"BMPCXGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_PCX",c="bmPcxQuery",s={peeringConnectionId:"VpcPeerConnectionId"},u=["VpcPeerConnectionId","VpcPeerConnectionName"],l={instance:"VpcPeerConnectionId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"VpcPeerConnectionIds",enDescriptor:"VpcPeerConnectionIds",cnDescriptor:"对等连接实例ID",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/product/1024/36903",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpcPeerConnectionId",queries:{Limit:20,Offset:0,VpcPeerConnectionIds:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["peeringConnectionId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CBSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"CBSInstanceAliasList",(function(){return s})),n.d(t,"CBSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"isValidMetric",(function(){return m})),n.d(t,"CBSGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n(5),o="QCE/BLOCK_STORAGE",a="cbsQuery",c={diskId:"DiskId",InstanceId:"InstanceId",diskname:"DiskName",unInstanceId:"InstanceId"},s=["DiskId","DiskName"],u={instance:"DiskId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DiskIds",enDescriptor:"DiskIds",cnDescriptor:"云硬盘ID",link:"",type:"inputMulti"},{key:"Order",enDescriptor:"Order",cnDescriptor:"排列顺序",link:"",type:"select",list:[{text:"升序排列",value:"ASC"},{text:"降序排列",value:"DESC"}]},{key:"OrderField",enDescriptor:"OrderField",cnDescriptor:"排序的依据字段",link:"",type:"select",list:[{text:"云盘的创建时间排序",value:"CREATE_TIME"},{text:"云盘的到期时间排序",value:"DEADLINE"}]},{key:"ReturnBindAutoSnapshotPolicy",enDescriptor:"ReturnBindAutoSnapshotPolicy",cnDescriptor:"否需要返回云盘绑定的定期快照策略ID",link:"",type:"switch"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/362/16315",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DiskId",queries:{Limit:20,Offset:0,DiskIds:[],OrderField:[],Order:[],ReturnBindAutoSnapshotPolicy:!1}};function d(e){return void 0===e&&(e={}),Object(i.d)(e,!1)}function m(e){void 0===e&&(e={});var t=r.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==r.indexOf(t,"diskId")}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNPROVINCEFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CDNPROVINCEInstanceAliasList",(function(){return c})),n.d(t,"CDNPROVINCEInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"CDNPROVINCEGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/CDN_LOG_DATA",o="cdnProvinceQuery",a={domain:"Domain",projectid:"ProjectId",province:"district",appid:"AppId"},c=["Domain","ProjectId"],s={instance:"Domain"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"origin",enDescriptor:"origin",cnDescriptor:"主源站",link:"",type:"inputMulti"},{key:"domain",enDescriptor:"domain",cnDescriptor:"域名",link:"",type:"inputMulti"},{key:"resourceId",enDescriptor:"resourceId",cnDescriptor:"域名id",link:"",type:"inputMulti"},{key:"status",enDescriptor:"status",cnDescriptor:"域名状态",link:"",type:"select",list:[{text:"online",value:"online"},{text:"offline",value:"offline"},{text:"processing",value:"processing"}]},{key:"serviceType",enDescriptor:"serviceType",cnDescriptor:"业务类型",link:"",type:"select",list:[{text:"web",value:"web"},{text:"download",value:"download"},{text:"media",value:"media"}]},{key:"projectId",enDescriptor:"projectId",cnDescriptor:"项目ID",link:"",type:"inputNumberMulti"},{key:"domainType",enDescriptor:"domainType",cnDescriptor:"主源站类型",link:"",type:"select",list:[{text:"自有源",value:"cname"},{text:"cos接入",value:"cos"}]},{key:"fullUrlCache",enDescriptor:"fullUrlCache",cnDescriptor:"全路径缓存",link:"",type:"select",list:[{text:"打开",value:"on"},{text:"关闭",value:"off"}]},{key:"https",enDescriptor:"https",cnDescriptor:"是否配置https",link:"",type:"select",list:[{text:"on",value:"on"},{text:"off",value:"off"},{text:"processing",value:"processing"}]},{key:"originPullProtocol",enDescriptor:"originPullProtocol",cnDescriptor:"回源协议类型",link:"",type:"select",list:[{text:"http",value:"http"},{text:"follow",value:"follow"},{text:"https",value:"https"}]},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"}],l={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"Domain",isp:"",district:"",queries:{Limit:20,Offset:0,origin:[],domain:[],resourceId:[],status:{},serviceType:{},projectId:[],domainType:{},fullUrlCache:{},https:{},originPullProtocol:{},tagKey:[]}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"CEIPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CEIPSUMMARYInstanceAliasList",(function(){return u})),n.d(t,"CEIPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"CEIPSUMMARYGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CEIP_SUMMARY",c="ceipSummaryQuery",s={vip:"AddressIp",eip:"AddressIp"},u=["AddressId","AddressName","AddressIp"],l={instance:"AddressId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"address-id",enDescriptor:"address-id",cnDescriptor:" EIP 的唯一 ID",link:"",type:"inputMulti"},{key:"address-name",enDescriptor:"address-name",cnDescriptor:"EIP 名称",link:"",type:"inputMulti"},{key:"address-ip",enDescriptor:"address-ip",cnDescriptor:"EIP 的 IP 地址",link:"",type:"inputMulti"},{key:"address-status",enDescriptor:"address-status",cnDescriptor:"EIP 的状态",link:"",type:"select",multiple:!0,list:[{text:"CREATING",value:"CREATING"},{text:"BINDING",value:"BINDING"},{text:"BIND",value:"BIND"},{text:"UNBINDING",value:"UNBINDING"},{text:"UNBIND",value:"UNBIND"},{text:"OFFLINING",value:"OFFLINING"},{text:"BIND_ENI",value:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"EIP 绑定的实例 ID",link:"",type:"inputMulti"},{key:"private-ip-address",enDescriptor:"private-ip-address",cnDescriptor:"EIP 绑定的内网 IP ",link:"",type:"inputMulti"},{key:"network-interface-id",enDescriptor:"network-interface-id",cnDescriptor:" EIP 绑定的弹性网卡 ID",link:"",type:"inputMulti"},{key:"is-arrears",enDescriptor:"is-arrears",cnDescriptor:"EIP 是否欠费",link:"",type:"select",multiple:!0,list:[{text:"欠费状态",value:"TRUE"},{text:"费用状态正常",value:"FALSE"}]},{key:"address-isp",enDescriptor:"address-isp",cnDescriptor:"运营商类型",link:"",type:"select",multiple:!0,list:[{text:"BGP",value:"BGP"},{text:"CMCC",value:"CMCC"},{text:"CUCC",value:"CUCC"},{text:"CTCC",value:"CTCC"}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/215/16702",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",queries:{Limit:20,Offset:0,"address-id":[],"address-name":[],"address-ip":[],"address-status":{},"is-arrears":{},"address-isp":{},"instance-id":[],"private-ip-address":[],"network-interface-id":[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function h(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["eip"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return p})),n.d(t,"GetInstanceQueryParams",(function(){return a})),n.d(t,"queryMonitorExtraConfg",(function(){return l})),n.d(t,"keyInStorage",(function(){return u}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"TopicName",enDescriptor:"TopicName",cnDescriptor:"精确匹配TopicName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={topicId:"TopicId"},s={instance:"TopicName",subscription:"SubscriptionId"},u={subscriptionId:"subscriptionId"},l={subscriptionId:{dim_KeyInStorage:u.subscriptionId,dim_KeyInTarget:"subscriptionId",dim_KeyInMap:s.subscription}},p=["TopicName","TopicId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicName",subscriptionId:"",queries:{Offset:0,Limit:20,TopicName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CPMInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"CPMGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CPM",c="cpmQuery",s={instanceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DeviceClassCode",enDescriptor:"DeviceClassCode",cnDescriptor:"机型ID",link:"",type:"dropdown"},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"设备ID数组",link:"",type:"inputMulti"},{key:"WanIps",enDescriptor:"WanIps",cnDescriptor:"外网IP数组",link:"",type:"inputMulti"},{key:"LanIps",enDescriptor:"LanIps",cnDescriptor:"内网IP数组",link:"",type:"inputMulti"},{key:"Alias",enDescriptor:"Alias",cnDescriptor:"设备名称",link:"",type:"input"},{key:"VagueIp",enDescriptor:"VagueIp",cnDescriptor:"模糊IP查询",link:"",type:"input"},{key:"AutoRenewFlag",enDescriptor:"AutoRenewFlag",cnDescriptor:"自动续费标志",link:"",type:"select",list:[{text:"不自动续费",value:0},{text:"自动续费",value:1}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络唯一ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网唯一ID",link:"",type:"input"},{key:"DeviceType",enDescriptor:"DeviceType",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"计算型",value:"compute"},{text:"标准型",value:"standard"},{text:"存储型",value:"storage"}]},{key:"IsLuckyDevice",enDescriptor:"IsLuckyDevice",cnDescriptor:"竞价实例机器过滤",link:"",type:"select",list:[{text:"非竞价实例机器",value:0},{text:"竞价实例的机器",value:1}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/386/32904",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,DeviceClassCode:"",InstanceIds:[],WanIps:[],LanIps:[],Alias:"",VagueIp:"",AutoRenewFlag:{},VpcId:"",SubnetId:"",DeviceType:{},IsLuckyDevice:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["instanceId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"ECDNFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"ECDNInstanceAliasList",(function(){return c})),n.d(t,"ECDNInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECDNGetInstanceQueryParams",(function(){return d}));var r=n(0),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o.push({Name:t,Value:Object(r.uniq)(e).slice(0,5)}):Object(r.isObject)(e)&&(Object(r.isEmpty)(Object(r.get)(e,"value",[]))||o.push({Name:t,Value:[Object(r.get)(e,"value",[])].slice(0,5)}))})),o.length>0)return t.Filters=o.map((function(e){return"domain"===e.Name?i(i({},e),{Fuzzy:!0}):e})),t}return t}function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=["domain","projectid"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"ECMFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"ECMInstanceAliasList",(function(){return s})),n.d(t,"ECMInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECMGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n(5),o="QCE/ECM",a="ecmQuery",c={uuid:"UUID"},s=["InstanceId","InstanceName"],u={instance:"InstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"zone",enDescriptor:"zone",cnDescriptor:"可用区英文标识",link:"",type:"dropdownMulti"},{key:"zone-name",enDescriptor:"zone-name",cnDescriptor:"排列顺序",link:"",type:"inputMulti"},{key:"module-id",enDescriptor:"module-id",cnDescriptor:"模块ID",link:"",type:"inputMulti"},{key:"module-name",enDescriptor:"module-name",cnDescriptor:"模块名称",link:"",type:"inputMulti"},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"instance-name",enDescriptor:"instance-name",cnDescriptor:"实例名称",link:"",type:"inputMulti"},{key:"ip-address",enDescriptor:"ip-address",cnDescriptor:"内网/公网IP",link:"",type:"inputMulti"},{key:"instance-uuid",enDescriptor:"instance-uuid",cnDescriptor:"实例uuid",link:"",type:"inputMulti"},{key:"instance-state",enDescriptor:"instance-state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"创建中",value:"PENDING"},{text:"创建失败",value:"LAUNCH_FAILED"},{text:"运行中",value:"RUNNING"},{text:"关机",value:"STOPPED"},{text:"开机中",value:"STARTING"},{text:"关机中",value:"STOPPING"},{text:"重启中",value:"REBOOTING"},{text:"停止待销毁",value:"SHUTDOWN"},{text:"销毁中",value:"TERMINATING"}]},{key:"internet-service-provider",enDescriptor:"internet-service-provider",cnDescriptor:"公网IP所属的运营商",link:"",type:"inputMulti"},{key:"instance-family",enDescriptor:"instance-family",cnDescriptor:"机型family",link:"",type:"inputMulti"},{key:"image-id",enDescriptor:"image-id",cnDescriptor:"镜像ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"实例的vpc id",link:"",type:"inputMulti"},{key:"subnet-id",enDescriptor:"subnet-id",cnDescriptor:"实例的subnet id",link:"",type:"inputMulti"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/1108/42565",namespace:o,fieldDescriptor:l},f={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,zone:[],"zone-name":[],"module-id":[],"module-name":[],"instance-id":[],"instance-name":[],"ip-address":[],"instance-uuid":[],"instance-state":{},"internet-service-provider":[],"instance-family":[],"image-id":[],"vpc-id":[],"subnet-id":[]}};function d(e){return void 0===e&&(e={}),Object(i.d)(e,!0)}function m(e){var t=r.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["UUID"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"PostgresFieldsDescriptor",(function(){return u})),n.d(t,"POSTGRESInstanceAliasList",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return g})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"PostgreInvalidDemensions",(function(){return h})),n.d(t,"POSTGRESGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function l(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 2===t.length&&(-1!==i.a.indexOf(t,"instanceid")&&-1!==i.a.indexOf(t,"insttype")||-1!==i.a.indexOf(t,"InstanceId")&&-1!==i.a.indexOf(t,"InstanceType"))}function p(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return f[e]||e}))})),t}var f={instanceid:"InstanceId",insttype:"InstanceType",region:"Region"},d={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CESFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CESInstanceAliasList",(function(){return c})),n.d(t,"CESInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"CESGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/CES",o="cesQuery",a={uInstanceId:"InstanceId"},c=["InstanceId","InstanceName"],s={instance:"InstanceId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"集群实例ID列表",link:"",type:"inputMulti"},{key:"InstanceNames",enDescriptor:"InstanceNames",cnDescriptor:"集群实例名称列表",link:"",type:"inputMulti"},{key:"OrderByKey",enDescriptor:"OrderByKey",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"实例ID",value:1},{text:"实例名称",value:2},{text:"可用区",value:3},{text:"创建时间",value:4}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]},{key:"IpList",enDescriptor:"IpList",cnDescriptor:"私有网络vip列表",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/845/30631",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,InstanceIds:[],InstanceNames:[],OrderByKey:{},OrderByType:{},IpList:[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"DCInstanceAliasList",(function(){return f})),n.d(t,"DCInvalidDemensions",(function(){return m})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return u})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"DCGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=n(5),a="QCE/DC",c="dcQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DirectConnectIds",enDescriptor:"DirectConnectIds",cnDescriptor:"物理专线 ID",link:"",type:"inputMulti"}],u={instanceDocUrl:"https://cloud.tencent.com/document/api/216/34826",namespace:a,fieldDescriptor:s},l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectId",queries:{Limit:20,Offset:0,DirectConnectIds:[]}};function p(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var f=["DirectConnectId","DirectConnectName"],d={instance:"DirectConnectId"},m={directConnectId:"DirectConnectId",directconnectid:"DirectConnectId"};function h(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["directConnectId"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"DCGFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"DCGInstanceAliasList",(function(){return c})),n.d(t,"DCGInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"DCGGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/DCG",o="dcgQuery",a={directConnectGatewayId:"DirectConnectGatewayId"},c=["DirectConnectGatewayId","DirectConnectGatewayName"],s={instance:"DirectConnectGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"direct-connect-gateway-id",enDescriptor:"direct-connect-gateway-id",cnDescriptor:"专线网关唯一ID",link:"",type:"inputMulti"},{key:"direct-connect-gateway-name",enDescriptor:"direct-connect-gateway-name",cnDescriptor:"专线网关名称",link:"",type:"inputMulti"},{key:"direct-connect-gateway-ip",enDescriptor:"direct-connect-gateway-ip",cnDescriptor:"专线网关IP",link:"",type:"inputMulti"},{key:"gateway-type",enDescriptor:"gateway-type",cnDescriptor:"网关类型",link:"",type:"select",multiple:!0,list:[{text:"普通型",value:"NORMAL"},{text:"NAT型",value:"NAT"}]},{key:"network-type",enDescriptor:"network-type",cnDescriptor:"网络类型",link:"",type:"select",multiple:!0,list:[{text:"私有网络类型",value:"VPC"},{text:"云联网类型",value:"CCN"}]},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"专线网关所在云联网ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"专线网关所在私有网络ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/30644",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectGatewayId",queries:{Limit:20,Offset:0,"direct-connect-gateway-id":[],"direct-connect-gateway-name":[],"direct-connect-gateway-ip":[],"gateway-type":{},"network-type":{},"ccn-id":[],"vpc-id":[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"DCXInstanceAliasList",(function(){return d})),n.d(t,"DCXInvalidDemensions",(function(){return h})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"DCXGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var u=["InstanceId","InstanceName"],l={target:"InstanceId"},p={instance:"InstanceId",replica:"ReplicaSetId"},f={Replica:{dim_KeyInStorage:"ReplicaSets",dim_KeyInTarget:"replica",dim_KeyInMap:"ReplicaSetId",dim_KeyInIns:"ReplicaSetId"},Node:{dim_KeyInStorage:"ReplicaNodeSets",dim_KeyInTarget:"node",dim_KeyInMap:"NodeId",dim_KeyInIns:"NodeId"}};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"QAAPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"QAAPInstanceAliasList",(function(){return u})),n.d(t,"QAAPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"QAAPGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/QAAP",c="qaapQuery",s={channelId:"InstanceId"},u=["InstanceId"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputMulti"},{key:"AccessRegion",enDescriptor:"AccessRegion",cnDescriptor:"接入地域",link:"",type:"inputMulti"},{key:"RealServerRegion",enDescriptor:"RealServerRegion",cnDescriptor:"源站地域",link:"",type:"inputMulti"},{key:"GroupId",enDescriptor:"GroupId",cnDescriptor:"通道组ID",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/608/36963",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:[],AccessRegion:[],RealServerRegion:[],GroupId:[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function h(e){return i.a.cloneDeep(e)}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"TCAPLUSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TCAPLUSInstanceAliasList",(function(){return s})),n.d(t,"TCAPLUSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regonsMap",(function(){return m})),n.d(t,"TCAPLUSGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o="QCE/TCAPLUS",a="tcaplusQuery",c={},s=["TableInstanceId","TableName"],u={instance:"TableInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ClusterId",enDescriptor:"ClusterId",cnDescriptor:"表格所属集群ID",link:"",type:"input"},{key:"TableGroupIds",enDescriptor:"TableGroupIds",cnDescriptor:"表格组ID列表",link:"",type:"inputMulti"},{key:"TableName",enDescriptor:"TableName",cnDescriptor:"表格名称",link:"",type:"input"},{key:"TableInstanceId",enDescriptor:"TableInstanceId",cnDescriptor:"表实例ID",link:"",type:"input"},{key:"TableIdlType",enDescriptor:"TableIdlType",cnDescriptor:"表格描述语言类型",link:"",type:"select",list:[{text:"PROTO",value:"PROTO"},{text:"TDR",value:"TDR"}]},{key:"TableType",enDescriptor:"TableType",cnDescriptor:"表格数据结构类型",link:"",type:"select",list:[{text:"GENERIC",value:"GENERIC"},{text:"LIST",value:"LIST"}]},{key:"ListElementNum",enDescriptor:"ListElementNum",cnDescriptor:"LIST表元素个数",link:"",type:"inputNumber"},{key:"ReservedVolume",enDescriptor:"ReservedVolume",cnDescriptor:"表格预留容量(GB)",link:"",type:"inputNumber"},{key:"ReservedReadQps",enDescriptor:"ReservedReadQps",cnDescriptor:"表格预留读CU",link:"",type:"inputNumber"},{key:"ReservedWriteQps",enDescriptor:"ReservedWriteQps",cnDescriptor:"表格预留写CU",link:"",type:"inputNumber"},{key:"Memo",enDescriptor:"Memo",cnDescriptor:"表格备注信息",link:"",type:"input"},{key:"FileName",enDescriptor:"FileName",cnDescriptor:"Key回档文件名,回档专用",link:"",type:"input"},{key:"FileExtType",enDescriptor:"FileExtType",cnDescriptor:"Key回档文件扩展名,回档专用",link:"",type:"input"},{key:"FileSize",enDescriptor:"FileSize",cnDescriptor:"Key回档文件大小,回档专用",link:"",type:"inputNumber"},{key:"FileContent",enDescriptor:"FileContent",cnDescriptor:"Key回档文件内容,回档专用",link:"",type:"input"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/596/39664",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TableInstanceId",queries:{Limit:20,Offset:0,ClusterId:"",TableGroupIds:[],TableName:"",TableInstanceId:"",TableIdlType:{},TableType:{},ListElementNum:null,ReservedVolume:null,ReservedReadQps:null,ReservedWriteQps:null,Memo:"",FileName:"",FileExtType:"",FileSize:null,FileContent:""}};function d(e){void 0===e&&(e={});var t={};t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,t.ClusterId=i.a.get(e,"ClusterId","")||"",t.TableGroupIds=i.a.get(e,"TableGroupIds",[])||[],e=i.a.omit(e,["Offset","Limit","TableGroupIds","ClusterId"]);var n=[];return i.a.forEach(e,(function(e,t){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(n[t]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(n[t]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(n[t]=e)})),t.SelectedTables=n,t}var m={"ap-beijing":"华北地区(北京)","ap-guangzhou":"华南地区(广州)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-shanghai":"华东地区(上海)","ap-singapore":"亚太东南(新加坡)","ap-tokyo":"亚太东北(东京)","eu-frankfurt":"欧洲地区(法兰克福)","na-ashburn":"美国东部(弗吉尼亚)","na-siliconvalley":"美国西部(硅谷)"};t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VBCInstanceAliasList",(function(){return c})),n.d(t,"VBCInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VBCGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VBC",o="vbcQuery",a={},c=["CcnId","CcnName"],s={instance:"CcnId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"CCN实例ID",link:"",type:"inputMulti"},{key:"ccn-name",enDescriptor:"ccn-name",cnDescriptor:"CCN名称",link:"",type:"inputMulti"},{key:"ccn-description",enDescriptor:"ccn-description",cnDescriptor:"CCN描述",link:"",type:"inputMulti"},{key:"state",enDescriptor:"state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"隔离中",value:"ISOLATED"},{text:"运行中",value:"AVAILABLE"}]}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/19199",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"CcnId",DRegion:"",SRegion:"",queries:{Limit:20,Offset:0,"ccn-id":[],"ccn-name":[],"ccn-description":[],state:{}}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNGWFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNGWInstanceAliasList",(function(){return c})),n.d(t,"VPNGWInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNGWGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VPNGW",o="vpngwQuery",a={vpnGwId:"VpnGatewayId"},c=["VpnGatewayId","VpnGatewayName"],s={instance:"VpnGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-name",enDescriptor:"vpn-gateway-name",cnDescriptor:"VPN实例名称",link:"",type:"inputMulti"},{key:"type",enDescriptor:"type",cnDescriptor:"VPN网关类型",link:"",type:"select",multiple:!0,list:[{text:"IPSEC",value:"IPSEC"},{text:"SSL",value:"SSL"}]},{key:"public-ip-address",enDescriptor:"public-ip-address",cnDescriptor:"公网IP",link:"",type:"inputMulti"},{key:"renew-flag",enDescriptor:"renew-flag",cnDescriptor:"网关续费类型",link:"",type:"select",multiple:!0,list:[{text:"手动续费",value:"NOTIFY_AND_MANUAL_RENEW"},{text:"自动续费",value:"NOTIFY_AND_AUTO_RENEW"}]},{key:"zone",enDescriptor:"zone",cnDescriptor:"VPN所在可用区",link:"",type:"dropdownMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17514",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnGatewayId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"vpn-gateway-name":[],type:{},"public-ip-address":[],"renew-flag":{},zone:[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNXInstanceAliasList",(function(){return c})),n.d(t,"VPNXInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNXGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VPNX",o="vpnxQuery",a={vpnConnId:"VpnConnectionId"},c=["VpnConnectionId","VpnConnectionName"],s={instance:"VpnConnectionId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"customer-gateway-id ",enDescriptor:"customer-gateway-id ",cnDescriptor:"对端网关实例ID",link:"",type:"inputMulti"},{key:"vpn-connection-name",enDescriptor:"vpn-connection-name",cnDescriptor:"通道名称",link:"",type:"inputMulti"},{key:"vpn-connection-id",enDescriptor:"vpn-connection-id",cnDescriptor:"通道实例ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17515",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnConnectionId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"customer-gateway-id":[],"vpn-connection-name":[],"vpn-connection-id":[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseFilterFieldsDescriptor",(function(){return a})),n.d(t,"LIGHTHOUSEInstanceAliasList",(function(){return u})),n.d(t,"LighthouseInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"modifyDimensons",(function(){return f})),n.d(t,"LIGHTHOUSEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l={instanceid:"InstanceId"},p={instance:"InstanceId"};function f(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CFSQueryDescriptor",(function(){return o})),n.d(t,"CFSInstanceAliasList",(function(){return s})),n.d(t,"CFSInvalidDemensions",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"regionSupported",(function(){return l})),n.d(t,"CFSGetInstanceQueryParams",(function(){return c}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"FileSystemId",enDescriptor:"File System Id",cnDescriptor:"文件系统 ID",link:"",type:"input"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络(VPC) ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网 ID",link:"",type:"input"}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FileSystemId",version:"",queries:{Offset:0,Limit:20,FileSystemId:"",VpcId:"",SubnetId:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FileSystemId","FsName"],u={},l=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],p={instance:"InstanceId"};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return u})),n.d(t,"GetInstanceQueryParams",(function(){return a}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"QueueName",enDescriptor:"QueueName",cnDescriptor:"精确匹配QueueName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={queueId:"QueueId",queueName:"QueueName"},s={instance:"QueueName"},u=["QueueName","QueueId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"QueueName",queries:{Offset:0,Limit:20,QueueName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMFilterFieldsDescriptor",(function(){return a})),n.d(t,"CVMInstanceAliasList",(function(){return u})),n.d(t,"isValidMetric",(function(){return f})),n.d(t,"modifyDimensons",(function(){return d})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CVMGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l=["CPUUsage","CpuLoadavg","Cpuloadavg5m","Cpuloadavg15m","BaseCpuUsage","GpuMemTotal","GpuMemUsage","GpuMemUsed","GpuPowDraw","GpuPowLimit","GpuPowUsage","GpuTemp","GpuUtil","LanOuttraffic","LanIntraffic","LanOutpkg","LanInpkg","WanOuttraffic","WanIntraffic","WanOutpkg","WanInpkg","AccOuttraffic","TcpCurrEstab","TimeOffset","MemUsed","MemUsage","CvmDiskUsage","BaseCpuUsage","VmDiskReadIops"],p={instance:"InstanceId"};function f(e){var t=i.a.map(l,i.a.toUpper);return-1!==i.a.indexOf(t,i.a.toUpper(e.MetricName))}function d(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXInstanceAliasList",(function(){return u})),n.d(t,"PCXFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"namespace",(function(){return a})),n.d(t,"PCXGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisFieldsDescriptor",(function(){return a})),n.d(t,"RedisInvalidDemensions",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"REDISInstanceAliasList",(function(){return l})),n.d(t,"isValidMetric",(function(){return u})),n.d(t,"REDISGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function u(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==i.a.indexOf(t,"instanceid")}var l=["InstanceId","InstanceName","WanIp"],p={redis_uuid:"InstanceId",instanceid:"InstanceId"},f={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFInvalidDemensions",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TSFInstanceAliasList",(function(){return c})),n.d(t,"TSFFieldsDescriptor",(function(){return i})),n.d(t,"TSFGetInstanceQueryParams",(function(){return a}));var r=n(5),i=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchWord",enDescriptor:"SearchWord",cnDescriptor:"搜索关键字",link:"",type:"input"},{key:"ApplicationIdList",enDescriptor:"ApplicationIdList",cnDescriptor:"应用ID 组成的数组",link:"",type:"inputmulti"},{key:"ApplicationType",enDescriptor:"ApplicationType",cnDescriptor:"应用类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"容器应用",value:"C"},{text:"普通应用/虚拟机应用",value:"V"}]},{key:"MicroserviceType",enDescriptor:"MicroserviceType",cnDescriptor:"应用的微服务类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"普通应用",value:"N"},{text:"Mesh应用",value:"M"},{text:"微服务网关应用",value:"G"},{text:"原生应用",value:"NATIVE"}]},{key:"ApplicationResourceTypeList",enDescriptor:"ApplicationResourceTypeList",cnDescriptor:"应用资源类型数组",link:"",type:"select",multiple:!0,list:[{text:"默认资源类型",value:"DEF"},{text:"微服务网关资源",value:"GW"}]}],o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ApplicationId",queries:{Limit:20,Offset:0,SearchWord:"",OrderBy:"",OrderType:null,ApplicationType:"",MicroserviceType:"",ApplicationResourceTypeList:[],ApplicationIdList:[]}};function a(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var c=["ApplicationId","ApplicationName"],s={applicationid:"ApplicationId"},u={instance:"ApplicationId"};t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BWPInstanceAliasList",(function(){return u})),n.d(t,"BWPInvalidDemensions",(function(){return p})),n.d(t,"BWPGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.BandwidthPackageIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["BandwidthPackageId","BandwidthPackageName"],l={instance:"BandwidthPackageId"},p={bandwidthPackageId:"BandwidthPackageId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CDNInstanceAliasList",(function(){return u})),n.d(t,"CDNInvalidDemensions",(function(){return l})),n.d(t,"CDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ProjectId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"LBFilterDescriptor",(function(){return a})),n.d(t,"LBInstanceAliasList",(function(){return u})),n.d(t,"LBInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"LBGetInstanceQueryParams",(function(){return s}));var r,i=n(0),o=n.n(i),a=[{key:"address-id",enDescriptor:"Address ID",cnDescriptor:"EIP 的唯一 ID ",link:"",type:"inputmulti"},{key:"address-name",enDescriptor:"Address Name",cnDescriptor:"EIP 名称 ",link:"",type:"inputmulti"},{key:"address-ip",enDescriptor:"Address IP",cnDescriptor:"EIP 的 IP 地址 ",link:"",type:"inputmulti"},{key:"address-status",enDescriptor:"Address Status",cnDescriptor:"EIP 的状态",link:"",type:"select",list:[{value:"CREATING",text:"CREATING"},{value:"BINDING",text:"BINDING"},{value:"BIND",text:"BIND"},{value:"UNBINDING",text:"UNBINDING"},{value:"UNBIND",text:"UNBIND"},{value:"OFFLINING",text:"OFFLINING"},{value:"BIND_ENI",text:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"Instance ID",cnDescriptor:"实例ID ",link:"",type:"inputmulti"},{key:"private-ip-address",enDescriptor:"Private IP Address",cnDescriptor:"EIP 绑定的内网 IP",link:"",type:"inputmulti"},{key:"network-interface-id",enDescriptor:"Network Interface ID",cnDescriptor:"EIP 绑定的弹性网卡 ID",link:"",type:"inputmulti"},{key:"is-arrears",enDescriptor:"Arrears",cnDescriptor:"EIP 是否欠费 ",link:"",type:"select",list:[{text:"正常",value:"FALSE"},{text:"欠费",value:"TRUE"}]}],c={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",version:"",queries:(r={Offset:0,Limit:20},r.AddressIds=[""],r.Filters={"address-id":[],"address-name":[],"address-ip":[],"address-status ":[],"instance-id ":[],"private-ip-address":[],"network-interface-id ":[],"is-arrears ":[]},r)};function s(e){void 0===e&&(e={});var t={};if(!o.a.isEmpty(e))if(t.Limit=o.a.get(e,"Limit",20)||20,t.Offset=o.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(o.a.isArray(e.AddressIds)){var n=o.a.compact(e.AddressIds);o.a.uniq(n).length>0&&(t.AddressIds=o.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];o.a.forEach(e.Filters,(function(e,t){r.length>9||(o.a.isArray(e)?(e=o.a.compact(e)).length>0&&r.push({Name:t,Values:o.a.uniq(e).slice(0,5)}):o.a.isObject(e)&&(o.a.isEmpty(o.a.get(e,"value",[]))||r.push({Name:t,Values:o.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["AddressId","AddressName","AddressIp"],l={eip:"AddressIp"},p={instance:"AddressId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"NATGatewayFilterFieldsDescriptor",(function(){return c})),n.d(t,"NATGATEWAYInstanceAliasList",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"NATInvalidDemensions",(function(){return p})),n.d(t,"NATGATEWAYGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var l={instance:"NatGatewayId"},p={natId:"NatGatewayId"};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"OVCDNInstanceAliasList",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"OVCDNInvalidDemensions",(function(){return l})),n.d(t,"OVCDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ResourceId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}},function(e,t){e.exports=c},function(e,t){e.exports=s},function(e,t,n){"use strict";var r=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}(),i=n(214),o=n(211),a=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",(function(){return c}));var c=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,c=this._ctorUnsubscribe,u=this._unsubscribe,l=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var p=0;p0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}t.default=o},function(e,t,n){"use strict";n.r(t);var r,i=n(23),o=n(3),a=n(2),c=n(5),s=n(9),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},f=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?k.map((function(e){return{TopicId:e.TopicId,TopicName:e.TopicName}})):I,PartitionList:C.length>0?C:w}]}}))}))},t.prototype.formatTopicVarDisplay=function(e,t,n){var r=this;return t?t.replace(/\$\{(\w+)\}/g,(function(t,n){return n&&r.TopicAliasList.includes(n)?r.getAliasValue(e,n):""})):this.getAliasValue(e,n)},t.prototype.fetchMetricData=function(e,t,n,r){return f(this,void 0,void 0,(function(){var i,o,a,c,s,p,f,m,h,g=this;return d(this,(function(d){switch(d.label){case 0:return i=r.topicalias,o=r.groupname,a=r.topicid,[4,this.getConsumerGroups(t,{InstanceId:n.InstanceId,groupname:o,topicid:a})];case 1:return c=d.sent(),s=r.display,p=c.TopicList,f=c.GroupList,m=c.PartitionList,i=this.TopicAliasList.includes(i)?i:this.templateQueryIdMap.topicId,h={GroupList:f.map((function(e){return e._InstanceAliasValue=e.GroupName,{text:e.GroupName,value:e[u.templateQueryIdMap.groupName]}})),TopicList:p.map((function(e){var t=g.formatTopicVarDisplay(e,s,i);return e._InstanceAliasValue=t||e[u.templateQueryIdMap.topicId],{text:t||e[u.templateQueryIdMap.topicId],value:e[u.templateQueryIdMap.topicId],TopicName:e.TopicName}})),PartitionList:m.map((function(e){return e._InstanceAliasValue=e[u.templateQueryIdMap.partition],{text:e[u.templateQueryIdMap.partition],value:e[u.templateQueryIdMap.partition]}}))},[4,l.a.setExtraStorage(this.service,this.keyInStorage.TopicList,p)];case 2:return d.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.GroupList,f)];case 3:return d.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.PartitionList,m)];case 4:switch(d.sent(),e){case"DescribeTopicList":return[2,h.TopicList];case"DescribeGroup":return[2,h.GroupList];case"DescribePartion":return[2,h.PartitionList];default:return[2,[]]}return[2]}}))}))},t}(s.BaseDatasource);t.default=m},function(e,t,n){"use strict";n.r(t);var r,i=n(12),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(5),l=n(9),p=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i)return r;var o=Object(s.k)(i,50),a=[];return c.a.forEach(o,(function(t){a.push(n.getInstances(e,t))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){r=c.a.concat(r,e)})),r})).catch((function(e){return r}))}))},t.prototype.getVpcId=function(e,t){void 0===t&&(t={}),(t=l({Offset:0,Limit:20},t)).Offset=String(t.Offset),t.Limit=String(t.Limit);var n=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+n.path,data:t},n.service,{region:e,action:"DescribeVpcs"}).then((function(e){return c.a.map(e.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}))}))},t.prototype.getVpcIds=function(e){var t=this,n=[],r={Offset:0,Limit:100};r.Offset=String(r.Offset),r.Limit=String(r.Limit);var i=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+i.path,data:r},i.service,{region:e,action:"DescribeVpcs"}).then((function(r){n=c.a.map(r.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}));var i=r.TotalCount||0;if(n.length>=i)return n;var o=Object(s.k)(i,100),a=[];return c.a.forEach(o,(function(n){a.push(t.getVpcId(e,n))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){n=c.a.concat(n,e)})),n})).catch((function(e){return n}))}))},t.prototype.doRequestV2=function(e,t,n){return void 0===n&&(n={}),p(this,void 0,void 0,(function(){return f(this,(function(r){switch(r.label){case 0:return[4,Object(s.d)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return c.a.get(e,"data",{})})).catch((function(e){throw e}))]}}))}))},t}(o.BaseDatasource);t.default=d},function(e,t,n){"use strict";n.r(t);var r,i=n(41),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace=i.namespace,o.InstanceAliasList=i.POSTGRESInstanceAliasList,o.InvalidDimensions=i.PostgreInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"postgres",action:"DescribeDBInstances",responseField:"DBInstanceSet"},o.MetricReqConfig={resultFilter:i.modifyDimensons},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(0),o=n(51),a=n(3),c=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"_".concat(r.timeshift):"";return{target:"".concat(e.MetricName," - ").concat(o).concat(a),datapoints:Object(i.map)(t.Values,(function(e){return[e.Value,1e3*e.Timestamp+f]}))}}))})))}))},t}(c.BaseDatasource);t.default=p},function(e,t,n){"use strict";n.r(t);var r,i=n(62),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace="QCE/TSF",o.InstanceAliasList=i.TSFInstanceAliasList,o.InvalidDimensions=i.TSFInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"tsf",action:"DescribeApplications",responseField:"Content"},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(25),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},f=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,l)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(31);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(32);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(33);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPQueryCtrl",(function(){return a})),n.d(t,"bwpQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(63),a=function(){function e(e,t){e.init=function(){e.BWPFilterFieldsDescriptor=o.BWPFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("bwpQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(34);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDBQueryCtrl",(function(){return a})),n.d(t,"cdbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(44),a=function(){function e(e,t){e.init=function(){e.CDBFieldsDescriptor=o.CDBFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"ZoneIds":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cdb",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNQueryCtrl",(function(){return a})),n.d(t,"cdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(64),a=function(){function e(e,t){e.init=function(){e.CDNFilterFieldsDescriptor=o.CDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return l})),n.d(t,"sQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(35),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,p)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(36);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(45);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(57),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cfsQuery",u)},function(e,t,n){"use strict";n.r(t),n.d(t,"CKAFKAQueryCtrl",(function(){return l})),n.d(t,"scfQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(11),a=n(5),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题,消费分组,分区 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"=",instance:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("ckafkaQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(0),a=n(12),c=n(2),s=n(5),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\x3c!--Listener维度部分--\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n');function d(){return{template:f,controller:p,restrict:"E",scope:{target:"=",namespace:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("clbQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return a})),n.d(t,"sQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(29),a=function(){function e(e,t){e.init=function(){e.GSEFilterFieldsDescriptor=o.CLSFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n \n
\n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(58);Object(r.default)("cmqQuery",{fieldDescriptor:i.InstanceQueryDescriptor,instanceDocUrl:"https://cloud.tencent.com/document/api/406/42624",namespace:"QCE/CMQ"})},function(e,t,n){"use strict";n.r(t),n.d(t,"CmqTopicQueryCtrl",(function(){return u})),n.d(t,"scfQuery",(function(){return l}));var r=n(6),i=n.n(r),o=n(37),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("cmqTopicQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceAliasList",(function(){return a})),n.d(t,"GetInstanceQueryParams",(function(){return o}));var r=n(0),i=n.n(r);function o(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var a=["BucketName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"BucketName",queries:{}}},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(38);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMQueryCtrl",(function(){return a})),n.d(t,"cvmQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(59),a=function(){function e(e,t){e.init=function(){e.CVMFilterFieldsDescriptor=o.CVMFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cvmQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(27);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(46);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(16),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(47);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(48);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(39);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(40);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return s})),n.d(t,"sQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(21),a=n(2),c=[{label:"diskId",field:"diskId"}],s=function(){function e(e,t){e.init=function(){e.ECMBLOCKSTORAGEFilterFieldsDescriptor=o.ECMBLOCKSTORAGEFilterFieldsDescriptor,e.ExtraFields=c,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n,r;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})||t.label in(null!==(r=e.dims)&&void 0!==r?r:{})}))},e.getExtraDropdown=function(t,n){var r=t.instance,i=Object(a.f)(e.namespace);r=e.datasource.getServiceFn(i,"getVariable")(r);try{return(r=JSON.parse(r)).DataDisks.map((function(e){return e._InstanceAliasValue=e[o.templateQueryIdMap.diskId],{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}catch(t){var c={InstanceId:r};return e.datasource.getServiceFn(i,"getDiskList")({payload:c}).map((function(e){return{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(49);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(15),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t),n.d(t,"LBQueryCtrl",(function(){return a})),n.d(t,"lbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(65),a=function(){function e(e,t){e.init=function(){e.LBFilterDescriptor=o.LBFilterDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\x3c!--Filters部分--\x3e\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseQueryCtrl",(function(){return a})),n.d(t,"lighthouseQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(56),a=function(){function e(e,t){e.init=function(){e.LighthouseFilterFieldsDescriptor=o.LighthouseFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("lighthouse",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lighthouseQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"MongoDBQueryCtrl",(function(){return p})),n.d(t,"mongodbQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(0),a=n(50),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onRefresh:"&",onChange:"&"},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("mongodbQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"MrQueryCtrl",(function(){return u})),n.d(t,"mrQuery",(function(){return l}));var r=n(24),i=n(6),o=n.n(i),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}o.a.directive("mrQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"NatGatewayQueryCtrl",(function(){return a})),n.d(t,"natGatewayQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(66),a=function(){function e(e,t){e.init=function(){e.NATGatewayFilterFieldsDescriptor=o.NATGatewayFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("natGatewayQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNQueryCtrl",(function(){return a})),n.d(t,"ovCdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(67),a=function(){function e(e,t){e.init=function(){e.OVCDNFilterFieldsDescriptor=o.OVCDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("ovCdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXQueryCtrl",(function(){return a})),n.d(t,"pcxQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(60),a=function(){function e(e,t){e.init=function(){e.PCXFieldsDescriptor=o.PCXFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"vpcId":return e.getVpcIds();default:return[]}},e.getVpcIds=function(){return e.region?e.datasource.getVpcIds("pcx",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("pcxQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(41);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(51);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisQueryCtrl",(function(){return a})),n.d(t,"redisQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(61),a=function(){function e(e,t){e.init=function(){e.RedisFieldsDescriptor=o.RedisFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("redisQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemQueryCtrl",(function(){return l})),n.d(t,"redisMemQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(0),a=n(17),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("redisMemQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(28),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- version部分 --\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&"}}}i.a.directive("scfQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(30);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(52);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(13),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(18),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRabbitmqQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"TdmqRocketmqQueryCtrl",(function(){return p})),n.d(t,"tdmqRocketmqQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(19),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRocketmqQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return c})),n.d(t,"sQuery",(function(){return s}));var r=n(6),i=n.n(r),o=n(0),a=n(74),c=function(){function e(e,t){e.init=function(){e.TKEFilterFieldsDescriptor=a.TKEFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.addCondition=function(){e.target.conditions.push({Key:"",Operator:"=",Value:""})},e.deleteCondition=function(t){var n=e.target.conditions[t];Object(o.isEmpty)(n.Key)||Object(o.isEmpty)(n.Operator)||Object(o.isEmpty)(n.Value)?e.target.conditions.splice(t,1):(e.target.conditions.splice(t,1),e.onRefresh())},e.getOperator=function(){return Promise.resolve([{text:"=",value:"="},{text:"in",value:"in"}])},e.init()}return e.$inject=["$scope","$rootScope"],e}();function s(){return{template:'\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n',controller:c,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("tkeQuery",s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFQueryCtrl",(function(){return a})),n.d(t,"tsfQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(62),a=function(){function e(e,t){e.init=function(){e.TSFFieldsDescriptor=o.TSFFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("tsfQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(25);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(53),a=n(2),c=[],s=function(){function e(e,t){e.init=function(){e.VBCFilterFieldsDescriptor=o.VBCFilterFieldsDescriptor,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})}))},e.getExtraDropdown=function(t){var n=Object(a.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t})},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("vbcQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(42);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(54);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(55);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(43);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){var r={".":20,"./":20,"./MonitorDatasource":188,"./MonitorDatasource.ts":188,"./_base/datasource":3,"./_base/datasource.ts":3,"./_base/query":7,"./_base/query.ts":7,"./_base/query_filter":195,"./_base/query_filter.ts":195,"./_base/types":196,"./_base/types.ts":196,"./apigateway/datasource":75,"./apigateway/datasource.ts":75,"./apigateway/query":131,"./apigateway/query.ts":131,"./apigateway/query_def":23,"./apigateway/query_def.ts":23,"./bmIntraLb/datasource":76,"./bmIntraLb/datasource.ts":76,"./bmIntraLb/query":132,"./bmIntraLb/query.ts":132,"./bmIntraLb/query_def":31,"./bmIntraLb/query_def.ts":31,"./bm_lb/datasource":77,"./bm_lb/datasource.ts":77,"./bm_lb/query":133,"./bm_lb/query.ts":133,"./bm_lb/query_def":32,"./bm_lb/query_def.ts":32,"./bm_pcx/datasource":78,"./bm_pcx/datasource.ts":78,"./bm_pcx/query":134,"./bm_pcx/query.ts":134,"./bm_pcx/query_def":33,"./bm_pcx/query_def.ts":33,"./bwp/datasource":79,"./bwp/datasource.ts":79,"./bwp/query":135,"./bwp/query.ts":135,"./bwp/query_def":63,"./bwp/query_def.ts":63,"./cbs/datasource":80,"./cbs/datasource.ts":80,"./cbs/query":136,"./cbs/query.ts":136,"./cbs/query_def":34,"./cbs/query_def.ts":34,"./cdb/datasource":81,"./cdb/datasource.ts":81,"./cdb/query":137,"./cdb/query.ts":137,"./cdb/query_def":44,"./cdb/query_def.ts":44,"./cdn/datasource":82,"./cdn/datasource.ts":82,"./cdn/query":138,"./cdn/query.ts":138,"./cdn/query_def":64,"./cdn/query_def.ts":64,"./cdn_province/datasource":83,"./cdn_province/datasource.ts":83,"./cdn_province/query":139,"./cdn_province/query.ts":139,"./cdn_province/query_def":35,"./cdn_province/query_def.ts":35,"./ceip_summary/datasource":84,"./ceip_summary/datasource.ts":84,"./ceip_summary/query":140,"./ceip_summary/query.ts":140,"./ceip_summary/query_def":36,"./ceip_summary/query_def.ts":36,"./ces/datasource":85,"./ces/datasource.ts":85,"./ces/query":141,"./ces/query.ts":141,"./ces/query_def":45,"./ces/query_def.ts":45,"./cfs/datasource":86,"./cfs/datasource.ts":86,"./cfs/query":142,"./cfs/query.ts":142,"./cfs/query_def":57,"./cfs/query_def.ts":57,"./ckafka/datasource":87,"./ckafka/datasource.ts":87,"./ckafka/query":143,"./ckafka/query.ts":143,"./ckafka/query_def":11,"./ckafka/query_def.ts":11,"./clb/datasource":88,"./clb/datasource.ts":88,"./clb/query":144,"./clb/query.ts":144,"./clb/query_def":12,"./clb/query_def.ts":12,"./cls/datasource":89,"./cls/datasource.ts":89,"./cls/query":145,"./cls/query.ts":145,"./cls/query_def":29,"./cls/query_def.ts":29,"./cmq/datasource":90,"./cmq/datasource.ts":90,"./cmq/query":146,"./cmq/query.ts":146,"./cmq/query_def":58,"./cmq/query_def.ts":58,"./cmq_topic/datasource":91,"./cmq_topic/datasource.ts":91,"./cmq_topic/query":147,"./cmq_topic/query.ts":147,"./cmq_topic/query_def":37,"./cmq_topic/query_def.ts":37,"./cos/datasource":92,"./cos/datasource.ts":92,"./cos/query_def":148,"./cos/query_def.ts":148,"./cpm/datasource":93,"./cpm/datasource.ts":93,"./cpm/query":149,"./cpm/query.ts":149,"./cpm/query_def":38,"./cpm/query_def.ts":38,"./cvm/datasource":94,"./cvm/datasource.ts":94,"./cvm/query":150,"./cvm/query.ts":150,"./cvm/query_def":59,"./cvm/query_def.ts":59,"./cynosdb_mysql/datasource":95,"./cynosdb_mysql/datasource.ts":95,"./cynosdb_mysql/query":151,"./cynosdb_mysql/query.ts":151,"./cynosdb_mysql/query_def":27,"./cynosdb_mysql/query_def.ts":27,"./dc/datasource":96,"./dc/datasource.ts":96,"./dc/query":152,"./dc/query.ts":152,"./dc/query_def":46,"./dc/query_def.ts":46,"./dcdb/datasource":97,"./dcdb/datasource.ts":97,"./dcdb/query":153,"./dcdb/query.ts":153,"./dcdb/query_def":16,"./dcdb/query_def.ts":16,"./dcg/datasource":98,"./dcg/datasource.ts":98,"./dcg/query":154,"./dcg/query.ts":154,"./dcg/query_def":47,"./dcg/query_def.ts":47,"./dcx/datasource":99,"./dcx/datasource.ts":99,"./dcx/query":155,"./dcx/query.ts":155,"./dcx/query_def":48,"./dcx/query_def.ts":48,"./ecdn/datasource":100,"./ecdn/datasource.ts":100,"./ecdn/query":156,"./ecdn/query.ts":156,"./ecdn/query_def":39,"./ecdn/query_def.ts":39,"./ecm/datasource":101,"./ecm/datasource.ts":101,"./ecm/query":157,"./ecm/query.ts":157,"./ecm/query_def":40,"./ecm/query_def.ts":40,"./ecm_block_storage/datasource":102,"./ecm_block_storage/datasource.ts":102,"./ecm_block_storage/query":158,"./ecm_block_storage/query.ts":158,"./ecm_block_storage/query_def":21,"./ecm_block_storage/query_def.ts":21,"./ecm_lb/datasource":103,"./ecm_lb/datasource.ts":103,"./ecm_lb/query":159,"./ecm_lb/query.ts":159,"./ecm_lb/query_def":49,"./ecm_lb/query_def.ts":49,"./gse/datasource":104,"./gse/datasource.ts":104,"./gse/query":160,"./gse/query.ts":160,"./gse/query_def":15,"./gse/query_def.ts":15,"./index":20,"./index.ts":20,"./lb/datasource":105,"./lb/datasource.ts":105,"./lb/query":161,"./lb/query.ts":161,"./lb/query_def":65,"./lb/query_def.ts":65,"./lighthouse/datasource":106,"./lighthouse/datasource.ts":106,"./lighthouse/query":162,"./lighthouse/query.ts":162,"./lighthouse/query_def":56,"./lighthouse/query_def.ts":56,"./mongodb/datasource":107,"./mongodb/datasource.ts":107,"./mongodb/query":163,"./mongodb/query.ts":163,"./mongodb/query_def":50,"./mongodb/query_def.ts":50,"./mr/datasource":108,"./mr/datasource.ts":108,"./mr/query":164,"./mr/query.ts":164,"./mr/query_def":24,"./mr/query_def.ts":24,"./nat_gateway/datasource":109,"./nat_gateway/datasource.ts":109,"./nat_gateway/query":165,"./nat_gateway/query.ts":165,"./nat_gateway/query_def":66,"./nat_gateway/query_def.ts":66,"./ov_cdn/datasource":110,"./ov_cdn/datasource.ts":110,"./ov_cdn/query":166,"./ov_cdn/query.ts":166,"./ov_cdn/query_def":67,"./ov_cdn/query_def.ts":67,"./pcx/datasource":111,"./pcx/datasource.ts":111,"./pcx/query":167,"./pcx/query.ts":167,"./pcx/query_def":60,"./pcx/query_def.ts":60,"./postgresql/datasource":112,"./postgresql/datasource.ts":112,"./postgresql/query":168,"./postgresql/query.ts":168,"./postgresql/query_def":41,"./postgresql/query_def.ts":41,"./qaap/datasource":113,"./qaap/datasource.ts":113,"./qaap/query":169,"./qaap/query.ts":169,"./qaap/query_def":51,"./qaap/query_def.ts":51,"./redis/datasource":114,"./redis/datasource.ts":114,"./redis/query":170,"./redis/query.ts":170,"./redis/query_def":61,"./redis/query_def.ts":61,"./redis_mem/datasource":115,"./redis_mem/datasource.ts":115,"./redis_mem/query":171,"./redis_mem/query.ts":171,"./redis_mem/query_def":17,"./redis_mem/query_def.ts":17,"./scf/datasource":116,"./scf/datasource.ts":116,"./scf/query":172,"./scf/query.ts":172,"./scf/query_def":28,"./scf/query_def.ts":28,"./sqlserver/datasource":117,"./sqlserver/datasource.ts":117,"./sqlserver/query":173,"./sqlserver/query.ts":173,"./sqlserver/query_def":30,"./sqlserver/query_def.ts":30,"./tcaplus/datasource":118,"./tcaplus/datasource.ts":118,"./tcaplus/query":174,"./tcaplus/query.ts":174,"./tcaplus/query_def":52,"./tcaplus/query_def.ts":52,"./tdmq/datasource":119,"./tdmq/datasource.ts":119,"./tdmq/query":175,"./tdmq/query.ts":175,"./tdmq/query_def":13,"./tdmq/query_def.ts":13,"./tdmq_rabbitmq/datasource":120,"./tdmq_rabbitmq/datasource.ts":120,"./tdmq_rabbitmq/query":176,"./tdmq_rabbitmq/query.ts":176,"./tdmq_rabbitmq/query_def":18,"./tdmq_rabbitmq/query_def.ts":18,"./tdmq_rocketmq/datasource":121,"./tdmq_rocketmq/datasource.ts":121,"./tdmq_rocketmq/query":177,"./tdmq_rocketmq/query.ts":177,"./tdmq_rocketmq/query_def":19,"./tdmq_rocketmq/query_def.ts":19,"./tke/datasource":122,"./tke/datasource.ts":122,"./tke/query":178,"./tke/query.ts":178,"./tke/query_def":74,"./tke/query_def.ts":74,"./tsf/datasource":123,"./tsf/datasource.ts":123,"./tsf/query":179,"./tsf/query.ts":179,"./tsf/query_def":62,"./tsf/query_def.ts":62,"./v_clb/datasource":124,"./v_clb/datasource.ts":124,"./v_clb/query":180,"./v_clb/query.ts":180,"./v_clb/query_def":25,"./v_clb/query_def.ts":25,"./vbc/datasource":125,"./vbc/datasource.ts":125,"./vbc/query":181,"./vbc/query.ts":181,"./vbc/query_def":53,"./vbc/query_def.ts":53,"./vpc_net_detect/datasource":126,"./vpc_net_detect/datasource.ts":126,"./vpc_net_detect/query":182,"./vpc_net_detect/query.ts":182,"./vpc_net_detect/query_def":42,"./vpc_net_detect/query_def.ts":42,"./vpngw/datasource":127,"./vpngw/datasource.ts":127,"./vpngw/query":183,"./vpngw/query.ts":183,"./vpngw/query_def":54,"./vpngw/query_def.ts":54,"./vpnx/datasource":128,"./vpnx/datasource.ts":128,"./vpnx/query":184,"./vpnx/query.ts":184,"./vpnx/query_def":55,"./vpnx/query_def.ts":55,"./waf/datasource":129,"./waf/datasource.ts":129,"./waf/query":185,"./waf/query.ts":185,"./waf/query_def":43,"./waf/query_def.ts":43};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=186},function(e,t,n){"use strict";var r=n(0),i=n(191),o=n(190),a=n.n(o),c=n(14),s=function(){function e(e,t,n){this.selectModels=[],this.target=e,this.templateSrv=t,this.scopedVars=n,e.policy=e.policy||c.c.APMServiceParams.policy,e.resultFormat=e.resultFormat||c.c.APMServiceParams.resultFormat,e.orderBy=e.orderBy||c.c.APMServiceParams.orderBy,e.orderType=e.orderType||c.c.APMServiceParams.orderType,e.tags=e.tags||Object(r.cloneDeep)(c.c.APMServiceParams.tags),e.groupBy=e.groupBy||Object(r.cloneDeep)(c.c.APMServiceParams.groupBy),e.select=e.select||Object(r.cloneDeep)(c.c.APMServiceParams.select),this.updateProjection()}return e.$inject=["target","templateSrv","scopedVars"],e.prototype.updateProjection=function(){this.selectModels=Object(r.map)(this.target.select,(function(e){return Object(r.map)(e,i.a.create)})),this.groupByParts=Object(r.map)(this.target.groupBy,i.a.create)},e.prototype.updatePersistedParts=function(){this.target.select=Object(r.map)(this.selectModels,(function(e){return Object(r.map)(e,(function(e){return{type:e.def.type,params:e.params}}))}))},e.prototype.hasGroupByTime=function(){return Object(r.find)(this.target.groupBy,(function(e){return"time"===e.type}))},e.prototype.hasFill=function(){return Object(r.find)(this.target.groupBy,(function(e){return"fill"===e.type}))},e.prototype.addGroupBy=function(e){var t=e.match(/^(\w+)\((.*)\)$/);if(t&&this.target.groupBy){var n=t[1],r=t[2],o=i.a.create({type:n,params:[r]}),a=this.target.groupBy.length;0===a?this.target.groupBy.push(o.part):"time"===n?this.target.groupBy.splice(0,0,o.part):"tag"===n&&"fill"===this.target.groupBy[a-1].type?this.target.groupBy.splice(a-1,0,o.part):this.target.groupBy.push(o.part),this.updateProjection()}},e.prototype.removeGroupByPart=function(e,t){var n=i.a.getCategories();"time"===e.def.type&&(this.target.groupBy=Object(r.filter)(this.target.groupBy,(function(e){return"fill"!==e.type})),this.target.select=Object(r.map)(this.target.select,(function(e){return Object(r.filter)(e,(function(e){var t=i.a.create(e);return t.def.category!==n.Aggregations&&t.def.category!==n.Selectors}))}))),this.target.groupBy.splice(t,1),this.updateProjection()},e.prototype.removeSelect=function(e){this.target.select.splice(e,1),this.updateProjection()},e.prototype.removeSelectPart=function(e,t){if("field"===t.def.type){if(this.selectModels.length>1){var n=Object(r.indexOf)(this.selectModels,e);this.selectModels.splice(n,1)}}else{var i=Object(r.indexOf)(e,t);e.splice(i,1)}this.updatePersistedParts()},e.prototype.addSelectPart=function(e,t){var n=i.a.create({type:t});n.def.addStrategy(e,n,this),this.updatePersistedParts()},e.prototype.getMeasurementAndPolicy=function(e){var t=this.target.policy,n=this.target.measurement||"measurement";return n.match("^/.*/$")?e&&(n=this.templateSrv.replace(n,this.scopedVars,"regex")):n='"'+n+'"',(t="default"!==t?'"'+this.target.policy+'".':"")+n},e.prototype.interpolateQueryStr=function(e,t,n){return t.multi||t.includeAll?"string"==typeof e?a.a.regexEscape(e):"("+Object(r.map)(e,a.a.regexEscape).join("|")+")":e},e.prototype.render=function(e){var t,n,i=this,o=this.target;if(o.rawQuery)return e?this.templateSrv.replace(o.query,this.scopedVars,this.interpolateQueryStr):o.query;var a,c,s="select ";if("custom"===(null===(t=this.selectModels[0][1])||void 0===t?void 0:t.part.type))s+=this.selectModels[0][0].params[0];else for(a=0;a<(null===(n=this.selectModels)||void 0===n?void 0:n.length);a++){var u=this.selectModels[a],l="";for(c=0;c0&&(s+=", "),s+=l}s+=" from "+this.getMeasurementAndPolicy(e)+" where ";var p=Object(r.map)(o.tags,(function(t,n){return i.renderTagCondition(t,n,e)}));p.length>0&&(s+="("+p.join(" ")+") and "),s+="$timeFilter";var f="",d=this.groupByParts.length,m=this.groupByParts;for(d>2&&(m=this.groupByParts.filter((function(e){return"time"!==e.def.type}))),a=0;a0&&(f+="fill"===h.def.type?" ":", "),f+=h.render("")}return f.length&&(s+=" group by "+f),o.fill&&(s+=" fill("+o.fill+")"),o.orderType&&(s+=" order by "+o.orderType),o.orderBy&&(s+=" "+o.orderBy),o.limit&&(s+=" limit "+o.limit),o.slimit&&(s+=" slimit "+o.slimit),o.tz&&(s+=" tz('"+o.tz+"')"),s},e.prototype.renderAdhocFilters=function(e){var t=this;return Object(r.map)(e,(function(e,n){return t.renderTagCondition(e,n,!0)})).join(" ")},e.prototype.renderTagCondition=function(e,t,n){var r="",i=e.operator,o=e.value;return t>0&&(r=(e.condition.toLowerCase()||"and")+" "),i||(i=/^\/.*\/$/.test(o)?"=~":"="),"=~"!==i&&"!~"!==i?(n&&(o=this.templateSrv.replace(o,this.scopedVars)),">"!==i&&"<"!==i&&(o="'"+o.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),"in"===i&&(o="("+o+")")):n&&(o=this.templateSrv.replace(o,this.scopedVars,"regex")),r+'"'+e.key+'" '+i+" "+o},e}();t.a=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TCMonitorDatasource",(function(){return u}));var r=n(0),i=n.n(r),o=n(20),a=n(2),c=n(5),s=n(8),u=function(){function e(e,t,n){var r=this;this.instanceSettings=e,this.backendSrv=t,this.templateSrv=n,i.a.forEach(o.Datasources,(function(e,t){r[t]=new e(r.instanceSettings,r.backendSrv,r.templateSrv)}))}return e.$inject=["instanceSettings","backendSrv","templateSrv"],e.prototype.getNamespaces=function(){var e=this,t=[];return i.a.forEach(o.SERVICES,(function(n){!0===e.instanceSettings.jsonData[n.service]&&t.push(n)})),t},e.prototype.getCascaderNamespaces=function(){var e=this,t=o.SERVICES.filter((function(t){return e.instanceSettings.jsonData[t.service]}));return Object(c.f)(t)},e.prototype.getSelectedServices=function(){var e=this.getNamespaces();return i.a.map(e,(function(e){var t=e.namespace;return Object(a.f)(t)}))},e.prototype.query=function(e){var t=this,n=[],r=this.getSelectedServices();return i.a.forEach(r,(function(r){var o=i.a.cloneDeep(e),a=i.a.filter(o.targets,(function(e){return e.service===r}));if(o.targets=a,o.targets.length>0){var c=t["".concat(i.a.toUpper(r),"Datasource")].query(o);c&&n.push(c)}})),0===n.length?Promise.resolve({data:[],state:s.LoadingState.Done}):Promise.all(n).then((function(e){return{data:i.a.flatten(e),state:s.LoadingState.Done}}))},e.prototype.metricFindQuery=function(e,t){var n=Object(a.h)(e),r=Object(a.f)(n.namespace||"");if(i.a.isEmpty(n)||!n.namespace||!n.action||!r)return Promise.resolve([]);if(this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery){var o=this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery(n,i.a.get(t,"variable.regex",void 0));if(o)return o}return Promise.resolve([])},e.prototype.getRegions=function(e){return this["".concat(i.a.toUpper(e),"Datasource")].getRegions?this["".concat(i.a.toUpper(e),"Datasource")].getRegions():[]},e.prototype.getMetrics=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getMetrics(t)},e.prototype.getZones=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getZones?this["".concat(i.a.toUpper(e),"Datasource")].getZones(t):[]},e.prototype.getFilterDropdown=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown?this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown(t):[]},e.prototype.getInstances=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getInstances(t,n)},e.prototype.getListeners=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getListeners?this["".concat(i.a.toUpper(e),"Datasource")].getListeners(t,n):[]},e.prototype.getVpcIds=function(e,t){if(this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds)return this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds(t)},e.prototype.testDatasource=function(){var e=this,t=[],n=this.getSelectedServices();return i.a.forEach(n,(function(n){t.push(e["".concat(i.a.toUpper(n),"Datasource")].testDatasource())})),0===t.length?Promise.resolve(null):Promise.all(t).then((function(e){var t="success",n="DataSource Connection OK",r=i.a.reduce(e,(function(e,t){return"error"===t.status&&(""===e&&(e+="Oops! Found an error in: "),e+="".concat(t.service,": ").concat(t.message,"; \n")),e}),"");return r&&(t="error",n=r),{status:t,message:n,title:i.a.upperFirst(t)}}))},e.prototype.getServiceFn=function(e,t){var n=this;return function(){for(var r,o=[],a=0;a=n+2;if("count"!==t.def.type&&i)e[n+1].def.category===s.Aggregations&&e.splice(n+1,1);else if("count"===t.def.type)return void(i&&"count"===e[n+1].def.type||e.splice(n+1,0,t))}return void(e[n]=t)}if(r.def.category===s.Selectors)return void(e[n]=t)}e.splice(1,0,t)}function m(e,t){var n;for(n=0;n0){if("math"===e[n-1].def.type)return void(e[n-1]=t);if(n>1&&"math"===e[n-2].def.type)return void(e[n-2]=t);if("alias"===e[n-1].def.type)return void e.splice(n-1,0,t)}e.push(t)},category:s.Math,params:[{name:"expr",type:"string"}],defaultParams:[" / 100"],renderer:function(e,t){return t+" "+e.params[0]}}),l({type:"alias",addStrategy:function(e,t){var n=e.length;n>0&&"alias"===e[n-1].def.type?e[n-1]=t:e.push(t)},category:s.Aliasing,params:[{name:"name",type:"string",quote:"double"}],defaultParams:["alias"],renderMode:"suffix",renderer:function(e,t){return t+' AS "'+e.params[0]+'"'}}),t.a={create:u,getCategories:function(){return s},replaceAggregationAdd:d}},function(e,t,n){"use strict";function r(e){setTimeout((function(){throw e}),0)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),o=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(Array.isArray(t))t.push(n);else{if("object"!=typeof t)return[t,n];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if("object"!=typeof t)return[t].concat(n);var a=t;return Array.isArray(t)&&!Array.isArray(n)&&(a=o(t,i)),Array.isArray(t)&&Array.isArray(n)?(n.forEach((function(n,o){r.call(t,o)?t[o]&&"object"==typeof t[o]?t[o]=e(t[o],n,i):t.push(n):t[o]=n})),t):Object.keys(n).reduce((function(t,o){var a=n[o];return r.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),a)}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,n){"use strict";n.r(t),n.d(t,"queryDDO",(function(){return a}));var r=n(6),i=n.n(r),o=function(){function e(t,n){Object.assign(t,e._config),t.onChecked=function(e,n){!0===t.target.queries[e]&&(t.target.queries[n]=!1),t.onChange()},t.init()}return e.$inject=["$scope","$rootScope"],e}();function a(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:o,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}t.default=function(e,t){o._config=t,i.a.directive(e,a)}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";var r=n(207),i=n(208),o=n(194);e.exports={formats:o,parse:i,stringify:r}},function(e){e.exports=JSON.parse('{"type":"datasource","name":"Tencent Cloud Monitoring","id":"tencentcloud-monitor-datasource","backend":true,"alerting":true,"logs":true,"metrics":true,"annotations":false,"executable":"tencentcloud-monitor-app-backend","queryOptions":{"maxDataPoints":true},"routes":[{"path":"cls-internal","url":"https://cls.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region-internal","url":"https://region.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api-internal","url":"https://api.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq-internal","url":"https://cmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai-internal","url":"https://cmq.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen-internal","url":"https://cmq.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr-internal","url":"https://emr.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai-internal","url":"https://emr.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen-internal","url":"https://emr.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf-internal","url":"https://scf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai-internal","url":"https://scf.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen-internal","url":"https://scf.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs-internal","url":"https://cfs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai-internal","url":"https://cfs.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen-internal","url":"https://cfs.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka-internal","url":"https://ckafka.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai-internal","url":"https://ckafka.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen-internal","url":"https://ckafka.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb-internal","url":"https://clb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai-internal","url":"https://clb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen-internal","url":"https://clb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb-internal","url":"https://mongodb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai-internal","url":"https://mongodb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen-internal","url":"https://mongodb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc-internal","url":"https://vpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai-internal","url":"https://vpc.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen-internal","url":"https://vpc.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx-internal","url":"https://vpc.api.qcloud.com.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm-internal","url":"https://cvm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai-internal","url":"https://cvm.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen-internal","url":"https://cvm.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor-internal","url":"https://monitor.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai-internal","url":"https://monitor.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen-internal","url":"https://monitor.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb-internal","url":"https://cdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai-internal","url":"https://cdb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen-internal","url":"https://cdb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres-internal","url":"https://postgres.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai-internal","url":"https://postgres.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen-internal","url":"https://postgres.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn-internal","url":"https://cdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis-internal","url":"https://redis.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb-internal","url":"https://dcdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc-internal","url":"https://dc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb-internal","url":"https://cynosdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver-internal","url":"https://sqlserver.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip-internal","url":"https://bmeip.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc-internal","url":"https://bmvpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb-internal","url":"https://bmlb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm-internal","url":"https://bm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es-internal","url":"https://es.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs-internal","url":"https://cbs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb-internal","url":"https://tcaplusdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway-internal","url":"https://apigateway.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq-internal","url":"https://tdmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap-internal","url":"https://gaap.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm-internal","url":"https://ecm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse-internal","url":"https://gse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse-internal","url":"https://lighthouse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf-internal","url":"https://tsf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum-internal","url":"https://rum.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke-internal","url":"https://tke.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn-internal","url":"https://ecdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf-internal","url":"https://waf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway","url":"https://apigateway.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api","url":"https://api.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq","url":"https://cmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai","url":"https://cmq.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen","url":"https://cmq.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr","url":"https://emr.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai","url":"https://emr.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen","url":"https://emr.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf","url":"https://scf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai","url":"https://scf.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen","url":"https://scf.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs","url":"https://cfs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai","url":"https://cfs.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen","url":"https://cfs.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka","url":"https://ckafka.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai","url":"https://ckafka.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen","url":"https://ckafka.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb","url":"https://clb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai","url":"https://clb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen","url":"https://clb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb","url":"https://mongodb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai","url":"https://mongodb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen","url":"https://mongodb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc","url":"https://vpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai","url":"https://vpc.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen","url":"https://vpc.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx","url":"https://vpc.api.qcloud.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm","url":"https://cvm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai","url":"https://cvm.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen","url":"https://cvm.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor","url":"https://monitor.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai","url":"https://monitor.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen","url":"https://monitor.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb","url":"https://cdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai","url":"https://cdb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen","url":"https://cdb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres","url":"https://postgres.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai","url":"https://postgres.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen","url":"https://postgres.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn","url":"https://cdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis","url":"https://redis.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb","url":"https://dcdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc","url":"https://dc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb","url":"https://cynosdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver","url":"https://sqlserver.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip","url":"https://bmeip.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc","url":"https://bmvpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb","url":"https://bmlb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm","url":"https://bm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es","url":"https://es.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs","url":"https://cbs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb","url":"https://tcaplusdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq","url":"https://tdmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap","url":"https://gaap.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm","url":"https://ecm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse","url":"https://gse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cls","url":"https://cls.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shanghai","url":"https://cls.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shenzhen","url":"https://cls.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region","url":"https://region.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse","url":"https://lighthouse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf","url":"https://tsf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum","url":"https://rum.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apm","url":"https://apm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke","url":"https://tke.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn","url":"https://ecdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf","url":"https://waf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]}],"info":{"author":{"name":"Tencent Cloud"},"logos":{"small":"img/tencent-cloud.svg","large":"img/tencent-cloud.svg"},"description":"Data source for Tencent Cloud monitoring service"}}')},function(e,t){e.exports=l},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",(function(){return i}));var i=r()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(68),i=n(72),o=n(73),a=n(217),c=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.a(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),s=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.a(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function u(e,t){if(!t.closed)return e instanceof o.a?e.subscribe(t):Object(a.a)(e)(t)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return r}));var r,i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;!function(e){e[e.LUCENE=0]="LUCENE",e[e.CQL=1]="CQL"}(r||(r={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},,function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=[{label:"Time series",value:"time_series"},{label:"Table",value:"table"},{label:"Logs",value:"logs"}],i="time_series",o=["sql_metric","service_metric","error_metric","runtime_metric","mq_metric"]},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(130),i=n(192),o={closed:!0,next:function(e){},error:function(e){if(r.a.useDeprecatedSynchronousErrorHandling)throw e;Object(i.a)(e)},complete:function(){}}},function(e,t,n){"use strict";var r=n(193),i=n(194),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,c={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},s=function e(t,n,i,o,a,s,u,l,p,f,d,m){var h=t;if("function"==typeof u)h=u(n,h);else if(h instanceof Date)h=f(h);else if(null===h){if(o)return s&&!m?s(n,c.encoder):n;h=""}if("string"==typeof h||"number"==typeof h||"boolean"==typeof h||r.isBuffer(h))return s?[d(m?n:s(n,c.encoder))+"="+d(s(h,c.encoder))]:[d(n)+"="+d(String(h))];var g,y=[];if(void 0===h)return y;if(Array.isArray(u))g=u;else{var v=Object.keys(h);g=l?v.sort(l):v}for(var b=0;b0?x+S:""}},function(e,t,n){"use strict";var r=n(193),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,a=/(\[[^[\]]*])/.exec(r),c=a?r.slice(0,a.index):r,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var u=0;null!==(a=o.exec(r))&&u=0;--i){var o,a=e[i];if("[]"===a)o=(o=[]).concat(r);else{o=n.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,s=parseInt(c,10);!isNaN(s)&&a!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=r:o[c]=r}r=o}return r}(s,t,n)}};e.exports=function(e,t){var n=t?r.assign({},t):{};if(null!==n.decoder&&void 0!==n.decoder&&"function"!=typeof n.decoder)throw new TypeError("Decoder has to be a function.");if(n.ignoreQueryPrefix=!0===n.ignoreQueryPrefix,n.delimiter="string"==typeof n.delimiter||r.isRegExp(n.delimiter)?n.delimiter:o.delimiter,n.depth="number"==typeof n.depth?n.depth:o.depth,n.arrayLimit="number"==typeof n.arrayLimit?n.arrayLimit:o.arrayLimit,n.parseArrays=!1!==n.parseArrays,n.decoder="function"==typeof n.decoder?n.decoder:o.decoder,n.allowDots="boolean"==typeof n.allowDots?n.allowDots:o.allowDots,n.plainObjects="boolean"==typeof n.plainObjects?n.plainObjects:o.plainObjects,n.allowPrototypes="boolean"==typeof n.allowPrototypes?n.allowPrototypes:o.allowPrototypes,n.parameterLimit="number"==typeof n.parameterLimit?n.parameterLimit:o.parameterLimit,n.strictNullHandling="boolean"==typeof n.strictNullHandling?n.strictNullHandling:o.strictNullHandling,""===e||null==e)return n.plainObjects?Object.create(null):{};for(var c="string"==typeof e?function(e,t){for(var n={},r=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,c=r.split(t.delimiter,a),s=0;s0){var s=Object(r.reduce)(this.target.tags,(function(n,r){return"MEASUREMENTS"===e&&"id"===r.key||r.key===t||">"===r.operator||"<"===r.operator||n.push(function(e,t){var n="",r=e.operator,i=e.value;return t>0&&(n=(e.condition.toLowerCase()||"AND")+" "),r||(r=/^\/.*\/$/.test(e.value)?"=~":"="),(""===i||"=~"!==r&&"!~"!==r)&&(i="'"+i.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),n+'"'+e.key+'" '+r+" "+i}(r,n.length)),n}),[]);s.length>0&&(c+=" where "+s.join(" "))}return"MEASUREMENTS"===e&&(c+=" limit 100"),c},e}()},function(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e}},function(e,t,n){"use strict";function r(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(192),i=n(200),o=n(189),a=n(215),c=n(216),s=n(214);n.d(t,"a",(function(){return u}));var u=function(e){if(e&&"function"==typeof e[o.a])return l=e,function(e){var t=l[o.a]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if(Object(a.a)(e))return u=e,function(e){for(var t=0,n=u.length;t\n
\n
\n \n
\n \n\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n ({{ctrl.getTimeDesc()}})\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \x3c!-- this is explain how much items will display to user --\x3e\n \n
\n
\n\n'},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i="~";function o(){}function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function c(e,t,n,r,o){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new a(n,r||e,o),s=i?i+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],c]:e._events[s].push(c):(e._events[s]=c,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function u(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),u.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)r.call(e,t)&&n.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},u.prototype.listeners=function(e){var t=i?i+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,o=n.length,a=new Array(o);r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(c+=" AND "+new l.a({},this.templateSrv,s).renderAdhocFilters(h));return s.timeFilter={value:c},m=this.templateSrv.replace(m,s),this._seriesQuery(m,e).pipe(Object(o.a)((function(r){if(!r||!r.results)return{data:[]};var i=[];for(t=0;t0)throw{message:"APM Error: "+c[0].error,data:a}}}return a.Response.Result})),Object(c.a)((function(e){return e.cancelled?Object(i.of)(e):Object(i.throwError)(n.handleErrors(e))})))})))},n.prototype.handleErrors=function(e){var t,n={message:(null==e?void 0:e.status)||(null==e?void 0:e.message)||"Unknown error during query transaction. Please check JS console logs."};return(Number.isInteger(e.status)&&0!==e.status||e.status>=300)&&((null===(t=e.data)||void 0===t?void 0:t.error)?(n.message="APM Error: "+e.data.error,n.data=e.data,n.config=e.config):(n.message="Network Error: "+e.statusText+"("+e.status+")",n.data=e.data,n.config=e.config)),n},n.prototype.getTimeFilter=function(e){return"time >= "+this.getAPMTime(e.rangeRaw.from,!1,e.timezone)+" and time <= "+this.getAPMTime(e.rangeRaw.to,!0,e.timezone)},n.prototype.getAPMTime=function(e,t,n){if(Object(r.isString)(e)){if("now"===e)return"now()";var i=/^now-(\d+)([dhms])$/.exec(e);if(i)return"now() - "+parseInt(i[1],10)+i[2];e=u.dateMath.parse(e,t,n)}return e.valueOf()+"ms"},n.prototype.fixTimePeriod=function(e,t){var n,r=this,i=this.getTimePeriod(t.rangeRaw,t.timezone);return null===(n=e.groupBy)||void 0===n||n.forEach((function(t){"time"===t.type&&"1d"!==t.params[0]&&(e=r.modifyTime(e,i))})),e},n.prototype.getTimePeriod=function(e,t){var n,r,i=null===(n=u.dateMath.parse(e.from,!1,t))||void 0===n?void 0:n.valueOf(),o=null===(r=u.dateMath.parse(e.to,!0,t))||void 0===r?void 0:r.valueOf(),a=0;return i&&o&&(a=o-i),a<=432e5?"1m":a<=1728e5?"5m":a<=6048e5?"1h":"1d"},n.prototype.modifyTime=function(e,t){var n;if(!e.groupBy)return e;for(var r=0,i=e.groupBy;r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||r.indexOf("show retention policies")>=0,o=r.indexOf("show measurements")>=0,a=new Set;return Object(c.each)(n.series,(function(e){Object(c.each)(e.values,(function(e){Object(c.isArray)(e)?i?h(a,e[0]):void 0!==e[1]?h(a,e[1]):h(a,e[0]):h(a,e)}))})),o?Array.from(a).filter((function(e){return s.b.includes(e)})).map((function(e){return{text:e}})):Array.from(a).map((function(e){return{text:e}}))},e.prototype.getTable=function(e,t,n){var i,o,s=new a.a;if(e.length>0)if(s.meta=u(u({},n),{executedQueryString:null===(i=e[0].meta)||void 0===i?void 0:i.executedQueryString}),s.refId=t.refId,s=function(e,t,n){var i=function(e){var t,n=[];null===(t=e.select)||void 0===t||t.forEach((function(e){var t,r,i=e.filter((function(e){return"field"!==e.type}));i.length>0?n.push(i[0].type):(null===(r=null===(t=e[0])||void 0===t?void 0:t.params)||void 0===r?void 0:r[0])&&n.push(e[0].params[0].toString())}));var r=[];return n.forEach((function(e){r.push(function e(t,n,r,i){if(r.indexOf(n)>-1)return i++,e(t,t+"_"+i,r,i);return n}(e,e,r,0))})),r}(n);e[0].fields.forEach((function(e){"time"===e.name?t.columns.push({text:"Time",type:r.FieldType.time}):"value"===e.name&&e.labels&&Object.keys(e.labels).forEach((function(e){t.columns.push({text:e})}))})),"metricFindQuery"===e[0].refId&&e.forEach((function(e){e.name&&t.columns.push({text:e.name})}));for(var o=0;oa{margin-left:10px}.tc-switch{border-left:1px solid #262628;margin-bottom:0 !important}.tc-condition-block{margin-right:10px;display:inline-block}.tc-condition-block .tc-condition-input{border-radius:0}.tc-condition-block .tc-condition-minus{vertical-align:top;border-radius:0 3px 3px 0}.tc-condition-block .tc-condition-dropdown{display:inline-block}.tc-condition-block>input{display:inline-block;margin-right:0}.tc-condition-block>label{display:inline-block}.tc-condition-add{display:inline-block;vertical-align:top}.tc-condition-add>label{border-radius:3px}.filtered-color{color:#ff851b}.secret-tips{position:absolute;right:-25px;border-radius:2px;background:#1b1b1b;padding:10px;top:-35px;width:300px;border:1px solid #2c3235}.secret-tips-tri{position:absolute;width:15px;height:15px;left:-8px;top:60px;background:#1b1b1b;border:1px solid #2c3235;border-top:0;border-right:0;transform:rotate(45deg)}.rc-cascader-menu-item{min-width:160px;font-size:14px}","",{version:3,sources:["query_editor.css"],names:[],mappings:"AAAA,eAAe,cAAc,CAAC,iBAAiB,CAAC,+BAA+B,eAAe,CAAC,8CAA8C,iBAAiB,CAAC,8BAA8B,iBAAiB,CAAC,gCAAgC,gBAAgB,CAAC,WAAW,6BAA6B,CAAC,0BAA0B,CAAC,oBAAoB,iBAAiB,CAAC,oBAAoB,CAAC,wCAAwC,eAAe,CAAC,wCAAwC,kBAAkB,CAAC,yBAAyB,CAAC,2CAA2C,oBAAoB,CAAC,0BAA0B,oBAAoB,CAAC,cAAc,CAAC,0BAA0B,oBAAoB,CAAC,kBAAkB,oBAAoB,CAAC,kBAAkB,CAAC,wBAAwB,iBAAiB,CAAC,gBAAgB,aAAa,CAAC,aAAa,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,iBAAiB,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAuB,CAAC,uBAAuB,eAAe,CAAC,cAAc",file:"query_editor.css",sourcesContent:[".tc-sub-params{margin-top:4px;margin-left:125px}.tc-sub-params .gf-form-inline{min-height:42px}.tc-sub-params .gf-form-inline .gf-form-label{margin-bottom:2px}.tc-sub-params .tc-info-label{margin-bottom:6px}.tc-sub-params .tc-info-label>a{margin-left:10px}.tc-switch{border-left:1px solid #262628;margin-bottom:0 !important}.tc-condition-block{margin-right:10px;display:inline-block}.tc-condition-block .tc-condition-input{border-radius:0}.tc-condition-block .tc-condition-minus{vertical-align:top;border-radius:0 3px 3px 0}.tc-condition-block .tc-condition-dropdown{display:inline-block}.tc-condition-block>input{display:inline-block;margin-right:0}.tc-condition-block>label{display:inline-block}.tc-condition-add{display:inline-block;vertical-align:top}.tc-condition-add>label{border-radius:3px}.filtered-color{color:#ff851b}.secret-tips{position:absolute;right:-25px;border-radius:2px;background:#1b1b1b;padding:10px;top:-35px;width:300px;border:1px solid #2c3235}.secret-tips-tri{position:absolute;width:15px;height:15px;left:-8px;top:60px;background:#1b1b1b;border:1px solid #2c3235;border-top:0;border-right:0;transform:rotate(45deg)}.rc-cascader-menu-item{min-width:160px;font-size:14px}"]}]),e.exports=t},function(e,t,n){var r=n(220),i=n(233);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var o={insert:"head",singleton:!1},a=(r(i,o),i.locals?i.locals:{});e.exports=a},function(e,t,n){(t=n(221)(!0)).push([e.i,".log-service-monospaced-font-family {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n.log-service-monospaced-font-family button,\n.log-service-monospaced-font-family input,\n.log-service-monospaced-font-family select,\n.log-service-monospaced-font-family textarea {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n","",{version:3,sources:["index.less"],names:[],mappings:"AAAA;EACE,8DAA8D;AAChE;AACA;;;;EAIE,8DAA8D;AAChE",file:"index.less",sourcesContent:[".log-service-monospaced-font-family {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n.log-service-monospaced-font-family button,\n.log-service-monospaced-font-family input,\n.log-service-monospaced-font-family select,\n.log-service-monospaced-font-family textarea {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n"]}]),e.exports=t},function(e,t,n){"use strict";(function(e){var r=n(236),i=n(237),o=n(238);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function c(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Q(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function h(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return x(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return O(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=s.from(t,r)),s.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,r,i){var o,a=1,c=e.length,s=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,c/=2,s/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;oc&&(n=c-s),o=n;o>=0;o--){for(var p=!0,f=0;fi&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function O(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+p<=n)switch(p){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(s=(31&u)<<6|63&o)>127&&(l=s);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(s=(15&u)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(l=s);break;case 4:o=e[i+1],a=e[i+2],c=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&c)&&(s=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&c)>65535&&s<1114112&&(l=s)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},s.prototype.compare=function(e,t,n,r,i){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),c=Math.min(o,a),u=this.slice(r,i),l=e.slice(t,n),p=0;pi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return I(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return D(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,r,i,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function T(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function P(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function q(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function M(e,t,n,r,o){return o||q(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function L(e,t,n,r,o){return o||q(e,0,n,8),i.write(e,t,n,r,52,8),n+8}s.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||j(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},s.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||j(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},s.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=0,a=1,c=0;for(this[t]=255&e;++o>0)-c&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=n-1,a=1,c=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===c&&0!==this[t+o+1]&&(c=1),this[t+o]=(e/a>>0)-c&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,n){return M(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return M(this,e,t,!1,n)},s.prototype.writeDoubleLE=function(e,t,n){return L(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return L(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Q(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(R,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(235))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=u(e),a=r[0],c=r[1],s=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,c)),l=0,p=c>0?a-4:a;for(n=0;n>16&255,s[l++]=t>>8&255,s[l++]=255&t;2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,s[l++]=255&t);1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,s[l++]=t>>8&255,s[l++]=255&t);return s},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=0,c=n-i;ac?c:a+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,s=a.length;c0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,a=[],c=t;c>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,a,c=8*i-r-1,s=(1<>1,l=-7,p=n?i-1:0,f=n?-1:1,d=e[t+p];for(p+=f,o=d&(1<<-l)-1,d>>=-l,l+=c;l>0;o=256*o+e[t+p],p+=f,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=f,l-=8);if(0===o)o=1-u;else{if(o===s)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=u}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,c,s,u=8*o-i-1,l=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,m=r?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),(t+=a+p>=1?f/s:f*Math.pow(2,1-p))*s>=2&&(a++,s/=2),a+p>=l?(c=0,a=l):a+p>=1?(c=(t*s-1)*Math.pow(2,i),a+=p):(c=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&c,d+=m,c/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=m,a/=256,u-=8);e[n+d-m]|=128*h}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";n.r(t);var r=n(8),i=n(4),o=n.n(i),a=n(222),c=n(0),s=n.n(c),u=n(2),l=n(20),p=n(6),f=n.n(p),d=n(210),m=n.n(d),h=function(){function e(e,t){e.init=function(){e.type=e.type||"input",e.placeholder=Object(d.isDefined)(e.placeholder)?e.placeholder:"",e.value=Object(d.isDefined)(e.value)?e.value:[],e.maxCond=s.a.toInteger(e.maxCond)>0?s.a.toInteger(e.maxCond):-1},e.onInputBlur=function(){e.onChangeInternal()},e.deleteCondition=function(t){e.value.splice(t,1),e.onChangeInternal()},e.addCondition=function(t){e.value.push(t),e.onChangeInternal()},e.onChangeInternal=function(){e.onChange({value:e.value})},e.onSelectChange=function(t){e.onChange({value:t})},e.getSelectedOptions=function(){var t=s.a.filter(e.options,(function(t){return-1!==s.a.get(e.value,"value",[]).indexOf(t.value)}));return t.length>0?s.a.map(t,(function(e){return"".concat(e.text,": ").concat(e.value)})).join("; "):void 0},e.init()}return e.$inject=["$scope","$rootScope"],e}();f.a.directive("multiCondition",(function(){return{template:'\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n
\n\n\x3c!--
\n \n \n
--\x3e\n',controller:h,restrict:"E",scope:{type:"=",value:"=",maxCond:"=?",placeholder:"=?",options:"=?",maxNum:"=?",minNum:"=?",multiple:"=?",onChange:"&",getOptions:"&"}}})),y.$inject=["$compile","$window","$timeout","$rootScope"];var g=function(){function e(){}return e.prototype.show=function(){var e=this;this.oldVariableText=s.a.get(this.value,"text",""),this.highlightIndex=-1,this.selectOptions=s.a.cloneDeep(this.options),s.a.map(this.selectOptions,(function(t){var n=s.a.get(e.value,"value");n?s.a.isArray(n)?t.selected=-1!==s.a.indexOf(n,t.value):t.selected=n===t.value:t.selected=!1})),this.selectedValues=s.a.filter(this.selectOptions,{selected:!0}),this.search={query:"",options:this.selectOptions.slice(0,Math.min(this.selectOptions.length,1e3))},this.dropdownVisible=!0},e.prototype.updateLinkText=function(){this.linkText=s.a.get(this.value,"text","")},e.prototype.clearSelections=function(){s.a.each(this.selectOptions,(function(e){e.selected=!1})),this.selectionsChanged(!1)},e.prototype.keyDown=function(e){27===e.keyCode&&this.hide(),40===e.keyCode&&this.moveHighlight(1),38===e.keyCode&&this.moveHighlight(-1),13===e.keyCode&&(0===this.search.options.length?this.commitChanges():this.selectValue(this.search.options[this.highlightIndex],{},!0,!1)),32===e.keyCode&&this.selectValue(this.search.options[this.highlightIndex],{},!1,!1)},e.prototype.moveHighlight=function(e){this.highlightIndex=(this.highlightIndex+e)%this.search.options.length},e.prototype.selectValue=function(e,t,n,r){var i=this;if(e){e.selected=!this.multiple||!e.selected,r=r||!1;var o=function(t){s.a.each(i.selectOptions,(function(n){e!==n&&(n.selected=t)}))};(n=n||!1)&&(e.selected=!0),r?(o(!1),n=!0):this.multiple?(t.ctrlKey||t.metaKey||t.shiftKey)&&(n=!0,o(!1)):(o(!1),n=!0),this.selectionsChanged(n)}},e.prototype.selectionsChanged=function(e){this.selectedValues=s.a.filter(this.selectOptions,{selected:!0}),this.value.value=s.a.map(this.selectedValues,"value"),this.value.text=s.a.map(this.selectedValues,"text").join(" + "),this.multiple||(this.value.value=s.a.get(this.selectedValues,"0.value","")),e&&this.commitChanges()},e.prototype.commitChanges=function(){this.dropdownVisible=!1,this.updateLinkText(),this.value.text!==this.oldVariableText&&this.onChange({value:this.value})},e.prototype.queryChanged=function(){var e=this;this.highlightIndex=-1,this.search.options=s.a.filter(this.selectOptions,(function(t){return-1!==t.text.toLowerCase().indexOf(e.search.query.toLowerCase())})),this.search.options=this.search.options.slice(0,Math.min(this.search.options.length,1e3))},e.prototype.init=function(){s.a.isEmpty(this.value)&&(this.value={text:"",value:this.multiple?[]:""}),this.updateLinkText()},e}();function y(e,t,n,r){return{restrict:"E",scope:{options:"=",multiple:"=",value:"=",onChange:"&"},template:'\n\n',controller:"CustomSelectDropdownCtrl",controllerAs:"vm",bindToController:!0,link:function(e,r){var i=m.a.element(t.document.body),o=r.find(".variable-value-link"),a=r.find("input");function c(t){0===r.has(t.target).length&&e.$apply((function(){e.vm.commitChanges()}))}e.$watch("vm.dropdownVisible",(function(e){e?(a.css("width",Math.max(o.width(),136)+"px"),a.show(),o.hide(),a.focus(),n((function(){i.on("click",c)}),0,!1)):(a.hide(),o.show(),i.off("click",c))})),e.vm.init()}}}f.a.controller("CustomSelectDropdownCtrl",g),f.a.directive("customSelectDropdown",y);var v,b,I,w=n(10),D=n(223),k=n.n(D);v=w.Cascader,b="gfCascader",I={separator:"@?",placeholder:"@?",options:"<",changeOnSelect:"'),controller:(e=v,function(){function t(e,t){this._$scope=e,this._$element=t}return t.$inject=["$scope","$element"],t.prototype.$onInit=function(){var t=this,n=Object.entries(this._$scope).reduce((function(e,t){var n=t[0],r=t[1];return n.startsWith("$")||(e[n]="function"==typeof r?function(){for(var e=[],t=0;t")}));return e+'\n
\n
{{ctrl.lastQueryError}}
\n
\n '}(),_=n(1),A=(C=function(e,t){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}C(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),j=function(){return(j=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(f.target.namespace=null!==(c=null!==(i=f.target.namespace)&&void 0!==i?i:null===(a=null===(o=f.cascaderOptions[0])||void 0===o?void 0:o.items)||void 0===a?void 0:a[0].value)&&void 0!==c?c:f.cascaderOptions[0].value,f.target.service=Object(u.f)(f.target.namespace)||""),f.hideRegion=!!(null===(p=l.SERVICES.find((function(e){return e.service===f.target.service})))||void 0===p?void 0:p.hideRegion),s.a.defaultsDeep(f.target,f.defaults),f.instanceAliasList=f.getInstanceAliasList(f.target.service),f.panelCtrl.events.on("data-received",f.onDataReceived.bind(f),t),f.panelCtrl.events.on("data-error",f.onDataError.bind(f),t),f}return t.$inject=["$scope","$injector","templateSrv"],A(t,e),Object.defineProperty(t.prototype,"sortedPeriodList",{get:function(){return this.periodList.sort((function(e,t){return e-t}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCascader",{get:function(){return this.cascaderOptions.length>1},enumerable:!1,configurable:!0}),t.prototype.cascaderChange=function(e){this.target.namespace=e,this.onNamespaceChange()},t.prototype.onDataReceived=function(e){this.lastQueryError=void 0,this.lastQuery="";var t=s.a.find(e,{refId:this.target.refId});t&&(this.lastQuery=t.query)},t.prototype.onDataError=function(e){this.handleQueryCtrlError(e)},t.prototype.handleQueryCtrlError=function(e){var t;s.a.get(e,"query.refId")===this.target.refId&&(s.a.get(e,"error.data.error.innererror",void 0)?s.a.get(e,"error.data.error.innererror.innererror",void 0)?this.lastQueryError=s.a.get(e,"error.data.error.innererror.innererror.message"):this.lastQueryError=s.a.get(e,"error.data.error.innererror.message"):s.a.get(e,"error.data.error",void 0)?this.lastQueryError=s.a.get(e,"error.data.error.message"):s.a.get(e,"error.data",void 0)?this.lastQueryError=s.a.get(e,"error.data.message"):s.a.get(e,"data.error",void 0)?this.lastQueryError=s.a.get(e,"data.error.message"):(null===(t=e.data)||void 0===t?void 0:t.message)||(s.a.get(e,"data.message",void 0)?this.lastQueryError=s.a.get(e,"data.message"):this.lastQueryError=e))},t.prototype.getInstanceAliasList=function(e){return e?s.a.map(l.InstanceAliasList["".concat(s.a.toUpper(e),"InstanceAliasList")]||[],(function(e){return{text:"As ".concat(e),value:e}})):[]},t.prototype.getNamespaces=function(e){return s.a.map(this.namespaces,(function(e){return{text:e.label,value:e.namespace}}))},t.prototype.onNamespaceChange=function(){var e,t=Object(u.f)(this.target.namespace)||"";this.hideRegion=!!(null===(e=l.SERVICES.find((function(e){return e.service===t})))||void 0===e?void 0:e.hideRegion),this.regions=[],this.metricList=[],this.periodList=[],this.dimensionList=[],this.instanceList=[];var n=l.InitServiceState[t];this.target[t]=s.a.cloneDeep(n),this.target.service=t,this.instanceAliasList=this.getInstanceAliasList(t),this.refresh(),this.isCascader&&this.$scope.$apply()},t.prototype.getRegions=function(e){var t=this,n=this.target.service;return!n||s.a.startsWith("$")?[]:this.regions.length?this.regions:this.datasource.getRegions(n).then((function(e){return t.regions=e,e})).catch(this.handleQueryCtrlError.bind(this))},t.prototype.onRegionChange=function(){var e=this,t=this.target.service;this.target[t].instance="",this.instanceList=[],this.isMetricsNeedUpdate=!0,s.a.forEach(this.target[t].dimensionObject,(function(n,r){e.target[t].dimensionObject[r]={Name:r,Value:""}})),this.target[t].queries=s.a.cloneDeep(l.InitServiceState[t].queries),this.getInstances(),this.refresh()},t.prototype.getVariable=function(e,t){return Object(u.j)(this.templateSrv,this.panelCtrl.panel.scopedVars,e,t)},t.prototype.getMetricNameDesc=function(){var e=this,t=this.target.service,n=s.a.findIndex(this.metricList,(function(n){return n.MetricName===e.target[t].metricName}));return-1===n?"":Object(_.b)()===_.a.Chinese?this.metricList[n].Meaning.Zh:this.metricList[n].Meaning.En},t.prototype.getMetrics=function(e){var t=this,n=this.target.service,r=this.getVariable(s.a.get(this.target[n],"region",""),!1);return n&&r?!this.isMetricsNeedUpdate&&this.metricList.length>0?s.a.map(this.metricList,(function(e){return{text:e.MetricName,value:e.MetricName}})):this.datasource.getMetrics(n,r).then((function(e){t.metricList=e,t.isMetricsNeedUpdate=!1;var r=s.a.findIndex(t.metricList,(function(e){return e.MetricName===t.target[n].metricName}));return-1!==r&&(t.periodList=s.a.get(t.metricList[r],"Period",[]),t.dimensionList=s.a.get(t.metricList[r],"Dimensions.0.Dimensions",[])),s.a.map(e,(function(e){return{text:e.MetricName,value:e.MetricName}}))})).catch(this.handleQueryCtrlError.bind(this)):[]},t.prototype.onMetricChange=function(){var e=this,t=this.target.service,n=[],r=[],i={},o="",a=s.a.findIndex(this.metricList,(function(n){return n.MetricName===e.target[t].metricName}));-1!==a&&(n=s.a.get(this.metricList[a],"Period",[]),r=s.a.get(this.metricList[a],"Dimensions.0.Dimensions",[]),o=s.a.get(this.metricList[a],"Unit","")),s.a.forEach(r,(function(e){i[e]={Name:e,Value:""}})),this.periodList=n,this.dimensionList=r,this.target[t].period=n.length>0?-1===s.a.indexOf(n,300)?n[0]:300:void 0,this.target[t].dimensionObject=i,this.target[t].metricUnit=o,this.refresh()},t.prototype.getInstances=function(){var e=this,t=this.target.service,n=this.getVariable(s.a.get(this.target[t],"region",""),!1);if(!t||!n)return[];var r=this.getInstanceQueryParams(t);return this.datasource.getInstances(t,n,r).then((function(n){e.instanceList=n;var r=e.target[t].instanceAlias,i=[];return s.a.forEach(n,(function(e){var t=s.a.get(e,r);t&&("string"==typeof t?(e._InstanceAliasValue=t,i.push({text:t,value:JSON.stringify(e)})):s.a.isArray(t)&&s.a.forEach(t,(function(t){e._InstanceAliasValue=t,i.push({text:t,value:JSON.stringify(e)})})))})),i})).catch(this.handleQueryCtrlError.bind(this))},t.prototype.onInstanceChange=function(e){this.refresh()},t.prototype.getInstanceQueryParams=function(e){var t=this.target[e].queries;return l.GetInstanceQueryParams["".concat(s.a.toUpper(e),"GetInstanceQueryParams")]?l.GetInstanceQueryParams["".concat(s.a.toUpper(e),"GetInstanceQueryParams")](t):{}},t.prototype.onInstanceAliasChange=function(){if(!this.isVariable("instance")){var e=this.target.service;this.target[e].instance="",this.refresh()}},t.prototype.onInstanceQueryChange=function(){var e=this;if(!this.isVariable("instance")){var t=this.target.service;this.target[t].instance="",this.instanceList=[],s.a.forEach(this.target[t].dimensionObject,(function(n,r){e.target[t].dimensionObject[r]={Name:r,Value:""}})),this.refresh()}},t.prototype.isVariable=function(e){var t,n=this.target.service,r=null===(t=this.target[n])||void 0===t?void 0:t[e];return Object(u.m)(r)},t.prototype.checkShowDetail=function(e){return!this.isVariable(e)&&this.target.showInstanceDetails},t.prototype.getTimeDesc=function(){return"".concat(Object(_.d)("time_unit"),": ").concat(Object(_.d)("seconds"))},t.prototype.getSearchDesc=function(){return Object(_.d)("search_description")},t.template=E,t}(a.QueryCtrl),T=n(22),P=n(225),q=n.n(P),M=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),L=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.angularScope=null,t.angularQueryEditor=null,t.events=new q.a,t.renderAngularQueryEditor=function(){if(t.element){t.angularQueryEditor&&(t.angularQueryEditor.destroy(),t.angularQueryEditor=null);var e=Object(T.getAngularLoader)(),n={ctrl:t.getAngularQueryComponentScope()};t.angularQueryEditor=e.load(t.element,n,''),t.angularScope=n.ctrl}},t}return M(t,e),t.prototype.componentDidMount=function(){var e=this;setTimeout((function(){e.forceUpdate()}))},t.prototype.componentDidUpdate=function(e){var t=this.props,n=t.data,i=t.range;if(n!==e.data&&n){if(n.state===r.LoadingState.Done){var o=n.series.map((function(e){return Object(r.toLegacyResponseData)(e)}));this.events.emit("data-received",o)}else n.state===r.LoadingState.Error&&this.events.emit("data-error",n.error);this.angularScope&&(this.angularScope.range=i)}this.element&&!this.angularQueryEditor&&this.renderAngularQueryEditor()},t.prototype.getAngularQueryComponentScope=function(){var e=this,t=this.props,n=t.query,r=t.queries,i=t.range,o=t.datasource,a=t.queryCtrl;o.components={QueryCtrl:a};return{datasource:o,target:n,panel:{scopedVars:{},targets:r||[]},dashboard:{},refresh:function(){e.props.onChange(n),e.props.onRunQuery()},render:function(){return function(){}},events:this.events,range:i}},t.prototype.render=function(){var e=this;return o.a.createElement("div",{ref:function(t){e.element=t}})},t}(i.PureComponent),R=n(14),F=function(e){var t=Object(i.useRef)(e);return t.current=e,t},B=function(){return(B=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1e3,error:"仅支持返回1~1000条日志"},o.a.createElement(w.Input,{type:"number",min:1,max:1e3,value:t,onChange:r,width:25,className:"log-service-monospaced-font-family"}))})),ce=n(26),se=n(190),ue=n.n(se);var le=function(){function e(e,t){this.target=e,this.database=t}return e.prototype.buildExploreQuery=function(e,t,n){var r,i,o="";if("TAG_KEYS"===e)o="show tag keys",r=this.target.measurement,i=this.target.policy;else if("TAG_VALUES"===e)o="show tag values",r=this.target.measurement,i=this.target.policy;else if("MEASUREMENTS"===e)o="show measurements",n&&(o+=" with measurement =~ /(?i)"+ue.a.regexEscape(n)+"/");else{if("FIELDS"===e)return r=this.target.measurement,i=this.target.policy,r.match("^/.*/")||(r='"'+r+'"',i&&"default"!==i&&(r=(i='"'+i+'"')+"."+r)),"show field keys from "+r;if("RETENTION POLICIES"===e)return o='show retention policies on "'+this.database+'"'}if(r&&(r.match("^/.*/")||r.match(/^merge\(.*\)/)||(r='"'+r+'"'),i&&"default"!==i&&(r=(i='"'+i+'"')+"."+r),o+=" from "+r),t&&(o+=' with key = "'+t+'"'),this.target.tags&&this.target.tags.length>0){var a=Object(c.reduce)(this.target.tags,(function(n,r){return"MEASUREMENTS"===e&&"id"===r.key||r.key===t||">"===r.operator||"<"===r.operator||n.push(function(e,t){var n="",r=e.operator,i=e.value;return t>0&&(n=(e.condition.toLowerCase()||"AND")+" "),r||(r=/^\/.*\/$/.test(e.value)?"=~":"="),(""===i||"=~"!==r&&"!~"!==r)&&(i="'"+i.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),n+'"'+e.key+'" '+r+" "+i}(r,n.length)),n}),[]);a.length>0&&(o+=" where "+a.join(" "))}return"MEASUREMENTS"===e&&(o+=" limit 100"),o},e}(),pe=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},fe=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n+2;if("count"!==t.def.type&&i)e[n+1].def.category===be.Aggregations&&e.splice(n+1,1);else if("count"===t.def.type)return void(i&&"count"===e[n+1].def.type||e.splice(n+1,0,t))}return void(e[n]=t)}if(r.def.category===be.Selectors)return void(e[n]=t)}e.splice(1,0,t)}function Oe(e,t){var n;for(n=0;n0){if("math"===e[n-1].def.type)return void(e[n-1]=t);if(n>1&&"math"===e[n-2].def.type)return void(e[n-2]=t);if("alias"===e[n-1].def.type)return void e.splice(n-1,0,t)}e.push(t)},category:be.Math,params:[{name:"expr",type:"string"}],defaultParams:[" / 100"],renderer:function(e,t){return t+" "+e.params[0]}}),we({type:"alias",addStrategy:function(e,t){var n=e.length;n>0&&"alias"===e[n-1].def.type?e[n-1]=t:e.push(t)},category:be.Aliasing,params:[{name:"name",type:"string",quote:"double"}],defaultParams:["alias"],renderMode:"suffix",renderer:function(e,t){return t+' AS "'+e.params[0]+'"'}});var Se={create:Ie,getCategories:function(){return be},replaceAggregationAdd:Ce},xe=function(){function e(e,t,n){this.selectModels=[],this.target=e,this.templateSrv=t,this.scopedVars=n,e.policy=e.policy||R.c.RUMServiceParams.policy,e.resultFormat=e.resultFormat||R.c.RUMServiceParams.resultFormat,e.orderByTime=e.orderByTime||R.c.RUMServiceParams.orderByTime,e.tags=e.tags||Object(c.cloneDeep)(R.c.RUMServiceParams.tags),e.groupBy=e.groupBy||Object(c.cloneDeep)(R.c.RUMServiceParams.groupBy),e.select=e.select||Object(c.cloneDeep)(R.c.RUMServiceParams.select),this.updateProjection()}return e.$inject=["target","templateSrv","scopedVars"],e.prototype.updateProjection=function(){this.selectModels=Object(c.map)(this.target.select,(function(e){return Object(c.map)(e,Se.create)})),this.groupByParts=Object(c.map)(this.target.groupBy,Se.create)},e.prototype.updatePersistedParts=function(){this.target.select=Object(c.map)(this.selectModels,(function(e){return Object(c.map)(e,(function(e){return{type:e.def.type,params:e.params}}))}))},e.prototype.hasGroupByTime=function(){return Object(c.find)(this.target.groupBy,(function(e){return"time"===e.type}))},e.prototype.hasFill=function(){return Object(c.find)(this.target.groupBy,(function(e){return"fill"===e.type}))},e.prototype.addGroupBy=function(e){var t=e.match(/^(\w+)\((.*)\)$/);if(t&&this.target.groupBy){var n=t[1],r=t[2],i=Se.create({type:n,params:[r]}),o=this.target.groupBy.length;0===o?this.target.groupBy.push(i.part):"time"===n?this.target.groupBy.splice(0,0,i.part):"tag"===n&&"fill"===this.target.groupBy[o-1].type?this.target.groupBy.splice(o-1,0,i.part):this.target.groupBy.push(i.part),this.updateProjection()}},e.prototype.removeGroupByPart=function(e,t){var n=Se.getCategories();"time"===e.def.type&&(this.target.groupBy=Object(c.filter)(this.target.groupBy,(function(e){return"fill"!==e.type})),this.target.select=Object(c.map)(this.target.select,(function(e){return Object(c.filter)(e,(function(e){var t=Se.create(e);return t.def.category!==n.Aggregations&&t.def.category!==n.Selectors}))}))),this.target.groupBy.splice(t,1),this.updateProjection()},e.prototype.removeSelect=function(e){this.target.select.splice(e,1),this.updateProjection()},e.prototype.removeSelectPart=function(e,t){if("field"===t.def.type){if(this.selectModels.length>1){var n=Object(c.indexOf)(this.selectModels,e);this.selectModels.splice(n,1)}}else{var r=Object(c.indexOf)(e,t);e.splice(r,1)}this.updatePersistedParts()},e.prototype.addSelectPart=function(e,t){var n=Se.create({type:t});n.def.addStrategy(e,n,this),this.updatePersistedParts()},e.prototype.getMeasurementAndPolicy=function(e){var t=this.target.policy,n=this.target.measurement||"measurement";return n.match("^/.*/$")?e&&(n=this.templateSrv.replace(n,this.scopedVars,"regex")):n='"'+n+'"',(t="default"!==t?'"'+this.target.policy+'".':"")+n},e.prototype.interpolateQueryStr=function(e,t,n){return t.multi||t.includeAll?"string"==typeof e?ue.a.regexEscape(e):"("+Object(c.map)(e,ue.a.regexEscape).join("|")+")":e},e.prototype.render=function(e){var t=this,n=this.target;if(n.rawQuery)return e?this.templateSrv.replace(n.query,this.scopedVars,this.interpolateQueryStr):n.query;var r,i,o="select ";for(r=0;r0&&(o+=", "),o+=s}o+=" from "+this.getMeasurementAndPolicy(e)+" where ";var u=Object(c.map)(n.tags,(function(n,r){return t.renderTagCondition(n,r,e)}));u.length>0&&(o+="("+u.join(" ")+") and "),o+="$timeFilter";var l="";for(r=0;r0&&(l+="fill"===p.def.type?" ":", "),l+=p.render("")}return l.length&&(o+=" group by "+l),n.fill&&(o+=" fill("+n.fill+")"),"DESC"===n.orderByTime&&(o+=" order by time desc"),n.limit&&(o+=" limit "+n.limit),n.slimit&&(o+=" slimit "+n.slimit),n.tz&&(o+=" tz('"+n.tz+"')"),o},e.prototype.renderAdhocFilters=function(e){var t=this;return Object(c.map)(e,(function(e,n){return t.renderTagCondition(e,n,!0)})).join(" ")},e.prototype.renderTagCondition=function(e,t,n){var r="",i=e.operator,o=e.value;return t>0&&(r=(e.condition.toLowerCase()||"and")+" "),i||(i=/^\/.*\/$/.test(o)?"=~":"="),"=~"!==i&&"!~"!==i?(n&&(o=this.templateSrv.replace(o,this.scopedVars)),">"!==i&&"<"!==i&&(o="'"+o.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'")):n&&(o=this.templateSrv.replace(o,this.scopedVars,"regex")),r+'"'+e.key+'" '+i+" "+o},e}(),Ee=function(){return(Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]","<",">","=~","!~"].map(je),pt=["AND","OR"].map(je),ft=function(){return Promise.resolve(pt)},dt=function(){return Promise.resolve(lt)},mt=function(e){var t=e.tag,n=e.isFirst,r=e.onRemove,i=e.onChange,a=e.getTagKeyOptions,c=e.getTagValueOptions,s=ot(t),u=at(t,n);return o.a.createElement("div",{className:"gf-form"},void 0!==u&&o.a.createElement(Xe,{value:u,loadOptions:ft,disabled:!0,onChange:function(e){i(st(st({},t),{condition:e.value}))}}),o.a.createElement(Xe,{allowCustomValue:!0,value:t.key,loadOptions:function(){return a().catch((function(e){return[]})).then((function(e){return ut([{label:"-- remove filter --",value:void 0}],e.map(je),!0)}))},onChange:function(e){var n=e.value;void 0===n?r():i(st(st({},t),{key:null!=n?n:""}))}}),o.a.createElement(Xe,{value:s,loadOptions:dt,onChange:function(e){i(st(st({},t),{operator:e.value}))}}),o.a.createElement(Xe,{allowCustomValue:!0,value:t.value,loadOptions:function(){return c(t.key).then((function(e){return e.map(je)}))},onChange:function(e){var n,r,o,a,c=null!==(n=e.value)&&void 0!==n?n:"";i(st(st({},t),{value:c,operator:(r=s,o=c,a="=~"===r||"!~"===r,it(o)?a?r:"=~":a?"=":r)}))}}))},ht=function(e){var t=e.tags,n=e.onChange,r=e.getTagKeyOptions,i=e.getTagValueOptions,a=function(e,r){var i=t.map((function(t,n){return r===n?e:t}));n(i)};return o.a.createElement(o.a.Fragment,null,t.map((function(e,c){return o.a.createElement(mt,{tag:e,isFirst:0===c,key:c,onChange:function(e){a(e,c)},onRemove:function(){var e,r;e=c,r=t.filter((function(t,n){return n!==e})),n(r)},getTagKeyOptions:r,getTagValueOptions:i})})),o.a.createElement(ct,{allowCustomValue:!0,loadOptions:function(){return r().then((function(e){return e.map(je)}))},onAdd:function(e){var r,i,o,a;r=e,i=0===t.length,a={key:(o={key:r,value:"select tag value"}).key,value:o.value,operator:ot(o),condition:at(o,i)},n(ut(ut([],t,!0),[a],!1))}}))},gt=Object(ce.css)({paddingRight:"0",marginRight:"0"}),yt=function(e){var t=e.name,n=e.onRemove;return o.a.createElement(w.WithContextMenu,{getContextMenuItems:function(){return[{items:[{label:"remove",onClick:n}]}]}},(function(e){var n=e.openMenu;return o.a.createElement("button",{className:Object(ce.cx)("gf-form-label",gt),onClick:n},t)}))},vt=Object(ce.css)({paddingLeft:"0",paddingRight:"0",marginLeft:"0",marginRight:"0"}),bt=function(e){var t=e.name,n=e.params,r=e.onChange,a=e.onRemove,c=Object(w.useTheme)(),s=Object(i.useMemo)((function(){return function(e){return Object(ce.cx)("gf-form-label",Object(ce.css)({paddingLeft:"0",lineHeight:e.typography.lineHeight.md,fontSize:e.typography.size.base}))}(c)}),[c]),u=function(e,t){var i=n.map((function(e){return e.value}));i[t]=e,r(i)};return o.a.createElement("div",{className:s},o.a.createElement(yt,{name:t,onRemove:a}),"(",n.map((function(e,t){var r=e.value,i=e.options,a=t===n.length-1,c=null!==i?function(){return i().then((function(e){return e.map(je)}))}:void 0;return o.a.createElement(o.a.Fragment,{key:t},o.a.createElement(Xe,{allowCustomValue:!0,value:r,buttonClassName:vt,loadOptions:c,onChange:function(e){u(Ae(e.value),t)}}),!a&&",")})),")")},It=function(e){var t=e.parts,n=e.getNewPartOptions,r=e.onAddNewPart,i=e.onRemovePart,a=e.onChange;return o.a.createElement(o.a.Fragment,null,t.map((function(e,t){return o.a.createElement(bt,{key:t,name:e.name,params:e.params,onRemove:function(){i(t)},onChange:function(e){a(t,e)}})})),o.a.createElement(ct,{loadOptions:n,onAdd:r}))},wt=Object(ce.css)({paddingRight:"4px"}),Dt=function(e){var t=e.value,n=e.onChange,r=e.isWide,i=e.placeholder,a=Ke(t),c=a[0],s=a[1];return o.a.createElement(w.Input,{placeholder:i,className:Object(ce.cx)(null!=r&&r?"width-14":"width-8",wt),type:"text",spellCheck:!1,onBlur:function(){n(""===c?void 0:c)},onChange:function(e){s(e.currentTarget.value)},value:null!=c?c:""})},kt=[{label:"ascending",value:"ASC"},{label:"descending",value:"DESC"}],Ct=Object(ce.cx)("width-9",wt),Ot=function(e){var t=e.value,n=e.onChange,r=e.inputId;return o.a.createElement(w.Select,{inputId:r,className:Ct,onChange:function(e){n(Ae(e.value))},value:t,options:kt})},St=[{label:"Time series",value:"time_series"},{label:"Table",value:"table"},{label:"Logs",value:"logs"}],xt=["log_url_statistics","event_url_statistics","pv_url_statistics","user_event_user_event_unique","uv_project_unique","uv_page_unique","custom_url_info","custom_url_statistics","fetch_url_info","fetch_url_statistics","fetch_project_statistics","set_data_url_statistics","performance_page_statistics","performance_project_statistics","static_url_source","static_resource_statistics","static_project_statistics","webvitals_page_statistics","webvitals_project_statistics"],Et=Object(ce.cx)("width-8",wt),_t=function(e){var t=e.format,n=e.inputId,r=e.onChange;return o.a.createElement(w.Select,{inputId:n,className:Et,onChange:function(e){r(Ae(e.value))},value:t,options:St})};var At=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},jt=function(){return(jt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]","<",">","=~","!~","in"].map(Yt),Sn=["AND","OR"].map(Yt),xn=function(){return Promise.resolve(Sn)},En=function(){return Promise.resolve(On)},_n=function(e){var t=e.tag,n=e.isFirst,r=e.onRemove,i=e.onChange,a=e.getTagKeyOptions,c=e.getTagValueOptions,s=In(t),u=wn(t,n);return o.a.createElement("div",{className:"gf-form"},void 0!==u&&o.a.createElement(mn,{value:u,loadOptions:xn,disabled:!0,onChange:function(e){i(kn(kn({},t),{condition:e.value}))}}),o.a.createElement(mn,{allowCustomValue:!0,value:t.key,loadOptions:function(){return a().catch((function(e){return[]})).then((function(e){return Cn([{label:"-- remove filter --",value:void 0}],e.map(Yt),!0)}))},onChange:function(e){var n=e.value;void 0===n?r():i(kn(kn({},t),{key:null!=n?n:""}))}}),o.a.createElement(mn,{value:s,loadOptions:En,onChange:function(e){i(kn(kn({},t),{operator:e.value}))}}),o.a.createElement(mn,{allowCustomValue:!0,value:t.value,loadOptions:function(){return c(t.key).then((function(e){return e.map(Yt)}))},onChange:function(e){var n,r,o,a,c=null!==(n=e.value)&&void 0!==n?n:"";i(kn(kn({},t),{value:c,operator:(r=s,o=c,a="=~"===r||"!~"===r,bn(o)?a?r:"=~":a?"=":r)}))}}))},An=function(e){var t=e.tags,n=e.onChange,r=e.getTagKeyOptions,i=e.getTagValueOptions,a=function(e,r){var i=t.map((function(t,n){return r===n?e:t}));n(i)};return o.a.createElement(o.a.Fragment,null,t.map((function(e,c){return o.a.createElement(_n,{tag:e,isFirst:0===c,key:c,onChange:function(e){a(e,c)},onRemove:function(){var e,r;e=c,r=t.filter((function(t,n){return n!==e})),n(r)},getTagKeyOptions:r,getTagValueOptions:i})})),o.a.createElement(Dn,{allowCustomValue:!0,loadOptions:function(){return r().then((function(e){return e.map(Yt)}))},onAdd:function(e){var r,i,o,a;r=e,i=0===t.length,a={key:(o={key:r,value:"select tag value"}).key,value:o.value,operator:In(o),condition:wn(o,i)},n(Cn(Cn([],t,!0),[a],!1))}}))},jn=Object(ce.css)({paddingRight:"0",marginRight:"0"}),Nn=function(e){var t=e.name,n=e.onRemove;return o.a.createElement(w.WithContextMenu,{getContextMenuItems:function(){return[{items:[{label:"remove",onClick:n}]}]}},(function(e){var n=e.openMenu;return o.a.createElement("button",{className:Object(ce.cx)("gf-form-label",jn),onClick:n},t)}))},Tn=Object(ce.css)({paddingLeft:"0",paddingRight:"0",marginLeft:"0",marginRight:"0"}),Pn=function(e){var t=e.name,n=e.params,r=e.onChange,a=e.onRemove,c=Object(w.useTheme)(),s=Object(i.useMemo)((function(){return function(e){return Object(ce.cx)("gf-form-label",Object(ce.css)({paddingLeft:"0",lineHeight:e.typography.lineHeight.md,fontSize:e.typography.size.base}))}(c)}),[c]),u=function(e,t){var i=n.map((function(e){return e.value}));i[t]=e,r(i)};return o.a.createElement("div",{className:s},o.a.createElement(Nn,{name:t,onRemove:a}),"(",n.map((function(e,t){var r=e.value,i=e.options,a=t===n.length-1,c=null!==i?function(){return i().then((function(e){return e.map(Yt)}))}:void 0;return o.a.createElement(o.a.Fragment,{key:t},o.a.createElement(mn,{allowCustomValue:!0,value:r,buttonClassName:Tn,loadOptions:c,onChange:function(e){u(zt(e.value),t)}}),!a&&",")})),")")},qn=function(e){var t=e.parts,n=e.getNewPartOptions,r=e.onAddNewPart,i=e.onRemovePart,a=e.onChange;return o.a.createElement(o.a.Fragment,null,t.map((function(e,t){return o.a.createElement(Pn,{key:t,name:e.name,params:e.params,onRemove:function(){i(t)},onChange:function(e){a(t,e)}})})),o.a.createElement(Dn,{loadOptions:n,onAdd:r}))},Mn=Object(ce.css)({paddingRight:"4px"}),Ln=function(e){var t=e.value,n=e.onChange,r=e.isWide,i=e.placeholder,a=an(t),c=a[0],s=a[1];return o.a.createElement(w.Input,{placeholder:i,className:Object(ce.cx)(null!=r&&r?"width-14":"width-8",Mn),type:"text",spellCheck:!1,onBlur:function(){n(""===c?void 0:c)},onChange:function(e){s(e.currentTarget.value)},value:null!=c?c:""})},Rn=n(205),Fn=Object(ce.cx)("width-8",Mn),Bn=function(e){var t=e.format,n=e.inputId,r=e.onChange;return o.a.createElement(w.Select,{inputId:n,className:Fn,onChange:function(e){r(zt(e.value))},value:t,options:Rn.c})};var Qn=[{label:"ascending",value:"ASC"},{label:"descending",value:"DESC"}],Vn=Object(ce.cx)("width-9",Mn),Gn=function(e){var t=e.value,n=e.onChange,r=e.inputId;return o.a.createElement(w.Select,{inputId:r,className:Vn,onChange:function(e){n(zt(e.value))},value:t,options:Qn})},Un=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Kn=function(){return(Kn=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0,n=Boolean(null==e?void 0:e.instanceSettings.jsonData.logServiceEnabled),r=Boolean(null==e?void 0:e.instanceSettings.jsonData.RUMServiceEnabled),i=Boolean(null==e?void 0:e.instanceSettings.jsonData.APMServiceEnabled);return[t&&R.a.monitor,n&&R.a.logService,r&&R.a.RUMService,i&&R.a.APMService].filter(Boolean)},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props,n=t.datasource,r=t.query,i=this.state.isAlertVisiable;return n?o.a.createElement("div",null,this.enabledServices.length>1&&o.a.createElement(w.TabsBar,null,R.b.filter((function(t){return e.enabledServices.includes(t.value)})).map((function(t){return o.a.createElement(w.Tab,{key:t.value,label:t.label,active:r.serviceType===t.value,onChangeTab:function(){e.partialOnChange({serviceType:t.value})}})}))),o.a.createElement(w.TabContent,null,r.serviceType===R.a.monitor&&this.renderMonitorQueryEditor(),r.serviceType===R.a.logService&&this.renderLogServiceQueryEditor(),r.serviceType===R.a.RUMService&&this.renderRUMServiceQueryEditor(),r.serviceType===R.a.APMService&&this.renderAPMServiceQueryEditor()),i&&o.a.createElement(w.Alert,{title:"目前仅 CLS日志服务 数据源支持告警"})):o.a.createElement("div",null,"loading")},t.prototype.renderMonitorQueryEditor=function(){var e=this.props.datasource.monitorDataSource;return e&&o.a.createElement(L,Xn({},this.props,{queryCtrl:N,datasource:e}))},t.prototype.renderLogServiceQueryEditor=function(){return o.a.createElement(oe,Xn({},this.props))},t.prototype.renderRUMServiceQueryEditor=function(){var e=this.props,t=e.query,n=e.onChange,r=e.onRunQuery,i=e.datasource;return o.a.createElement(Mt,{query:t,onChange:n,onRunQuery:r,datasource:i})},t.prototype.renderAPMServiceQueryEditor=function(){var e=this.props,t=e.query,n=e.onChange,r=e.onRunQuery,i=e.datasource;return o.a.createElement(Jn,{query:t,onChange:n,onRunQuery:r,datasource:i})},t}(i.PureComponent),tr=function(){return o.a.createElement("a",{target:"_blank",href:"https://cloud.tencent.com/document/product/248/54510"},"Click here for more information of query")},nr=function(e){var t=F(e),n=e.query,r=e.datasource,a=Object(i.useCallback)((function(e){var n,r,i=t.current.onChange;r=e.serviceType===R.a.logService?"SQL: ".concat(null===(n=e.logServiceParams)||void 0===n?void 0:n.Query):e.queryString,null==i||i(e,r)}),[t]);return o.a.createElement(o.a.Fragment,null,o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"服务类型",labelWidth:20},o.a.createElement(w.RadioButtonGroup,{options:R.b,value:Object(c.isString)(n)?R.a.monitor:n.serviceType,onChange:function(e){e===R.a.monitor&&a({serviceType:e,queryString:""}),e===R.a.logService&&a({serviceType:e,queryString:"",logServiceParams:Object(c.clone)(R.c.logServiceParams)}),e===R.a.RUMService&&a({serviceType:e,queryString:""}),e===R.a.APMService&&a({serviceType:e,queryString:""})}}))),n.serviceType===R.a.logService&&o.a.createElement(o.a.Fragment,null,o.a.createElement(oe,{datasource:r,query:n,onRunQuery:function(){},onChange:function(e){a({serviceType:R.a.logService,queryString:"",logServiceParams:e.logServiceParams})}})),n.serviceType===R.a.RUMService&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,placeholder:"metric name or tags query",onChange:function(e){return a({serviceType:R.a.RUMService,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))),n.serviceType===R.a.APMService&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,placeholder:"metric name or tags query",onChange:function(e){return a({serviceType:R.a.APMService,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))),(Object(c.isString)(n)||n.serviceType===R.a.monitor)&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,onChange:function(e){return a({serviceType:R.a.monitor,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))))};nr.displayName="VariableQueryEditor";var rr=n(70),ir=n(218),or=n(188),ar=n(68),cr=n(73),sr=n(72),ur=n(71),lr=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pr=function(e){function t(t,n){var r=e.call(this)||this;return r.subject=t,r.subscriber=n,r.closed=!1,r}return ar.a(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}},t}(ur.a),fr=n(203),dr=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return ar.a(t,e),t}(sr.a),mr=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return ar.a(t,e),t.prototype[fr.a]=function(){return new dr(this)},t.prototype.lift=function(e){var t=new hr(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new lr;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;i1)this.connection=null;else{var n=this.connection,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},t}(sr.a),br=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return ar.a(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype.connect=function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new ur.a).add(this.source.subscribe(new wr(this.getSubject(),this))),e.closed&&(this._connection=null,e=ur.a.EMPTY)),e},t.prototype.refCount=function(){return gr()(this)},t}(cr.a),Ir=function(){var e=br.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),wr=function(e){function t(t,n){var r=e.call(this,t)||this;return r.connectable=n,r}return ar.a(t,e),t.prototype._error=function(t){this._unsubscribe(),e.prototype._error.call(this,t)},t.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}},t}(dr);sr.a;var Dr=function(){function e(e,t){this.subjectFactory=e,this.selector=t}return e.prototype.call=function(e,t){var n=this.selector,r=this.subjectFactory(),i=n(r).subscribe(e);return i.add(t.subscribe(r)),i},e}();function kr(){return new mr}function Cr(){return function(e){return gr()((t=kr,function(e){var r;if(r="function"==typeof t?t:function(){return t},"function"==typeof n)return e.lift(new Dr(r,n));var i=Object.create(e,Ir);return i.source=e,i.subjectFactory=r,i})(e));var t,n}}var Or=n(69),Sr=n.n(Or),xr=/(\w+)\[[\w/]+]/g,Er=[{prestoTypeRegex:/^timestamp with time zone$/,fieldType:r.FieldType.time,processor:function(e){var t=String(e).replace(xr,"$1");return Sr()(t).isValid()?t:e}},{prestoTypeRegex:/^timestamp$|^date$|^datetime$/,fieldType:r.FieldType.time},{prestoTypeRegex:/^time$/,fieldType:r.FieldType.time},{prestoTypeRegex:/^tinyint$|^samllint$|^integer$|^bigint$|^long$/,fieldType:r.FieldType.number},{prestoTypeRegex:/^real$|^double$|^decimal$/,fieldType:r.FieldType.number},{prestoTypeRegex:/^varchar$|^char$|^text$|^keyword$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^boolean$/,fieldType:r.FieldType.boolean},{prestoTypeRegex:/^uuid$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^ipaddress$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^array\(.*\)$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^json$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^map\(.*\)$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^varbinary$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^interval$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^row$/,fieldType:r.FieldType.other}];var _r,Ar=function(){return(Ar=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=2))return"";n=t[0]}return n}function Br(e,t){void 0===t&&(t={});var n=Fr(null!=e?e:""),r=(null!=e?e:"").slice(n.length);return Object(T.getTemplateSrv)().replace(n,t,"lucene")+Object(T.getTemplateSrv)().replace(r,t,"raw")}function Qr(e,t){var n=Fr(null!=e?e:""),r=(null!=e?e:"").slice(n.length),i=t.MaxResultNum;return i&&r?/limit/.test(r)?e:e+" limit "+i:e}var Vr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gr=function(){return(Gr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&s.length>0)return l=c[0],[2,s.map((function(e){return{text:e[l.Name],value:e[l.Name]}}))];p.label=2;case 2:return[2,[]]}}))}))},t.prototype.testDatasource=function(){return Ur(this,void 0,void 0,(function(){var e;return Kr(this,(function(t){switch(t.label){case 0:if(!this.instanceSettings.jsonData.logServiceEnabled)return[2,null];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,z({TopicId:"",Query:"",From:Sr()().subtract(1,"h").valueOf(),To:Sr()().valueOf()},"ap-shanghai",{instanceSettings:this.instanceSettings})];case 2:return t.sent(),[2,{status:"success",message:"DatSource Connection OK"}];case 3:return(null==(e=t.sent())?void 0:e.code)&&"AuthFailure.SignatureFailure"!==e.code?[2,{status:"success",message:"DatSource Connection OK"}]:[2,{status:"error",title:e.code,message:e.message}];case 4:return[2]}}))}))},t.prototype.getLogsVolumeDataProvider=function(e){},t}(r.DataSourceApi),Yr=n(241),Wr=n(240),Jr=n(199),Zr=n.n(Jr),Hr=function(){function e(e){this.series=e.series,this.alias=e.alias,this.annotation=e.annotation,this.meta=e.meta,this.refId=e.refId}return e.prototype.getTimeSeries=function(){var e,t,n=this,r=[];return 0===this.series.length||Object(c.each)(this.series,(function(i){var o=i.columns.length,a=Object(c.map)(i.tags,(function(e,t){return t+": "+e}));for(t=1;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||r.indexOf("show retention policies")>=0,o=r.indexOf("show measurements")>=0,a=new Set;return Object(c.each)(n.series,(function(e){Object(c.each)(e.values,(function(e){Object(c.isArray)(e)?i?oi(a,e[0]):void 0!==e[1]?oi(a,e[1]):oi(a,e[0]):oi(a,e)}))})),o?Array.from(a).filter((function(e){return xt.includes(e)})).map((function(e){return{text:e}})):Array.from(a).map((function(e){return{text:e}}))},e.prototype.getTable=function(e,t,n){var i,o,a=new Zr.a;if(e.length>0)if(a.meta=Xr(Xr({},n),{executedQueryString:null===(i=e[0].meta)||void 0===i?void 0:i.executedQueryString}),a.refId=t.refId,a=function(e,t,n){var i=function(e){var t,n=[];null===(t=e.select)||void 0===t||t.forEach((function(e){var t,r,i=e.filter((function(e){return"field"!==e.type}));i.length>0?n.push(i[0].type):(null===(r=null===(t=e[0])||void 0===t?void 0:t.params)||void 0===r?void 0:r[0])&&n.push(e[0].params[0].toString())}));var r=[];return n.forEach((function(e){r.push(function e(t,n,r,i){if(r.indexOf(n)>-1)return i++,e(t,t+"_"+i,r,i);return n}(e,e,r,0))})),r}(n);e[0].fields.forEach((function(e){"time"===e.name?t.columns.push({text:"Time",type:r.FieldType.time}):"value"===e.name&&e.labels&&Object.keys(e.labels).forEach((function(e){t.columns.push({text:e})}))})),"metricFindQuery"===e[0].refId&&e.forEach((function(e){e.name&&t.columns.push({text:e.name})}));for(var o=0;o0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o+=" AND "+new xe({},this.templateSrv,a).renderAdhocFilters(p));return a.timeFilter={value:o},l=this.templateSrv.replace(l,a),this._seriesQuery(l,e).pipe(Object(ir.a)((function(o){if(!o||!o.results)return{data:[]};var a=[];for(t=0;t0)throw{message:"RUM Error: "+i[0].error,data:r}}}return r})),Object(Wr.a)((function(e){return e.cancelled?Object(rr.of)(e):Object(rr.throwError)(t.handleErrors(e))})))})))},t.prototype.handleErrors=function(e){var t,n={message:(null==e?void 0:e.status)||(null==e?void 0:e.message)||"Unknown error during query transaction. Please check JS console logs."};return(Number.isInteger(e.status)&&0!==e.status||e.status>=300)&&((null===(t=e.data)||void 0===t?void 0:t.error)?(n.message="RUM Error: "+e.data.error,n.data=e.data,n.config=e.config):(n.message="Network Error: "+e.statusText+"("+e.status+")",n.data=e.data,n.config=e.config)),n},t.prototype.getTimeFilter=function(e){return"time >= "+this.getRUMTime(e.rangeRaw.from,!1,e.timezone)+" and time <= "+this.getRUMTime(e.rangeRaw.to,!0,e.timezone)},t.prototype.getRUMTime=function(e,t,n){if(Object(c.isString)(e)){if("now"===e)return"now()";var i=/^now-(\d+)([dhms])$/.exec(e);if(i)return"now() - "+parseInt(i[1],10)+i[2];e=r.dateMath.parse(e,t,n)}return e.valueOf()+"ms"},t.prototype.fixTimePeriod=function(e,t){var n,r=this,i=this.getTimePeriod(t.rangeRaw,t.timezone);return null===(n=e.groupBy)||void 0===n||n.forEach((function(t){"time"===t.type&&"1d"!==t.params[0]&&(e=r.modifyTime(e,i))})),e},t.prototype.getTimePeriod=function(e,t){var n,i,o=null===(n=r.dateMath.parse(e.from,!1,t))||void 0===n?void 0:n.valueOf(),a=null===(i=r.dateMath.parse(e.to,!0,t))||void 0===i?void 0:i.valueOf(),c=0;return o&&a&&(c=a-o),c<=432e5?"1m":c<=2592e5?"30m":c<=6048e5?"1h":"1d"},t.prototype.modifyTime=function(e,t){var n;if(!e.groupBy)return e;for(var r=0,i=e.groupBy;r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(d.b)}])})); +define("TencentCloudMonitorGrafanaApp",["lodash","react","app/core/core_module","@grafana/data","@grafana/ui","@grafana/runtime","emotion","moment","rxjs","app/core/utils/kbn","app/core/table_model","angular","app/plugins/sdk","react-dom"],(function(e,t,n,r,i,o,a,c,s,u,l,p,f,d){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=239)}([function(t,n){t.exports=e},function(e,t,n){"use strict";var r={language:"语言",enable_intranet_API_mode:"开启内网API模式",cloud_database:"云数据库",cloud_load_balancer:"负载均衡",virtual_private_cloud:"私有网络",content_delivery_network:"内容分发网络",message_queue:"消息队列",direct_connect:"专线接入",cloud_physical_machine:"黑石物理服务器",elastic_mapReduce:"弹性 MapReduce",edge_computing_machine:"边缘计算机器",RUM:"前端性能监控(RUM)",APM:"应用性能监控(APM)",CLS:"日志服务(CLS)",CVM:"云服务器(CVM)",CDB:"云数据库 MySQL(CDB)",CMONGO:"云数据库 MongoDB(CMONGO)",POSTGRES:"云数据库 PostgreSQL(POSTGRES)",REDIS:"云数据库 Redis(REDIS)",REDIS_MEM:"云数据库 Redis内存版(5s)(REDIS_MEM)",SQLSERVER:"云数据库 SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"云数据库 TcaplusDB(TCAPLUS)",TDMYSQL:"分布式数据库 TDSQL MySQL(TDMYSQL)",PCX:"私有网络-对等连接(PCX)",BWP:"私有网络-带宽包(BWP)",NAT_GATEWAY:"私有网络-NAT 网关(NAT_GATEWAY)",VPNGW:"私有网络-VPN 网关(VPNGW)",VPNX:"私有网络-VPN 通道(VPNX)",DCG:"私有网络-专线网关(DCG)",CEIP_SUMMARY:"私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)",VPC_NET_DETECT:"私有网络-网络探测(VPC_NET_DETECT)",VBC:"私有网络-云联网(VBC)",LB:"私有网络-弹性公网IP(LB)",LB_PUBLIC:"公网负载均衡监控指标(LB_PUBLIC)",LB_PRIVATE:"内网负载均衡四层协议监控指标(LB_PRIVATE)",LOADBALANCE:"内网负载均衡七层协议监控指标(LOADBALANCE)",CDN:"国内域名(CDN)",CDN_LOG_DATA:"省份域名(CDN_LOG_DATA)",OV_CDN:"国外域名(OV_CDN)",SCF_V2:"云函数(SCF)",CFS:"文件存储(CFS)",COS:"对象存储(COS)",CKAFKA:"消息队列 CKafka(CKAFKA)",CMQ:"消息队列-队列服务监控(CMQ)",CMQTOPIC:"消息队列-主题订阅监控(CMQTOPIC)",TDMQ:"消息队列 Pulsar 版(TDMQ)",TDMQ_ROCKETMQ:"消息队列 RocketMQ 版(ROCKETMQ)",TDMQ_RABBITMQ:"消息队列 RabbitMQ 版(RABBITMQ)",DCX:"专线接入-专用通道(DCX)",DC:"专线接入-物理专线(DC)",CPM:"黑石物理服务器(CPM)",BM_PCX:"黑石对等连接(BM_PCX)",BM_LB:"黑石外网负载均衡(BM_LB)",BM_INTRA_LB:"黑石内网负载均衡(BM_INTRA_LB)",CES:"Elasticsearch指标(CES)",BLOCK_STORAGE:"云硬盘(BLOCK_STORAGE)",APIGATEWAY:"API 网关(APIGATEWAY)",QAAP:"全球应用加速(GAAP)",ECM:"边缘计算和网络监控(ECM)",ECM_BLOCK_STORAGE:"边缘计算存储监控(ECM_BLOCK_STORAGE)",ECM_LB:"边缘计算负载均衡(ECM_LB)",GSE:"游戏服务器伸缩(GSE)",TKE:"容器服务(TKE)",ECDN:"全站加速网络(ECDN)",WAF:"Web 应用防火墙(WAF)",multi_scene:"多场景版",lite:"精简版",cloud_monitor:"云监控",cloud_log_service:"日志服务",real_user_monitoring:"前端性能监控",apm_monitoring:"应用性能监控",region:"地域",log_topic:"日志主题",syntax_rule:"语法规则",max_result_num:"最大结果条数",search_statement:"检索语句",time_unit:"Time unit",seconds:"seconds",search_description:"按照具体的查询条件搜索实例,默认拉取前 20 条实例","ap-guangzhou":"华南地区(广州)","ap-shenzhen-fsi":"华南地区(深圳金融)","ap-guangzhou-open":"华南地区(广州OPEN)","ap-shenzhen":"华南地区(深圳)","ap-qingyuan":"华南地区(清远)","ap-shanghai":"华东地区(上海)","ap-shanghai-fsi":"华东地区(上海金融)","ap-jinan-ec":"华东地区(济南)","ap-hangzhou-ec":"华东地区(杭州)","ap-nanjing":"华东地区(南京)","ap-fuzhou-ec":"华东地区(福州)","ap-hefei-ec":"华东地区(合肥)","ap-beijing":"华北地区(北京)","ap-tianjin":"华北地区(天津)","ap-beijing-fsi":"华北地区(北京金融)","ap-shijiazhuang-ec":"华北地区(石家庄)","ap-wuhan-ec":"华中地区(武汉)","ap-changsha-ec":"华中地区(长沙)","ap-zhengzhou-ec":"华中地区(郑州)","ap-chengdu":"西南地区(成都)","ap-chongqing":"西南地区(重庆)","ap-xian-ec":"西北地区(西安)","ap-shenyang-ec":"东北地区(沈阳)","ap-taipei":"港澳台地区(中国台北)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-tokyo":"亚太东北(东京)","ap-singapore":"亚太东南(新加坡)","ap-bangkok":"亚太东南(曼谷)","ap-jakarta":"亚太东南(雅加达)","na-siliconvalley":"美国西部(硅谷)","eu-frankfurt":"欧洲地区(法兰克福)","eu-moscow":"欧洲地区(莫斯科)","ap-mumbai":"亚太南部(孟买)","na-ashburn":"美国东部(弗吉尼亚)","sa-saopaulo":"南美地区(圣保罗)","na-toronto":"北美地区(多伦多)"},i={language:"Language",enable_intranet_API_mode:"Enable Intranet API Mode",cloud_database:"Cloud Database",cloud_load_balancer:"Cloud Load Balancer",virtual_private_cloud:"Virtual Private Cloud",content_delivery_network:"Content Delivery Network",message_queue:"Message Queue",direct_connect:"Direct Connect",cloud_physical_machine:"Cloud Physical Machine",elastic_mapReduce:"Elastic MapReduce",edge_computing_machine:"Edge Computing Machine",RUM:"Real User Monitoring(RUM)",CLS:"Cloud Log Service(CLS)",CVM:"Cloud Virtual Machine(CVM)",CDB:"TencentDB for MySQL(CDB)",CMONGO:"TencentDB for MongoDB(CMONGO)",POSTGRES:"TencentDB for PostgreSQL(POSTGRES)",REDIS:"TencentDB for Redis(REDIS)",REDIS_MEM:"TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)",SQLSERVER:"TencentDB for SQL Server(SQLSERVER)",CYNOSDB_MYSQL:"TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)",TCAPLUS:"TencentDB for TcaplusDB(TCAPLUS)",TDMYSQL:"TDSQL for MySQL(TDMYSQL)",PCX:"Peering Connection(PCX)",BWP:"Bandwidth Packet(BWP)",NAT_GATEWAY:"NAT Gateway(NAT_GATEWAY)",VPNGW:"VPN Gateway(VPNGW)",VPNX:"VPN Tunnel(VPNX)",DCG:"Direct Connect Gateway(DCG)",CEIP_SUMMARY:"Anycast EIP(CEIP_SUMMARY)",VPC_NET_DETECT:"Network Detection(VPC_NET_DETECT)",VBC:"Cloud Connect Network(VBC)",LB:"Elastic IP(LB)",LB_PUBLIC:"Public Network CLB(LB_PUBLIC)",LB_PRIVATE:"Private Network CLB Layer-4 Protocol(LB_PRIVATE)",LOADBALANCE:"Private Network CLB Layer-7 Protocol(LOADBALANCE)",CDN:"Chinese Mainland Domain(CDN)",CDN_LOG_DATA:"Province(CDN_LOG_DATA)",OV_CDN:"Overseas Domain(OV_CDN)",SCF_V2:"Serverless Cloud Function(SCF)",CFS:"Cloud File Storage(CFS)",COS:"Cloud Object Storage(COS)",CKAFKA:"Message Queue CKafka(CKAFKA)",CMQ:"Message Queue for Queue Service(CMQ)",CMQTOPIC:"Message Queue for Topic Subscription(CMQTOPIC)",TDMQ:"Tencent Distributed Message Queue for Pulsar(TDMQ)",TDMQ_ROCKETMQ:"Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)",TDMQ_RABBITMQ:"Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)",DCX:"Direct Connect for Dedicated Tunnel(DCX)",DC:"Direct Connect for Connection(DC)",CPM:"Cloud Physical Machine(CPM)",BM_PCX:"Cloud Physical Machine for Peering Connection(BM_PCX)",BM_LB:"Cloud Physical Machine for Public Network CLB(BM_LB)",BM_INTRA_LB:"Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)",CES:"Elasticsearch Service(CES)",BLOCK_STORAGE:"Cloud Block Storage(BLOCK_STORAGE)",APIGATEWAY:"API Gateway(APIGATEWAY)",QAAP:"Global Application Acceleration Platform(GAAP)",ECM:"Edge Computing Machine for Computation and Networking(ECM)",ECM_BLOCK_STORAGE:"Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)",ECM_LB:"Edge Computing Machine for Layer-4 CLB(ECM_LB)",GSE:"Game Server Elastic-scaling(GSE)",TKE:"Tencent Kubernetes Engine(TKE)",ECDN:"Enterprise Content Delivery Network(ECDN)",WAF:"Web Application Firewall(WAF)",multi_scene:"Multi-Scene",lite:"Lite",cloud_monitor:"Cloud Monitor",cloud_log_service:"Cloud Log Service",real_user_monitoring:"Real User Monitoring",apm_monitoring:"Application Monitoring",region:"Region",log_topic:"Log Topic",syntax_rule:"Syntax Rule",max_result_num:"Maximum result number",search_statement:"Search Statement",time_unit:"Time unit",seconds:"seconds",search_description:"Search for instances according to specific query conditions, and pull the first 20 instances by default","ap-guangzhou":"South China(Guangzhou)","ap-shenzhen-fsi":"South China(Shenzhen Finance)","ap-guangzhou-open":"South China(Guangzhou OPEN)","ap-shenzhen":"South China(Shenzhen)","ap-qingyuan":"South China(Qingyuan)","ap-shanghai":"East China(Shanghai)","ap-shanghai-fsi":"East China(Shanghai Finance)","ap-jinan-ec":"East China(Jinan)","ap-hangzhou-ec":"East China(Hangzhou)","ap-nanjing":"East China(Nanjing)","ap-fuzhou-ec":"East China(Fuzhou)","ap-hefei-ec":"East China(Hefei)","ap-beijing":"North China region(Beijing)","ap-tianjin":"North China region(Tianjin)","ap-beijing-fsi":"North China region(Beijing Finance)","ap-shijiazhuang-ec":"North China region(Shijiazhuang)","ap-wuhan-ec":"Central China(Wuhan)","ap-changsha-ec":"Central China(Changsha)","ap-zhengzhou-ec":"Central China(Zhengzhou)","ap-chengdu":"Southwest China(Chengdu)","ap-chongqing":"Southwest China(Chongqing)","ap-xian-ec":"Northwest region(Xi'an)","ap-shenyang-ec":"Northeast China(Shenyang)","ap-taipei":"Hong Kong, Macau and Taiwan (China)(Taipei, China)","ap-hongkong":"Hong Kong, Macau and Taiwan (China)(Hong Kong, China)","ap-seoul":"Northeast Asia(Seoul)","ap-tokyo":"Northeast Asia(Tokyo)","ap-singapore":"Southeast Asia(Singapore)","ap-bangkok":"Southeast Asia(Bangkok)","ap-jakarta":"Southeast Asia(Jakarta)","na-siliconvalley":"US West(Silicon Valley)","eu-frankfurt":"Europe(Frankfurt)","eu-moscow":"Europe(Northeastern Europe)","ap-mumbai":"South Asia(Mumbai)","na-ashburn":"US East(Virginia)","sa-saopaulo":"South America(São Paulo)","na-toronto":"North America(Toronto)"};n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return u}));var o,a="zh-CN";!function(e){e.Chinese="zh-CN",e.English="en-US"}(o||(o={}));var c=function(e){return a===o.Chinese?r[e]:i[e]},s=function(e){a=e},u=function(){return a}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=n(197),a=n.n(o),c=n(20),s=n(69),u=n.n(s),l=function(){return(l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&-1===t._InstanceAliasValue.indexOf(r[o].timeshift)&&(t._InstanceAliasValue+="_".concat(r[o].timeshift)),t[e]=f.getDimensionsVal(t,p,h),f.checkKeys.length>0&&f.checkKeys.forEach((function(n){t[n]=t[e]})),n[e]={Name:e,Value:t[e]},[2]}}))},f=this,m=0,h=e,v.label=1;case 1:return m0){var r=i.a.cloneDeep(t);return r[n].timeshift="",m(m([],e,!0),[r,t],!1)}return m(m([],e,!0),[t],!1)}),[]).map((function(r){return f(t,void 0,void 0,(function(){var t,o,l,p,f,m,h,g,y,v,b,I,w=this;return d(this,(function(d){switch(d.label){case 0:return t=Object(c.j)(this.templateSrv,e.scopedVars,r[n].instance,!0),[4,s.a.getInstance(this.service)];case 1:o=d.sent(),l=Object(u.c)(r[n].timeshift),t=[].concat(t).map((function(e){var t,n;try{return JSON.parse(e)}catch(r){return o?null!==(n=i.a.cloneDeep(o.find((function(t){return t[w.templateQueryIdMap.instance]===e}))))&&void 0!==n?n:{}:null===(t=w.getDefaultInsObj)||void 0===t?void 0:t.call(w,e)}})),p=Object(c.j)(this.templateSrv,e.scopedVars,r[n].region,!1),f=[],m=0,h=t,d.label=2;case 2:return m=y)return(null==d?void 0:d.response)?d.response(r):r;var v=Object(c.k)(y,(null==o?void 0:o.Limit)||100),b=[];return i.a.forEach(v,(function(r){b.push(n.getInstances(e,p(p({},r),t)))})),Promise.all(b).then((function(e){return i.a.forEach(e,(function(e){r=i.a.concat(r,e)})),(null==d?void 0:d.response)?d.response(r):r})).catch((function(e){return(null==d?void 0:d.response)?d.response(r):r}))}))},e.prototype.isValidConfigField=function(e){return e&&e.length>0},e.prototype.testDatasource=function(){var e=this;return this.isValidConfigField(this.secretId)?Promise.all([this.getRegions(),this.getMetrics(),this.getInstances("ap-guangzhou",{Offset:0,Limit:1})]).then((function(t){var n=i.a.get(t,"[0].Error",{}),r=i.a.get(t,"[1].Error",{}),o=i.a.get(t,"[2].Error",{}),a=i.a.get(n,"Code",""),c=i.a.get(r,"Code",""),s=i.a.get(o,"Code","");if(a||c||s){var u=[];a&&u.push(i.a.get(n,"Code")),c&&u.push(i.a.get(r,"Code")),s&&u.push(i.a.get(o,"Code"));var l=i.a.join(i.a.compact(i.a.uniq(u)),"; ");return{service:e.service,status:"error",message:l}}return{namespace:e.namespace,service:e.service,status:"success",message:"Successfully queried the ".concat(e.service," service."),title:"Success"}})).catch((function(t){var n="".concat(e.service," service:");return n+=t.statusText?t.statusText+"; ":"",i.a.get(t,"data.error.code","")?n+=t.data.error.code+". "+t.data.error.message:i.a.get(t,"data.error","")?n+=t.data.error:i.a.get(t,"data","")?n+=t.data:n+="Cannot connect to ".concat(e.service," service."),{service:e.service,status:"error",message:n}})):{service:this.service,status:"error",message:"The SecretId/SecretKey field is required."}},e.prototype.doRequest=function(e,t,n){return void 0===n&&(n={}),f(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,Object(c.c)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return i.a.get(e,"data.Response",{})})).catch((function(e){throw e}))]}}))}))},e}()},function(e,n){e.exports=t},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"b",(function(){return f})),n.d(t,"f",(function(){return d})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return h}));var r=n(0),i=n.n(r),o=n(20),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t?r.push({Name:o,Values:i.a.uniq(e).slice(0,5)}):n[o]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t?r.push({Name:o,Values:i.a.get(e,"value",[]).slice(0,5)}):n[o]=i.a.get(e,"value")):null!=e&&""!==e&&(t?r.push({Name:o,Values:e}):n[o]=e)})),t&&r.length>0)return n.Filters=r,n}return n}function f(e){return i.a.get(i.a.find(o.SERVICES,(function(t){return t.service===e})),"namespace")}function d(e){return e.reduce((function(e,t){var n=t.namespace,r=t.label,i=t.groupName,o=void 0===i?r:i,a=e.find((function(e){return e.label===o}));return a?(a.items.push({label:r,value:n}),e):(e.push({label:o,value:o,items:[{label:r,value:n}]}),e)}),[]).map((function(e){return 1===e.items.length?{label:e.items[0].label,value:e.items[0].value}:e}))}var m=function(e,t,n){try{var r=JSON.parse(e),i=JSON.parse(t);return r[n]===i[n]}catch(n){return e===t}},h=function(e){var t=/^(\d+)([d|h|m|s])$/.exec(e);if(!t)return 0;var n=parseInt(t[1],10);switch(t[2]){case"d":return 86400*n*1e3;case"h":return 3600*n*1e3;case"m":return 60*n*1e3;case"s":return 1e3*n}return 0}},function(e,t){e.exports=n},function(e,t,n){"use strict";n.r(t);var r=n(6),i=n.n(r),o=n(2);t.default=function(e,t){var n,r,a=(n=t,function(){function e(e,t){Object.assign(e,n),e.getDropdown=function(t){var n=Object(o.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t,region:e.region})}}return e.$inject=["$scope","$rootScope"],e}());i.a.directive(e,(r=a,function(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n',controller:r,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}))}},function(e,t){e.exports=r},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["InstanceId","InstanceName"],u=["TopicId","TopicName"],l={instance:"InstanceId",topicId:"TopicId",groupName:"GroupName",partition:"PartitionId"},p=new Proxy({topicId:"TopicId",topicName:"TopicName",consumerGroup:"GroupName",partition:"PartitionId"},{get:function(e,t){return"instanceid"===String(t).toLocaleLowerCase()?"InstanceId":e[t]}}),f={TopicList:"TopicList",GroupList:"GroupList",PartitionList:"PartitionList"},d={TopicId:{dim_KeyInStorage:f.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},TopicName:{dim_KeyInStorage:f.TopicList,dim_KeyInTarget:"topicId",dim_KeyInMap:l.topicId},GroupName:{dim_KeyInStorage:f.GroupList,dim_KeyInTarget:"consumerGroup",dim_KeyInMap:l.groupName},PartitionId:{dim_KeyInStorage:f.PartitionList,dim_KeyInTarget:"partition",dim_KeyInMap:l.partition}};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"LOADBALANCEFieldsDescriptor",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return l})),n.d(t,"LOADBALANCEListenerAliasList",(function(){return p})),n.d(t,"LOADBALANCEServerAliasList",(function(){return f})),n.d(t,"LOADBALANCEVALIDDIMENSIONS",(function(){return d})),n.d(t,"templateQueryIdMap",(function(){return h})),n.d(t,"CANDIATEDIMENSIONS",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"queryEditorConfig",(function(){return c})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(5),i="QCE/LOADBALANCE",o="loadBalanceQuery",a=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],c={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:i,fieldDescriptor:a},s={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",servers:"",serverPort:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function u(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var l=["LoadBalancerId","LoadBalancerName","LoadBalancerVips"],p=["ListenerId","ListenerName","Port"],f=["PrivateIpAddresses","InstanceId"],d={vip:"LoadBalancerVips",loadBalancerPort:"Port",protocol:"Protocol",lanIp:"PrivateIpAddresses",port:"ServerPort"},m={LoadBalancerVips:"AddressIPv6"},h={instance:"LoadBalancerId",listener:"ListenerId",servers:"PrivateIpAddresses",port:"Port"},g={listener:"ListenerList",servers:"ServersList"},y={Port:{dim_KeyInStorage:g.listener,dim_KeyInTarget:"listener",dim_KeyInMap:h.listener},Protocol:{dim_KeyInStorage:g.listener,dim_KeyInTarget:"listener",dim_KeyInMap:h.listener},PrivateIpAddresses:{dim_KeyInStorage:g.servers,dim_KeyInTarget:"servers",dim_KeyInMap:h.servers},ServerPort:{dim_KeyInStorage:g.servers,dim_KeyInTarget:"serverPort",dim_KeyInIns:"Port",dim_KeyInMap:h.port}};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"TDMQInstanceAliasList",(function(){return u})),n.d(t,"TDMQInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"regionSupported",(function(){return m})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return d}));var r=n(5),i=n(0),o=n.n(i),a="QCE/TDMQ",c="tdmqQuery",s={tenantId:"ClusterId",tenant:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},u=["ClusterId","ClusterName"],l={instance:"ClusterId",topicName:"TopicName",environmentId:"EnvironmentId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",topicName:"",environmentId:"",queries:{Limit:20,Offset:0}};function d(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var m=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){-1!==e.Dimensions.indexOf("topicName")&&-1===e.Dimensions.indexOf("environmentId")&&e.Dimensions.push("environmentId")})),t}var g={topicName:"topicName",environmentId:"environmentId"},y={TopicName:{dim_KeyInStorage:g.topicName,dim_KeyInTarget:"topicName",dim_KeyInMap:l.topicName},EnvironmentId:{dim_KeyInStorage:g.environmentId,dim_KeyInTarget:"environmentId",dim_KeyInMap:l.environmentId}};t.default=f},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return s}));var r,i=n(1),o=n(202);!function(e){e.monitor="monitor",e.logService="logService",e.RUMService="RUMService",e.APMService="APMService"}(r||(r={}));var a=[{value:r.monitor,get label(){return Object(i.d)("cloud_monitor")}},{value:r.logService,get label(){return Object(i.d)("cloud_log_service")}},{value:r.RUMService,get label(){return Object(i.d)("real_user_monitoring")}},{value:r.APMService,get label(){return Object(i.d)("apm_monitoring")}}],c={serviceType:r.logService,logServiceParams:{region:"",TopicId:"",Query:"",SyntaxRule:o.a.CQL},RUMServiceParams:{policy:"default",resultFormat:"time_series",orderByTime:"ASC",tags:[],groupBy:[{type:"time",params:["$__interval"]},{type:"fill",params:["null"]}],select:[[{type:"field",params:["value"]},{type:"mean",params:[]}]]},APMServiceParams:{policy:"default",resultFormat:"time_series",orderType:"time",orderBy:"ASC",tags:[],groupBy:[{type:"time",params:["$__interval"]},{type:"fill",params:["null"]}],select:[[{type:"field",params:["value"]},{type:"mean",params:[]}]]}},s={refId:"",hide:!1,key:"",queryType:"",dataTopic:null,datasource:"",serviceType:c.serviceType,logServiceParams:c.logServiceParams,RUMServiceParams:c.RUMServiceParams,APMServiceParams:c.APMServiceParams}},function(e,t,n){"use strict";n.r(t),n.d(t,"GSEFilterFieldsDescriptor",(function(){return m})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"GSEInstanceAliasList",(function(){return l})),n.d(t,"GSEInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return h})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"modifyDimensons",(function(){return b})),n.d(t,"queryMonitorExtraConfg",(function(){return d})),n.d(t,"fleetId",(function(){return c})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"GSEGetInstanceQueryParams",(function(){return y}));var r=n(5),i=n(0),o=n.n(i),a="QCE/GSE",c="FleetId",s="gseQuery",u={instanceid:"InstanceId",fleetid:"FleetId",queuename:"Name"},l=["InstanceId","PrivateIpAddress","IpAddress"],p={instance:"InstanceId",Name:"Name",FleetId:c},f={fleet:"fleet",queue:"queueName"},d={FleetId:{dim_KeyInStorage:f.fleet,dim_KeyInTarget:"FleetId",dim_KeyInMap:p.FleetId},Name:{dim_KeyInStorage:f.queue,dim_KeyInTarget:"Name",dim_KeyInMap:p.Name}},m=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceId",enDescriptor:"resourceName",cnDescriptor:"资源名称",link:"",type:"input"},{key:"FleetId",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"input"}],h={instanceDocUrl:"https://cloud.tencent.com/document/api/1165/42604",namespace:a,fieldDescriptor:m},g={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",FleetId:"",Name:"",queries:{Limit:20,Offset:0,InstanceId:"",FleetId:""}};function y(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var v=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-ashburn"},{value:"na-siliconvalley"}];function b(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return u[e]||e}))})),t}t.default=g},function(e,t,n){"use strict";n.r(t),n.d(t,"DCDBFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"DCDBInstanceAliasList",(function(){return s})),n.d(t,"DCDBInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regionSupported",(function(){return v})),n.d(t,"keyInStorage",(function(){return g})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"queryMonitorExtraConfg",(function(){return y})),n.d(t,"DCDBGetInstanceQueryParams",(function(){return h}));var r=n(0),i=n(5),o="QCE/TDMYSQL",a="dcdbQuery",c={nodeid:"NodeId",instanceid:"InstanceId",shardid:"ShardInstanceId",ShardId:"ShardInstanceId"},s=["InstanceId","InstanceName"],u={instance:"InstanceId",NodeId:"NodeId",ShardInstanceId:"ShardInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例 ID 查询",link:"",type:"inputMulti"},{key:"SearchName",enDescriptor:"SearchName",cnDescriptor:"搜索的字段名,当前支持的值有:instancename、vip、all",link:"",type:"input"},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"搜索的关键字",link:"",type:"input"},{key:"ProjectIds",enDescriptor:"ProjectIds",cnDescriptor:"按项目 ID 查询",link:"",type:"inputNumberMulti"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络 ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"私有网络的子网 ID",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"projectId",value:"projectId"},{text:"createtime",value:"createtime"},{text:"instancename",value:"instancename"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"私有网络 ID",link:"",type:"select",list:[{text:"desc",value:"desc"},{text:"asc",value:"asc"}]},{key:"ExclusterType",enDescriptor:"ExclusterType",cnDescriptor:"集群类型",link:"",type:"select",list:[{text:"非独享集群",value:1},{text:"独享集群",value:2},{text:"全部",value:0},{text:"asc",value:"asc"}]},{key:"ExclusterIds",enDescriptor:"ExclusterIds",cnDescriptor:"独享集群ID",link:"",type:"inputMulti"},{key:"FilterInstanceType",enDescriptor:"FilterInstanceType",cnDescriptor:"实例类型过滤",link:"",type:"select",multiple:!0,list:[{text:"独享实例",value:1},{text:"主实例",value:2},{text:"灾备实例",value:3}]}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/557/16140",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",ShardId:"",NodeId:"",queries:{Limit:20,Offset:0,InstanceIds:[],SearchName:"",SearchKey:"",ProjectIds:[],VpcId:"",SubnetId:"",OrderBy:{},OrderByType:{},ExclusterType:{},ExclusterIds:[],FilterInstanceType:{}}},d={shardid:"ShardId",instanceid:"InstanceId",nodeid:"NodeId"};function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return d[e]||e}))})),t}function h(e){void 0===e&&(e={});var t=Object(i.d)(e,!1);return t.IsFilterVpc=!1,t.IsFilterExcluster=!1,(t.VpcId||t.SubnetId)&&(t.IsFilterVpc=!0),t.ExclusterType&&(t.IsFilterExcluster=!0),Object(r.isArray)(t.FilterInstanceType)&&(t.FilterInstanceType=t.FilterInstanceType.join(",")),t}var g={NodeId:"NodeId",ShardInstanceId:"ShardId"},y={NodeId:{dim_KeyInStorage:g.NodeId,dim_KeyInTarget:"NodeId",dim_KeyInMap:u.NodeId},ShardInstanceId:{dim_KeyInStorage:g.ShardInstanceId,dim_KeyInTarget:"ShardId",dim_KeyInMap:u.ShardInstanceId}},v=[{text:"华北地区(北京)",value:"ap-beijing"},{text:"西南地区(成都)",value:"ap-chengdu"},{text:"西南地区(重庆)",value:"ap-chongqing"},{text:"华南地区(广州)",value:"ap-guangzhou"},{text:"港澳台地区(中国香港)",value:"ap-hongkong"},{text:"亚太南部(孟买)",value:"ap-mumbai"},{text:"华东地区(南京)",value:"ap-nanjing"},{text:"华东地区(上海)",value:"ap-shanghai"},{text:"华东地区(上海金融)",value:"ap-shanghai-fsi"},{text:"华南地区(深圳金融)",value:"ap-shenzhen-fsi"},{text:"亚太东南(新加坡)",value:"ap-singapore"},{text:"亚太东北(东京)",value:"ap-tokyo"},{text:"欧洲地区(法兰克福)",value:"eu-frankfurt"},{text:"美国东部(弗吉尼亚)",value:"na-ashburn"},{text:"美国西部(硅谷)",value:"na-siliconvalley"},{text:"北美地区(多伦多)",value:"na-toronto"}];t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemFieldsDescriptor",(function(){return c})),n.d(t,"RedisMemInvalidDemensions",(function(){return p})),n.d(t,"REDISMEMInstanceAliasList",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"namespace",(function(){return a})),n.d(t,"NodeType",(function(){return d})),n.d(t,"REDISMEMGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var l=["InstanceId","InstanceName","WanIp"],p={instanceid:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},f={instance:"InstanceId",rnodeid:"rnodeid",pnodeid:"pnodeid"},d=["Redis","Proxy"];t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQRABBITMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"TDMQGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/RABBITMQ",o="tdmqQuery",a={instanceid:"InstanceId",node:"NodeName"},c=["InstanceId","InstanceName"],s={instance:"InstanceId",node:"NodeName"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",node:"",queries:{Limit:20,Offset:0}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={node:"NodeName"},m={NodeName:{dim_KeyInStorage:d.node,dim_KeyInTarget:"node",dim_KeyInMap:s.node}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"TDMQFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"TDMQROCKETMQInstanceAliasList",(function(){return c})),n.d(t,"TDMQInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryMonitorExtraConfg",(function(){return m})),n.d(t,"keyInStorage",(function(){return d})),n.d(t,"regionSupported",(function(){return f})),n.d(t,"TDMQROCKETMQGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o="QCE/ROCKETMQ",a={tenant:"ClusterId",namespace:"NamespaceId",group:"Name"},c=["ClusterId","ClusterName"],s={instance:"ClusterId",namespace:"NamespaceId",group:"Name"},u=[{key:"includeVip",enDescriptor:"includeVip",cnDescriptor:"包含专享集群",link:"",type:"select",list:[{text:"是",value:"true"},{text:"否",value:"false"}]}],l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",namespace:"",group:"",queries:{Limit:20,Offset:0,instanceIdsChecked:!1,filtersChecked:!0,ClusterIdList:[""],Filters:{includeVip:{text:"是",value:"true"}}}};function p(e){void 0===e&&(e={});var t={};if(!i.a.isEmpty(e))if(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(i.a.isArray(e.ClusterIdList)){var n=i.a.compact(e.ClusterIdList);i.a.uniq(n).length>0&&(t.ClusterIdList=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:[i.a.get(e,"value",[])].slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var f=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-shenzhen-fsi"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-nanjing"},{value:"ap-hongkong"},{value:"ap-tokyo"},{value:"ap-seoul"},{value:"ap-singapore"},{value:"ap-bangkok"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],d={namespace:"NamespaceId",group:"Name"},m={NamespaceId:{dim_KeyInStorage:d.namespace,dim_KeyInTarget:"namespace",dim_KeyInMap:s.namespace},Name:{dim_KeyInStorage:d.group,dim_KeyInTarget:"group",dim_KeyInMap:s.group}};t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"InitServiceState",(function(){return c})),n.d(t,"SERVICES",(function(){return o})),n.d(t,"Datasources",(function(){return a})),n.d(t,"InstanceAliasList",(function(){return s})),n.d(t,"GetInstanceQueryParams",(function(){return u}));var r=n(1),i=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c=new Proxy({},{get:function(e,t,n){if("string"==typeof t){if(t.startsWith("id4"))return"ClusterId";if(t.startsWith("host4"))return"Ip"}return Reflect.get(e,t,n)},has:function(e,t){return!0}}),s={instance:"ClusterId",node:"Ip"},u={node:"nodeIP"},l={Ip:{dim_KeyInStorage:u.node,dim_KeyInTarget:"nodeIP",dim_KeyInMap:s.node}},p=["ClusterId","ClusterName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ClusterId",nodeIP:"",queries:{Offset:0,Limit:10,DisplayStrategy:"",OrderBy:{},Order:{},InstanceIds:[],ProjectId:-1,OrderField:"",Asc:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"VCLBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"VCLBInstanceAliasList",(function(){return u})),n.d(t,"VCLBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"clbNamespaceMap",(function(){return g})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"regionSupported",(function(){return h})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/V_CLB",c="vClbQuery",s={InstanceId:"LoadBalancerId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1",link:"",type:"inputNumber",min:1},{key:"LoadBalancerIds",enDescriptor:"LoadBalancer ID",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancer Name",cnDescriptor:"实例名称",link:"",type:"input"},{key:"Forward",enDescriptor:"Forward",cnDescriptor:"负载均衡实例类型",link:"",type:"select",list:[{text:"通用的负载均衡",value:1},{text:"传统的负载均衡",value:0}]},{key:"Domain",enDescriptor:"Domain",cnDescriptor:"域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义",link:"",type:"input"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancer Vips",cnDescriptor:"负载均衡实例的 VIP 地址",link:"",type:"inputMulti"},{key:"BackendPrivateIps",enDescriptor:"BackendPrivate Ips",cnDescriptor:"负载均衡绑定的后端服务的内网 IP",link:"",type:"inputMulti"},{key:"BackendPublicIps",enDescriptor:"BackendPublic Ips",cnDescriptor:"负载均衡绑定的后端服务的外网 IP",link:"",type:"inputMulti"},{key:"ProjectId",enDescriptor:"Project ID",cnDescriptor:"负载均衡实例所属的项目 ID",link:"",type:"inputNumber"},{key:"VpcId",enDescriptor:"Vpc ID",cnDescriptor:"负载均衡实例所属私有网络",link:"",type:"input"},{key:"SecurityGroup",enDescriptor:"Security Group",cnDescriptor:"安全组ID",link:"",type:"input"},{key:"MasterZone",enDescriptor:"Master Zone",cnDescriptor:"主可用区ID",link:"",type:"input"},{key:"WithRs",enDescriptor:"WithRs",cnDescriptor:"负载均衡是否绑定后端服务",link:"",type:"select",list:[{text:"没有绑定后端服务",value:0},{text:"绑定后端服务",value:1},{text:"查询全部",value:-1}]},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"LoadBalancerName",value:"LoadBalancerName"},{text:"CreateTime",value:"CreateTime"},{text:"Domain",value:"Domain"},{text:"LoadBalancerType",value:"LoadBalancerType"}]},{key:"OrderType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/214/30685",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",Port:"",Protocol:"",listener:"",queries:{LoadBalancerIds:[],Forward:void 0,LoadBalancerName:"",Domain:"",LoadBalancerVips:[],BackendPublicIps:[],BackendPrivateIps:[],Limit:20,Offset:0,ProjectId:void 0,WithRs:{},VpcId:"",SecurityGroup:"",MasterZone:"",OrderBy:{},OrderType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var h=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}],g={public:"QCE/LB_PUBLIC",private:"QCE/LB_PRIVATE"};function y(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=d},function(e,t){e.exports=a},function(e,t,n){"use strict";n.r(t),n.d(t,"cynosdbMysqlFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"CYNOSDBMYSQLInstanceAliasList",(function(){return d})),n.d(t,"CYNOSDBInvalidDemensions",(function(){return h})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"regionSupported",(function(){return u})),n.d(t,"modifyDimensons",(function(){return y})),n.d(t,"checkKeys",(function(){return g})),n.d(t,"CYNOSDBMYSQLGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CYNOSDB_MYSQL",c="cynosdbMysqlQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:1e3},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"实例id列表",link:"",type:"inputMulti"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"创建时间",value:"CREATETIME"},{text:"过期时间",value:"PERIODENDTIME"}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序类型",link:"",type:"select",list:[{text:"升序",value:"ASC"},{text:"降序",value:"DESC"}]},{key:"DbType",enDescriptor:"DbType",cnDescriptor:"引擎类型",link:"",type:"select",list:[{text:"MYSQL",value:"MYSQL"},{text:"POSTGRESQL",value:"POSTGRESQL"}]}],u=[{value:"ap-beijing"},{value:"ap-guangzhou"},{value:"ap-nanjing"},{value:"ap-shanghai"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/1003/48334",namespace:a,fieldDescriptor:s},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,OrderBy:{},OrderByType:{},InstanceIds:[],DbType:{}}};function f(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var d=["InstanceId","InstanceName"],m={instance:"InstanceId"},h={instanceid:"InstanceId",instanceId:"InstanceId"},g=["instanceId"];function y(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryDescriptor",(function(){return o})),n.d(t,"SCFInstanceAliasList",(function(){return s})),n.d(t,"SCFInvalidDemensions",(function(){return u})),n.d(t,"queryMonitorExtraConfg",(function(){return d})),n.d(t,"regionSupported",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"keyInStorage",(function(){return f})),n.d(t,"SCFGetInstanceQueryParams",(function(){return c})),n.d(t,"SCFDefaultDimensionList",(function(){return m}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchKey",enDescriptor:"SearchKey",cnDescriptor:"支持FunctionName模糊匹配",link:"",type:"input"},{key:"Namespace",enDescriptor:"Namespace",cnDescriptor:"云函数命名空间",link:"",type:"input"},{key:"Description",enDescriptor:"Description",cnDescriptor:"函数描述,支持模糊搜索",link:"",type:"input"},{key:"OrderBy",enDescriptor:"OrderBy",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"AddTime",value:"AddTime"},{text:"ModTime",value:"ModTime"},{text:"FunctionName",value:"FunctionName"}]},{key:"Order",enDescriptor:"Order Direction",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"ASC",value:"ASC"},{text:"DESC",value:"DESC"}]}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FunctionName",version:"",queries:{Offset:0,Limit:20,OrderBy:{},Order:{},SearchKey:"",Namespace:"",Description:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FunctionId","FunctionName"],u={functionName:"FunctionName",namespace:"Namespace",version:"Version"},l={instance:"FunctionName",version:"Version"},p=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],f={version:"version"},d={Version:{dim_KeyInStorage:f.version,dim_KeyInTarget:"version",dim_KeyInMap:l.version}};t.default=a;var m=["functionName","namespace","version"]},function(e,t,n){"use strict";n.r(t),n.d(t,"CLSFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CLSInstanceAliasList",(function(){return u})),n.d(t,"CLSInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"regionSupported",(function(){return h})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"CLSGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CLS",c="clsQuery",s={},u=["TopicId","TopicName"],l={instance:"TopicId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"topicName",enDescriptor:"topicName",cnDescriptor:"日志主题名称",link:"",type:"inputMulti"},{key:"topicId",enDescriptor:"topicId",cnDescriptor:"日志主题ID",link:"",type:"inputMulti"},{key:"logsetName",enDescriptor:"logsetName",cnDescriptor:"日志集名称",link:"",type:"inputMulti"},{key:"logsetId",enDescriptor:"logsetId",cnDescriptor:"日志集ID",link:"",type:"inputMulti"},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"},{key:"tag:tagKey",enDescriptor:"tag - tagKey",cnDescriptor:"标签键值对",link:"",type:"inputMulti"},{key:"storageType",enDescriptor:"storageType",cnDescriptor:"日志主题的存储类型",link:"",type:"select",list:[{text:"实时存储",value:"hot"},{text:"离线存储",value:"cold"}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/614/56454",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicId",uin:"",queries:{Limit:20,Offset:0,topicName:[],topicId:[],logsetName:[],logsetId:[],tagKey:[],"tag:tagKey":[],storageType:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}var h=[{value:"ap-bangkok"},{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-jakarta"},{value:"ap-mumbai"},{value:"ap-seoul"},{value:"ap-nanjing"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"eu-moscow"},{value:"na-ashburn"},{value:"na-siliconvalley"},{value:"na-toronto"}];function g(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["uin","TopicId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"SQLSERVERNETFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"SQLSERVERInstanceAliasList",(function(){return u})),n.d(t,"SQLSERVERInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"regionSupported",(function(){return d})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"SQLSERVERGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/SQLSERVER",c="sqlserverQuery",s={resourceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputNumber"},{key:"Status",enDescriptor:"Status",cnDescriptor:"实例状态",link:"",type:"select",list:[{text:"申请中",value:1},{text:"运行中",value:2},{text:"受限运行中 (主备切换中)",value:3},{text:"已隔离",value:4},{text:"回收中",value:5},{text:"已回收",value:6},{text:"任务执行中",value:7},{text:"已下线",value:8},{text:"实例扩容中",value:9},{text:"实例迁移中",value:10},{text:"只读",value:11},{text:"重启中",value:12}]},{key:"InstanceIdSet",enDescriptor:"InstanceIdSet",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"PayMode",enDescriptor:"PayMode",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"包年包月",value:1},{text:"按量计费",value:0}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"实例所属VPC的唯一字符串ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"实例所属子网的唯一字符串ID",link:"",type:"input"},{key:"VipSet",enDescriptor:"VipSet",cnDescriptor:"实例内网地址列表",link:"",type:"inputMulti"},{key:"InstanceNameSet",enDescriptor:"InstanceNameSet",cnDescriptor:"实例名称列表, 模糊查询",link:"",type:"inputMulti"},{key:"VersionSet",enDescriptor:"VersionSet",cnDescriptor:"实例版本代号列表",link:"",type:"inputMulti"},{key:"Zone",enDescriptor:"Zone",cnDescriptor:"实例可用区",link:"",type:"dropdown"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/238/19969",namespace:a,fieldDescriptor:p},d=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-moscow"},{value:"na-siliconvalley"}],m={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:null,Status:{},InstanceIdSet:[],PayMode:{},VpcId:"",SubnetId:"",VipSet:[],InstanceNameSet:[],VersionSet:[],Zone:""}};function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["resourceId"]})),t}function g(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=m},function(e,t,n){"use strict";n.r(t),n.d(t,"BMINTRALBFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMINTRALBInstanceAliasList",(function(){return u})),n.d(t,"BMINTRALBInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"isValidMetric",(function(){return h})),n.d(t,"BMINTRALBGetInstanceQueryParams",(function(){return g}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_INTRA_LB",c="bmIntraLbQuery",s={vip:"LoadBalancerVips",vpcId:"VpcId"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}},m=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function h(e){var t=o.a.map(m,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}function g(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMLBInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"isValidMetric",(function(){return g})),n.d(t,"BMLBGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_LB",c="bmLbQuery",s={vip:"LoadBalancerVips"},u=["LoadBalancerId","LoadBalancerVips","LoadBalancerName"],l={instance:"LoadBalancerId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"LoadBalancerIds",enDescriptor:"LoadBalancerIds",cnDescriptor:"负载均衡器ID数组",link:"",type:"inputMulti"},{key:"LoadBalancerName",enDescriptor:"LoadBalancerName",cnDescriptor:"负载均衡器名称",link:"",type:"inputMulti"},{key:"LoadBalancerVips",enDescriptor:"LoadBalancerVips",cnDescriptor:"负载均衡获得的公网IP地址",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/1027/33280",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"LoadBalancerId",queries:{Limit:20,Offset:0,LoadBalancerIds:[],LoadBalancerName:[],LoadBalancerVips:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var h=["Inpkg","Outpkg","Intraffic","Outtraffic","Connum","Req"];function g(e){var t=o.a.map(h,o.a.toUpper);return-1!==o.a.indexOf(t,o.a.toUpper(e.MetricName))}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"BMPCXFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BMPCXInstanceAliasList",(function(){return u})),n.d(t,"BMPCXInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"BMPCXGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/BM_PCX",c="bmPcxQuery",s={peeringConnectionId:"VpcPeerConnectionId"},u=["VpcPeerConnectionId","VpcPeerConnectionName"],l={instance:"VpcPeerConnectionId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"VpcPeerConnectionIds",enDescriptor:"VpcPeerConnectionIds",cnDescriptor:"对等连接实例ID",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/product/1024/36903",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpcPeerConnectionId",queries:{Limit:20,Offset:0,VpcPeerConnectionIds:[]}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["peeringConnectionId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"CBSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"CBSInstanceAliasList",(function(){return s})),n.d(t,"CBSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"isValidMetric",(function(){return m})),n.d(t,"CBSGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n(5),o="QCE/BLOCK_STORAGE",a="cbsQuery",c={diskId:"DiskId",InstanceId:"InstanceId",diskname:"DiskName",unInstanceId:"InstanceId"},s=["DiskId","DiskName"],u={instance:"DiskId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DiskIds",enDescriptor:"DiskIds",cnDescriptor:"云硬盘ID",link:"",type:"inputMulti"},{key:"Order",enDescriptor:"Order",cnDescriptor:"排列顺序",link:"",type:"select",list:[{text:"升序排列",value:"ASC"},{text:"降序排列",value:"DESC"}]},{key:"OrderField",enDescriptor:"OrderField",cnDescriptor:"排序的依据字段",link:"",type:"select",list:[{text:"云盘的创建时间排序",value:"CREATE_TIME"},{text:"云盘的到期时间排序",value:"DEADLINE"}]},{key:"ReturnBindAutoSnapshotPolicy",enDescriptor:"ReturnBindAutoSnapshotPolicy",cnDescriptor:"否需要返回云盘绑定的定期快照策略ID",link:"",type:"switch"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/362/16315",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DiskId",queries:{Limit:20,Offset:0,DiskIds:[],OrderField:[],Order:[],ReturnBindAutoSnapshotPolicy:!1}};function d(e){return void 0===e&&(e={}),Object(i.d)(e,!1)}function m(e){void 0===e&&(e={});var t=r.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==r.indexOf(t,"diskId")}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNPROVINCEFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CDNPROVINCEInstanceAliasList",(function(){return c})),n.d(t,"CDNPROVINCEInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"CDNPROVINCEGetInstanceQueryParams",(function(){return p}));var r=n(5),i="QCE/CDN_LOG_DATA",o="cdnProvinceQuery",a={domain:"Domain",projectid:"ProjectId",province:"district",appid:"AppId"},c=["Domain","ProjectId"],s={instance:"Domain"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"origin",enDescriptor:"origin",cnDescriptor:"主源站",link:"",type:"inputMulti"},{key:"domain",enDescriptor:"domain",cnDescriptor:"域名",link:"",type:"inputMulti"},{key:"resourceId",enDescriptor:"resourceId",cnDescriptor:"域名id",link:"",type:"inputMulti"},{key:"status",enDescriptor:"status",cnDescriptor:"域名状态",link:"",type:"select",list:[{text:"online",value:"online"},{text:"offline",value:"offline"},{text:"processing",value:"processing"}]},{key:"serviceType",enDescriptor:"serviceType",cnDescriptor:"业务类型",link:"",type:"select",list:[{text:"web",value:"web"},{text:"download",value:"download"},{text:"media",value:"media"}]},{key:"projectId",enDescriptor:"projectId",cnDescriptor:"项目ID",link:"",type:"inputNumberMulti"},{key:"domainType",enDescriptor:"domainType",cnDescriptor:"主源站类型",link:"",type:"select",list:[{text:"自有源",value:"cname"},{text:"cos接入",value:"cos"}]},{key:"fullUrlCache",enDescriptor:"fullUrlCache",cnDescriptor:"全路径缓存",link:"",type:"select",list:[{text:"打开",value:"on"},{text:"关闭",value:"off"}]},{key:"https",enDescriptor:"https",cnDescriptor:"是否配置https",link:"",type:"select",list:[{text:"on",value:"on"},{text:"off",value:"off"},{text:"processing",value:"processing"}]},{key:"originPullProtocol",enDescriptor:"originPullProtocol",cnDescriptor:"回源协议类型",link:"",type:"select",list:[{text:"http",value:"http"},{text:"follow",value:"follow"},{text:"https",value:"https"}]},{key:"tagKey",enDescriptor:"tagKey",cnDescriptor:"标签键",link:"",type:"inputMulti"}],l={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"Domain",isp:"",district:"",queries:{Limit:20,Offset:0,origin:[],domain:[],resourceId:[],status:{},serviceType:{},projectId:[],domainType:{},fullUrlCache:{},https:{},originPullProtocol:{},tagKey:[]}};function p(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"CEIPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CEIPSUMMARYInstanceAliasList",(function(){return u})),n.d(t,"CEIPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"CEIPSUMMARYGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/CEIP_SUMMARY",c="ceipSummaryQuery",s={vip:"AddressIp",eip:"AddressIp"},u=["AddressId","AddressName","AddressIp"],l={instance:"AddressId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"address-id",enDescriptor:"address-id",cnDescriptor:" EIP 的唯一 ID",link:"",type:"inputMulti"},{key:"address-name",enDescriptor:"address-name",cnDescriptor:"EIP 名称",link:"",type:"inputMulti"},{key:"address-ip",enDescriptor:"address-ip",cnDescriptor:"EIP 的 IP 地址",link:"",type:"inputMulti"},{key:"address-status",enDescriptor:"address-status",cnDescriptor:"EIP 的状态",link:"",type:"select",multiple:!0,list:[{text:"CREATING",value:"CREATING"},{text:"BINDING",value:"BINDING"},{text:"BIND",value:"BIND"},{text:"UNBINDING",value:"UNBINDING"},{text:"UNBIND",value:"UNBIND"},{text:"OFFLINING",value:"OFFLINING"},{text:"BIND_ENI",value:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"EIP 绑定的实例 ID",link:"",type:"inputMulti"},{key:"private-ip-address",enDescriptor:"private-ip-address",cnDescriptor:"EIP 绑定的内网 IP ",link:"",type:"inputMulti"},{key:"network-interface-id",enDescriptor:"network-interface-id",cnDescriptor:" EIP 绑定的弹性网卡 ID",link:"",type:"inputMulti"},{key:"is-arrears",enDescriptor:"is-arrears",cnDescriptor:"EIP 是否欠费",link:"",type:"select",multiple:!0,list:[{text:"欠费状态",value:"TRUE"},{text:"费用状态正常",value:"FALSE"}]},{key:"address-isp",enDescriptor:"address-isp",cnDescriptor:"运营商类型",link:"",type:"select",multiple:!0,list:[{text:"BGP",value:"BGP"},{text:"CMCC",value:"CMCC"},{text:"CUCC",value:"CUCC"},{text:"CTCC",value:"CTCC"}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/215/16702",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",queries:{Limit:20,Offset:0,"address-id":[],"address-name":[],"address-ip":[],"address-status":{},"is-arrears":{},"address-isp":{},"instance-id":[],"private-ip-address":[],"network-interface-id":[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function h(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["eip"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return p})),n.d(t,"GetInstanceQueryParams",(function(){return a})),n.d(t,"queryMonitorExtraConfg",(function(){return l})),n.d(t,"keyInStorage",(function(){return u}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"TopicName",enDescriptor:"TopicName",cnDescriptor:"精确匹配TopicName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={topicId:"TopicId"},s={instance:"TopicName",subscription:"SubscriptionId"},u={subscriptionId:"subscriptionId"},l={subscriptionId:{dim_KeyInStorage:u.subscriptionId,dim_KeyInTarget:"subscriptionId",dim_KeyInMap:s.subscription}},p=["TopicName","TopicId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TopicName",subscriptionId:"",queries:{Offset:0,Limit:20,TopicName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CPMFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"CPMInstanceAliasList",(function(){return u})),n.d(t,"CPMInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"CPMGetInstanceQueryParams",(function(){return m}));var r=n(5),i=n(0),o=n.n(i),a="QCE/CPM",c="cpmQuery",s={instanceId:"InstanceId"},u=["InstanceId","Name"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DeviceClassCode",enDescriptor:"DeviceClassCode",cnDescriptor:"机型ID",link:"",type:"dropdown"},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"设备ID数组",link:"",type:"inputMulti"},{key:"WanIps",enDescriptor:"WanIps",cnDescriptor:"外网IP数组",link:"",type:"inputMulti"},{key:"LanIps",enDescriptor:"LanIps",cnDescriptor:"内网IP数组",link:"",type:"inputMulti"},{key:"Alias",enDescriptor:"Alias",cnDescriptor:"设备名称",link:"",type:"input"},{key:"VagueIp",enDescriptor:"VagueIp",cnDescriptor:"模糊IP查询",link:"",type:"input"},{key:"AutoRenewFlag",enDescriptor:"AutoRenewFlag",cnDescriptor:"自动续费标志",link:"",type:"select",list:[{text:"不自动续费",value:0},{text:"自动续费",value:1}]},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络唯一ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网唯一ID",link:"",type:"input"},{key:"DeviceType",enDescriptor:"DeviceType",cnDescriptor:"子网实例ID",link:"",type:"select",list:[{text:"计算型",value:"compute"},{text:"标准型",value:"standard"},{text:"存储型",value:"storage"}]},{key:"IsLuckyDevice",enDescriptor:"IsLuckyDevice",cnDescriptor:"竞价实例机器过滤",link:"",type:"select",list:[{text:"非竞价实例机器",value:0},{text:"竞价实例的机器",value:1}]}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/386/32904",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,DeviceClassCode:"",InstanceIds:[],WanIps:[],LanIps:[],Alias:"",VagueIp:"",AutoRenewFlag:{},VpcId:"",SubnetId:"",DeviceType:{},IsLuckyDevice:{}}};function m(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}function h(e){var t=o.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["instanceId"]})),t}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"ECDNFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"ECDNInstanceAliasList",(function(){return c})),n.d(t,"ECDNInvalidDemensions",(function(){return u})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECDNGetInstanceQueryParams",(function(){return d}));var r=n(0),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o.push({Name:t,Value:Object(r.uniq)(e).slice(0,5)}):Object(r.isObject)(e)&&(Object(r.isEmpty)(Object(r.get)(e,"value",[]))||o.push({Name:t,Value:[Object(r.get)(e,"value",[])].slice(0,5)}))})),o.length>0)return t.Filters=o.map((function(e){return"domain"===e.Name?i(i({},e),{Fuzzy:!0}):e})),t}return t}function m(e){var t=Object(r.cloneDeep)(e);return t.Dimensions.forEach((function(e){e.Dimensions=["domain","projectid"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"ECMFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"ECMInstanceAliasList",(function(){return s})),n.d(t,"ECMInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"ECMGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n(5),o="QCE/ECM",a="ecmQuery",c={uuid:"UUID"},s=["InstanceId","InstanceName"],u={instance:"InstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"zone",enDescriptor:"zone",cnDescriptor:"可用区英文标识",link:"",type:"dropdownMulti"},{key:"zone-name",enDescriptor:"zone-name",cnDescriptor:"排列顺序",link:"",type:"inputMulti"},{key:"module-id",enDescriptor:"module-id",cnDescriptor:"模块ID",link:"",type:"inputMulti"},{key:"module-name",enDescriptor:"module-name",cnDescriptor:"模块名称",link:"",type:"inputMulti"},{key:"instance-id",enDescriptor:"instance-id",cnDescriptor:"实例ID",link:"",type:"inputMulti"},{key:"instance-name",enDescriptor:"instance-name",cnDescriptor:"实例名称",link:"",type:"inputMulti"},{key:"ip-address",enDescriptor:"ip-address",cnDescriptor:"内网/公网IP",link:"",type:"inputMulti"},{key:"instance-uuid",enDescriptor:"instance-uuid",cnDescriptor:"实例uuid",link:"",type:"inputMulti"},{key:"instance-state",enDescriptor:"instance-state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"创建中",value:"PENDING"},{text:"创建失败",value:"LAUNCH_FAILED"},{text:"运行中",value:"RUNNING"},{text:"关机",value:"STOPPED"},{text:"开机中",value:"STARTING"},{text:"关机中",value:"STOPPING"},{text:"重启中",value:"REBOOTING"},{text:"停止待销毁",value:"SHUTDOWN"},{text:"销毁中",value:"TERMINATING"}]},{key:"internet-service-provider",enDescriptor:"internet-service-provider",cnDescriptor:"公网IP所属的运营商",link:"",type:"inputMulti"},{key:"instance-family",enDescriptor:"instance-family",cnDescriptor:"机型family",link:"",type:"inputMulti"},{key:"image-id",enDescriptor:"image-id",cnDescriptor:"镜像ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"实例的vpc id",link:"",type:"inputMulti"},{key:"subnet-id",enDescriptor:"subnet-id",cnDescriptor:"实例的subnet id",link:"",type:"inputMulti"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/1108/42565",namespace:o,fieldDescriptor:l},f={region:"ap-guangzhou",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,zone:[],"zone-name":[],"module-id":[],"module-name":[],"instance-id":[],"instance-name":[],"ip-address":[],"instance-uuid":[],"instance-state":{},"internet-service-provider":[],"instance-family":[],"image-id":[],"vpc-id":[],"subnet-id":[]}};function d(e){return void 0===e&&(e={}),Object(i.d)(e,!0)}function m(e){var t=r.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["UUID"]})),t}t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"PostgresFieldsDescriptor",(function(){return u})),n.d(t,"POSTGRESInstanceAliasList",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return g})),n.d(t,"modifyDimensons",(function(){return m})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"PostgreInvalidDemensions",(function(){return h})),n.d(t,"POSTGRESGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function l(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 2===t.length&&(-1!==i.a.indexOf(t,"instanceid")&&-1!==i.a.indexOf(t,"insttype")||-1!==i.a.indexOf(t,"InstanceId")&&-1!==i.a.indexOf(t,"InstanceType"))}function p(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=e.Dimensions.map((function(e){return f[e]||e}))})),t}var f={instanceid:"InstanceId",insttype:"InstanceType",region:"Region"},d={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CESFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"CESInstanceAliasList",(function(){return c})),n.d(t,"CESInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"CESGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/CES",o="cesQuery",a={uInstanceId:"InstanceId"},c=["InstanceId","InstanceName"],s={instance:"InstanceId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"InstanceIds",enDescriptor:"InstanceIds",cnDescriptor:"集群实例ID列表",link:"",type:"inputMulti"},{key:"InstanceNames",enDescriptor:"InstanceNames",cnDescriptor:"集群实例名称列表",link:"",type:"inputMulti"},{key:"OrderByKey",enDescriptor:"OrderByKey",cnDescriptor:"排序字段",link:"",type:"select",list:[{text:"实例ID",value:1},{text:"实例名称",value:2},{text:"可用区",value:3},{text:"创建时间",value:4}]},{key:"OrderByType",enDescriptor:"OrderByType",cnDescriptor:"排序方式",link:"",type:"select",list:[{text:"升序",value:0},{text:"降序",value:1}]},{key:"IpList",enDescriptor:"IpList",cnDescriptor:"私有网络vip列表",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/845/30631",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,InstanceIds:[],InstanceNames:[],OrderByKey:{},OrderByType:{},IpList:[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCFilterFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return d})),n.d(t,"DCInstanceAliasList",(function(){return f})),n.d(t,"DCInvalidDemensions",(function(){return m})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return u})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"DCGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=n(5),a="QCE/DC",c="dcQuery",s=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"DirectConnectIds",enDescriptor:"DirectConnectIds",cnDescriptor:"物理专线 ID",link:"",type:"inputMulti"}],u={instanceDocUrl:"https://cloud.tencent.com/document/api/216/34826",namespace:a,fieldDescriptor:s},l={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectId",queries:{Limit:20,Offset:0,DirectConnectIds:[]}};function p(e){return void 0===e&&(e={}),Object(o.d)(e,!1)}var f=["DirectConnectId","DirectConnectName"],d={instance:"DirectConnectId"},m={directConnectId:"DirectConnectId",directconnectid:"DirectConnectId"};function h(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["directConnectId"]})),t}t.default=l},function(e,t,n){"use strict";n.r(t),n.d(t,"DCGFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"DCGInstanceAliasList",(function(){return c})),n.d(t,"DCGInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"DCGGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/DCG",o="dcgQuery",a={directConnectGatewayId:"DirectConnectGatewayId"},c=["DirectConnectGatewayId","DirectConnectGatewayName"],s={instance:"DirectConnectGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"direct-connect-gateway-id",enDescriptor:"direct-connect-gateway-id",cnDescriptor:"专线网关唯一ID",link:"",type:"inputMulti"},{key:"direct-connect-gateway-name",enDescriptor:"direct-connect-gateway-name",cnDescriptor:"专线网关名称",link:"",type:"inputMulti"},{key:"direct-connect-gateway-ip",enDescriptor:"direct-connect-gateway-ip",cnDescriptor:"专线网关IP",link:"",type:"inputMulti"},{key:"gateway-type",enDescriptor:"gateway-type",cnDescriptor:"网关类型",link:"",type:"select",multiple:!0,list:[{text:"普通型",value:"NORMAL"},{text:"NAT型",value:"NAT"}]},{key:"network-type",enDescriptor:"network-type",cnDescriptor:"网络类型",link:"",type:"select",multiple:!0,list:[{text:"私有网络类型",value:"VPC"},{text:"云联网类型",value:"CCN"}]},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"专线网关所在云联网ID",link:"",type:"inputMulti"},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"专线网关所在私有网络ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/30644",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"DirectConnectGatewayId",queries:{Limit:20,Offset:0,"direct-connect-gateway-id":[],"direct-connect-gateway-name":[],"direct-connect-gateway-ip":[],"gateway-type":{},"network-type":{},"ccn-id":[],"vpc-id":[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"DCXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return m})),n.d(t,"DCXInstanceAliasList",(function(){return d})),n.d(t,"DCXInvalidDemensions",(function(){return h})),n.d(t,"namespace",(function(){return c})),n.d(t,"queryEditorName",(function(){return s})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"modifyDimensons",(function(){return g})),n.d(t,"DCXGetInstanceQueryParams",(function(){return f}));var r=n(0),i=n.n(r),o=n(5),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var u=["InstanceId","InstanceName"],l={target:"InstanceId"},p={instance:"InstanceId",replica:"ReplicaSetId"},f={Replica:{dim_KeyInStorage:"ReplicaSets",dim_KeyInTarget:"replica",dim_KeyInMap:"ReplicaSetId",dim_KeyInIns:"ReplicaSetId"},Node:{dim_KeyInStorage:"ReplicaNodeSets",dim_KeyInTarget:"node",dim_KeyInMap:"NodeId",dim_KeyInIns:"NodeId"}};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"QAAPFilterFieldsDescriptor",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"QAAPInstanceAliasList",(function(){return u})),n.d(t,"QAAPInvalidDemensions",(function(){return s})),n.d(t,"namespace",(function(){return a})),n.d(t,"queryEditorName",(function(){return c})),n.d(t,"queryEditorConfig",(function(){return f})),n.d(t,"modifyDimensons",(function(){return h})),n.d(t,"QAAPGetInstanceQueryParams",(function(){return m}));var r=n(0),i=n.n(r),o=n(5),a="QCE/QAAP",c="qaapQuery",s={channelId:"InstanceId"},u=["InstanceId"],l={instance:"InstanceId"},p=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ProjectId",enDescriptor:"ProjectId",cnDescriptor:"项目ID",link:"",type:"inputMulti"},{key:"AccessRegion",enDescriptor:"AccessRegion",cnDescriptor:"接入地域",link:"",type:"inputMulti"},{key:"RealServerRegion",enDescriptor:"RealServerRegion",cnDescriptor:"源站地域",link:"",type:"inputMulti"},{key:"GroupId",enDescriptor:"GroupId",cnDescriptor:"通道组ID",link:"",type:"inputMulti"}],f={instanceDocUrl:"https://cloud.tencent.com/document/api/608/36963",namespace:a,fieldDescriptor:p},d={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"InstanceId",queries:{Limit:20,Offset:0,ProjectId:[],AccessRegion:[],RealServerRegion:[],GroupId:[]}};function m(e){return void 0===e&&(e={}),Object(o.d)(e,!0)}function h(e){return i.a.cloneDeep(e)}t.default=d},function(e,t,n){"use strict";n.r(t),n.d(t,"TCAPLUSFilterFieldsDescriptor",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TCAPLUSInstanceAliasList",(function(){return s})),n.d(t,"TCAPLUSInvalidDemensions",(function(){return c})),n.d(t,"namespace",(function(){return o})),n.d(t,"queryEditorName",(function(){return a})),n.d(t,"queryEditorConfig",(function(){return p})),n.d(t,"regonsMap",(function(){return m})),n.d(t,"TCAPLUSGetInstanceQueryParams",(function(){return d}));var r=n(0),i=n.n(r),o="QCE/TCAPLUS",a="tcaplusQuery",c={},s=["TableInstanceId","TableName"],u={instance:"TableInstanceId"},l=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ClusterId",enDescriptor:"ClusterId",cnDescriptor:"表格所属集群ID",link:"",type:"input"},{key:"TableGroupIds",enDescriptor:"TableGroupIds",cnDescriptor:"表格组ID列表",link:"",type:"inputMulti"},{key:"TableName",enDescriptor:"TableName",cnDescriptor:"表格名称",link:"",type:"input"},{key:"TableInstanceId",enDescriptor:"TableInstanceId",cnDescriptor:"表实例ID",link:"",type:"input"},{key:"TableIdlType",enDescriptor:"TableIdlType",cnDescriptor:"表格描述语言类型",link:"",type:"select",list:[{text:"PROTO",value:"PROTO"},{text:"TDR",value:"TDR"}]},{key:"TableType",enDescriptor:"TableType",cnDescriptor:"表格数据结构类型",link:"",type:"select",list:[{text:"GENERIC",value:"GENERIC"},{text:"LIST",value:"LIST"}]},{key:"ListElementNum",enDescriptor:"ListElementNum",cnDescriptor:"LIST表元素个数",link:"",type:"inputNumber"},{key:"ReservedVolume",enDescriptor:"ReservedVolume",cnDescriptor:"表格预留容量(GB)",link:"",type:"inputNumber"},{key:"ReservedReadQps",enDescriptor:"ReservedReadQps",cnDescriptor:"表格预留读CU",link:"",type:"inputNumber"},{key:"ReservedWriteQps",enDescriptor:"ReservedWriteQps",cnDescriptor:"表格预留写CU",link:"",type:"inputNumber"},{key:"Memo",enDescriptor:"Memo",cnDescriptor:"表格备注信息",link:"",type:"input"},{key:"FileName",enDescriptor:"FileName",cnDescriptor:"Key回档文件名,回档专用",link:"",type:"input"},{key:"FileExtType",enDescriptor:"FileExtType",cnDescriptor:"Key回档文件扩展名,回档专用",link:"",type:"input"},{key:"FileSize",enDescriptor:"FileSize",cnDescriptor:"Key回档文件大小,回档专用",link:"",type:"inputNumber"},{key:"FileContent",enDescriptor:"FileContent",cnDescriptor:"Key回档文件内容,回档专用",link:"",type:"input"}],p={instanceDocUrl:"https://cloud.tencent.com/document/api/596/39664",namespace:o,fieldDescriptor:l},f={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"TableInstanceId",queries:{Limit:20,Offset:0,ClusterId:"",TableGroupIds:[],TableName:"",TableInstanceId:"",TableIdlType:{},TableType:{},ListElementNum:null,ReservedVolume:null,ReservedReadQps:null,ReservedWriteQps:null,Memo:"",FileName:"",FileExtType:"",FileSize:null,FileContent:""}};function d(e){void 0===e&&(e={});var t={};t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,t.ClusterId=i.a.get(e,"ClusterId","")||"",t.TableGroupIds=i.a.get(e,"TableGroupIds",[])||[],e=i.a.omit(e,["Offset","Limit","TableGroupIds","ClusterId"]);var n=[];return i.a.forEach(e,(function(e,t){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(n[t]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(n[t]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(n[t]=e)})),t.SelectedTables=n,t}var m={"ap-beijing":"华北地区(北京)","ap-guangzhou":"华南地区(广州)","ap-hongkong":"港澳台地区(中国香港)","ap-seoul":"亚太东北(首尔)","ap-shanghai":"华东地区(上海)","ap-singapore":"亚太东南(新加坡)","ap-tokyo":"亚太东北(东京)","eu-frankfurt":"欧洲地区(法兰克福)","na-ashburn":"美国东部(弗吉尼亚)","na-siliconvalley":"美国西部(硅谷)"};t.default=f},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VBCInstanceAliasList",(function(){return c})),n.d(t,"VBCInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VBCGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VBC",o="vbcQuery",a={},c=["CcnId","CcnName"],s={instance:"CcnId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"ccn-id",enDescriptor:"ccn-id",cnDescriptor:"CCN实例ID",link:"",type:"inputMulti"},{key:"ccn-name",enDescriptor:"ccn-name",cnDescriptor:"CCN名称",link:"",type:"inputMulti"},{key:"ccn-description",enDescriptor:"ccn-description",cnDescriptor:"CCN描述",link:"",type:"inputMulti"},{key:"state",enDescriptor:"state",cnDescriptor:"实例状态",link:"",type:"select",multiple:!0,list:[{text:"隔离中",value:"ISOLATED"},{text:"运行中",value:"AVAILABLE"}]}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/19199",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"CcnId",DRegion:"",SRegion:"",queries:{Limit:20,Offset:0,"ccn-id":[],"ccn-name":[],"ccn-description":[],state:{}}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNGWFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNGWInstanceAliasList",(function(){return c})),n.d(t,"VPNGWInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNGWGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VPNGW",o="vpngwQuery",a={vpnGwId:"VpnGatewayId"},c=["VpnGatewayId","VpnGatewayName"],s={instance:"VpnGatewayId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-name",enDescriptor:"vpn-gateway-name",cnDescriptor:"VPN实例名称",link:"",type:"inputMulti"},{key:"type",enDescriptor:"type",cnDescriptor:"VPN网关类型",link:"",type:"select",multiple:!0,list:[{text:"IPSEC",value:"IPSEC"},{text:"SSL",value:"SSL"}]},{key:"public-ip-address",enDescriptor:"public-ip-address",cnDescriptor:"公网IP",link:"",type:"inputMulti"},{key:"renew-flag",enDescriptor:"renew-flag",cnDescriptor:"网关续费类型",link:"",type:"select",multiple:!0,list:[{text:"手动续费",value:"NOTIFY_AND_MANUAL_RENEW"},{text:"自动续费",value:"NOTIFY_AND_AUTO_RENEW"}]},{key:"zone",enDescriptor:"zone",cnDescriptor:"VPN所在可用区",link:"",type:"dropdownMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17514",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnGatewayId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"vpn-gateway-name":[],type:{},"public-ip-address":[],"renew-flag":{},zone:[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"VPNXFilterFieldsDescriptor",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"VPNXInstanceAliasList",(function(){return c})),n.d(t,"VPNXInvalidDemensions",(function(){return a})),n.d(t,"namespace",(function(){return i})),n.d(t,"queryEditorName",(function(){return o})),n.d(t,"queryEditorConfig",(function(){return l})),n.d(t,"VPNXGetInstanceQueryParams",(function(){return f}));var r=n(5),i="QCE/VPNX",o="vpnxQuery",a={vpnConnId:"VpnConnectionId"},c=["VpnConnectionId","VpnConnectionName"],s={instance:"VpnConnectionId"},u=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:100},{key:"vpc-id",enDescriptor:"vpc-id",cnDescriptor:"VPC实例ID",link:"",type:"inputMulti"},{key:"vpn-gateway-id",enDescriptor:"vpn-gateway-id",cnDescriptor:"VPN实例ID",link:"",type:"inputMulti"},{key:"customer-gateway-id ",enDescriptor:"customer-gateway-id ",cnDescriptor:"对端网关实例ID",link:"",type:"inputMulti"},{key:"vpn-connection-name",enDescriptor:"vpn-connection-name",cnDescriptor:"通道名称",link:"",type:"inputMulti"},{key:"vpn-connection-id",enDescriptor:"vpn-connection-id",cnDescriptor:"通道实例ID",link:"",type:"inputMulti"}],l={instanceDocUrl:"https://cloud.tencent.com/document/api/215/17515",namespace:i,fieldDescriptor:u},p={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"VpnConnectionId",queries:{Limit:20,Offset:0,"vpc-id":[],"vpn-gateway-id":[],"customer-gateway-id":[],"vpn-connection-name":[],"vpn-connection-id":[]}};function f(e){return void 0===e&&(e={}),Object(r.d)(e,!0)}t.default=p},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseFilterFieldsDescriptor",(function(){return a})),n.d(t,"LIGHTHOUSEInstanceAliasList",(function(){return u})),n.d(t,"LighthouseInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"modifyDimensons",(function(){return f})),n.d(t,"LIGHTHOUSEGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l={instanceid:"InstanceId"},p={instance:"InstanceId"};function f(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CFSQueryDescriptor",(function(){return o})),n.d(t,"CFSInstanceAliasList",(function(){return s})),n.d(t,"CFSInvalidDemensions",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"regionSupported",(function(){return l})),n.d(t,"CFSGetInstanceQueryParams",(function(){return c}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"FileSystemId",enDescriptor:"File System Id",cnDescriptor:"文件系统 ID",link:"",type:"input"},{key:"VpcId",enDescriptor:"VpcId",cnDescriptor:"私有网络(VPC) ID",link:"",type:"input"},{key:"SubnetId",enDescriptor:"SubnetId",cnDescriptor:"子网 ID",link:"",type:"input"}],a={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"FileSystemId",version:"",queries:{Offset:0,Limit:20,FileSystemId:"",VpcId:"",SubnetId:""}};function c(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var s=["FileSystemId","FsName"],u={},l=[{value:"ap-beijing"},{value:"ap-chengdu"},{value:"ap-chongqing"},{value:"ap-guangzhou"},{value:"ap-hongkong"},{value:"ap-mumbai"},{value:"ap-nanjing"},{value:"ap-seoul"},{value:"ap-shanghai"},{value:"ap-shanghai-fsi"},{value:"ap-shenzhen-fsi"},{value:"ap-singapore"},{value:"ap-tokyo"},{value:"eu-frankfurt"},{value:"na-siliconvalley"},{value:"na-toronto"}],p={instance:"InstanceId"};t.default=a},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceQueryDescriptor",(function(){return o})),n.d(t,"InvalidDemensions",(function(){return c})),n.d(t,"templateQueryIdMap",(function(){return s})),n.d(t,"InstanceAliasList",(function(){return u})),n.d(t,"GetInstanceQueryParams",(function(){return a}));var r=n(0),i=n.n(r),o=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputNumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为10,最小值为1,最大值为100",link:"",type:"inputNumber",min:1,max:50},{key:"QueueName",enDescriptor:"QueueName",cnDescriptor:"精确匹配QueueName",link:"",type:"input"},{key:"TagKey",enDescriptor:"TagKey",cnDescriptor:"标签搜索",link:"",type:"input"}];function a(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var c={queueId:"QueueId",queueName:"QueueName"},s={instance:"QueueName"},u=["QueueName","QueueId"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"QueueName",queries:{Offset:0,Limit:20,QueueName:"",TagKey:""}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMFilterFieldsDescriptor",(function(){return a})),n.d(t,"CVMInstanceAliasList",(function(){return u})),n.d(t,"isValidMetric",(function(){return f})),n.d(t,"modifyDimensons",(function(){return d})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CVMGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["InstanceId","InstanceName","PrivateIpAddresses","PublicIpAddresses"],l=["CPUUsage","CpuLoadavg","Cpuloadavg5m","Cpuloadavg15m","BaseCpuUsage","GpuMemTotal","GpuMemUsage","GpuMemUsed","GpuPowDraw","GpuPowLimit","GpuPowUsage","GpuTemp","GpuUtil","LanOuttraffic","LanIntraffic","LanOutpkg","LanInpkg","WanOuttraffic","WanIntraffic","WanOutpkg","WanInpkg","AccOuttraffic","TcpCurrEstab","TimeOffset","MemUsed","MemUsage","CvmDiskUsage","BaseCpuUsage","VmDiskReadIops"],p={instance:"InstanceId"};function f(e){var t=i.a.map(l,i.a.toUpper);return-1!==i.a.indexOf(t,i.a.toUpper(e.MetricName))}function d(e){var t=i.a.cloneDeep(e);return t.Dimensions.forEach((function(e){e.Dimensions=["InstanceId"]})),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXInstanceAliasList",(function(){return u})),n.d(t,"PCXFieldsDescriptor",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"namespace",(function(){return a})),n.d(t,"PCXGetInstanceQueryParams",(function(){return p}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisFieldsDescriptor",(function(){return a})),n.d(t,"RedisInvalidDemensions",(function(){return p})),n.d(t,"templateQueryIdMap",(function(){return f})),n.d(t,"REDISInstanceAliasList",(function(){return l})),n.d(t,"isValidMetric",(function(){return u})),n.d(t,"REDISGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}function u(e){void 0===e&&(e={});var t=i.a.get(e,"Dimensions[0].Dimensions");return 1===t.length&&-1!==i.a.indexOf(t,"instanceid")}var l=["InstanceId","InstanceName","WanIp"],p={redis_uuid:"InstanceId",instanceid:"InstanceId"},f={instance:"InstanceId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFInvalidDemensions",(function(){return s})),n.d(t,"templateQueryIdMap",(function(){return u})),n.d(t,"TSFInstanceAliasList",(function(){return c})),n.d(t,"TSFFieldsDescriptor",(function(){return i})),n.d(t,"TSFGetInstanceQueryParams",(function(){return a}));var r=n(5),i=[{key:"Offset",enDescriptor:"Offset",cnDescriptor:"偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项",link:"",type:"inputnumber",min:0},{key:"Limit",enDescriptor:"Limit",cnDescriptor:"单次请求返回的数量,默认为20,最小值为1,最大值为100",link:"",type:"inputnumber",min:1,max:100},{key:"SearchWord",enDescriptor:"SearchWord",cnDescriptor:"搜索关键字",link:"",type:"input"},{key:"ApplicationIdList",enDescriptor:"ApplicationIdList",cnDescriptor:"应用ID 组成的数组",link:"",type:"inputmulti"},{key:"ApplicationType",enDescriptor:"ApplicationType",cnDescriptor:"应用类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"容器应用",value:"C"},{text:"普通应用/虚拟机应用",value:"V"}]},{key:"MicroserviceType",enDescriptor:"MicroserviceType",cnDescriptor:"应用的微服务类型",link:"",type:"select",list:[{text:"所有",value:""},{text:"普通应用",value:"N"},{text:"Mesh应用",value:"M"},{text:"微服务网关应用",value:"G"},{text:"原生应用",value:"NATIVE"}]},{key:"ApplicationResourceTypeList",enDescriptor:"ApplicationResourceTypeList",cnDescriptor:"应用资源类型数组",link:"",type:"select",multiple:!0,list:[{text:"默认资源类型",value:"DEF"},{text:"微服务网关资源",value:"GW"}]}],o={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"ApplicationId",queries:{Limit:20,Offset:0,SearchWord:"",OrderBy:"",OrderType:null,ApplicationType:"",MicroserviceType:"",ApplicationResourceTypeList:[],ApplicationIdList:[]}};function a(e){return void 0===e&&(e={}),Object(r.d)(e,!1)}var c=["ApplicationId","ApplicationName"],s={applicationid:"ApplicationId"},u={instance:"ApplicationId"};t.default=o},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"BWPInstanceAliasList",(function(){return u})),n.d(t,"BWPInvalidDemensions",(function(){return p})),n.d(t,"BWPGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.BandwidthPackageIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["BandwidthPackageId","BandwidthPackageName"],l={instance:"BandwidthPackageId"},p={bandwidthPackageId:"BandwidthPackageId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"CDNInstanceAliasList",(function(){return u})),n.d(t,"CDNInvalidDemensions",(function(){return l})),n.d(t,"CDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ProjectId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"LBFilterDescriptor",(function(){return a})),n.d(t,"LBInstanceAliasList",(function(){return u})),n.d(t,"LBInvalidDemensions",(function(){return l})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"LBGetInstanceQueryParams",(function(){return s}));var r,i=n(0),o=n.n(i),a=[{key:"address-id",enDescriptor:"Address ID",cnDescriptor:"EIP 的唯一 ID ",link:"",type:"inputmulti"},{key:"address-name",enDescriptor:"Address Name",cnDescriptor:"EIP 名称 ",link:"",type:"inputmulti"},{key:"address-ip",enDescriptor:"Address IP",cnDescriptor:"EIP 的 IP 地址 ",link:"",type:"inputmulti"},{key:"address-status",enDescriptor:"Address Status",cnDescriptor:"EIP 的状态",link:"",type:"select",list:[{value:"CREATING",text:"CREATING"},{value:"BINDING",text:"BINDING"},{value:"BIND",text:"BIND"},{value:"UNBINDING",text:"UNBINDING"},{value:"UNBIND",text:"UNBIND"},{value:"OFFLINING",text:"OFFLINING"},{value:"BIND_ENI",text:"BIND_ENI"}]},{key:"instance-id",enDescriptor:"Instance ID",cnDescriptor:"实例ID ",link:"",type:"inputmulti"},{key:"private-ip-address",enDescriptor:"Private IP Address",cnDescriptor:"EIP 绑定的内网 IP",link:"",type:"inputmulti"},{key:"network-interface-id",enDescriptor:"Network Interface ID",cnDescriptor:"EIP 绑定的弹性网卡 ID",link:"",type:"inputmulti"},{key:"is-arrears",enDescriptor:"Arrears",cnDescriptor:"EIP 是否欠费 ",link:"",type:"select",list:[{text:"正常",value:"FALSE"},{text:"欠费",value:"TRUE"}]}],c={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"AddressId",version:"",queries:(r={Offset:0,Limit:20},r.AddressIds=[""],r.Filters={"address-id":[],"address-name":[],"address-ip":[],"address-status ":[],"instance-id ":[],"private-ip-address":[],"network-interface-id ":[],"is-arrears ":[]},r)};function s(e){void 0===e&&(e={});var t={};if(!o.a.isEmpty(e))if(t.Limit=o.a.get(e,"Limit",20)||20,t.Offset=o.a.get(e,"Offset",0)||0,e.instanceIdsChecked){if(o.a.isArray(e.AddressIds)){var n=o.a.compact(e.AddressIds);o.a.uniq(n).length>0&&(t.AddressIds=o.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];o.a.forEach(e.Filters,(function(e,t){r.length>9||(o.a.isArray(e)?(e=o.a.compact(e)).length>0&&r.push({Name:t,Values:o.a.uniq(e).slice(0,5)}):o.a.isObject(e)&&(o.a.isEmpty(o.a.get(e,"value",[]))||r.push({Name:t,Values:o.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var u=["AddressId","AddressName","AddressIp"],l={eip:"AddressIp"},p={instance:"AddressId"};t.default=c},function(e,t,n){"use strict";n.r(t),n.d(t,"NATGatewayFilterFieldsDescriptor",(function(){return c})),n.d(t,"NATGATEWAYInstanceAliasList",(function(){return a})),n.d(t,"templateQueryIdMap",(function(){return l})),n.d(t,"NATInvalidDemensions",(function(){return p})),n.d(t,"NATGATEWAYGetInstanceQueryParams",(function(){return u}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}var l={instance:"NatGatewayId"},p={natId:"NatGatewayId"};t.default=s},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNFilterFieldsDescriptor",(function(){return a})),n.d(t,"OVCDNInstanceAliasList",(function(){return u})),n.d(t,"templateQueryIdMap",(function(){return p})),n.d(t,"OVCDNInvalidDemensions",(function(){return l})),n.d(t,"OVCDNGetInstanceQueryParams",(function(){return s}));var r=n(0),i=n.n(r),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&n.push({Name:t,Value:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||n.push({Name:t,Value:i.a.get(e,"value",[]).slice(0,5)}))})),n.length>0&&(t.Filters=n)}return t}var u=["Domain","ResourceId"],l={projectId:"ProjectId",domain:"Domain"},p={instance:"Domain"};t.default=c},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}},function(e,t){e.exports=c},function(e,t){e.exports=s},function(e,t,n){"use strict";var r=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}(),i=n(214),o=n(211),a=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",(function(){return c}));var c=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,c=this._ctorUnsubscribe,u=this._unsubscribe,l=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var p=0;p0&&(t.InstanceIds=i.a.uniq(n).slice(0,100))}}else if(e.filtersChecked){var r=[];i.a.forEach(e.Filters,(function(e,t){r.length>9||(i.a.isArray(e)?(e=i.a.compact(e)).length>0&&r.push({Name:t,Values:i.a.uniq(e).slice(0,5)}):i.a.isObject(e)&&(i.a.isEmpty(i.a.get(e,"value",[]))||r.push({Name:t,Values:i.a.get(e,"value",[]).slice(0,5)})))})),r.length>0&&(t.Filters=r)}return t}t.default=o},function(e,t,n){"use strict";n.r(t);var r,i=n(23),o=n(3),a=n(2),c=n(5),s=n(9),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},f=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?k.map((function(e){return{TopicId:e.TopicId,TopicName:e.TopicName}})):I,PartitionList:C.length>0?C:w}]}}))}))},t.prototype.formatTopicVarDisplay=function(e,t,n){var r=this;return t?t.replace(/\$\{(\w+)\}/g,(function(t,n){return n&&r.TopicAliasList.includes(n)?r.getAliasValue(e,n):""})):this.getAliasValue(e,n)},t.prototype.fetchMetricData=function(e,t,n,r){return f(this,void 0,void 0,(function(){var i,o,a,c,s,p,f,m,h,g=this;return d(this,(function(d){switch(d.label){case 0:return i=r.topicalias,o=r.groupname,a=r.topicid,[4,this.getConsumerGroups(t,{InstanceId:n.InstanceId,groupname:o,topicid:a})];case 1:return c=d.sent(),s=r.display,p=c.TopicList,f=c.GroupList,m=c.PartitionList,i=this.TopicAliasList.includes(i)?i:this.templateQueryIdMap.topicId,h={GroupList:f.map((function(e){return e._InstanceAliasValue=e.GroupName,{text:e.GroupName,value:e[u.templateQueryIdMap.groupName]}})),TopicList:p.map((function(e){var t=g.formatTopicVarDisplay(e,s,i);return e._InstanceAliasValue=t||e[u.templateQueryIdMap.topicId],{text:t||e[u.templateQueryIdMap.topicId],value:e[u.templateQueryIdMap.topicId],TopicName:e.TopicName}})),PartitionList:m.map((function(e){return e._InstanceAliasValue=e[u.templateQueryIdMap.partition],{text:e[u.templateQueryIdMap.partition],value:e[u.templateQueryIdMap.partition]}}))},[4,l.a.setExtraStorage(this.service,this.keyInStorage.TopicList,p)];case 2:return d.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.GroupList,f)];case 3:return d.sent(),[4,l.a.setExtraStorage(this.service,this.keyInStorage.PartitionList,m)];case 4:switch(d.sent(),e){case"DescribeTopicList":return[2,h.TopicList];case"DescribeGroup":return[2,h.GroupList];case"DescribePartion":return[2,h.PartitionList];default:return[2,[]]}return[2]}}))}))},t}(s.BaseDatasource);t.default=m},function(e,t,n){"use strict";n.r(t);var r,i=n(12),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(5),l=n(9),p=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f=function(){return(f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i)return r;var o=Object(s.k)(i,50),a=[];return c.a.forEach(o,(function(t){a.push(n.getInstances(e,t))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){r=c.a.concat(r,e)})),r})).catch((function(e){return r}))}))},t.prototype.getVpcId=function(e,t){void 0===t&&(t={}),(t=l({Offset:0,Limit:20},t)).Offset=String(t.Offset),t.Limit=String(t.Limit);var n=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+n.path,data:t},n.service,{region:e,action:"DescribeVpcs"}).then((function(e){return c.a.map(e.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}))}))},t.prototype.getVpcIds=function(e){var t=this,n=[],r={Offset:0,Limit:100};r.Offset=String(r.Offset),r.Limit=String(r.Limit);var i=Object(s.e)(e,"vpc");return this.doRequest({url:this.url+i.path,data:r},i.service,{region:e,action:"DescribeVpcs"}).then((function(r){n=c.a.map(r.VpcSet||[],(function(e){return{text:e.VpcId,value:e.VpcId}}));var i=r.TotalCount||0;if(n.length>=i)return n;var o=Object(s.k)(i,100),a=[];return c.a.forEach(o,(function(n){a.push(t.getVpcId(e,n))})),Promise.all(a).then((function(e){return c.a.forEach(e,(function(e){n=c.a.concat(n,e)})),n})).catch((function(e){return n}))}))},t.prototype.doRequestV2=function(e,t,n){return void 0===n&&(n={}),p(this,void 0,void 0,(function(){return f(this,(function(r){switch(r.label){case 0:return[4,Object(s.d)(e,t,n,this.secretId,this.instanceSettings.id,this.backendSrv)];case 1:return e=r.sent(),[2,this.backendSrv.datasourceRequest(e).then((function(e){return c.a.get(e,"data",{})})).catch((function(e){throw e}))]}}))}))},t}(o.BaseDatasource);t.default=d},function(e,t,n){"use strict";n.r(t);var r,i=n(41),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace=i.namespace,o.InstanceAliasList=i.POSTGRESInstanceAliasList,o.InvalidDimensions=i.PostgreInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"postgres",action:"DescribeDBInstances",responseField:"DBInstanceSet"},o.MetricReqConfig={resultFilter:i.modifyDimensons},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(0),o=n(51),a=n(3),c=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?"_".concat(r.timeshift):"";return{target:"".concat(e.MetricName," - ").concat(o).concat(a),datapoints:Object(i.map)(t.Values,(function(e){return[e.Value,1e3*e.Timestamp+f]}))}}))})))}))},t}(c.BaseDatasource);t.default=p},function(e,t,n){"use strict";n.r(t);var r,i=n(62),o=n(3),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.Namespace="QCE/TSF",o.InstanceAliasList=i.TSFInstanceAliasList,o.InvalidDimensions=i.TSFInvalidDemensions,o.templateQueryIdMap=i.templateQueryIdMap,o.InstanceReqConfig={service:"tsf",action:"DescribeApplications",responseField:"Content"},o}return a(t,e),t}(o.BaseDatasource);t.default=c},function(e,t,n){"use strict";n.r(t);var r,i=n(25),o=n(3),a=n(0),c=n.n(a),s=n(2),u=n(1),l=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},f=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,l)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(31);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(32);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(33);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"BWPQueryCtrl",(function(){return a})),n.d(t,"bwpQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(63),a=function(){function e(e,t){e.init=function(){e.BWPFilterFieldsDescriptor=o.BWPFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("bwpQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(34);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDBQueryCtrl",(function(){return a})),n.d(t,"cdbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(44),a=function(){function e(e,t){e.init=function(){e.CDBFieldsDescriptor=o.CDBFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"ZoneIds":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cdb",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"CDNQueryCtrl",(function(){return a})),n.d(t,"cdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(64),a=function(){function e(e,t){e.init=function(){e.CDNFilterFieldsDescriptor=o.CDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return l})),n.d(t,"sQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(35),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,p)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(36);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(45);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(57),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cfsQuery",u)},function(e,t,n){"use strict";n.r(t),n.d(t,"CKAFKAQueryCtrl",(function(){return l})),n.d(t,"scfQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(11),a=n(5),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题,消费分组,分区 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"=",instance:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("ckafkaQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return d}));var r=n(6),i=n.n(r),o=n(0),a=n(12),c=n(2),s=n(5),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\x3c!--Listener维度部分--\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n');function d(){return{template:f,controller:p,restrict:"E",scope:{target:"=",namespace:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("clbQuery",d)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return a})),n.d(t,"sQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(29),a=function(){function e(e,t){e.init=function(){e.GSEFilterFieldsDescriptor=o.CLSFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n \n
\n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(58);Object(r.default)("cmqQuery",{fieldDescriptor:i.InstanceQueryDescriptor,instanceDocUrl:"https://cloud.tencent.com/document/api/406/42624",namespace:"QCE/CMQ"})},function(e,t,n){"use strict";n.r(t),n.d(t,"CmqTopicQueryCtrl",(function(){return u})),n.d(t,"scfQuery",(function(){return l}));var r=n(6),i=n.n(r),o=n(37),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("cmqTopicQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"InstanceAliasList",(function(){return a})),n.d(t,"GetInstanceQueryParams",(function(){return o}));var r=n(0),i=n.n(r);function o(e){void 0===e&&(e={});var t={};return i.a.isEmpty(e)||(t.Limit=i.a.get(e,"Limit",20)||20,t.Offset=i.a.get(e,"Offset",0)||0,e=i.a.omit(e,["Offset","Limit"]),i.a.forEach(e,(function(e,n){i.a.isArray(e)?(e=i.a.compact(e)).length>0&&(t[n]=i.a.uniq(e)):i.a.isObject(e)?!i.a.isNumber(i.a.get(e,"value",void 0))&&i.a.isEmpty(i.a.get(e,"value",void 0))||(t[n]=i.a.get(e,"value")):!i.a.isNumber(e)&&i.a.isEmpty(e)||(t[n]=e)}))),t}var a=["BucketName"];t.default={region:"",metricName:"",metricUnit:"",period:void 0,dimensionObject:null,instance:"",instanceAlias:"BucketName",queries:{}}},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(38);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"CVMQueryCtrl",(function(){return a})),n.d(t,"cvmQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(59),a=function(){function e(e,t){e.init=function(){e.CVMFilterFieldsDescriptor=o.CVMFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("cvmQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(27);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(46);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(16),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(47);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(48);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(39);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(40);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return s})),n.d(t,"sQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(21),a=n(2),c=[{label:"diskId",field:"diskId"}],s=function(){function e(e,t){e.init=function(){e.ECMBLOCKSTORAGEFilterFieldsDescriptor=o.ECMBLOCKSTORAGEFilterFieldsDescriptor,e.ExtraFields=c,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n,r;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})||t.label in(null!==(r=e.dims)&&void 0!==r?r:{})}))},e.getExtraDropdown=function(t,n){var r=t.instance,i=Object(a.f)(e.namespace);r=e.datasource.getServiceFn(i,"getVariable")(r);try{return(r=JSON.parse(r)).DataDisks.map((function(e){return e._InstanceAliasValue=e[o.templateQueryIdMap.diskId],{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}catch(t){var c={InstanceId:r};return e.datasource.getServiceFn(i,"getDiskList")({payload:c}).map((function(e){return{text:e[o.templateQueryIdMap.diskId],value:JSON.stringify(e)}}))}},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(49);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(15),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t),n.d(t,"LBQueryCtrl",(function(){return a})),n.d(t,"lbQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(65),a=function(){function e(e,t){e.init=function(){e.LBFilterDescriptor=o.LBFilterDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("cvm",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\x3c!--Filters部分--\x3e\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lbQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"LighthouseQueryCtrl",(function(){return a})),n.d(t,"lighthouseQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(56),a=function(){function e(e,t){e.init=function(){e.LighthouseFilterFieldsDescriptor=o.LighthouseFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"zone":return e.getZones();default:return[]}},e.getZones=function(){return e.region?e.datasource.getZones("lighthouse",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("lighthouseQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"MongoDBQueryCtrl",(function(){return p})),n.d(t,"mongodbQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(0),a=n(50),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onRefresh:"&",onChange:"&"},link:function(e,t,n){e.$watch("target.instance",(function(t,n){var r;null===(r=e.onInstanceChange)||void 0===r||r.call(e,t,n)}))}}}i.a.directive("mongodbQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"MrQueryCtrl",(function(){return u})),n.d(t,"mrQuery",(function(){return l}));var r=n(24),i=n(6),o=n.n(i),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\x3c!-- 主题的ui --\x3e\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n \n',controller:u,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}o.a.directive("mrQuery",l)},function(e,t,n){"use strict";n.r(t),n.d(t,"NatGatewayQueryCtrl",(function(){return a})),n.d(t,"natGatewayQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(66),a=function(){function e(e,t){e.init=function(){e.NATGatewayFilterFieldsDescriptor=o.NATGatewayFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("natGatewayQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"OVCDNQueryCtrl",(function(){return a})),n.d(t,"ovCdnQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(67),a=function(){function e(e,t){e.init=function(){e.OVCDNFilterFieldsDescriptor=o.OVCDNFilterFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}i.a.directive("ovCdnQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"PCXQueryCtrl",(function(){return a})),n.d(t,"pcxQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(60),a=function(){function e(e,t){e.init=function(){e.PCXFieldsDescriptor=o.PCXFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(t){switch(t){case"vpcId":return e.getVpcIds();default:return[]}},e.getVpcIds=function(){return e.region?e.datasource.getVpcIds("pcx",e.region):[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("pcxQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(41);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(51);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisQueryCtrl",(function(){return a})),n.d(t,"redisQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(61),a=function(){function e(e,t){e.init=function(){e.RedisFieldsDescriptor=o.RedisFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.getDropdown=function(e){return[]},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("redisQuery",c)},function(e,t,n){"use strict";n.r(t),n.d(t,"RedisMemQueryCtrl",(function(){return l})),n.d(t,"redisMemQuery",(function(){return p}));var r=n(6),i=n.n(r),o=n(0),a=n(17),c=n(2),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},u=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n',controller:l,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("redisMemQuery",p)},function(e,t,n){"use strict";n.r(t),n.d(t,"SCFQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(28),a=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- version部分 --\x3e\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&"}}}i.a.directive("scfQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(30);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(52);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(13),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive(o.queryEditorName,f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return p})),n.d(t,"sQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(18),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRabbitmqQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"TdmqRocketmqQueryCtrl",(function(){return p})),n.d(t,"tdmqRocketmqQuery",(function(){return f}));var r=n(6),i=n.n(r),o=n(19),a=n(2),c=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},s=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n',controller:p,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="},link:function(e,t,n){e.$watch("target.instance",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)})),e.$watch("target.metricName",(function(){var t;null===(t=e.clearExtrasAlias)||void 0===t||t.call(e)}))}}}i.a.directive("tdmqRocketmqQuery",f)},function(e,t,n){"use strict";n.r(t),n.d(t,"QueryCtrl",(function(){return c})),n.d(t,"sQuery",(function(){return s}));var r=n(6),i=n.n(r),o=n(0),a=n(74),c=function(){function e(e,t){e.init=function(){e.TKEFilterFieldsDescriptor=a.TKEFilterFieldsDescriptor},e.onChecked=function(t,n){!0===e.target.queries[t]&&(e.target.queries[n]=!1),e.onChange()},e.addCondition=function(){e.target.conditions.push({Key:"",Operator:"=",Value:""})},e.deleteCondition=function(t){var n=e.target.conditions[t];Object(o.isEmpty)(n.Key)||Object(o.isEmpty)(n.Operator)||Object(o.isEmpty)(n.Value)?e.target.conditions.splice(t,1):(e.target.conditions.splice(t,1),e.onRefresh())},e.getOperator=function(){return Promise.resolve([{text:"=",value:"="},{text:"in",value:"in"}])},e.init()}return e.$inject=["$scope","$rootScope"],e}();function s(){return{template:'\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n',controller:c,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("tkeQuery",s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TSFQueryCtrl",(function(){return a})),n.d(t,"tsfQuery",(function(){return c}));var r=n(6),i=n.n(r),o=n(62),a=function(){function e(e,t){e.init=function(){e.TSFFieldsDescriptor=o.TSFFieldsDescriptor},e.init()}return e.$inject=["$scope","$rootScope"],e}();function c(){return{template:'\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n',controller:a,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",onChange:"&"}}}i.a.directive("tsfQuery",c)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(25);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t),n.d(t,"VBCQueryCtrl",(function(){return s})),n.d(t,"scfQuery",(function(){return u}));var r=n(6),i=n.n(r),o=n(53),a=n(2),c=[],s=function(){function e(e,t){e.init=function(){e.VBCFilterFieldsDescriptor=o.VBCFilterFieldsDescriptor,e.namespace=o.namespace},e.getExtraFields=function(){return c.filter((function(t){var n;return t.field in(null!==(n=e.dims)&&void 0!==n?n:{})}))},e.getExtraDropdown=function(t){var n=Object(a.f)(e.namespace);return e.datasource.getFilterDropdown(n,{field:t})},e.init()}return e.$inject=["$scope","$rootScope"],e}();function u(){return{template:'\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\x3c!-- 起始区域 目的区域等 --\x3e\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n',controller:s,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&",onRefresh:"&",dims:"="}}}i.a.directive("vbcQuery",u)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(42);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(54);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(55);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){"use strict";n.r(t);var r=n(7),i=n(43);Object(r.default)(i.queryEditorName,i.queryEditorConfig)},function(e,t,n){var r={".":20,"./":20,"./MonitorDatasource":188,"./MonitorDatasource.ts":188,"./_base/datasource":3,"./_base/datasource.ts":3,"./_base/query":7,"./_base/query.ts":7,"./_base/query_filter":195,"./_base/query_filter.ts":195,"./_base/types":196,"./_base/types.ts":196,"./apigateway/datasource":75,"./apigateway/datasource.ts":75,"./apigateway/query":131,"./apigateway/query.ts":131,"./apigateway/query_def":23,"./apigateway/query_def.ts":23,"./bmIntraLb/datasource":76,"./bmIntraLb/datasource.ts":76,"./bmIntraLb/query":132,"./bmIntraLb/query.ts":132,"./bmIntraLb/query_def":31,"./bmIntraLb/query_def.ts":31,"./bm_lb/datasource":77,"./bm_lb/datasource.ts":77,"./bm_lb/query":133,"./bm_lb/query.ts":133,"./bm_lb/query_def":32,"./bm_lb/query_def.ts":32,"./bm_pcx/datasource":78,"./bm_pcx/datasource.ts":78,"./bm_pcx/query":134,"./bm_pcx/query.ts":134,"./bm_pcx/query_def":33,"./bm_pcx/query_def.ts":33,"./bwp/datasource":79,"./bwp/datasource.ts":79,"./bwp/query":135,"./bwp/query.ts":135,"./bwp/query_def":63,"./bwp/query_def.ts":63,"./cbs/datasource":80,"./cbs/datasource.ts":80,"./cbs/query":136,"./cbs/query.ts":136,"./cbs/query_def":34,"./cbs/query_def.ts":34,"./cdb/datasource":81,"./cdb/datasource.ts":81,"./cdb/query":137,"./cdb/query.ts":137,"./cdb/query_def":44,"./cdb/query_def.ts":44,"./cdn/datasource":82,"./cdn/datasource.ts":82,"./cdn/query":138,"./cdn/query.ts":138,"./cdn/query_def":64,"./cdn/query_def.ts":64,"./cdn_province/datasource":83,"./cdn_province/datasource.ts":83,"./cdn_province/query":139,"./cdn_province/query.ts":139,"./cdn_province/query_def":35,"./cdn_province/query_def.ts":35,"./ceip_summary/datasource":84,"./ceip_summary/datasource.ts":84,"./ceip_summary/query":140,"./ceip_summary/query.ts":140,"./ceip_summary/query_def":36,"./ceip_summary/query_def.ts":36,"./ces/datasource":85,"./ces/datasource.ts":85,"./ces/query":141,"./ces/query.ts":141,"./ces/query_def":45,"./ces/query_def.ts":45,"./cfs/datasource":86,"./cfs/datasource.ts":86,"./cfs/query":142,"./cfs/query.ts":142,"./cfs/query_def":57,"./cfs/query_def.ts":57,"./ckafka/datasource":87,"./ckafka/datasource.ts":87,"./ckafka/query":143,"./ckafka/query.ts":143,"./ckafka/query_def":11,"./ckafka/query_def.ts":11,"./clb/datasource":88,"./clb/datasource.ts":88,"./clb/query":144,"./clb/query.ts":144,"./clb/query_def":12,"./clb/query_def.ts":12,"./cls/datasource":89,"./cls/datasource.ts":89,"./cls/query":145,"./cls/query.ts":145,"./cls/query_def":29,"./cls/query_def.ts":29,"./cmq/datasource":90,"./cmq/datasource.ts":90,"./cmq/query":146,"./cmq/query.ts":146,"./cmq/query_def":58,"./cmq/query_def.ts":58,"./cmq_topic/datasource":91,"./cmq_topic/datasource.ts":91,"./cmq_topic/query":147,"./cmq_topic/query.ts":147,"./cmq_topic/query_def":37,"./cmq_topic/query_def.ts":37,"./cos/datasource":92,"./cos/datasource.ts":92,"./cos/query_def":148,"./cos/query_def.ts":148,"./cpm/datasource":93,"./cpm/datasource.ts":93,"./cpm/query":149,"./cpm/query.ts":149,"./cpm/query_def":38,"./cpm/query_def.ts":38,"./cvm/datasource":94,"./cvm/datasource.ts":94,"./cvm/query":150,"./cvm/query.ts":150,"./cvm/query_def":59,"./cvm/query_def.ts":59,"./cynosdb_mysql/datasource":95,"./cynosdb_mysql/datasource.ts":95,"./cynosdb_mysql/query":151,"./cynosdb_mysql/query.ts":151,"./cynosdb_mysql/query_def":27,"./cynosdb_mysql/query_def.ts":27,"./dc/datasource":96,"./dc/datasource.ts":96,"./dc/query":152,"./dc/query.ts":152,"./dc/query_def":46,"./dc/query_def.ts":46,"./dcdb/datasource":97,"./dcdb/datasource.ts":97,"./dcdb/query":153,"./dcdb/query.ts":153,"./dcdb/query_def":16,"./dcdb/query_def.ts":16,"./dcg/datasource":98,"./dcg/datasource.ts":98,"./dcg/query":154,"./dcg/query.ts":154,"./dcg/query_def":47,"./dcg/query_def.ts":47,"./dcx/datasource":99,"./dcx/datasource.ts":99,"./dcx/query":155,"./dcx/query.ts":155,"./dcx/query_def":48,"./dcx/query_def.ts":48,"./ecdn/datasource":100,"./ecdn/datasource.ts":100,"./ecdn/query":156,"./ecdn/query.ts":156,"./ecdn/query_def":39,"./ecdn/query_def.ts":39,"./ecm/datasource":101,"./ecm/datasource.ts":101,"./ecm/query":157,"./ecm/query.ts":157,"./ecm/query_def":40,"./ecm/query_def.ts":40,"./ecm_block_storage/datasource":102,"./ecm_block_storage/datasource.ts":102,"./ecm_block_storage/query":158,"./ecm_block_storage/query.ts":158,"./ecm_block_storage/query_def":21,"./ecm_block_storage/query_def.ts":21,"./ecm_lb/datasource":103,"./ecm_lb/datasource.ts":103,"./ecm_lb/query":159,"./ecm_lb/query.ts":159,"./ecm_lb/query_def":49,"./ecm_lb/query_def.ts":49,"./gse/datasource":104,"./gse/datasource.ts":104,"./gse/query":160,"./gse/query.ts":160,"./gse/query_def":15,"./gse/query_def.ts":15,"./index":20,"./index.ts":20,"./lb/datasource":105,"./lb/datasource.ts":105,"./lb/query":161,"./lb/query.ts":161,"./lb/query_def":65,"./lb/query_def.ts":65,"./lighthouse/datasource":106,"./lighthouse/datasource.ts":106,"./lighthouse/query":162,"./lighthouse/query.ts":162,"./lighthouse/query_def":56,"./lighthouse/query_def.ts":56,"./mongodb/datasource":107,"./mongodb/datasource.ts":107,"./mongodb/query":163,"./mongodb/query.ts":163,"./mongodb/query_def":50,"./mongodb/query_def.ts":50,"./mr/datasource":108,"./mr/datasource.ts":108,"./mr/query":164,"./mr/query.ts":164,"./mr/query_def":24,"./mr/query_def.ts":24,"./nat_gateway/datasource":109,"./nat_gateway/datasource.ts":109,"./nat_gateway/query":165,"./nat_gateway/query.ts":165,"./nat_gateway/query_def":66,"./nat_gateway/query_def.ts":66,"./ov_cdn/datasource":110,"./ov_cdn/datasource.ts":110,"./ov_cdn/query":166,"./ov_cdn/query.ts":166,"./ov_cdn/query_def":67,"./ov_cdn/query_def.ts":67,"./pcx/datasource":111,"./pcx/datasource.ts":111,"./pcx/query":167,"./pcx/query.ts":167,"./pcx/query_def":60,"./pcx/query_def.ts":60,"./postgresql/datasource":112,"./postgresql/datasource.ts":112,"./postgresql/query":168,"./postgresql/query.ts":168,"./postgresql/query_def":41,"./postgresql/query_def.ts":41,"./qaap/datasource":113,"./qaap/datasource.ts":113,"./qaap/query":169,"./qaap/query.ts":169,"./qaap/query_def":51,"./qaap/query_def.ts":51,"./redis/datasource":114,"./redis/datasource.ts":114,"./redis/query":170,"./redis/query.ts":170,"./redis/query_def":61,"./redis/query_def.ts":61,"./redis_mem/datasource":115,"./redis_mem/datasource.ts":115,"./redis_mem/query":171,"./redis_mem/query.ts":171,"./redis_mem/query_def":17,"./redis_mem/query_def.ts":17,"./scf/datasource":116,"./scf/datasource.ts":116,"./scf/query":172,"./scf/query.ts":172,"./scf/query_def":28,"./scf/query_def.ts":28,"./sqlserver/datasource":117,"./sqlserver/datasource.ts":117,"./sqlserver/query":173,"./sqlserver/query.ts":173,"./sqlserver/query_def":30,"./sqlserver/query_def.ts":30,"./tcaplus/datasource":118,"./tcaplus/datasource.ts":118,"./tcaplus/query":174,"./tcaplus/query.ts":174,"./tcaplus/query_def":52,"./tcaplus/query_def.ts":52,"./tdmq/datasource":119,"./tdmq/datasource.ts":119,"./tdmq/query":175,"./tdmq/query.ts":175,"./tdmq/query_def":13,"./tdmq/query_def.ts":13,"./tdmq_rabbitmq/datasource":120,"./tdmq_rabbitmq/datasource.ts":120,"./tdmq_rabbitmq/query":176,"./tdmq_rabbitmq/query.ts":176,"./tdmq_rabbitmq/query_def":18,"./tdmq_rabbitmq/query_def.ts":18,"./tdmq_rocketmq/datasource":121,"./tdmq_rocketmq/datasource.ts":121,"./tdmq_rocketmq/query":177,"./tdmq_rocketmq/query.ts":177,"./tdmq_rocketmq/query_def":19,"./tdmq_rocketmq/query_def.ts":19,"./tke/datasource":122,"./tke/datasource.ts":122,"./tke/query":178,"./tke/query.ts":178,"./tke/query_def":74,"./tke/query_def.ts":74,"./tsf/datasource":123,"./tsf/datasource.ts":123,"./tsf/query":179,"./tsf/query.ts":179,"./tsf/query_def":62,"./tsf/query_def.ts":62,"./v_clb/datasource":124,"./v_clb/datasource.ts":124,"./v_clb/query":180,"./v_clb/query.ts":180,"./v_clb/query_def":25,"./v_clb/query_def.ts":25,"./vbc/datasource":125,"./vbc/datasource.ts":125,"./vbc/query":181,"./vbc/query.ts":181,"./vbc/query_def":53,"./vbc/query_def.ts":53,"./vpc_net_detect/datasource":126,"./vpc_net_detect/datasource.ts":126,"./vpc_net_detect/query":182,"./vpc_net_detect/query.ts":182,"./vpc_net_detect/query_def":42,"./vpc_net_detect/query_def.ts":42,"./vpngw/datasource":127,"./vpngw/datasource.ts":127,"./vpngw/query":183,"./vpngw/query.ts":183,"./vpngw/query_def":54,"./vpngw/query_def.ts":54,"./vpnx/datasource":128,"./vpnx/datasource.ts":128,"./vpnx/query":184,"./vpnx/query.ts":184,"./vpnx/query_def":55,"./vpnx/query_def.ts":55,"./waf/datasource":129,"./waf/datasource.ts":129,"./waf/query":185,"./waf/query.ts":185,"./waf/query_def":43,"./waf/query_def.ts":43};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=186},function(e,t,n){"use strict";var r=n(0),i=n(191),o=n(190),a=n.n(o),c=n(14),s=function(){function e(e,t,n){this.selectModels=[],this.target=e,this.templateSrv=t,this.scopedVars=n,e.policy=e.policy||c.c.APMServiceParams.policy,e.resultFormat=e.resultFormat||c.c.APMServiceParams.resultFormat,e.orderBy=e.orderBy||c.c.APMServiceParams.orderBy,e.orderType=e.orderType||c.c.APMServiceParams.orderType,e.tags=e.tags||Object(r.cloneDeep)(c.c.APMServiceParams.tags),e.groupBy=e.groupBy||Object(r.cloneDeep)(c.c.APMServiceParams.groupBy),e.select=e.select||Object(r.cloneDeep)(c.c.APMServiceParams.select),this.updateProjection()}return e.$inject=["target","templateSrv","scopedVars"],e.prototype.updateProjection=function(){this.selectModels=Object(r.map)(this.target.select,(function(e){return Object(r.map)(e,i.a.create)})),this.groupByParts=Object(r.map)(this.target.groupBy,i.a.create)},e.prototype.updatePersistedParts=function(){this.target.select=Object(r.map)(this.selectModels,(function(e){return Object(r.map)(e,(function(e){return{type:e.def.type,params:e.params}}))}))},e.prototype.hasGroupByTime=function(){return Object(r.find)(this.target.groupBy,(function(e){return"time"===e.type}))},e.prototype.hasFill=function(){return Object(r.find)(this.target.groupBy,(function(e){return"fill"===e.type}))},e.prototype.addGroupBy=function(e){var t=e.match(/^(\w+)\((.*)\)$/);if(t&&this.target.groupBy){var n=t[1],r=t[2],o=i.a.create({type:n,params:[r]}),a=this.target.groupBy.length;0===a?this.target.groupBy.push(o.part):"time"===n?this.target.groupBy.splice(0,0,o.part):"tag"===n&&"fill"===this.target.groupBy[a-1].type?this.target.groupBy.splice(a-1,0,o.part):this.target.groupBy.push(o.part),this.updateProjection()}},e.prototype.removeGroupByPart=function(e,t){var n=i.a.getCategories();"time"===e.def.type&&(this.target.groupBy=Object(r.filter)(this.target.groupBy,(function(e){return"fill"!==e.type})),this.target.select=Object(r.map)(this.target.select,(function(e){return Object(r.filter)(e,(function(e){var t=i.a.create(e);return t.def.category!==n.Aggregations&&t.def.category!==n.Selectors}))}))),this.target.groupBy.splice(t,1),this.updateProjection()},e.prototype.removeSelect=function(e){this.target.select.splice(e,1),this.updateProjection()},e.prototype.removeSelectPart=function(e,t){if("field"===t.def.type){if(this.selectModels.length>1){var n=Object(r.indexOf)(this.selectModels,e);this.selectModels.splice(n,1)}}else{var i=Object(r.indexOf)(e,t);e.splice(i,1)}this.updatePersistedParts()},e.prototype.addSelectPart=function(e,t){var n=i.a.create({type:t});n.def.addStrategy(e,n,this),this.updatePersistedParts()},e.prototype.getMeasurementAndPolicy=function(e){var t=this.target.policy,n=this.target.measurement||"measurement";return n.match("^/.*/$")?e&&(n=this.templateSrv.replace(n,this.scopedVars,"regex")):n='"'+n+'"',(t="default"!==t?'"'+this.target.policy+'".':"")+n},e.prototype.interpolateQueryStr=function(e,t,n){return t.multi||t.includeAll?"string"==typeof e?a.a.regexEscape(e):"("+Object(r.map)(e,a.a.regexEscape).join("|")+")":e},e.prototype.render=function(e){var t,n,i=this,o=this.target;if(o.rawQuery)return e?this.templateSrv.replace(o.query,this.scopedVars,this.interpolateQueryStr):o.query;var a,c,s="select ";if("custom"===(null===(t=this.selectModels[0][1])||void 0===t?void 0:t.part.type))s+=this.selectModels[0][0].params[0];else for(a=0;a<(null===(n=this.selectModels)||void 0===n?void 0:n.length);a++){var u=this.selectModels[a],l="";for(c=0;c0&&(s+=", "),s+=l}s+=" from "+this.getMeasurementAndPolicy(e)+" where ";var p=Object(r.map)(o.tags,(function(t,n){return i.renderTagCondition(t,n,e)}));p.length>0&&(s+="("+p.join(" ")+") and "),s+="$timeFilter";var f="",d=this.groupByParts.length,m=this.groupByParts;for(d>2&&(m=this.groupByParts.filter((function(e){return"time"!==e.def.type}))),a=0;a0&&(f+="fill"===h.def.type?" ":", "),f+=h.render("")}return f.length&&(s+=" group by "+f),o.fill&&(s+=" fill("+o.fill+")"),o.orderType&&(s+=" order by "+o.orderType),o.orderBy&&(s+=" "+o.orderBy),o.limit&&(s+=" limit "+o.limit),o.slimit&&(s+=" slimit "+o.slimit),o.tz&&(s+=" tz('"+o.tz+"')"),s},e.prototype.renderAdhocFilters=function(e){var t=this;return Object(r.map)(e,(function(e,n){return t.renderTagCondition(e,n,!0)})).join(" ")},e.prototype.renderTagCondition=function(e,t,n){var r="",i=e.operator,o=e.value;return t>0&&(r=(e.condition.toLowerCase()||"and")+" "),i||(i=/^\/.*\/$/.test(o)?"=~":"="),"=~"!==i&&"!~"!==i?(n&&(o=this.templateSrv.replace(o,this.scopedVars)),">"!==i&&"<"!==i&&(o="'"+o.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),"in"===i&&(o="("+o+")")):n&&(o=this.templateSrv.replace(o,this.scopedVars,"regex")),r+'"'+e.key+'" '+i+" "+o},e}();t.a=s},function(e,t,n){"use strict";n.r(t),n.d(t,"TCMonitorDatasource",(function(){return u}));var r=n(0),i=n.n(r),o=n(20),a=n(2),c=n(5),s=n(8),u=function(){function e(e,t,n){var r=this;this.instanceSettings=e,this.backendSrv=t,this.templateSrv=n,i.a.forEach(o.Datasources,(function(e,t){r[t]=new e(r.instanceSettings,r.backendSrv,r.templateSrv)}))}return e.$inject=["instanceSettings","backendSrv","templateSrv"],e.prototype.getNamespaces=function(){var e=this,t=[];return i.a.forEach(o.SERVICES,(function(n){!0===e.instanceSettings.jsonData[n.service]&&t.push(n)})),t},e.prototype.getCascaderNamespaces=function(){var e=this,t=o.SERVICES.filter((function(t){return e.instanceSettings.jsonData[t.service]}));return Object(c.f)(t)},e.prototype.getSelectedServices=function(){var e=this.getNamespaces();return i.a.map(e,(function(e){var t=e.namespace;return Object(a.f)(t)}))},e.prototype.query=function(e){var t=this,n=[],r=this.getSelectedServices();return i.a.forEach(r,(function(r){var o=i.a.cloneDeep(e),a=i.a.filter(o.targets,(function(e){return e.service===r}));if(o.targets=a,o.targets.length>0){var c=t["".concat(i.a.toUpper(r),"Datasource")].query(o);c&&n.push(c)}})),0===n.length?Promise.resolve({data:[],state:s.LoadingState.Done}):Promise.all(n).then((function(e){return{data:i.a.flatten(e),state:s.LoadingState.Done}}))},e.prototype.metricFindQuery=function(e,t){var n=Object(a.h)(e),r=Object(a.f)(n.namespace||"");if(i.a.isEmpty(n)||!n.namespace||!n.action||!r)return Promise.resolve([]);if(this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery){var o=this["".concat(i.a.toUpper(r),"Datasource")].metricFindQuery(n,i.a.get(t,"variable.regex",void 0));if(o)return o}return Promise.resolve([])},e.prototype.getRegions=function(e){return this["".concat(i.a.toUpper(e),"Datasource")].getRegions?this["".concat(i.a.toUpper(e),"Datasource")].getRegions():[]},e.prototype.getMetrics=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getMetrics(t)},e.prototype.getZones=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getZones?this["".concat(i.a.toUpper(e),"Datasource")].getZones(t):[]},e.prototype.getFilterDropdown=function(e,t){return this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown?this["".concat(i.a.toUpper(e),"Datasource")].getFilterDropdown(t):[]},e.prototype.getInstances=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getInstances(t,n)},e.prototype.getListeners=function(e,t,n){return this["".concat(i.a.toUpper(e),"Datasource")].getListeners?this["".concat(i.a.toUpper(e),"Datasource")].getListeners(t,n):[]},e.prototype.getVpcIds=function(e,t){if(this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds)return this["".concat(i.a.toUpper(e),"Datasource")].getVpcIds(t)},e.prototype.testDatasource=function(){var e=this,t=[],n=this.getSelectedServices();return i.a.forEach(n,(function(n){t.push(e["".concat(i.a.toUpper(n),"Datasource")].testDatasource())})),0===t.length?Promise.resolve(null):Promise.all(t).then((function(e){var t="success",n="DataSource Connection OK",r=i.a.reduce(e,(function(e,t){return"error"===t.status&&(""===e&&(e+="Oops! Found an error in: "),e+="".concat(t.service,": ").concat(t.message,"; \n")),e}),"");return r&&(t="error",n=r),{status:t,message:n,title:i.a.upperFirst(t)}}))},e.prototype.getServiceFn=function(e,t){var n=this;return function(){for(var r,o=[],a=0;a=n+2;if("count"!==t.def.type&&i)e[n+1].def.category===s.Aggregations&&e.splice(n+1,1);else if("count"===t.def.type)return void(i&&"count"===e[n+1].def.type||e.splice(n+1,0,t))}return void(e[n]=t)}if(r.def.category===s.Selectors)return void(e[n]=t)}e.splice(1,0,t)}function m(e,t){var n;for(n=0;n0){if("math"===e[n-1].def.type)return void(e[n-1]=t);if(n>1&&"math"===e[n-2].def.type)return void(e[n-2]=t);if("alias"===e[n-1].def.type)return void e.splice(n-1,0,t)}e.push(t)},category:s.Math,params:[{name:"expr",type:"string"}],defaultParams:[" / 100"],renderer:function(e,t){return t+" "+e.params[0]}}),l({type:"alias",addStrategy:function(e,t){var n=e.length;n>0&&"alias"===e[n-1].def.type?e[n-1]=t:e.push(t)},category:s.Aliasing,params:[{name:"name",type:"string",quote:"double"}],defaultParams:["alias"],renderMode:"suffix",renderer:function(e,t){return t+' AS "'+e.params[0]+'"'}}),t.a={create:u,getCategories:function(){return s},replaceAggregationAdd:d}},function(e,t,n){"use strict";function r(e){setTimeout((function(){throw e}),0)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),o=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(Array.isArray(t))t.push(n);else{if("object"!=typeof t)return[t,n];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if("object"!=typeof t)return[t].concat(n);var a=t;return Array.isArray(t)&&!Array.isArray(n)&&(a=o(t,i)),Array.isArray(t)&&Array.isArray(n)?(n.forEach((function(n,o){r.call(t,o)?t[o]&&"object"==typeof t[o]?t[o]=e(t[o],n,i):t.push(n):t[o]=n})),t):Object.keys(n).reduce((function(t,o){var a=n[o];return r.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),a)}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,n){"use strict";n.r(t),n.d(t,"queryDDO",(function(){return a}));var r=n(6),i=n.n(r),o=function(){function e(t,n){Object.assign(t,e._config),t.onChecked=function(e,n){!0===t.target.queries[e]&&(t.target.queries[n]=!1),t.onChange()},t.init()}return e.$inject=["$scope","$rootScope"],e}();function a(){return{template:'\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n',controller:o,restrict:"E",scope:{target:"=",showDetail:"=",region:"=",datasource:"=",getDropdownOptions:"&",onChange:"&"}}}t.default=function(e,t){o._config=t,i.a.directive(e,a)}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";var r=n(207),i=n(208),o=n(194);e.exports={formats:o,parse:i,stringify:r}},function(e){e.exports=JSON.parse('{"type":"datasource","name":"Tencent Cloud Monitoring","id":"tencentcloud-monitor-datasource","backend":true,"alerting":true,"logs":true,"metrics":true,"annotations":false,"executable":"tencentcloud-monitor-app-backend","queryOptions":{"maxDataPoints":true},"routes":[{"path":"cls-internal","url":"https://cls.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region-internal","url":"https://region.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api-internal","url":"https://api.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq-internal","url":"https://cmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai-internal","url":"https://cmq.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen-internal","url":"https://cmq.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr-internal","url":"https://emr.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai-internal","url":"https://emr.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen-internal","url":"https://emr.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf-internal","url":"https://scf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai-internal","url":"https://scf.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen-internal","url":"https://scf.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs-internal","url":"https://cfs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai-internal","url":"https://cfs.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen-internal","url":"https://cfs.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka-internal","url":"https://ckafka.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai-internal","url":"https://ckafka.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen-internal","url":"https://ckafka.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb-internal","url":"https://clb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai-internal","url":"https://clb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen-internal","url":"https://clb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb-internal","url":"https://mongodb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai-internal","url":"https://mongodb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen-internal","url":"https://mongodb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc-internal","url":"https://vpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai-internal","url":"https://vpc.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen-internal","url":"https://vpc.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx-internal","url":"https://vpc.api.qcloud.com.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm-internal","url":"https://cvm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai-internal","url":"https://cvm.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen-internal","url":"https://cvm.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor-internal","url":"https://monitor.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai-internal","url":"https://monitor.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen-internal","url":"https://monitor.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb-internal","url":"https://cdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai-internal","url":"https://cdb.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen-internal","url":"https://cdb.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres-internal","url":"https://postgres.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai-internal","url":"https://postgres.ap-shanghai-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen-internal","url":"https://postgres.ap-shenzhen-fsi.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn-internal","url":"https://cdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis-internal","url":"https://redis.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb-internal","url":"https://dcdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc-internal","url":"https://dc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb-internal","url":"https://cynosdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver-internal","url":"https://sqlserver.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip-internal","url":"https://bmeip.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc-internal","url":"https://bmvpc.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb-internal","url":"https://bmlb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm-internal","url":"https://bm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es-internal","url":"https://es.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs-internal","url":"https://cbs.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb-internal","url":"https://tcaplusdb.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway-internal","url":"https://apigateway.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq-internal","url":"https://tdmq.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap-internal","url":"https://gaap.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm-internal","url":"https://ecm.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse-internal","url":"https://gse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse-internal","url":"https://lighthouse.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf-internal","url":"https://tsf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum-internal","url":"https://rum.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke-internal","url":"https://tke.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn-internal","url":"https://ecdn.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf-internal","url":"https://waf.internal.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apigateway","url":"https://apigateway.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"api","url":"https://api.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cmq","url":"https://cmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shanghai","url":"https://cmq.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cmq/shenzhen","url":"https://cmq.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"emr","url":"https://emr.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shanghai","url":"https://emr.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/emr/shenzhen","url":"https://emr.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"scf","url":"https://scf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shanghai","url":"https://scf.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/scf/shenzhen","url":"https://scf.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cfs","url":"https://cfs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shanghai","url":"https://cfs.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cfs/shenzhen","url":"https://cfs.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ckafka","url":"https://ckafka.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shanghai","url":"https://ckafka.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/ckafka/shenzhen","url":"https://ckafka.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"clb","url":"https://clb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shanghai","url":"https://clb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/clb/shenzhen","url":"https://clb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"mongodb","url":"https://mongodb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shanghai","url":"https://mongodb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/mongodb/shenzhen","url":"https://mongodb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"vpc","url":"https://vpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shanghai","url":"https://vpc.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/vpc/shenzhen","url":"https://vpc.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"pcx","url":"https://vpc.api.qcloud.com","headers":[{"name":"Content-Type","content":"application/x-www-form-urlencoded"}]},{"path":"cvm","url":"https://cvm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shanghai","url":"https://cvm.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cvm/shenzhen","url":"https://cvm.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"monitor","url":"https://monitor.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shanghai","url":"https://monitor.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/monitor/shenzhen","url":"https://monitor.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdb","url":"https://cdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shanghai","url":"https://cdb.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cdb/shenzhen","url":"https://cdb.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"postgres","url":"https://postgres.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shanghai","url":"https://postgres.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/postgres/shenzhen","url":"https://postgres.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cdn","url":"https://cdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"redis","url":"https://redis.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dcdb","url":"https://dcdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"dc","url":"https://dc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cynosdb","url":"https://cynosdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"sqlserver","url":"https://sqlserver.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmeip","url":"https://bmeip.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmvpc","url":"https://bmvpc.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bmlb","url":"https://bmlb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"bm","url":"https://bm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"es","url":"https://es.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cbs","url":"https://cbs.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tcaplusdb","url":"https://tcaplusdb.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tdmq","url":"https://tdmq.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gaap","url":"https://gaap.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecm","url":"https://ecm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"gse","url":"https://gse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"cls","url":"https://cls.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shanghai","url":"https://cls.ap-shanghai-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"fsi/cls/shenzhen","url":"https://cls.ap-shenzhen-fsi.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"region","url":"https://region.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"lighthouse","url":"https://lighthouse.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tsf","url":"https://tsf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"rum","url":"https://rum.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"apm","url":"https://apm.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"tke","url":"https://tke.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"ecdn","url":"https://ecdn.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]},{"path":"waf","url":"https://waf.tencentcloudapi.com","headers":[{"name":"Content-Type","content":"application/json"}]}],"info":{"author":{"name":"Tencent Cloud"},"logos":{"small":"img/tencent-cloud.svg","large":"img/tencent-cloud.svg"},"description":"Data source for Tencent Cloud monitoring service"}}')},function(e,t){e.exports=l},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",(function(){return i}));var i=r()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return u}));var r=n(68),i=n(72),o=n(73),a=n(217),c=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.a(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),s=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.a(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function u(e,t){if(!t.closed)return e instanceof o.a?e.subscribe(t):Object(a.a)(e)(t)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return r}));var r,i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;!function(e){e[e.LUCENE=0]="LUCENE",e[e.CQL=1]="CQL"}(r||(r={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},,function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=[{label:"Time series",value:"time_series"},{label:"Table",value:"table"},{label:"Logs",value:"logs"}],i="time_series",o=["sql_metric","service_metric","error_metric","runtime_metric","mq_metric"]},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(130),i=n(192),o={closed:!0,next:function(e){},error:function(e){if(r.a.useDeprecatedSynchronousErrorHandling)throw e;Object(i.a)(e)},complete:function(){}}},function(e,t,n){"use strict";var r=n(193),i=n(194),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,c={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},s=function e(t,n,i,o,a,s,u,l,p,f,d,m){var h=t;if("function"==typeof u)h=u(n,h);else if(h instanceof Date)h=f(h);else if(null===h){if(o)return s&&!m?s(n,c.encoder):n;h=""}if("string"==typeof h||"number"==typeof h||"boolean"==typeof h||r.isBuffer(h))return s?[d(m?n:s(n,c.encoder))+"="+d(s(h,c.encoder))]:[d(n)+"="+d(String(h))];var g,y=[];if(void 0===h)return y;if(Array.isArray(u))g=u;else{var v=Object.keys(h);g=l?v.sort(l):v}for(var b=0;b0?x+S:""}},function(e,t,n){"use strict";var r=n(193),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,a=/(\[[^[\]]*])/.exec(r),c=a?r.slice(0,a.index):r,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var u=0;null!==(a=o.exec(r))&&u=0;--i){var o,a=e[i];if("[]"===a)o=(o=[]).concat(r);else{o=n.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,s=parseInt(c,10);!isNaN(s)&&a!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=r:o[c]=r}r=o}return r}(s,t,n)}};e.exports=function(e,t){var n=t?r.assign({},t):{};if(null!==n.decoder&&void 0!==n.decoder&&"function"!=typeof n.decoder)throw new TypeError("Decoder has to be a function.");if(n.ignoreQueryPrefix=!0===n.ignoreQueryPrefix,n.delimiter="string"==typeof n.delimiter||r.isRegExp(n.delimiter)?n.delimiter:o.delimiter,n.depth="number"==typeof n.depth?n.depth:o.depth,n.arrayLimit="number"==typeof n.arrayLimit?n.arrayLimit:o.arrayLimit,n.parseArrays=!1!==n.parseArrays,n.decoder="function"==typeof n.decoder?n.decoder:o.decoder,n.allowDots="boolean"==typeof n.allowDots?n.allowDots:o.allowDots,n.plainObjects="boolean"==typeof n.plainObjects?n.plainObjects:o.plainObjects,n.allowPrototypes="boolean"==typeof n.allowPrototypes?n.allowPrototypes:o.allowPrototypes,n.parameterLimit="number"==typeof n.parameterLimit?n.parameterLimit:o.parameterLimit,n.strictNullHandling="boolean"==typeof n.strictNullHandling?n.strictNullHandling:o.strictNullHandling,""===e||null==e)return n.plainObjects?Object.create(null):{};for(var c="string"==typeof e?function(e,t){for(var n={},r=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,c=r.split(t.delimiter,a),s=0;s0){var s=Object(r.reduce)(this.target.tags,(function(n,r){return"MEASUREMENTS"===e&&"id"===r.key||r.key===t||">"===r.operator||"<"===r.operator||n.push(function(e,t){var n="",r=e.operator,i=e.value;return t>0&&(n=(e.condition.toLowerCase()||"AND")+" "),r||(r=/^\/.*\/$/.test(e.value)?"=~":"="),(""===i||"=~"!==r&&"!~"!==r)&&(i="'"+i.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),n+'"'+e.key+'" '+r+" "+i}(r,n.length)),n}),[]);s.length>0&&(c+=" where "+s.join(" "))}return"MEASUREMENTS"===e&&(c+=" limit 100"),c},e}()},function(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e}},function(e,t,n){"use strict";function r(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(192),i=n(200),o=n(189),a=n(215),c=n(216),s=n(214);n.d(t,"a",(function(){return u}));var u=function(e){if(e&&"function"==typeof e[o.a])return l=e,function(e){var t=l[o.a]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if(Object(a.a)(e))return u=e,function(e){for(var t=0,n=u.length;t\n
\n
\n \n
\n \n\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n ({{ctrl.getTimeDesc()}})\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \x3c!-- this is explain how much items will display to user --\x3e\n \n
\n
\n\n'},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i="~";function o(){}function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function c(e,t,n,r,o){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new a(n,r||e,o),s=i?i+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],c]:e._events[s].push(c):(e._events[s]=c,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function u(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),u.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)r.call(e,t)&&n.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},u.prototype.listeners=function(e){var t=i?i+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,o=n.length,a=new Array(o);r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(c+=" AND "+new l.a({},this.templateSrv,s).renderAdhocFilters(h));return s.timeFilter={value:c},m=this.templateSrv.replace(m,s),this._seriesQuery(m,e).pipe(Object(o.a)((function(r){if(!r||!r.results)return{data:[]};var i=[];for(t=0;t0)throw{message:"APM Error: "+c[0].error,data:a}}}return a.Response.Result})),Object(c.a)((function(e){return e.cancelled?Object(i.of)(e):Object(i.throwError)(n.handleErrors(e))})))})))},n.prototype.handleErrors=function(e){var t,n={message:(null==e?void 0:e.status)||(null==e?void 0:e.message)||"Unknown error during query transaction. Please check JS console logs."};return(Number.isInteger(e.status)&&0!==e.status||e.status>=300)&&((null===(t=e.data)||void 0===t?void 0:t.error)?(n.message="APM Error: "+e.data.error,n.data=e.data,n.config=e.config):(n.message="Network Error: "+e.statusText+"("+e.status+")",n.data=e.data,n.config=e.config)),n},n.prototype.getTimeFilter=function(e){return"time >= "+this.getAPMTime(e.rangeRaw.from,!1,e.timezone)+" and time <= "+this.getAPMTime(e.rangeRaw.to,!0,e.timezone)},n.prototype.getAPMTime=function(e,t,n){if(Object(r.isString)(e)){if("now"===e)return"now()";var i=/^now-(\d+)([dhms])$/.exec(e);if(i)return"now() - "+parseInt(i[1],10)+i[2];e=u.dateMath.parse(e,t,n)}return e.valueOf()+"ms"},n.prototype.fixTimePeriod=function(e,t){var n,r=this,i=this.getTimePeriod(t.rangeRaw,t.timezone);return null===(n=e.groupBy)||void 0===n||n.forEach((function(t){"time"===t.type&&"1d"!==t.params[0]&&(e=r.modifyTime(e,i))})),e},n.prototype.getTimePeriod=function(e,t){var n,r,i=null===(n=u.dateMath.parse(e.from,!1,t))||void 0===n?void 0:n.valueOf(),o=null===(r=u.dateMath.parse(e.to,!0,t))||void 0===r?void 0:r.valueOf(),a=0;return i&&o&&(a=o-i),a<=432e5?"1m":a<=1728e5?"5m":a<=6048e5?"1h":"1d"},n.prototype.modifyTime=function(e,t){var n;if(!e.groupBy)return e;for(var r=0,i=e.groupBy;r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||r.indexOf("show retention policies")>=0,o=r.indexOf("show measurements")>=0,a=new Set;return Object(c.each)(n.series,(function(e){Object(c.each)(e.values,(function(e){Object(c.isArray)(e)?i?h(a,e[0]):void 0!==e[1]?h(a,e[1]):h(a,e[0]):h(a,e)}))})),o?Array.from(a).filter((function(e){return s.b.includes(e)})).map((function(e){return{text:e}})):Array.from(a).map((function(e){return{text:e}}))},e.prototype.getTable=function(e,t,n){var i,o,s=new a.a;if(e.length>0)if(s.meta=u(u({},n),{executedQueryString:null===(i=e[0].meta)||void 0===i?void 0:i.executedQueryString}),s.refId=t.refId,s=function(e,t,n){var i=function(e){var t,n=[];null===(t=e.select)||void 0===t||t.forEach((function(e){var t,r,i=e.filter((function(e){return"field"!==e.type}));i.length>0?n.push(i[0].type):(null===(r=null===(t=e[0])||void 0===t?void 0:t.params)||void 0===r?void 0:r[0])&&n.push(e[0].params[0].toString())}));var r=[];return n.forEach((function(e){r.push(function e(t,n,r,i){if(r.indexOf(n)>-1)return i++,e(t,t+"_"+i,r,i);return n}(e,e,r,0))})),r}(n);e[0].fields.forEach((function(e){"time"===e.name?t.columns.push({text:"Time",type:r.FieldType.time}):"value"===e.name&&e.labels&&Object.keys(e.labels).forEach((function(e){t.columns.push({text:e})}))})),"metricFindQuery"===e[0].refId&&e.forEach((function(e){e.name&&t.columns.push({text:e.name})}));for(var o=0;oa{margin-left:10px}.tc-switch{border-left:1px solid #262628;margin-bottom:0 !important}.tc-condition-block{margin-right:10px;display:inline-block}.tc-condition-block .tc-condition-input{border-radius:0}.tc-condition-block .tc-condition-minus{vertical-align:top;border-radius:0 3px 3px 0}.tc-condition-block .tc-condition-dropdown{display:inline-block}.tc-condition-block>input{display:inline-block;margin-right:0}.tc-condition-block>label{display:inline-block}.tc-condition-add{display:inline-block;vertical-align:top}.tc-condition-add>label{border-radius:3px}.filtered-color{color:#ff851b}.secret-tips{position:absolute;right:-25px;border-radius:2px;background:#1b1b1b;padding:10px;top:-35px;width:300px;border:1px solid #2c3235}.secret-tips-tri{position:absolute;width:15px;height:15px;left:-8px;top:60px;background:#1b1b1b;border:1px solid #2c3235;border-top:0;border-right:0;transform:rotate(45deg)}.rc-cascader-menu-item{min-width:160px;font-size:14px}","",{version:3,sources:["query_editor.css"],names:[],mappings:"AAAA,eAAe,cAAc,CAAC,iBAAiB,CAAC,+BAA+B,eAAe,CAAC,8CAA8C,iBAAiB,CAAC,8BAA8B,iBAAiB,CAAC,gCAAgC,gBAAgB,CAAC,WAAW,6BAA6B,CAAC,0BAA0B,CAAC,oBAAoB,iBAAiB,CAAC,oBAAoB,CAAC,wCAAwC,eAAe,CAAC,wCAAwC,kBAAkB,CAAC,yBAAyB,CAAC,2CAA2C,oBAAoB,CAAC,0BAA0B,oBAAoB,CAAC,cAAc,CAAC,0BAA0B,oBAAoB,CAAC,kBAAkB,oBAAoB,CAAC,kBAAkB,CAAC,wBAAwB,iBAAiB,CAAC,gBAAgB,aAAa,CAAC,aAAa,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,iBAAiB,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAuB,CAAC,uBAAuB,eAAe,CAAC,cAAc",file:"query_editor.css",sourcesContent:[".tc-sub-params{margin-top:4px;margin-left:125px}.tc-sub-params .gf-form-inline{min-height:42px}.tc-sub-params .gf-form-inline .gf-form-label{margin-bottom:2px}.tc-sub-params .tc-info-label{margin-bottom:6px}.tc-sub-params .tc-info-label>a{margin-left:10px}.tc-switch{border-left:1px solid #262628;margin-bottom:0 !important}.tc-condition-block{margin-right:10px;display:inline-block}.tc-condition-block .tc-condition-input{border-radius:0}.tc-condition-block .tc-condition-minus{vertical-align:top;border-radius:0 3px 3px 0}.tc-condition-block .tc-condition-dropdown{display:inline-block}.tc-condition-block>input{display:inline-block;margin-right:0}.tc-condition-block>label{display:inline-block}.tc-condition-add{display:inline-block;vertical-align:top}.tc-condition-add>label{border-radius:3px}.filtered-color{color:#ff851b}.secret-tips{position:absolute;right:-25px;border-radius:2px;background:#1b1b1b;padding:10px;top:-35px;width:300px;border:1px solid #2c3235}.secret-tips-tri{position:absolute;width:15px;height:15px;left:-8px;top:60px;background:#1b1b1b;border:1px solid #2c3235;border-top:0;border-right:0;transform:rotate(45deg)}.rc-cascader-menu-item{min-width:160px;font-size:14px}"]}]),e.exports=t},function(e,t,n){var r=n(220),i=n(233);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var o={insert:"head",singleton:!1},a=(r(i,o),i.locals?i.locals:{});e.exports=a},function(e,t,n){(t=n(221)(!0)).push([e.i,".log-service-monospaced-font-family {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n.log-service-monospaced-font-family button,\n.log-service-monospaced-font-family input,\n.log-service-monospaced-font-family select,\n.log-service-monospaced-font-family textarea {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n","",{version:3,sources:["index.less"],names:[],mappings:"AAAA;EACE,8DAA8D;AAChE;AACA;;;;EAIE,8DAA8D;AAChE",file:"index.less",sourcesContent:[".log-service-monospaced-font-family {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n.log-service-monospaced-font-family button,\n.log-service-monospaced-font-family input,\n.log-service-monospaced-font-family select,\n.log-service-monospaced-font-family textarea {\n font-family: RobotoMono-Regular, monospace, Roboto, sans-serif;\n}\n"]}]),e.exports=t},function(e,t,n){"use strict";(function(e){var r=n(236),i=n(237),o=n(238);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function c(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Q(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function h(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return x(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return O(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=s.from(t,r)),s.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,r,i){var o,a=1,c=e.length,s=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,c/=2,s/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;oc&&(n=c-s),o=n;o>=0;o--){for(var p=!0,f=0;fi&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function O(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+p<=n)switch(p){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(s=(31&u)<<6|63&o)>127&&(l=s);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(s=(15&u)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(l=s);break;case 4:o=e[i+1],a=e[i+2],c=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&c)&&(s=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&c)>65535&&s<1114112&&(l=s)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},s.prototype.compare=function(e,t,n,r,i){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),c=Math.min(o,a),u=this.slice(r,i),l=e.slice(t,n),p=0;pi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return I(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return D(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,r,i,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function T(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function P(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function q(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function M(e,t,n,r,o){return o||q(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function L(e,t,n,r,o){return o||q(e,0,n,8),i.write(e,t,n,r,52,8),n+8}s.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||j(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},s.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||j(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),i.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),i.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},s.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=0,a=1,c=0;for(this[t]=255&e;++o>0)-c&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=n-1,a=1,c=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===c&&0!==this[t+o+1]&&(c=1),this[t+o]=(e/a>>0)-c&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,n){return M(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return M(this,e,t,!1,n)},s.prototype.writeDoubleLE=function(e,t,n){return L(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return L(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Q(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(R,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(235))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=u(e),a=r[0],c=r[1],s=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,c)),l=0,p=c>0?a-4:a;for(n=0;n>16&255,s[l++]=t>>8&255,s[l++]=255&t;2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,s[l++]=255&t);1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,s[l++]=t>>8&255,s[l++]=255&t);return s},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=0,c=n-i;ac?c:a+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,s=a.length;c0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,a=[],c=t;c>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,a,c=8*i-r-1,s=(1<>1,l=-7,p=n?i-1:0,f=n?-1:1,d=e[t+p];for(p+=f,o=d&(1<<-l)-1,d>>=-l,l+=c;l>0;o=256*o+e[t+p],p+=f,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=f,l-=8);if(0===o)o=1-u;else{if(o===s)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=u}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,c,s,u=8*o-i-1,l=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,m=r?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),(t+=a+p>=1?f/s:f*Math.pow(2,1-p))*s>=2&&(a++,s/=2),a+p>=l?(c=0,a=l):a+p>=1?(c=(t*s-1)*Math.pow(2,i),a+=p):(c=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&c,d+=m,c/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=m,a/=256,u-=8);e[n+d-m]|=128*h}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";n.r(t);var r=n(8),i=n(4),o=n.n(i),a=n(222),c=n(0),s=n.n(c),u=n(2),l=n(20),p=n(6),f=n.n(p),d=n(210),m=n.n(d),h=function(){function e(e,t){e.init=function(){e.type=e.type||"input",e.placeholder=Object(d.isDefined)(e.placeholder)?e.placeholder:"",e.value=Object(d.isDefined)(e.value)?e.value:[],e.maxCond=s.a.toInteger(e.maxCond)>0?s.a.toInteger(e.maxCond):-1},e.onInputBlur=function(){e.onChangeInternal()},e.deleteCondition=function(t){e.value.splice(t,1),e.onChangeInternal()},e.addCondition=function(t){e.value.push(t),e.onChangeInternal()},e.onChangeInternal=function(){e.onChange({value:e.value})},e.onSelectChange=function(t){e.onChange({value:t})},e.getSelectedOptions=function(){var t=s.a.filter(e.options,(function(t){return-1!==s.a.get(e.value,"value",[]).indexOf(t.value)}));return t.length>0?s.a.map(t,(function(e){return"".concat(e.text,": ").concat(e.value)})).join("; "):void 0},e.init()}return e.$inject=["$scope","$rootScope"],e}();f.a.directive("multiCondition",(function(){return{template:'\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n
\n\n\x3c!--
\n \n \n
--\x3e\n',controller:h,restrict:"E",scope:{type:"=",value:"=",maxCond:"=?",placeholder:"=?",options:"=?",maxNum:"=?",minNum:"=?",multiple:"=?",onChange:"&",getOptions:"&"}}})),y.$inject=["$compile","$window","$timeout","$rootScope"];var g=function(){function e(){}return e.prototype.show=function(){var e=this;this.oldVariableText=s.a.get(this.value,"text",""),this.highlightIndex=-1,this.selectOptions=s.a.cloneDeep(this.options),s.a.map(this.selectOptions,(function(t){var n=s.a.get(e.value,"value");n?s.a.isArray(n)?t.selected=-1!==s.a.indexOf(n,t.value):t.selected=n===t.value:t.selected=!1})),this.selectedValues=s.a.filter(this.selectOptions,{selected:!0}),this.search={query:"",options:this.selectOptions.slice(0,Math.min(this.selectOptions.length,1e3))},this.dropdownVisible=!0},e.prototype.updateLinkText=function(){this.linkText=s.a.get(this.value,"text","")},e.prototype.clearSelections=function(){s.a.each(this.selectOptions,(function(e){e.selected=!1})),this.selectionsChanged(!1)},e.prototype.keyDown=function(e){27===e.keyCode&&this.hide(),40===e.keyCode&&this.moveHighlight(1),38===e.keyCode&&this.moveHighlight(-1),13===e.keyCode&&(0===this.search.options.length?this.commitChanges():this.selectValue(this.search.options[this.highlightIndex],{},!0,!1)),32===e.keyCode&&this.selectValue(this.search.options[this.highlightIndex],{},!1,!1)},e.prototype.moveHighlight=function(e){this.highlightIndex=(this.highlightIndex+e)%this.search.options.length},e.prototype.selectValue=function(e,t,n,r){var i=this;if(e){e.selected=!this.multiple||!e.selected,r=r||!1;var o=function(t){s.a.each(i.selectOptions,(function(n){e!==n&&(n.selected=t)}))};(n=n||!1)&&(e.selected=!0),r?(o(!1),n=!0):this.multiple?(t.ctrlKey||t.metaKey||t.shiftKey)&&(n=!0,o(!1)):(o(!1),n=!0),this.selectionsChanged(n)}},e.prototype.selectionsChanged=function(e){this.selectedValues=s.a.filter(this.selectOptions,{selected:!0}),this.value.value=s.a.map(this.selectedValues,"value"),this.value.text=s.a.map(this.selectedValues,"text").join(" + "),this.multiple||(this.value.value=s.a.get(this.selectedValues,"0.value","")),e&&this.commitChanges()},e.prototype.commitChanges=function(){this.dropdownVisible=!1,this.updateLinkText(),this.value.text!==this.oldVariableText&&this.onChange({value:this.value})},e.prototype.queryChanged=function(){var e=this;this.highlightIndex=-1,this.search.options=s.a.filter(this.selectOptions,(function(t){return-1!==t.text.toLowerCase().indexOf(e.search.query.toLowerCase())})),this.search.options=this.search.options.slice(0,Math.min(this.search.options.length,1e3))},e.prototype.init=function(){s.a.isEmpty(this.value)&&(this.value={text:"",value:this.multiple?[]:""}),this.updateLinkText()},e}();function y(e,t,n,r){return{restrict:"E",scope:{options:"=",multiple:"=",value:"=",onChange:"&"},template:'\n\n',controller:"CustomSelectDropdownCtrl",controllerAs:"vm",bindToController:!0,link:function(e,r){var i=m.a.element(t.document.body),o=r.find(".variable-value-link"),a=r.find("input");function c(t){0===r.has(t.target).length&&e.$apply((function(){e.vm.commitChanges()}))}e.$watch("vm.dropdownVisible",(function(e){e?(a.css("width",Math.max(o.width(),136)+"px"),a.show(),o.hide(),a.focus(),n((function(){i.on("click",c)}),0,!1)):(a.hide(),o.show(),i.off("click",c))})),e.vm.init()}}}f.a.controller("CustomSelectDropdownCtrl",g),f.a.directive("customSelectDropdown",y);var v,b,I,w=n(10),D=n(223),k=n.n(D);v=w.Cascader,b="gfCascader",I={separator:"@?",placeholder:"@?",options:"<",changeOnSelect:"'),controller:(e=v,function(){function t(e,t){this._$scope=e,this._$element=t}return t.$inject=["$scope","$element"],t.prototype.$onInit=function(){var t=this,n=Object.entries(this._$scope).reduce((function(e,t){var n=t[0],r=t[1];return n.startsWith("$")||(e[n]="function"==typeof r?function(){for(var e=[],t=0;t")}));return e+'\n
\n
{{ctrl.lastQueryError}}
\n
\n '}(),_=n(1),A=(C=function(e,t){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}C(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),j=function(){return(j=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(f.target.namespace=null!==(c=null!==(i=f.target.namespace)&&void 0!==i?i:null===(a=null===(o=f.cascaderOptions[0])||void 0===o?void 0:o.items)||void 0===a?void 0:a[0].value)&&void 0!==c?c:f.cascaderOptions[0].value,f.target.service=Object(u.f)(f.target.namespace)||""),f.hideRegion=!!(null===(p=l.SERVICES.find((function(e){return e.service===f.target.service})))||void 0===p?void 0:p.hideRegion),s.a.defaultsDeep(f.target,f.defaults),f.instanceAliasList=f.getInstanceAliasList(f.target.service),f.panelCtrl.events.on("data-received",f.onDataReceived.bind(f),t),f.panelCtrl.events.on("data-error",f.onDataError.bind(f),t),f}return t.$inject=["$scope","$injector","templateSrv"],A(t,e),Object.defineProperty(t.prototype,"sortedPeriodList",{get:function(){return this.periodList.sort((function(e,t){return e-t}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCascader",{get:function(){return this.cascaderOptions.length>1},enumerable:!1,configurable:!0}),t.prototype.cascaderChange=function(e){this.target.namespace=e,this.onNamespaceChange()},t.prototype.onDataReceived=function(e){this.lastQueryError=void 0,this.lastQuery="";var t=s.a.find(e,{refId:this.target.refId});t&&(this.lastQuery=t.query)},t.prototype.onDataError=function(e){this.handleQueryCtrlError(e)},t.prototype.handleQueryCtrlError=function(e){var t;s.a.get(e,"query.refId")===this.target.refId&&(s.a.get(e,"error.data.error.innererror",void 0)?s.a.get(e,"error.data.error.innererror.innererror",void 0)?this.lastQueryError=s.a.get(e,"error.data.error.innererror.innererror.message"):this.lastQueryError=s.a.get(e,"error.data.error.innererror.message"):s.a.get(e,"error.data.error",void 0)?this.lastQueryError=s.a.get(e,"error.data.error.message"):s.a.get(e,"error.data",void 0)?this.lastQueryError=s.a.get(e,"error.data.message"):s.a.get(e,"data.error",void 0)?this.lastQueryError=s.a.get(e,"data.error.message"):(null===(t=e.data)||void 0===t?void 0:t.message)||(s.a.get(e,"data.message",void 0)?this.lastQueryError=s.a.get(e,"data.message"):this.lastQueryError=e))},t.prototype.getInstanceAliasList=function(e){return e?s.a.map(l.InstanceAliasList["".concat(s.a.toUpper(e),"InstanceAliasList")]||[],(function(e){return{text:"As ".concat(e),value:e}})):[]},t.prototype.getNamespaces=function(e){return s.a.map(this.namespaces,(function(e){return{text:e.label,value:e.namespace}}))},t.prototype.onNamespaceChange=function(){var e,t=Object(u.f)(this.target.namespace)||"";this.hideRegion=!!(null===(e=l.SERVICES.find((function(e){return e.service===t})))||void 0===e?void 0:e.hideRegion),this.regions=[],this.metricList=[],this.periodList=[],this.dimensionList=[],this.instanceList=[];var n=l.InitServiceState[t];this.target[t]=s.a.cloneDeep(n),this.target.service=t,this.instanceAliasList=this.getInstanceAliasList(t),this.refresh(),this.isCascader&&this.$scope.$apply()},t.prototype.getRegions=function(e){var t=this,n=this.target.service;return!n||s.a.startsWith("$")?[]:this.regions.length?this.regions:this.datasource.getRegions(n).then((function(e){return t.regions=e,e})).catch(this.handleQueryCtrlError.bind(this))},t.prototype.onRegionChange=function(){var e=this,t=this.target.service;this.target[t].instance="",this.instanceList=[],this.isMetricsNeedUpdate=!0,s.a.forEach(this.target[t].dimensionObject,(function(n,r){e.target[t].dimensionObject[r]={Name:r,Value:""}})),this.target[t].queries=s.a.cloneDeep(l.InitServiceState[t].queries),this.getInstances(),this.refresh()},t.prototype.getVariable=function(e,t){return Object(u.j)(this.templateSrv,this.panelCtrl.panel.scopedVars,e,t)},t.prototype.getMetricNameDesc=function(){var e=this,t=this.target.service,n=s.a.findIndex(this.metricList,(function(n){return n.MetricName===e.target[t].metricName}));return-1===n?"":Object(_.b)()===_.a.Chinese?this.metricList[n].Meaning.Zh:this.metricList[n].Meaning.En},t.prototype.getMetrics=function(e){var t=this,n=this.target.service,r=this.getVariable(s.a.get(this.target[n],"region",""),!1);return n&&r?!this.isMetricsNeedUpdate&&this.metricList.length>0?s.a.map(this.metricList,(function(e){return{text:e.MetricName,value:e.MetricName}})):this.datasource.getMetrics(n,r).then((function(e){t.metricList=e,t.isMetricsNeedUpdate=!1;var r=s.a.findIndex(t.metricList,(function(e){return e.MetricName===t.target[n].metricName}));return-1!==r&&(t.periodList=s.a.get(t.metricList[r],"Period",[]),t.dimensionList=s.a.get(t.metricList[r],"Dimensions.0.Dimensions",[])),s.a.map(e,(function(e){return{text:e.MetricName,value:e.MetricName}}))})).catch(this.handleQueryCtrlError.bind(this)):[]},t.prototype.onMetricChange=function(){var e=this,t=this.target.service,n=[],r=[],i={},o="",a=s.a.findIndex(this.metricList,(function(n){return n.MetricName===e.target[t].metricName}));-1!==a&&(n=s.a.get(this.metricList[a],"Period",[]),r=s.a.get(this.metricList[a],"Dimensions.0.Dimensions",[]),o=s.a.get(this.metricList[a],"Unit","")),s.a.forEach(r,(function(e){i[e]={Name:e,Value:""}})),this.periodList=n,this.dimensionList=r,this.target[t].period=n.length>0?-1===s.a.indexOf(n,300)?n[0]:300:void 0,this.target[t].dimensionObject=i,this.target[t].metricUnit=o,this.refresh()},t.prototype.getInstances=function(){var e=this,t=this.target.service,n=this.getVariable(s.a.get(this.target[t],"region",""),!1);if(!t||!n)return[];var r=this.getInstanceQueryParams(t);return this.datasource.getInstances(t,n,r).then((function(n){e.instanceList=n;var r=e.target[t].instanceAlias,i=[];return s.a.forEach(n,(function(e){var t=s.a.get(e,r);t&&("string"==typeof t?(e._InstanceAliasValue=t,i.push({text:t,value:JSON.stringify(e)})):s.a.isArray(t)&&s.a.forEach(t,(function(t){e._InstanceAliasValue=t,i.push({text:t,value:JSON.stringify(e)})})))})),i})).catch(this.handleQueryCtrlError.bind(this))},t.prototype.onInstanceChange=function(e){this.refresh()},t.prototype.getInstanceQueryParams=function(e){var t=this.target[e].queries;return l.GetInstanceQueryParams["".concat(s.a.toUpper(e),"GetInstanceQueryParams")]?l.GetInstanceQueryParams["".concat(s.a.toUpper(e),"GetInstanceQueryParams")](t):{}},t.prototype.onInstanceAliasChange=function(){if(!this.isVariable("instance")){var e=this.target.service;this.target[e].instance="",this.refresh()}},t.prototype.onInstanceQueryChange=function(){var e=this;if(!this.isVariable("instance")){var t=this.target.service;this.target[t].instance="",this.instanceList=[],s.a.forEach(this.target[t].dimensionObject,(function(n,r){e.target[t].dimensionObject[r]={Name:r,Value:""}})),this.refresh()}},t.prototype.isVariable=function(e){var t,n=this.target.service,r=null===(t=this.target[n])||void 0===t?void 0:t[e];return Object(u.m)(r)},t.prototype.checkShowDetail=function(e){return!this.isVariable(e)&&this.target.showInstanceDetails},t.prototype.getTimeDesc=function(){return"".concat(Object(_.d)("time_unit"),": ").concat(Object(_.d)("seconds"))},t.prototype.getSearchDesc=function(){return Object(_.d)("search_description")},t.template=E,t}(a.QueryCtrl),T=n(22),P=n(225),q=n.n(P),M=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),L=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.angularScope=null,t.angularQueryEditor=null,t.events=new q.a,t.renderAngularQueryEditor=function(){if(t.element){t.angularQueryEditor&&(t.angularQueryEditor.destroy(),t.angularQueryEditor=null);var e=Object(T.getAngularLoader)(),n={ctrl:t.getAngularQueryComponentScope()};t.angularQueryEditor=e.load(t.element,n,''),t.angularScope=n.ctrl}},t}return M(t,e),t.prototype.componentDidMount=function(){var e=this;setTimeout((function(){e.forceUpdate()}))},t.prototype.componentDidUpdate=function(e){var t=this.props,n=t.data,i=t.range;if(n!==e.data&&n){if(n.state===r.LoadingState.Done){var o=n.series.map((function(e){return Object(r.toLegacyResponseData)(e)}));this.events.emit("data-received",o)}else n.state===r.LoadingState.Error&&this.events.emit("data-error",n.error);this.angularScope&&(this.angularScope.range=i)}this.element&&!this.angularQueryEditor&&this.renderAngularQueryEditor()},t.prototype.getAngularQueryComponentScope=function(){var e=this,t=this.props,n=t.query,r=t.queries,i=t.range,o=t.datasource,a=t.queryCtrl;o.components={QueryCtrl:a};return{datasource:o,target:n,panel:{scopedVars:{},targets:r||[]},dashboard:{},refresh:function(){e.props.onChange(n),e.props.onRunQuery()},render:function(){return function(){}},events:this.events,range:i}},t.prototype.render=function(){var e=this;return o.a.createElement("div",{ref:function(t){e.element=t}})},t}(i.PureComponent),R=n(14),F=function(e){var t=Object(i.useRef)(e);return t.current=e,t},B=function(){return(B=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1e3,error:"仅支持返回1~1000条日志"},o.a.createElement(w.Input,{type:"number",min:1,max:1e3,value:t,onChange:r,width:25,className:"log-service-monospaced-font-family"}))})),ce=n(26),se=n(190),ue=n.n(se);var le=function(){function e(e,t){this.target=e,this.database=t}return e.prototype.buildExploreQuery=function(e,t,n){var r,i,o="";if("TAG_KEYS"===e)o="show tag keys",r=this.target.measurement,i=this.target.policy;else if("TAG_VALUES"===e)o="show tag values",r=this.target.measurement,i=this.target.policy;else if("MEASUREMENTS"===e)o="show measurements",n&&(o+=" with measurement =~ /(?i)"+ue.a.regexEscape(n)+"/");else{if("FIELDS"===e)return r=this.target.measurement,i=this.target.policy,r.match("^/.*/")||(r='"'+r+'"',i&&"default"!==i&&(r=(i='"'+i+'"')+"."+r)),"show field keys from "+r;if("RETENTION POLICIES"===e)return o='show retention policies on "'+this.database+'"'}if(r&&(r.match("^/.*/")||r.match(/^merge\(.*\)/)||(r='"'+r+'"'),i&&"default"!==i&&(r=(i='"'+i+'"')+"."+r),o+=" from "+r),t&&(o+=' with key = "'+t+'"'),this.target.tags&&this.target.tags.length>0){var a=Object(c.reduce)(this.target.tags,(function(n,r){return"MEASUREMENTS"===e&&"id"===r.key||r.key===t||">"===r.operator||"<"===r.operator||n.push(function(e,t){var n="",r=e.operator,i=e.value;return t>0&&(n=(e.condition.toLowerCase()||"AND")+" "),r||(r=/^\/.*\/$/.test(e.value)?"=~":"="),(""===i||"=~"!==r&&"!~"!==r)&&(i="'"+i.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'"),n+'"'+e.key+'" '+r+" "+i}(r,n.length)),n}),[]);a.length>0&&(o+=" where "+a.join(" "))}return"MEASUREMENTS"===e&&(o+=" limit 100"),o},e}(),pe=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function c(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))},fe=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n+2;if("count"!==t.def.type&&i)e[n+1].def.category===be.Aggregations&&e.splice(n+1,1);else if("count"===t.def.type)return void(i&&"count"===e[n+1].def.type||e.splice(n+1,0,t))}return void(e[n]=t)}if(r.def.category===be.Selectors)return void(e[n]=t)}e.splice(1,0,t)}function Oe(e,t){var n;for(n=0;n0){if("math"===e[n-1].def.type)return void(e[n-1]=t);if(n>1&&"math"===e[n-2].def.type)return void(e[n-2]=t);if("alias"===e[n-1].def.type)return void e.splice(n-1,0,t)}e.push(t)},category:be.Math,params:[{name:"expr",type:"string"}],defaultParams:[" / 100"],renderer:function(e,t){return t+" "+e.params[0]}}),we({type:"alias",addStrategy:function(e,t){var n=e.length;n>0&&"alias"===e[n-1].def.type?e[n-1]=t:e.push(t)},category:be.Aliasing,params:[{name:"name",type:"string",quote:"double"}],defaultParams:["alias"],renderMode:"suffix",renderer:function(e,t){return t+' AS "'+e.params[0]+'"'}});var Se={create:Ie,getCategories:function(){return be},replaceAggregationAdd:Ce},xe=function(){function e(e,t,n){this.selectModels=[],this.target=e,this.templateSrv=t,this.scopedVars=n,e.policy=e.policy||R.c.RUMServiceParams.policy,e.resultFormat=e.resultFormat||R.c.RUMServiceParams.resultFormat,e.orderByTime=e.orderByTime||R.c.RUMServiceParams.orderByTime,e.tags=e.tags||Object(c.cloneDeep)(R.c.RUMServiceParams.tags),e.groupBy=e.groupBy||Object(c.cloneDeep)(R.c.RUMServiceParams.groupBy),e.select=e.select||Object(c.cloneDeep)(R.c.RUMServiceParams.select),this.updateProjection()}return e.$inject=["target","templateSrv","scopedVars"],e.prototype.updateProjection=function(){this.selectModels=Object(c.map)(this.target.select,(function(e){return Object(c.map)(e,Se.create)})),this.groupByParts=Object(c.map)(this.target.groupBy,Se.create)},e.prototype.updatePersistedParts=function(){this.target.select=Object(c.map)(this.selectModels,(function(e){return Object(c.map)(e,(function(e){return{type:e.def.type,params:e.params}}))}))},e.prototype.hasGroupByTime=function(){return Object(c.find)(this.target.groupBy,(function(e){return"time"===e.type}))},e.prototype.hasFill=function(){return Object(c.find)(this.target.groupBy,(function(e){return"fill"===e.type}))},e.prototype.addGroupBy=function(e){var t=e.match(/^(\w+)\((.*)\)$/);if(t&&this.target.groupBy){var n=t[1],r=t[2],i=Se.create({type:n,params:[r]}),o=this.target.groupBy.length;0===o?this.target.groupBy.push(i.part):"time"===n?this.target.groupBy.splice(0,0,i.part):"tag"===n&&"fill"===this.target.groupBy[o-1].type?this.target.groupBy.splice(o-1,0,i.part):this.target.groupBy.push(i.part),this.updateProjection()}},e.prototype.removeGroupByPart=function(e,t){var n=Se.getCategories();"time"===e.def.type&&(this.target.groupBy=Object(c.filter)(this.target.groupBy,(function(e){return"fill"!==e.type})),this.target.select=Object(c.map)(this.target.select,(function(e){return Object(c.filter)(e,(function(e){var t=Se.create(e);return t.def.category!==n.Aggregations&&t.def.category!==n.Selectors}))}))),this.target.groupBy.splice(t,1),this.updateProjection()},e.prototype.removeSelect=function(e){this.target.select.splice(e,1),this.updateProjection()},e.prototype.removeSelectPart=function(e,t){if("field"===t.def.type){if(this.selectModels.length>1){var n=Object(c.indexOf)(this.selectModels,e);this.selectModels.splice(n,1)}}else{var r=Object(c.indexOf)(e,t);e.splice(r,1)}this.updatePersistedParts()},e.prototype.addSelectPart=function(e,t){var n=Se.create({type:t});n.def.addStrategy(e,n,this),this.updatePersistedParts()},e.prototype.getMeasurementAndPolicy=function(e){var t=this.target.policy,n=this.target.measurement||"measurement";return n.match("^/.*/$")?e&&(n=this.templateSrv.replace(n,this.scopedVars,"regex")):n='"'+n+'"',(t="default"!==t?'"'+this.target.policy+'".':"")+n},e.prototype.interpolateQueryStr=function(e,t,n){return t.multi||t.includeAll?"string"==typeof e?ue.a.regexEscape(e):"("+Object(c.map)(e,ue.a.regexEscape).join("|")+")":e},e.prototype.render=function(e){var t=this,n=this.target;if(n.rawQuery)return e?this.templateSrv.replace(n.query,this.scopedVars,this.interpolateQueryStr):n.query;var r,i,o="select ";for(r=0;r0&&(o+=", "),o+=s}o+=" from "+this.getMeasurementAndPolicy(e)+" where ";var u=Object(c.map)(n.tags,(function(n,r){return t.renderTagCondition(n,r,e)}));u.length>0&&(o+="("+u.join(" ")+") and "),o+="$timeFilter";var l="";for(r=0;r0&&(l+="fill"===p.def.type?" ":", "),l+=p.render("")}return l.length&&(o+=" group by "+l),n.fill&&(o+=" fill("+n.fill+")"),"DESC"===n.orderByTime&&(o+=" order by time desc"),n.limit&&(o+=" limit "+n.limit),n.slimit&&(o+=" slimit "+n.slimit),n.tz&&(o+=" tz('"+n.tz+"')"),o},e.prototype.renderAdhocFilters=function(e){var t=this;return Object(c.map)(e,(function(e,n){return t.renderTagCondition(e,n,!0)})).join(" ")},e.prototype.renderTagCondition=function(e,t,n){var r="",i=e.operator,o=e.value;return t>0&&(r=(e.condition.toLowerCase()||"and")+" "),i||(i=/^\/.*\/$/.test(o)?"=~":"="),"=~"!==i&&"!~"!==i?(n&&(o=this.templateSrv.replace(o,this.scopedVars)),">"!==i&&"<"!==i&&(o="'"+o.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")+"'")):n&&(o=this.templateSrv.replace(o,this.scopedVars,"regex")),r+'"'+e.key+'" '+i+" "+o},e}(),Ee=function(){return(Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]","<",">","=~","!~"].map(je),pt=["AND","OR"].map(je),ft=function(){return Promise.resolve(pt)},dt=function(){return Promise.resolve(lt)},mt=function(e){var t=e.tag,n=e.isFirst,r=e.onRemove,i=e.onChange,a=e.getTagKeyOptions,c=e.getTagValueOptions,s=ot(t),u=at(t,n);return o.a.createElement("div",{className:"gf-form"},void 0!==u&&o.a.createElement(Xe,{value:u,loadOptions:ft,disabled:!0,onChange:function(e){i(st(st({},t),{condition:e.value}))}}),o.a.createElement(Xe,{allowCustomValue:!0,value:t.key,loadOptions:function(){return a().catch((function(e){return[]})).then((function(e){return ut([{label:"-- remove filter --",value:void 0}],e.map(je),!0)}))},onChange:function(e){var n=e.value;void 0===n?r():i(st(st({},t),{key:null!=n?n:""}))}}),o.a.createElement(Xe,{value:s,loadOptions:dt,onChange:function(e){i(st(st({},t),{operator:e.value}))}}),o.a.createElement(Xe,{allowCustomValue:!0,value:t.value,loadOptions:function(){return c(t.key).then((function(e){return e.map(je)}))},onChange:function(e){var n,r,o,a,c=null!==(n=e.value)&&void 0!==n?n:"";i(st(st({},t),{value:c,operator:(r=s,o=c,a="=~"===r||"!~"===r,it(o)?a?r:"=~":a?"=":r)}))}}))},ht=function(e){var t=e.tags,n=e.onChange,r=e.getTagKeyOptions,i=e.getTagValueOptions,a=function(e,r){var i=t.map((function(t,n){return r===n?e:t}));n(i)};return o.a.createElement(o.a.Fragment,null,t.map((function(e,c){return o.a.createElement(mt,{tag:e,isFirst:0===c,key:c,onChange:function(e){a(e,c)},onRemove:function(){var e,r;e=c,r=t.filter((function(t,n){return n!==e})),n(r)},getTagKeyOptions:r,getTagValueOptions:i})})),o.a.createElement(ct,{allowCustomValue:!0,loadOptions:function(){return r().then((function(e){return e.map(je)}))},onAdd:function(e){var r,i,o,a;r=e,i=0===t.length,a={key:(o={key:r,value:"select tag value"}).key,value:o.value,operator:ot(o),condition:at(o,i)},n(ut(ut([],t,!0),[a],!1))}}))},gt=Object(ce.css)({paddingRight:"0",marginRight:"0"}),yt=function(e){var t=e.name,n=e.onRemove;return o.a.createElement(w.WithContextMenu,{getContextMenuItems:function(){return[{items:[{label:"remove",onClick:n}]}]}},(function(e){var n=e.openMenu;return o.a.createElement("button",{className:Object(ce.cx)("gf-form-label",gt),onClick:n},t)}))},vt=Object(ce.css)({paddingLeft:"0",paddingRight:"0",marginLeft:"0",marginRight:"0"}),bt=function(e){var t=e.name,n=e.params,r=e.onChange,a=e.onRemove,c=Object(w.useTheme)(),s=Object(i.useMemo)((function(){return function(e){return Object(ce.cx)("gf-form-label",Object(ce.css)({paddingLeft:"0",lineHeight:e.typography.lineHeight.md,fontSize:e.typography.size.base}))}(c)}),[c]),u=function(e,t){var i=n.map((function(e){return e.value}));i[t]=e,r(i)};return o.a.createElement("div",{className:s},o.a.createElement(yt,{name:t,onRemove:a}),"(",n.map((function(e,t){var r=e.value,i=e.options,a=t===n.length-1,c=null!==i?function(){return i().then((function(e){return e.map(je)}))}:void 0;return o.a.createElement(o.a.Fragment,{key:t},o.a.createElement(Xe,{allowCustomValue:!0,value:r,buttonClassName:vt,loadOptions:c,onChange:function(e){u(Ae(e.value),t)}}),!a&&",")})),")")},It=function(e){var t=e.parts,n=e.getNewPartOptions,r=e.onAddNewPart,i=e.onRemovePart,a=e.onChange;return o.a.createElement(o.a.Fragment,null,t.map((function(e,t){return o.a.createElement(bt,{key:t,name:e.name,params:e.params,onRemove:function(){i(t)},onChange:function(e){a(t,e)}})})),o.a.createElement(ct,{loadOptions:n,onAdd:r}))},wt=Object(ce.css)({paddingRight:"4px"}),Dt=function(e){var t=e.value,n=e.onChange,r=e.isWide,i=e.placeholder,a=Ke(t),c=a[0],s=a[1];return o.a.createElement(w.Input,{placeholder:i,className:Object(ce.cx)(null!=r&&r?"width-14":"width-8",wt),type:"text",spellCheck:!1,onBlur:function(){n(""===c?void 0:c)},onChange:function(e){s(e.currentTarget.value)},value:null!=c?c:""})},kt=[{label:"ascending",value:"ASC"},{label:"descending",value:"DESC"}],Ct=Object(ce.cx)("width-9",wt),Ot=function(e){var t=e.value,n=e.onChange,r=e.inputId;return o.a.createElement(w.Select,{inputId:r,className:Ct,onChange:function(e){n(Ae(e.value))},value:t,options:kt})},St=[{label:"Time series",value:"time_series"},{label:"Table",value:"table"},{label:"Logs",value:"logs"}],xt=["log_url_statistics","event_url_statistics","pv_url_statistics","user_event_user_event_unique","uv_project_unique","uv_page_unique","custom_url_info","custom_url_statistics","fetch_url_info","fetch_url_statistics","fetch_project_statistics","set_data_url_statistics","performance_page_statistics","performance_project_statistics","static_url_source","static_resource_statistics","static_project_statistics","webvitals_page_statistics","webvitals_project_statistics"],Et=Object(ce.cx)("width-8",wt),_t=function(e){var t=e.format,n=e.inputId,r=e.onChange;return o.a.createElement(w.Select,{inputId:n,className:Et,onChange:function(e){r(Ae(e.value))},value:t,options:St})};var At=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},jt=function(){return(jt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]","<",">","=~","!~","in"].map(Yt),Sn=["AND","OR"].map(Yt),xn=function(){return Promise.resolve(Sn)},En=function(){return Promise.resolve(On)},_n=function(e){var t=e.tag,n=e.isFirst,r=e.onRemove,i=e.onChange,a=e.getTagKeyOptions,c=e.getTagValueOptions,s=In(t),u=wn(t,n);return o.a.createElement("div",{className:"gf-form"},void 0!==u&&o.a.createElement(mn,{value:u,loadOptions:xn,disabled:!0,onChange:function(e){i(kn(kn({},t),{condition:e.value}))}}),o.a.createElement(mn,{allowCustomValue:!0,value:t.key,loadOptions:function(){return a().catch((function(e){return[]})).then((function(e){return Cn([{label:"-- remove filter --",value:void 0}],e.map(Yt),!0)}))},onChange:function(e){var n=e.value;void 0===n?r():i(kn(kn({},t),{key:null!=n?n:""}))}}),o.a.createElement(mn,{value:s,loadOptions:En,onChange:function(e){i(kn(kn({},t),{operator:e.value}))}}),o.a.createElement(mn,{allowCustomValue:!0,value:t.value,loadOptions:function(){return c(t.key).then((function(e){return e.map(Yt)}))},onChange:function(e){var n,r,o,a,c=null!==(n=e.value)&&void 0!==n?n:"";i(kn(kn({},t),{value:c,operator:(r=s,o=c,a="=~"===r||"!~"===r,bn(o)?a?r:"=~":a?"=":r)}))}}))},An=function(e){var t=e.tags,n=e.onChange,r=e.getTagKeyOptions,i=e.getTagValueOptions,a=function(e,r){var i=t.map((function(t,n){return r===n?e:t}));n(i)};return o.a.createElement(o.a.Fragment,null,t.map((function(e,c){return o.a.createElement(_n,{tag:e,isFirst:0===c,key:c,onChange:function(e){a(e,c)},onRemove:function(){var e,r;e=c,r=t.filter((function(t,n){return n!==e})),n(r)},getTagKeyOptions:r,getTagValueOptions:i})})),o.a.createElement(Dn,{allowCustomValue:!0,loadOptions:function(){return r().then((function(e){return e.map(Yt)}))},onAdd:function(e){var r,i,o,a;r=e,i=0===t.length,a={key:(o={key:r,value:"select tag value"}).key,value:o.value,operator:In(o),condition:wn(o,i)},n(Cn(Cn([],t,!0),[a],!1))}}))},jn=Object(ce.css)({paddingRight:"0",marginRight:"0"}),Nn=function(e){var t=e.name,n=e.onRemove;return o.a.createElement(w.WithContextMenu,{getContextMenuItems:function(){return[{items:[{label:"remove",onClick:n}]}]}},(function(e){var n=e.openMenu;return o.a.createElement("button",{className:Object(ce.cx)("gf-form-label",jn),onClick:n},t)}))},Tn=Object(ce.css)({paddingLeft:"0",paddingRight:"0",marginLeft:"0",marginRight:"0"}),Pn=function(e){var t=e.name,n=e.params,r=e.onChange,a=e.onRemove,c=Object(w.useTheme)(),s=Object(i.useMemo)((function(){return function(e){return Object(ce.cx)("gf-form-label",Object(ce.css)({paddingLeft:"0",lineHeight:e.typography.lineHeight.md,fontSize:e.typography.size.base}))}(c)}),[c]),u=function(e,t){var i=n.map((function(e){return e.value}));i[t]=e,r(i)};return o.a.createElement("div",{className:s},o.a.createElement(Nn,{name:t,onRemove:a}),"(",n.map((function(e,t){var r=e.value,i=e.options,a=t===n.length-1,c=null!==i?function(){return i().then((function(e){return e.map(Yt)}))}:void 0;return o.a.createElement(o.a.Fragment,{key:t},o.a.createElement(mn,{allowCustomValue:!0,value:r,buttonClassName:Tn,loadOptions:c,onChange:function(e){u(zt(e.value),t)}}),!a&&",")})),")")},qn=function(e){var t=e.parts,n=e.getNewPartOptions,r=e.onAddNewPart,i=e.onRemovePart,a=e.onChange;return o.a.createElement(o.a.Fragment,null,t.map((function(e,t){return o.a.createElement(Pn,{key:t,name:e.name,params:e.params,onRemove:function(){i(t)},onChange:function(e){a(t,e)}})})),o.a.createElement(Dn,{loadOptions:n,onAdd:r}))},Mn=Object(ce.css)({paddingRight:"4px"}),Ln=function(e){var t=e.value,n=e.onChange,r=e.isWide,i=e.placeholder,a=an(t),c=a[0],s=a[1];return o.a.createElement(w.Input,{placeholder:i,className:Object(ce.cx)(null!=r&&r?"width-14":"width-8",Mn),type:"text",spellCheck:!1,onBlur:function(){n(""===c?void 0:c)},onChange:function(e){s(e.currentTarget.value)},value:null!=c?c:""})},Rn=n(205),Fn=Object(ce.cx)("width-8",Mn),Bn=function(e){var t=e.format,n=e.inputId,r=e.onChange;return o.a.createElement(w.Select,{inputId:n,className:Fn,onChange:function(e){r(zt(e.value))},value:t,options:Rn.c})};var Qn=[{label:"ascending",value:"ASC"},{label:"descending",value:"DESC"}],Vn=Object(ce.cx)("width-9",Mn),Gn=function(e){var t=e.value,n=e.onChange,r=e.inputId;return o.a.createElement(w.Select,{inputId:r,className:Vn,onChange:function(e){n(zt(e.value))},value:t,options:Qn})},Un=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Kn=function(){return(Kn=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0,n=Boolean(null==e?void 0:e.instanceSettings.jsonData.logServiceEnabled),r=Boolean(null==e?void 0:e.instanceSettings.jsonData.RUMServiceEnabled),i=Boolean(null==e?void 0:e.instanceSettings.jsonData.APMServiceEnabled);return[t&&R.a.monitor,n&&R.a.logService,r&&R.a.RUMService,i&&R.a.APMService].filter(Boolean)},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props,n=t.datasource,r=t.query,i=this.state.isAlertVisiable;return n?o.a.createElement("div",null,this.enabledServices.length>1&&o.a.createElement(w.TabsBar,null,R.b.filter((function(t){return e.enabledServices.includes(t.value)})).map((function(t){return o.a.createElement(w.Tab,{key:t.value,label:t.label,active:r.serviceType===t.value,onChangeTab:function(){e.partialOnChange({serviceType:t.value})}})}))),o.a.createElement(w.TabContent,null,r.serviceType===R.a.monitor&&this.renderMonitorQueryEditor(),r.serviceType===R.a.logService&&this.renderLogServiceQueryEditor(),r.serviceType===R.a.RUMService&&this.renderRUMServiceQueryEditor(),r.serviceType===R.a.APMService&&this.renderAPMServiceQueryEditor()),i&&o.a.createElement(w.Alert,{title:"目前仅 CLS日志服务 数据源支持告警"})):o.a.createElement("div",null,"loading")},t.prototype.renderMonitorQueryEditor=function(){var e=this.props.datasource.monitorDataSource;return e&&o.a.createElement(L,Xn({},this.props,{queryCtrl:N,datasource:e}))},t.prototype.renderLogServiceQueryEditor=function(){return o.a.createElement(oe,Xn({},this.props))},t.prototype.renderRUMServiceQueryEditor=function(){var e=this.props,t=e.query,n=e.onChange,r=e.onRunQuery,i=e.datasource;return o.a.createElement(Mt,{query:t,onChange:n,onRunQuery:r,datasource:i})},t.prototype.renderAPMServiceQueryEditor=function(){var e=this.props,t=e.query,n=e.onChange,r=e.onRunQuery,i=e.datasource;return o.a.createElement(Jn,{query:t,onChange:n,onRunQuery:r,datasource:i})},t}(i.PureComponent),tr=function(){return o.a.createElement("a",{target:"_blank",href:"https://cloud.tencent.com/document/product/248/54510"},"Click here for more information of query")},nr=function(e){var t=F(e),n=e.query,r=e.datasource,a=Object(i.useCallback)((function(e){var n,r,i=t.current.onChange;r=e.serviceType===R.a.logService?"SQL: ".concat(null===(n=e.logServiceParams)||void 0===n?void 0:n.Query):e.queryString,null==i||i(e,r)}),[t]);return o.a.createElement(o.a.Fragment,null,o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"服务类型",labelWidth:20},o.a.createElement(w.RadioButtonGroup,{options:R.b,value:Object(c.isString)(n)?R.a.monitor:n.serviceType,onChange:function(e){e===R.a.monitor&&a({serviceType:e,queryString:""}),e===R.a.logService&&a({serviceType:e,queryString:"",logServiceParams:Object(c.clone)(R.c.logServiceParams)}),e===R.a.RUMService&&a({serviceType:e,queryString:""}),e===R.a.APMService&&a({serviceType:e,queryString:""})}}))),n.serviceType===R.a.logService&&o.a.createElement(o.a.Fragment,null,o.a.createElement(oe,{datasource:r,query:n,onRunQuery:function(){},onChange:function(e){a({serviceType:R.a.logService,queryString:"",logServiceParams:e.logServiceParams})}})),n.serviceType===R.a.RUMService&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,placeholder:"metric name or tags query",onChange:function(e){return a({serviceType:R.a.RUMService,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))),n.serviceType===R.a.APMService&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,placeholder:"metric name or tags query",onChange:function(e){return a({serviceType:R.a.APMService,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))),(Object(c.isString)(n)||n.serviceType===R.a.monitor)&&o.a.createElement(w.InlineFieldRow,null,o.a.createElement(w.InlineField,{label:"查询语句",labelWidth:20,grow:!0,tooltip:tr},o.a.createElement(w.Input,{name:"query",required:!0,onChange:function(e){return a({serviceType:R.a.monitor,queryString:e.currentTarget.value})},value:Object(c.isString)(n)?n:n.queryString}))))};nr.displayName="VariableQueryEditor";var rr=n(70),ir=n(218),or=n(188),ar=n(68),cr=n(73),sr=n(72),ur=n(71),lr=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pr=function(e){function t(t,n){var r=e.call(this)||this;return r.subject=t,r.subscriber=n,r.closed=!1,r}return ar.a(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}},t}(ur.a),fr=n(203),dr=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return ar.a(t,e),t}(sr.a),mr=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return ar.a(t,e),t.prototype[fr.a]=function(){return new dr(this)},t.prototype.lift=function(e){var t=new hr(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new lr;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;i1)this.connection=null;else{var n=this.connection,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},t}(sr.a),br=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return ar.a(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype.connect=function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new ur.a).add(this.source.subscribe(new wr(this.getSubject(),this))),e.closed&&(this._connection=null,e=ur.a.EMPTY)),e},t.prototype.refCount=function(){return gr()(this)},t}(cr.a),Ir=function(){var e=br.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),wr=function(e){function t(t,n){var r=e.call(this,t)||this;return r.connectable=n,r}return ar.a(t,e),t.prototype._error=function(t){this._unsubscribe(),e.prototype._error.call(this,t)},t.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}},t}(dr);sr.a;var Dr=function(){function e(e,t){this.subjectFactory=e,this.selector=t}return e.prototype.call=function(e,t){var n=this.selector,r=this.subjectFactory(),i=n(r).subscribe(e);return i.add(t.subscribe(r)),i},e}();function kr(){return new mr}function Cr(){return function(e){return gr()((t=kr,function(e){var r;if(r="function"==typeof t?t:function(){return t},"function"==typeof n)return e.lift(new Dr(r,n));var i=Object.create(e,Ir);return i.source=e,i.subjectFactory=r,i})(e));var t,n}}var Or=n(69),Sr=n.n(Or),xr=/(\w+)\[[\w/]+]/g,Er=[{prestoTypeRegex:/^timestamp with time zone$/,fieldType:r.FieldType.time,processor:function(e){var t=String(e).replace(xr,"$1");return Sr()(t).isValid()?t:e}},{prestoTypeRegex:/^timestamp$|^date$|^datetime$/,fieldType:r.FieldType.time},{prestoTypeRegex:/^time$/,fieldType:r.FieldType.time},{prestoTypeRegex:/^tinyint$|^samllint$|^integer$|^bigint$|^long$/,fieldType:r.FieldType.number},{prestoTypeRegex:/^real$|^double$|^decimal$/,fieldType:r.FieldType.number},{prestoTypeRegex:/^varchar$|^char$|^text$|^keyword$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^boolean$/,fieldType:r.FieldType.boolean},{prestoTypeRegex:/^uuid$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^ipaddress$/,fieldType:r.FieldType.string},{prestoTypeRegex:/^array\(.*\)$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^json$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^map\(.*\)$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^varbinary$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^interval$/,fieldType:r.FieldType.other},{prestoTypeRegex:/^row$/,fieldType:r.FieldType.other}];var _r,Ar=function(){return(Ar=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=2))return"";n=t[0]}return n}function Br(e,t){void 0===t&&(t={});var n=Fr(null!=e?e:""),r=(null!=e?e:"").slice(n.length);return Object(T.getTemplateSrv)().replace(n,t,"lucene")+Object(T.getTemplateSrv)().replace(r,t,"raw")}function Qr(e,t){var n=Fr(null!=e?e:""),r=(null!=e?e:"").slice(n.length),i=t.MaxResultNum;return i&&r?/limit/.test(r)?e:e+" limit "+i:e}var Vr=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gr=function(){return(Gr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&s.length>0)return l=c[0],[2,s.map((function(e){return{text:e[l.Name],value:e[l.Name]}}))];p.label=2;case 2:return[2,[]]}}))}))},t.prototype.testDatasource=function(){return Ur(this,void 0,void 0,(function(){var e;return Kr(this,(function(t){switch(t.label){case 0:if(!this.instanceSettings.jsonData.logServiceEnabled)return[2,null];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,z({TopicId:"",Query:"",From:Sr()().subtract(1,"h").valueOf(),To:Sr()().valueOf()},"ap-shanghai",{instanceSettings:this.instanceSettings})];case 2:return t.sent(),[2,{status:"success",message:"DatSource Connection OK"}];case 3:return(null==(e=t.sent())?void 0:e.code)&&"AuthFailure.SignatureFailure"!==e.code?[2,{status:"success",message:"DatSource Connection OK"}]:[2,{status:"error",title:e.code,message:e.message}];case 4:return[2]}}))}))},t.prototype.getLogsVolumeDataProvider=function(e){},t}(r.DataSourceApi),Yr=n(241),Wr=n(240),Jr=n(199),Zr=n.n(Jr),Hr=function(){function e(e){this.series=e.series,this.alias=e.alias,this.annotation=e.annotation,this.meta=e.meta,this.refId=e.refId}return e.prototype.getTimeSeries=function(){var e,t,n=this,r=[];return 0===this.series.length||Object(c.each)(this.series,(function(i){var o=i.columns.length,a=Object(c.map)(i.tags,(function(e,t){return t+": "+e}));for(t=1;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||r.indexOf("show retention policies")>=0,o=r.indexOf("show measurements")>=0,a=new Set;return Object(c.each)(n.series,(function(e){Object(c.each)(e.values,(function(e){Object(c.isArray)(e)?i?oi(a,e[0]):void 0!==e[1]?oi(a,e[1]):oi(a,e[0]):oi(a,e)}))})),o?Array.from(a).filter((function(e){return xt.includes(e)})).map((function(e){return{text:e}})):Array.from(a).map((function(e){return{text:e}}))},e.prototype.getTable=function(e,t,n){var i,o,a=new Zr.a;if(e.length>0)if(a.meta=Xr(Xr({},n),{executedQueryString:null===(i=e[0].meta)||void 0===i?void 0:i.executedQueryString}),a.refId=t.refId,a=function(e,t,n){var i=function(e){var t,n=[];null===(t=e.select)||void 0===t||t.forEach((function(e){var t,r,i=e.filter((function(e){return"field"!==e.type}));i.length>0?n.push(i[0].type):(null===(r=null===(t=e[0])||void 0===t?void 0:t.params)||void 0===r?void 0:r[0])&&n.push(e[0].params[0].toString())}));var r=[];return n.forEach((function(e){r.push(function e(t,n,r,i){if(r.indexOf(n)>-1)return i++,e(t,t+"_"+i,r,i);return n}(e,e,r,0))})),r}(n);e[0].fields.forEach((function(e){"time"===e.name?t.columns.push({text:"Time",type:r.FieldType.time}):"value"===e.name&&e.labels&&Object.keys(e.labels).forEach((function(e){t.columns.push({text:e})}))})),"metricFindQuery"===e[0].refId&&e.forEach((function(e){e.name&&t.columns.push({text:e.name})}));for(var o=0;o0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o+=" AND "+new xe({},this.templateSrv,a).renderAdhocFilters(p));return a.timeFilter={value:o},l=this.templateSrv.replace(l,a),this._seriesQuery(l,e).pipe(Object(ir.a)((function(o){if(!o||!o.results)return{data:[]};var a=[];for(t=0;t0)throw{message:"RUM Error: "+i[0].error,data:r}}}return r})),Object(Wr.a)((function(e){return e.cancelled?Object(rr.of)(e):Object(rr.throwError)(t.handleErrors(e))})))})))},t.prototype.handleErrors=function(e){var t,n={message:(null==e?void 0:e.status)||(null==e?void 0:e.message)||"Unknown error during query transaction. Please check JS console logs."};return(Number.isInteger(e.status)&&0!==e.status||e.status>=300)&&((null===(t=e.data)||void 0===t?void 0:t.error)?(n.message="RUM Error: "+e.data.error,n.data=e.data,n.config=e.config):(n.message="Network Error: "+e.statusText+"("+e.status+")",n.data=e.data,n.config=e.config)),n},t.prototype.getTimeFilter=function(e){return"time >= "+this.getRUMTime(e.rangeRaw.from,!1,e.timezone)+" and time <= "+this.getRUMTime(e.rangeRaw.to,!0,e.timezone)},t.prototype.getRUMTime=function(e,t,n){if(Object(c.isString)(e)){if("now"===e)return"now()";var i=/^now-(\d+)([dhms])$/.exec(e);if(i)return"now() - "+parseInt(i[1],10)+i[2];e=r.dateMath.parse(e,t,n)}return e.valueOf()+"ms"},t.prototype.fixTimePeriod=function(e,t){var n,r=this,i=this.getTimePeriod(t.rangeRaw,t.timezone);return null===(n=e.groupBy)||void 0===n||n.forEach((function(t){"time"===t.type&&"1d"!==t.params[0]&&(e=r.modifyTime(e,i))})),e},t.prototype.getTimePeriod=function(e,t){var n,i,o=null===(n=r.dateMath.parse(e.from,!1,t))||void 0===n?void 0:n.valueOf(),a=null===(i=r.dateMath.parse(e.to,!0,t))||void 0===i?void 0:i.valueOf(),c=0;return o&&a&&(c=a-o),c<=432e5?"1m":c<=2592e5?"30m":c<=6048e5?"1h":"1d"},t.prototype.modifyTime=function(e,t){var n;if(!e.groupBy)return e;for(var r=0,i=e.groupBy;r0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(d.b)}])})); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/datasource/module.js.map b/dist/datasource/module.js.map index d92712e..dd6b5f5 100644 --- a/dist/datasource/module.js.map +++ b/dist/datasource/module.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://TencentCloudMonitorGrafanaApp/webpack/bootstrap","webpack://TencentCloudMonitorGrafanaApp/external \"lodash\"","webpack://TencentCloudMonitorGrafanaApp/./locale/zh_CN.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/en_US.ts","webpack://TencentCloudMonitorGrafanaApp/./locale/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/sign.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/signV2.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/constants.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/external \"react\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/utils.ts","webpack://TencentCloudMonitorGrafanaApp/external \"app/core/core_module\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/data\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/indexedDB.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/datasourceStorage.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/ui\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/types.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/index.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"@grafana/runtime\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/external \"emotion\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/tslib/tslib.es6.js","webpack://TencentCloudMonitorGrafanaApp/external \"moment\"","webpack://TencentCloudMonitorGrafanaApp/external \"rxjs\"","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/Subscription.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/identity.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/Observable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/datasource.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/config.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/apigateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bmIntraLb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bm_pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/bwp/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cbs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cdn_province/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ceip_summary/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ces/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cfs/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ckafka/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cls/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cmq_topic/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cos/query_def.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cpm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cvm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/cynosdb_mysql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcdb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcg/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/dcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_block_storage/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ecm_lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/gse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/lighthouse/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mongodb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/mr/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/nat_gateway/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/ov_cdn/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/pcx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/postgresql/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/qaap/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/redis_mem/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/scf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/sqlserver/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tcaplus/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rabbitmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tdmq_rocketmq/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tke/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/tsf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/v_clb/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vbc/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpc_net_detect/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpngw/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/vpnx/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/waf/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^.*$","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/APM_query_model.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/MonitorDatasource.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://TencentCloudMonitorGrafanaApp/external \"app/core/utils/kbn\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/query_part.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/utils.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/formats.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor/_base/query_filter.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/index.js","webpack://TencentCloudMonitorGrafanaApp/external \"app/core/table_model\"","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/symbol/iterator.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/innerSubscribe.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/constants.tsx","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/constants.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/Observer.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/stringify.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/qs/lib/parse.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/tc_monitor sync ^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)","webpack://TencentCloudMonitorGrafanaApp/external \"angular\"","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/query_builder.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isArrayLike.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isPromise.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/subscribeToArray.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/subscribeTo.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/map.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/css-loader/dist/runtime/api.js","webpack://TencentCloudMonitorGrafanaApp/external \"app/plugins/sdk\"","webpack://TencentCloudMonitorGrafanaApp/external \"react-dom\"","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/partials/query.editor.html","webpack://TencentCloudMonitorGrafanaApp/../node_modules/eventemitter3/index.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/APMServiceDataSource.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/APM_series.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/response_parser.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/css/query_editor.css?c63a","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/css/query_editor.css","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/index.less?44dc","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/index.less","webpack://TencentCloudMonitorGrafanaApp/../node_modules/buffer/index.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/@grafana/toolkit/node_modules/webpack/buildin/global.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/base64-js/index.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/ieee754/index.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/isarray/index.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/components/multi_condition.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/components/custom_select_dropdown.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/common/react-loader.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/components/cascader.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/partials/queryEditorTemplate.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/query.ctrl.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/query-ctrl/QueryCtrlRender.tsx","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/esm/useLatest.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/model/api.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/esm/useEffectOnce.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/utils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/components/TopicSelector.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/LogServiceQueryEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/query_builder.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/RUMMetadataQuery.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/query_part.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/RUM_query_model.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/unwrap.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/toSelectableValue.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/partListUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/SegmentSection.tsx","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/node_modules/tslib/tslib.es6.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/esm/useAsyncFn.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/esm/useMountedState.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/react-use/esm/usePrevious.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/useShadowedState.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/Seg.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/FromSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/tagUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/AddButton.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/TagsSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/PartListSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/styles.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/InputSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/OrderByTimeSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/constants.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/components/FormatAsSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/RUMServiceQueryEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/common/useUniqueId.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/queryUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/APMMetadataQuery.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/unwrap.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/toSelectableValue.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/partListUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/SegmentSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/useShadowedState.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/Seg.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/FromSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/tagUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/AddButton.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/TagsSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/PartListSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/styles.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/InputSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/FormatAsSection.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/components/OrderBySeries.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/APMServiceQueryEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/common/useUniqueId.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/apm-service/queryUtils.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/QueryEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/VariableQueryEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/Subject.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/refCount.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/multicast.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/share.js","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/format/prestoType.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/format/ConvertSearchResultsToDataFrame.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/format/formatSearchLog.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/format/prepareTimeSeries.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/utils/query.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/LogServiceDataSource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/log-service/common/format/ConvertLogContextToDataFrame.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/RUM_series.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/response_parser.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/rum-service/RUMServiceDataSource.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/DataSource.ts","webpack://TencentCloudMonitorGrafanaApp/./datasource/config-editor/ConfigEditor.tsx","webpack://TencentCloudMonitorGrafanaApp/./datasource/module.ts","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/catchError.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/scheduled/scheduled.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isInteropObservable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/util/isIterable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/operators/mergeMap.js","webpack://TencentCloudMonitorGrafanaApp/../node_modules/rxjs/_esm5/internal/observable/from.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","language","enable_intranet_API_mode","cloud_database","cloud_load_balancer","virtual_private_cloud","content_delivery_network","message_queue","direct_connect","cloud_physical_machine","elastic_mapReduce","edge_computing_machine","RUM","APM","CLS","CVM","CDB","CMONGO","POSTGRES","REDIS","REDIS_MEM","SQLSERVER","CYNOSDB_MYSQL","TCAPLUS","TDMYSQL","PCX","BWP","NAT_GATEWAY","VPNGW","VPNX","DCG","CEIP_SUMMARY","VPC_NET_DETECT","VBC","LB","LB_PUBLIC","LB_PRIVATE","LOADBALANCE","CDN","CDN_LOG_DATA","OV_CDN","SCF_V2","CFS","COS","CKAFKA","CMQ","CMQTOPIC","TDMQ","TDMQ_ROCKETMQ","TDMQ_RABBITMQ","DCX","DC","CPM","BM_PCX","BM_LB","BM_INTRA_LB","CES","BLOCK_STORAGE","APIGATEWAY","QAAP","ECM","ECM_BLOCK_STORAGE","ECM_LB","GSE","TKE","ECDN","WAF","multi_scene","lite","cloud_monitor","cloud_log_service","real_user_monitoring","apm_monitoring","region","log_topic","syntax_rule","max_result_num","search_statement","time_unit","seconds","search_description","Language","locale_language","Chinese","setLanguage","getLanguage","options","secretId","service","action","host","version","payload","backendSrv","datasourceId","this","JSON","stringify","nowDate","utc","timestamp","unix","date","format","getHeader","getResourceHeader","res","datasourceRequest","url","method","headers","data","Host","Service","Version","Action","Region","Timestamp","Method","Uri","Query","Body","Headers","resp","authorization","token","intranet","grafanaVersion","window","grafanaBootData","settings","buildInfo","Authorization","toString","defaults","path","generateQueryString","getResourceQueryString","assign","secretKey","querystring","queryString","TcDataSourceId","id","FINACE_REGIONS","SERVICES_API_INFO","api","monitor","cls","cvm","cdb","pcx","vpc","mongodb","clb","postgres","cdn","redis","scf","cfs","ckafka","dc","cynosdb","sqlserver","bm","bmeip","bmvpc","bmlb","es","emr","cmq","cbs","tcaplusdb","dcdb","apigateway","tdmq","tdmq_rabbitmq","tdmq_rocketmq","gaap","ecm","gse","lighthouse","tsf","rum","tke","ecdn","waf","apm","FINACE_HOST","GetServiceAPIInfo","indexOf","find","__","getHostAndPath","GetServiceFromNamespace","namespace","ParseMetricQuery","query","result","queries","split","forEach","item","str","trim","val","parse","e","toLower","ReplaceVariable","templateSrv","scopedVars","field","multiple","varname","varFlag","regResult1","String","match","regResult2","parseVariableFormat","replaceVar","replace","error","isArray","GetDimensions","obj","isEmpty","dimensions","Value","undefined","push","Name","ParseQueryResult","response","instances","timeshift","instanceList","cloneDeep","dataPoints","map","dataPoint","instanceAliasValue","length","isInstanceMatch","_InstanceAliasValue","splice","target","MetricName","datapoints","parseDataPoint","timestamps","values","index","instance","isVariable","GetRequestParams","signObj","signParams","pick","headerSigned","GetRequestParamsV2","sign","SliceLength","total","len","num","Math","ceil","Offset","CoreApp","IS_DEVELOPMENT_ENVIRONMENT","instanceSettings","instanceListCache","extraMetricDims","checkKeys","MetricReqConfig","extrasAlias","queryMonitorExtraConfg","CandiateDimensions","jsonData","Namespace","getOtherAlias","alias","extra","extraAlia","getVariable","getAliasValue","Array","join","formatVarDisplay","displayTpl","instanceAlias","a","b","InstanceAliasList","includes","metricFindQuery","regex","display","instancealias","templateQueryIdMap","isObject","isString","getRegions","getVariableInstances","flatMap","insAlias","text","setInstance","getInstance","instanceCache","fetchMetricData","Promise","resolve","dimensionsFormat","dimKeys","ins","dimensionObject","keyTmp","invalidDim","InvalidDimensions","getInvalidDimensions","extraDimValue","dim_KeyInStorage","dim_KeyInTarget","dim_KeyInMap","dim_KeyInIns","extraSourceMap","getExtraStorage","extraStorage","isStringOrNumber","isNumber","otherAlias","getDimensionsVal","Ekey","tt","getOwnDimension","dimVal","filter","targets","hide","metricName","reduce","prev","cloneTarget","concat","inst","getDefaultInsObj","insInReq","keys","dimResult","Dimensions","StartTime","range","from","subtract","EndTime","to","Period","period","Instances","getMonitorData","all","then","responses","flatten","getInstanceReqConfig","selfIns","metric","rs","valStr","params","serviceInfo","doRequest","RegionSet","RegionName","RegionState","getMetrics","MetricSet","resFilterFn","resultFilter","getInstances","InstanceReqConfig","interceptor","Limit","Edition","request","Error","TotalCount","TotalCnt","TotalNumber","param","isValidConfigField","testDatasource","cvmErr","monitorErr","serviceErr","cvmAuthFail","monitorAuthFail","serviceAuthFail","messages","message","compact","uniq","status","title","statusText","code","__WEBPACK_EXTERNAL_MODULE__4__","getFieldsValue","fields","fetchAllFactory","fetcher","_params","omit","Result","firstLists","delta","batchCount","pmList","fill","_","isOffsetPage","acc","cur","lists","list","instanceQueryParamsBaseParse","isFilter","Values","slice","Filters","getNamesapceFromService","serviceName","serviceGroupBy","services","label","groupName","existedGroup","items","isTargetEqual","newTargetString","oldTargetString","newTarget","oldTarget","getTimeShiftInMs","timeShift","parts","exec","amount","parseInt","__WEBPACK_EXTERNAL_MODULE__6__","config","detailConfig","QueryCtrl","newQueryIns","$scope","$rootScope","getDropdown","datasource","getFilterDropdown","directive","template","controller","restrict","scope","showDetail","getDropdownOptions","onChange","__WEBPACK_EXTERNAL_MODULE__8__","store","promisify","type","reject","onsuccess","event","returnMap","msg","onerror","props","initDB","indexedDB","webkitIndexedDB","mozIndexedDB","msIndexedDB","open","onupgradeneeded","db","objectStoreNames","contains","createObjectStore","keyPath","openDB","insertData","storeName","transaction","objectStore","add","oncomplete","addData","isCover","getData","oldData","getObjectStore","newData","requestUpdate","put","seviceName","getAllData","getAll","insKey","cacheWay","setStorage","getStorage","setExtraStorage","EValue","serviceKey","storage","__WEBPACK_EXTERNAL_MODULE__10__","CKAFKAQueryDescriptor","enDescriptor","cnDescriptor","link","min","max","CKAFKA_STATE","metricUnit","topicId","topicName","consumerGroup","partition","Status","InstanceId","SearchWord","TagKey","GetInstanceQueryParams","CKAFKAInstanceAliasList","CKAFKATopicAliasList","CKAFKAInvalidDemensions","Proxy","prop","toLocaleLowerCase","keyInStorage","TopicList","GroupList","PartitionList","TopicId","TopicName","GroupName","PartitionId","queryEditorName","LOADBALANCEFieldsDescriptor","queryEditorConfig","instanceDocUrl","fieldDescriptor","LOADBALANCE_STATE","Port","Protocol","listener","servers","serverPort","LoadBalancerIds","Forward","LoadBalancerName","Domain","LoadBalancerVips","BackendPublicIps","BackendPrivateIps","ProjectId","WithRs","VpcId","SecurityGroup","MasterZone","OrderBy","OrderType","LOADBALANCEListenerAliasList","LOADBALANCEServerAliasList","LOADBALANCEVALIDDIMENSIONS","vip","loadBalancerPort","protocol","lanIp","port","CANDIATEDIMENSIONS","PrivateIpAddresses","ServerPort","TDMQInvalidDemensions","tenantId","tenant","environmentId","TDMQInstanceAliasList","TDMQFilterFieldsDescriptor","CDNPROVINCE_STATE","regionSupported","modifyDimensons","metricItem","metricTmp","EnvironmentId","ServiceType","ServiceTypeOptions","logService","RUMService","APMService","defaultQueryInfo","serviceType","logServiceParams","SyntaxRule","CQL","RUMServiceParams","policy","resultFormat","orderByTime","tags","groupBy","select","APMServiceParams","orderType","orderBy","queryInfoRuntime","refId","queryType","dataTopic","fleetId","GSEInvalidDemensions","instanceid","fleetid","queuename","GSEInstanceAliasList","FleetId","fleet","queue","GSEFilterFieldsDescriptor","GSE_STATE","v","DCDBInvalidDemensions","nodeid","shardid","ShardId","DCDBInstanceAliasList","NodeId","ShardInstanceId","DCDBFilterFieldsDescriptor","DCDB_STATE","InstanceIds","SearchName","SearchKey","ProjectIds","SubnetId","OrderByType","ExclusterType","ExclusterIds","FilterInstanceType","modifyMetricConf","IsFilterVpc","IsFilterExcluster","RedisMemFieldsDescriptor","REDISMEM_STATE","VpcIds","SubnetIds","InstanceName","UniqVpcIds","UniqSubnetIds","TypeVersion","EngineName","AutoRenew","BillingMode","Type","rnodeid","pnodeid","REDISMEMInstanceAliasList","RedisMemInvalidDemensions","NodeType","node","TDMQRABBITMQInstanceAliasList","TDMQ_STATE","NodeName","group","TDMQROCKETMQInstanceAliasList","instanceIdsChecked","filtersChecked","ClusterIdList","includeVip","NamespaceId","SERVICES","href","hideRegion","Datasources","InitStates","hackModuleName","postgresql","mr","filePath","moduleName","fileName","prefix","toUpperCase","getParams","ECMBLOCKSTORAGEInvalidDemensions","uuid","diskId","ECMBLOCKSTORAGEInstanceAliasList","ECMBLOCKSTORAGEFilterFieldsDescriptor","ECMBLOCKSTORAGE_STATE","DiskId","__WEBPACK_EXTERNAL_MODULE__22__","APIGATEWAYInvalidDemensions","serviceId","environmentName","apiid","apiId","APIGATEWAYInstanceAliasList","environmentList","EnvironmentName","APIGATEWAYFilterFieldsDescriptor","APIGATEWAY_STATE","ServiceId","ServiceName","NotUsagePlanId","Environment","IpVersion","InstanceQueryDescriptor","InvalidDemensions","k","receiver","startsWith","Reflect","has","propKey","Ip","nodeIP","DisplayStrategy","Order","OrderField","Asc","VCLBInvalidDemensions","VCLBInstanceAliasList","VCLBFilterFieldsDescriptor","VCLB_STATE","clbNamespaceMap","public","private","__WEBPACK_EXTERNAL_MODULE__26__","cynosdbMysqlFilterFieldsDescriptor","CYNOSDB_STATE","DbType","CYNOSDBMYSQLInstanceAliasList","CYNOSDBInvalidDemensions","instanceId","SCFQueryDescriptor","SCF_STATE","Description","SCFInstanceAliasList","SCFInvalidDemensions","functionName","SCFDefaultDimensionList","CLSInvalidDemensions","CLSInstanceAliasList","CLSFilterFieldsDescriptor","CLS_STATE","uin","logsetName","logsetId","tagKey","storageType","SQLSERVERInvalidDemensions","resourceId","SQLSERVERInstanceAliasList","SQLSERVERNETFilterFieldsDescriptor","SQLSERVER_STATE","InstanceIdSet","PayMode","VipSet","InstanceNameSet","VersionSet","Zone","BMINTRALBInvalidDemensions","vpcId","BMINTRALBInstanceAliasList","BMINTRALBFilterFieldsDescriptor","BMINTRALB_STATE","BMLBValidMetricsT","isValidMetric","validMetrics","toUpper","CPMInvalidDemensions","BMLBInstanceAliasList","CPMFilterFieldsDescriptor","CPM_STATE","BMPCXInvalidDemensions","peeringConnectionId","BMPCXInstanceAliasList","BMPCXFilterFieldsDescriptor","BMPCX_STATE","VpcPeerConnectionIds","CBSInvalidDemensions","diskname","unInstanceId","CBSInstanceAliasList","CBSFilterFieldsDescriptor","CBS_STATE","DiskIds","ReturnBindAutoSnapshotPolicy","metricObj","dimension","CDNPROVINCEInvalidDemensions","domain","projectid","province","appid","CDNPROVINCEInstanceAliasList","CDNPROVINCEFilterFieldsDescriptor","isp","district","origin","projectId","domainType","fullUrlCache","https","originPullProtocol","CEIPInvalidDemensions","eip","CEIPSUMMARYInstanceAliasList","CEIPFilterFieldsDescriptor","CEIP_STATE","subscription","subscriptionId","CPMInstanceAliasList","DeviceClassCode","WanIps","LanIps","Alias","VagueIp","AutoRenewFlag","DeviceType","IsLuckyDevice","ECDNInstanceAliasList","ECDNInvalidDemensions","ECDN_STATE","disable","area","ECDNFilterFieldsDescriptor","_queries","Fuzzy","ECMInvalidDemensions","ECMInstanceAliasList","ECMFilterFieldsDescriptor","ECM_STATE","zone","PostgresFieldsDescriptor","POSTGRESInstanceAliasList","POSTGRES_STATE","PostgreInvalidDemensions","uid","VPCNETInvalidDemensions","netdetectid","netDetectId","VPCNETDETECTInstanceAliasList","VPCNETFilterFieldsDescriptor","VPCNET_STATE","WAFFilterFieldsDescriptor","WAF_STATE","WAFInstanceAliasList","WAFInvalidDemensions","CDBFieldsDescriptor","CDB_STATE","InstanceTypes","Vips","SecurityGroupId","PayTypes","InstanceNames","TaskStatus","EngineVersions","ZoneIds","CdbErrors","OrderDirection","InitFlag","CDBInstanceAliasList","CDBInvalidDemensions","insttype","CESInvalidDemensions","uInstanceId","CESInstanceAliasList","CESFilterFieldsDescriptor","CES_STATE","OrderByKey","IpList","DCFilterFieldsDescriptor","DC_STATE","DirectConnectIds","DCInstanceAliasList","DCInvalidDemensions","directConnectId","directconnectid","DCGInvalidDemensions","directConnectGatewayId","DCGInstanceAliasList","DCGFilterFieldsDescriptor","DCG_STATE","DCXFilterFieldsDescriptor","DCX_STATE","DCXInstanceAliasList","DCXInvalidDemensions","directconnectconnid","directConnectConnId","ECMLBInvalidDemensions","ECMLBInstanceAliasList","ECMLBFilterFieldsDescriptor","MONGODBFieldsDescriptor","MONGODB_STATE","InstanceType","ClusterType","MONGODBInstanceAliasList","MONGODBInvalidDemensions","replica","Replica","Node","QAAPInvalidDemensions","channelId","QAAPInstanceAliasList","QAAPFilterFieldsDescriptor","QAAP_STATE","AccessRegion","RealServerRegion","GroupId","TCAPLUSInvalidDemensions","TCAPLUSInstanceAliasList","TCAPLUSFilterFieldsDescriptor","TCAPLUS_STATE","ClusterId","TableGroupIds","TableName","TableInstanceId","TableIdlType","TableType","ListElementNum","ReservedVolume","ReservedReadQps","ReservedWriteQps","Memo","FileName","FileExtType","FileSize","FileContent","SelectedTables","regonsMap","VBCInvalidDemensions","VBCInstanceAliasList","VBCFilterFieldsDescriptor","VBC_STATE","DRegion","SRegion","state","VPNGWInvalidDemensions","vpnGwId","VPNGWInstanceAliasList","VPNGWFilterFieldsDescriptor","VPNGW_STATE","VPNXInvalidDemensions","vpnConnId","VPNXInstanceAliasList","VPNXFilterFieldsDescriptor","VPNX_STATE","LighthouseFilterFieldsDescriptor","LIGHTHOUSE_STATE","LIGHTHOUSEInstanceAliasList","LighthouseInvalidDemensions","CFSQueryDescriptor","CFS_STATE","FileSystemId","CFSInstanceAliasList","CFSInvalidDemensions","queueId","queueName","QueueName","CVMFilterFieldsDescriptor","CVM_STATE","CVMInstanceAliasList","CVMValidMetricsT","CVMValidMetrics","PCX_STATE","limit","offset","peeringConnectionName","PCXFieldsDescriptor","PCXInstanceAliasList","RedisFieldsDescriptor","REDIS_STATE","REDISInstanceAliasList","RedisInvalidDemensions","redis_uuid","TSFFieldsDescriptor","TSF_STATE","ApplicationType","MicroserviceType","ApplicationResourceTypeList","ApplicationIdList","TSFInstanceAliasList","TSFInvalidDemensions","applicationid","BWPFilterFieldsDescriptor","BWP_STATE","BandwidthPackageIds","BWPInstanceAliasList","BWPInvalidDemensions","bandwidthPackageId","CDNFilterFieldsDescriptor","CDN_STATE","CDNInstanceAliasList","CDNInvalidDemensions","LBFilterDescriptor","LB_STATE","LBInstanceAliasList","LBInvalidDemensions","NATGATEWAYInstanceAliasList","NATGatewayFilterFieldsDescriptor","NATGATEWAY_STATE","NatGatewayIds","NATInvalidDemensions","natId","OVCDNFilterFieldsDescriptor","OVCDN_STATE","OVCDNInstanceAliasList","OVCDNInvalidDemensions","extendStatics","setPrototypeOf","__proto__","__extends","constructor","__WEBPACK_EXTERNAL_MODULE__69__","__WEBPACK_EXTERNAL_MODULE__70__","x","UnsubscriptionError","UnsubscriptionErrorImpl","errors","err","Subscription","unsubscribe","closed","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","empty","remove","isFunction","flattenUnsubscriptionErrors","sub","teardown","EMPTY","tmp","subscriptions","subscriptionIndex","errs","Subscriber","_super","destinationOrNext","complete","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","arguments","destination","SafeSubscriber","next","subscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","observerOrNext","context","_context","useDeprecatedSynchronousErrorHandling","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","identity","pipeFromArray","fns","input","Observable","subscribe","_isScalar","_subscribe","lift","operator","observable","source","sink","nextOrObserver","rxSubscriber","toSubscriber","_trySubscribe","observer","_a","closed_1","canReportError","promiseCtor","getPromiseCtor","pipe","operations","_i","toPromise","TKE_STATE","conditions","groupBys","ClusterIds","ClusterName","ClusterStatus","TKEFilterFieldsDescriptor","TKEInstanceAliasList","responseField","getEnvironmentNameList","LoadBalancerType","RegionMap","keyBy","RegionInfoSet","rawSet","getZones","ZoneSet","ZoneName","ZoneId","ZoneState","getConsumerList","MapInfoList","TopicAliasList","consumerGroupCache","getConsumerGroups","groupname","topicid","consumerGoup","topicList","GroupDetailList","uniqBy","SubscribedInfos","ConsumerGroupName","SubscribedInfo","partitions","Partition","formatTopicVarDisplay","topic","topicAlias","topicalias","par","ListenerAliasList","ServerAliasList","tagret","getListenerList","LoadBalancerId","formatVariableDisplay","aliasList","getServerList","listenerId","ListenerIds","Listeners","Rules","Targets","elem","listenAlias","lisId","listenerid","serverprivateip","serveralias","serversList","chain","dims","Set","fetchAllSubscription","SubscriptionId","cosURL","Buckets","BucketName","bucket","DeviceClassSet","Product","extraActionMap","DescribeDCDBShards","pickKey","DescribeDCDBInstanceNodeInfo","RegionList","act","getDiskList","instanceObj","getQueueNameList","getFleetList","ReplicaAliasList","replicaAlias","ReplicaSetId","replicasetid","times","SecondaryNum","nodeId","fetchAllNodes","NodeFlag","resultT","doRequestV2","totalCount","getVpcId","VpcSet","getVpcIds","MonitorVersion","getInstanceNodeInfo","nodetype","ndoeTypeIndex","getVersions","Versions","FunctionName","RegionInfos","DescribeTopics","DescribeEnvironments","DescribeRabbitMQNodeList","DescribeRocketMQNamespaces","DescribeRocketMQGroups","variableToArray","variable","tke_cluster_instance_id","Key","Operator","MetricNames","Module","Conditions","GroupBys","Data","Points","point","dimensionSort","dimensionString","timeshiftString","getAllMetrics","public_metrics","private_metrics","edition","_enable_super_gross_mode_that_will_cause_bad_things","init","getInstanceId","getServiceFn","getExtraDropdown","sQuery","onRefresh","onChecked","srcField","dstField","bwpQuery","BWPQueryCtrl","cdbQuery","CDBQueryCtrl","cdnQuery","CDNQueryCtrl","ExtraFields","scfQuery","SCFQueryCtrl","onInstanceChange","getExtraFields","CKAFKAQueryCtrl","element","attrs","$watch","newValue","oldValue","onFieldChange","getVariableId","variableData","getServersDropdown","getServerPortDropdown","serverPortList","cacheMap","getTopicName","onExtraFieldChange","datas","CmqTopicQueryCtrl","cvmQuery","CVMQueryCtrl","dropdownTextConfig","actionMaps","lbQuery","LBQueryCtrl","lighthouseQuery","LighthouseQueryCtrl","replicaId","mongodbQuery","MongoDBQueryCtrl","some","dataT","mrQuery","MrQueryCtrl","natGatewayQuery","NatGatewayQueryCtrl","ovCdnQuery","OVCDNQueryCtrl","pcxQuery","PCXQueryCtrl","redisQuery","RedisQueryCtrl","clearExtrasAlias","redisMemQuery","RedisMemQueryCtrl","evId","tdmqRocketmqQuery","TdmqRocketmqQueryCtrl","addCondition","deleteCondition","targetCondition","getOperator","tsfQuery","TSFQueryCtrl","VBCQueryCtrl","webpackContext","req","webpackContextResolve","selectModels","updateProjection","groupByParts","updatePersistedParts","selectParts","part","def","hasGroupByTime","g","hasFill","addGroupBy","stringParts","typePart","arg","partModel","partCount","removeGroupByPart","categories","getCategories","category","Aggregations","Selectors","removeSelect","removeSelectPart","modelsIndex","partIndex","addSelectPart","addStrategy","getMeasurementAndPolicy","interpolate","measurement","interpolateQueryStr","defaultFormatFn","multi","includeAll","regexEscape","render","rawQuery","y","selectText","tag","renderTagCondition","groupBySection","slimit","tz","renderAdhocFilters","filters","condition","toLowerCase","test","_class","getNamespaces","namespaces","getCascaderNamespaces","validServices","getSelectedServices","promises","optionsTemp","promiseTemp","Done","results","getListeners","errorMsg","upperFirst","fnName","argu","__WEBPACK_EXTERNAL_MODULE__190__","defaultParams","renderer","updateText","innerExpr","hasMultipleParamsInString","strValue","optional","updateParam","partVal","idx","functionRenderer","parameters","paramType","quote","unshift","Transformations","Predictors","Aliasing","Fields","createPart","QueryPart","register","QueryPartDef","groupByTimeFunctions","fieldRenderer","replaceAggregationAddStrategy","morePartsAvailable","addTransformationStrategy","dynamicLookup","renderMode","replaceAggregationAdd","hostReportError","setTimeout","hexTable","array","arrayToObject","plainObjects","refs","j","pop","compacted","compactQueue","decode","decodeURIComponent","encode","string","out","charCodeAt","charAt","isBuffer","isRegExp","merge","allowPrototypes","mergeTarget","percentTwenties","formatters","RFC1738","RFC3986","SPQueryCtrl","_config","queryDDO","formats","__WEBPACK_EXTERNAL_MODULE__199__","getSymbolIterator","iterator","SimpleInnerSubscriber","notifyNext","notifyError","notifyComplete","SimpleOuterSubscriber","apply","innerValue","innerSubscribe","innerSubscriber","SearchSyntaxRule","uuidRegex","random","RESULT_FORMATS","DEFAULT_RESULT_FORMAT","ENABLE_MEASUREMENTS","utils","arrayPrefixGenerators","brackets","indices","repeat","toISO","Date","toISOString","delimiter","encoder","encodeValuesOnly","serializeDate","skipNulls","strictNullHandling","generateArrayPrefix","sort","allowDots","formatter","objKeys","opts","TypeError","arrayFormat","joined","addQueryPrefix","arrayLimit","decoder","depth","parameterLimit","parseKeys","givenKey","child","segment","leaf","root","cleanRoot","isNaN","parseArrays","parseObject","ignoreQueryPrefix","tempObj","cleanStr","Infinity","bracketEqualsPos","pos","parseValues","newObj","__WEBPACK_EXTERNAL_MODULE__210__","database","buildExploreQuery","withKey","withMeasurementFilter","whereConditions","memo","isArrayLike","isPromise","subscribeTo","obs","promise","iterable","done","return","project","thisArg","MapOperator","MapSubscriber","count","isOldIE","Boolean","document","atob","getTarget","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","base","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","setAttribute","insert","appendChild","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","btoa","unescape","encodeURIComponent","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","lastIdentifiers","newList","newLastIdentifiers","_index","useSourceMap","content","cssMapping","sourceMapping","base64","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","__WEBPACK_EXTERNAL_MODULE__222__","__WEBPACK_EXTERNAL_MODULE__223__","Events","EE","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","names","getOwnPropertySymbols","listeners","handlers","ee","listenerCount","emit","a1","a2","a3","a4","a5","args","removeListener","on","removeAllListeners","off","prefixed","getFieldType","firstNotNull","number","valueType","timeSeriesToDataFrame","timeSeries","Number","time","displayNameFromDS","labels","meta","responseParser","classicQuery","timeFilter","getTimeFilter","queryTargets","allQueries","custom","fixTimePeriod","interval","__interval","current","adhocFilters","getAdhocFilters","_seriesQuery","seriesList","series","executedQueryString","apmSeries","preferredVisualisationType","getTable","getTimeSeries","interpolated","rangeRaw","timezone","_APMRequest","requestOptions","fetch","cancelled","buf","Buffer","Response","Code","Message","handleErrors","isInteger","getAPMTime","roundUp","valueOf","getTimePeriod","modifyTime","until","oneHour","compareResult","periodCompare","pre_period","units","reg","RegExp","pre","per","annotation","output","columns","seriesName","columnName","_getSeriesName","segments","g1","g2","segIndex","getAnnotations","titleCol","timeCol","timeEndCol","tagsCol","textCol","column","titleColumn","tagsColumn","textColumn","timeEndColumn","timeEnd","table","seriesIndex","firstCol","firstTableCol","reordered","rows","APMResults","normalizedQuery","isValueFirst","isShowMeasurements","serie","addUnique","dfs","selectedParams","allParams","selector","uniqueParams","incrementName","nameIncremenet","getSelectedParams","getTableCols","dfsByLabels","df","getTableRows","transformAnnotationResponse","rsp","colText","colContainsTag","toArray","metrics","default","exported","locals","___CSS_LOADER_API_IMPORT___","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","encodingOrOffset","allocUnsafe","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","write","fromString","checked","copy","buffer","fromObject","assertSize","size","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","arr","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","species","configurable","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","_arr","ret","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","src","dst","Function","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","log","LN2","placeholder","maxCond","toInteger","onInputBlur","onChangeInternal","cond","onSelectChange","getSelectedOptions","selectedOptions","option","maxNum","minNum","getOptions","show","oldVariableText","highlightIndex","selectOptions","selectedValue","selected","selectedValues","search","dropdownVisible","updateLinkText","linkText","clearSelections","each","selectionsChanged","keyDown","keyCode","moveHighlight","commitChanges","selectValue","direction","commitChange","excludeOthers","setAllExceptCurrentTo","other","ctrlKey","metaKey","shiftKey","queryChanged","customSelectDropdown","$compile","$window","$timeout","controllerAs","bindToController","bodyEl","body","linkEl","inputEl","bodyOnClick","$apply","vm","width","focus","RectCompo","componentName","propTypes","separator","changeOnSelect","onSelect","initialValue","allowCustomValue","formatCreateLabel","displayAllSelectedLevels","component","$element","_$scope","_$element","$onInit","entries","_query","loadBalance","lbPrivate","lbPublic","mongoDB","mrHDFS","mrHBASE","mrHIVE","mrNODE","mrPRESTO","mrSPARK","mrYARN","mrZOOKEEPER","editorHtml","serviceSwitch","$injector","regions","metricList","periodList","dimensionList","instanceAliasList","showInstanceDetails","cascaderOptions","defaultsDeep","getInstanceAliasList","panelCtrl","onDataReceived","onDataError","cascaderChange","onNamespaceChange","dataList","lastQueryError","lastQuery","anySeriesFromQuery","handleQueryCtrlError","initState","refresh","isCascader","onRegionChange","isMetricsNeedUpdate","panel","getMetricNameDesc","findIndex","Meaning","Zh","En","onMetricChange","getInstanceQueryParams","subItem","onInstanceAliasChange","onInstanceQueryChange","checkShowDetail","getTimeDesc","getSearchDesc","angularScope","angularQueryEditor","renderAngularQueryEditor","destroy","loader","scopeProps","ctrl","getAngularQueryComponentScope","load","componentDidMount","forceUpdate","componentDidUpdate","prevProps","legacy","timeRange","queryCtrl","components","dashboard","onRunQuery","ref","capiRequest","clsCapiRequest","regionCapiRequest","SearchLog","UseNewAnalysis","DescribeLogContext","DescribeRegionsAndZonesRequest","product","DescribeRegions","clsRegions","regionList","RegionId","RegionShortName","RegionTypeMC","RegionType","Location","regionId","regionName","regionShortName","oversea","effect","getStringVariableNameOptions","getVariables","refValue","TopicSelector","preferLastValue","localStorage","setItem","lastValue","getItem","topicSelectOptionsRef","setRegionList","fetchRegions","labelWidth","Topics","menuPlacement","className","defaultOptions","cacheOptions","loadOptions","filterStr","optionsWithVariables","displayName","LogServiceQueryEditor","propsRef","clone","partialOnChange","queryInfo","oldQuery","LUCENE","MaxResultNumInput","MaxResultNum","flexGrow","portalOrigin","onBlur","onChangeFromProps","onInputChange","currVal","currentTarget","invalid","q","getTagKeysForMeasurementAndTags","unwrap","toSelectableValue","getPartParams","dynamicParamOptions","paramValues","defParam","makePartList","queryParts","qp","htmlFor","children","styles","theme","spacing","inlineFormMargin","useAsyncFn","deps","initialState","loading","mountedRef","lastCallId","isMounted","callback","callId","prevState","usePrevious","useShadowedState","outsideVal","currentVal","setCurrentVal","prevOutsideVal","selectClass","minWidth","onClose","autoFocus","isOpen","onCloseMenu","loadState","doLoad","isLoading","filterByLoadOptions","currentValue","setCurrentValue","spellCheck","onKeyDown","defaultButtonClass","cursor","buttonClassName","disabled","setOpen","as","onClick","getPolicyOptions","getMeasurementOptions","allPolicies","isRegex","getCondition","isFirst","onAdd","operatorOptions","condititonOptions","loadConditionOptions","loadOperatorOptions","onRemove","getTagKeyOptions","getTagValueOptions","op","currentOperator","newTagValue","isCurrentOperatorRegex","onTagChange","newTag","newTags","newT","minimalTag","noRightMarginPaddingClass","paddingRight","marginRight","getContextMenuItems","openMenu","noHorizMarginPaddingClass","paddingLeft","marginLeft","partClass","lineHeight","typography","md","fontSize","onParamChange","newParams","isLast","Fragment","getNewPartOptions","onAddNewPart","onRemovePart","pars","paddingRightClass","isWide","OPTIONS","inputId","withTemplateVariableOptions","optionsPromise","filterTags","allTagKeys","RUMServiceQueryEditor","idRefLazy","uniqueId","formatAsId","orderByTimeId","queryCopy","normalizeQuery","selectLists","dynamicSelectPartOptions","Map","getFieldKeysForMeasurement","sel","getTagKeys","groupByList","dynamicGroupByPartOptions","onAppliedChange","newQuery","getAllPolicies","measurementFilter","getAllMeasurementsForTags","inlineLabel","getTagValues","listIndex","newSel","changeSelectPart","model","addNewSelectPart","selectModel","tagKeys","getNewGroupByPartOptions","newGroupBy","changeGroupByPart","addNewGroupByPart","APMServiceQueryEditor","orderBySeriesId","isAlertVisiable","app","UnifiedAlerting","setState","firstEnabledService","enabledServices","monitorEnabled","monitorDataSource","logServiceEnabled","RUMServiceEnabled","APMServiceEnabled","active","onChangeTab","renderMonitorQueryEditor","renderLogServiceQueryEditor","renderRUMServiceQueryEditor","renderAPMServiceQueryEditor","onQueryChange","definition","grow","tooltip","required","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","SubjectSubscription","subject","observers","subscriberIndex","SubjectSubscriber","Subject","hasError","thrownError","asObservable","AnonymousSubject","refCount","RefCountOperator","connectable","_refCount","refCounter","connection","connect","RefCountSubscriber","sharedConnection","_connection","ConnectableObservable","subjectFactory","_isComplete","getSubject","_subject","connectableObservableDescriptor","connectableProto","writable","ConnectableSubscriber","MulticastOperator","shareSubjectFactory","share","subjectOrSubjectFactory","ProcessorUtils","PrestoAndFieldTypeMap","prestoTypeRegex","fieldType","processor","isValid","LogFieldReservedName","formatSearchLog","Analysis","AnalysisRecords","analysisColumns","analysisRecords","prestoType","analysisColumn","record","parseLogJsonStr","logJsonStr","tagContent","__TAG__","tagValue","ConvertSearchResultsToDataFrame","searchLogResult","frameDTO","ConvertAnalysisJsonToDataFrameDTO","Results","timeField","TIMESTAMP","logField","LogJson","displayMode","sourceField","SOURCE","filenameField","Filename","hostnameField","HostName","metaField","META","hidden","logItem","logJson","RequestId","SamplingRate","ConvertLogJsonToDataFrameDTO","DataFrameType","timeSeriesFormat","toTimeSeriesMany","frame","valueFields","labelFields","builders","f","builder","TimeSeriesMany","uniqueValueNames","uniqueValueNamesToType","uniqueLabelKeys","labelKeyToWideIndices","uniqueFactorNamesToWideIndex","fieldIndex","tKey","wideIndices","labelKey","sortedTimeRowIndices","sortedUniqueLabelKeys","uniqueFactorNames","uniqueFactorNamesWithWideIndices","wideRowIndex","labelKeys","longFrame","TimeSeriesLong","addField","timeWideRowIndex","rowValues","wideFieldIndex","wideField","toTimeSeriesLong","CQL_SPLIT_PATTERN","getQueryLucene","querySplit","luceneQuery","replaceClsQueryWithTemplateSrv","sqlQuery","addQueryResultLimit","resultLimit","showContextToggle","row","dataFrame","metaValue","rowIndex","PkgId","PkgLogId","getLogRowContext","bTime","BTime","PrevLogs","NextLogs","logContext","LogContextInfos","idField","lineField","contextLog","Content","ConvertLogContextToDataFrame","dataFramePromise","From","To","Loading","frames","processedFrames","timeSeriesMany","getLogsVolumeDataProvider","RUMResults","rumSeries","_RUMRequest","mergeMap","catchError","getRUMTime","logServiceDataSource","tcDatasource","RUMServiceDataSource","APMServiceDataSource","DataSource","monitorTargets","logServiceTargets","RUMServiceTargets","APMServiceTargets","EmptyDataQueryResponse","errResponse","every","flat","serviceTestResults","failedResult","SecretFormField","patchJsonData","kv","onOptionsChange","onJsonDataChange","targetName","targetValue","onSecureJsonChange","secureJsonData","onResetSecureJson","secureJsonFields","monitorFilter","isClsAlertVisiable","position","marginTop","padding","WebkitBoxFlex","borderTop","margin","inputWidth","isConfigured","onReset","English","InlineSwitch","renderRUMConfig","renderAPMConfig","renderLogServiceConfig","renderMonitorConfig","severity","filteredProducts","marginBottom","toChecked","allCheckObject","height","WebkitBoxAlign","alignItems","border","borderRadius","setQueryEditor","setConfigEditor","setVariableQueryEditor","CatchOperator","caught","CatchSubscriber","err2","innerSubscription","scheduled","scheduler","isInteropObservable","schedule","scheduleObservable","schedulePromise","scheduleArray","isIterable","scheduleIterable","resultSelector","concurrent","POSITIVE_INFINITY","ii","MergeMapOperator","MergeMapSubscriber","hasCompleted","_tryNext","_innerSub","ish","shift"],"mappings":"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","file":"datasource/module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 239);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","const zh_CN = {\n language: '语言',\n enable_intranet_API_mode: '开启内网API模式',\n cloud_database: '云数据库',\n cloud_load_balancer: '负载均衡',\n virtual_private_cloud: '私有网络',\n content_delivery_network: '内容分发网络',\n message_queue: '消息队列',\n direct_connect: '专线接入',\n cloud_physical_machine: '黑石物理服务器',\n elastic_mapReduce: '弹性 MapReduce',\n edge_computing_machine: '边缘计算机器',\n // namespace\n RUM: '前端性能监控(RUM)',\n APM: '应用性能监控(APM)',\n CLS: '日志服务(CLS)',\n CVM: '云服务器(CVM)',\n CDB: '云数据库 MySQL(CDB)',\n CMONGO: '云数据库 MongoDB(CMONGO)',\n POSTGRES: '云数据库 PostgreSQL(POSTGRES)',\n REDIS: '云数据库 Redis(REDIS)',\n REDIS_MEM: '云数据库 Redis内存版(5s)(REDIS_MEM)',\n SQLSERVER: '云数据库 SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: '云数据库 CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: '云数据库 TcaplusDB(TCAPLUS)',\n TDMYSQL: '分布式数据库 TDSQL MySQL(TDMYSQL)',\n PCX: '私有网络-对等连接(PCX)',\n BWP: '私有网络-带宽包(BWP)',\n NAT_GATEWAY: '私有网络-NAT 网关(NAT_GATEWAY)',\n VPNGW: '私有网络-VPN 网关(VPNGW)',\n VPNX: '私有网络-VPN 通道(VPNX)',\n DCG: '私有网络-专线网关(DCG)',\n CEIP_SUMMARY: '私有网络-Anycast 弹性公网IP(CEIP_SUMMARY)',\n VPC_NET_DETECT: '私有网络-网络探测(VPC_NET_DETECT)',\n VBC: '私有网络-云联网(VBC)',\n LB: '私有网络-弹性公网IP(LB)',\n LB_PUBLIC: '公网负载均衡监控指标(LB_PUBLIC)',\n LB_PRIVATE: '内网负载均衡四层协议监控指标(LB_PRIVATE)',\n LOADBALANCE: '内网负载均衡七层协议监控指标(LOADBALANCE)',\n CDN: '国内域名(CDN)',\n CDN_LOG_DATA: '省份域名(CDN_LOG_DATA)',\n OV_CDN: '国外域名(OV_CDN)',\n SCF_V2: '云函数(SCF)',\n CFS: '文件存储(CFS)',\n COS: '对象存储(COS)',\n CKAFKA: '消息队列 CKafka(CKAFKA)',\n CMQ: '消息队列-队列服务监控(CMQ)',\n CMQTOPIC: '消息队列-主题订阅监控(CMQTOPIC)',\n TDMQ: '消息队列 Pulsar 版(TDMQ)',\n TDMQ_ROCKETMQ: '消息队列 RocketMQ 版(ROCKETMQ)',\n TDMQ_RABBITMQ: '消息队列 RabbitMQ 版(RABBITMQ)',\n DCX: '专线接入-专用通道(DCX)',\n DC: '专线接入-物理专线(DC)',\n CPM: '黑石物理服务器(CPM)',\n BM_PCX: '黑石对等连接(BM_PCX)',\n BM_LB: '黑石外网负载均衡(BM_LB)',\n BM_INTRA_LB: '黑石内网负载均衡(BM_INTRA_LB)',\n CES: 'Elasticsearch指标(CES)',\n BLOCK_STORAGE: '云硬盘(BLOCK_STORAGE)',\n APIGATEWAY: 'API 网关(APIGATEWAY)',\n QAAP: '全球应用加速(GAAP)',\n ECM: '边缘计算和网络监控(ECM)',\n ECM_BLOCK_STORAGE: '边缘计算存储监控(ECM_BLOCK_STORAGE)',\n ECM_LB: '边缘计算负载均衡(ECM_LB)',\n GSE: '游戏服务器伸缩(GSE)',\n TKE: '容器服务(TKE)',\n ECDN: '全站加速网络(ECDN)',\n WAF: 'Web 应用防火墙(WAF)',\n // others\n multi_scene: '多场景版',\n lite: '精简版',\n cloud_monitor: '云监控',\n cloud_log_service: '日志服务',\n real_user_monitoring: '前端性能监控',\n apm_monitoring: '应用性能监控',\n region: '地域',\n log_topic: '日志主题',\n syntax_rule: '语法规则',\n max_result_num: '最大结果条数',\n search_statement: '检索语句',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description: '按照具体的查询条件搜索实例,默认拉取前 20 条实例',\n // region\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-shenzhen-fsi': '华南地区(深圳金融)',\n 'ap-guangzhou-open': '华南地区(广州OPEN)',\n 'ap-shenzhen': '华南地区(深圳)',\n 'ap-qingyuan': '华南地区(清远)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-shanghai-fsi': '华东地区(上海金融)',\n 'ap-jinan-ec': '华东地区(济南)',\n 'ap-hangzhou-ec': '华东地区(杭州)',\n 'ap-nanjing': '华东地区(南京)',\n 'ap-fuzhou-ec': '华东地区(福州)',\n 'ap-hefei-ec': '华东地区(合肥)',\n 'ap-beijing': '华北地区(北京)',\n 'ap-tianjin': '华北地区(天津)',\n 'ap-beijing-fsi': '华北地区(北京金融)',\n 'ap-shijiazhuang-ec': '华北地区(石家庄)',\n 'ap-wuhan-ec': '华中地区(武汉)',\n 'ap-changsha-ec': '华中地区(长沙)',\n 'ap-zhengzhou-ec': '华中地区(郑州)',\n 'ap-chengdu': '西南地区(成都)',\n 'ap-chongqing': '西南地区(重庆)',\n 'ap-xian-ec': '西北地区(西安)',\n 'ap-shenyang-ec': '东北地区(沈阳)',\n 'ap-taipei': '港澳台地区(中国台北)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-tokyo': '亚太东北(东京)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-bangkok': '亚太东南(曼谷)',\n 'ap-jakarta': '亚太东南(雅加达)',\n 'na-siliconvalley': '美国西部(硅谷)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'eu-moscow': '欧洲地区(莫斯科)',\n 'ap-mumbai': '亚太南部(孟买)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'sa-saopaulo': '南美地区(圣保罗)',\n 'na-toronto': '北美地区(多伦多)',\n};\nexport default zh_CN;\n","const en_US = {\n language: 'Language',\n enable_intranet_API_mode: 'Enable Intranet API Mode',\n cloud_database: 'Cloud Database',\n cloud_load_balancer: 'Cloud Load Balancer',\n virtual_private_cloud: 'Virtual Private Cloud',\n content_delivery_network: 'Content Delivery Network',\n message_queue: 'Message Queue',\n direct_connect: 'Direct Connect',\n cloud_physical_machine: 'Cloud Physical Machine',\n elastic_mapReduce: 'Elastic MapReduce',\n edge_computing_machine: 'Edge Computing Machine',\n // namespace\n RUM: 'Real User Monitoring(RUM)',\n CLS: 'Cloud Log Service(CLS)',\n CVM: 'Cloud Virtual Machine(CVM)',\n CDB: 'TencentDB for MySQL(CDB)',\n CMONGO: 'TencentDB for MongoDB(CMONGO)',\n POSTGRES: 'TencentDB for PostgreSQL(POSTGRES)',\n REDIS: 'TencentDB for Redis(REDIS)',\n REDIS_MEM: 'TencentDB for Redis(Memory Edition, 5-Second)(REDIS_MEM)',\n SQLSERVER: 'TencentDB for SQL Server(SQLSERVER)',\n CYNOSDB_MYSQL: 'TencentDB for CYNOSDB_MYSQL(CYNOSDB_MYSQL)',\n TCAPLUS: 'TencentDB for TcaplusDB(TCAPLUS)',\n TDMYSQL: 'TDSQL for MySQL(TDMYSQL)',\n PCX: 'Peering Connection(PCX)',\n BWP: 'Bandwidth Packet(BWP)',\n NAT_GATEWAY: 'NAT Gateway(NAT_GATEWAY)',\n VPNGW: 'VPN Gateway(VPNGW)',\n VPNX: 'VPN Tunnel(VPNX)',\n DCG: 'Direct Connect Gateway(DCG)',\n CEIP_SUMMARY: 'Anycast EIP(CEIP_SUMMARY)',\n VPC_NET_DETECT: 'Network Detection(VPC_NET_DETECT)',\n VBC: 'Cloud Connect Network(VBC)',\n LB: 'Elastic IP(LB)',\n LB_PUBLIC: 'Public Network CLB(LB_PUBLIC)',\n LB_PRIVATE: 'Private Network CLB Layer-4 Protocol(LB_PRIVATE)',\n LOADBALANCE: 'Private Network CLB Layer-7 Protocol(LOADBALANCE)',\n CDN: 'Chinese Mainland Domain(CDN)',\n CDN_LOG_DATA: 'Province(CDN_LOG_DATA)',\n OV_CDN: 'Overseas Domain(OV_CDN)',\n SCF_V2: 'Serverless Cloud Function(SCF)',\n CFS: 'Cloud File Storage(CFS)',\n COS: 'Cloud Object Storage(COS)',\n CKAFKA: 'Message Queue CKafka(CKAFKA)',\n CMQ: 'Message Queue for Queue Service(CMQ)',\n CMQTOPIC: 'Message Queue for Topic Subscription(CMQTOPIC)',\n TDMQ: 'Tencent Distributed Message Queue for Pulsar(TDMQ)',\n TDMQ_ROCKETMQ: 'Tencent Distributed Message Queue for RocketMQ(ROCKETMQ)',\n TDMQ_RABBITMQ: 'Tencent Distributed Message Queue for RabbitMQ(RABBITMQ)',\n DCX: 'Direct Connect for Dedicated Tunnel(DCX)',\n DC: 'Direct Connect for Connection(DC)',\n CPM: 'Cloud Physical Machine(CPM)',\n BM_PCX: 'Cloud Physical Machine for Peering Connection(BM_PCX)',\n BM_LB: 'Cloud Physical Machine for Public Network CLB(BM_LB)',\n BM_INTRA_LB: 'Cloud Physical Machine for Private Network CLB(BM_INTRA_LB)',\n CES: 'Elasticsearch Service(CES)',\n BLOCK_STORAGE: 'Cloud Block Storage(BLOCK_STORAGE)',\n APIGATEWAY: 'API Gateway(APIGATEWAY)',\n QAAP: 'Global Application Acceleration Platform(GAAP)',\n ECM: 'Edge Computing Machine for Computation and Networking(ECM)',\n ECM_BLOCK_STORAGE: 'Edge Computing Machine for Block Storage(ECM_BLOCK_STORAGE)',\n ECM_LB: 'Edge Computing Machine for Layer-4 CLB(ECM_LB)',\n GSE: 'Game Server Elastic-scaling(GSE)',\n TKE: 'Tencent Kubernetes Engine(TKE)',\n ECDN: 'Enterprise Content Delivery Network(ECDN)',\n WAF: 'Web Application Firewall(WAF)',\n // others\n multi_scene: 'Multi-Scene',\n lite: 'Lite',\n cloud_monitor: 'Cloud Monitor',\n cloud_log_service: 'Cloud Log Service',\n real_user_monitoring: 'Real User Monitoring',\n apm_monitoring: 'Application Monitoring',\n region: 'Region',\n log_topic: 'Log Topic',\n syntax_rule: 'Syntax Rule',\n max_result_num: 'Maximum result number',\n search_statement: 'Search Statement',\n time_unit: 'Time unit',\n seconds: 'seconds',\n search_description:\n 'Search for instances according to specific query conditions, and pull the first 20 instances by default',\n // region\n 'ap-guangzhou': 'South China(Guangzhou)',\n 'ap-shenzhen-fsi': 'South China(Shenzhen Finance)',\n 'ap-guangzhou-open': 'South China(Guangzhou OPEN)',\n 'ap-shenzhen': 'South China(Shenzhen)',\n 'ap-qingyuan': 'South China(Qingyuan)',\n 'ap-shanghai': 'East China(Shanghai)',\n 'ap-shanghai-fsi': 'East China(Shanghai Finance)',\n 'ap-jinan-ec': 'East China(Jinan)',\n 'ap-hangzhou-ec': 'East China(Hangzhou)',\n 'ap-nanjing': 'East China(Nanjing)',\n 'ap-fuzhou-ec': 'East China(Fuzhou)',\n 'ap-hefei-ec': 'East China(Hefei)',\n 'ap-beijing': 'North China region(Beijing)',\n 'ap-tianjin': 'North China region(Tianjin)',\n 'ap-beijing-fsi': 'North China region(Beijing Finance)',\n 'ap-shijiazhuang-ec': 'North China region(Shijiazhuang)',\n 'ap-wuhan-ec': 'Central China(Wuhan)',\n 'ap-changsha-ec': 'Central China(Changsha)',\n 'ap-zhengzhou-ec': 'Central China(Zhengzhou)',\n 'ap-chengdu': 'Southwest China(Chengdu)',\n 'ap-chongqing': 'Southwest China(Chongqing)',\n 'ap-xian-ec': \"Northwest region(Xi'an)\",\n 'ap-shenyang-ec': 'Northeast China(Shenyang)',\n 'ap-taipei': 'Hong Kong, Macau and Taiwan (China)(Taipei, China)',\n 'ap-hongkong': 'Hong Kong, Macau and Taiwan (China)(Hong Kong, China)',\n 'ap-seoul': 'Northeast Asia(Seoul)',\n 'ap-tokyo': 'Northeast Asia(Tokyo)',\n 'ap-singapore': 'Southeast Asia(Singapore)',\n 'ap-bangkok': 'Southeast Asia(Bangkok)',\n 'ap-jakarta': 'Southeast Asia(Jakarta)',\n 'na-siliconvalley': 'US West(Silicon Valley)',\n 'eu-frankfurt': 'Europe(Frankfurt)',\n 'eu-moscow': 'Europe(Northeastern Europe)',\n 'ap-mumbai': 'South Asia(Mumbai)',\n 'na-ashburn': 'US East(Virginia)',\n 'sa-saopaulo': 'South America(São Paulo)',\n 'na-toronto': 'North America(Toronto)',\n};\nexport default en_US;\n","import zh_CN from './zh_CN';\nimport en_US from './en_US';\n\nlet locale_language = 'zh-CN';\n\nexport enum Language {\n Chinese = 'zh-CN',\n English = 'en-US',\n}\n\nexport const t = (key: string) => {\n if (locale_language === Language.Chinese) {\n return zh_CN[key];\n }\n return en_US[key];\n};\n\nexport const setLanguage = (language: Language) => {\n locale_language = language;\n};\n\nexport const getLanguage = () => locale_language;\n","import moment from 'moment';\n\nconst HttpRequestMethod = 'POST';\nconst CanonicalUri = '/';\nconst CanonicalQueryString = '';\nconst ContentType = 'application/json';\n\nexport default class Sign {\n /**\n * Tencent Cloud API Signature v3 reference: https://cloud.tencent.com/document/api/213/30654\n * secretId: SecretId for identifying identity that is applied for on Cloud API Key.\n * A SecretId corresponds to a unique SecretKey, which is used to generate the request Signature.\n * secretKey: SecretKey is used to encrypt the signature string and verify the signature string on the server\n * service: the name of service, which must be consistent with the request domain, such as cvm\n * action: The name of the API for the desired operation\n * host: the domain of service,which must be consistent with the request domain, such as cvm.tencentcloudapi.com\n * version: PI version, such as 2017-03-12\n * payload: The request parameters\n */\n\n secretId: string;\n\n service: string;\n action: string;\n host: string;\n version: string;\n payload: Record | string;\n region: string;\n timestamp: number;\n date: string;\n backendSrv: any;\n datasourceId: Number;\n constructor(options) {\n const { secretId, service, action, host, version, payload = '', region, backendSrv, datasourceId } = options;\n this.secretId = secretId;\n // this.secretKey = secretKey;\n this.service = service;\n this.action = action;\n this.host = host;\n this.version = version;\n this.payload = typeof payload === 'string' ? payload : JSON.stringify(payload);\n this.region = region;\n const nowDate = moment().utc();\n this.timestamp = nowDate.unix();\n this.date = nowDate.format('YYYY-MM-DD');\n this.backendSrv = backendSrv;\n this.datasourceId = datasourceId;\n }\n\n async getHeader() {\n return this.getResourceHeader();\n }\n\n async getResourceHeader() {\n let res: { authorization?: string; token?: string; intranet?: boolean } = {};\n try {\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v3`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.host,\n Service: this.service,\n Version: this.version,\n Action: this.action,\n Region: this.region,\n Timestamp: this.timestamp,\n Method: HttpRequestMethod,\n Uri: CanonicalUri,\n Query: CanonicalQueryString,\n Body: this.payload,\n Headers: {\n 'content-type': ContentType,\n host: this.host,\n },\n },\n });\n res = resp.data;\n } catch (err) {}\n const { authorization, token, intranet } = res;\n const grafanaVersion = (window as any).grafanaBootData?.settings?.buildInfo?.version || '0.0.0';\n const headers = {\n Authorization: authorization,\n 'Content-Type': ContentType,\n 'X-TC-Action': this.action,\n 'X-TC-Timestamp': this.timestamp.toString(),\n 'X-TC-Version': this.version,\n 'X-TC-RequestClient': `GF_${grafanaVersion}_PL_CM_${process.env.TENCENT_CLOUD_MONITOR_GRAFANA_PLUGIN_VERSION}`,\n ...(this.region && {\n 'X-TC-Region': this.region,\n }),\n ...(token && {\n 'X-TC-Token': token,\n }),\n intranet: intranet,\n };\n return headers;\n }\n}\n","/**\n *\n * @param defaults 为对象\n * secretId\n * secretKey\n * action\n * region\n * host\n */\n\nexport default class SignV2 {\n defaults: any = {\n path: '/v2/index.php',\n method: 'POST',\n };\n backendSrv: any;\n datasourceId: Number;\n constructor(defaults: any = {}) {\n this.defaults = Object.assign(this.defaults, defaults);\n this.defaults.secretKey = '';\n this.backendSrv = defaults.backendSrv;\n this.datasourceId = defaults.datasourceId;\n }\n\n generateQueryString = async () => {\n return this.getResourceQueryString();\n };\n\n async getResourceQueryString() {\n let res: { path?: string; querystring?: any; host?: string; intranet?: boolean } = {};\n try {\n const { data } = this.defaults;\n const payload = typeof data === 'string' ? data : JSON.stringify(data);\n const resp = await this.backendSrv.datasourceRequest({\n url: `/api/datasources/${this.datasourceId}/resources/sign_v2`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: {\n Host: this.defaults.host,\n Action: this.defaults.action,\n Version: this.defaults.version,\n Region: this.defaults.region,\n Method: this.defaults.method,\n Uri: this.defaults.path,\n Query: '',\n Body: payload,\n },\n });\n res = resp.data;\n } catch (err) {}\n const { path, querystring, host, intranet } = res;\n return { queryString: querystring, path: path, host: host, intranet: intranet };\n }\n}\n","import _ from 'lodash';\nimport qs from 'qs';\nimport { SERVICES } from '../tc_monitor';\nimport Sign from './sign';\nimport SignV2 from './signV2';\nimport { toDataQueryResponse } from '@grafana/runtime';\nimport { getLanguage } from '../../locale';\n\nimport packageInfo from '../plugin.json';\nexport const TcDataSourceId = packageInfo.id;\n\n// the services of tencentcloud monitor api\nconst FINACE_REGIONS = ['ap-shanghai-fsi', 'ap-shenzhen-fsi'];\nconst SERVICES_API_INFO = {\n api: {\n service: 'api',\n version: '2020-11-06',\n path: '/api',\n host: 'api.tencentcloudapi.com',\n },\n // monitor api info\n monitor: {\n service: 'monitor',\n version: '2018-07-24',\n path: '/monitor',\n host: 'monitor.tencentcloudapi.com',\n },\n // cls api info\n cls: {\n service: 'cls',\n version: '2020-10-16',\n path: '/cls',\n host: 'cls.tencentcloudapi.com',\n },\n // cvm api info\n cvm: {\n service: 'cvm',\n version: '2017-03-12',\n path: '/cvm',\n host: 'cvm.tencentcloudapi.com',\n },\n // cdb api info\n cdb: {\n service: 'cdb',\n version: '2017-03-20',\n path: '/cdb',\n host: 'cdb.tencentcloudapi.com',\n },\n // pcx api info\n pcx: {\n service: 'pcx',\n version: '',\n path: '/pcx',\n host: 'vpc.api.qcloud.com',\n },\n // vpc api info\n vpc: {\n service: 'vpc',\n version: '2017-03-12',\n path: '/vpc',\n host: 'vpc.tencentcloudapi.com',\n },\n // mongodb api info\n mongodb: {\n service: 'mongodb',\n version: '2019-07-25',\n path: '/mongodb',\n host: 'mongodb.tencentcloudapi.com',\n },\n // 负载均衡 clb\n clb: {\n service: 'clb',\n version: '2018-03-17',\n path: '/clb',\n host: 'clb.tencentcloudapi.com',\n },\n // postgresql api info\n postgres: {\n service: 'postgres',\n version: '2017-03-12',\n path: '/postgres',\n host: 'postgres.tencentcloudapi.com',\n },\n // cdn info\n cdn: {\n service: 'cdn',\n version: '2018-06-06',\n path: '/cdn',\n host: 'cdn.tencentcloudapi.com',\n },\n // redis info\n redis: {\n service: 'redis',\n version: '2018-04-12',\n path: '/redis',\n host: 'redis.tencentcloudapi.com',\n },\n scf: {\n service: 'scf',\n version: '2018-04-16',\n path: '/scf',\n host: 'scf.tencentcloudapi.com',\n },\n cfs: {\n service: 'cfs',\n version: '2019-07-19',\n path: '/cfs',\n host: 'cfs.tencentcloudapi.com',\n },\n ckafka: {\n service: 'ckafka',\n version: '2019-08-19',\n path: '/ckafka',\n host: 'ckafka.tencentcloudapi.com',\n },\n // 专线接入实例列表\n dc: {\n service: 'dc',\n version: '2018-04-10',\n path: '/dc',\n host: 'dc.tencentcloudapi.com',\n },\n // cynosdb实例列表\n cynosdb: {\n service: 'cynosdb',\n version: '2019-01-07',\n path: '/cynosdb',\n host: 'cynosdb.tencentcloudapi.com',\n },\n // sqlserver实例列表\n sqlserver: {\n service: 'sqlserver',\n version: '2018-03-28',\n path: '/sqlserver',\n host: 'sqlserver.tencentcloudapi.com',\n },\n // bm实例列表\n bm: {\n service: 'bm',\n version: '2018-04-23',\n path: '/bm',\n host: 'bm.tencentcloudapi.com',\n },\n bmeip: {\n service: 'bmeip',\n version: '2018-06-25',\n path: '/bmeip',\n host: 'bmeip.tencentcloudapi.com',\n },\n bmvpc: {\n service: 'bmvpc',\n version: '2018-06-25',\n path: '/bmvpc',\n host: 'bmvpc.tencentcloudapi.com',\n },\n bmlb: {\n service: 'bmlb',\n version: '2018-06-25',\n path: '/bmlb',\n host: 'bmlb.tencentcloudapi.com',\n },\n // ES集群实例\n es: {\n service: 'es',\n version: '2018-04-16',\n path: '/es',\n host: 'es.tencentcloudapi.com',\n },\n // MapReduce\n emr: {\n service: 'emr',\n version: '2019-01-03',\n path: '/emr',\n host: 'emr.tencentcloudapi.com',\n },\n // CMQ消息队列\n cmq: {\n service: 'cmq',\n version: '2019-03-04',\n path: '/cmq',\n host: 'cmq.tencentcloudapi.com',\n },\n cbs: {\n service: 'cbs',\n version: '2017-03-12',\n path: '/cbs',\n host: 'cbs.tencentcloudapi.com',\n },\n // tcaplus实例\n tcaplusdb: {\n service: 'tcaplusdb',\n version: '2019-08-23',\n path: '/tcaplusdb',\n host: 'tcaplusdb.tencentcloudapi.com',\n },\n // tcaplus实例\n dcdb: {\n service: 'dcdb',\n version: '2018-04-11',\n path: '/dcdb',\n host: 'dcdb.tencentcloudapi.com',\n },\n // apigateway实例\n apigateway: {\n service: 'apigateway',\n version: '2018-08-08',\n path: '/apigateway',\n host: 'apigateway.tencentcloudapi.com',\n },\n tdmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rabbitmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n tdmq_rocketmq: {\n service: 'tdmq',\n version: '2020-02-17',\n path: '/tdmq',\n host: 'tdmq.tencentcloudapi.com',\n },\n gaap: {\n service: 'gaap',\n version: '2018-05-29',\n path: '/gaap',\n host: 'gaap.tencentcloudapi.com',\n },\n ecm: {\n service: 'ecm',\n version: '2019-07-19',\n path: '/ecm',\n host: 'ecm.tencentcloudapi.com',\n },\n gse: {\n service: 'gse',\n version: '2019-11-12',\n path: '/gse',\n host: 'gse.tencentcloudapi.com',\n },\n lighthouse: {\n service: 'lighthouse',\n version: '2020-03-24',\n path: '/lighthouse',\n host: 'lighthouse.tencentcloudapi.com',\n },\n tsf: {\n service: 'tsf',\n version: '2018-03-26',\n path: '/tsf',\n host: 'tsf.tencentcloudapi.com',\n },\n rum: {\n service: 'rum',\n version: '2021-06-22',\n path: '/rum',\n host: 'rum.tencentcloudapi.com',\n },\n tke: {\n service: 'tke',\n version: '2018-05-25',\n path: '/tke',\n host: 'tke.tencentcloudapi.com',\n },\n ecdn: {\n service: 'ecdn',\n version: '2019-10-12',\n path: '/ecdn',\n host: 'ecdn.tencentcloudapi.com',\n },\n waf: {\n service: 'waf',\n version: '2018-01-25',\n path: '/waf',\n host: 'waf.tencentcloudapi.com',\n },\n region: {\n service: 'region',\n version: '2022-06-27',\n path: '/region',\n host: 'region.tencentcloudapi.com',\n },\n apm: {\n service: 'apm',\n version: '2021-06-22',\n path: '/apm',\n host: 'apm.tencentcloudapi.com',\n },\n // 不单独定义lb,因为lb同样用的是vpc的配置,同上\n // lb: {\n // service: 'lb',\n // version: '2017-03-12',\n // path: '/lb',\n // host: 'vpc.tencentcloudapi.com'\n // }\n // 负载均衡四层协议 lbPrivate\n // lbPrivate: {\n // service: 'lbPrivate',\n // version: '2018-03-17',\n // path: '/clb',\n // host: 'clb.tencentcloudapi.com',\n // },\n};\n\nconst FINACE_HOST = {\n scf: {\n 'ap-shanghai-fsi': {\n path: '/fsi/scf/shanghai',\n host: 'scf.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/scf/shenzhen',\n host: 'scf.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cfs: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cfs/shanghai',\n host: 'cfs.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cfs/shenzhen',\n host: 'cfs.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n ckafka: {\n 'ap-shanghai-fsi': {\n path: '/fsi/ckafka/shanghai',\n host: 'ckafka.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/ckafka/shenzhen',\n host: 'ckafka.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n clb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/clb/shanghai',\n host: 'clb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/clb/shenzhen',\n host: 'clb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n mongodb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/mongodb/shanghai',\n host: 'mongodb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/mongodb/shenzhen',\n host: 'mongodb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n vpc: {\n 'ap-shanghai-fsi': {\n path: '/fsi/vpc/shanghai',\n host: 'vpc.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/vpc/shenzhen',\n host: 'vpc.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cvm: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cvm/shanghai',\n host: 'cvm.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cvm/shenzhen',\n host: 'cvm.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cdb: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cdb/shanghai',\n host: 'cdb.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cdb/shenzhen',\n host: 'cdb.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n monitor: {\n 'ap-shanghai-fsi': {\n path: '/fsi/monitor/shanghai',\n host: 'monitor.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/monitor/shenzhen',\n host: 'monitor.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n postgres: {\n 'ap-shanghai-fsi': {\n path: '/fsi/postgres/shanghai',\n host: 'postgres.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/postgres/shenzhen',\n host: 'postgres.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n emr: {\n 'ap-shanghai-fsi': {\n path: '/fsi/emr/shanghai',\n host: 'emr.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/emr/shenzhen',\n host: 'emr.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cmq: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cmq/shanghai',\n host: 'cmq.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cmq/shenzhen',\n host: 'cmq.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n cls: {\n 'ap-shanghai-fsi': {\n path: '/fsi/cls/shanghai',\n host: 'cls.ap-shanghai-fsi.tencentcloudapi.com',\n },\n 'ap-shenzhen-fsi': {\n path: '/fsi/cls/shenzhen',\n host: 'cls.ap-shenzhen-fsi.tencentcloudapi.com',\n },\n },\n};\n\n// 获取对应业务的 API 接口信息\nexport function GetServiceAPIInfo(region, service) {\n return { ...(SERVICES_API_INFO[service] || {}), ...getHostAndPath(region, service) };\n}\n\n// get host and path for finance regions\nfunction getHostAndPath(region, service) {\n if (_.indexOf(FINACE_REGIONS, region) === -1) {\n return {};\n }\n return (\n _.find(\n _.find(FINACE_HOST, (__, key) => key === service),\n (__, key) => key === region\n ) || {}\n );\n}\n\n// 变量替换指定实例按照那个字段展示\nexport const VARIABLE_ALIAS = 'instancealias';\n\nexport function GetServiceFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace),\n 'service'\n );\n}\n// 处理存量target中保存的qce/cvm\nexport function GetLabelFromNamespace(namespace) {\n return _.get(\n _.find(SERVICES, (service) => service.namespace === namespace || service.label === namespace),\n 'label'\n );\n}\n// parse template variable query params\nexport function ParseMetricQuery(query = '') {\n if (!query) {\n return {};\n }\n const result = {};\n const queries = _.split(query, '&');\n _.forEach(queries, (item) => {\n const str = _.split(item, '=');\n if (_.trim(_.get(str, '0', ''))) {\n let val = _.trim(_.get(str, '1', ''));\n try {\n val = JSON.parse(val);\n } catch (e) {\n // console.log({ val });\n }\n result[_.toLower(_.trim(_.get(str, '0', '')))] = val;\n }\n });\n return result;\n}\n\n// parse template variable regex params\nexport function ParseMetricRegex(regex = '') {\n if (!regex) {\n return [];\n }\n regex = regex.replace(/:/g, ':');\n regex = regex.replace(/,/g, ',');\n const regexParams = ParseMetricQuery(regex);\n const result: any[] = [];\n _.forEach(regexParams, (value, key) => {\n if (key === 'tag:tag-key') {\n const valuesArr = _.split(value, ',');\n _.forEach(valuesArr, (item) => {\n const temp = _.split(item, ':');\n if (temp.length === 2) {\n result.push({ Name: `tag:${temp[0]}`, Values: temp.slice(1) });\n }\n });\n } else {\n result.push({ Name: key, Values: _.split(value, ',') });\n }\n });\n return result;\n}\n\n// get the actual value of template variable\nfunction parseVariableFormat(varname: string) {\n varname = String(varname || '');\n // $varname\n let varFlag = false;\n const regResult1 = varname.match(/^\\${?(\\w+)}?/);\n if (regResult1) {\n varFlag = true;\n varname = `\\$\\{${regResult1[1]}\\:json\\}`;\n }\n // [[varname]]\n const regResult2 = varname.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/);\n if (regResult2) {\n varFlag = true;\n varname = `\\$\\{${regResult2[1]}\\:json\\}`;\n }\n return { varname, varFlag };\n}\n\nexport function ReplaceVariable(templateSrv, scopedVars, field, multiple = false) {\n const { varname, varFlag } = parseVariableFormat(field);\n let replaceVar = templateSrv.replace(varname, scopedVars);\n if (varFlag) {\n try {\n replaceVar = JSON.parse(replaceVar);\n } catch (error) {}\n }\n if (!multiple && _.isArray(replaceVar)) {\n replaceVar = _.get(replaceVar, '0', '');\n }\n return replaceVar;\n}\n\n// get dimensions for instance query param\nexport function GetDimensions(obj) {\n if (_.isEmpty(obj)) {\n return [];\n }\n const dimensions: any[] = [];\n _.forEach(obj, (item) => {\n if (item.Value !== null && item.Value !== undefined && item.Value !== '') {\n dimensions.push({ Name: item.Name, Value: typeof item.Value === 'string' ? item.Value : `${item.Value}` });\n }\n });\n return dimensions;\n}\n\n// parse query data result for panel\nexport function ParseQueryResult(response, instances: any[] = [], timeshift = 0) {\n const instanceList = _.cloneDeep(instances);\n\n const dataPoints = _.get(response, 'DataPoints', []);\n return _.map(dataPoints, (dataPoint) => {\n let instanceAliasValue = _.get(dataPoint, 'Dimensions[0].Value');\n for (let i = 0; i < instanceList.length; i++) {\n if (isInstanceMatch(instanceList[i], _.get(dataPoint, 'Dimensions', []))) {\n instanceAliasValue = instanceList[i]._InstanceAliasValue;\n instanceList.splice(i, 1);\n break;\n }\n }\n return {\n target: `${response.MetricName} - ${instanceAliasValue}`,\n datapoints: parseDataPoint(dataPoint, timeshift),\n };\n });\n}\n\n// parse tencent cloud monitor response data to grafana panel data\nfunction parseDataPoint(dataPoint, timeshift = 0) {\n const timestamps = _.get(dataPoint, 'Timestamps', []);\n const values = _.get(dataPoint, 'Values', []);\n const result = timestamps.map((timestamp, index) => {\n return [values[index], timestamp * 1000 + timeshift];\n });\n\n return result;\n}\n\n// check whether instance is match or not\nfunction isInstanceMatch(instance, dimensions) {\n let match = true;\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < dimensions.length; i++) {\n if (_.get(instance, dimensions[i].Name, '').toString() !== dimensions[i].Value.toString()) {\n match = false;\n break;\n }\n }\n return match;\n}\n\n/**\n * 检查某个变量是否模板变量,即是否匹配 ${varnam} 或 [[varname]]\n *\n * @param field 变量字段名\n */\nexport function isVariable(value) {\n if (value && (value.match(/^\\${?(\\w+)}?/) || value.match(/^\\[\\[(\\w+)(\\:\\w+)?\\]\\]/))) {\n return true;\n }\n return false;\n}\n\n/**\n * 腾讯云 API 3.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParams(options, service, signObj: any = {}, secretId, datasourceId, backendSrv) {\n const signParams = {\n secretId,\n payload: options.data || '',\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['service', 'host', 'version']) || {}),\n backendSrv,\n datasourceId,\n region: 'ap-guangzhou',\n };\n const sign = new Sign(signParams);\n const { intranet, ...headerSigned } = await sign.getHeader();\n // 传入x-tc-language实现国际化\n // zh-CN en-US ko-KR ja-JP\n options.headers = Object.assign(options.headers || {}, { ...headerSigned }, { 'x-tc-language': getLanguage() });\n options.method = 'POST';\n if (intranet) {\n options.url += '-internal';\n }\n return options;\n}\n\n/**\n * 腾讯云 API 2.0 接口协议\n * @param options 接口请求对象 { url: string, data?: object }\n * @param service 产品名字 'cvm'\n * @param signObj 接口请求相关信息 { region?: string, action: string }\n * @param secretId\n * @param secretKey\n */\nexport async function GetRequestParamsV2(\n options: any = {},\n service,\n signObj: any = {},\n secretId,\n datasourceId,\n backendSrv\n) {\n const data = options.data || {};\n const signParams = {\n secretId,\n data,\n ...signObj,\n ...(_.pick(GetServiceAPIInfo(signObj.region || '', service), ['host', 'version']) || {}),\n backendSrv,\n datasourceId,\n };\n options.method = 'POST';\n const sign = new SignV2(signParams);\n options.headers = Object.assign(options.headers || {}, { 'Content-Type': 'application/x-www-form-urlencoded' });\n const { queryString, path, host, intranet } = await sign.generateQueryString();\n options.data = qs.stringify({\n ...options.data,\n ...queryString,\n ...(host && { host: host }),\n });\n if (intranet) {\n // TODO: qcloud.com intranet host\n console.log('got intranet for sign v2');\n }\n options.url += path;\n return options;\n}\n\nexport function SliceLength(total = 0, len = 1) {\n const result: any[] = [];\n const num = Math.ceil(total / len);\n for (let i = 1; i < num; i++) {\n result.push({ Offset: len * i });\n }\n return result;\n}\n\nexport const FilterKeys = ['Namespace', 'Offset', 'Limit', 'SearchKey', 'Description', 'OrderBy', 'Order'];\n\nexport function parseDataFromBackendPlugin(res) {\n const { data } = toDataQueryResponse(res);\n return {\n authorization: _.get(data, '[0].meta.custom', ''),\n };\n}\n\n/** 当前环境是否为非生产环境 */\nexport const IS_DEVELOPMENT_ENVIRONMENT = !(process.env.NODE_ENV === 'production');\n\n/**\n * @link https://github.com/grafana/grafana/blob/3c6e0e8ef85048af952367751e478c08342e17b4/packages/grafana-data/src/types/app.ts#L12\n */\nexport enum CoreApp {\n CloudAlerting = 'cloud-alerting',\n UnifiedAlerting = 'unified-alerting',\n Dashboard = 'dashboard',\n Explore = 'explore',\n Unknown = 'unknown',\n PanelEditor = 'panel-editor',\n PanelViewer = 'panel-viewer',\n}\n","import _ from 'lodash';\nimport moment from 'moment';\nimport DatasourceInterface from '../MonitorDatasource';\nimport {\n GetRequestParams,\n GetServiceAPIInfo,\n ReplaceVariable,\n GetDimensions,\n ParseQueryResult,\n SliceLength,\n} from '../../common/constants';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { MetricQuery } from './types';\nimport { getNamesapceFromService, getTimeShiftInMs } from '../../common/utils';\nimport { Language, setLanguage } from '../../../locale';\n\nexport interface TemplateQueryIdType {\n instance: string;\n listener?: string;\n}\n\ninterface queryConfigType {\n dim_KeyInStorage: string;\n dim_KeyInTarget?: string;\n dim_KeyInIns?: string;\n dim_KeyInMap: string;\n}\n\nexport abstract class BaseDatasource implements DatasourceInterface {\n Namespace?: string;\n service: string;\n instanceListCache: any[] = [];\n extraMetricDims: string[] = [];\n url: string;\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n secretId: string;\n checkKeys: string[] = [];\n MetricReqConfig: {\n resultFilter?: Function;\n } = {};\n extrasAlias?: string[] = [];\n /*\n 一个配置:(用于处理除了InstanceId之外的)(Record中的key是指标修正之后的维度,即通过InvalidDemsion处理后)\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。为空则取即通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。即:templateQueryIdMap中内容。联合上面2的内容筛选出原始sourceMap\n 4 通过这个dim和sourceMap获取维度值。即sourceMap[dim]\n */\n queryMonitorExtraConfg: Record = {};\n CandiateDimensions?: Record = {};\n\n InstanceReqConfig?: {\n service?: string;\n action: string;\n responseField: string;\n interceptor?: {\n request?: (params: unknown) => unknown;\n response?: (data: unknown) => unknown;\n };\n };\n InvalidDimensions?: Record;\n\n abstract InstanceAliasList: string[];\n abstract templateQueryIdMap: TemplateQueryIdType; // 必须为标识\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n this.url = instanceSettings.url;\n this.secretId = (instanceSettings.jsonData || {}).secretId || '';\n setLanguage(instanceSettings.jsonData.language || Language.Chinese);\n }\n\n get namespace() {\n // 需要注意的是this.service来自于原型上,在实例中导入时注入\n return this.Namespace || getNamesapceFromService(this.service);\n }\n\n // 获取额外要显示到图例里的内容\n getOtherAlias(instance: any, target: any): string {\n let result = '';\n const alias = instance._InstanceAliasValue;\n this.extrasAlias?.forEach((extra) => {\n const extraAlia = this.getVariable(target[extra]);\n if (extraAlia && alias.indexOf(extraAlia) === -1) {\n result += ` - ${extraAlia}`;\n }\n });\n return result;\n }\n\n /* 格式化模板变量上的显示 */\n getAliasValue(instance: Record, alias: string) {\n const result = instance[alias];\n return Array.isArray(result) ? result.join() : result;\n }\n\n formatVarDisplay(instance: Record, displayTpl: string | undefined, instanceAlias: string) {\n // 获取display=aaa${InstanceName}bbb${InstanceId}ccc\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.InstanceAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(instance, b);\n });\n }\n return this.getAliasValue(instance, instanceAlias);\n }\n /**\n * @param query 模板变量配置填写的 Query 参数对象,由顶层将字符串转换为了对象\n */\n async metricFindQuery(query: MetricQuery, regex?: string) {\n const { action, namespace, display, payload = {} } = query;\n let { region, instancealias = this.templateQueryIdMap.instance } = query;\n if (!action || !namespace) {\n return [];\n }\n // 支持payload里传入模板变量\n if (_.isObject(payload)) {\n _.forEach(payload, (value, key) => {\n payload[key] = _.isString(value) ? this.getVariable(value) : value;\n });\n }\n\n // 查询地域列表\n const regionQuery = action.match(/^DescribeRegions$/i);\n if (regionQuery) {\n return this.getRegions();\n }\n\n region = this.getVariable(region); // 将模板region转换为真实值\n\n // 查询实例列表\n if (region && action.match(/^DescribeInstances/i)) {\n const result = await this.getVariableInstances(region, payload);\n instancealias = this.InstanceAliasList.includes(instancealias) ? instancealias : this.templateQueryIdMap.instance;\n\n const res = result.flatMap((item) => {\n const insAlias = this.formatVarDisplay(item, display, instancealias);\n\n item._InstanceAliasValue = insAlias; // FIXME:\n\n if (!item[instancealias]) return [];\n return [\n {\n text: insAlias,\n value: item[this.templateQueryIdMap.instance],\n },\n ];\n });\n\n // 缓存全量实例列表\n await instanceStorage.setInstance(this.service, result);\n return res;\n }\n\n // 在instance实例的基础上查询其他数据\n let instance = this.getVariable(query['instance']);\n if (_.isArray(instance)) instance = instance[0]; // 有额外维度,仅支持实例单选情况\n if (region && action && instance) {\n try {\n // instance = JSON.parse(instance);\n const instanceCache = await instanceStorage.getInstance(this.service);\n\n instance = _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === instance)) ?? {};\n // eslint-disable-next-line no-empty\n } catch (error) {}\n return this.fetchMetricData(action, region, instance, query);\n }\n\n return Promise.resolve([]);\n }\n // 获取指标数据\n async fetchMetricData(action: string, region: string, instance: any, query?: any) {\n return [];\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数\n * @return 返回数据数组,示例如下\n * [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n */\n async dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options) {\n for (let key of dimKeys) {\n let keyTmp = key;\n const invalidDim = this.InvalidDimensions || this.getInvalidDimensions(this, target[service]);\n if (invalidDim[key]) {\n // 从【维度中】的字段到【实例中】字段的映射。 { functionName: FunctionName }\n keyTmp = invalidDim[key];\n ins[key] = ins[keyTmp];\n }\n\n let extraDimValue = this.getVariable(target[service][keyTmp]);\n if (this.queryMonitorExtraConfg[keyTmp]) {\n const {\n dim_KeyInStorage,\n dim_KeyInTarget = keyTmp,\n dim_KeyInMap,\n dim_KeyInIns,\n } = this.queryMonitorExtraConfg[keyTmp];\n let extraIns = ReplaceVariable(this.templateSrv, options.scopedVars, target[service][dim_KeyInTarget], true);\n let extraSourceMap: any = {};\n try {\n extraSourceMap = JSON.parse(extraIns); // 兼容json字符串的 形式\n } catch (error) {\n if (_.isArray(extraIns)) extraIns = extraIns[0]; // 如果多个,取第一个。除了实例ID 暂不支持其他纬度多选\n const extraStorage = await instanceStorage.getExtraStorage(this.service, dim_KeyInStorage);\n\n extraSourceMap =\n extraStorage?.find((item) => {\n if (_.isArray(item[dim_KeyInMap])) {\n return item[dim_KeyInMap][0] === extraIns;\n }\n return item[dim_KeyInMap] === extraIns;\n }) ?? {};\n }\n const isStringOrNumber = _.isString(extraSourceMap) || _.isNumber(extraSourceMap);\n // 增加ins实例之外的alias,填入到ins._InstanceAliasValue\n const insAlias = ins._InstanceAliasValue;\n const otherAlias = isStringOrNumber ? extraSourceMap : extraSourceMap._InstanceAliasValue;\n if (otherAlias && insAlias.indexOf(otherAlias) === -1) {\n ins._InstanceAliasValue += ` - ${otherAlias}`;\n }\n\n extraDimValue = isStringOrNumber ? extraSourceMap : extraSourceMap?.[dim_KeyInIns || keyTmp];\n } else {\n ins._InstanceAliasValue += this.getOtherAlias(ins, target[service]);\n }\n\n if (\n getTimeShiftInMs(target[service].timeshift) > 0 &&\n ins._InstanceAliasValue.indexOf(target[service].timeshift) === -1\n ) {\n ins._InstanceAliasValue += `_${target[service].timeshift}`;\n }\n // 设置instance,针对额外的维度,需要注意模板变量的值\n // ins[key] = ins[keyTmp] ?? extraDimValue;\n ins[key] = this.getDimensionsVal(ins, keyTmp, extraDimValue);\n // cynosdb产品接口返回维度和入参不一致\n if (this.checkKeys.length > 0) {\n this.checkKeys.forEach((Ekey) => {\n ins[Ekey] = ins[key];\n });\n }\n dimensionObject[key] = { Name: key, Value: ins[key] };\n }\n // 处理waf逻辑\n const tt = this.getOwnDimension(dimensionObject, ins);\n if (tt) {\n return tt;\n }\n return dimensionObject;\n }\n getOwnDimension(dimensionObject: any, ins: any) {\n return null;\n }\n getDimensionsVal(ins: Record, key: string, extraDimValue: string) {\n let dimVal = ins[key];\n if (_.isEmpty(dimVal) && this.CandiateDimensions[key]) {\n dimVal = ins[this.CandiateDimensions[key]];\n }\n return dimVal ?? extraDimValue;\n }\n query(options: any) {\n const service = this.service!; // 强制声明非空\n\n const queries = _.filter(options.targets, (item) => {\n // 过滤无效的查询 target\n return (\n item.hide !== true &&\n !!item.namespace &&\n !!item[service].metricName &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].region, false)) &&\n !_.isEmpty(ReplaceVariable(this.templateSrv, options.scopedVars, item[service].instance, true))\n );\n })\n .reduce((prev, target) => {\n if (getTimeShiftInMs(target[service].timeshift) > 0) {\n const cloneTarget = _.cloneDeep(target);\n cloneTarget[service].timeshift = '';\n return [...prev, cloneTarget, target];\n }\n return [...prev, target];\n }, [])\n .map(async (target) => {\n // 实例 instances 可能为模板变量,需先获取实际值\n // 针对JSON字符串和id的形式,分开做处理\n let instances = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].instance, true);\n const instanceCache = await instanceStorage.getInstance(this.service);\n const timeshift = getTimeShiftInMs(target[service].timeshift);\n\n instances = [].concat(instances).map((inst) => {\n try {\n return JSON.parse(inst); // 兼容json字符串的 形式\n } catch (error) {\n // 如果没拿到缓存,取默认实例组\n if (!instanceCache) return this.getDefaultInsObj?.(inst);\n return _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === inst)) ?? {};\n }\n });\n const region = ReplaceVariable(this.templateSrv, options.scopedVars, target[service].region, false);\n const insInReq: any = [];\n for (let ins of instances) {\n const dimensionObject = target[service].dimensionObject;\n // 处理dimensions的值\n const dimKeys = Object.keys(dimensionObject);\n const dimResult = await this.dimensionsFormat(dimKeys, ins, dimensionObject, target, service, options);\n\n insInReq.push([{ Dimensions: GetDimensions(dimResult) }]);\n }\n const data = {\n StartTime: moment(options.range.from).subtract(timeshift).format(),\n EndTime: moment(options.range.to).subtract(timeshift).format(),\n Period: target[service].period || 300,\n Instances: _.flatMap(insInReq),\n Namespace: target.namespace,\n MetricName: target[service].metricName,\n };\n return this.getMonitorData(data, region, instances, target[service], options);\n });\n\n if (queries.length === 0) {\n return [];\n }\n\n return Promise.all(queries)\n .then((responses) => {\n return _.flatten(responses);\n })\n .catch((error) => {\n return [];\n });\n }\n getDefaultInsObj(ins: string) {\n return {} as any;\n }\n getInstanceReqConfig(selfIns: any) {\n return {} as any;\n }\n getInvalidDimensions(selfIns: any, target?: any) {\n return {} as any;\n }\n // 获取某个变量的实际值,this.templateSrv.replace() 函数返回实际值的字符串\n getVariable(metric?: string) {\n const rs = this.templateSrv.replace((metric || '').trim());\n const valStr = rs.match(/\\{([\\w-,]+)\\}/);\n // 判断是否为多选\n if (valStr) {\n return valStr[1].split(',');\n }\n return rs;\n }\n\n /**\n * 获取 监控数据\n * @param params 获取监控数据的请求参数\n * @param region 地域信息\n * @param instances 实例列表,用于对返回结果的匹配解析\n */\n getMonitorData(params, region, instances, target, options) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { action: 'GetMonitorData', region }\n ).then((response) => {\n return ParseQueryResult(response, instances, timeshift);\n });\n }\n\n getRegions(): any {\n return this.doRequest(\n {\n url: this.url + '/cvm',\n },\n 'cvm',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getMetrics(region = 'ap-guangzhou'): Promise {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: this.namespace,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n ).then((response) => {\n const res = _.filter(\n _.filter(response.MetricSet || [], (item) => !(item.Namespace !== this.namespace || !item.MetricName))\n );\n const resFilterFn = this.MetricReqConfig.resultFilter;\n if (resFilterFn) {\n return res.map((item) => resFilterFn(item));\n }\n return res;\n });\n }\n\n getInstances(region, params = {}) {\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n params =\n service === 'waf'\n ? { Offset: 0, Limit: 100, Edition: 'sparta-waf', ...params }\n : { Offset: 0, Limit: 100, ...params };\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n // 处理异常,则不按正常的情况处理,直接抛出错误\n if (response?.Error) {\n console.error(response.Error);\n return response;\n }\n\n let result;\n // 先,field处理\n if (field) {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n }\n\n // 后,拦截器处理\n if (interceptor?.response) {\n result = interceptor.response(result);\n }\n return result;\n });\n }\n\n getVariableInstances(region, query = {}): Promise {\n let result: any[] = [];\n const params = { ...{ Offset: 0, Limit: 100 }, ...query };\n\n const {\n service = this.service,\n action,\n responseField: field,\n interceptor,\n } = this.InstanceReqConfig || this.getInstanceReqConfig(this);\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: interceptor?.request ? interceptor.request(params) : params,\n },\n serviceInfo.service,\n { region, action }\n ).then((response) => {\n result = _.get(response, field) ?? _.get(response, `Result.${field}`) ?? [];\n const total =\n response.TotalCount ?? response.TotalCnt ?? response.TotalNumber ?? _.get(response, `Result.TotalCount`) ?? 0;\n if (result.length >= total) {\n return interceptor?.response ? interceptor.response(result) : result;\n } else {\n const param = SliceLength(total, params?.Limit || 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, { ...item, ...query }));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return interceptor?.response ? interceptor.response(result) : result;\n })\n .catch((error) => {\n return interceptor?.response ? interceptor.response(result) : result;\n });\n }\n });\n }\n\n // 检查某变量字段是否有值\n isValidConfigField(field: string) {\n return field && field.length > 0;\n }\n\n testDatasource() {\n // const { service = this.service, action } = this.InstanceReqConfig;\n // const serviceInfo = GetServiceAPIInfo('ap-guangzhou', service);\n\n if (!this.isValidConfigField(this.secretId)) {\n return {\n service: this.service,\n status: 'error',\n message: 'The SecretId/SecretKey field is required.',\n };\n }\n\n return Promise.all([\n this.getRegions(),\n this.getMetrics(),\n // this.doRequest(\n // {\n // url: this.url + serviceInfo.path,\n // data: {\n // Offset: 0,\n // Limit: 1,\n // },\n // },\n // service,\n // { region: 'ap-guangzhou', action },\n // ),\n this.getInstances('ap-guangzhou', {\n Offset: 0,\n Limit: 1,\n }),\n ])\n .then((responses) => {\n const cvmErr = _.get(responses, '[0].Error', {});\n const monitorErr = _.get(responses, '[1].Error', {});\n const serviceErr = _.get(responses, '[2].Error', {});\n // const cvmAuthFail = _.get(cvmErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const monitorAuthFail = _.get(monitorErr, 'Code', '').indexOf('AuthFailure') !== -1;\n // const serviceAuthFail = _.get(serviceErr, 'Code', '').indexOf('AuthFailure') !== -1;\n const cvmAuthFail = _.get(cvmErr, 'Code', '');\n const monitorAuthFail = _.get(monitorErr, 'Code', '');\n const serviceAuthFail = _.get(serviceErr, 'Code', '');\n if (cvmAuthFail || monitorAuthFail || serviceAuthFail) {\n const messages: any[] = [];\n if (cvmAuthFail) {\n messages.push(_.get(cvmErr, 'Code'));\n }\n if (monitorAuthFail) {\n messages.push(_.get(monitorErr, 'Code'));\n }\n if (serviceAuthFail) {\n messages.push(_.get(serviceErr, 'Code'));\n }\n const message = _.join(_.compact(_.uniq(messages)), '; ');\n return {\n service: this.service,\n status: 'error',\n message,\n };\n } else {\n return {\n namespace: this.namespace,\n service: this.service,\n status: 'success',\n message: `Successfully queried the ${this.service} service.`,\n title: 'Success',\n };\n }\n })\n .catch((error) => {\n let message = `${this.service} service:`;\n message += error.statusText ? error.statusText + '; ' : '';\n if (_.get(error, 'data.error.code', '')) {\n message += error.data.error.code + '. ' + error.data.error.message;\n } else if (_.get(error, 'data.error', '')) {\n message += error.data.error;\n } else if (_.get(error, 'data', '')) {\n message += error.data;\n } else {\n message += `Cannot connect to ${this.service} service.`;\n }\n return {\n service: this.service,\n status: 'error',\n message: message,\n };\n });\n }\n\n async doRequest(options, service, signObj: any = {}) {\n options = await GetRequestParams(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data.Response', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","import _ from 'lodash';\nimport { SERVICES } from '../tc_monitor';\n\n/* 从分页数据获取全量数据 */\nconst PageSize = 50;\nfunction getFieldsValue(value, fields) {\n return fields.map((item) => _.get(value, item, _.get(value, `Result.${item}`, [])));\n}\n\nexport async function fetchAllFactory(fetcher: (args: any) => Promise, _params: any, field: string | string[]) {\n const params = { ..._.omit(_params, ['isOffsetPage']) };\n params.Limit = params.Limit || PageSize; // 默认给个Limit大小为50\n params.Offset = params.Offset ?? 0; // 默认给个Offset为0\n\n // 第一次请求,获取总数\n const rs = (await fetcher(params)) ?? {};\n const fields = Array.isArray(field) ? field : [field];\n\n // rs.TotalCount = rs.TotalCount ?? rs.Result.TotalCount ?? [];\n // const { TotalCount } = rs;\n const TotalCount = rs.TotalCount ?? rs.Result?.TotalCount ?? rs.TotalCnt ?? rs.Result?.TotalCnt ?? 0;\n const firstLists = getFieldsValue(rs, fields);\n\n if (TotalCount === 0 || firstLists[0].length === TotalCount) {\n // 只有一页,结束\n return firstLists;\n }\n\n // 批量请求\n const delta = TotalCount - firstLists[0].length;\n const batchCount = Math.ceil(delta / PageSize);\n const pmList = new Array(batchCount).fill(0).map((_, index) => {\n params.Offset = _params.isOffsetPage ? 1 + index : (1 + index) * params.Limit;\n return fetcher(params);\n });\n\n // 合并\n const resultList = await Promise.all(pmList); // [ {a: [], b[] }, { a: [], b:[] }]\n\n return resultList.reduce((acc, cur) => {\n const lists = getFieldsValue(cur, fields);\n // [[], [], []] + [[], [], []]\n acc.forEach((list, index) => list.push(...lists[index]));\n return acc;\n }, firstLists);\n}\n\n/**\n * 实例列表接口入参处理\n *\n * @param queries 表单键入内容\n * @param isFilter 是否需要设置为Filters格式\n */\nexport function instanceQueryParamsBaseParse(queries: any, isFilter: boolean) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n } else {\n params[key] = _.uniq(item);\n }\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n if (isFilter) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n } else {\n params[key] = _.get(item, 'value');\n }\n }\n } else if (item !== null && item !== undefined && item !== '') {\n if (isFilter) {\n Filters.push({ Name: key, Values: item });\n } else {\n params[key] = item;\n }\n }\n });\n if (isFilter && Filters.length > 0) {\n params.Filters = Filters;\n return params;\n }\n }\n return params;\n}\n\nexport function getNamesapceFromService(serviceName: string) {\n return _.get(\n _.find(SERVICES, (service) => service.service === serviceName),\n 'namespace'\n );\n}\n\nexport function serviceGroupBy(\n services: { service: string; label: string; namespace: string; href: string; groupName?: string }[]\n) {\n const result = services.reduce((acc, cur) => {\n const { namespace, label, groupName = label } = cur;\n\n const existedGroup = acc.find((item) => item.label === groupName);\n if (!existedGroup) {\n acc.push({ label: groupName, value: groupName, items: [{ label, value: namespace }] });\n return acc;\n }\n\n existedGroup.items.push({ label, value: namespace });\n return acc;\n }, [] as any[]);\n\n // 将只有一个子元素的项目进行特殊处理\n const rs = result.map((item) =>\n item.items.length === 1 ? { label: item.items[0].label, value: item.items[0].value } : item\n );\n return rs;\n}\n\nexport const isTargetEqual = (newTargetString: string, oldTargetString: string, key: string) => {\n try {\n const newTarget = JSON.parse(newTargetString);\n const oldTarget = JSON.parse(oldTargetString);\n return newTarget[key] === oldTarget[key];\n } catch (e) {\n return newTargetString === oldTargetString;\n }\n};\n\nexport const getTimeShiftInMs = (timeShift: any) => {\n const parts = /^(\\d+)([d|h|m|s])$/.exec(timeShift);\n if (!parts) {\n return 0;\n }\n const amount = parseInt(parts[1], 10);\n const unit = parts[2];\n switch (unit) {\n case 'd':\n return amount * 86400 * 1000;\n case 'h':\n return amount * 3600 * 1000;\n case 'm':\n return amount * 60 * 1000;\n case 's':\n return amount * 1000;\n }\n return 0;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nfunction classFactory(detailConfig) {\n return class QueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, detailConfig);\n\n $scope.getDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n return $scope.datasource.getFilterDropdown(service, { field, region: $scope.region });\n };\n }\n };\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n`;\nfunction queryDDOFactory(QueryCtrl) {\n return function queryDDO() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n // QueryCtrl._config = config;\n const newQueryIns = classFactory(config);\n coreModule.directive(name, queryDDOFactory(newQueryIns));\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8__;","interface DBEvent {\n target: { result: any; error: any };\n}\n// 数据库结构\ninterface DBTypes {\n store: StoreType;\n name?: string;\n version?: number;\n}\n// store表结构\ninterface StoreType {\n name: string; // 表名\n key: string; // 主键名\n cursorIndex?: { name: string; unique: boolean }[]; // 索引列表\n}\n\n// 数据结构\n// {service: 'cvm', instance: [{ins: 23}]}\ninterface DataType {\n service: string;\n [x: string]: any; // 有产品需缓存其他列表\n}\n\n// interface UpdateProps {\n// storeName: string;\n// cursorKey: string;\n// cursorValue?: any;\n// data: any;\n// }\n\nconst store: StoreType = {\n name: 'grafanaInstanceList',\n key: 'service',\n};\nconst promisify = (request: any, type?: string) => {\n return new Promise((resolve, reject) => {\n request.onsuccess = (event: DBEvent) => {\n const returnMap: any = {\n event: event.target.result,\n request: request.result,\n msg: '操作成功',\n };\n resolve(returnMap[type || 'msg']);\n };\n request.onerror = (event: DBEvent) => reject(event.target.error || '操作失败');\n });\n};\n// 固定表名和数据库名\nclass IndexedDB {\n name = 'grafanaDatabase';\n version = 1;\n\n constructor(props: DBTypes) {\n const { name = 'database', version = 1, store } = props;\n this.name = name;\n this.version = version;\n\n this.initDB(store);\n }\n\n /**\n * 初始化数据库\n * @param store 库表的结构\n */\n initDB(store: StoreType) {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n request.onupgradeneeded = (event: IDBVersionChangeEvent) => {\n const db = (event.target as IDBOpenDBRequest).result;\n if (db.objectStoreNames.contains(store.name)) {\n // 存在表store\n }\n\n // 遍历store,设置数据表结构\n db.createObjectStore(store.name, {\n keyPath: store.key,\n });\n };\n request.onerror = () => Promise.reject(new Error('初始化数据库失败'));\n request.onsuccess = () => Promise.resolve('初始化数据库成功');\n }\n\n openDB() {\n const indexeddb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;\n const request = indexeddb.open(this.name, this.version);\n\n return promisify(request, 'event');\n }\n\n /**\n * 新增数据\n * @param storeName 表名\n * @param data 添加的数据\n */\n async insertData(storeName: string, data: any) {\n try {\n // console.time('insertData');\n const db = await this.openDB();\n const transaction = db.transaction(storeName, 'readwrite');\n const objectStore = transaction.objectStore(storeName);\n\n objectStore.add(data);\n // console.timeEnd('insertData');\n\n return new Promise((resolve, reject) => {\n transaction.oncomplete = function () {\n // console.timeEnd('insertData');\n resolve('所有数据插入成功');\n };\n\n transaction.onerror = function (event) {\n reject(event);\n };\n });\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 更新数据\n * @param props 查询数据的参数以及要修改的值的参数\n */\n async addData(data: DataType, isCover?: boolean) {\n try {\n // console.log('addData');\n const storeName = store.name; // 表名\n const oldData = await this.getData(data.service);\n const objectStore = await this.getObjectStore(storeName, 'readwrite');\n\n if (!oldData) {\n // 不存在则新建\n this.insertData(storeName, data);\n }\n // 存在则更新\n let newData: any = { ...oldData, ...data };\n if (isCover) newData = data; // 需要覆盖之前内容\n // 把更新过的对象放回数据库\n const requestUpdate = objectStore.put(newData);\n // console.timeEnd('updateData');\n return promisify(requestUpdate);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n /**\n * 获取数据库的值,返回查询到的第一项\n * @param storeName 表名/存储对象的键\n * @param cursorKey key\n * @param cursorValue 要查询索引的值\n */\n async getData(seviceName: string) {\n try {\n // console.time('getData');\n const storeName = store.name;\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.get(seviceName);\n // console.timeEnd('getData');\n return promisify(request, 'request');\n } catch (error) {\n return Promise.reject(error);\n }\n }\n async getAllData(storeName: string) {\n try {\n // console.time('getAllData');\n const objectStore = await this.getObjectStore(storeName);\n const request = objectStore.getAll();\n const result = await promisify(request, 'request');\n // console.timeEnd('getAllData');\n return result ? result : [];\n } catch (error) {\n return Promise.reject(error);\n }\n }\n /**\n * 获取对象仓库\n * @param storeName 表名\n * @param type readonly 或者 readwrite等\n */\n private async getObjectStore(storeName: string, type?: any): Promise {\n try {\n const db = await this.openDB();\n return db.transaction(storeName, type).objectStore(storeName);\n } catch (error) {\n return Promise.reject(error);\n }\n }\n}\n// console.log('testDDB')\n// const indexDB = new IndexedDB({store});\n// indexDB.addData({service: 'cvm', instance: [{ins: 23}]}).then(e=>{\n// indexDB.getData('cvm').then(dd=>{console.log({dd})})\n// })\nexport default new IndexedDB({ store });\n","import indexedDB from './indexedDB';\nclass InstanceStorage {\n // prefix = 'Datasource';\n // storageKey = 'grafanaInstanceCache';\n insKey = 'Instances';\n cacheWay = '';\n constructor() {}\n setInstance(service: string, value: Record) {\n return this.setStorage(service, this.insKey, value, true);\n }\n async getInstance(service: string) {\n return this.getStorage(service, this.insKey);\n }\n setExtraStorage(service: string, Ekey: string, EValue: Record) {\n return this.setStorage(service, Ekey, EValue, false);\n }\n async getExtraStorage(service: string, Ekey: string) {\n return this.getStorage(service, Ekey);\n }\n private setStorage(serviceKey: string, key: string, value: Record, isCover = false) {\n // console.log('set', serviceKey, key, value);\n return indexedDB.addData(\n {\n service: serviceKey,\n [key]: value,\n },\n isCover\n );\n }\n // 获取到模版变量信息\n private async getStorage(service: string, key?: string) {\n const storage = await indexedDB.getData(service);\n // console.log('get', key, storage);\n return key ? storage?.[key] : storage;\n }\n}\nexport default new InstanceStorage();\n","module.exports = __WEBPACK_EXTERNAL_MODULE__10__;","import _ from 'lodash';\n\nexport const CKAFKAQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstanceId',\n cnDescriptor: '按照实例ID过滤',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '按照实例名称过滤,支持模糊查询',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '匹配标签key值',\n link: '',\n type: 'input',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例的状态,不填默认返回全部',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '删除中', value: 2 },\n ],\n },\n];\n\nconst CKAFKA_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n topicId: '',\n topicName: '',\n consumerGroup: '',\n partition: '',\n queries: {\n Offset: 0,\n Limit: 10,\n Status: [],\n InstanceId: '',\n SearchWord: '',\n TagKey: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CKAFKAInstanceAliasList = ['InstanceId', 'InstanceName'];\nconst CKAFKATopicAliasList = ['TopicId', 'TopicName'];\n// 保存在模板变量value中的key\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n topicId: 'TopicId',\n groupName: 'GroupName',\n partition: 'PartitionId',\n};\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CKAFKAInvalidDemensions = new Proxy(\n {\n topicId: 'TopicId',\n topicName: 'TopicName',\n consumerGroup: 'GroupName',\n partition: 'PartitionId',\n },\n {\n get: (obj, prop) => {\n if (String(prop).toLocaleLowerCase() === 'instanceid') return 'InstanceId';\n return obj[prop];\n },\n }\n);\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n TopicList: 'TopicList',\n GroupList: 'GroupList',\n PartitionList: 'PartitionList',\n};\n\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicId: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n // topicName和topicId是同一个storage中的source,所以根据topicId帅选\n TopicName: {\n dim_KeyInStorage: keyInStorage.TopicList,\n dim_KeyInTarget: 'topicId',\n dim_KeyInMap: templateQueryIdMap.topicId,\n },\n GroupName: {\n dim_KeyInStorage: keyInStorage.GroupList,\n dim_KeyInTarget: 'consumerGroup',\n dim_KeyInMap: templateQueryIdMap.groupName,\n },\n PartitionId: {\n dim_KeyInStorage: keyInStorage.PartitionList,\n dim_KeyInTarget: 'partition',\n dim_KeyInMap: templateQueryIdMap.partition,\n },\n};\nexport default CKAFKA_STATE;\nexport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as CKAFKAGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/LOADBALANCE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'loadBalanceQuery';\n\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst LOADBALANCEFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: LOADBALANCEFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst LOADBALANCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n servers: '',\n serverPort: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\n// function GetInstanceQueryParams(queries: any = {}) {\n// const params: any = {};\n// if (!_.isEmpty(queries)) {\n// params.Limit = _.get(queries, 'Limit', 20) || 20;\n// params.Offset = _.get(queries, 'Offset', 0) || 0;\n// queries = _.omit(queries, ['Offset', 'Limit']);\n// _.forEach(queries, (item: any, key) => {\n// if (_.isArray(item)) {\n// item = _.compact(item);\n// if (item.length > 0) {\n// params[key] = _.uniq(item);\n// }\n// } else if (_.isObject(item)) {\n// if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n// params[key] = _.get(item, 'value');\n// }\n// } else if (_.isNumber(item) || !_.isEmpty(item)) {\n// params[key] = item;\n// }\n// });\n// }\n// return params;\n// }\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst InstanceAliasList = ['LoadBalancerId', 'LoadBalancerName', 'LoadBalancerVips'];\nconst LOADBALANCEListenerAliasList = ['ListenerId', 'ListenerName', 'Port'];\nconst LOADBALANCEServerAliasList = ['PrivateIpAddresses', 'InstanceId'];\nconst LOADBALANCEVALIDDIMENSIONS = {\n vip: 'LoadBalancerVips',\n // vpcId: 'NumericalVpcId',\n loadBalancerPort: 'Port',\n protocol: 'Protocol',\n lanIp: 'PrivateIpAddresses',\n port: 'ServerPort',\n};\n// 对于ipv6类型,vip应该取AddressIPv6。\nconst CANDIATEDIMENSIONS = {\n LoadBalancerVips: 'AddressIPv6',\n};\n// dimensionObject[item] = { Name: item, Value: '' };\n// const LOADBALANCE_INSTANCE_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// };\n// const LOADBALANCE_LISTENER_DIMENSIONOBJECTS = {\n// vip: { Name: 'vip', Value: '' },\n// loadBalancerPort: { Name: 'loadBalancerPort', Value: '' },\n// protocol: { Name: 'protocol', Value: '' },\n// };\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n listener: 'ListenerId',\n servers: 'PrivateIpAddresses',\n port: 'Port',\n};\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n listener: 'ListenerList',\n servers: 'ServersList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Port: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n Protocol: {\n dim_KeyInStorage: keyInStorage.listener,\n dim_KeyInTarget: 'listener',\n dim_KeyInMap: templateQueryIdMap.listener,\n },\n PrivateIpAddresses: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'servers',\n dim_KeyInMap: templateQueryIdMap.servers,\n },\n ServerPort: {\n dim_KeyInStorage: keyInStorage.servers,\n dim_KeyInTarget: 'serverPort',\n dim_KeyInIns: 'Port',\n dim_KeyInMap: templateQueryIdMap.port,\n },\n};\nexport default LOADBALANCE_STATE;\nexport {\n LOADBALANCEFieldsDescriptor,\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n CANDIATEDIMENSIONS,\n // LOADBALANCE_LISTENER_DIMENSIONOBJECTS,\n // LOADBALANCE_INSTANCE_DIMENSIONOBJECTS,\n queryMonitorExtraConfg,\n keyInStorage,\n queryEditorConfig,\n namespace,\n queryEditorName,\n GetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TDMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n tenantId: 'ClusterId',\n tenant: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// 需和文件名对应\nconst TDMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n topicName: 'TopicName',\n environmentId: 'EnvironmentId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n topicName: '',\n environmentId: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n if (item.Dimensions.indexOf('topicName') !== -1 && item.Dimensions.indexOf('environmentId') === -1) {\n item.Dimensions.push('environmentId');\n }\n });\n return metricTmp;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n topicName: 'topicName',\n environmentId: 'environmentId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n TopicName: {\n dim_KeyInStorage: keyInStorage.topicName,\n dim_KeyInTarget: 'topicName',\n dim_KeyInMap: templateQueryIdMap.topicName,\n },\n EnvironmentId: {\n dim_KeyInStorage: keyInStorage.environmentId,\n dim_KeyInTarget: 'environmentId',\n dim_KeyInMap: templateQueryIdMap.environmentId,\n },\n};\nexport default CDNPROVINCE_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","/** 此文件放置通用业务的配置项,用于区分业务类型 */\nimport { DataQuery, DataSourceJsonData } from '@grafana/data';\nimport { RUMQuery } from './rum-service/types';\nimport { APMQuery } from './apm-service/types';\nimport { t, Language } from '../locale';\nimport { SearchSyntaxRule } from './log-service/common/constants';\n\nexport const enum ServiceType {\n monitor = 'monitor',\n logService = 'logService',\n RUMService = 'RUMService',\n APMService = 'APMService',\n}\n\nexport const ServiceTypeOptions = [\n {\n value: ServiceType.monitor,\n get label() {\n return t('cloud_monitor');\n },\n },\n {\n value: ServiceType.logService,\n get label() {\n return t('cloud_log_service');\n },\n },\n {\n value: ServiceType.RUMService,\n get label() {\n return t('real_user_monitoring');\n },\n },\n {\n value: ServiceType.APMService,\n get label() {\n return t('apm_monitoring');\n },\n },\n];\n\nexport interface QueryInfo extends DataQuery {\n /** 数据源Query针对的查询服务,监控 or 日志 */\n serviceType?: ServiceType;\n logServiceParams?: {\n region: string;\n TopicId: string;\n Query: string;\n SyntaxRule: number;\n MaxResultNum?: number;\n };\n RUMServiceParams?: RUMQuery;\n APMServiceParams?: APMQuery;\n}\n\nexport const defaultQueryInfo: Omit = {\n serviceType: ServiceType.logService,\n logServiceParams: {\n region: '',\n TopicId: '',\n Query: '',\n SyntaxRule: SearchSyntaxRule.CQL,\n },\n RUMServiceParams: {\n policy: 'default',\n resultFormat: 'time_series',\n orderByTime: 'ASC',\n tags: [],\n groupBy: [\n {\n type: 'time',\n params: ['$__interval'],\n },\n {\n type: 'fill',\n params: ['null'],\n },\n ],\n select: [\n [\n {\n type: 'field',\n params: ['value'],\n },\n {\n type: 'mean',\n params: [],\n },\n ],\n ],\n },\n APMServiceParams: {\n policy: 'default',\n resultFormat: 'time_series',\n orderType: 'time',\n orderBy: 'ASC',\n tags: [],\n groupBy: [\n {\n type: 'time',\n params: ['$__interval'],\n },\n {\n type: 'fill',\n params: ['null'],\n },\n ],\n select: [\n [\n {\n type: 'field',\n params: ['value'],\n },\n {\n type: 'mean',\n params: [],\n },\n ],\n ],\n },\n};\n\n/** QueryInfo的运行时版本,用于将query中的不合法字段进去移除,保证query是个QueryInfo类型的数据 */\nexport const queryInfoRuntime: Required = {\n refId: '',\n hide: false,\n key: '',\n queryType: '',\n dataTopic: null as any,\n datasource: '',\n\n serviceType: defaultQueryInfo.serviceType,\n logServiceParams: defaultQueryInfo.logServiceParams,\n RUMServiceParams: defaultQueryInfo.RUMServiceParams,\n APMServiceParams: defaultQueryInfo.APMServiceParams,\n};\n\n/** 变量数据类型。字符场景为云监控配置,对象场景由内部字段决定 */\nexport interface VariableQuery {\n serviceType: ServiceType;\n queryString: string;\n logServiceParams?: QueryInfo['logServiceParams'];\n}\n\n/**\n * These are options configured for each DataSource instance.\n */\nexport interface MyDataSourceOptions extends DataSourceJsonData {\n secretId?: string;\n /** 控制是否开启日志服务功能 */\n logServiceEnabled?: boolean;\n /** 控制是否开启前端性能监控 */\n RUMServiceEnabled?: boolean;\n /** 根据 product.service 字段,判断云监控功能是否开启。字段混杂,不写入类型声明中 */\n // [product.service]?: boolean\n intranet?: boolean;\n language?: Language;\n /** 控制是否开启APM监控 */\n APMServiceEnabled?: boolean;\n}\n\n/**\n * Value that is used in the backend, but never sent over HTTP to the frontend\n */\nexport interface MySecureJsonData {\n secretKey: string;\n}\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/GSE';\nconst fleetId = 'FleetId'; // 为和cvm其他产品保持一致,即将string[]改为Array<{fleetid: xxx}>,在此声明key\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'gseQuery';\n\nconst GSEInvalidDemensions = {\n instanceid: 'InstanceId',\n fleetid: 'FleetId',\n queuename: 'Name',\n};\n\n// 需和文件名对应\nconst GSEInstanceAliasList = ['InstanceId', 'PrivateIpAddress', 'IpAddress'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n Name: 'Name',\n FleetId: fleetId,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n fleet: 'fleet', // 实例队列\n queue: 'queueName', // 会话队列\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n FleetId: {\n dim_KeyInStorage: keyInStorage.fleet,\n dim_KeyInTarget: 'FleetId',\n dim_KeyInMap: templateQueryIdMap.FleetId,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.queue,\n dim_KeyInTarget: 'Name',\n dim_KeyInMap: templateQueryIdMap.Name,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst GSEFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceId: '',\n FleetId: '',\n};\n\nconst GSEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'resourceName',\n cnDescriptor: '资源名称',\n link: '',\n type: 'input',\n },\n {\n key: 'FleetId',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1165/42604',\n namespace,\n fieldDescriptor: GSEFilterFieldsDescriptor,\n};\n\nconst GSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n FleetId: '', // 服务器实例\n Name: '', // 队列名称\n queries: GSEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n // { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n // { value: 'ap-shanghai-fsi' },\n // { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n // { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => GSEInvalidDemensions[v] || v);\n });\n return metricTmp;\n}\nexport default GSE_STATE;\nexport {\n GSEFilterFieldsDescriptor,\n templateQueryIdMap,\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n fleetId,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as GSEGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { isArray, cloneDeep } from 'lodash';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/TDMYSQL';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'dcdbQuery';\n\nconst DCDBInvalidDemensions = {\n nodeid: 'NodeId',\n instanceid: 'InstanceId',\n shardid: 'ShardInstanceId',\n ShardId: 'ShardInstanceId',\n};\n\n// 需和文件名对应\nconst DCDBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst DCDBFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n SearchName: '',\n SearchKey: '',\n ProjectIds: [],\n // IsFilterVpc\n VpcId: '',\n SubnetId: '',\n\n OrderBy: {},\n OrderByType: {},\n // IsFilterExcluster: {},\n ExclusterType: {},\n\n ExclusterIds: [],\n FilterInstanceType: {},\n};\n\nconst DCDBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例 ID 查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'SearchName',\n enDescriptor: 'SearchName',\n cnDescriptor: '搜索的字段名,当前支持的值有:instancename、vip、all',\n link: '',\n type: 'input',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '搜索的关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '按项目 ID 查询',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'projectId', value: 'projectId' },\n { text: 'createtime', value: 'createtime' },\n { text: 'instancename', value: 'instancename' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'select',\n list: [\n { text: 'desc', value: 'desc' },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterType',\n enDescriptor: 'ExclusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: [\n { text: '非独享集群', value: 1 },\n { text: '独享集群', value: 2 },\n { text: '全部', value: 0 },\n { text: 'asc', value: 'asc' },\n ],\n },\n {\n key: 'ExclusterIds',\n enDescriptor: 'ExclusterIds',\n cnDescriptor: '独享集群ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'FilterInstanceType',\n enDescriptor: 'FilterInstanceType',\n cnDescriptor: '实例类型过滤',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '独享实例', value: 1 },\n { text: '主实例', value: 2 },\n { text: '灾备实例', value: 3 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/557/16140',\n namespace,\n fieldDescriptor: DCDBFilterFieldsDescriptor,\n};\n\nconst DCDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n ShardId: '',\n NodeId: '',\n queries: DCDBFilterFields,\n};\nconst modifyMetricConf = {\n shardid: 'ShardId',\n instanceid: 'InstanceId',\n nodeid: 'NodeId',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((v) => modifyMetricConf[v] || v);\n });\n return metricTmp;\n}\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params = instanceQueryParamsBaseParse(queries, false);\n // 特殊处理\n params.IsFilterVpc = false;\n params.IsFilterExcluster = false;\n if (params.VpcId || params.SubnetId) params.IsFilterVpc = true;\n if (params.ExclusterType) params.IsFilterExcluster = true;\n if (isArray(params.FilterInstanceType)) params.FilterInstanceType = params.FilterInstanceType.join(',');\n return params;\n}\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n NodeId: 'NodeId',\n ShardInstanceId: 'ShardId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeId: {\n dim_KeyInStorage: keyInStorage.NodeId,\n dim_KeyInTarget: 'NodeId',\n dim_KeyInMap: templateQueryIdMap.NodeId,\n },\n ShardInstanceId: {\n dim_KeyInStorage: keyInStorage.ShardInstanceId,\n dim_KeyInTarget: 'ShardId',\n dim_KeyInMap: templateQueryIdMap.ShardInstanceId,\n },\n};\n// 和其他产品的展示保持一致\nconst regionSupported = [\n { text: '华北地区(北京)', value: 'ap-beijing' },\n { text: '西南地区(成都)', value: 'ap-chengdu' },\n { text: '西南地区(重庆)', value: 'ap-chongqing' },\n { text: '华南地区(广州)', value: 'ap-guangzhou' },\n { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n { text: '华东地区(南京)', value: 'ap-nanjing' },\n { text: '华东地区(上海)', value: 'ap-shanghai' },\n { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n { text: '亚太东北(东京)', value: 'ap-tokyo' },\n { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n { text: '北美地区(多伦多)', value: 'na-toronto' },\n];\nexport default DCDB_STATE;\nexport {\n DCDBFilterFieldsDescriptor,\n templateQueryIdMap,\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n keyInStorage,\n modifyDimensons,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as DCDBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst namespace = 'QCE/REDIS_MEM';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisMemFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDISMEM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n rnodeid: '',\n pnodeid: '',\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst REDISMEMInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisMemInvalidDemensions = {\n instanceid: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n rnodeid: 'rnodeid',\n pnodeid: 'pnodeid',\n};\n\nconst NodeType = ['Redis', 'Proxy'];\n\nexport default REDISMEM_STATE;\nexport {\n RedisMemFieldsDescriptor,\n RedisMemInvalidDemensions,\n REDISMEMInstanceAliasList,\n templateQueryIdMap,\n namespace,\n NodeType,\n GetInstanceQueryParams as REDISMEMGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/RABBITMQ';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tdmqQuery';\n\nconst TDMQInvalidDemensions = {\n instanceid: 'InstanceId',\n node: 'NodeName',\n};\n\n// 需和文件名对应\nconst TDMQRABBITMQInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n node: 'NodeName',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n node: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'NodeName',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NodeName: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'node',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryEditorName,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/ROCKETMQ';\n\nconst TDMQInvalidDemensions = {\n tenant: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// 需和文件名对应\nconst TDMQROCKETMQInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nconst templateQueryIdMap = {\n instance: 'ClusterId',\n namespace: 'NamespaceId',\n group: 'Name',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst TDMQFilterFields = {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIdList: [''],\n Filters: {\n includeVip: { text: '是', value: 'true' },\n },\n};\n\nconst TDMQFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'includeVip',\n enDescriptor: 'includeVip',\n cnDescriptor: '包含专享集群',\n link: '',\n type: 'select',\n list: [\n { text: '是', value: 'true' },\n { text: '否', value: 'false' },\n ],\n },\n];\n\nconst TDMQ_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n // 此处key应该是经过TDMQInvalidDemensions处理后的\n namespace: '',\n group: '',\n queries: TDMQFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.ClusterIdList)) {\n const ClusterIdList = _.compact(queries.ClusterIdList);\n if (_.uniq(ClusterIdList).length > 0) {\n params.ClusterIdList = _.uniq(ClusterIdList).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: [_.get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-nanjing' },\n { value: 'ap-hongkong' },\n { value: 'ap-tokyo' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n { value: 'ap-bangkok' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n namespace: 'NamespaceId',\n group: 'Name',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n NamespaceId: {\n dim_KeyInStorage: keyInStorage.namespace,\n dim_KeyInTarget: 'namespace',\n dim_KeyInMap: templateQueryIdMap.namespace,\n },\n Name: {\n dim_KeyInStorage: keyInStorage.group,\n dim_KeyInTarget: 'group',\n dim_KeyInMap: templateQueryIdMap.group,\n },\n};\nexport default TDMQ_STATE;\nexport {\n TDMQFilterFieldsDescriptor,\n templateQueryIdMap,\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n queryMonitorExtraConfg,\n keyInStorage,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TDMQROCKETMQGetInstanceQueryParams,\n};\n","import { t } from '../../locale';\n// name (产品名称), service(对应的真实service)\ninterface ServiceType {\n service: string;\n label: string;\n namespace: string;\n href: string;\n groupName?: string;\n hideRegion?: boolean;\n}\nconst SERVICES: ServiceType[] = [\n {\n service: 'cvm',\n get label() {\n return t('CVM');\n },\n namespace: 'QCE/CVM',\n href: 'https://cloud.tencent.com/document/api/213/15688',\n },\n {\n service: 'cdb',\n get label() {\n return t('CDB');\n },\n namespace: 'QCE/CDB',\n href: 'https://cloud.tencent.com/document/api/236/15829',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'mongoDB',\n get label() {\n return t('CMONGO');\n },\n namespace: 'QCE/CMONGO',\n href: 'https://cloud.tencent.com/document/api/240/38568',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'postgres',\n get label() {\n return t('POSTGRES');\n },\n namespace: 'QCE/POSTGRES',\n href: 'https://cloud.tencent.com/document/product/248/45105',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redis',\n get label() {\n return t('REDIS');\n },\n namespace: 'QCE/REDIS',\n href: 'https://cloud.tencent.com/document/product/248/45110',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'redisMem',\n get label() {\n return t('REDIS_MEM');\n },\n namespace: 'QCE/REDIS_MEM',\n href: 'https://cloud.tencent.com/document/product/248/49729',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'sqlserver',\n get label() {\n return t('SQLSERVER');\n },\n namespace: 'QCE/SQLSERVER',\n href: 'https://cloud.tencent.com/document/product/248/45146',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'cynosdbMysql',\n get label() {\n return t('CYNOSDB_MYSQL');\n },\n namespace: 'QCE/CYNOSDB_MYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45106',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'tcaplus',\n get label() {\n return t('TCAPLUS');\n },\n namespace: 'QCE/TCAPLUS',\n href: 'https://cloud.tencent.com/document/product/248/45107',\n get groupName() {\n return t('cloud_database');\n },\n },\n {\n service: 'dcdb',\n get label() {\n return t('TDMYSQL');\n },\n namespace: 'QCE/TDMYSQL',\n href: 'https://cloud.tencent.com/document/product/248/45108',\n },\n {\n service: 'pcx',\n get label() {\n return t('PCX');\n },\n namespace: 'QCE/PCX',\n href: 'https://cloud.tencent.com/document/product/215/5181',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'bwp',\n get label() {\n return t('BWP');\n },\n namespace: 'QCE/BWP',\n href: 'https://cloud.tencent.com/document/api/215/19209',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'natGateway',\n get label() {\n return t('NAT_GATEWAY');\n },\n namespace: 'QCE/NAT_GATEWAY',\n href: 'https://cloud.tencent.com/document/api/215/36034',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpngw',\n get label() {\n return t('VPNGW');\n },\n namespace: 'QCE/VPNGW',\n href: 'https://cloud.tencent.com/document/product/248/45070',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpnx',\n get label() {\n return t('VPNX');\n },\n namespace: 'QCE/VPNX',\n href: 'https://cloud.tencent.com/document/product/248/45071',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'dcg',\n get label() {\n return t('DCG');\n },\n namespace: 'QCE/DCG',\n href: 'https://cloud.tencent.com/document/product/248/45072',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'ceipSummary',\n get label() {\n return t('CEIP_SUMMARY');\n },\n namespace: 'QCE/CEIP_SUMMARY',\n href: 'https://cloud.tencent.com/document/product/248/50381',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vpcNetDetect',\n get label() {\n return t('VPC_NET_DETECT');\n },\n namespace: 'QCE/VPC_NET_DETECT',\n href: 'https://cloud.tencent.com/document/product/248/50384',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'vbc',\n get label() {\n return t('VBC');\n },\n namespace: 'QCE/VBC',\n href: 'https://cloud.tencent.com/document/product/248/45073',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lb',\n get label() {\n return t('LB');\n },\n namespace: 'QCE/LB',\n href: 'https://cloud.tencent.com/document/product/248/45099',\n get groupName() {\n return t('virtual_private_cloud');\n },\n },\n {\n service: 'lbPublic',\n get label() {\n return t('LB_PUBLIC');\n },\n namespace: 'QCE/LB_PUBLIC',\n href: 'https://cloud.tencent.com/document/product/248/51898',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'lbPrivate',\n get label() {\n return t('LB_PRIVATE');\n },\n namespace: 'QCE/LB_PRIVATE',\n href: 'https://cloud.tencent.com/document/product/248/51899',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'loadBalance',\n get label() {\n return t('LOADBALANCE');\n },\n namespace: 'QCE/LOADBALANCE',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('multi_scene')})`;\n },\n },\n {\n service: 'vClb',\n get label() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n namespace: 'QCE/V_CLB',\n href: 'https://cloud.tencent.com/document/product/248/51901',\n get groupName() {\n return `${t('cloud_load_balancer')}(${t('lite')})`;\n },\n },\n {\n service: 'cdn',\n get label() {\n return t('CDN');\n },\n namespace: 'QCE/CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50386',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'cdnProvince',\n get label() {\n return t('CDN_LOG_DATA');\n },\n namespace: 'QCE/CDN_LOG_DATA',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50388',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'ovCdn',\n get label() {\n return t('OV_CDN');\n },\n namespace: 'QCE/OV_CDN',\n hideRegion: true,\n href: 'https://cloud.tencent.com/document/product/248/50387',\n get groupName() {\n return t('content_delivery_network');\n },\n },\n {\n service: 'scf',\n get label() {\n return t('SCF_V2');\n },\n namespace: 'QCE/SCF_V2',\n href: 'https://cloud.tencent.com/document/product/248/45130',\n },\n {\n service: 'cfs',\n get label() {\n return t('CFS');\n },\n namespace: 'QCE/CFS',\n href: 'https://cloud.tencent.com/document/product/248/45143',\n },\n {\n service: 'cos',\n get label() {\n return t('COS');\n },\n namespace: 'QCE/COS',\n href: 'https://cloud.tencent.com/document/product/248/45140',\n },\n {\n service: 'ckafka',\n get label() {\n return t('CKAFKA');\n },\n namespace: 'QCE/CKAFKA',\n href: 'https://cloud.tencent.com/document/product/248/45121',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmq',\n get label() {\n return t('CMQ');\n },\n namespace: 'QCE/CMQ',\n href: 'https://cloud.tencent.com/document/product/248/45114',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'cmqTopic',\n get label() {\n return t('CMQTOPIC');\n },\n namespace: 'QCE/CMQTOPIC',\n href: 'https://cloud.tencent.com/document/product/248/45113',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmq',\n get label() {\n return t('TDMQ');\n },\n namespace: 'QCE/TDMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRocketmq',\n get label() {\n return t('TDMQ_ROCKETMQ');\n },\n namespace: 'QCE/ROCKETMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'tdmqRabbitmq',\n get label() {\n return t('TDMQ_RABBITMQ');\n },\n namespace: 'QCE/RABBITMQ',\n href: 'https://cloud.tencent.com/document/product/248/51450',\n get groupName() {\n return t('message_queue');\n },\n },\n {\n service: 'dcx',\n get label() {\n return t('DCX');\n },\n namespace: 'QCE/DCX',\n href: 'https://cloud.tencent.com/document/product/248/45101',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'dc',\n get label() {\n return t('DC');\n },\n namespace: 'QCE/DC',\n href: 'https://cloud.tencent.com/document/product/248/45102',\n get groupName() {\n return t('direct_connect');\n },\n },\n {\n service: 'cpm',\n get label() {\n return t('CPM');\n },\n namespace: 'QCE/CPM',\n href: 'https://cloud.tencent.com/document/product/248/45881',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmPcx',\n get label() {\n return t('BM_PCX');\n },\n namespace: 'QCE/BM_PCX',\n href: 'https://cloud.tencent.com/document/product/248/45884',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmLb',\n get label() {\n return t('BM_LB');\n },\n namespace: 'QCE/BM_LB',\n href: 'https://cloud.tencent.com/document/product/248/45886',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'bmIntraLb',\n get label() {\n return t('BM_INTRA_LB');\n },\n namespace: 'QCE/BM_INTRA_LB',\n href: 'https://cloud.tencent.com/document/product/248/45885',\n get groupName() {\n return t('cloud_physical_machine');\n },\n },\n {\n service: 'ces',\n get label() {\n return t('CES');\n },\n namespace: 'QCE/CES',\n href: 'https://cloud.tencent.com/document/product/248/45129',\n },\n {\n service: 'mrHDFS',\n get label() {\n return `${t('elastic_mapReduce')}(HDFS)`;\n },\n namespace: 'QCE/TXMR_HDFS',\n href: 'https://cloud.tencent.com/document/product/248/44797',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHBASE',\n get label() {\n return `${t('elastic_mapReduce')}(HBASE)`;\n },\n namespace: 'QCE/TXMR_HBASE',\n href: 'https://cloud.tencent.com/document/product/248/45567',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrHIVE',\n get label() {\n return `${t('elastic_mapReduce')}(HIVE)`;\n },\n namespace: 'QCE/TXMR_HIVE',\n href: 'https://cloud.tencent.com/document/product/248/45569',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrNODE',\n get label() {\n return `${t('elastic_mapReduce')}(NODE)`;\n },\n namespace: 'QCE/TXMR_NODE',\n href: 'https://cloud.tencent.com/document/product/248/45570',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrPRESTO',\n get label() {\n return `${t('elastic_mapReduce')}(PRESTO)`;\n },\n namespace: 'QCE/TXMR_PRESTO',\n href: 'https://cloud.tencent.com/document/product/248/45571',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrSPARK',\n get label() {\n return `${t('elastic_mapReduce')}(SPARK)`;\n },\n namespace: 'QCE/TXMR_SPARK',\n href: 'https://cloud.tencent.com/document/product/248/45572',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrYARN',\n get label() {\n return `${t('elastic_mapReduce')}(YARN)`;\n },\n namespace: 'QCE/TXMR_YARN',\n href: 'https://cloud.tencent.com/document/product/248/45573',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'mrZOOKEEPER',\n get label() {\n return `${t('elastic_mapReduce')}(ZOOKEEPER)`;\n },\n namespace: 'QCE/TXMR_ZOOKEEPER',\n href: 'https://cloud.tencent.com/document/product/248/45574',\n get groupName() {\n return t('elastic_mapReduce');\n },\n },\n {\n service: 'cbs',\n get label() {\n return t('BLOCK_STORAGE');\n },\n namespace: 'QCE/BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/362/2345',\n },\n {\n service: 'apigateway',\n get label() {\n return t('APIGATEWAY');\n },\n namespace: 'QCE/APIGATEWAY',\n href: 'https://cloud.tencent.com/document/product/248/45127',\n },\n {\n service: 'qaap',\n get label() {\n return t('QAAP');\n },\n namespace: 'QCE/QAAP',\n href: 'https://cloud.tencent.com/document/product/608',\n },\n {\n service: 'ecm',\n get label() {\n return t('ECM');\n },\n hideRegion: true,\n namespace: 'QCE/ECM',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmBlockStorage',\n get label() {\n return t('ECM_BLOCK_STORAGE');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_BLOCK_STORAGE',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'ecmLb',\n get label() {\n return t('ECM_LB');\n },\n hideRegion: true,\n namespace: 'QCE/ECM_LB',\n href: 'https://cloud.tencent.com/document/product/1108',\n get groupName() {\n return t('edge_computing_machine');\n },\n },\n {\n service: 'gse',\n get label() {\n return t('GSE');\n },\n namespace: 'QCE/GSE',\n href: 'https://cloud.tencent.com/document/product/1165',\n },\n {\n service: 'cls',\n get label() {\n return t('CLS');\n },\n namespace: 'QCE/CLS',\n href: 'https://cloud.tencent.com/document/product/614',\n },\n {\n service: 'tke',\n get label() {\n return t('TKE');\n },\n namespace: 'QCE/TKE2',\n href: 'https://cloud.tencent.com/document/product/457',\n },\n {\n service: 'ecdn',\n get label() {\n return t('ECDN');\n },\n namespace: 'QCE/DSA',\n href: 'https://cloud.tencent.com/document/product/570',\n },\n // {\n // service: 'lighthouse',\n // label: '轻量应用服务器(LIGHTHOUSE)',\n // namespace: 'QCE/LIGHTHOUSE',\n // href: 'https://cloud.tencent.com/document/product/1207',\n // },\n // {\n // service: 'tsf',\n // label: ' 微服务平台(TSF)',\n // namespace: 'QCE/TSF',\n // href: 'https://cloud.tencent.com/document/product/649',\n // },\n {\n service: 'waf',\n get label() {\n return t('WAF');\n },\n // hideRegion: true,\n namespace: 'QCE/WAF',\n href: 'https://cloud.tencent.com/document/product/627',\n },\n];\nconst Datasources = {};\nconst InitStates = {};\nconst InstanceAliasList = {};\nconst GetInstanceQueryParams = {};\n\n/**\n * 由于目录命名不规范,导致需要使用额外逻辑保证正确性。从目录到具体service的映射\n */\nconst hackModuleName = {\n // lb_loadBalance: 'loadBalance',\n postgresql: 'postgres',\n mongodb: 'mongoDB',\n clb: ['lbPrivate', 'lbPublic', 'loadBalance'],\n mr: ['mrHDFS', 'mrHBASE', 'mrHIVE', 'mrNODE', 'mrPRESTO', 'mrSPARK', 'mrYARN', 'mrZOOKEEPER'],\n};\n\nconst requireModule = (require as any).context('./', true, /^\\.\\/[a-zA-Z]\\w+\\/(datasource)|(query(_def)?)\\.ts$/);\n\nrequireModule.keys().forEach((filePath) => {\n let [, moduleName, fileName] = filePath.split('/');\n\n // hack: 这里是由于产品目录命名不规范,所以才会多这么一段代码\n moduleName = hackModuleName[moduleName] ?? moduleName;\n\n // 目录与模块的映射关系,不管是一对一还是一对多,均按数组进行统一处理\n [].concat(moduleName).forEach((module: string) => {\n // 这个service就是产品配置中的service,需要注意这里的service是根据目录名称算出来的,因此目录名称一定要和service对应\n const service = module.replace(/_([a-zA-Z])/g, (_, b) => b.toUpperCase());\n const prefix = service.toUpperCase(); // 命名规则\n\n // datasource\n if (fileName === 'datasource.ts') {\n const Cls = require(`${filePath}`).default;\n\n // 想办法为实例注入service,不能为prototype或则类本身注入,因为会造成互相污染,详尽mrDatasource\n Datasources[`${prefix}Datasource`] = class {\n constructor(...params) {\n const target = new Cls(...params, service);\n target.service = service;\n // eslint-disable-next-line no-constructor-return\n return target;\n }\n };\n }\n // query\n if (fileName === 'query.ts') {\n require(`${filePath}`);\n }\n // query_def\n if (fileName === 'query_def.ts') {\n const alias = `${prefix}InstanceAliasList`;\n const getParams = `${prefix}GetInstanceQueryParams`;\n\n const target = require(`${filePath}`);\n\n InitStates[service] = target.default; // FIXME: 这里需不需要深拷贝?\n InstanceAliasList[alias] = target[alias] ?? target['InstanceAliasList'];\n GetInstanceQueryParams[getParams] = target[getParams] ?? target['GetInstanceQueryParams'];\n }\n });\n});\n\nexport {\n InitStates as InitServiceState,\n SERVICES,\n Datasources,\n InstanceAliasList,\n GetInstanceQueryParams,\n // DefaultDimensions\n};\n\n// console.log(Datasources, InitStates, InstanceAliasList, GetInstanceQueryParams);\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_BLOCK_STORAGE';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ecmBlockStorageQuery';\n\nconst ECMBLOCKSTORAGEInvalidDemensions = {\n uuid: 'UUID',\n diskId: 'DiskId',\n};\n\n// 需和文件名对应\nconst ECMBLOCKSTORAGEInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n diskId: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst ECMBLOCKSTORAGEFilterFields = {\n Limit: 20,\n Offset: 0,\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMBLOCKSTORAGEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMBLOCKSTORAGEFilterFieldsDescriptor,\n};\n\nconst ECMBLOCKSTORAGE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n diskId: '',\n queries: ECMBLOCKSTORAGEFilterFields,\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n diskId: 'diskId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n DiskId: {\n dim_KeyInStorage: keyInStorage.diskId,\n dim_KeyInTarget: 'diskId',\n dim_KeyInMap: templateQueryIdMap.diskId,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default ECMBLOCKSTORAGE_STATE;\nexport {\n ECMBLOCKSTORAGEFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n keyInStorage,\n queryMonitorExtraConfg,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as ECMBLOCKSTORAGEGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__22__;","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/APIGATEWAY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'apigatewayQuery';\n\nconst APIGATEWAYInvalidDemensions = {\n serviceId: 'ServiceId',\n environmentName: 'EnvironmentName',\n apiid: 'Apiid',\n apiId: 'Apiid',\n};\n\n// 需和文件名对应\nconst APIGATEWAYInstanceAliasList = ['ServiceId', 'ServiceName'];\n\nconst templateQueryIdMap = {\n instance: 'ServiceId',\n environmentName: 'EnvironmentName',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n environmentList: 'EnvironmentList',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n EnvironmentName: {\n dim_KeyInStorage: keyInStorage.environmentList,\n dim_KeyInTarget: 'EnvironmentName',\n dim_KeyInMap: templateQueryIdMap.environmentName,\n },\n};\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst APIGATEWAYFilterFields = {\n Limit: 20,\n Offset: 0,\n ServiceId: [],\n ServiceName: [],\n NotUsagePlanId: [],\n Environment: [],\n IpVersion: [],\n};\n\nconst APIGATEWAYFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ServiceId',\n enDescriptor: 'ServiceId',\n cnDescriptor: '服务id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ServiceName',\n enDescriptor: 'ServiceName',\n cnDescriptor: '服务名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'NotUsagePlanId',\n enDescriptor: 'NotUsagePlanId',\n cnDescriptor: 'NotUsagePlanId',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Environment',\n enDescriptor: 'Environment',\n cnDescriptor: '环境名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'IpVersion',\n enDescriptor: 'IpVersion',\n cnDescriptor: 'IP版本',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/628/45198',\n namespace,\n fieldDescriptor: APIGATEWAYFilterFieldsDescriptor,\n};\n\nconst APIGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ServiceId',\n EnvironmentName: '',\n queries: APIGATEWAYFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nexport default APIGATEWAY_STATE;\nexport {\n APIGATEWAYFilterFieldsDescriptor,\n templateQueryIdMap,\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as APIGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const InstanceQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '按照一个或者多个实例ID查询。实例ID形如: emr-xxxxxxxx ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 'clusterId' },\n { text: '创建时间', value: 'addTime' },\n { text: '状态', value: 'status' },\n ],\n },\n {\n key: 'Asc',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '降序', value: 0 },\n { text: '升序', value: 1 },\n ],\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '实例所属项目ID',\n link: '',\n type: 'inputnumber',\n },\n {\n key: 'DisplayStrategy',\n enDescriptor: 'DisplayStrategy',\n cnDescriptor: '集群筛选策略',\n link: '',\n type: 'select',\n list: [\n { text: '未销毁的实例', value: 'clusterList' },\n { text: '正常运行的实例', value: 'monitorManage' },\n ],\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = new Proxy(\n {},\n {\n get(target, k, receiver) {\n if (typeof k === 'string') {\n if (k.startsWith('id4')) return 'ClusterId'; // id4****\n if (k.startsWith('host4')) return 'Ip'; // host4***\n }\n return Reflect.get(target, k, receiver);\n },\n has(target, propKey) {\n return true;\n },\n }\n);\n\nexport const templateQueryIdMap = {\n instance: 'ClusterId',\n node: 'Ip',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n node: 'nodeIP',\n};\n\n/**\n * 如果有InstanceId额外的维度,原则上都需要传入此map结构配置\n *\n * `key` 的含义:\n * 经过InvalidDemensions处理后的string。topicId => TopicId。\n * 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\n *\n * `value` 的含义:\n * @param {1} dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n * @param {2} dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n * 默认取通过InvalidDemsion处理后的key\n * @param {3} dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n * 即:templateQueryIdMap中内容。\n * 联合上面 2 的内容筛选出原始sourceMap\n */\nconst queryMonitorExtraConfg = {\n Ip: {\n dim_KeyInStorage: keyInStorage.node,\n dim_KeyInTarget: 'nodeIP',\n dim_KeyInMap: templateQueryIdMap.node,\n },\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['ClusterId', 'ClusterName'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n nodeIP: '',\n queries: {\n Offset: 0,\n Limit: 10,\n DisplayStrategy: '',\n OrderBy: {},\n Order: {},\n InstanceIds: [],\n ProjectId: -1,\n OrderField: '',\n Asc: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/V_CLB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vClbQuery';\n\nconst VCLBInvalidDemensions = {\n InstanceId: 'LoadBalancerId',\n // vip: 'LoadBalancerVips',\n // loadBalancerPort: 'Port',\n // protocol: 'Protocol',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst VCLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\nconst ForwardTypes = [\n { text: '通用的负载均衡', value: 1 },\n { text: '传统的负载均衡', value: 0 },\n];\n\nconst OrderBy = [\n { text: 'LoadBalancerName', value: 'LoadBalancerName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'Domain', value: 'Domain' },\n { text: 'LoadBalancerType', value: 'LoadBalancerType' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\n\nconst WithRs = [\n { text: '没有绑定后端服务', value: 0 },\n { text: '绑定后端服务', value: 1 },\n { text: '查询全部', value: -1 },\n];\nconst VCLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1',\n link: '',\n type: 'inputNumber',\n min: 1,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancer ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancer Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'Forward',\n enDescriptor: 'Forward',\n cnDescriptor: '负载均衡实例类型',\n link: '',\n type: 'select',\n list: ForwardTypes,\n },\n {\n key: 'Domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名,腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义',\n link: '',\n type: 'input',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancer Vips',\n cnDescriptor: '负载均衡实例的 VIP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivate Ips',\n cnDescriptor: '负载均衡绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPublicIps',\n enDescriptor: 'BackendPublic Ips',\n cnDescriptor: '负载均衡绑定的后端服务的外网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '负载均衡实例所属的项目 ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'VpcId',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '负载均衡实例所属私有网络',\n link: '',\n type: 'input',\n },\n {\n key: 'SecurityGroup',\n enDescriptor: 'Security Group',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'input',\n },\n {\n key: 'MasterZone',\n enDescriptor: 'Master Zone',\n cnDescriptor: '主可用区ID',\n link: '',\n type: 'input',\n },\n {\n key: 'WithRs',\n enDescriptor: 'WithRs',\n cnDescriptor: '负载均衡是否绑定后端服务',\n link: '',\n type: 'select',\n list: WithRs,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderType,\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/214/30685',\n namespace,\n fieldDescriptor: VCLBFilterFieldsDescriptor,\n};\nconst LBFields = {\n LoadBalancerIds: [],\n Forward: undefined,\n LoadBalancerName: '',\n Domain: '',\n LoadBalancerVips: [],\n BackendPublicIps: [],\n BackendPrivateIps: [],\n Limit: 20,\n Offset: 0,\n ProjectId: undefined,\n WithRs: {},\n VpcId: '',\n SecurityGroup: '',\n MasterZone: '',\n OrderBy: {},\n OrderType: {},\n};\n\nconst VCLB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n Port: '',\n Protocol: '',\n listener: '',\n // listenerAlias: 'ListenerId',\n queries: LBFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst clbNamespaceMap = {\n public: 'QCE/LB_PUBLIC',\n private: 'QCE/LB_PRIVATE',\n};\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default VCLB_STATE;\nexport {\n VCLBFilterFieldsDescriptor,\n templateQueryIdMap,\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n clbNamespaceMap,\n modifyDimensons,\n regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__26__;","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CYNOSDB_MYSQL';\n\n// 按照驼峰方式命名,和SERVICES保持一致,abcDeF会成为angular组件名字\nconst queryEditorName = 'cynosdbMysqlQuery';\n\nconst cynosdbMysqlFilterFields = {\n Limit: 20,\n Offset: 0,\n OrderBy: {},\n OrderByType: {},\n InstanceIds: [],\n DbType: {},\n // Status: '',\n};\n\nconst cynosdbMysqlFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 1000,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '实例id列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '创建时间', value: 'CREATETIME' },\n { text: '过期时间', value: 'PERIODENDTIME' },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序类型',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n ],\n },\n {\n key: 'DbType',\n enDescriptor: 'DbType',\n cnDescriptor: '引擎类型',\n link: '',\n type: 'select',\n list: [\n { text: 'MYSQL', value: 'MYSQL' },\n { text: 'POSTGRESQL', value: 'POSTGRESQL' },\n ],\n },\n // {\n // key: 'Status',\n // enDescriptor: 'Status',\n // cnDescriptor: '实例状态',\n // link: '',\n // type: 'input',\n // },\n];\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n];\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1003/48334',\n namespace,\n fieldDescriptor: cynosdbMysqlFilterFieldsDescriptor,\n};\n\nconst CYNOSDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: cynosdbMysqlFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// 和文件名字一样CYNOSDBMYSQL\nconst CYNOSDBMYSQLInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nconst CYNOSDBInvalidDemensions = {\n instanceid: 'InstanceId',\n instanceId: 'InstanceId',\n};\nconst checkKeys = ['instanceId'];\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default CYNOSDB_STATE;\nexport {\n cynosdbMysqlFilterFieldsDescriptor,\n templateQueryIdMap,\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n checkKeys,\n // params前缀为service的全大写\n GetInstanceQueryParams as CYNOSDBMYSQLGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const SCFQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '支持FunctionName模糊匹配',\n link: '',\n type: 'input',\n },\n {\n key: 'Namespace',\n enDescriptor: 'Namespace',\n cnDescriptor: '云函数命名空间',\n link: '',\n type: 'input',\n },\n {\n key: 'Description',\n enDescriptor: 'Description',\n cnDescriptor: '函数描述,支持模糊搜索',\n link: '',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: 'AddTime', value: 'AddTime' },\n { text: 'ModTime', value: 'ModTime' },\n { text: 'FunctionName', value: 'FunctionName' },\n ],\n },\n {\n key: 'Order',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n ],\n },\n // {\n // key: 'Filters',\n // enDescriptor: 'Filters',\n // cnDescriptor: '按照标签键值对进行过滤',\n // link: '',\n // type: 'dropdownmulti',\n // },\n];\n\nconst SCF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FunctionName',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n OrderBy: {},\n Order: {},\n SearchKey: '',\n Namespace: '',\n Description: '',\n // Filters: {},\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst SCFInstanceAliasList = ['FunctionId', 'FunctionName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst SCFInvalidDemensions = {\n functionName: 'FunctionName',\n namespace: 'Namespace',\n version: 'Version',\n};\n\nconst templateQueryIdMap = {\n instance: 'FunctionName',\n version: 'Version',\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n version: 'version',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n Version: {\n dim_KeyInStorage: keyInStorage.version,\n dim_KeyInTarget: 'version',\n dim_KeyInMap: templateQueryIdMap.version,\n },\n};\nexport default SCF_STATE;\nexport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n queryMonitorExtraConfg,\n regionSupported,\n templateQueryIdMap,\n keyInStorage,\n GetInstanceQueryParams as SCFGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\nexport const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CLS';\nconst queryEditorName = 'clsQuery';\n\nconst CLSInvalidDemensions = {\n // instanceid: 'TopicId',\n};\n\n// 需和文件名对应\nconst CLSInstanceAliasList = ['TopicId', 'TopicName'];\n\nconst templateQueryIdMap = {\n instance: 'TopicId',\n};\n\n// 需要缓存到storage的内容的key列表\n// const keyInStorage = {\n// fleet: 'fleet', // 实例队列\n// queue: 'queueName', // 会话队列\n// };\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\n// const queryMonitorExtraConfg = {\n// FleetId: {\n// dim_KeyInStorage: keyInStorage.fleet,\n// dim_KeyInTarget: 'FleetId',\n// dim_KeyInMap: templateQueryIdMap.FleetId,\n// },\n// Name: {\n// dim_KeyInStorage: keyInStorage.queue,\n// dim_KeyInTarget: 'Name',\n// dim_KeyInMap: templateQueryIdMap.Name,\n// },\n// };\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CLSFilterFields = {\n Limit: 20,\n Offset: 0,\n topicName: [],\n topicId: [],\n logsetName: [],\n logsetId: [],\n tagKey: [],\n 'tag:tagKey': [],\n storageType: {},\n};\n\nconst CLSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'topicName',\n enDescriptor: 'topicName',\n cnDescriptor: '日志主题名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'topicId',\n enDescriptor: 'topicId',\n cnDescriptor: '日志主题ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetName',\n enDescriptor: 'logsetName',\n cnDescriptor: '日志集名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'logsetId',\n enDescriptor: 'logsetId',\n cnDescriptor: '日志集ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'tag:tagKey',\n enDescriptor: 'tag - tagKey',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'storageType',\n enDescriptor: 'storageType',\n cnDescriptor: '日志主题的存储类型',\n link: '',\n type: 'select',\n list: [\n { text: '实时存储', value: 'hot' },\n { text: '离线存储', value: 'cold' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/614/56454',\n namespace,\n fieldDescriptor: CLSFilterFieldsDescriptor,\n};\n\nconst CLS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicId',\n uin: '',\n queries: CLSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-bangkok' },\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-jakarta' },\n { value: 'ap-mumbai' },\n { value: 'ap-seoul' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'eu-moscow' },\n { value: 'na-ashburn' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = item.Dimensions.map((v) => CLSInvalidDemensions[v] || v);\n item.Dimensions = ['uin', 'TopicId'];\n });\n return metricTmp;\n}\nexport default CLS_STATE;\nexport {\n CLSFilterFieldsDescriptor,\n templateQueryIdMap,\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // queryMonitorExtraConfg,\n // fleetId,\n // keyInStorage,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CLSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/SQLSERVER';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'sqlserverQuery';\n\nconst SQLSERVERInvalidDemensions = {\n resourceId: 'InstanceId',\n};\n\nconst SQLSERVERInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst SQLSERVERNETFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: null,\n Status: {},\n InstanceIdSet: [],\n PayMode: {},\n VpcId: '',\n SubnetId: '',\n VipSet: [],\n InstanceNameSet: [],\n VersionSet: [],\n Zone: '',\n};\n\nconst SQLSERVERNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: [\n { text: '申请中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '受限运行中 (主备切换中)', value: 3 },\n { text: '已隔离', value: 4 },\n { text: '回收中', value: 5 },\n { text: '已回收', value: 6 },\n { text: '任务执行中', value: 7 },\n { text: '已下线', value: 8 },\n { text: '实例扩容中', value: 9 },\n { text: '实例迁移中', value: 10 },\n { text: '只读', value: 11 },\n { text: '重启中', value: 12 },\n ],\n },\n {\n key: 'InstanceIdSet',\n enDescriptor: 'InstanceIdSet',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '包年包月', value: 1 },\n { text: '按量计费', value: 0 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属VPC的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '实例所属子网的唯一字符串ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VipSet',\n enDescriptor: 'VipSet',\n cnDescriptor: '实例内网地址列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNameSet',\n enDescriptor: 'InstanceNameSet',\n cnDescriptor: '实例名称列表, 模糊查询',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VersionSet',\n enDescriptor: 'VersionSet',\n cnDescriptor: '实例版本代号列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Zone',\n enDescriptor: 'Zone',\n cnDescriptor: '实例可用区',\n link: '',\n type: 'dropdown',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/238/19969',\n namespace,\n fieldDescriptor: SQLSERVERNETFilterFieldsDescriptor,\n};\n\n// regions for dropdown\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-moscow' },\n { value: 'na-siliconvalley' },\n];\nconst SQLSERVER_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: SQLSERVERNETFilterFields,\n};\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default SQLSERVER_STATE;\nexport {\n SQLSERVERNETFilterFieldsDescriptor,\n templateQueryIdMap,\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regionSupported,\n modifyDimensons,\n // 对应产品的service的全大写拼接InstanceQueryParams\n GetInstanceQueryParams as SQLSERVERGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_INTRA_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmIntraLbQuery';\n\nconst BMINTRALBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n vpcId: 'VpcId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMINTRALBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMINTRALBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst BMINTRALBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: BMINTRALBFilterFieldsDescriptor,\n};\n\nconst BMINTRALB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: BMINTRALBFilterFields,\n};\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default BMINTRALB_STATE;\nexport {\n BMINTRALBFilterFieldsDescriptor,\n templateQueryIdMap,\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMINTRALBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_LB';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmLbQuery';\n\nconst CPMInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerVips', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1027/33280',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nconst BMLBValidMetricsT = ['Inpkg', 'Outpkg', 'Intraffic', 'Outtraffic', 'Connum', 'Req'];\nfunction isValidMetric(metric) {\n const validMetrics = _.map(BMLBValidMetricsT, _.toUpper);\n return _.indexOf(validMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n BMLBInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMLBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/BM_PCX';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'bmPcxQuery';\n\nconst BMPCXInvalidDemensions = {\n peeringConnectionId: 'VpcPeerConnectionId',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst BMPCXInstanceAliasList = ['VpcPeerConnectionId', 'VpcPeerConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpcPeerConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst BMPCXFilterFields = {\n Limit: 20,\n Offset: 0,\n VpcPeerConnectionIds: [],\n};\n\nconst BMPCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'VpcPeerConnectionIds',\n enDescriptor: 'VpcPeerConnectionIds',\n cnDescriptor: '对等连接实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/product/1024/36903',\n namespace,\n fieldDescriptor: BMPCXFilterFieldsDescriptor,\n};\n\nconst BMPCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpcPeerConnectionId',\n queries: BMPCXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['peeringConnectionId'];\n });\n return metricTmp;\n}\nexport default BMPCX_STATE;\nexport {\n BMPCXFilterFieldsDescriptor,\n templateQueryIdMap,\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as BMPCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/BLOCK_STORAGE';\nconst queryEditorName = 'cbsQuery';\n\nconst CBSInvalidDemensions = {\n diskId: 'DiskId',\n InstanceId: 'InstanceId',\n diskname: 'DiskName',\n unInstanceId: 'InstanceId',\n};\n\nconst CBSInstanceAliasList = ['DiskId', 'DiskName'];\n\nconst templateQueryIdMap = {\n instance: 'DiskId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CBSFilterFields = {\n Limit: 20,\n Offset: 0,\n DiskIds: [],\n OrderField: [],\n Order: [],\n ReturnBindAutoSnapshotPolicy: false,\n};\n\nconst CBSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DiskIds',\n enDescriptor: 'DiskIds',\n cnDescriptor: '云硬盘ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Order',\n enDescriptor: 'Order',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'select',\n list: [\n { text: '升序排列', value: 'ASC' },\n { text: '降序排列', value: 'DESC' },\n ],\n },\n {\n key: 'OrderField',\n enDescriptor: 'OrderField',\n cnDescriptor: '排序的依据字段',\n link: '',\n type: 'select',\n list: [\n { text: '云盘的创建时间排序', value: 'CREATE_TIME' },\n { text: '云盘的到期时间排序', value: 'DEADLINE' },\n ],\n },\n {\n key: 'ReturnBindAutoSnapshotPolicy',\n enDescriptor: 'ReturnBindAutoSnapshotPolicy',\n cnDescriptor: '否需要返回云盘绑定的定期快照策略ID',\n link: '',\n type: 'switch',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/362/16315',\n namespace,\n fieldDescriptor: CBSFilterFieldsDescriptor,\n};\n\nconst CBS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DiskId',\n queries: CBSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n return dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1;\n}\nexport default CBS_STATE;\nexport {\n CBSFilterFieldsDescriptor,\n templateQueryIdMap,\n CBSInstanceAliasList,\n CBSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n isValidMetric,\n GetInstanceQueryParams as CBSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CDN_LOG_DATA';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cdnProvinceQuery';\n\nconst CDNPROVINCEInvalidDemensions = {\n domain: 'Domain',\n // isp: 'Isp',\n projectid: 'ProjectId',\n province: 'district',\n appid: 'AppId',\n};\n\n// 需和文件名对应\nconst CDNPROVINCEInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CDNPROVINCEFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNPROVINCEFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst CDNPROVINCE_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n // Isp Province分别在两个接口,单独保存在state\n isp: '',\n district: '',\n queries: CDNPROVINCEFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default CDNPROVINCE_STATE;\nexport {\n CDNPROVINCEFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNPROVINCEInstanceAliasList,\n CDNPROVINCEInvalidDemensions,\n namespace,\n queryEditorName,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CDNPROVINCEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CEIP_SUMMARY';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'ceipSummaryQuery';\n\nconst CEIPInvalidDemensions = {\n vip: 'AddressIp',\n eip: 'AddressIp',\n};\n\n// 要和文件名方式一致,ceip_summary=>CEIPSUMMARY\nconst CEIPSUMMARYInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst CEIPFilterFields = {\n Limit: 20,\n Offset: 0,\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status': {},\n 'is-arrears': {},\n 'address-isp': {},\n 'instance-id': [],\n 'private-ip-address': [],\n 'network-interface-id': [],\n};\n\nconst CEIPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'address-id',\n enDescriptor: 'address-id',\n cnDescriptor: ' EIP 的唯一 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'address-name',\n cnDescriptor: 'EIP 名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'address-ip',\n cnDescriptor: 'EIP 的 IP 地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'address-status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'CREATING', value: 'CREATING' },\n { text: 'BINDING', value: 'BINDING' },\n { text: 'BIND', value: 'BIND' },\n { text: 'UNBINDING', value: 'UNBINDING' },\n { text: 'UNBIND', value: 'UNBIND' },\n { text: 'OFFLINING', value: 'OFFLINING' },\n { text: 'BIND_ENI', value: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: 'EIP 绑定的实例 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'private-ip-address',\n cnDescriptor: 'EIP 绑定的内网 IP ',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'network-interface-id',\n cnDescriptor: ' EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'is-arrears',\n cnDescriptor: 'EIP 是否欠费',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '欠费状态', value: 'TRUE' },\n { text: '费用状态正常', value: 'FALSE' },\n ],\n },\n {\n key: 'address-isp',\n enDescriptor: 'address-isp',\n cnDescriptor: '运营商类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'BGP', value: 'BGP' },\n { text: 'CMCC', value: 'CMCC' },\n { text: 'CUCC', value: 'CUCC' },\n { text: 'CTCC', value: 'CTCC' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/16702',\n namespace,\n fieldDescriptor: CEIPFilterFieldsDescriptor,\n};\n\nconst CEIP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n queries: CEIPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['eip'];\n });\n return metricTmp;\n}\nexport default CEIP_STATE;\nexport {\n CEIPFilterFieldsDescriptor,\n templateQueryIdMap,\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n queryEditorName,\n modifyDimensons,\n queryEditorConfig,\n GetInstanceQueryParams as CEIPSUMMARYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'TopicName',\n enDescriptor: 'TopicName',\n cnDescriptor: '精确匹配TopicName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n topicId: 'TopicId',\n};\n\n// 因为cmq那边,以TopciName为主键\nexport const templateQueryIdMap = {\n instance: 'TopicName',\n subscription: 'SubscriptionId',\n};\n\n// 需要缓存到storage的内容的key列表\nconst keyInStorage = {\n subscriptionId: 'subscriptionId',\n};\n/*\n如果有InstanceId额外的维度,原则上都需要传入此map结构配置\nkey的含义:\n 经过InvalidDemensions处理后的string。topicId =》TopicId。\n 否则认为指标中维度正确,和指标中维度字段保持一致,即topicId\nvalue的含义:\n 1 dim_KeyInStorage 指标中维度dimension对应的storage中的key,获取缓存列表,sourceMapList、\n 2 dim_KeyInTarget 通过getVariable方法获取变量中选中项。比如ListnerId为Lis-xxxx;即:STATE中的key。\n 默认取通过InvalidDemsion处理后的key\n 3 dim_KeyInMap 保存在模板变量value比如(监听器ID)源自sourceMapList(接口返回内容)的哪个key(ListenerId)。\n 即:templateQueryIdMap中内容。\n 联合上面2的内容筛选出原始sourceMap\n*/\nconst queryMonitorExtraConfg = {\n subscriptionId: {\n dim_KeyInStorage: keyInStorage.subscriptionId,\n dim_KeyInTarget: 'subscriptionId',\n dim_KeyInMap: templateQueryIdMap.subscription,\n },\n};\n// 与名称挂钩的变量\nconst InstanceAliasList = ['TopicName', 'TopicId'];\nexport { InstanceAliasList, GetInstanceQueryParams, queryMonitorExtraConfg, keyInStorage };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TopicName',\n subscriptionId: '',\n queries: {\n Offset: 0,\n Limit: 20,\n TopicName: '',\n TagKey: '',\n },\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/CPM';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cpmQuery';\n\nconst CPMInvalidDemensions = {\n instanceId: 'InstanceId',\n // uniqid: 'InstanceId',\n};\n\nconst CPMInstanceAliasList = ['InstanceId', 'Name'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst CPMFilterFields = {\n Limit: 20,\n Offset: 0,\n DeviceClassCode: '',\n InstanceIds: [],\n WanIps: [],\n LanIps: [],\n Alias: '',\n VagueIp: '',\n AutoRenewFlag: {},\n VpcId: '',\n SubnetId: '',\n DeviceType: {},\n IsLuckyDevice: {},\n};\n\nconst CPMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DeviceClassCode',\n enDescriptor: 'DeviceClassCode',\n cnDescriptor: '机型ID',\n link: '',\n type: 'dropdown',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '设备ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'WanIps',\n enDescriptor: 'WanIps',\n cnDescriptor: '外网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LanIps',\n enDescriptor: 'LanIps',\n cnDescriptor: '内网IP数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'Alias',\n enDescriptor: 'Alias',\n cnDescriptor: '设备名称',\n link: '',\n type: 'input',\n },\n {\n key: 'VagueIp',\n enDescriptor: 'VagueIp',\n cnDescriptor: '模糊IP查询',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenewFlag',\n enDescriptor: 'AutoRenewFlag',\n cnDescriptor: '自动续费标志',\n link: '',\n type: 'select',\n list: [\n { text: '不自动续费', value: 0 },\n { text: '自动续费', value: 1 },\n ],\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网唯一ID',\n link: '',\n type: 'input',\n },\n {\n key: 'DeviceType',\n enDescriptor: 'DeviceType',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'select',\n list: [\n { text: '计算型', value: 'compute' },\n { text: '标准型', value: 'standard' },\n { text: '存储型', value: 'storage' },\n ],\n },\n {\n key: 'IsLuckyDevice',\n enDescriptor: 'IsLuckyDevice',\n cnDescriptor: '竞价实例机器过滤',\n link: '',\n type: 'select',\n list: [\n { text: '非竞价实例机器', value: 0 },\n { text: '竞价实例的机器', value: 1 },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/386/32904',\n namespace,\n fieldDescriptor: CPMFilterFieldsDescriptor,\n};\n\nconst CPM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CPMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['instanceId'];\n });\n return metricTmp;\n}\nexport default CPM_STATE;\nexport {\n CPMFilterFieldsDescriptor,\n templateQueryIdMap,\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CPMGetInstanceQueryParams,\n};\n","import { cloneDeep, compact, forEach, get, isArray, isEmpty, isObject, omit, uniq } from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\n\nconst namespace = 'QCE/DSA';\nconst queryEditorName = 'ecdnQuery';\n\nconst ECDNInstanceAliasList = ['Domain'];\n\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\n\nconst ECDNInvalidDemensions = {\n domain: 'Domain',\n projectid: 'ProjectId',\n};\n\nconst ECDN_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 100,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n disable: [],\n projectId: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n area: [],\n tagKey: [],\n },\n};\n\nconst ECDNFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'Origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'Domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'ResourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'Status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'disable',\n enDescriptor: 'Disable',\n cnDescriptor: '域名封禁状态',\n link: '',\n type: 'select',\n list: [\n { text: 'normal', value: 'normal' },\n { text: 'unlicensed', value: 'unlicensed' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'FullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'Https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'OriginPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'https', value: 'https' },\n { text: 'follow', value: 'follow' },\n ],\n },\n {\n key: 'area',\n enDescriptor: 'Area',\n cnDescriptor: '加速区域',\n link: '',\n type: 'select',\n list: [\n { text: 'mainland', value: 'mainland' },\n { text: 'overseas', value: 'overseas' },\n { text: 'global', value: 'global' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/570/42462',\n namespace,\n fieldDescriptor: ECDNFilterFieldsDescriptor,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!isEmpty(queries)) {\n params.Limit = get(queries, 'Limit', 20) || 20;\n params.Offset = get(queries, 'Offset', 0) || 0;\n const _queries = omit(queries, ['Offset', 'Limit']);\n const Filters: any[] = [];\n forEach(_queries, (item: any, key) => {\n if (isArray(item)) {\n item = compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: uniq(item).slice(0, 5) });\n }\n } else if (isObject(item)) {\n if (!isEmpty(get(item, 'value', []))) {\n Filters.push({ Name: key, Value: [get(item, 'value', [])].slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters.map((item) => {\n if (item.Name === 'domain') {\n return { ...item, Fuzzy: true };\n }\n return item;\n });\n return params;\n }\n }\n return params;\n}\n\nfunction modifyDimensons(metricItem) {\n const metricTmp = cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['domain', 'projectid'];\n });\n return metricTmp;\n}\n\nexport default ECDN_STATE;\n\nexport {\n ECDNFilterFieldsDescriptor,\n templateQueryIdMap,\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECDNGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM';\nconst queryEditorName = 'ecmQuery';\n\nconst ECMInvalidDemensions = {\n // diskId: 'InstanceId',\n uuid: 'UUID',\n // unInstanceId: 'InstanceId',\n};\n\nconst ECMInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMFilterFields = {\n Limit: 20,\n Offset: 0,\n zone: [],\n 'zone-name': [],\n 'module-id': [],\n 'module-name': [],\n 'instance-id': [],\n 'instance-name': [],\n 'ip-address': [],\n 'instance-uuid': [],\n 'instance-state': {},\n 'internet-service-provider': [],\n 'instance-family': [],\n 'image-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n};\n\nconst ECMFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: '可用区英文标识',\n link: '',\n type: 'dropdownMulti',\n },\n {\n key: 'zone-name',\n enDescriptor: 'zone-name',\n cnDescriptor: '排列顺序',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-id',\n enDescriptor: 'module-id',\n cnDescriptor: '模块ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'module-name',\n enDescriptor: 'module-name',\n cnDescriptor: '模块名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'instance-id',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'instance-name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ip-address',\n enDescriptor: 'ip-address',\n cnDescriptor: '内网/公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-uuid',\n enDescriptor: 'instance-uuid',\n cnDescriptor: '实例uuid',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'instance-state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n ],\n },\n {\n key: 'internet-service-provider',\n enDescriptor: 'internet-service-provider',\n cnDescriptor: '公网IP所属的运营商',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'instance-family',\n enDescriptor: 'instance-family',\n cnDescriptor: '机型family',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'image-id',\n enDescriptor: 'image-id',\n cnDescriptor: '镜像ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '实例的vpc id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '实例的subnet id',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/42565',\n namespace,\n fieldDescriptor: ECMFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: ECMFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\nconst namespace = 'QCE/POSTGRES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'postgresQuery';\n\nconst PostgresFields = {\n 'db-instance-id': [],\n 'db-instance-name': [],\n};\n\nconst PostgresFieldsDescriptor: FildDescriptorType = [\n {\n key: 'db-instance-id',\n enDescriptor: 'DB Instance ID',\n cnDescriptor: 'DB 实例ID',\n link: '',\n type: 'inputMulti',\n min: 0,\n },\n {\n key: 'db-instance-name',\n enDescriptor: 'DB Instance Name',\n cnDescriptor: 'DB 实例名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/409/16773',\n namespace,\n fieldDescriptor: PostgresFieldsDescriptor,\n};\nconst POSTGRESInstanceAliasList = ['DBInstanceId', 'DBInstanceName'];\n\nconst POSTGRES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DBInstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...PostgresFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['resourceId'];\n });\n return metricTmp;\n}\nconst PostgreInvalidDemensions = {\n uid: 'DBInstanceId',\n resourceId: 'DBInstanceId',\n};\nconst templateQueryIdMap = {\n instance: 'DBInstanceId',\n};\nexport default POSTGRES_STATE;\n\nexport {\n PostgresFieldsDescriptor,\n POSTGRESInstanceAliasList,\n templateQueryIdMap,\n modifyDimensons,\n namespace,\n queryEditorName,\n queryEditorConfig,\n PostgreInvalidDemensions,\n GetInstanceQueryParams as POSTGRESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPC_NET_DETECT';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vpcNetDetectQuery';\n\nconst VPCNETInvalidDemensions = {\n netdetectid: 'NetDetectId',\n netDetectId: 'NetDetectId',\n};\n\nconst VPCNETDETECTInstanceAliasList = ['NetDetectId', 'NetDetectName'];\n\nconst templateQueryIdMap = {\n instance: 'NetDetectId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPCNETFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'net-detect-id': [],\n 'subnet-id': [],\n 'net-detect-name': [],\n};\n\nconst VPCNETFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-id',\n enDescriptor: 'net-detect-id',\n cnDescriptor: '网络探测实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'subnet-id',\n cnDescriptor: '子网实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'net-detect-name',\n enDescriptor: 'net-detect-name',\n cnDescriptor: '网络探测名称',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/38696',\n namespace,\n fieldDescriptor: VPCNETFilterFieldsDescriptor,\n};\n\nconst VPCNET_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NetDetectId',\n queries: VPCNETFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['netDetectId'];\n });\n return metricTmp;\n}\nexport default VPCNET_STATE;\nexport {\n VPCNETFilterFieldsDescriptor,\n templateQueryIdMap,\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as VPCNETDETECTGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/WAF';\nconst queryEditorName = 'wafQuery';\nconst WAFFilterFields = {\n Limit: 20,\n Offset: 0,\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst WAFFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumberMulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/228/41118',\n namespace,\n fieldDescriptor: WAFFilterFieldsDescriptor,\n};\nconst WAF_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: WAFFilterFields,\n};\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-nanjing' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-seoul' },\n { value: 'ap-singapore' },\n];\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst WAFInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst WAFInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default WAF_STATE;\nexport {\n WAFFilterFieldsDescriptor,\n templateQueryIdMap,\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n namespace,\n regionSupported,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as WAFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst InstanceTypes = [\n { text: '主实例', value: 1 },\n { text: '备灾实例', value: 2 },\n { text: '只读实例', value: 3 },\n];\n\nconst Status = [\n { text: '创建中', value: 0 },\n { text: '运行中', value: 1 },\n { text: '隔离中', value: 4 },\n { text: '已隔离', value: 5 },\n];\n\nconst PayTypes = [\n { text: '包年包月', value: 0 },\n { text: '小时计费', value: 1 },\n];\n\nconst TaskStatus = [\n { text: '没有任务', value: 0 },\n { text: '升级中', value: 1 },\n { text: '数据导入中', value: 2 },\n { text: '开放Slave中', value: 3 },\n { text: '外网访问开通中', value: 4 },\n { text: '批量操作执行中', value: 5 },\n { text: '回档中', value: 6 },\n { text: '外网访问关闭中', value: 7 },\n { text: '密码修改中', value: 8 },\n { text: '实例名修改中', value: 9 },\n { text: '重启中', value: 10 },\n { text: '自建迁移中', value: 12 },\n { text: '删除库表中', value: 13 },\n { text: '灾备实例创建同步中', value: 14 },\n { text: '升级待切换', value: 15 },\n { text: '升级切换中', value: 16 },\n { text: '升级切换完成', value: 17 },\n];\n\nconst EngineVersions = [\n { text: '5.1', value: '5.1' },\n { text: '5.5', value: '5.5' },\n { text: '5.6', value: '5.6' },\n { text: '5.7', value: '5.7' },\n];\n\nconst OrderBy = [\n { text: 'InstanceId', value: 'InstanceId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n { text: 'DeadlineTime', value: 'DeadlineTime' },\n];\n\nconst OrderDirection = [\n { text: 'ASC', value: 'ASC' },\n { text: 'DESC', value: 'DESC' },\n];\n\nconst InitFlag = [\n { text: '未初始化', value: 0 },\n { text: '初始化', value: 1 },\n];\n\nconst CdbErrors = [\n { text: '未锁定', value: 0 },\n { text: '锁定', value: 1 },\n];\n\nconst CDBFields = {\n ProjectId: '',\n InstanceTypes: {},\n Vips: [],\n Status: {},\n Offset: 0,\n Limit: 20,\n SecurityGroupId: '',\n PayTypes: {},\n InstanceNames: [],\n TaskStatus: {},\n EngineVersions: {},\n VpcIds: [],\n ZoneIds: [],\n SubnetIds: [],\n CdbErrors: {},\n OrderBy: {},\n OrderDirection: {},\n InstanceIds: [],\n InitFlag: {},\n};\n\nconst CDBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ZoneIds',\n enDescriptor: 'Zone ID',\n cnDescriptor: '可用区的ID',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'InstanceTypes',\n enDescriptor: 'Instance Type',\n cnDescriptor: '实例类型',\n link: '',\n multiple: true,\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'EngineVersions',\n enDescriptor: 'Engine Version',\n cnDescriptor: '实例数据库引擎版本',\n link: '',\n multiple: true,\n type: 'select',\n list: EngineVersions,\n },\n {\n key: 'TaskStatus',\n enDescriptor: 'Task Status',\n cnDescriptor: '实例任务',\n link: '',\n multiple: true,\n type: 'select',\n list: TaskStatus,\n },\n {\n key: 'InitFlag',\n enDescriptor: 'Init Flag',\n cnDescriptor: '实例初始化状态',\n link: '',\n multiple: true,\n type: 'select',\n list: InitFlag,\n },\n {\n key: 'PayTypes',\n enDescriptor: 'Pay Type',\n cnDescriptor: '付费类型',\n link: '',\n multiple: true,\n type: 'select',\n list: PayTypes,\n },\n {\n key: 'CdbErrors',\n enDescriptor: 'CDB Errors',\n cnDescriptor: '实例锁定标记',\n link: '',\n multiple: true,\n type: 'select',\n list: CdbErrors,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderDirection',\n enDescriptor: 'Order Direction',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderDirection,\n },\n {\n key: 'Vips',\n enDescriptor: 'Vip',\n cnDescriptor: '实例内网IP地址',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'VpcIds',\n enDescriptor: 'Vpc ID',\n cnDescriptor: '私有网络ID',\n link: 'https://cloud.tencent.com/document/api/215/15778',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: 'https://cloud.tencent.com/document/api/215/15784',\n type: 'inputmulti',\n },\n {\n key: 'ProjectId',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/product/378/4400',\n type: 'input',\n },\n {\n key: 'SecurityGroupId',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: 'https://cloud.tencent.com/document/api/236/15854',\n type: 'input',\n },\n];\n\nconst CDB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...CDBFields },\n};\n\nconst CDBInstanceAliasList = ['InstanceId', 'InstanceName', 'Vip'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return (\n dimension.length === 2 &&\n ((_.indexOf(dimension, 'instanceid') !== -1 && _.indexOf(dimension, 'insttype') !== -1) ||\n (_.indexOf(dimension, 'InstanceId') !== -1 && _.indexOf(dimension, 'InstanceType') !== -1))\n );\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = item.Dimensions.map((i) => CDBInvalidDemensions[i] || i);\n });\n return metricTmp;\n}\nconst CDBInvalidDemensions = {\n instanceid: 'InstanceId',\n insttype: 'InstanceType',\n region: 'Region',\n};\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CDB_STATE;\n\nexport {\n CDBFieldsDescriptor,\n CDBInstanceAliasList,\n templateQueryIdMap,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n GetInstanceQueryParams as CDBGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/CES';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'cesQuery';\n\nconst CESInvalidDemensions = {\n uInstanceId: 'InstanceId',\n};\n\nconst CESInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst CESFilterFields = {\n Limit: 20,\n Offset: 0,\n InstanceIds: [],\n InstanceNames: [],\n OrderByKey: {},\n OrderByType: {},\n IpList: [],\n};\n\nconst CESFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstanceIds',\n cnDescriptor: '集群实例ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'InstanceNames',\n enDescriptor: 'InstanceNames',\n cnDescriptor: '集群实例名称列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'OrderByKey',\n enDescriptor: 'OrderByKey',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: [\n { text: '实例ID', value: 1 },\n { text: '实例名称', value: 2 },\n { text: '可用区', value: 3 },\n { text: '创建时间', value: 4 },\n ],\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n ],\n },\n {\n key: 'IpList',\n enDescriptor: 'IpList',\n cnDescriptor: '私有网络vip列表',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/845/30631',\n namespace,\n fieldDescriptor: CESFilterFieldsDescriptor,\n};\n\nconst CES_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: CESFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\nexport default CES_STATE;\nexport {\n CESFilterFieldsDescriptor,\n templateQueryIdMap,\n CESInstanceAliasList,\n CESInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as CESGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DC';\nconst queryEditorName = 'dcQuery';\n\nconst DCFilterFields = {\n Limit: 20,\n Offset: 0,\n DirectConnectIds: [],\n};\n\nconst DCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'DirectConnectIds',\n enDescriptor: 'DirectConnectIds',\n cnDescriptor: '物理专线 ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/34826',\n namespace,\n fieldDescriptor: DCFilterFieldsDescriptor,\n};\n\nconst DC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectId',\n queries: DCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst DCInstanceAliasList = ['DirectConnectId', 'DirectConnectName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectId',\n};\n\nconst DCInvalidDemensions = {\n directConnectId: 'DirectConnectId',\n directconnectid: 'DirectConnectId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectId'];\n });\n return metricTmp;\n}\nexport default DC_STATE;\nexport {\n DCFilterFieldsDescriptor,\n templateQueryIdMap,\n DCInstanceAliasList,\n DCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCG';\nconst queryEditorName = 'dcgQuery';\n\nconst DCGInvalidDemensions = {\n directConnectGatewayId: 'DirectConnectGatewayId',\n};\n\nconst DCGInstanceAliasList = ['DirectConnectGatewayId', 'DirectConnectGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst DCGFilterFields = {\n Limit: 20,\n Offset: 0,\n 'direct-connect-gateway-id': [],\n 'direct-connect-gateway-name': [],\n 'direct-connect-gateway-ip': [],\n 'gateway-type': {},\n 'network-type': {},\n 'ccn-id': [],\n 'vpc-id': [],\n};\n\nconst DCGFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-gateway-id',\n enDescriptor: 'direct-connect-gateway-id',\n cnDescriptor: '专线网关唯一ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-name',\n enDescriptor: 'direct-connect-gateway-name',\n cnDescriptor: '专线网关名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-gateway-ip',\n enDescriptor: 'direct-connect-gateway-ip',\n cnDescriptor: '专线网关IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'gateway-type',\n enDescriptor: 'gateway-type',\n cnDescriptor: '网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '普通型', value: 'NORMAL' },\n { text: 'NAT型', value: 'NAT' },\n ],\n },\n {\n key: 'network-type',\n enDescriptor: 'network-type',\n cnDescriptor: '网络类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '私有网络类型', value: 'VPC' },\n { text: '云联网类型', value: 'CCN' },\n ],\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: '专线网关所在云联网ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: '专线网关所在私有网络ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/30644',\n namespace,\n fieldDescriptor: DCGFilterFieldsDescriptor,\n};\n\nconst DCG_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectGatewayId',\n queries: DCGFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default DCG_STATE;\nexport {\n DCGFilterFieldsDescriptor,\n templateQueryIdMap,\n DCGInstanceAliasList,\n DCGInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as DCGGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/DCX';\nconst queryEditorName = 'dcxQuery';\n\nconst DCXFilterFields = {\n 'direct-connect-tunnel-name': [],\n 'direct-connect-tunnel-id': [],\n 'direct-connect-id': [],\n};\n\nconst DCXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'direct-connect-tunnel-name',\n enDescriptor: 'direct-connect-tunnel-name',\n cnDescriptor: '专用通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-tunnel-id',\n enDescriptor: 'direct-connect-tunnel-id',\n cnDescriptor: '专用通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'direct-connect-id',\n enDescriptor: 'direct-connect-id',\n cnDescriptor: '物理专线实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/216/19819',\n namespace,\n fieldDescriptor: DCXFilterFieldsDescriptor,\n};\n\nconst DCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'DirectConnectTunnelId',\n queries: {\n Limit: 20,\n Offset: 0,\n ...DCXFilterFields,\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\n\nconst DCXInstanceAliasList = ['DirectConnectTunnelId', 'DirectConnectTunnelName'];\n\nconst templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n};\n\nconst DCXInvalidDemensions = {\n directconnectconnid: 'DirectConnectTunnelId',\n directConnectConnId: 'DirectConnectTunnelId',\n};\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['directConnectConnId'];\n });\n return metricTmp;\n}\nexport default DCX_STATE;\nexport {\n DCXFilterFieldsDescriptor,\n templateQueryIdMap,\n DCXInstanceAliasList,\n DCXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as DCXGetInstanceQueryParams,\n};\n","import * as _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/ECM_LB';\nconst queryEditorName = 'ecmLbQuery';\n\nconst ECMLBInvalidDemensions = {\n vip: 'LoadBalancerVips',\n};\n\nconst ECMLBInstanceAliasList = ['LoadBalancerId', 'LoadBalancerName'];\n\nconst templateQueryIdMap = {\n instance: 'LoadBalancerId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst ECMLBFilterFields = {\n Limit: 20,\n Offset: 0,\n LoadBalancerIds: [],\n LoadBalancerName: [],\n LoadBalancerVips: [],\n BackendPrivateIps: [],\n VpcId: '',\n};\n\nconst ECMLBFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'LoadBalancerIds',\n enDescriptor: 'LoadBalancerIds',\n cnDescriptor: '负载均衡器ID数组',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerName',\n enDescriptor: 'LoadBalancerName',\n cnDescriptor: '负载均衡器名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'LoadBalancerVips',\n enDescriptor: 'LoadBalancerVips',\n cnDescriptor: '负载均衡获得的公网IP地址',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'BackendPrivateIps',\n enDescriptor: 'BackendPrivateIps',\n cnDescriptor: '绑定的后端服务的内网 IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '实例所属私有网络唯一ID',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/1108/48459',\n namespace,\n fieldDescriptor: ECMLBFilterFieldsDescriptor,\n};\n\nconst ECM_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'LoadBalancerId',\n queries: ECMLBFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// function isValidMetric(metricObj: any = {}) {\n// const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n// // console.log('dimension', dimension, dimension.length === 1 && _.indexOf(dimension, 'diskId') !== -1);\n// return dimension.length === 1 &&( _.indexOf(dimension, 'UUID') !== -1 || _.indexOf(dimension, 'uuid') !== -1);\n// }\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['UUID'];\n });\n return metricTmp;\n}\nexport default ECM_STATE;\nexport {\n ECMLBFilterFieldsDescriptor,\n templateQueryIdMap,\n ECMLBInstanceAliasList,\n ECMLBInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as ECMLBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst InstanceTypes = [\n { text: '所有实例', value: 0 },\n { text: '正式实例', value: 1 },\n { text: '临时实例', value: 2 },\n { text: '只读实例', value: 3 },\n { text: '正式,只读,灾备实例', value: -1 },\n];\n\nconst ClusterTypes = [\n { text: '副本集实例', value: 0 },\n { text: '分片实例', value: 1 },\n { text: '所有实例', value: -1 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '实例有效', value: 2 },\n { text: '实例已过期', value: -2 },\n];\n\nconst PayMode = [\n { text: '按量计费', value: 0 },\n { text: '包年包月', value: 1 },\n { text: '按量包年包月计费', value: -1 },\n];\n\nconst OrderBy = [\n { text: 'ProjectId', value: 'ProjectId' },\n { text: 'InstanceName', value: 'InstanceName' },\n { text: 'CreateTime', value: 'CreateTime' },\n];\n\nconst OrderByType = [\n { text: '升序', value: 'ASC' },\n { text: '降序', value: 'DESC' },\n];\n\nconst MongoDBFields = {\n InstanceIds: [],\n InstanceType: {},\n ClusterType: {},\n Status: [],\n VpcId: '',\n SubnetId: '',\n PayMode: {},\n Limit: 20,\n Offset: 0,\n OrderBy: '',\n OrderByType: '',\n};\n\nconst MONGODBFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceIds',\n enDescriptor: 'InstancesIds',\n cnDescriptor: '实例名称',\n type: 'inputmulti',\n },\n {\n key: 'InstanceType',\n enDescriptor: 'InstanceType',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: InstanceTypes,\n },\n {\n key: 'ClusterType',\n enDescriptor: 'ClusterType',\n cnDescriptor: '集群类型',\n link: '',\n type: 'select',\n list: ClusterTypes,\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n link: '',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '私有网络的子网ID,基础网络则不传该参数。入参设置该参数的同时,必须设置相应的VpcId',\n link: '',\n type: 'input',\n },\n {\n key: 'PayMode',\n enDescriptor: 'PayMode',\n cnDescriptor: '付费类型',\n link: '',\n type: 'select',\n list: PayMode,\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderByType',\n enDescriptor: 'OrderByType',\n cnDescriptor: '排序方式',\n link: '',\n type: 'select',\n list: OrderByType,\n },\n];\n\nconst MONGODB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...MongoDBFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst MONGODBInstanceAliasList = ['InstanceId', 'InstanceName'];\n\nconst MONGODBInvalidDemensions = {\n target: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n replica: 'ReplicaSetId',\n};\n\nconst queryMonitorExtraConfg = {\n Replica: {\n dim_KeyInStorage: 'ReplicaSets',\n dim_KeyInTarget: 'replica',\n dim_KeyInMap: 'ReplicaSetId',\n dim_KeyInIns: 'ReplicaSetId',\n },\n Node: {\n dim_KeyInStorage: 'ReplicaNodeSets',\n dim_KeyInTarget: 'node',\n dim_KeyInMap: 'NodeId',\n dim_KeyInIns: 'NodeId',\n },\n};\nexport default MONGODB_STATE;\nexport {\n MONGODBFieldsDescriptor,\n MONGODBInvalidDemensions,\n MONGODBInstanceAliasList,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n GetInstanceQueryParams as MONGODBGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/QAAP';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'qaapQuery';\n\nconst QAAPInvalidDemensions = {\n channelId: 'InstanceId',\n};\n\nconst QAAPInstanceAliasList = ['InstanceId'];\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst QAAPFilterFields = {\n Limit: 20,\n Offset: 0,\n ProjectId: [],\n AccessRegion: [],\n RealServerRegion: [],\n GroupId: [],\n};\n\nconst QAAPFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ProjectId',\n enDescriptor: 'ProjectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'AccessRegion',\n enDescriptor: 'AccessRegion',\n cnDescriptor: '接入地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'RealServerRegion',\n enDescriptor: 'RealServerRegion',\n cnDescriptor: '源站地域',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'GroupId',\n enDescriptor: 'GroupId',\n cnDescriptor: '通道组ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/608/36963',\n namespace,\n fieldDescriptor: QAAPFilterFieldsDescriptor,\n};\n\nconst QAAP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: QAAPFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n // metricTmp.Dimensions.forEach((item) => {\n // item.Dimensions = ['netDetectId'];\n // });\n return metricTmp;\n}\nexport default QAAP_STATE;\nexport {\n QAAPFilterFieldsDescriptor,\n templateQueryIdMap,\n QAAPInstanceAliasList,\n QAAPInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n modifyDimensons,\n GetInstanceQueryParams as QAAPGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport _ from 'lodash';\n\nconst namespace = 'QCE/TCAPLUS';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'tcaplusQuery';\n\nconst TCAPLUSInvalidDemensions = {\n // TableInstanceId: 'TableInstanceId',\n // ClusterId: 'ClusterId',\n};\n\n// 需和文件名对应\nconst TCAPLUSInstanceAliasList = ['TableInstanceId', 'TableName'];\n\nconst templateQueryIdMap = {\n instance: 'TableInstanceId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是类型\nconst TCAPLUSFilterFields = {\n Limit: 20,\n Offset: 0,\n ClusterId: '',\n TableGroupIds: [],\n\n TableName: '',\n TableInstanceId: '',\n TableIdlType: {},\n TableType: {},\n ListElementNum: null,\n ReservedVolume: null,\n ReservedReadQps: null,\n ReservedWriteQps: null,\n Memo: '',\n FileName: '',\n FileExtType: '',\n FileSize: null,\n FileContent: '',\n};\n\nconst TCAPLUSFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ClusterId',\n enDescriptor: 'ClusterId',\n cnDescriptor: '表格所属集群ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableGroupIds',\n enDescriptor: 'TableGroupIds',\n cnDescriptor: '表格组ID列表',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'TableName',\n enDescriptor: 'TableName',\n cnDescriptor: '表格名称',\n link: '',\n type: 'input',\n },\n {\n key: 'TableInstanceId',\n enDescriptor: 'TableInstanceId',\n cnDescriptor: '表实例ID',\n link: '',\n type: 'input',\n },\n {\n key: 'TableIdlType',\n enDescriptor: 'TableIdlType',\n cnDescriptor: '表格描述语言类型',\n link: '',\n type: 'select',\n list: [\n { text: 'PROTO', value: 'PROTO' },\n { text: 'TDR', value: 'TDR' },\n ],\n },\n {\n key: 'TableType',\n enDescriptor: 'TableType',\n cnDescriptor: '表格数据结构类型',\n link: '',\n type: 'select',\n list: [\n { text: 'GENERIC', value: 'GENERIC' },\n { text: 'LIST', value: 'LIST' },\n ],\n },\n {\n key: 'ListElementNum',\n enDescriptor: 'ListElementNum',\n cnDescriptor: 'LIST表元素个数',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedVolume',\n enDescriptor: 'ReservedVolume',\n cnDescriptor: '表格预留容量(GB)',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedReadQps',\n enDescriptor: 'ReservedReadQps',\n cnDescriptor: '表格预留读CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'ReservedWriteQps',\n enDescriptor: 'ReservedWriteQps',\n cnDescriptor: '表格预留写CU',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'Memo',\n enDescriptor: 'Memo',\n cnDescriptor: '表格备注信息',\n link: '',\n type: 'input',\n },\n {\n key: 'FileName',\n enDescriptor: 'FileName',\n cnDescriptor: 'Key回档文件名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileExtType',\n enDescriptor: 'FileExtType',\n cnDescriptor: 'Key回档文件扩展名,回档专用',\n link: '',\n type: 'input',\n },\n {\n key: 'FileSize',\n enDescriptor: 'FileSize',\n cnDescriptor: 'Key回档文件大小,回档专用',\n link: '',\n type: 'inputNumber',\n },\n {\n key: 'FileContent',\n enDescriptor: 'FileContent',\n cnDescriptor: 'Key回档文件内容,回档专用',\n link: '',\n type: 'input',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/596/39664',\n namespace,\n fieldDescriptor: TCAPLUSFilterFieldsDescriptor,\n};\n\nconst TCAPLUS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'TableInstanceId',\n queries: TCAPLUSFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n params.ClusterId = _.get(queries, 'ClusterId', '') || '';\n params.TableGroupIds = _.get(queries, 'TableGroupIds', []) || [];\n queries = _.omit(queries, ['Offset', 'Limit', 'TableGroupIds', 'ClusterId']);\n const SelectedTables: any[] = [];\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n SelectedTables[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n SelectedTables[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n SelectedTables[key] = item;\n }\n });\n params.SelectedTables = SelectedTables;\n return params;\n}\n// 和其他产品的展示保持一致\nconst regonsMap = {\n 'ap-beijing': '华北地区(北京)',\n 'ap-guangzhou': '华南地区(广州)',\n 'ap-hongkong': '港澳台地区(中国香港)',\n 'ap-seoul': '亚太东北(首尔)',\n 'ap-shanghai': '华东地区(上海)',\n 'ap-singapore': '亚太东南(新加坡)',\n 'ap-tokyo': '亚太东北(东京)',\n 'eu-frankfurt': '欧洲地区(法兰克福)',\n 'na-ashburn': '美国东部(弗吉尼亚)',\n 'na-siliconvalley': '美国西部(硅谷)',\n};\nexport default TCAPLUS_STATE;\nexport {\n TCAPLUSFilterFieldsDescriptor,\n templateQueryIdMap,\n TCAPLUSInstanceAliasList,\n TCAPLUSInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n regonsMap,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as TCAPLUSGetInstanceQueryParams,\n};\n","// 产品目录名字和service名字匹配即 lb_private(目录名) => lbPrivate(service)\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VBC';\n\n// 组件名称。这里名字要和index.ts中的SERVICES对应,后面会根据SERVICES中service字段拼接这个query组件名称\nconst queryEditorName = 'vbcQuery';\n\nconst VBCInvalidDemensions = {\n // CcnId: 'CcnId',\n};\n\n// 需和文件名对应\nconst VBCInstanceAliasList = ['CcnId', 'CcnName'];\n\nconst templateQueryIdMap = {\n instance: 'CcnId',\n};\n\n// select类型需要注意是{},multi后缀是[],dropdown是''\nconst VBCFilterFields = {\n Limit: 20,\n Offset: 0,\n 'ccn-id': [],\n 'ccn-name': [],\n 'ccn-description': [],\n state: {},\n};\n\nconst VBCFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'ccn-id',\n enDescriptor: 'ccn-id',\n cnDescriptor: 'CCN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-name',\n enDescriptor: 'ccn-name',\n cnDescriptor: 'CCN名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'ccn-description',\n enDescriptor: 'ccn-description',\n cnDescriptor: 'CCN描述',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '隔离中', value: 'ISOLATED' },\n { text: '运行中', value: 'AVAILABLE' },\n ],\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/19199',\n namespace,\n fieldDescriptor: VBCFilterFieldsDescriptor,\n};\n\nconst VBC_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'CcnId',\n DRegion: '',\n SRegion: '',\n queries: VBCFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n// const regionSupported = [\n// { text: '华北地区(北京)', value: 'ap-beijing' },\n// { text: '西南地区(成都)', value: 'ap-chengdu' },\n// { text: '西南地区(重庆)', value: 'ap-chongqing' },\n// { text: '华南地区(广州)', value: 'ap-guangzhou' },\n// { text: '港澳台地区(中国香港)', value: 'ap-hongkong' },\n// { text: '亚太南部(孟买)', value: 'ap-mumbai' },\n// { text: '华东地区(南京)', value: 'ap-nanjing' },\n// { text: '华东地区(上海)', value: 'ap-shanghai' },\n// { text: '华东地区(上海金融)', value: 'ap-shanghai-fsi' },\n// { text: '华南地区(深圳金融)', value: 'ap-shenzhen-fsi' },\n// { text: '亚太东南(新加坡)', value: 'ap-singapore' },\n// { text: '亚太东北(东京)', value: 'ap-tokyo' },\n// { text: '欧洲地区(法兰克福)', value: 'eu-frankfurt' },\n// { text: '美国东部(弗吉尼亚)', value: 'na-ashburn' },\n// { text: '美国西部(硅谷)', value: 'na-siliconvalley' },\n// { text: '北美地区(多伦多)', value: 'na-toronto' },\n// ];\nexport default VBC_STATE;\nexport {\n VBCFilterFieldsDescriptor,\n templateQueryIdMap,\n VBCInstanceAliasList,\n VBCInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n // regionSupported,\n // 对应产品的service的全大写拼接GetInstanceQueryParams\n GetInstanceQueryParams as VBCGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNGW';\nconst queryEditorName = 'vpngwQuery';\n\nconst VPNGWInvalidDemensions = {\n vpnGwId: 'VpnGatewayId',\n};\n\nconst VPNGWInstanceAliasList = ['VpnGatewayId', 'VpnGatewayName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnGatewayId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNGWFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'vpn-gateway-name': [],\n type: {},\n 'public-ip-address': [],\n 'renew-flag': {},\n zone: [],\n};\n\nconst VPNGWFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-name',\n enDescriptor: 'vpn-gateway-name',\n cnDescriptor: 'VPN实例名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'type',\n enDescriptor: 'type',\n cnDescriptor: 'VPN网关类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: 'IPSEC', value: 'IPSEC' },\n { text: 'SSL', value: 'SSL' },\n ],\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'public-ip-address',\n cnDescriptor: '公网IP',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'renew-flag',\n enDescriptor: 'renew-flag',\n cnDescriptor: '网关续费类型',\n link: '',\n type: 'select',\n multiple: true,\n list: [\n { text: '手动续费', value: 'NOTIFY_AND_MANUAL_RENEW' },\n { text: '自动续费', value: 'NOTIFY_AND_AUTO_RENEW' },\n ],\n },\n {\n key: 'zone',\n enDescriptor: 'zone',\n cnDescriptor: 'VPN所在可用区',\n link: '',\n type: 'dropdownMulti',\n },\n];\n\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17514',\n namespace,\n fieldDescriptor: VPNGWFilterFieldsDescriptor,\n};\n\nconst VPNGW_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnGatewayId',\n queries: VPNGWFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNGW_STATE;\nexport {\n VPNGWFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNGWInstanceAliasList,\n VPNGWInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNGWGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nimport { DetailQueryConfig, FildDescriptorType } from '../_base/types';\nimport { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst namespace = 'QCE/VPNX';\nconst queryEditorName = 'vpnxQuery';\n\nconst VPNXInvalidDemensions = {\n vpnConnId: 'VpnConnectionId',\n};\n\nconst VPNXInstanceAliasList = ['VpnConnectionId', 'VpnConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'VpnConnectionId',\n};\n\n// select类型需要注意是{},multi后缀是[]\nconst VPNXFilterFields = {\n Limit: 20,\n Offset: 0,\n 'vpc-id': [],\n 'vpn-gateway-id': [],\n 'customer-gateway-id': [],\n 'vpn-connection-name': [],\n 'vpn-connection-id': [],\n};\n\nconst VPNXFilterFieldsDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 100,\n },\n {\n key: 'vpc-id',\n enDescriptor: 'vpc-id',\n cnDescriptor: 'VPC实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-gateway-id',\n enDescriptor: 'vpn-gateway-id',\n cnDescriptor: 'VPN实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'customer-gateway-id ',\n enDescriptor: 'customer-gateway-id ',\n cnDescriptor: '对端网关实例ID',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-name',\n enDescriptor: 'vpn-connection-name',\n cnDescriptor: '通道名称',\n link: '',\n type: 'inputMulti',\n },\n {\n key: 'vpn-connection-id',\n enDescriptor: 'vpn-connection-id',\n cnDescriptor: '通道实例ID',\n link: '',\n type: 'inputMulti',\n },\n];\n\n// 各产品实例列表detail配置\nconst queryEditorConfig: DetailQueryConfig = {\n instanceDocUrl: 'https://cloud.tencent.com/document/api/215/17515',\n namespace,\n fieldDescriptor: VPNXFilterFieldsDescriptor,\n};\n\nconst VPNX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'VpnConnectionId',\n queries: VPNXFilterFields,\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, true);\n}\nexport default VPNX_STATE;\nexport {\n VPNXFilterFieldsDescriptor,\n templateQueryIdMap,\n VPNXInstanceAliasList,\n VPNXInvalidDemensions,\n namespace,\n queryEditorName,\n queryEditorConfig,\n GetInstanceQueryParams as VPNXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nconst LighthouseStateType = [\n { text: '创建中', value: 'PENDING' },\n { text: '创建失败', value: 'LAUNCH_FAILED' },\n { text: '运行中', value: 'RUNNING' },\n { text: '关机', value: 'STOPPED' },\n { text: '开机中', value: 'STARTING' },\n { text: '关机中', value: 'STOPPING' },\n { text: '重启中', value: 'REBOOTING' },\n { text: '停止待销毁', value: 'SHUTDOWN' },\n { text: '销毁中', value: 'TERMINATING' },\n];\n\nconst LighthouseFilterFields = {\n zone: [],\n 'instance-name': [],\n 'instance-state': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n};\n\nconst LighthouseFilterFieldsDescriptor = [\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'instance-state',\n enDescriptor: 'Instance State',\n cnDescriptor: '实例状态',\n link: '',\n type: 'select',\n list: LighthouseStateType,\n },\n];\n\nconst LIGHTHOUSE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...LighthouseFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LIGHTHOUSEInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst LighthouseInvalidDemensions = {\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\n\nfunction modifyDimensons(metricItem: any) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\n\nexport default LIGHTHOUSE_STATE;\n\nexport {\n LighthouseFilterFieldsDescriptor,\n LIGHTHOUSEInstanceAliasList,\n LighthouseInvalidDemensions,\n templateQueryIdMap,\n modifyDimensons,\n GetInstanceQueryParams as LIGHTHOUSEGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\nexport const CFSQueryDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'FileSystemId',\n enDescriptor: 'File System Id',\n cnDescriptor: '文件系统 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'VpcId',\n enDescriptor: 'VpcId',\n cnDescriptor: '私有网络(VPC) ID',\n link: '',\n type: 'input',\n },\n {\n key: 'SubnetId',\n enDescriptor: 'SubnetId',\n cnDescriptor: '子网 ID',\n link: '',\n type: 'input',\n },\n];\n\nconst CFS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'FileSystemId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n FileSystemId: '',\n VpcId: '',\n SubnetId: '',\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nconst CFSInstanceAliasList = ['FileSystemId', 'FsName'];\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nconst CFSInvalidDemensions = {\n // functionName: 'FunctionName',\n // namespace: 'Namespace'\n};\n\nconst regionSupported = [\n { value: 'ap-beijing' },\n { value: 'ap-chengdu' },\n { value: 'ap-chongqing' },\n { value: 'ap-guangzhou' },\n { value: 'ap-hongkong' },\n { value: 'ap-mumbai' },\n { value: 'ap-nanjing' },\n { value: 'ap-seoul' },\n { value: 'ap-shanghai' },\n { value: 'ap-shanghai-fsi' },\n { value: 'ap-shenzhen-fsi' },\n { value: 'ap-singapore' },\n { value: 'ap-tokyo' },\n { value: 'eu-frankfurt' },\n { value: 'na-siliconvalley' },\n { value: 'na-toronto' },\n];\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default CFS_STATE;\nexport {\n CFSInstanceAliasList,\n CFSInvalidDemensions,\n templateQueryIdMap,\n regionSupported,\n GetInstanceQueryParams as CFSGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const SCFDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\nimport { FildDescriptorType } from '../_base/types';\n\nexport const InstanceQueryDescriptor: FildDescriptorType = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputNumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为10,最小值为1,最大值为100',\n link: '',\n type: 'inputNumber',\n min: 1,\n max: 50,\n },\n {\n key: 'QueueName',\n enDescriptor: 'QueueName',\n cnDescriptor: '精确匹配QueueName',\n link: '',\n type: 'input',\n },\n {\n key: 'TagKey',\n enDescriptor: 'TagKey',\n cnDescriptor: '标签搜索',\n link: '',\n type: 'input',\n },\n];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 向实例里面塞dimensions对应的值,dimension中的key对应到实例中的key\nexport const InvalidDemensions = {\n queueId: 'QueueId',\n queueName: 'QueueName',\n};\n\nexport const templateQueryIdMap = {\n instance: 'QueueName',\n};\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['QueueName', 'QueueId'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'QueueName',\n queries: {\n Offset: 0,\n Limit: 20,\n QueueName: '',\n TagKey: '',\n },\n};\n","import _ from 'lodash';\nconst instanceChargeTypes = [\n { text: '预付费', value: 'PREPAID' },\n { text: '后付费', value: 'POSTPAID_BY_HOUR' },\n { text: 'CDH付费', value: 'CDHPAID' },\n];\n\nconst CVMFilterFields = {\n zone: [],\n 'project-id': [],\n 'host-id': [],\n 'vpc-id': [],\n 'subnet-id': [],\n 'instance-id': [],\n 'security-group-id': [],\n 'instance-name': [],\n 'instance-charge-type': {},\n 'private-ip-address': [],\n 'public-ip-address': [],\n 'tag-key': [],\n};\n\nconst CVMFilterFieldsDescriptor = [\n {\n key: 'zone',\n enDescriptor: 'Zone',\n cnDescriptor: '可用区',\n link: '',\n type: 'dropdownmulti',\n },\n {\n key: 'project-id',\n enDescriptor: 'Project ID',\n cnDescriptor: '项目ID',\n link: 'https://cloud.tencent.com/document/api/378/4400',\n type: 'inputNumbermulti',\n },\n {\n key: 'host-id',\n enDescriptor: 'CDH ID',\n cnDescriptor: 'CDH ID',\n link: 'https://cloud.tencent.com/document/product/416/19730',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: 'VPC ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'subnet-id',\n enDescriptor: 'Subnet ID',\n cnDescriptor: '子网ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'security-group-id',\n enDescriptor: 'Security Group ID',\n cnDescriptor: '安全组ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-name',\n enDescriptor: 'Instance Name',\n cnDescriptor: '实例名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-key',\n enDescriptor: '标签简',\n cnDescriptor: '标签简',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'instance-charge-type',\n enDescriptor: 'Instance Charge Type',\n cnDescriptor: '实例计费模式',\n link: '',\n type: 'select',\n list: instanceChargeTypes,\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: '实例主网卡的内网IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'public-ip-address',\n enDescriptor: 'Public IP Address',\n cnDescriptor: '实例主网卡的公网IP,包含实例创建时自动分配的IP和实例创建后手动绑定的弹性IP',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CVM_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n InstanceIds: [''],\n Filters: { ...CVMFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst CVMInstanceAliasList = ['InstanceId', 'InstanceName', 'PrivateIpAddresses', 'PublicIpAddresses'];\n\nconst CVMValidMetricsT = [\n 'CPUUsage',\n 'CpuLoadavg',\n 'Cpuloadavg5m',\n 'Cpuloadavg15m',\n 'BaseCpuUsage',\n 'GpuMemTotal',\n 'GpuMemUsage',\n 'GpuMemUsed',\n 'GpuPowDraw',\n 'GpuPowLimit',\n 'GpuPowUsage',\n 'GpuTemp',\n 'GpuUtil',\n 'LanOuttraffic',\n 'LanIntraffic',\n 'LanOutpkg',\n 'LanInpkg',\n 'WanOuttraffic',\n 'WanIntraffic',\n 'WanOutpkg',\n 'WanInpkg',\n 'AccOuttraffic',\n 'TcpCurrEstab',\n 'TimeOffset',\n 'MemUsed',\n 'MemUsage',\n 'CvmDiskUsage',\n 'BaseCpuUsage',\n 'VmDiskReadIops',\n];\n// const CVMInvalidDemensions = {\n// 'vm_uuid': 'InstanceId',\n// 'vmUuid': 'InstanceId',\n// };\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nfunction isValidMetric(metric) {\n const CVMValidMetrics = _.map(CVMValidMetricsT, _.toUpper);\n return _.indexOf(CVMValidMetrics, _.toUpper(metric.MetricName)) !== -1;\n}\nfunction modifyDimensons(metricItem) {\n const metricTmp = _.cloneDeep(metricItem);\n metricTmp.Dimensions.forEach((item) => {\n item.Dimensions = ['InstanceId'];\n });\n return metricTmp;\n}\nexport default CVM_STATE;\nexport {\n CVMFilterFieldsDescriptor,\n CVMInstanceAliasList,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n // CVMInvalidDemensions,\n GetInstanceQueryParams as CVMGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst namespace = 'QCE/PCX';\n\nconst PCXFields = {\n limit: 20,\n offset: 0,\n peeringConnectionId: '',\n peeringConnectionName: '',\n vpcId: '',\n state: undefined,\n};\n\nconst PCX_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'peeringConnectionId',\n queries: { ...PCXFields },\n};\n\nconst StateTypes = [\n { text: '申请中', value: 0 },\n { text: '连接成功', value: 1 },\n { text: '已过期', value: 2 },\n { text: '对端已拒绝', value: 3 },\n { text: '对端已删除', value: 4 },\n];\n\nconst PCXFieldsDescriptor = [\n {\n key: 'offset',\n enDescriptor: 'offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'limit',\n enDescriptor: 'limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为50',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 50,\n },\n {\n key: 'peeringConnectionId',\n enDescriptor: 'PeeringConnection Id',\n cnDescriptor: '私有网络对等连接 ID',\n link: '',\n type: 'input',\n },\n {\n key: 'peeringConnectionName',\n enDescriptor: 'PeeringConnection Name',\n cnDescriptor: '对等连接名称',\n link: '',\n type: 'input',\n },\n {\n key: 'vpcId',\n enDescriptor: 'vpcId',\n cnDescriptor: '发起方私有网络 ID 值',\n link: 'https://cloud.tencent.com/document/api/215/1372',\n type: 'dropdown',\n },\n {\n key: 'state',\n enDescriptor: 'state',\n cnDescriptor: '连接状态',\n link: '',\n type: 'select',\n list: StateTypes,\n },\n];\n\nconst PCXInstanceAliasList = ['peeringConnectionId', 'peeringConnectionName'];\n\nconst templateQueryIdMap = {\n instance: 'peeringConnectionId',\n};\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.limit = _.get(queries, 'limit', 20) || 20;\n params.offset = _.get(queries, 'offset', 0) || 0;\n queries = _.omit(queries, ['offset', 'limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nexport default PCX_STATE;\n\nexport {\n PCXInstanceAliasList,\n PCXFieldsDescriptor,\n templateQueryIdMap,\n namespace,\n GetInstanceQueryParams as PCXGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst BillingMode = [\n { text: '按量计费', value: 'postpaid' },\n { text: '包年包月', value: 'prepaid' },\n];\n\nconst AutoRenew = [\n { text: '手动续费', value: 0 },\n { text: '自动续费', value: 1 },\n { text: '明确不自动续费', value: 2 },\n];\n\nconst Status = [\n { text: '待初始化', value: 0 },\n { text: '流程执行中', value: 1 },\n { text: '运行中', value: 2 },\n { text: '已隔离', value: -2 },\n { text: '待删除', value: -3 },\n];\n\nconst TypeVersion = [\n { text: '单机版', value: 1 },\n { text: '主从版', value: 2 },\n { text: '集群版', value: 3 },\n];\n\nconst OrderBy = [\n { text: 'projectId', value: 'projectId' },\n { text: 'instancename', value: 'instancename' },\n { text: 'createtime', value: 'createtime' },\n { text: 'type', value: 'type' },\n { text: 'curDeadline', value: 'curDeadline' },\n];\n\nconst OrderType = [\n { text: '升序', value: 0 },\n { text: '降序', value: 1 },\n];\nconst Type = [\n { text: 'Redis老集群版', value: 1 },\n { text: 'Redis 2.8主从版', value: 2 },\n { text: 'CKV主从版', value: 3 },\n { text: 'CKV集群版', value: 4 },\n { text: 'Redis 2.8单机版', value: 5 },\n { text: 'Redis 4.0主从版', value: 6 },\n { text: 'Redis 4.0集群版', value: 7 },\n { text: 'Redis5.0主从版', value: 8 },\n { text: 'Redis5.0集群版', value: 9 },\n];\n\nconst RedisFields = {\n InstanceId: '',\n OrderBy: '',\n OrderType: null,\n VpcIds: [],\n SubnetIds: [],\n ProjectIds: [],\n SearchKey: '',\n InstanceName: '',\n UniqVpcIds: [],\n UniqSubnetIds: [],\n Status: [],\n TypeVersion: null,\n EngineName: '',\n AutoRenew: null,\n BillingMode: '',\n Type: null,\n};\n\nconst RedisFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'InstanceId',\n enDescriptor: 'InstancesId',\n cnDescriptor: '实例id',\n type: 'input',\n },\n {\n key: 'OrderBy',\n enDescriptor: 'OrderBy',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderBy,\n },\n {\n key: 'OrderType',\n enDescriptor: 'OrderType',\n cnDescriptor: '排序字段',\n link: '',\n type: 'select',\n list: OrderType,\n },\n {\n key: 'VpcIds',\n enDescriptor: 'VpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:47525',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SubnetIds',\n enDescriptor: 'SubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:56854',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ProjectIds',\n enDescriptor: 'ProjectIds',\n cnDescriptor: '项目ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'SearchKey',\n enDescriptor: 'SearchKey',\n cnDescriptor: '查找实例的ID',\n link: '',\n type: 'input',\n },\n {\n key: 'InstanceName',\n enDescriptor: 'InstanceName',\n cnDescriptor: '实例名称',\n link: '',\n type: 'input',\n },\n {\n key: 'UniqVpcIds',\n enDescriptor: 'UniqVpcIds',\n cnDescriptor: '私有网络ID数组,数组下标从0开始,如果不传则默认选择基础网络,如:vpc-sad23jfdfk',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'UniqSubnetIds',\n enDescriptor: 'UniqSubnetIds',\n cnDescriptor: '子网ID数组,数组下标从0开始,如:subnet-fdj24n34j2',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Status',\n enDescriptor: 'Status',\n cnDescriptor: '实例状态',\n multiple: true,\n type: 'select',\n list: Status,\n },\n {\n key: 'TypeVersion',\n enDescriptor: 'TypeVersion',\n cnDescriptor: '类型版本',\n link: '',\n type: 'select',\n list: TypeVersion,\n },\n {\n key: 'EngineName',\n enDescriptor: 'EngineName',\n cnDescriptor: '引擎信息:Redis-2.8,Redis-4.0,CKV',\n link: '',\n type: 'input',\n },\n {\n key: 'AutoRenew',\n enDescriptor: 'AutoRenew',\n cnDescriptor: '续费模式',\n multiple: true,\n type: 'select',\n list: AutoRenew,\n },\n {\n key: 'BillingMode',\n enDescriptor: 'BillingMode',\n cnDescriptor: '计费模式:postpaid-按量计费;prepaid-包年包月',\n link: '',\n type: 'select',\n list: BillingMode,\n },\n {\n key: 'Type',\n enDescriptor: 'Type',\n cnDescriptor: '实例类型',\n link: '',\n type: 'select',\n list: Type,\n },\n];\n\nconst REDIS_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'InstanceId',\n queries: { ...RedisFields },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n // select 单选\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\nfunction isValidMetric(metricObj: any = {}) {\n const dimension = _.get(metricObj, 'Dimensions[0].Dimensions');\n return dimension.length === 1 && _.indexOf(dimension, 'instanceid') !== -1;\n}\n\nconst REDISInstanceAliasList = ['InstanceId', 'InstanceName', 'WanIp'];\n\nconst RedisInvalidDemensions = {\n redis_uuid: 'InstanceId',\n instanceid: 'InstanceId',\n};\n\nconst templateQueryIdMap = {\n instance: 'InstanceId',\n};\nexport default REDIS_STATE;\nexport {\n RedisFieldsDescriptor,\n RedisInvalidDemensions,\n templateQueryIdMap,\n REDISInstanceAliasList,\n isValidMetric,\n GetInstanceQueryParams as REDISGetInstanceQueryParams,\n};\n","import { instanceQueryParamsBaseParse } from '../../common/utils';\n\nconst ApplicationType = [\n { text: '所有', value: '' },\n { text: '容器应用', value: 'C' },\n { text: '普通应用/虚拟机应用', value: 'V' },\n];\n\nconst MicroserviceType = [\n { text: '所有', value: '' },\n { text: '普通应用', value: 'N' },\n { text: 'Mesh应用', value: 'M' },\n { text: '微服务网关应用', value: 'G' },\n { text: '原生应用', value: 'NATIVE' },\n];\n\nconst ApplicationResourceType = [\n { text: '默认资源类型', value: 'DEF' },\n { text: '微服务网关资源', value: 'GW' },\n];\n\nconst TSFFieldsDescriptor = [\n {\n key: 'Offset',\n enDescriptor: 'Offset',\n cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n link: '',\n type: 'inputnumber',\n min: 0,\n },\n {\n key: 'Limit',\n enDescriptor: 'Limit',\n cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为100',\n link: '',\n type: 'inputnumber',\n min: 1,\n max: 100,\n },\n {\n key: 'SearchWord',\n enDescriptor: 'SearchWord',\n cnDescriptor: '搜索关键字',\n link: '',\n type: 'input',\n },\n {\n key: 'ApplicationIdList',\n enDescriptor: 'ApplicationIdList',\n cnDescriptor: '应用ID 组成的数组',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ApplicationType',\n enDescriptor: 'ApplicationType',\n cnDescriptor: '应用类型',\n link: '',\n type: 'select',\n list: ApplicationType,\n },\n {\n key: 'MicroserviceType',\n enDescriptor: 'MicroserviceType',\n cnDescriptor: '应用的微服务类型',\n link: '',\n type: 'select',\n list: MicroserviceType,\n },\n {\n key: 'ApplicationResourceTypeList',\n enDescriptor: 'ApplicationResourceTypeList',\n cnDescriptor: '应用资源类型数组',\n link: '',\n type: 'select',\n multiple: true,\n list: ApplicationResourceType,\n },\n];\n\nconst TSF_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ApplicationId',\n queries: {\n Limit: 20,\n Offset: 0,\n SearchWord: '',\n OrderBy: '',\n OrderType: null,\n ApplicationType: '',\n MicroserviceType: '',\n ApplicationResourceTypeList: [],\n ApplicationIdList: [],\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n return instanceQueryParamsBaseParse(queries, false);\n}\n\nconst TSFInstanceAliasList = ['ApplicationId', 'ApplicationName'];\n\nconst TSFInvalidDemensions = {\n applicationid: 'ApplicationId',\n};\n\nconst templateQueryIdMap = {\n instance: 'ApplicationId',\n};\n\nexport default TSF_STATE;\nexport {\n TSFInvalidDemensions,\n templateQueryIdMap,\n TSFInstanceAliasList,\n TSFFieldsDescriptor,\n GetInstanceQueryParams as TSFGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst networkTypes = [\n { text: 'BGP', value: 'BGP' },\n { text: 'SINGLEISP', value: 'SINGLEISP' },\n { text: 'ANYCAST', value: 'ANYCAST' },\n];\n\nconst chargeTypes = [\n { text: 'top5计费', value: 'TOP5_POSTPAID_BY_MONTH' },\n { text: '月95计费', value: 'PERCENT95_POSTPAID_BY_MONTH' },\n];\nconst BWPFilterFields = {\n 'bandwidth-package_id': [],\n 'bandwidth-package-name': [],\n 'network-type': [],\n 'charge-type': [],\n};\n\nconst BWPFilterFieldsDescriptor = [\n {\n key: 'bandwidth-package_id',\n enDescriptor: 'BandwidthPackage Id',\n cnDescriptor: '带宽包ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'bandwidth-package-name',\n enDescriptor: 'BandwidthPackage Name',\n cnDescriptor: '带宽包名称',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-type',\n enDescriptor: 'network type',\n cnDescriptor: '带宽包类型',\n link: '',\n type: 'select',\n list: networkTypes,\n },\n {\n key: 'charge-type',\n enDescriptor: 'charge type',\n cnDescriptor: '带宽包计费类型',\n link: '',\n type: 'select',\n list: chargeTypes,\n },\n];\n\nconst BWP_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BandwidthPackageId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n BandwidthPackageIds: [''],\n Filters: { ...BWPFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.BandwidthPackageIds)) {\n const BandwidthPackageIds = _.compact(queries.BandwidthPackageIds);\n if (_.uniq(BandwidthPackageIds).length > 0) {\n params.BandwidthPackageIds = _.uniq(BandwidthPackageIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst BWPInstanceAliasList = ['BandwidthPackageId', 'BandwidthPackageName'];\n\nconst templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n};\n\nconst BWPInvalidDemensions = {\n bandwidthPackageId: 'BandwidthPackageId',\n};\nexport default BWP_STATE;\nexport {\n BWPFilterFieldsDescriptor,\n templateQueryIdMap,\n BWPInstanceAliasList,\n BWPInvalidDemensions,\n GetInstanceQueryParams as BWPGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: {},\n serviceType: {},\n projectId: [],\n domainType: {},\n fullUrlCache: {},\n https: {},\n originPullProtocol: {},\n tagKey: [],\n};\n\nconst CDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst CDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n // console.log('item', item, queries);\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst CDNInstanceAliasList = ['Domain', 'ProjectId'];\n\nconst CDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default CDN_STATE;\nexport {\n CDNFilterFieldsDescriptor,\n templateQueryIdMap,\n CDNInstanceAliasList,\n CDNInvalidDemensions,\n GetInstanceQueryParams as CDNGetInstanceQueryParams,\n};\n","import _ from 'lodash';\n\n// export const LBQueryDescriptor = [{\n// key: 'Offset',\n// enDescriptor: 'Offset',\n// cnDescriptor: '偏移量, 例如Offset=20&Limit=20 返回第 20 到 40 项',\n// link: '',\n// type: 'inputnumber',\n// min: 0,\n// },\n// {\n// key: 'Limit',\n// enDescriptor: 'Limit',\n// cnDescriptor: '单次请求返回的数量,默认为20,最小值为1,最大值为2000',\n// link: '',\n// type: 'inputnumber',\n// min: 1,\n// max: 2000,\n// },\n// {\n// key: 'AddressId',\n// enDescriptor: 'Address Id',\n// cnDescriptor: '标识 EIP 的唯一 ID ',\n// link: '',\n// type: 'inputmulti',\n// }\n// ];\n\nexport const LBFilterDescriptor = [\n {\n key: 'address-id',\n enDescriptor: 'Address ID',\n cnDescriptor: 'EIP 的唯一 ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-name',\n enDescriptor: 'Address Name',\n cnDescriptor: 'EIP 名称 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-ip',\n enDescriptor: 'Address IP',\n cnDescriptor: 'EIP 的 IP 地址 ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'address-status',\n enDescriptor: 'Address Status',\n cnDescriptor: 'EIP 的状态',\n link: '',\n type: 'select',\n list: [\n { value: 'CREATING', text: 'CREATING' },\n { value: 'BINDING', text: 'BINDING' },\n { value: 'BIND', text: 'BIND' },\n { value: 'UNBINDING', text: 'UNBINDING' },\n { value: 'UNBIND', text: 'UNBIND' },\n { value: 'OFFLINING', text: 'OFFLINING' },\n { value: 'BIND_ENI', text: 'BIND_ENI' },\n ],\n },\n {\n key: 'instance-id',\n enDescriptor: 'Instance ID',\n cnDescriptor: '实例ID ',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'private-ip-address',\n enDescriptor: 'Private IP Address',\n cnDescriptor: 'EIP 绑定的内网 IP',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'network-interface-id',\n enDescriptor: 'Network Interface ID',\n cnDescriptor: 'EIP 绑定的弹性网卡 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'is-arrears',\n enDescriptor: 'Arrears',\n cnDescriptor: 'EIP 是否欠费 ',\n link: '',\n type: 'select',\n list: [\n { text: '正常', value: 'FALSE' },\n { text: '欠费', value: 'TRUE' },\n ],\n },\n];\n\n// const LBFilterFields = {\n// \"address-id\": [],\n// \"address-name\": [],\n// \"address-ip\": [],\n// \"address-status \": [],\n// \"instance-id \": [],\n// \"private-ip-address\": [],\n// \"network-interface-id \": [],\n// \"is-arrears \": [],\n// };\n\nconst InstanceKey = 'AddressIds';\nconst LB_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'AddressId',\n version: '',\n queries: {\n Offset: 0,\n Limit: 20,\n [InstanceKey]: [''],\n Filters: {\n 'address-id': [],\n 'address-name': [],\n 'address-ip': [],\n 'address-status ': [],\n 'instance-id ': [],\n 'private-ip-address': [],\n 'network-interface-id ': [],\n 'is-arrears ': [],\n },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries[InstanceKey])) {\n const InstanceIds = _.compact(queries[InstanceKey]);\n if (_.uniq(InstanceIds).length > 0) {\n params[InstanceKey] = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst LBInstanceAliasList = ['AddressId', 'AddressName', 'AddressIp'];\n\n// 维度eip对应于实例中的哪个字段?映射\nconst LBInvalidDemensions = {\n eip: 'AddressIp',\n};\n\nconst templateQueryIdMap = {\n instance: 'AddressId',\n};\n// 从monitor维度到LB实例对应字段的映射\n// export const metric2Instance = {\n// functionName: 'FunctionName',\n// namespace: 'Namespace'\n// };\n\nexport default LB_STATE;\nexport {\n LBInstanceAliasList,\n LBInvalidDemensions,\n templateQueryIdMap,\n GetInstanceQueryParams as LBGetInstanceQueryParams,\n};\n\n// monitor监控数据默认支持的维度\n// export const LBDefaultDimensionList = ['functionName', 'namespace', 'version'];\n","import _ from 'lodash';\n\nconst NATGATEWAYInstanceAliasList = ['NatGatewayId', 'NatGatewayName'];\n\nconst NATGatewayFilterFields = {\n 'nat-gateway-id': [],\n 'nat-gateway-name': [],\n 'vpc-id': [],\n};\n\nconst NATGatewayFilterFieldsDescriptor = [\n {\n key: 'nat-gateway-id',\n enDescriptor: 'NatGateway ID',\n cnDescriptor: 'NAT网关统一 ID',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'nat-gateway-name',\n enDescriptor: 'NatGateway Name',\n cnDescriptor: 'NatGateway Name',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC ID',\n cnDescriptor: '私有网络 ID',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst NATGATEWAY_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'NatGatewayId',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: false,\n NatGatewayIds: [''],\n Filters: { ...NATGatewayFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.NatGatewayIds)) {\n const NatGatewayIds = _.compact(queries.NatGatewayIds);\n if (_.uniq(NatGatewayIds).length > 0) {\n params.InstanceIds = _.uniq(NatGatewayIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nconst templateQueryIdMap = {\n instance: 'NatGatewayId',\n};\n\nconst NATInvalidDemensions = {\n natId: 'NatGatewayId',\n};\n\nexport default NATGATEWAY_STATE;\nexport {\n NATGatewayFilterFieldsDescriptor,\n NATGATEWAYInstanceAliasList,\n templateQueryIdMap,\n NATInvalidDemensions,\n GetInstanceQueryParams as NATGATEWAYGetInstanceQueryParams,\n};\n","import _ from 'lodash';\nconst CDNFilterFields = {\n origin: [],\n domain: [],\n resourceId: [],\n status: [],\n serviceType: [],\n projectId: [],\n domainType: [],\n fullUrlCache: [],\n https: [],\n originPullProtocol: [],\n tagKey: [],\n};\n\nconst OVCDNFilterFieldsDescriptor = [\n {\n key: 'origin',\n enDescriptor: 'origin',\n cnDescriptor: '主源站',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'domain',\n enDescriptor: 'domain',\n cnDescriptor: '域名',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'resourceId',\n enDescriptor: 'resourceId',\n cnDescriptor: '域名id',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'status',\n enDescriptor: 'status',\n cnDescriptor: '域名状态',\n link: '',\n type: 'select',\n list: [\n { text: 'online', value: 'online' },\n { text: 'offline', value: 'offline' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'serviceType',\n enDescriptor: 'serviceType',\n cnDescriptor: '业务类型',\n link: '',\n type: 'select',\n list: [\n { text: 'web', value: 'web' },\n { text: 'download', value: 'download' },\n { text: 'media', value: 'media' },\n ],\n },\n {\n key: 'projectId',\n enDescriptor: 'projectId',\n cnDescriptor: '项目ID',\n link: '',\n type: 'inputNumbermulti',\n },\n {\n key: 'domainType',\n enDescriptor: 'domainType',\n cnDescriptor: '主源站类型',\n link: '',\n type: 'select',\n list: [\n { text: '自有源', value: 'cname' },\n { text: 'cos接入', value: 'cos' },\n ],\n },\n {\n key: 'fullUrlCache',\n enDescriptor: 'fullUrlCache',\n cnDescriptor: '全路径缓存',\n link: '',\n type: 'select',\n list: [\n { text: '打开', value: 'on' },\n { text: '关闭', value: 'off' },\n ],\n },\n {\n key: 'https',\n enDescriptor: 'https',\n cnDescriptor: '是否配置https',\n link: '',\n type: 'select',\n list: [\n { text: 'on', value: 'on' },\n { text: 'off', value: 'off' },\n { text: 'processing', value: 'processing' },\n ],\n },\n {\n key: 'originPullProtocol',\n enDescriptor: 'originPullProtocol',\n cnDescriptor: '回源协议类型',\n link: '',\n type: 'select',\n list: [\n { text: 'http', value: 'http' },\n { text: 'follow', value: 'follow' },\n { text: 'https', value: 'https' },\n ],\n },\n {\n key: 'tagKey',\n enDescriptor: 'tagKey',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst OVCDN_STATE = {\n region: 'ap-guangzhou',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'Domain',\n queries: {\n Limit: 20,\n Offset: 0,\n Filters: { ...CDNFilterFields },\n },\n};\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Value: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Value: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n return params;\n}\n\nconst OVCDNInstanceAliasList = ['Domain', 'ResourceId'];\n\nconst OVCDNInvalidDemensions = {\n projectId: 'ProjectId',\n domain: 'Domain',\n};\nconst templateQueryIdMap = {\n instance: 'Domain',\n};\nexport default OVCDN_STATE;\nexport {\n OVCDNFilterFieldsDescriptor,\n OVCDNInstanceAliasList,\n templateQueryIdMap,\n OVCDNInvalidDemensions,\n GetInstanceQueryParams as OVCDNGetInstanceQueryParams,\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","module.exports = __WEBPACK_EXTERNAL_MODULE__69__;","module.exports = __WEBPACK_EXTERNAL_MODULE__70__;","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","import _ from 'lodash';\n\nconst TKE_STATE = {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'ClusterId',\n conditions: [],\n groupBys: '',\n queries: {\n Limit: 20,\n Offset: 0,\n instanceIdsChecked: false,\n filtersChecked: true,\n ClusterIds: [''],\n Filters: {\n ClusterName: [],\n ClusterType: [],\n ClusterStatus: [],\n 'tag-key': [],\n },\n },\n};\n\nconst TKEFilterFieldsDescriptor = [\n {\n key: 'ClusterName',\n enDescriptor: 'Cluster Name',\n cnDescriptor: '集群名',\n link: '',\n type: 'input',\n },\n {\n key: 'ClusterType',\n enDescriptor: 'Cluster Type',\n cnDescriptor: '集群类型',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'ClusterStatus',\n enDescriptor: 'Cluster Status',\n cnDescriptor: '集群状态',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'Tags',\n enDescriptor: 'Tags',\n cnDescriptor: '标签键值对',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'vpc-id',\n enDescriptor: 'VPC',\n cnDescriptor: 'VPC',\n link: '',\n type: 'input',\n },\n {\n key: 'tag-key',\n enDescriptor: 'Tag Key',\n cnDescriptor: '标签键',\n link: '',\n type: 'inputmulti',\n },\n {\n key: 'tag-value',\n enDescriptor: 'Tag Value',\n cnDescriptor: '标签值',\n link: '',\n type: 'inputmulti',\n },\n];\n\nconst TKEInstanceAliasList = ['ClusterId', 'ClusterName'];\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n if (queries.instanceIdsChecked) {\n if (_.isArray(queries.InstanceIds)) {\n const InstanceIds = _.compact(queries.InstanceIds);\n if (_.uniq(InstanceIds).length > 0) {\n params.InstanceIds = _.uniq(InstanceIds).slice(0, 100);\n }\n }\n } else if (queries.filtersChecked) {\n const Filters: any[] = [];\n _.forEach(queries.Filters, (item: any, key) => {\n if (Filters.length > 9) {\n return;\n }\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n Filters.push({ Name: key, Values: _.uniq(item).slice(0, 5) });\n }\n } else if (_.isObject(item)) {\n if (!_.isEmpty(_.get(item, 'value', []))) {\n Filters.push({ Name: key, Values: _.get(item, 'value', []).slice(0, 5) });\n }\n }\n });\n if (Filters.length > 0) {\n params.Filters = Filters;\n }\n }\n }\n return params;\n}\n\nexport default TKE_STATE;\n\nexport { TKEFilterFieldsDescriptor, TKEInstanceAliasList, GetInstanceQueryParams as TKEGetInstanceQueryParams };\n","import {\n APIGATEWAYInstanceAliasList,\n APIGATEWAYInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = APIGATEWAYInstanceAliasList;\n InvalidDimensions = APIGATEWAYInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'apigateway',\n action: 'DescribeServicesStatus',\n responseField: 'ServiceSet',\n };\n\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getEnvironmentNameList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeServiceEnvironmentList' }\n );\n },\n {\n ServiceId: instanceId,\n },\n 'EnvironmentList'\n );\n const [rs] = res;\n return rs;\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeServiceEnvironmentList') {\n const rs = await this.getEnvironmentNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.environmentName];\n return {\n text: o[this.templateQueryIdMap.environmentName],\n value: o[this.templateQueryIdMap.environmentName],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.environmentList, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n BMINTRALBInstanceAliasList,\n BMINTRALBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n isValidMetric,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMINTRALBInstanceAliasList;\n InvalidDimensions = BMINTRALBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'internal',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n}\n","import { BMLBInstanceAliasList, CPMInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMLBInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmlb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n interceptor: {\n request: (params) => ({\n ...params,\n LoadBalancerType: 'open',\n }), // 设置一些请求参数的 默认值\n },\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return item;\n }\n return null;\n })\n );\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import {\n BMPCXInstanceAliasList,\n BMPCXInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = BMPCXInstanceAliasList;\n InvalidDimensions = BMPCXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bmvpc',\n action: 'DescribeVpcPeerConnections',\n responseField: 'VpcPeerConnectionSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n}\n","import { BWPInstanceAliasList, BWPInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class BWPDatasource extends BaseDatasource {\n Namespace = 'QCE/BWP';\n InstanceAliasList = BWPInstanceAliasList;\n InvalidDimensions = BWPInvalidDemensions;\n templateQueryIdMap = {\n instance: 'BandwidthPackageId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeBandwidthPackages',\n responseField: 'BandwidthPackageSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { CBSInstanceAliasList, CBSInvalidDemensions, namespace, templateQueryIdMap, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CBSInstanceAliasList;\n InvalidDimensions = CBSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cbs',\n action: 'DescribeDisks',\n responseField: 'DiskSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.filter(rawSet, isValidMetric);\n }\n}\n","import _ from 'lodash';\nimport {\n CDBInstanceAliasList,\n CDBInvalidDemensions,\n isValidMetric,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = 'QCE/CDB';\n InstanceAliasList = CDBInstanceAliasList;\n InvalidDimensions = CDBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cdb',\n action: 'DescribeDBInstances',\n responseField: 'Items',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n /**\n * 获取 可用区\n * @param region 地域信息\n */\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.ZoneId, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId和InstanceType的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n InstanceType: 1,\n };\n }\n}\n","import _ from 'lodash';\nimport { CDNInstanceAliasList, CDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = 'QCE/CDN';\n InstanceAliasList = CDNInstanceAliasList;\n InvalidDimensions = CDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { CDNPROVINCEInstanceAliasList, CDNPROVINCEInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CDNPROVINCEInstanceAliasList;\n InvalidDimensions = CDNPROVINCEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n extrasAlias = ['isp', 'district'];\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n async getConsumerList(params: any) {\n const { region, field } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'cdn');\n\n // 从分页数据,获取全量数据\n const rs = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Name: field,\n },\n },\n serviceInfo.service,\n { action: 'DescribeMapInfo' }\n );\n return (rs.MapInfoList || []).map((o) => {\n return {\n text: o.Name,\n value: o.Name,\n };\n });\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeMapInfo') {\n const { name: field } = query;\n const rs = await this.getConsumerList({ region, field });\n return rs;\n }\n return [];\n }\n}\n","import {\n CEIPSUMMARYInstanceAliasList,\n CEIPInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CEIPSUMMARYInstanceAliasList;\n InvalidDimensions = CEIPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['AnycastEIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n // response: (data: unknown[]) =>[\n // {\n // AddressId: 'AddressId',\n // AddressIp: '111.22.3.4'\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'AnycastEIP');\n // }\n}\n","import { CESInstanceAliasList, CESInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CESInstanceAliasList;\n InvalidDimensions = CESInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'es',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { CFSInstanceAliasList, CFSInvalidDemensions, regionSupported } from './query_def';\nimport { t } from '../../../locale';\nexport default class CFSDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = {\n instance: 'FileSystemId',\n };\n extrasAlias = ['version'];\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/CFS';\n this.InstanceAliasList = CFSInstanceAliasList;\n this.InvalidDimensions = CFSInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'cfs',\n action: 'DescribeCfsFileSystems',\n responseField: 'FileSystems',\n };\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n}\n","import _, { flattenDeep } from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n CKAFKAInstanceAliasList,\n CKAFKATopicAliasList,\n CKAFKAInvalidDemensions,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\n\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CKFKADatasource extends BaseDatasource {\n Namespace = 'QCE/CKAFKA';\n InstanceAliasList = CKAFKAInstanceAliasList;\n TopicAliasList = CKAFKATopicAliasList;\n InvalidDimensions = CKAFKAInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ckafka',\n action: 'DescribeInstances',\n responseField: 'InstanceList',\n };\n extraMetricDims = ['topicId'];\n // extrasAlias = ['topicId', 'consumerGroup', 'partition'];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n consumerGroupCache = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getConsumerGroups(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'ckafka');\n let { InstanceId, groupname = '', topicid = '' } = params;\n groupname = this.getVariable(groupname); // 将模板转换为真实值\n topicid = this.getVariable(topicid); // 将模板转换为真实值\n try {\n groupname = JSON.parse(groupname)[templateQueryIdMap.groupName];\n topicid = JSON.parse(topicid)[templateQueryIdMap.topicId];\n } catch (e) {}\n let consumerGoup = this.consumerGroupCache[InstanceId];\n if (!consumerGoup) {\n // 从分页数据,获取全量数据\n consumerGoup = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeConsumerGroup' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['GroupListForMonitor', 'TopicListForMonitor', 'PartitionListForMonitor', 'GroupList']\n );\n // topick数据从DescribeTopic\n const topicList = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeTopic' }\n );\n },\n _.pick(params, 'InstanceId'),\n ['TopicList']\n );\n consumerGoup[1] = flattenDeep(topicList);\n console.log({ consumerGoup, topicList });\n this.consumerGroupCache[InstanceId] = consumerGoup;\n }\n\n let [GroupList, TopicList, PartitionList, GroupDetailList] = consumerGoup;\n // 无重复数组\n TopicList = _.uniqBy(TopicList, (item) => (item as any).TopicId);\n GroupList = _.uniqBy(GroupList, (item) => (item as any).GroupName);\n PartitionList = _.uniqBy(PartitionList, (item) => (item as any).PartitionId);\n GroupDetailList = _.uniqBy(GroupDetailList, (item) => (item as any).ConsumerGroupName);\n // 如果传入消费者信息,consumergroupname,获取该用户的订阅信息列表\n const SubscribedInfos = GroupDetailList.find((d) => d.ConsumerGroupName === groupname)?.SubscribedInfo || [];\n // 这里为了兼容PartitonList格式,最后转化为数组对象的方式\n const partitions =\n SubscribedInfos.find((sub) => sub.TopicId === topicid)?.Partition?.map((p) => ({\n [templateQueryIdMap.partition]: p,\n })) || [];\n return {\n GroupList,\n TopicList:\n SubscribedInfos.length > 0\n ? SubscribedInfos.map(({ TopicId, TopicName }) => ({ TopicId, TopicName }))\n : TopicList,\n PartitionList: partitions.length > 0 ? partitions : PartitionList,\n };\n }\n formatTopicVarDisplay(topic: Record, displayTpl: string | undefined, topicAlias: string) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !this.TopicAliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(topic, b);\n });\n }\n return this.getAliasValue(topic, topicAlias);\n }\n // 查询指标下的数据\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n let { topicalias, groupname, topicid } = query;\n const result = await this.getConsumerGroups(region, {\n InstanceId: instance.InstanceId,\n groupname,\n topicid,\n });\n let { display } = query;\n const { TopicList, GroupList, PartitionList } = result;\n topicalias = this.TopicAliasList.includes(topicalias) ? topicalias : this.templateQueryIdMap.topicId;\n\n const rs = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: group[templateQueryIdMap.groupName],\n };\n }),\n TopicList: TopicList.map((topic) => {\n const topicAlias = this.formatTopicVarDisplay(topic, display, topicalias);\n topic._InstanceAliasValue = topicAlias || topic[templateQueryIdMap.topicId];\n return {\n text: topicAlias || topic[templateQueryIdMap.topicId],\n value: topic[templateQueryIdMap.topicId], // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n TopicName: topic.TopicName,\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: par[templateQueryIdMap.partition],\n value: par[templateQueryIdMap.partition],\n };\n }),\n };\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.TopicList, TopicList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.GroupList, GroupList);\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.PartitionList, PartitionList);\n // console.log({ res1, res2, res3 });\n // console.log({rs});\n // 根据action返回指定的维度数据列表\n switch (action) {\n case 'DescribeTopicList':\n return rs.TopicList;\n case 'DescribeGroup':\n return rs.GroupList;\n case 'DescribePartion':\n return rs.PartitionList;\n default:\n return [];\n }\n }\n\n // async getOtherAlias(datapoints) {\n // let dimension;\n // for(let j = 0; j < datapoints.Dimensions.length; j++){\n // if(datapoints.Dimensions[j] !== 'InstanceName'){\n // dimension.push(datapoints.Dimensions[j])\n // }\n // }\n // console.log(dimension);\n\n // return dimension\n // }\n}\n","import {\n InstanceAliasList,\n LOADBALANCEListenerAliasList,\n LOADBALANCEServerAliasList,\n LOADBALANCEVALIDDIMENSIONS,\n templateQueryIdMap,\n keyInStorage,\n CANDIATEDIMENSIONS,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n // Namespace = namespace;\n InstanceAliasList = InstanceAliasList;\n ListenerAliasList = LOADBALANCEListenerAliasList;\n ServerAliasList = LOADBALANCEServerAliasList;\n CandiateDimensions = CANDIATEDIMENSIONS;\n // InvalidDimensions = LOADBALANCEVALIDDIMENSIONS;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n // InstanceReqConfig = {\n // service: 'clb',\n // action: 'DescribeLoadBalancers',\n // responseField: 'LoadBalancerSet',\n // };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getInvalidDimensions(selfIns: any, tagret: any) {\n if (selfIns.service === 'lbPrivate' || (selfIns.service === 'lbPublic' && tagret.servers))\n return { ...LOADBALANCEVALIDDIMENSIONS, vpcId: 'NumericalVpcId' };\n return LOADBALANCEVALIDDIMENSIONS;\n }\n getInstanceReqConfig(selfIns: any) {\n const res: any = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n if (selfIns.service === 'lbPrivate' || selfIns.service === 'loadBalance') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'INTERNAL' }),\n };\n }\n if (selfIns.service === 'lbPublic') {\n res.interceptor = {\n request: (param) => ({ ...param, LoadBalancerType: 'OPEN' }),\n };\n }\n return res;\n }\n async getListenerList(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeListeners' }\n );\n },\n {\n LoadBalancerId: instanceId,\n },\n 'Listeners'\n );\n const [rs] = res;\n return rs;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async getServerList(params: any) {\n const { region, instanceId, listenerId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'clb');\n\n const res = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { LoadBalancerId: instanceId, ListenerIds: [listenerId] },\n },\n serviceInfo.service,\n { region, action: 'DescribeTargets' }\n );\n const { Listeners } = res;\n const serversList = _.reduce(\n Listeners,\n (prev, item) => {\n const { Rules, Targets } = item;\n if (!_.isEmpty(Rules)) {\n return _.concat(prev, _.flatten(_.map(Rules, (elem) => (_.isEmpty(elem.Targets) ? [] : elem.Targets))));\n }\n if (!_.isEmpty(Targets)) {\n return _.concat(prev, Targets);\n }\n return prev;\n },\n []\n );\n return serversList;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeListeners') {\n const rs = await this.getListenerList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n let { listeneralias } = query;\n listeneralias = this.ListenerAliasList.includes(listeneralias) ? listeneralias : this.templateQueryIdMap.listener;\n const result = rs.flatMap((o) => {\n const listenAlias = this.formatVariableDisplay(o, display, listeneralias, this.ListenerAliasList);\n const lisId = o[this.templateQueryIdMap.listener];\n o._InstanceAliasValue = listenAlias || lisId;\n // if (!o[listeneralias]) return [];\n return {\n text: listenAlias || lisId,\n value: lisId,\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.listener, rs);\n return result;\n }\n if (action === 'DescribeServer' || action === 'DescribeServerPort') {\n const { listenerid, serverprivateip, serveralias } = query;\n const serverPrivateIp = this.getVariable(serverprivateip);\n const serversList = await this.getServerList({\n region,\n instanceId: instance[this.templateQueryIdMap.instance],\n listenerId: this.getVariable(listenerid),\n });\n const serverAlias = this.ServerAliasList.includes(serveralias) ? serveralias : this.templateQueryIdMap.servers;\n const result = _.chain(serversList)\n .filter((item) => {\n if (action === 'DescribeServer') {\n return true;\n }\n return serverPrivateIp === _.get(item, 'PrivateIpAddresses.0');\n })\n .map((item) => {\n const alias = this.formatVariableDisplay(item, display, serverAlias, this.ServerAliasList);\n const id = item[this.templateQueryIdMap.servers][0];\n item._InstanceAliasValue = alias || id;\n return action === 'DescribeServer'\n ? {\n text: alias || id,\n value: id,\n }\n : {\n text: `${_.get(item, 'Port')}`,\n value: _.get(item, 'Port'),\n };\n })\n .value();\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.servers, serversList);\n return action === 'DescribeServer' ? result : _.uniqBy(result, 'text');\n }\n return [];\n }\n}\n","import {\n CLSInstanceAliasList,\n CLSInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CLSInstanceAliasList;\n InvalidDimensions = CLSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cls',\n action: 'DescribeTopics',\n responseField: 'Topics',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n // async getInstances(region, params = {}) {\n // const superRes = await super.getInstances(region, params);\n // console.log({ superRes });\n // }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport { InvalidDemensions, InstanceAliasList, templateQueryIdMap } from './query_def';\n\nexport default class CmqDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeQueueDetail',\n responseField: 'QueueSet',\n };\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims = Array.from(new Set([...dims, 'queueId', 'queueName']));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class CmqTopicDatasource extends BaseDatasource {\n Namespace = 'QCE/CMQTOPIC';\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'cmq',\n action: 'DescribeTopicDetail',\n responseField: 'TopicSet',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraMetricDims = ['subscriptionId']; // 多选\n\n async fetchAllSubscription(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'cmq');\n // console.log(serviceInfo, 'serviceinfo');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeSubscriptionDetail' }\n );\n },\n params,\n 'SubscriptionSet'\n );\n\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeSubscriptionDetail':\n result = await this.fetchAllSubscription(region, { TopicName: instance.TopicName });\n // eslint-disable-next-line no-case-declarations\n const rs = result.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: item[templateQueryIdMap.subscription] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.subscriptionId, result);\n return rs;\n default:\n return [];\n }\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawMetric = await super.getMetrics(region);\n return rawMetric.map((metric) => {\n let dims = metric.Dimensions[0].Dimensions;\n dims.push('topicId');\n if (['NumOfNotify', 'NumOfSuccNotify'].includes(metric.MetricName)) {\n dims.push('subscriptionId');\n }\n\n dims = Array.from(new Set(dims));\n metric.Dimensions[0].Dimensions = dims;\n return metric;\n });\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\n\ninterface BucketListResult {\n Owner: { ID: 'string'; DisplayName: 'string' };\n Buckets: { Name: string; Region: string }[];\n}\n\nexport default class CosDatasource extends BaseDatasource {\n InvalidDimensions: Record = {};\n InstanceAliasList: string[] = ['BucketName'];\n templateQueryIdMap = {\n instance: 'BucketName',\n };\n InstanceReqConfig = {} as any; // 不必要的配置\n cosURL: string;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n this.cosURL = `/api/datasources/${this.instanceSettings.id}/resources/tc_cos_list`;\n }\n async getInstances(region: string) {\n return this.backendSrv\n .datasourceRequest({\n url: this.cosURL,\n method: 'GET',\n params: { region },\n headers: { 'Content-Type': 'application/json' },\n })\n .then((res) => {\n let { data }: { data: BucketListResult } = res;\n data = data || ({} as any);\n let { Buckets } = data;\n Buckets = Buckets || [];\n\n // name contains appid,see detail https://cloud.tencent.com/document/product/436/8291\n return Buckets.map((item) => ({\n ...item,\n BucketName: item.Name,\n bucket: item.Name,\n appid: item.Name.split('-').slice(-1)[0],\n }));\n });\n }\n\n async getVariableInstances(region) {\n return this.getInstances(region);\n }\n}\n","import {\n CPMInstanceAliasList,\n CPMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CPMInstanceAliasList;\n InvalidDimensions = CPMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'bm',\n action: 'DescribeDevices',\n responseField: 'DeviceInfoSet',\n };\n RegionMap = {};\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/bm',\n },\n 'bm',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n // 缓存,后面获取可用区zone\n this.RegionMap = _.keyBy(response.RegionInfoSet, 'Region');\n return _.map(response.RegionInfoSet || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'DeviceClassCode') {\n const serviceInfo = GetServiceAPIInfo(region, 'bm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n 'bm',\n { region, action: 'DescribeDeviceClass' }\n ).then((response) => {\n return _.map(response.DeviceClassSet || [], (item) => {\n return { text: item.DeviceClassCode, value: item.DeviceClassCode };\n });\n });\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { CVMInstanceAliasList, isValidMetric, modifyDimensons } from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CVMDatasource extends BaseDatasource {\n Namespace = 'QCE/CVM';\n InstanceAliasList = CVMInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'cvm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n if (isValidMetric(item)) {\n return modifyDimensons(item);\n }\n return null;\n })\n );\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cvm' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'cvm' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n}\n","import {\n CYNOSDBMYSQLInstanceAliasList,\n CYNOSDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n checkKeys,\n} from './query_def';\nimport _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\n// import { t } from '../../../locale';\n\nexport default class CYNOSDBMYSQLDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = CYNOSDBMYSQLInstanceAliasList;\n InvalidDimensions = CYNOSDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n checkKeys = checkKeys;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'cynosdb',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n // getRegions() {\n // return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n // }\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'cynosdbmysql' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n // 仅对维度组合是InstanceId的指标,其他指标不支持\n getDefaultInsObj(ins: string) {\n return {\n [templateQueryIdMap.instance]: ins,\n };\n }\n}\n","import { DCInstanceAliasList, DCInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCInstanceAliasList;\n InvalidDimensions = DCInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnects',\n responseField: 'DirectConnectSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n DCDBInstanceAliasList,\n DCDBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCDBInstanceAliasList;\n InvalidDimensions = DCDBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'dcdb',\n action: 'DescribeDCDBInstances',\n responseField: 'Instances',\n };\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n extraActionMap = {\n DescribeDCDBShards: {\n service: 'dcdb',\n action: 'DescribeDCDBShards',\n responseField: 'Shards',\n pickKey: 'ShardInstanceId',\n },\n DescribeDCDBInstanceNodeInfo: {\n service: 'dcdb',\n action: 'DescribeDCDBInstanceNodeInfo',\n responseField: 'NodesInfo',\n pickKey: 'NodeId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion, 入参的region用广州\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/dcdb',\n },\n 'dcdb',\n { action: 'DescribeDCDBSaleInfo', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionList || [], (item) => {\n return {\n text: t(item.Region),\n value: item.Region,\n RegionState: item.RegionState,\n };\n });\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance[this.templateQueryIdMap.instance],\n Limit: 100,\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { DCGInstanceAliasList, DCGInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCGInstanceAliasList;\n InvalidDimensions = DCGInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeDirectConnectGateways',\n responseField: 'DirectConnectGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { DCXInstanceAliasList, DCXInvalidDemensions, namespace, modifyDimensons } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCXDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = DCXInstanceAliasList;\n InvalidDimensions = DCXInvalidDemensions;\n templateQueryIdMap = {\n instance: 'DirectConnectTunnelId',\n };\n InstanceReqConfig = {\n service: 'dc',\n action: 'DescribeDirectConnectTunnels',\n responseField: 'DirectConnectTunnelSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import { BaseDatasource } from '../_base/datasource';\nimport {\n ECDNInstanceAliasList,\n ECDNInvalidDemensions,\n modifyDimensons,\n namespace,\n templateQueryIdMap,\n} from './query_def';\n\nexport default class ECDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECDNInstanceAliasList;\n InvalidDimensions = ECDNInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'ecdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.map((item) => modifyDimensons(item));\n }\n}\n","import {\n ECMInstanceAliasList,\n ECMInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMInstanceAliasList;\n InvalidDimensions = ECMInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n ECMBLOCKSTORAGEInstanceAliasList,\n ECMBLOCKSTORAGEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMBLOCKSTORAGEInstanceAliasList;\n InvalidDimensions = ECMBLOCKSTORAGEInvalidDemensions;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n templateQueryIdMap = templateQueryIdMap;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async getDiskList(params: any) {\n const { payload } = params;\n const { InstanceId } = payload;\n const instanceCache = await instanceStorage.getInstance(this.service);\n const instanceObj: any =\n _.cloneDeep(instanceCache.find((item) => item[this.templateQueryIdMap.instance] === InstanceId)) ?? {};\n const { DataDisks: dataDisks } = instanceObj;\n return dataDisks;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n InstanceId: instance,\n Limit: 100,\n };\n const rs = await this.getDiskList({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.diskId];\n return {\n text: o[this.templateQueryIdMap.diskId],\n value: o[this.templateQueryIdMap.diskId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.diskId, rs);\n return result;\n }\n}\n","import { ECMLBInstanceAliasList, ECMLBInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = ECMLBInstanceAliasList;\n InvalidDimensions = ECMLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'ecm',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import {\n GSEInstanceAliasList,\n GSEInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n keyInStorage,\n queryMonitorExtraConfg,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = GSEInstanceAliasList;\n InvalidDimensions = GSEInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gse',\n action: 'DescribeInstances',\n responseField: 'Instances',\n };\n\n keyInStorage = keyInStorage;\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n async getQueueNameList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeGameServerSessionQueues' }\n );\n },\n {},\n 'GameServerSessionQueues'\n );\n const [rs] = res;\n return rs;\n }\n async getFleetList(params: any) {\n const { region } = params;\n const serviceInfo = GetServiceAPIInfo(region, this.service);\n\n // 从分页数据,获取全量数据\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'ListFleets' }\n );\n },\n {},\n 'FleetIds'\n );\n const [rs] = res;\n return rs.map((r) => ({ [this.templateQueryIdMap.FleetId]: r }));\n }\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'DescribeGameServerSessionQueues') {\n const rs = await this.getQueueNameList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.Name];\n return {\n text: o[this.templateQueryIdMap.Name],\n value: o[this.templateQueryIdMap.Name],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.queue, rs);\n return result;\n }\n if (action === 'ListFleets') {\n const rs = await this.getFleetList({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.FleetId];\n return {\n text: o[this.templateQueryIdMap.FleetId],\n value: o[this.templateQueryIdMap.FleetId],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.fleet, rs);\n return result;\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { BaseDatasource } from '../_base/datasource';\nimport { LBInstanceAliasList, LBInvalidDemensions } from './query_def';\n\nexport default class SCFDatasource extends BaseDatasource {\n Namespace = 'QCE/LB';\n InstanceAliasList = LBInstanceAliasList;\n InvalidDimensions = LBInvalidDemensions;\n templateQueryIdMap = {\n instance: 'AddressId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeAddresses',\n responseField: 'AddressSet',\n interceptor: {\n request: (params) => {\n const { Filters } = params;\n if (!Filters) {\n params.Filters = [];\n }\n params.Filters.push({\n Name: 'address-type',\n Values: ['EIP'],\n });\n return params;\n }, // 设置一些请求参数的 默认值\n },\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('eip')\n );\n }\n\n // async getInstances(region, params = {}) {\n // const rawSet = await super.getInstances(region, params);\n // /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含eip的指标 */\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n\n // async getVariableInstances(region, query = {}) {\n // const rawSet = await super.getVariableInstances(region, query);\n // return rawSet.filter((item) => item.AddressType === 'EIP');\n // }\n}\n","import _ from 'lodash';\nimport {\n LIGHTHOUSEInstanceAliasList,\n templateQueryIdMap,\n LighthouseInvalidDemensions,\n modifyDimensons,\n} from './query_def';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class LighthouseDatasource extends BaseDatasource {\n Namespace = 'QCE/LIGHTHOUSE';\n InstanceAliasList = LIGHTHOUSEInstanceAliasList;\n InvalidDimensions = LighthouseInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'lighthouse',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/api',\n data: { Product: 'lighthouse' },\n },\n 'api',\n { action: 'DescribeRegions' }\n ).then((response) => {\n return _.filter(\n _.map(response.RegionSet || [], (item) => {\n return {\n text: item.RegionName,\n value: item.Region,\n RegionState: item.RegionState,\n };\n }),\n (item) => item.RegionState === 'AVAILABLE'\n );\n });\n }\n\n getZones(region) {\n const serviceInfo = GetServiceAPIInfo(region, 'api');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: { Product: 'lighthouse' },\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(\n rawSet.map((item) => {\n return modifyDimensons(item);\n })\n );\n }\n}\n","import _ from 'lodash';\nimport {\n MONGODBInstanceAliasList,\n MONGODBInvalidDemensions,\n templateQueryIdMap,\n queryMonitorExtraConfg,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MONGODBDatasource extends BaseDatasource {\n Namespace = 'QCE/CMONGO';\n InstanceAliasList = MONGODBInstanceAliasList;\n ReplicaAliasList = ['ReplicaSetId', 'ReplicaSetName'];\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n\n InstanceReqConfig = {\n service: 'mongodb',\n action: 'DescribeDBInstances',\n responseField: 'InstanceDetails',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getInvalidDimensions(selfIns: any, target: any) {\n if (target.node && target.node !== '') {\n return { target: 'Node' };\n }\n if (target.replica && target.replica !== '') {\n return { target: 'Replica' };\n }\n return MONGODBInvalidDemensions;\n }\n formatVariableDisplay(data: Record, displayTpl: string | undefined, alias: string, aliasList: string[]) {\n if (displayTpl) {\n return displayTpl.replace(/\\$\\{(\\w+)\\}/g, (a, b) => {\n if (!b || !aliasList.includes(b)) {\n return '';\n }\n return this.getAliasValue(data, b);\n });\n }\n return this.getAliasValue(data, alias);\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const { display } = query;\n if (action === 'DescribeReplicas') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n let { replicaalias } = query;\n replicaalias = this.ReplicaAliasList.includes(replicaalias) ? replicaalias : this.templateQueryIdMap.replica;\n const result = _.map(_.get(res, 'ReplicaSets', []), (item) => {\n const replicaAlias = this.formatVariableDisplay(item, display, replicaalias, this.ReplicaAliasList);\n item._InstanceAliasValue = replicaAlias || item[this.templateQueryIdMap.replica];\n return { text: item.ReplicaSetId, value: item.ReplicaSetId };\n });\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Replica.dim_KeyInStorage,\n _.get(res, 'ReplicaSets', [])\n );\n return result;\n }\n if (action === 'DescribeReplicaNodes') {\n const [res] = await this.getInstances(region, { InstanceIds: [instance[this.templateQueryIdMap.instance]] });\n const { replicasetid } = query;\n const targetReplica = _.find(_.get(res, 'ReplicaSets', []), { ReplicaSetId: this.getVariable(replicasetid) });\n let result = _.times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return { text: nodeId, value: nodeId };\n });\n if (targetReplica) {\n result = [\n { text: `${targetReplica.ReplicaSetId}-node-primary`, value: `${targetReplica.ReplicaSetId}-node-primary` },\n ...result,\n ];\n }\n await instanceStorage.setExtraStorage(\n this.service,\n this.queryMonitorExtraConfg.Node.dim_KeyInStorage,\n result.map((item) => ({ NodeId: item.value, _InstanceAliasValue: item.value }))\n );\n return result;\n }\n\n return [];\n }\n}\n","import { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n InvalidDemensions,\n InstanceAliasList,\n templateQueryIdMap,\n keyInStorage,\n queryMonitorExtraConfg,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\n\nexport default class MrHdfsDatasource extends BaseDatasource {\n InvalidDimensions: Record = InvalidDemensions;\n InstanceAliasList: string[] = InstanceAliasList;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [];\n keyInStorage = keyInStorage;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n InstanceReqConfig = {\n service: 'emr',\n action: 'DescribeInstances',\n responseField: 'ClusterList',\n interceptor: {\n request: (params) => ({\n ...params,\n DisplayStrategy: params.DisplayStrategy || 'monitorManage',\n ProjectId: params.ProjectId || -1,\n }), // 设置一些请求参数的 默认值\n response: (data: any[]) => data.map(({ ClusterId, ClusterName }) => ({ ClusterId, ClusterName })),\n },\n };\n\n async fetchAllNodes(region: string, params: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'emr');\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeClusterNodes' }\n );\n },\n { ...params, isOffsetPage: true },\n 'NodeList'\n );\n\n // return rs[0].map((item) => ({ text: item.Ip, value: item.Ip }));\n return rs[0];\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n let result;\n switch (action) {\n case 'DescribeClusterNodes': {\n const resultT = await this.fetchAllNodes(region, { InstanceId: instance.ClusterId, NodeFlag: 'all' });\n result = resultT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return { text: item[templateQueryIdMap.node], value: item[templateQueryIdMap.node] };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.node, resultT);\n\n return result;\n }\n default:\n return [];\n }\n }\n}\n","import _ from 'lodash';\nimport { NATGATEWAYInstanceAliasList, NATInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class NATGATEWAYDatasource extends BaseDatasource {\n Namespace = 'QCE/NAT_GATEWAY';\n InstanceAliasList = NATGATEWAYInstanceAliasList;\n InvalidDimensions = NATInvalidDemensions;\n templateQueryIdMap = {\n instance: 'NatGatewayId',\n };\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNatGateways',\n responseField: 'NatGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport { OVCDNInstanceAliasList, OVCDNInvalidDemensions } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class OVCDNDatasource extends BaseDatasource {\n Namespace = 'QCE/OV_CDN';\n InstanceAliasList = OVCDNInstanceAliasList;\n InvalidDimensions = OVCDNInvalidDemensions;\n templateQueryIdMap = {\n instance: 'Domain',\n };\n InstanceReqConfig = {\n service: 'cdn',\n action: 'DescribeDomains',\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n}\n","import { PCXInstanceAliasList, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo, GetRequestParamsV2, SliceLength } from '../../common/constants';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = PCXInstanceAliasList;\n InvalidDimensions = {};\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'xx',\n action: 'xx',\n responseField: 'xx',\n };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getInstances(region = 'ap-guangzhou', params = {}) {\n params = { offset: 0, limit: 50, ...params };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n return response.data || [];\n });\n }\n\n /**\n * 模板变量中获取全量的 PCX 实例列表\n * @param region 地域信息\n */\n getVariableInstances(region, query) {\n let result: any[] = [];\n const params = { Offset: 0, Limit: 50, ...query };\n const serviceInfo = GetServiceAPIInfo(region, 'pcx');\n return this.doRequestV2(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcPeeringConnections' }\n ).then((response) => {\n result = response.data || [];\n const total = response.totalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 50);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getInstances(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n getVpcId(region, params: any = {}) {\n params = { Offset: 0, Limit: 20, ...params };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n return _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n });\n }\n\n getVpcIds(region) {\n let result: any[] = [];\n const params: any = { Offset: 0, Limit: 100 };\n // TODO 等待腾讯云接口查问题\n params.Offset = String(params.Offset);\n params.Limit = String(params.Limit);\n const serviceInfo = GetServiceAPIInfo(region, 'vpc');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'DescribeVpcs' }\n ).then((response) => {\n result = _.map(response.VpcSet || [], (item) => ({ text: item.VpcId, value: item.VpcId }));\n const total = response.TotalCount || 0;\n if (result.length >= total) {\n return result;\n } else {\n const param = SliceLength(total, 100);\n const promises: any[] = [];\n _.forEach(param, (item) => {\n promises.push(this.getVpcId(region, item));\n });\n return Promise.all(promises)\n .then((responses) => {\n _.forEach(responses, (item) => {\n result = _.concat(result, item);\n });\n return result;\n })\n .catch((error) => {\n return result;\n });\n }\n });\n }\n\n /**\n * 腾讯云 API 2.0 请求接口\n * @param options\n * @param service\n * @param signObj\n */\n async doRequestV2(options, service, signObj: any = {}) {\n options = await GetRequestParamsV2(\n options,\n service,\n signObj,\n this.secretId,\n this.instanceSettings.id,\n this.backendSrv\n );\n return this.backendSrv\n .datasourceRequest(options)\n .then((response) => {\n return _.get(response, 'data', {});\n })\n .catch((error) => {\n throw error;\n });\n }\n}\n","import _ from 'lodash';\nimport {\n POSTGRESInstanceAliasList,\n PostgreInvalidDemensions,\n namespace,\n modifyDimensons,\n templateQueryIdMap,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class CDBDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = POSTGRESInstanceAliasList;\n InvalidDimensions = PostgreInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'postgres',\n action: 'DescribeDBInstances',\n responseField: 'DBInstanceSet',\n };\n\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { get } from 'lodash';\nimport { QAAPInstanceAliasList, QAAPInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class QAAPDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = QAAPInstanceAliasList;\n InvalidDimensions = QAAPInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'gaap',\n action: 'DescribeProxies',\n responseField: 'ProxySet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n // MetricReqConfig = {\n // resultFilter: modifyDimensons,\n // };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n get(item, 'Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions.length') === 1 &&\n get(item, 'Dimensions[0].Dimensions[0]') === 'channelId'\n );\n }\n}\n","import _ from 'lodash';\nimport { REDISInstanceAliasList, RedisInvalidDemensions, isValidMetric } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = 'QCE/REDIS';\n InstanceAliasList = REDISInstanceAliasList;\n InvalidDimensions = RedisInvalidDemensions;\n templateQueryIdMap = {\n instance: 'InstanceId',\n };\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '1m' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => isValidMetric(item));\n }\n}\n","import _ from 'lodash';\nimport {\n REDISMEMInstanceAliasList,\n namespace,\n RedisMemInvalidDemensions,\n templateQueryIdMap,\n NodeType,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\n\nexport default class REDISDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = REDISMEMInstanceAliasList;\n InvalidDimensions = RedisMemInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n extrasAlias = [RedisMemInvalidDemensions.pnodeid, RedisMemInvalidDemensions.rnodeid];\n InstanceReqConfig = {\n service: 'redis',\n action: 'DescribeInstances',\n responseField: 'InstanceSet',\n interceptor: {\n request: (params) => ({ ...params, MonitorVersion: '5s' }),\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getInstanceNodeInfo(params: any) {\n const { region, instanceId } = params;\n const serviceInfo = GetServiceAPIInfo(region, 'redis');\n\n const res = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action: 'DescribeInstanceNodeInfo' }\n );\n },\n {\n InstanceId: instanceId,\n },\n NodeType\n );\n\n return res;\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n if (action === 'DescribeInstanceNodeInfo') {\n const rs = await this.getInstanceNodeInfo({ region, instanceId: instance[this.templateQueryIdMap.instance] });\n const { nodetype } = query;\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1\n ? []\n : _.map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n }\n return [];\n }\n}\n","import _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { BaseDatasource } from '../_base/datasource';\nimport {\n SCFInstanceAliasList,\n SCFInvalidDemensions,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n templateQueryIdMap,\n} from './query_def';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class SCFDatasource extends BaseDatasource {\n InstanceKey: string;\n Namespace: string;\n InstanceAliasList: string[];\n InvalidDimensions: Record;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n InstanceReqConfig: { service?: string | undefined; action: string; responseField: string };\n\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n\n this.Namespace = 'QCE/SCF_V2';\n this.InstanceAliasList = SCFInstanceAliasList;\n this.InvalidDimensions = SCFInvalidDemensions;\n this.InstanceReqConfig = {\n service: 'scf',\n action: 'ListFunctions',\n responseField: 'Functions',\n };\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter(\n (item) =>\n /* hack:这里多加了筛选条件,是因为后端数据不准确,坑啊! 只拿取包含functionName的指标 */\n item.Dimensions?.[0]?.Dimensions?.includes('functionName') &&\n item.Dimensions?.[0]?.Dimensions?.includes('namespace') &&\n !item.MetricName.startsWith('Name')\n );\n }\n\n getVersions(region, params) {\n const serviceInfo = GetServiceAPIInfo(region, 'scf');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: params,\n },\n serviceInfo.service,\n { region, action: 'ListVersionByFunction' }\n ).then((response) => {\n return response.Versions;\n });\n }\n\n async fetchMetricData(action: string, region: string, instance: any) {\n // console.log({ action, region, instance });\n if (action === 'ListVersionByFunction') {\n const rs = await this.getVersions(region, { FunctionName: instance[this.templateQueryIdMap.instance] });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap.version];\n return {\n text: o[this.templateQueryIdMap.version],\n value: o[this.templateQueryIdMap.version],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage.version, rs);\n return result;\n }\n return [];\n }\n}\n","import {\n SQLSERVERInstanceAliasList,\n SQLSERVERInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = SQLSERVERInstanceAliasList;\n InvalidDimensions = SQLSERVERInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'sqlserver',\n action: 'DescribeDBInstances',\n responseField: 'DBInstances',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n getFilterDropdown({ field, region }) {\n if (field === 'Zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { TCAPLUSInstanceAliasList, TCAPLUSInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TCAPLUSInstanceAliasList;\n InvalidDimensions = TCAPLUSInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tcaplusdb',\n action: 'DescribeTables',\n responseField: 'TableInfos',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // 重写getRegion\n getRegions() {\n return this.doRequest(\n {\n url: this.url + '/tcaplusdb',\n },\n 'tcaplusdb',\n { action: 'DescribeRegions', region: 'ap-guangzhou' }\n ).then((response) => {\n return _.map(response.RegionInfos || [], (item) => {\n return {\n text: t(item.RegionName),\n value: item.RegionName,\n };\n });\n });\n }\n}\n","import {\n TDMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n modifyDimensons,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeClusters',\n responseField: 'ClusterSet',\n };\n extraActionMap = {\n DescribeTopics: {\n service: 'tdmq',\n action: 'DescribeTopics',\n responseField: 'TopicSets',\n pickKey: 'TopicName',\n },\n DescribeEnvironments: {\n service: 'tdmq',\n action: 'DescribeEnvironments',\n responseField: 'EnvironmentSet',\n pickKey: 'EnvironmentId',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n // getFilterDropdown({ field }) {\n // return super.getRegions();\n // }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return _.compact(rawSet.map((item) => modifyDimensons(item)));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n // console.log({ rs });\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeTopics') {\n payload.EnvironmentId = this.getVariable(query['environmentid']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQRABBITMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQRABBITMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRabbitMQVipInstances',\n responseField: 'Instances',\n };\n extraActionMap = {\n DescribeRabbitMQNodeList: {\n service: 'tdmq',\n action: 'DescribeRabbitMQNodeList',\n responseField: 'NodeList',\n pickKey: 'node',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n InstanceId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import {\n TDMQROCKETMQInstanceAliasList,\n TDMQInvalidDemensions,\n namespace,\n templateQueryIdMap,\n regionSupported,\n queryMonitorExtraConfg,\n keyInStorage,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { fetchAllFactory } from '../../common/utils';\nimport instanceStorage from '../../common/datasourceStorage';\nimport { t } from '../../../locale';\n\nexport default class TDMQDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = TDMQROCKETMQInstanceAliasList;\n InvalidDimensions = TDMQInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n queryMonitorExtraConfg = queryMonitorExtraConfg;\n keyInStorage = keyInStorage;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'tdmq',\n action: 'DescribeRocketMQClusters',\n responseField: 'ClusterList',\n interceptor: {\n response: (result) =>\n _.map(result, (item) => ({\n ...item,\n ClusterId: _.get(item, 'Info.ClusterId', ''),\n ClusterName: _.get(item, 'Info.ClusterName', ''),\n })),\n },\n };\n extraActionMap = {\n DescribeRocketMQNamespaces: {\n service: 'tdmq',\n action: 'DescribeRocketMQNamespaces',\n responseField: 'Namespaces',\n pickKey: 'namespace',\n },\n DescribeRocketMQGroups: {\n service: 'tdmq',\n action: 'DescribeRocketMQGroups',\n responseField: 'Groups',\n pickKey: 'group',\n },\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await super.getMetrics(region);\n return rawSet.filter((item) => !item.Dimensions?.[0]?.Dimensions?.includes('rmqcluster'));\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n\n async getConsumerList(params: any) {\n const { region, action: act, payload } = params;\n const { service, action, responseField } = this.extraActionMap[act];\n\n const serviceInfo = GetServiceAPIInfo(region, service);\n\n // 从分页数据,获取全量数据\n const rs = await fetchAllFactory(\n (data) => {\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data,\n },\n serviceInfo.service,\n { region, action }\n );\n },\n payload,\n responseField\n );\n return rs[0];\n }\n async fetchMetricData(action: string, region: string, instance: any, query: any) {\n const payload: any = {\n Limit: 100,\n ClusterId: instance[this.templateQueryIdMap.instance],\n };\n if (Object.keys(this.extraActionMap).indexOf(action) !== -1) {\n if (action === 'DescribeRocketMQGroups') {\n payload.NamespaceId = this.getVariable(query['clusternamespace']);\n }\n const rs = await this.getConsumerList({ region, action, payload });\n const { pickKey } = this.extraActionMap[action];\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[this.templateQueryIdMap[pickKey]];\n return {\n text: o[this.templateQueryIdMap[pickKey]],\n value: o[this.templateQueryIdMap[pickKey]],\n };\n });\n await instanceStorage.setExtraStorage(this.service, this.keyInStorage[pickKey], rs);\n return result;\n }\n return [];\n }\n}\n","import { map, flatten, reduce, isEmpty, filter, split, sortBy, findIndex, trim, isArray, isString } from 'lodash';\nimport { GetServiceAPIInfo, ReplaceVariable } from '../../common/constants';\nimport { getTimeShiftInMs } from '../../common/utils';\nimport { BaseDatasource } from '../_base/datasource';\n\nconst variableToArray = (variable) => {\n if (isEmpty(variable)) {\n return [];\n }\n if (isArray(variable)) {\n return variable;\n }\n if (isString(variable)) {\n return split(variable, ',').map((item) => trim(item));\n }\n return [];\n};\n\nexport default class TKEDatasource extends BaseDatasource {\n InstanceAliasList = ['ClusterId', 'ClusterName'];\n templateQueryIdMap = {\n instance: 'ClusterId',\n };\n InvalidDimensions = {\n tke_cluster_instance_id: 'ClusterId',\n };\n InstanceReqConfig = {\n service: 'tke',\n action: 'DescribeClusters',\n responseField: 'Clusters',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getMonitorData(params: any, region: any, instances: any, target: any, options: any) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const timeshift = getTimeShiftInMs(target.timeshift);\n const conditions = reduce(\n target.conditions,\n (prev, item) => {\n if (isEmpty(item.Key) || isEmpty(item.Operator) || isEmpty(item.Value)) {\n return prev;\n }\n return [\n ...filter(prev, (e) => e.Key !== item.Key),\n {\n Key: ReplaceVariable(this.templateSrv, options.scopedVars, item.Key, false),\n Operator: ReplaceVariable(this.templateSrv, options.scopedVars, item.Operator, false),\n Value: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, item.Value, true)),\n },\n ];\n },\n [{ Key: 'tke_cluster_instance_id', Operator: '=', Value: instances.map((item) => item['ClusterId']) }]\n );\n\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Period: params.Period,\n MetricNames: [params.MetricName],\n Module: 'monitor',\n Namespace: 'QCE/TKE',\n EndTime: params.EndTime,\n StartTime: params.StartTime,\n Conditions: conditions,\n GroupBys: variableToArray(ReplaceVariable(this.templateSrv, options.scopedVars, target.groupBys, true)),\n },\n },\n serviceInfo.service,\n { action: 'DescribeStatisticData', region }\n ).then((response) => {\n return flatten(\n map(response.Data, (data) => {\n return map(data.Points, (point) => {\n const dimensionSort = sortBy(point.Dimensions, ['Name']);\n const dimensionString = [\n ...dimensionSort.splice(findIndex(dimensionSort, { Name: 'tke_cluster_instance_id' }), 1),\n ...dimensionSort,\n ]\n .map((dimension) => dimension.Value)\n .join(' - ');\n const timeshiftString = timeshift > 0 ? `_${target.timeshift}` : '';\n return {\n target: `${data.MetricName} - ${dimensionString}${timeshiftString}`,\n datapoints: map(point.Values, (value) => [value.Value, value.Timestamp * 1000 + timeshift]),\n };\n });\n })\n );\n });\n }\n}\n","import _ from 'lodash';\nimport { TSFInvalidDemensions, TSFInstanceAliasList, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class TSFDatasource extends BaseDatasource {\n Namespace = 'QCE/TSF';\n InstanceAliasList = TSFInstanceAliasList;\n InvalidDimensions = TSFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'tsf',\n action: 'DescribeApplications',\n responseField: 'Content',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import {\n VCLBInstanceAliasList,\n VCLBInvalidDemensions,\n namespace,\n templateQueryIdMap,\n clbNamespaceMap,\n regionSupported,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport { t } from '../../../locale';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VCLBInstanceAliasList;\n InvalidDimensions = VCLBInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'clb',\n action: 'DescribeLoadBalancers',\n responseField: 'LoadBalancerSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async getAllMetrics(region: string) {\n const serviceInfo = GetServiceAPIInfo(region, 'monitor');\n const { MetricSet: public_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.public,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const { MetricSet: private_metrics } = await this.doRequest(\n {\n url: this.url + serviceInfo.path,\n data: {\n Namespace: clbNamespaceMap.private,\n },\n },\n serviceInfo.service,\n { region, action: 'DescribeBaseMetrics' }\n );\n const res = Object.values(_.keyBy(_.concat(private_metrics, public_metrics), 'MetricName'));\n return res.map((t) => modifyDimensons(t));\n }\n async getMetrics(region = 'ap-guangzhou') {\n const rawSet = await this.getAllMetrics(region);\n return _.compact(rawSet);\n }\n}\n","import { VBCInstanceAliasList, VBCInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VBCInstanceAliasList;\n InvalidDimensions = VBCInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeCcns',\n responseField: 'CcnSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getFilterDropdown({ field }) {\n return super.getRegions();\n }\n}\n","import {\n VPCNETDETECTInstanceAliasList,\n VPCNETInvalidDemensions,\n namespace,\n templateQueryIdMap,\n modifyDimensons,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPCNETDETECTInstanceAliasList;\n InvalidDimensions = VPCNETInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeNetDetects',\n responseField: 'NetDetectSet',\n interceptor: {\n // response: (data: unknown[]) =>[\n // {\n // \"NetDetectId\": \"netd-12345678\",\n // },\n // ],\n },\n };\n MetricReqConfig = {\n resultFilter: modifyDimensons,\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import { VPNGWInstanceAliasList, VPNGWInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { GetServiceAPIInfo } from '../../common/constants';\nimport _ from 'lodash';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNGWInstanceAliasList;\n InvalidDimensions = VPNGWInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnGateways',\n responseField: 'VpnGatewaySet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n\n getFilterDropdown({ field, region }) {\n if (field === 'zone') {\n const serviceInfo = GetServiceAPIInfo(region, 'cvm');\n return this.doRequest(\n {\n url: this.url + serviceInfo.path,\n },\n serviceInfo.service,\n { region, action: 'DescribeZones' }\n ).then((response) => {\n return _.filter(\n _.map(response.ZoneSet || [], (item) => {\n return { text: item.ZoneName, value: item.Zone, ZoneState: item.ZoneState, Zone: item.Zone };\n }),\n (item) => item.ZoneState === 'AVAILABLE'\n );\n });\n }\n return [];\n }\n}\n","import { VPNXInstanceAliasList, VPNXInvalidDemensions, namespace, templateQueryIdMap } from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\n\nexport default class DCDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = VPNXInstanceAliasList;\n InvalidDimensions = VPNXInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n // 此处service是接口的配置参数,需和plugin.json里一致,和constant.ts中SERVICES_API_INFO保持一致\n InstanceReqConfig = {\n service: 'vpc',\n action: 'DescribeVpnConnections',\n responseField: 'VpnConnectionSet',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n}\n","import _ from 'lodash';\nimport {\n WAFInstanceAliasList,\n WAFInvalidDemensions,\n templateQueryIdMap,\n namespace,\n regionSupported,\n} from './query_def';\nimport { BaseDatasource } from '../_base/datasource';\nimport { t } from '../../../locale';\n\nexport default class CDNDatasource extends BaseDatasource {\n Namespace = namespace;\n InstanceAliasList = WAFInstanceAliasList;\n InvalidDimensions = WAFInvalidDemensions;\n templateQueryIdMap = templateQueryIdMap;\n InstanceReqConfig = {\n service: 'waf',\n // action: 'DescribeDomains', // DescribeMonitorDomains\n action: 'DescribeMonitorDomains', //\n responseField: 'Domains',\n };\n constructor(instanceSettings, backendSrv, templateSrv) {\n super(instanceSettings, backendSrv, templateSrv);\n }\n getRegions() {\n return Promise.resolve(regionSupported.map(({ value }) => ({ value, text: t(value) })));\n }\n async metricFindQuery(query: any, regex?: string) {\n return super.metricFindQuery({ ...query, ...{ region: 'ap-guangzhou' } }, regex);\n }\n\n getOwnDimension(dimensionObject: any, ins: any) {\n const { Edition = '' } = ins;\n return {\n ...dimensionObject,\n edition: {\n Name: 'edition',\n Value: Edition,\n },\n };\n }\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","import coreModule from 'grafana/app/core/core_module';\nimport { APIGATEWAYFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.APIGATEWAYFilterFieldsDescriptor = APIGATEWAYFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n\n const result = rs.map((o) => {\n return {\n text: o.EnvironmentName,\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { BWPFilterFieldsDescriptor } from './query_def';\n\nexport class BWPQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.BWPFilterFieldsDescriptor = BWPFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function bwpQuery() {\n return {\n template: template,\n controller: BWPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('bwpQuery', bwpQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDBFieldsDescriptor } from './query_def';\n\nexport class CDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDBFieldsDescriptor = CDBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'ZoneIds':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cdb', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n`;\n\nexport function cdbQuery() {\n return {\n template: template,\n controller: CDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdbQuery', cdbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNFilterFieldsDescriptor } from './query_def';\n\nexport class CDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNFilterFieldsDescriptor = CDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function cdnQuery() {\n return {\n template: template,\n controller: CDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cdnQuery', cdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CDNPROVINCEFilterFieldsDescriptor, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Isp',\n field: 'isp',\n },\n {\n label: 'Province',\n field: 'district',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CDNPROVINCEFilterFieldsDescriptor = CDNPROVINCEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, field });\n return rs;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CFSQueryDescriptor } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CFSQueryDescriptor = CFSQueryDescriptor;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n const { instance, region } = target;\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n if (!instance || !region) return [];\n\n return fetcher(region, { FunctionName: JSON.parse(instance).FunctionName }).then((res) => {\n // console.log(res, 'res');\n\n return res;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\ncoreModule.directive('cfsQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CKAFKAQueryDescriptor, templateQueryIdMap } from './query_def';\nimport { isTargetEqual } from '../../common/utils';\n\nconst ExtraFields = [\n {\n label: 'ConsumerGroup',\n field: 'consumerGroup',\n },\n {\n label: 'TopicId',\n field: 'topicId',\n },\n {\n label: 'Partition',\n field: 'partition',\n },\n];\n\nexport class CKAFKAQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CKAFKAQueryDescriptor = CKAFKAQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'LoadBalancerId')) return;\n $scope.target.consumerGroup = '';\n $scope.target.topicId = '';\n $scope.target.topicName = '';\n $scope.target.partition = '';\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('ckafka', 'getVariable')(instance);\n if (Array.isArray(instance)) instance = instance[0];\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).InstanceId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n const InstanceId = $scope.getInstanceId();\n const fetcher = $scope.datasource.getServiceFn('ckafka', 'getConsumerGroups');\n const region = $scope.datasource.getServiceFn('ckafka', 'getVariable')(target.region);\n const res = await fetcher(region, { InstanceId, groupname: target.consumerGroup, topicid: target.topicId });\n\n const { TopicList, GroupList, PartitionList } = res;\n const data = {\n GroupList: GroupList.map((group) => {\n group._InstanceAliasValue = group.GroupName;\n return {\n text: group.GroupName,\n value: JSON.stringify(group),\n };\n }),\n TopicList: TopicList.map((topic) => {\n topic._InstanceAliasValue = topic[templateQueryIdMap.topicId];\n return {\n text: topic[templateQueryIdMap.topicId],\n value: JSON.stringify(topic), // 为了获取多维度的值,这里完全可以使用JSON.stringify()将整个对象放进去\n };\n }),\n PartitionList: PartitionList.map((par) => {\n par._InstanceAliasValue = par[templateQueryIdMap.partition];\n return {\n text: String(par[templateQueryIdMap.partition]),\n value: JSON.stringify(par),\n };\n }),\n };\n\n switch (field) {\n case 'consumerGroup':\n return data.GroupList;\n case 'topicId':\n return data.TopicList;\n case 'partition':\n return data.PartitionList;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CKAFKAQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n instance: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('ckafkaQuery', scfQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { get, chain } from 'lodash';\nimport { LOADBALANCEFieldsDescriptor, templateQueryIdMap, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\nimport { isTargetEqual } from '../../common/utils';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LOADBALANCEFieldsDescriptor = LOADBALANCEFieldsDescriptor;\n $scope.serversList = [];\n };\n $scope.onFieldChange = (field) => {\n $scope.onRefresh();\n };\n $scope.onInstanceChange = (n, o) => {\n if (isTargetEqual(n, o, 'InstanceId')) return;\n $scope.target.listener = '';\n $scope.target.servers = '';\n $scope.target.serverPort = '';\n };\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n $scope.getExtraDropdown = async (target) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getListenerList')({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.listener];\n return {\n text: o[templateQueryIdMap.listener],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n $scope.getServersDropdown = async (target) => {\n const { instance, listener } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const listenerId = $scope.getVariableId(listener, 'listener');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const serversList = await $scope.datasource.getServiceFn(\n service,\n 'getServerList'\n )({ region, instanceId, listenerId });\n $scope.serversList = serversList;\n const res = chain(serversList)\n .map((item) => {\n item._InstanceAliasValue = get(item, 'PrivateIpAddresses.0');\n return {\n text: get(item, 'PrivateIpAddresses.0'),\n value: JSON.stringify(item),\n };\n })\n .uniqBy('text')\n .value();\n return res;\n };\n $scope.getServerPortDropdown = async (target) => {\n const { servers } = $scope.target;\n let serverPortList: any[] = [];\n try {\n const serversSource = JSON.parse(servers);\n serverPortList = chain($scope.serversList)\n .filter((item) => get(serversSource, 'PrivateIpAddresses.0') === get(item, 'PrivateIpAddresses.0'))\n .map((item) => {\n item._InstanceAliasValue = get(item, 'Port');\n return {\n text: `${get(item, 'Port')}`,\n value: JSON.stringify(item),\n };\n })\n .value();\n } catch (error) {}\n return serverPortList;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n namespace: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\ncoreModule.directive('clbQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CLSFilterFieldsDescriptor, queryEditorName } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = CLSFilterFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import createQuery from '../_base/query';\nimport { InstanceQueryDescriptor } from './query_def';\n\ncreateQuery('cmqQuery', {\n fieldDescriptor: InstanceQueryDescriptor,\n instanceDocUrl: 'https://cloud.tencent.com/document/api/406/42624',\n namespace: 'QCE/CMQ',\n});\n","import coreModule from 'grafana/app/core/core_module';\nimport { InstanceQueryDescriptor } from './query_def';\n\nconst ExtraFields = [\n {\n label: 'Subscription(订阅)',\n field: 'subscriptionId',\n },\n];\n\nexport class CmqTopicQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getTopicName = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).TopicName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'subscriptionId') {\n const TopicName = $scope.getTopicName();\n let data = $scope.cacheMap[TopicName];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('cmqTopic', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('cmqTopic', 'fetchAllSubscription');\n const datas = await fetcher(region, { TopicName });\n data = datas.map((item) => {\n item._InstanceAliasValue = item.SubscriptionId;\n return { text: item.SubscriptionId, value: JSON.stringify(item) };\n });\n }\n\n // 缓存\n $scope.cacheMap[TopicName] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: CmqTopicQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('cmqTopicQuery', scfQuery);\n","import _ from 'lodash';\n\nfunction GetInstanceQueryParams(queries: any = {}) {\n const params: any = {};\n if (!_.isEmpty(queries)) {\n params.Limit = _.get(queries, 'Limit', 20) || 20;\n params.Offset = _.get(queries, 'Offset', 0) || 0;\n queries = _.omit(queries, ['Offset', 'Limit']);\n _.forEach(queries, (item: any, key) => {\n if (_.isArray(item)) {\n item = _.compact(item);\n if (item.length > 0) {\n params[key] = _.uniq(item);\n }\n } else if (_.isObject(item)) {\n if (_.isNumber(_.get(item, 'value', undefined)) || !_.isEmpty(_.get(item, 'value', undefined))) {\n params[key] = _.get(item, 'value');\n }\n } else if (_.isNumber(item) || !_.isEmpty(item)) {\n params[key] = item;\n }\n });\n }\n return params;\n}\n\n// 与名称挂钩的变量\nconst InstanceAliasList = ['BucketName'];\nexport { InstanceAliasList, GetInstanceQueryParams };\n\n// 界面状态模型,default\nexport default {\n region: '',\n metricName: '',\n metricUnit: '',\n period: undefined,\n dimensionObject: null,\n instance: '',\n instanceAlias: 'BucketName',\n queries: {},\n};\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { CVMFilterFieldsDescriptor } from './query_def';\n\nexport class CVMQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.CVMFilterFieldsDescriptor = CVMFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function cvmQuery() {\n return {\n template: template,\n controller: CVMQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('cvmQuery', cvmQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { DCDBFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'nodeid',\n field: 'NodeId',\n action: 'DescribeDCDBInstanceNodeInfo',\n },\n {\n label: 'shardid',\n field: 'ShardId',\n action: 'DescribeDCDBShards',\n },\n];\nconst dropdownTextConfig = {\n DescribeDCDBInstanceNodeInfo: 'NodeId',\n DescribeDCDBShards: 'ShardInstanceId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.DCDBFilterFieldsDescriptor = DCDBFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const instanceId = $scope.getInstanceId();\n const payload: any = {\n InstanceId: instanceId,\n Limit: 100,\n };\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { ECMBLOCKSTORAGEFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n // {\n // label: 'nodeid',\n // field: 'NodeId',\n // action: 'DescribeInstanceNodeInfo',\n // },\n {\n label: 'diskId',\n field: 'diskId',\n },\n];\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.ECMBLOCKSTORAGEFilterFieldsDescriptor = ECMBLOCKSTORAGEFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n // $scope.getInstanceId = () => {\n // let { instance } = $scope.target;\n // const service = GetServiceFromNamespace($scope.namespace);\n // instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n // if (!instance) {\n // return '';\n // }\n // try {\n // instance = JSON.parse(instance)[templateQueryIdMap.instance];\n // } catch (error) {\n // console.log();\n // }\n // return instance;\n // };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = (target, action) => {\n let { instance } = target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n try {\n instance = JSON.parse(instance);\n const { DataDisks: dataDisks } = instance;\n return dataDisks.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.diskId];\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n } catch (error) {\n // console.log('instance error', instance);\n const payload: any = {\n InstanceId: instance,\n };\n const rs = $scope.datasource.getServiceFn(service, 'getDiskList')({ payload });\n const result = rs.map((o) => {\n return {\n text: o[templateQueryIdMap.diskId],\n value: JSON.stringify(o),\n };\n });\n return result;\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { GSEFilterFieldsDescriptor, templateQueryIdMap, queryEditorName, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'fleetId',\n field: 'FleetId',\n },\n {\n label: 'queueName',\n field: 'Name',\n },\n];\nconst actionMaps = {\n FleetId: 'getFleetList',\n Name: 'getQueueNameList',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.GSEFilterFieldsDescriptor = GSEFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n // console.log({namespace, service});\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraDropdown = async (target, field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const instanceId = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n // const rs = await $scope.datasource.getServiceFn(service, 'getEnvironmentNameList')({ region, instanceId });\n let rs = await $scope.datasource.getServiceFn(service, actionMaps[field])({ region, instanceId });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[field]];\n return {\n text: o[templateQueryIdMap[field]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LBFilterDescriptor } from './query_def';\n\nexport class LBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n // $scope.LBQueryDescriptor = LBQueryDescriptor;\n $scope.LBFilterDescriptor = LBFilterDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('cvm', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function lbQuery() {\n return {\n template: template,\n controller: LBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lbQuery', lbQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { LighthouseFilterFieldsDescriptor } from './query_def';\n\nexport class LighthouseQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.LighthouseFilterFieldsDescriptor = LighthouseFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'zone':\n return $scope.getZones();\n default:\n return [];\n }\n };\n\n $scope.getZones = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getZones('lighthouse', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function lighthouseQuery() {\n return {\n template: template,\n controller: LighthouseQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('lighthouseQuery', lighthouseQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map, get, find, times } from 'lodash';\nimport { MONGODBFieldsDescriptor, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class MongoDBQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.MONGODBFieldsDescriptor = MONGODBFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.onInstanceChange = (n, o) => {\n if (n === o) {\n return;\n }\n $scope.target.replica = '';\n $scope.target.node = '';\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {\n // console.log();\n }\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, type) => {\n const { instance, replica } = $scope.target;\n const service = GetServiceFromNamespace('QCE/CMONGO');\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const [res] = await $scope.datasource.getServiceFn(service, 'getInstances')(region, {\n InstanceIds: [instanceId],\n });\n if (type === 'replica') {\n return map(get(res, 'ReplicaSets', []), (item) => {\n item._InstanceAliasValue = item.ReplicaSetId;\n return { text: item.ReplicaSetId, value: JSON.stringify(item) };\n });\n }\n if (type === 'node' && replica !== '') {\n const replicaId = $scope.getVariableId(replica, 'replica');\n const targetReplica = find(get(res, 'ReplicaSets', []), { ReplicaSetId: replicaId });\n const options = times(targetReplica.SecondaryNum, (index) => {\n const nodeId = `${targetReplica.ReplicaSetId}-node-slave${index}`;\n return {\n text: nodeId,\n value: JSON.stringify({ NodeId: nodeId, _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${nodeId}` }),\n };\n });\n return [\n {\n text: `${targetReplica.ReplicaSetId}-node-primary`,\n value: JSON.stringify({\n NodeId: `${targetReplica.ReplicaSetId}-node-primary`,\n _InstanceAliasValue: `${targetReplica.ReplicaSetId} - ${`${targetReplica.ReplicaSetId}-node-primary`}`,\n }),\n },\n ...options,\n ];\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function mongodbQuery() {\n return {\n template: template,\n controller: MongoDBQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onRefresh: '&',\n onChange: '&',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', (newValue, oldValue) => {\n scope.onInstanceChange?.(newValue, oldValue);\n });\n },\n };\n}\n\ncoreModule.directive('mongodbQuery', mongodbQuery);\n","import { InstanceQueryDescriptor, templateQueryIdMap } from './query_def';\nimport coreModule from 'grafana/app/core/core_module';\n\nconst ExtraFields = [\n {\n label: 'NodeIP',\n field: 'nodeIP',\n },\n];\n\nexport class MrQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.InstanceQueryDescriptor = InstanceQueryDescriptor;\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n // 各个实例下的订阅,由于不想每次都重复发请求,所以这里做了一层缓存,数据结构为{ [instanceId]: { } }\n $scope.cacheMap = {};\n\n $scope.getExtraFields = () => {\n return Object.keys($scope.dims ?? {}).some((item: string) => item.startsWith('host4')) ? ExtraFields : [];\n // return ExtraFields;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).ClusterId;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.onExtraFieldChange = (field) => {\n $scope.onRefresh();\n };\n\n $scope.getExtraDropdown = async (target, field) => {\n if (field === 'nodeIP') {\n const InstanceId = $scope.getInstanceId();\n let data = $scope.cacheMap[InstanceId];\n\n if (!data) {\n const region = $scope.datasource.getServiceFn('mrHDFS', 'getVariable')(target.region);\n const fetcher = $scope.datasource.getServiceFn('mrHDFS', 'fetchAllNodes');\n const dataT = await fetcher(region, { InstanceId, NodeFlag: 'all' });\n data = dataT.map((item) => {\n item._InstanceAliasValue = item[templateQueryIdMap.node];\n return {\n text: item[templateQueryIdMap.node],\n value: JSON.stringify(item),\n };\n });\n }\n\n // 缓存\n $scope.cacheMap[InstanceId] = data;\n return data;\n }\n return [];\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n
\n \n
\n\n \n \n
\n
\n
\n
\n\n
\n`;\n\nexport function mrQuery() {\n return {\n template: template,\n controller: MrQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('mrQuery', mrQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { NATGatewayFilterFieldsDescriptor } from './query_def';\n\nexport class NatGatewayQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.NATGatewayFilterFieldsDescriptor = NATGatewayFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function natGatewayQuery() {\n return {\n template: template,\n controller: NatGatewayQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('natGatewayQuery', natGatewayQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { OVCDNFilterFieldsDescriptor } from './query_def';\n\nexport class OVCDNQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.OVCDNFilterFieldsDescriptor = OVCDNFilterFieldsDescriptor;\n };\n\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n\n
\n`;\n\nexport function ovCdnQuery() {\n return {\n template: template,\n controller: OVCDNQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('ovCdnQuery', ovCdnQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { PCXFieldsDescriptor } from './query_def';\n\nexport class PCXQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.PCXFieldsDescriptor = PCXFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n case 'vpcId':\n return $scope.getVpcIds();\n default:\n return [];\n }\n };\n\n $scope.getVpcIds = () => {\n if (!$scope.region) {\n return [];\n }\n return $scope.datasource.getVpcIds('pcx', $scope.region);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function pcxQuery() {\n return {\n template: template,\n controller: PCXQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('pcxQuery', pcxQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { RedisFieldsDescriptor } from './query_def';\n\nexport class RedisQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisFieldsDescriptor = RedisFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function redisQuery() {\n return {\n template: template,\n controller: RedisQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('redisQuery', redisQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { map } from 'lodash';\nimport { RedisMemFieldsDescriptor, templateQueryIdMap, NodeType, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nexport class RedisMemQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.RedisMemFieldsDescriptor = RedisMemFieldsDescriptor;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.rnodeid = '';\n $scope.target.pnodeid = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getDropdown = (field) => {\n switch (field) {\n default:\n return [];\n }\n };\n\n $scope.getVariableId = (data, type) => {\n let variableData = data;\n const service = GetServiceFromNamespace(namespace);\n\n variableData = $scope.datasource.getServiceFn(service, 'getVariable')(variableData);\n if (!variableData) {\n return '';\n }\n try {\n variableData = JSON.parse(variableData)[templateQueryIdMap[type]];\n } catch (error) {}\n return variableData;\n };\n\n $scope.getExtraDropdown = async (target, nodetype) => {\n const { instance } = $scope.target;\n const service = GetServiceFromNamespace(namespace);\n const instanceId = $scope.getVariableId(instance, 'instance');\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const rs = await $scope.datasource.getServiceFn(service, 'getInstanceNodeInfo')({ region, instanceId });\n\n const ndoeTypeIndex = NodeType.indexOf(nodetype);\n return ndoeTypeIndex === -1 ? [] : map(rs[ndoeTypeIndex], (item) => ({ text: item.NodeId, value: item.NodeId }));\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n`;\n\nexport function redisMemQuery() {\n return {\n template: template,\n controller: RedisMemQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\n\ncoreModule.directive('redisMemQuery', redisMemQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { SCFQueryDescriptor, templateQueryIdMap } from './query_def';\n\nexport class SCFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.SCFQueryDescriptor = SCFQueryDescriptor;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n instance = $scope.datasource.getServiceFn('scf', 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance).FunctionName;\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n\n $scope.getVersions = async (target) => {\n // console.log(2222);\n\n // return [{ text: 1, value: 1 }];\n // console.log(target, 'target');\n // let { instance, region } = target;\n const FunctionName = $scope.getInstanceId();\n const region = $scope.datasource.getServiceFn('scf', 'getVariable')(target.region);\n if (!FunctionName || !region) return [];\n\n const fetcher = $scope.datasource.getServiceFn('scf', 'getVersions');\n\n return fetcher(region, { FunctionName }).then((res) => {\n // console.log(res, 'res');\n const result = res.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap.version];\n return {\n text: o[templateQueryIdMap.version],\n value: JSON.stringify(o),\n };\n });\n return result;\n });\n };\n // $scope.onChecked = (srcField, dstField) => {\n // if ($scope.target.queries[srcField] === true) {\n // $scope.target.queries[dstField] = false;\n // }\n // $scope.onChange();\n // };\n\n // $scope.getDropdown = (field) => {\n // switch (field) {\n // case 'zone':\n // return $scope.getZones();\n // default:\n // return [];\n // }\n // };\n\n // $scope.getZones = () => {\n // if (!$scope.region) {\n // return [];\n // }\n // return $scope.datasource.getZones('cvm', $scope.region);\n // };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n \n
\n \n \n
\n
\n
\n\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: SCFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n },\n };\n}\ncoreModule.directive('scfQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, queryEditorName, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'environmentId',\n field: 'environmentId',\n action: 'DescribeEnvironments',\n },\n {\n label: 'topicName',\n field: 'topicName',\n action: 'DescribeTopics',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeTopics: 'topicName',\n DescribeEnvironments: 'environmentId',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeTopics') {\n let evId = $scope.target.environmentId;\n try {\n evId = JSON.parse(evId);\n evId = evId[templateQueryIdMap.environmentId];\n } catch (e) {}\n payload.EnvironmentId = evId;\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive(queryEditorName, sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Node',\n field: 'node',\n action: 'DescribeRabbitMQNodeList',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRabbitMQNodeList: 'node',\n};\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.node = '';\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n InstanceId: $scope.getInstanceId(),\n };\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n label: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRabbitmqQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TDMQFilterFieldsDescriptor, namespace, templateQueryIdMap } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields = [\n {\n label: 'Namespace',\n field: 'namespace',\n action: 'DescribeRocketMQNamespaces',\n },\n {\n label: 'Group',\n field: 'group',\n action: 'DescribeRocketMQGroups',\n },\n];\n\nconst dropdownTextConfig = {\n DescribeRocketMQNamespaces: 'namespace',\n DescribeRocketMQGroups: 'group',\n};\nexport class TdmqRocketmqQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TDMQFilterFieldsDescriptor = TDMQFilterFieldsDescriptor;\n $scope.ExtraFields = ExtraFields;\n $scope.namespace = namespace;\n };\n\n $scope.clearExtrasAlias = () => {\n $scope.target.namespace = '';\n $scope.target.group = '';\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.getInstanceId = () => {\n let { instance } = $scope.target;\n const service = GetServiceFromNamespace($scope.namespace);\n instance = $scope.datasource.getServiceFn(service, 'getVariable')(instance);\n if (!instance) {\n return '';\n }\n try {\n instance = JSON.parse(instance)[templateQueryIdMap.instance];\n } catch (error) {\n // console.log();\n }\n return instance;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}) || item.label in ($scope.dims ?? {}));\n };\n $scope.getExtraDropdown = async (target, action) => {\n const service = GetServiceFromNamespace($scope.namespace);\n const region = $scope.datasource.getServiceFn(service, 'getVariable')(target.region);\n const payload: any = {\n Limit: 100,\n ClusterId: $scope.getInstanceId(),\n };\n if (action === 'DescribeRocketMQGroups') {\n let namespace = $scope.target.namespace;\n try {\n namespace = JSON.parse(namespace)[templateQueryIdMap.namespace];\n } catch (e) {}\n payload.NamespaceId = $scope.datasource.getServiceFn(service, 'getVariable')(namespace);\n }\n\n const rs = await $scope.datasource.getServiceFn(service, 'getConsumerList')({ region, action, payload });\n const result = rs.map((o) => {\n o._InstanceAliasValue = o[templateQueryIdMap[dropdownTextConfig[action]]];\n return {\n text: o[templateQueryIdMap[dropdownTextConfig[action]]],\n value: JSON.stringify(o),\n };\n });\n return result;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function tdmqRocketmqQuery() {\n return {\n template: template,\n controller: TdmqRocketmqQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n link: (scope, element, attrs) => {\n scope.$watch('target.instance', () => {\n scope.clearExtrasAlias?.();\n });\n scope.$watch('target.metricName', () => {\n scope.clearExtrasAlias?.();\n });\n },\n };\n}\ncoreModule.directive('tdmqRocketmqQuery', tdmqRocketmqQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { isEmpty } from 'lodash';\nimport { TKEFilterFieldsDescriptor } from './query_def';\n\nexport class QueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TKEFilterFieldsDescriptor = TKEFilterFieldsDescriptor;\n };\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.addCondition = () => {\n $scope.target.conditions.push({ Key: '', Operator: '=', Value: '' });\n };\n\n $scope.deleteCondition = (index) => {\n const targetCondition = $scope.target.conditions[index];\n if (isEmpty(targetCondition.Key) || isEmpty(targetCondition.Operator) || isEmpty(targetCondition.Value)) {\n $scope.target.conditions.splice(index, 1);\n } else {\n $scope.target.conditions.splice(index, 1);\n $scope.onRefresh();\n }\n };\n\n $scope.getOperator = () => {\n return Promise.resolve([\n { text: '=', value: '=' },\n { text: 'in', value: 'in' },\n ]);\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n`;\n\nexport function sQuery() {\n return {\n template: template,\n controller: QueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('tkeQuery', sQuery);\n","import coreModule from 'grafana/app/core/core_module';\nimport { TSFFieldsDescriptor } from './query_def';\n\nexport class TSFQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.TSFFieldsDescriptor = TSFFieldsDescriptor;\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n \n
\n
\n \n \n \n \n \n
\n
\n\n
\n`;\n\nexport function tsfQuery() {\n return {\n template: template,\n controller: TSFQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n onChange: '&',\n },\n };\n}\n\ncoreModule.directive('tsfQuery', tsfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import coreModule from 'grafana/app/core/core_module';\nimport { VBCFilterFieldsDescriptor, namespace } from './query_def';\nimport { GetServiceFromNamespace } from '../../common/constants';\n\nconst ExtraFields: any = [\n // {\n // label: 'SRegion',\n // field: 'SRegion',\n // },\n // {\n // label: 'DRegion',\n // field: 'DRegion',\n // },\n];\n\nexport class VBCQueryCtrl {\n /** @ngInject */\n constructor($scope, $rootScope) {\n $scope.init = () => {\n $scope.VBCFilterFieldsDescriptor = VBCFilterFieldsDescriptor;\n $scope.namespace = namespace;\n };\n $scope.getExtraFields = () => {\n return ExtraFields.filter((item) => item.field in ($scope.dims ?? {}));\n };\n\n $scope.getExtraDropdown = (field) => {\n const service = GetServiceFromNamespace($scope.namespace);\n // return $scope.datasource.getServiceFn(service, 'getFilterDropdown')({ field })\n return $scope.datasource.getFilterDropdown(service, { field });\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n`;\n\nexport function scfQuery() {\n return {\n template: template,\n controller: VBCQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n onRefresh: '&',\n dims: '=',\n },\n };\n}\ncoreModule.directive('vbcQuery', scfQuery);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","import queryFactory from '../_base/query';\nimport { queryEditorConfig, queryEditorName } from './query_def';\nqueryFactory(queryEditorName, queryEditorConfig);\n","var map = {\n\t\".\": 20,\n\t\"./\": 20,\n\t\"./MonitorDatasource\": 188,\n\t\"./MonitorDatasource.ts\": 188,\n\t\"./_base/datasource\": 3,\n\t\"./_base/datasource.ts\": 3,\n\t\"./_base/query\": 7,\n\t\"./_base/query.ts\": 7,\n\t\"./_base/query_filter\": 195,\n\t\"./_base/query_filter.ts\": 195,\n\t\"./_base/types\": 196,\n\t\"./_base/types.ts\": 196,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query\": 131,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def\": 23,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query\": 132,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def\": 31,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query\": 133,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def\": 32,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query\": 134,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def\": 33,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query\": 135,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def\": 63,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query\": 136,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def\": 34,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query\": 137,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def\": 44,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query\": 138,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def\": 64,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query\": 139,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def\": 35,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query\": 140,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def\": 36,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query\": 141,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def\": 45,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query\": 142,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def\": 57,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query\": 143,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def\": 11,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query\": 144,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def\": 12,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query\": 145,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def\": 29,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query\": 146,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def\": 58,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query\": 147,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def\": 37,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def\": 148,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query\": 149,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def\": 38,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query\": 150,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def\": 59,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query\": 151,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def\": 27,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query\": 152,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def\": 46,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query\": 153,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def\": 16,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query\": 154,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def\": 47,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query\": 155,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def\": 48,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query\": 156,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def\": 39,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query\": 157,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def\": 40,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query\": 158,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def\": 21,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query\": 159,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def\": 49,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query\": 160,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def\": 15,\n\t\"./gse/query_def.ts\": 15,\n\t\"./index\": 20,\n\t\"./index.ts\": 20,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query\": 161,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def\": 65,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query\": 162,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def\": 56,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query\": 163,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def\": 50,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query\": 164,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def\": 24,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query\": 165,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def\": 66,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query\": 166,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def\": 67,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query\": 167,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def\": 60,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query\": 168,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def\": 41,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query\": 169,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def\": 51,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query\": 170,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def\": 61,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query\": 171,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def\": 17,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query\": 172,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def\": 28,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query\": 173,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def\": 30,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query\": 174,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def\": 52,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query\": 175,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def\": 13,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query\": 176,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def\": 18,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query\": 177,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def\": 19,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query\": 178,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def\": 74,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query\": 179,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def\": 62,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query\": 180,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def\": 25,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query\": 181,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def\": 53,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query\": 182,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def\": 42,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query\": 183,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def\": 54,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query\": 184,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def\": 55,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query\": 185,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def\": 43,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 186;","import { map, find, filter, indexOf, cloneDeep } from 'lodash';\nimport queryPart from './query_part';\nimport kbn from 'grafana/app/core/utils/kbn';\nimport { APMQuery, APMQueryTag } from './types';\nimport { ScopedVars } from '@grafana/data';\nimport { TemplateSrv } from '@grafana/runtime';\nimport { defaultQueryInfo } from '../types';\n\nexport default class APMQueryModel {\n target: APMQuery;\n selectModels: any[] = [];\n queryBuilder: any;\n groupByParts: any;\n templateSrv: any;\n scopedVars: any;\n refId?: string;\n\n /** @ngInject */\n constructor(target: APMQuery, templateSrv?: TemplateSrv, scopedVars?: ScopedVars) {\n this.target = target;\n this.templateSrv = templateSrv;\n this.scopedVars = scopedVars;\n\n target.policy = target.policy || defaultQueryInfo.APMServiceParams.policy;\n target.resultFormat = target.resultFormat || defaultQueryInfo.APMServiceParams.resultFormat;\n target.orderBy = target.orderBy || defaultQueryInfo.APMServiceParams.orderBy;\n target.orderType = target.orderType || defaultQueryInfo.APMServiceParams.orderType;\n target.tags = target.tags || cloneDeep(defaultQueryInfo.APMServiceParams.tags);\n target.groupBy = target.groupBy || cloneDeep(defaultQueryInfo.APMServiceParams.groupBy);\n target.select = target.select || cloneDeep(defaultQueryInfo.APMServiceParams.select);\n\n this.updateProjection();\n }\n\n updateProjection() {\n this.selectModels = map(this.target.select, (parts: any) => {\n return map(parts, queryPart.create);\n });\n this.groupByParts = map(this.target.groupBy, queryPart.create);\n }\n\n updatePersistedParts() {\n this.target.select = map(this.selectModels, (selectParts) => {\n return map(selectParts, (part: any) => {\n return { type: part.def.type, params: part.params };\n });\n });\n }\n\n hasGroupByTime() {\n return find(this.target.groupBy, (g: any) => g.type === 'time');\n }\n\n hasFill() {\n return find(this.target.groupBy, (g: any) => g.type === 'fill');\n }\n\n addGroupBy(value: string) {\n let stringParts = value.match(/^(\\w+)\\((.*)\\)$/);\n\n if (!stringParts || !this.target.groupBy) {\n return;\n }\n\n const typePart = stringParts[1];\n const arg = stringParts[2];\n const partModel = queryPart.create({ type: typePart, params: [arg] });\n const partCount = this.target.groupBy.length;\n\n if (partCount === 0) {\n this.target.groupBy.push(partModel.part);\n } else if (typePart === 'time') {\n this.target.groupBy.splice(0, 0, partModel.part);\n } else if (typePart === 'tag') {\n if (this.target.groupBy[partCount - 1].type === 'fill') {\n this.target.groupBy.splice(partCount - 1, 0, partModel.part);\n } else {\n this.target.groupBy.push(partModel.part);\n }\n } else {\n this.target.groupBy.push(partModel.part);\n }\n\n this.updateProjection();\n }\n\n removeGroupByPart(part: { def: { type: string } }, index: number) {\n const categories = queryPart.getCategories();\n\n if (part.def.type === 'time') {\n // remove fill\n this.target.groupBy = filter(this.target.groupBy, (g: any) => g.type !== 'fill');\n // remove aggregations\n this.target.select = map(this.target.select, (s: any) => {\n return filter(s, (part: any) => {\n const partModel = queryPart.create(part);\n if (partModel.def.category === categories.Aggregations) {\n return false;\n }\n if (partModel.def.category === categories.Selectors) {\n return false;\n }\n return true;\n });\n });\n }\n\n this.target.groupBy!.splice(index, 1);\n this.updateProjection();\n }\n\n removeSelect(index: number) {\n this.target.select!.splice(index, 1);\n this.updateProjection();\n }\n\n removeSelectPart(selectParts: any[], part: any) {\n // if we remove the field remove the whole statement\n if (part.def.type === 'field') {\n if (this.selectModels.length > 1) {\n const modelsIndex = indexOf(this.selectModels, selectParts);\n this.selectModels.splice(modelsIndex, 1);\n }\n } else {\n const partIndex = indexOf(selectParts, part);\n selectParts.splice(partIndex, 1);\n }\n\n this.updatePersistedParts();\n }\n\n addSelectPart(selectParts: any[], type: string) {\n const partModel = queryPart.create({ type: type });\n partModel.def.addStrategy(selectParts, partModel, this);\n this.updatePersistedParts();\n }\n\n getMeasurementAndPolicy(interpolate: any) {\n let policy = this.target.policy;\n let measurement = this.target.measurement || 'measurement';\n\n if (!measurement.match('^/.*/$')) {\n measurement = '\"' + measurement + '\"';\n } else if (interpolate) {\n measurement = this.templateSrv.replace(measurement, this.scopedVars, 'regex');\n }\n\n if (policy !== 'default') {\n policy = '\"' + this.target.policy + '\".';\n } else {\n policy = '';\n }\n\n return policy + measurement;\n }\n\n interpolateQueryStr(value: any[], variable: { multi: any; includeAll: any }, defaultFormatFn: any) {\n // if no multi or include all do not regexEscape\n if (!variable.multi && !variable.includeAll) {\n return value;\n }\n\n if (typeof value === 'string') {\n return kbn.regexEscape(value);\n }\n\n const escapedValues = map(value, kbn.regexEscape);\n return '(' + escapedValues.join('|') + ')';\n }\n\n render(interpolate?: boolean) {\n const target = this.target;\n\n if (target.rawQuery) {\n if (interpolate) {\n return this.templateSrv.replace(target.query, this.scopedVars, this.interpolateQueryStr);\n } else {\n return target.query;\n }\n }\n\n let query = 'select ';\n let i;\n let y;\n // 自定义特殊处理\n if (this.selectModels[0][1]?.part.type === 'custom') {\n query += this.selectModels[0][0].params[0];\n } else {\n for (i = 0; i < this.selectModels?.length; i++) {\n const parts = this.selectModels[i];\n let selectText = '';\n for (y = 0; y < parts.length; y++) {\n const part = parts[y];\n selectText = part.render(selectText);\n }\n\n if (i > 0) {\n query += ', ';\n }\n query += selectText;\n }\n }\n\n query += ' from ' + this.getMeasurementAndPolicy(interpolate) + ' where ';\n const conditions = map(target.tags, (tag, index) => {\n return this.renderTagCondition(tag, index, interpolate);\n });\n\n if (conditions.length > 0) {\n query += '(' + conditions.join(' ') + ') and ';\n }\n\n query += '$timeFilter';\n\n let groupBySection = '';\n const len = this.groupByParts.length;\n let groupByParts = this.groupByParts;\n if (len > 2) {\n groupByParts = this.groupByParts.filter((item) => item.def.type !== 'time');\n }\n for (i = 0; i < groupByParts.length; i++) {\n const part = groupByParts[i];\n if (i > 0) {\n // for some reason fill has no separator\n groupBySection += part.def.type === 'fill' ? ' ' : ', ';\n }\n groupBySection += part.render('');\n }\n\n if (groupBySection.length) {\n query += ' group by ' + groupBySection;\n }\n\n if (target.fill) {\n query += ' fill(' + target.fill + ')';\n }\n if (target.orderType) {\n query += ' order by ' + target.orderType;\n }\n if (target.orderBy) {\n query += ' ' + target.orderBy;\n }\n\n if (target.limit) {\n query += ' limit ' + target.limit;\n }\n\n if (target.slimit) {\n query += ' slimit ' + target.slimit;\n }\n\n if (target.tz) {\n query += \" tz('\" + target.tz + \"')\";\n }\n\n return query;\n }\n\n renderAdhocFilters(filters: any[]) {\n const conditions = map(filters, (tag, index) => {\n return this.renderTagCondition(tag, index, true);\n });\n return conditions.join(' ');\n }\n\n private renderTagCondition(tag: APMQueryTag, index: number, interpolate?: boolean) {\n // FIXME: merge this function with query_builder/renderTagCondition\n let str = '';\n let operator = tag.operator;\n let value = tag.value;\n if (index > 0) {\n str = (tag.condition.toLowerCase() || 'and') + ' ';\n }\n\n if (!operator) {\n if (/^\\/.*\\/$/.test(value)) {\n operator = '=~';\n } else {\n operator = '=';\n }\n }\n\n // quote value unless regex\n if (operator !== '=~' && operator !== '!~') {\n if (interpolate) {\n value = this.templateSrv.replace(value, this.scopedVars);\n }\n if (operator !== '>' && operator !== '<') {\n value = \"'\" + value.replace(/\\\\/g, '\\\\\\\\').replace(/\\'/g, \"\\\\'\") + \"'\";\n }\n if (operator === 'in') {\n value = '(' + value + ')';\n }\n } else if (interpolate) {\n value = this.templateSrv.replace(value, this.scopedVars, 'regex');\n }\n\n return str + '\"' + tag.key + '\" ' + operator + ' ' + value;\n }\n}\n","import _ from 'lodash';\nimport { Datasources, SERVICES } from './index';\nimport { GetServiceFromNamespace, ParseMetricQuery } from '../common/constants';\nimport { serviceGroupBy } from '../common/utils';\nimport { LoadingState } from '@grafana/data';\n\nexport default interface DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n query: (options: any) => any;\n testDatasource: () => any;\n metricFindQuery: (query: any) => any;\n getRegions?: (service: string) => any;\n getMetrics: (service: string, region: string) => any;\n getInstances: (service: string, region: string, params: any) => any;\n getZones?: (service: string, region: string) => any;\n}\n\nexport class TCMonitorDatasource implements DatasourceInterface {\n instanceSettings: any;\n backendSrv: any;\n templateSrv: any;\n\n /** @ngInject */\n constructor(instanceSettings, backendSrv, templateSrv) {\n this.instanceSettings = instanceSettings;\n this.backendSrv = backendSrv;\n this.templateSrv = templateSrv;\n _.forEach(Datasources, (_class: any, key) => {\n this[key] = new _class(this.instanceSettings, this.backendSrv, this.templateSrv);\n });\n }\n\n // 根据 Datasource Config 配置时勾选的监控服务项,获取相应的命名空间\n getNamespaces() {\n const namespaces: any[] = [];\n _.forEach(SERVICES, (service) => {\n if (this.instanceSettings.jsonData[service.service] === true) {\n // namespaces.push(service.namespace);\n namespaces.push(service);\n }\n });\n return namespaces;\n }\n\n getCascaderNamespaces() {\n const validServices = SERVICES.filter((service) => this.instanceSettings.jsonData[service.service]);\n return serviceGroupBy(validServices);\n }\n\n getSelectedServices() {\n const namespaces = this.getNamespaces();\n return _.map(namespaces, ({ namespace }) => {\n return GetServiceFromNamespace(namespace);\n });\n }\n\n /**\n * 根据 Panel 的配置项,获取相应的监控数据\n *\n * @param options Panel 的配置参数,示例如下\n * {\n * cacheTimeout: undefined,\n * dashboardId: 41,\n * interval: \"30s\",\n * intervalMs: 30000,\n * maxDataPoints: 554,\n * panelId: 2,\n * range: {\n * from: Moment,\n * to: Moment,\n * raw: {from: \"now-6h\", to: \"now\"}\n * },\n * rangeRaw: {from: \"now-6h\", to: \"now\"},\n * scopedVars: {__interval: {…}, __interval_ms: {…}}\n * targets: [\n * {\n * namespace: \"QCE/CVM\",\n * refId: \"A\",\n * service: \"cvm\",\n * showInstanceDetails: false,\n * cvm: {\n * dimensionObject: {InstanceId: {…}}\n * instance: \"\",\n * instanceAlias: \"InstanceId\",\n * metricName: \"AccOuttraffic\",\n * metricUnit: \"MB\",\n * period: 10,\n * queries: {Filters: {…}, InstanceIds: Array(1), Limit: 20, Offset: 0, filtersChecked: false, …},\n * region: \"ap-beijing\"\n * },\n * cdb: {},\n * },\n * ],\n * timezone: \"browser\"\n * }\n * @return 返回数据对象,示例如下\n * {\n * data: [\n * {\n * \"target\": \"AccOuttraffic - ins-123\",\n * \"datapoints\": [\n * [861, 1450754160000],\n * [767, 1450754220000]\n * ]\n * }\n * ]\n * }\n */\n query(options: any) {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n const optionsTemp = _.cloneDeep(options);\n const targets = _.filter(optionsTemp.targets, (item) => item.service === service);\n optionsTemp.targets = targets;\n if (optionsTemp.targets.length > 0) {\n const promiseTemp = this[`${_.toUpper(service)}Datasource`].query(optionsTemp);\n if (promiseTemp) {\n promises.push(promiseTemp);\n }\n }\n });\n if (promises.length === 0) {\n return Promise.resolve({ data: [], state: LoadingState.Done });\n }\n return Promise.all(promises).then((results) => {\n return { data: _.flatten(results), state: LoadingState.Done };\n });\n }\n\n /**\n * 获取模板变量的选择项列表\n *\n * @param query 模板变量配置填写的 Query 参数字符串\n */\n metricFindQuery(query: string, options?: any) {\n const queries = ParseMetricQuery(query);\n const service = GetServiceFromNamespace(queries['namespace'] || '');\n\n if (_.isEmpty(queries) || !queries['namespace'] || !queries['action'] || !service) {\n return Promise.resolve([]);\n }\n if (this[`${_.toUpper(service)}Datasource`].metricFindQuery) {\n const result = this[`${_.toUpper(service)}Datasource`].metricFindQuery(\n queries,\n _.get(options, 'variable.regex', undefined)\n );\n if (result) {\n return result;\n }\n }\n return Promise.resolve([]);\n }\n\n /**\n * 获取地域列表\n * @param service\n */\n getRegions(service) {\n if (this[`${_.toUpper(service)}Datasource`].getRegions) {\n return this[`${_.toUpper(service)}Datasource`].getRegions();\n }\n return [];\n }\n\n /**\n * 获取监控指标列表\n * @param service\n * @param region\n */\n getMetrics(service, region) {\n return this[`${_.toUpper(service)}Datasource`].getMetrics(region);\n }\n\n /**\n * 获取可用区列表\n * @param service\n * @param region\n */\n getZones(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getZones) {\n return this[`${_.toUpper(service)}Datasource`].getZones(region);\n }\n return [];\n }\n\n /**\n * 获取filter中dropdown列表\n * @param service\n * @param param\n */\n getFilterDropdown(service, param) {\n if (this[`${_.toUpper(service)}Datasource`].getFilterDropdown) {\n return this[`${_.toUpper(service)}Datasource`].getFilterDropdown(param);\n }\n return [];\n }\n\n /**\n * 获取实例列表\n * @param service\n * @param region\n * @param params\n */\n getInstances(service, region, params) {\n return this[`${_.toUpper(service)}Datasource`].getInstances(region, params);\n }\n\n /**\n * 获取监听器列表\n * @param service\n * @param region\n * @param params\n */\n getListeners(service, region, instance) {\n if (!this[`${_.toUpper(service)}Datasource`].getListeners) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`].getListeners(region, instance);\n }\n\n /**\n * 获取 私有网络列表\n * @param service\n */\n getVpcIds(service, region) {\n if (this[`${_.toUpper(service)}Datasource`].getVpcIds) {\n return this[`${_.toUpper(service)}Datasource`].getVpcIds(region);\n }\n }\n\n // 在 Datasource Config 配置时,验证 SerectId、SerectKey 的有效性,并测试勾选的监控服务项的对应 API 连通性\n testDatasource() {\n const promises: any[] = [];\n const services = this.getSelectedServices();\n _.forEach(services, (service) => {\n promises.push(this[`${_.toUpper(service)}Datasource`].testDatasource());\n });\n if (promises.length === 0) {\n return Promise.resolve(null);\n }\n\n return Promise.all(promises).then((results) => {\n let status = 'success';\n let message = 'DataSource Connection OK';\n\n const errorMsg = _.reduce(\n results,\n (acc, cur) => {\n if (cur.status === 'error') {\n if (acc === '') acc += 'Oops! Found an error in: ';\n acc += `${cur.service}: ${cur.message}; \\n`;\n }\n return acc;\n },\n ''\n );\n\n if (errorMsg) {\n status = 'error';\n message = errorMsg;\n }\n\n return {\n status,\n message,\n title: _.upperFirst(status),\n };\n });\n }\n\n getServiceFn(service, fnName) {\n return (...argu) => {\n if (!this[`${_.toUpper(service)}Datasource`][fnName]) {\n return [];\n }\n return this[`${_.toUpper(service)}Datasource`][fnName](...argu);\n };\n }\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","module.exports = __WEBPACK_EXTERNAL_MODULE__190__;","import { clone, each, map } from 'lodash';\n\nexport class QueryPartDef {\n type: string;\n params: any[];\n defaultParams: any[];\n renderer: any;\n category: any;\n addStrategy: any;\n\n constructor(options: any) {\n this.type = options.type;\n this.params = options.params;\n this.defaultParams = options.defaultParams;\n this.renderer = options.renderer;\n this.category = options.category;\n this.addStrategy = options.addStrategy;\n }\n}\n\nexport class QueryPart {\n part: any;\n def: QueryPartDef;\n params: any[];\n text: string;\n\n constructor(part: any, def: any) {\n this.part = part;\n this.def = def;\n if (!this.def) {\n // eslint-disable-next-line no-throw-literal\n throw { message: 'Could not find query part ' + part.type };\n }\n\n part.params = part.params || clone(this.def.defaultParams);\n this.params = part.params;\n this.text = '';\n this.updateText();\n }\n\n render(innerExpr: string) {\n return this.def.renderer(this, innerExpr);\n }\n\n hasMultipleParamsInString(strValue: string, index: number) {\n if (strValue.indexOf(',') === -1) {\n return false;\n }\n\n return this.def.params[index + 1] && this.def.params[index + 1].optional;\n }\n\n updateParam(strValue: string, index: number) {\n // handle optional parameters\n // if string contains ',' and next param is optional, split and update both\n if (this.hasMultipleParamsInString(strValue, index)) {\n each(strValue.split(','), (partVal, idx) => {\n this.updateParam(partVal.trim(), idx);\n });\n return;\n }\n\n if (strValue === '' && this.def.params[index].optional) {\n this.params.splice(index, 1);\n } else {\n this.params[index] = strValue;\n }\n\n this.part.params = this.params;\n this.updateText();\n }\n\n updateText() {\n if (this.params.length === 0) {\n this.text = this.def.type + '()';\n return;\n }\n\n let text = this.def.type + '(';\n text += this.params.join(', ');\n text += ')';\n this.text = text;\n }\n}\n\nexport function functionRenderer(part: any, innerExpr: string) {\n const str = part.def.type + '(';\n const parameters = map(part.params, (value, index) => {\n const paramType = part.def.params[index];\n if (paramType.type === 'time') {\n if (value === 'auto') {\n value = '$__interval';\n }\n }\n if (paramType.quote === 'single') {\n return \"'\" + value + \"'\";\n } else if (paramType.quote === 'double') {\n return '\"' + value + '\"';\n }\n\n return value;\n });\n\n if (innerExpr) {\n parameters.unshift(innerExpr);\n }\n return str + parameters.join(', ') + ')';\n}\n\nexport function suffixRenderer(part: QueryPart, innerExpr: string) {\n return innerExpr + ' ' + part.params[0];\n}\n\nexport function identityRenderer(part: QueryPart, innerExpr: string) {\n return part.params[0];\n}\n\nexport function quotedIdentityRenderer(part: QueryPart, innerExpr: string) {\n return '\"' + part.params[0] + '\"';\n}\n\nconst index: any[] = [];\nconst categories: any = {\n Aggregations: [],\n Selectors: [],\n Transformations: [],\n Predictors: [],\n Math: [],\n Aliasing: [],\n Fields: [],\n};\n\nfunction createPart(part: any): any {\n const def = index[part.type];\n if (!def) {\n // eslint-disable-next-line no-throw-literal\n throw { message: 'Could not find query part ' + part.type };\n }\n\n return new QueryPart(part, def);\n}\n\nfunction register(options: any) {\n index[options.type] = new QueryPartDef(options);\n options.category.push(index[options.type]);\n}\n\nconst groupByTimeFunctions: any[] = [];\n\nfunction aliasRenderer(part: { params: string[] }, innerExpr: string) {\n // eslint-disable-next-line no-useless-concat\n return innerExpr + ' AS ' + '\"' + part.params[0] + '\"';\n}\n\nfunction fieldRenderer(part: { params: string[] }, innerExpr: any) {\n if (part.params[0] === '*') {\n return '*';\n }\n return '\"' + part.params[0] + '\"';\n}\n\nfunction replaceAggregationAddStrategy(selectParts: any[], partModel: { def: { type: string } }) {\n // look for existing aggregation\n for (let i = 0; i < selectParts.length; i++) {\n const part = selectParts[i];\n if (part.def.category === categories.Aggregations) {\n if (part.def.type === partModel.def.type) {\n return;\n }\n // count distinct is allowed\n if (part.def.type === 'count' && partModel.def.type === 'distinct') {\n break;\n }\n // remove next aggregation if distinct was replaced\n if (part.def.type === 'distinct') {\n const morePartsAvailable = selectParts.length >= i + 2;\n if (partModel.def.type !== 'count' && morePartsAvailable) {\n const nextPart = selectParts[i + 1];\n if (nextPart.def.category === categories.Aggregations) {\n selectParts.splice(i + 1, 1);\n }\n } else if (partModel.def.type === 'count') {\n if (!morePartsAvailable || selectParts[i + 1].def.type !== 'count') {\n selectParts.splice(i + 1, 0, partModel);\n }\n return;\n }\n }\n selectParts[i] = partModel;\n return;\n }\n if (part.def.category === categories.Selectors) {\n selectParts[i] = partModel;\n return;\n }\n }\n\n selectParts.splice(1, 0, partModel);\n}\n\nfunction addTransformationStrategy(selectParts: any[], partModel: any) {\n let i;\n // look for index to add transformation\n for (i = 0; i < selectParts.length; i++) {\n const part = selectParts[i];\n if (part.def.category === categories.Math || part.def.category === categories.Aliasing) {\n break;\n }\n }\n\n selectParts.splice(i, 0, partModel);\n}\n\nfunction addCustomStrategy(selectParts: any[], partModel: { def: { type: string } }) {\n // look for existing aggregation\n selectParts.splice(1, 1, partModel);\n}\n\nfunction addMathStrategy(selectParts: any[], partModel: any) {\n const partCount = selectParts.length;\n if (partCount > 0) {\n // if last is math, replace it\n if (selectParts[partCount - 1].def.type === 'math') {\n selectParts[partCount - 1] = partModel;\n return;\n }\n // if next to last is math, replace it\n if (partCount > 1 && selectParts[partCount - 2].def.type === 'math') {\n selectParts[partCount - 2] = partModel;\n return;\n } else if (selectParts[partCount - 1].def.type === 'alias') {\n // if last is alias add it before\n selectParts.splice(partCount - 1, 0, partModel);\n return;\n }\n }\n selectParts.push(partModel);\n}\n\nfunction addAliasStrategy(selectParts: any[], partModel: any) {\n const partCount = selectParts.length;\n if (partCount > 0) {\n // if last is alias, replace it\n if (selectParts[partCount - 1].def.type === 'alias') {\n selectParts[partCount - 1] = partModel;\n return;\n }\n }\n selectParts.push(partModel);\n}\n\nfunction addFieldStrategy(selectParts: any, partModel: any, query: { selectModels: any[][] }) {\n // copy all parts\n const parts = map(selectParts, (part: any) => {\n return createPart({ type: part.def.type, params: clone(part.params) });\n });\n\n query.selectModels.push(parts);\n}\n\nregister({\n type: 'field',\n addStrategy: addFieldStrategy,\n category: categories.Fields,\n params: [{ type: 'field', dynamicLookup: true }],\n defaultParams: ['value'],\n renderer: fieldRenderer,\n});\n\n// Aggregations\nregister({\n type: 'count',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'distinct',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'custom',\n addStrategy: addCustomStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'integral',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'mean',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'median',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'mode',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'sum',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Aggregations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\n// transformations\n\nregister({\n type: 'derivative',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [\n {\n name: 'duration',\n type: 'interval',\n options: ['1s', '10s', '1m', '5m', '10m', '15m', '1h'],\n },\n ],\n defaultParams: ['10s'],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'spread',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'non_negative_derivative',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [\n {\n name: 'duration',\n type: 'interval',\n options: ['1s', '10s', '1m', '5m', '10m', '15m', '1h'],\n },\n ],\n defaultParams: ['10s'],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'difference',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'non_negative_difference',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'moving_average',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [{ name: 'window', type: 'int', options: [5, 10, 20, 30, 40] }],\n defaultParams: [10],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'cumulative_sum',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'stddev',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'time',\n category: groupByTimeFunctions,\n params: [\n {\n name: 'interval',\n type: 'time',\n options: ['$__interval', '1m', '5m', '30m', '1h', '1d'],\n },\n ],\n defaultParams: ['$__interval'],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'fill',\n category: groupByTimeFunctions,\n params: [\n {\n name: 'fill',\n type: 'string',\n options: ['none', 'null', '0', 'previous', 'linear'],\n },\n ],\n defaultParams: ['null'],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'elapsed',\n addStrategy: addTransformationStrategy,\n category: categories.Transformations,\n params: [\n {\n name: 'duration',\n type: 'interval',\n options: ['1s', '10s', '1m', '5m', '10m', '15m', '1h'],\n },\n ],\n defaultParams: ['10s'],\n renderer: functionRenderer,\n});\n\n// predictions\nregister({\n type: 'holt_winters',\n addStrategy: addTransformationStrategy,\n category: categories.Predictors,\n params: [\n { name: 'number', type: 'int', options: [5, 10, 20, 30, 40] },\n { name: 'season', type: 'int', options: [0, 1, 2, 5, 10] },\n ],\n defaultParams: [10, 2],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'holt_winters_with_fit',\n addStrategy: addTransformationStrategy,\n category: categories.Predictors,\n params: [\n { name: 'number', type: 'int', options: [5, 10, 20, 30, 40] },\n { name: 'season', type: 'int', options: [0, 1, 2, 5, 10] },\n ],\n defaultParams: [10, 2],\n renderer: functionRenderer,\n});\n\n// Selectors\nregister({\n type: 'bottom',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [{ name: 'count', type: 'int' }],\n defaultParams: [3],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'first',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'last',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'max',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'min',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [],\n defaultParams: [],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'percentile',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [{ name: 'nth', type: 'int' }],\n defaultParams: [95],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'top',\n addStrategy: replaceAggregationAddStrategy,\n category: categories.Selectors,\n params: [{ name: 'count', type: 'int' }],\n defaultParams: [3],\n renderer: functionRenderer,\n});\n\nregister({\n type: 'tag',\n category: groupByTimeFunctions,\n params: [{ name: 'tag', type: 'string', dynamicLookup: true }],\n defaultParams: ['tag'],\n renderer: fieldRenderer,\n});\n\nregister({\n type: 'math',\n addStrategy: addMathStrategy,\n category: categories.Math,\n params: [{ name: 'expr', type: 'string' }],\n defaultParams: [' / 100'],\n renderer: suffixRenderer,\n});\n\nregister({\n type: 'alias',\n addStrategy: addAliasStrategy,\n category: categories.Aliasing,\n params: [{ name: 'name', type: 'string', quote: 'double' }],\n defaultParams: ['alias'],\n renderMode: 'suffix',\n renderer: aliasRenderer,\n});\n\nexport default {\n create: createPart,\n getCategories: () => {\n return categories;\n },\n replaceAggregationAdd: replaceAggregationAddStrategy,\n};\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n var obj;\n\n while (queue.length) {\n var item = queue.pop();\n obj = item.obj[item.prop];\n\n if (Array.isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n\n return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (Array.isArray(target)) {\n target.push(source);\n } else if (typeof target === 'object') {\n if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (Array.isArray(target) && !Array.isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (Array.isArray(target) && Array.isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n if (target[i] && typeof target[i] === 'object') {\n target[i] = merge(target[i], item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str) {\n try {\n return decodeURIComponent(str.replace(/\\+/g, ' '));\n } catch (e) {\n return str;\n }\n};\n\nvar encode = function encode(str) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = typeof str === 'string' ? str : String(str);\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n merge: merge\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n","import coreModule from 'grafana/app/core/core_module';\nimport { DetailQueryConfig } from './types';\n\nclass SPQueryCtrl {\n static _config: DetailQueryConfig;\n\n /** @ngInject */\n constructor($scope, $rootScope) {\n Object.assign($scope, SPQueryCtrl._config);\n\n $scope.onChecked = (srcField, dstField) => {\n if ($scope.target.queries[srcField] === true) {\n $scope.target.queries[dstField] = false;\n }\n $scope.onChange();\n };\n\n $scope.init();\n }\n}\n\nconst template = `\n
\n\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n`;\n\nexport function queryDDO() {\n return {\n template: template,\n controller: SPQueryCtrl,\n restrict: 'E',\n scope: {\n target: '=',\n showDetail: '=',\n region: '=',\n datasource: '=',\n getDropdownOptions: '&',\n onChange: '&',\n },\n };\n}\n\nexport default (name: string, config: DetailQueryConfig) => {\n SPQueryCtrl._config = config;\n coreModule.directive(name, queryDDO);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__199__;","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","export const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\nexport enum SearchSyntaxRule {\n LUCENE = 0,\n CQL = 1,\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","import { SelectableValue } from '@grafana/data';\nimport { ResultFormat } from '../types';\n\nexport const RESULT_FORMATS: Array> = [\n { label: 'Time series', value: 'time_series' },\n { label: 'Table', value: 'table' },\n { label: 'Logs', value: 'logs' },\n];\n\nexport const DEFAULT_RESULT_FORMAT: ResultFormat = 'time_series';\n\nexport const ENABLE_MEASUREMENTS: Array = [\n 'sql_metric',\n 'service_metric',\n 'error_metric',\n 'runtime_metric',\n 'mq_metric',\n];\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder);\n val = options.decoder(part.slice(pos + 1), defaults.decoder);\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options) {\n var leaf = val;\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]') {\n obj = [];\n obj = obj.concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n","var map = {\n\t\"./_base/query.ts\": 7,\n\t\"./apigateway/datasource\": 75,\n\t\"./apigateway/datasource.ts\": 75,\n\t\"./apigateway/query.ts\": 131,\n\t\"./apigateway/query_def.ts\": 23,\n\t\"./bmIntraLb/datasource\": 76,\n\t\"./bmIntraLb/datasource.ts\": 76,\n\t\"./bmIntraLb/query.ts\": 132,\n\t\"./bmIntraLb/query_def.ts\": 31,\n\t\"./bm_lb/datasource\": 77,\n\t\"./bm_lb/datasource.ts\": 77,\n\t\"./bm_lb/query.ts\": 133,\n\t\"./bm_lb/query_def.ts\": 32,\n\t\"./bm_pcx/datasource\": 78,\n\t\"./bm_pcx/datasource.ts\": 78,\n\t\"./bm_pcx/query.ts\": 134,\n\t\"./bm_pcx/query_def.ts\": 33,\n\t\"./bwp/datasource\": 79,\n\t\"./bwp/datasource.ts\": 79,\n\t\"./bwp/query.ts\": 135,\n\t\"./bwp/query_def.ts\": 63,\n\t\"./cbs/datasource\": 80,\n\t\"./cbs/datasource.ts\": 80,\n\t\"./cbs/query.ts\": 136,\n\t\"./cbs/query_def.ts\": 34,\n\t\"./cdb/datasource\": 81,\n\t\"./cdb/datasource.ts\": 81,\n\t\"./cdb/query.ts\": 137,\n\t\"./cdb/query_def.ts\": 44,\n\t\"./cdn/datasource\": 82,\n\t\"./cdn/datasource.ts\": 82,\n\t\"./cdn/query.ts\": 138,\n\t\"./cdn/query_def.ts\": 64,\n\t\"./cdn_province/datasource\": 83,\n\t\"./cdn_province/datasource.ts\": 83,\n\t\"./cdn_province/query.ts\": 139,\n\t\"./cdn_province/query_def.ts\": 35,\n\t\"./ceip_summary/datasource\": 84,\n\t\"./ceip_summary/datasource.ts\": 84,\n\t\"./ceip_summary/query.ts\": 140,\n\t\"./ceip_summary/query_def.ts\": 36,\n\t\"./ces/datasource\": 85,\n\t\"./ces/datasource.ts\": 85,\n\t\"./ces/query.ts\": 141,\n\t\"./ces/query_def.ts\": 45,\n\t\"./cfs/datasource\": 86,\n\t\"./cfs/datasource.ts\": 86,\n\t\"./cfs/query.ts\": 142,\n\t\"./cfs/query_def.ts\": 57,\n\t\"./ckafka/datasource\": 87,\n\t\"./ckafka/datasource.ts\": 87,\n\t\"./ckafka/query.ts\": 143,\n\t\"./ckafka/query_def.ts\": 11,\n\t\"./clb/datasource\": 88,\n\t\"./clb/datasource.ts\": 88,\n\t\"./clb/query.ts\": 144,\n\t\"./clb/query_def.ts\": 12,\n\t\"./cls/datasource\": 89,\n\t\"./cls/datasource.ts\": 89,\n\t\"./cls/query.ts\": 145,\n\t\"./cls/query_def.ts\": 29,\n\t\"./cmq/datasource\": 90,\n\t\"./cmq/datasource.ts\": 90,\n\t\"./cmq/query.ts\": 146,\n\t\"./cmq/query_def.ts\": 58,\n\t\"./cmq_topic/datasource\": 91,\n\t\"./cmq_topic/datasource.ts\": 91,\n\t\"./cmq_topic/query.ts\": 147,\n\t\"./cmq_topic/query_def.ts\": 37,\n\t\"./cos/datasource\": 92,\n\t\"./cos/datasource.ts\": 92,\n\t\"./cos/query_def.ts\": 148,\n\t\"./cpm/datasource\": 93,\n\t\"./cpm/datasource.ts\": 93,\n\t\"./cpm/query.ts\": 149,\n\t\"./cpm/query_def.ts\": 38,\n\t\"./cvm/datasource\": 94,\n\t\"./cvm/datasource.ts\": 94,\n\t\"./cvm/query.ts\": 150,\n\t\"./cvm/query_def.ts\": 59,\n\t\"./cynosdb_mysql/datasource\": 95,\n\t\"./cynosdb_mysql/datasource.ts\": 95,\n\t\"./cynosdb_mysql/query.ts\": 151,\n\t\"./cynosdb_mysql/query_def.ts\": 27,\n\t\"./dc/datasource\": 96,\n\t\"./dc/datasource.ts\": 96,\n\t\"./dc/query.ts\": 152,\n\t\"./dc/query_def.ts\": 46,\n\t\"./dcdb/datasource\": 97,\n\t\"./dcdb/datasource.ts\": 97,\n\t\"./dcdb/query.ts\": 153,\n\t\"./dcdb/query_def.ts\": 16,\n\t\"./dcg/datasource\": 98,\n\t\"./dcg/datasource.ts\": 98,\n\t\"./dcg/query.ts\": 154,\n\t\"./dcg/query_def.ts\": 47,\n\t\"./dcx/datasource\": 99,\n\t\"./dcx/datasource.ts\": 99,\n\t\"./dcx/query.ts\": 155,\n\t\"./dcx/query_def.ts\": 48,\n\t\"./ecdn/datasource\": 100,\n\t\"./ecdn/datasource.ts\": 100,\n\t\"./ecdn/query.ts\": 156,\n\t\"./ecdn/query_def.ts\": 39,\n\t\"./ecm/datasource\": 101,\n\t\"./ecm/datasource.ts\": 101,\n\t\"./ecm/query.ts\": 157,\n\t\"./ecm/query_def.ts\": 40,\n\t\"./ecm_block_storage/datasource\": 102,\n\t\"./ecm_block_storage/datasource.ts\": 102,\n\t\"./ecm_block_storage/query.ts\": 158,\n\t\"./ecm_block_storage/query_def.ts\": 21,\n\t\"./ecm_lb/datasource\": 103,\n\t\"./ecm_lb/datasource.ts\": 103,\n\t\"./ecm_lb/query.ts\": 159,\n\t\"./ecm_lb/query_def.ts\": 49,\n\t\"./gse/datasource\": 104,\n\t\"./gse/datasource.ts\": 104,\n\t\"./gse/query.ts\": 160,\n\t\"./gse/query_def.ts\": 15,\n\t\"./lb/datasource\": 105,\n\t\"./lb/datasource.ts\": 105,\n\t\"./lb/query.ts\": 161,\n\t\"./lb/query_def.ts\": 65,\n\t\"./lighthouse/datasource\": 106,\n\t\"./lighthouse/datasource.ts\": 106,\n\t\"./lighthouse/query.ts\": 162,\n\t\"./lighthouse/query_def.ts\": 56,\n\t\"./mongodb/datasource\": 107,\n\t\"./mongodb/datasource.ts\": 107,\n\t\"./mongodb/query.ts\": 163,\n\t\"./mongodb/query_def.ts\": 50,\n\t\"./mr/datasource\": 108,\n\t\"./mr/datasource.ts\": 108,\n\t\"./mr/query.ts\": 164,\n\t\"./mr/query_def.ts\": 24,\n\t\"./nat_gateway/datasource\": 109,\n\t\"./nat_gateway/datasource.ts\": 109,\n\t\"./nat_gateway/query.ts\": 165,\n\t\"./nat_gateway/query_def.ts\": 66,\n\t\"./ov_cdn/datasource\": 110,\n\t\"./ov_cdn/datasource.ts\": 110,\n\t\"./ov_cdn/query.ts\": 166,\n\t\"./ov_cdn/query_def.ts\": 67,\n\t\"./pcx/datasource\": 111,\n\t\"./pcx/datasource.ts\": 111,\n\t\"./pcx/query.ts\": 167,\n\t\"./pcx/query_def.ts\": 60,\n\t\"./postgresql/datasource\": 112,\n\t\"./postgresql/datasource.ts\": 112,\n\t\"./postgresql/query.ts\": 168,\n\t\"./postgresql/query_def.ts\": 41,\n\t\"./qaap/datasource\": 113,\n\t\"./qaap/datasource.ts\": 113,\n\t\"./qaap/query.ts\": 169,\n\t\"./qaap/query_def.ts\": 51,\n\t\"./redis/datasource\": 114,\n\t\"./redis/datasource.ts\": 114,\n\t\"./redis/query.ts\": 170,\n\t\"./redis/query_def.ts\": 61,\n\t\"./redis_mem/datasource\": 115,\n\t\"./redis_mem/datasource.ts\": 115,\n\t\"./redis_mem/query.ts\": 171,\n\t\"./redis_mem/query_def.ts\": 17,\n\t\"./scf/datasource\": 116,\n\t\"./scf/datasource.ts\": 116,\n\t\"./scf/query.ts\": 172,\n\t\"./scf/query_def.ts\": 28,\n\t\"./sqlserver/datasource\": 117,\n\t\"./sqlserver/datasource.ts\": 117,\n\t\"./sqlserver/query.ts\": 173,\n\t\"./sqlserver/query_def.ts\": 30,\n\t\"./tcaplus/datasource\": 118,\n\t\"./tcaplus/datasource.ts\": 118,\n\t\"./tcaplus/query.ts\": 174,\n\t\"./tcaplus/query_def.ts\": 52,\n\t\"./tdmq/datasource\": 119,\n\t\"./tdmq/datasource.ts\": 119,\n\t\"./tdmq/query.ts\": 175,\n\t\"./tdmq/query_def.ts\": 13,\n\t\"./tdmq_rabbitmq/datasource\": 120,\n\t\"./tdmq_rabbitmq/datasource.ts\": 120,\n\t\"./tdmq_rabbitmq/query.ts\": 176,\n\t\"./tdmq_rabbitmq/query_def.ts\": 18,\n\t\"./tdmq_rocketmq/datasource\": 121,\n\t\"./tdmq_rocketmq/datasource.ts\": 121,\n\t\"./tdmq_rocketmq/query.ts\": 177,\n\t\"./tdmq_rocketmq/query_def.ts\": 19,\n\t\"./tke/datasource\": 122,\n\t\"./tke/datasource.ts\": 122,\n\t\"./tke/query.ts\": 178,\n\t\"./tke/query_def.ts\": 74,\n\t\"./tsf/datasource\": 123,\n\t\"./tsf/datasource.ts\": 123,\n\t\"./tsf/query.ts\": 179,\n\t\"./tsf/query_def.ts\": 62,\n\t\"./v_clb/datasource\": 124,\n\t\"./v_clb/datasource.ts\": 124,\n\t\"./v_clb/query.ts\": 180,\n\t\"./v_clb/query_def.ts\": 25,\n\t\"./vbc/datasource\": 125,\n\t\"./vbc/datasource.ts\": 125,\n\t\"./vbc/query.ts\": 181,\n\t\"./vbc/query_def.ts\": 53,\n\t\"./vpc_net_detect/datasource\": 126,\n\t\"./vpc_net_detect/datasource.ts\": 126,\n\t\"./vpc_net_detect/query.ts\": 182,\n\t\"./vpc_net_detect/query_def.ts\": 42,\n\t\"./vpngw/datasource\": 127,\n\t\"./vpngw/datasource.ts\": 127,\n\t\"./vpngw/query.ts\": 183,\n\t\"./vpngw/query_def.ts\": 54,\n\t\"./vpnx/datasource\": 128,\n\t\"./vpnx/datasource.ts\": 128,\n\t\"./vpnx/query.ts\": 184,\n\t\"./vpnx/query_def.ts\": 55,\n\t\"./waf/datasource\": 129,\n\t\"./waf/datasource.ts\": 129,\n\t\"./waf/query.ts\": 185,\n\t\"./waf/query_def.ts\": 43\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 209;","module.exports = __WEBPACK_EXTERNAL_MODULE__210__;","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","import { reduce } from 'lodash';\nimport kbn from 'grafana/app/core/utils/kbn';\n\nfunction renderTagCondition(tag: { operator: any; value: string; condition: any; key: string }, index: number) {\n // FIXME: merge this function with APM_query_model/renderTagCondition\n let str = '';\n let operator = tag.operator;\n let value = tag.value;\n if (index > 0) {\n str = (tag.condition.toLowerCase() || 'AND') + ' ';\n }\n\n if (!operator) {\n if (/^\\/.*\\/$/.test(tag.value)) {\n operator = '=~';\n } else {\n operator = '=';\n }\n }\n\n // quote value unless regex or number, or if empty-string\n if (value === '' || (operator !== '=~' && operator !== '!~')) {\n value = \"'\" + value.replace(/\\\\/g, '\\\\\\\\').replace(/\\'/g, \"\\\\'\") + \"'\";\n }\n\n return str + '\"' + tag.key + '\" ' + operator + ' ' + value;\n}\n\nexport class APMQueryBuilder {\n // eslint-disable-next-line @typescript-eslint/no-parameter-properties\n constructor(private target: { measurement: any; tags: any; policy?: any }, private database?: string) {}\n\n buildExploreQuery(type: string, withKey?: string, withMeasurementFilter?: string): string {\n let query = '';\n let measurement;\n let policy;\n\n if (type === 'TAG_KEYS') {\n query = 'show tag keys';\n measurement = this.target.measurement;\n policy = this.target.policy;\n } else if (type === 'TAG_VALUES') {\n query = 'show tag values';\n measurement = this.target.measurement;\n policy = this.target.policy;\n } else if (type === 'MEASUREMENTS') {\n query = 'show measurements';\n if (withMeasurementFilter) {\n // we do a case-insensitive regex-based lookup\n query += ' with measurement =~ /(?i)' + kbn.regexEscape(withMeasurementFilter) + '/';\n }\n } else if (type === 'FIELDS') {\n measurement = this.target.measurement;\n policy = this.target.policy;\n\n if (!measurement.match('^/.*/')) {\n measurement = '\"' + measurement + '\"';\n\n if (policy && policy !== 'default') {\n policy = '\"' + policy + '\"';\n measurement = policy + '.' + measurement;\n }\n }\n\n return 'show field keys from ' + measurement;\n } else if (type === 'RETENTION POLICIES') {\n query = 'show retention policies on \"' + this.database + '\"';\n return query;\n }\n\n if (measurement) {\n if (!measurement.match('^/.*/') && !measurement.match(/^merge\\(.*\\)/)) {\n measurement = '\"' + measurement + '\"';\n }\n\n if (policy && policy !== 'default') {\n policy = '\"' + policy + '\"';\n measurement = policy + '.' + measurement;\n }\n\n query += ' from ' + measurement;\n }\n\n if (withKey) {\n query += ' with key = \"' + withKey + '\"';\n }\n\n if (this.target.tags && this.target.tags.length > 0) {\n const whereConditions = reduce(\n this.target.tags,\n (memo, tag) => {\n if (type === 'MEASUREMENTS' && tag.key === 'id') {\n return memo;\n }\n // do not add a condition for the key we want to explore for\n if (tag.key === withKey) {\n return memo;\n }\n\n // value operators not supported in these types of queries\n if (tag.operator === '>' || tag.operator === '<') {\n return memo;\n }\n\n memo.push(renderTagCondition(tag, memo.length));\n return memo;\n },\n [] as string[]\n );\n\n if (whereConditions.length > 0) {\n query += ' where ' + whereConditions.join(' ');\n }\n }\n\n if (type === 'MEASUREMENTS') {\n query += ' limit 100';\n // Solve issue #2524 by limiting the number of measurements returned\n // LIMIT must be after WITH MEASUREMENT and WHERE clauses\n // This also could be used for TAG KEYS and TAG VALUES, if desired\n }\n\n return query;\n }\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of