D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
build
/
Filename :
2340.009a24ef8faa983c4a8c.js
back
Copy
"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[2340],{63250:(rt,me,b)=>{b.d(me,{K:()=>o});var K=b(42844),Z=b(27702),oe=b(66310);const o=({children:F})=>{const ae=(0,oe.wW)(we);return Z.createElement("div",{className:ae.root},F)},we=F=>({root:(0,K.css)({display:"flex",flexWrap:"wrap",alignItems:"center",gap:F.spacing(3),minHeight:F.spacing(4)})})},29036:(rt,me,b)=>{b.d(me,{X:()=>Oe});var K=b(42844),Z=b(27702),oe=b(66310),o=b(28580),we=b(50285),F=Object.defineProperty,ae=Object.defineProperties,Y=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,ie=(E,C,T)=>C in E?F(E,C,{enumerable:!0,configurable:!0,writable:!0,value:T}):E[C]=T,de=(E,C)=>{for(var T in C||(C={}))Ce.call(C,T)&&ie(E,T,C[T]);if(pe)for(var T of pe(C))k.call(C,T)&&ie(E,T,C[T]);return E},Q=(E,C)=>ae(E,Y(C)),V=(E,C)=>{var T={};for(var $ in E)Ce.call(E,$)&&C.indexOf($)<0&&(T[$]=E[$]);if(E!=null&&pe)for(var $ of pe(E))C.indexOf($)<0&&k.call(E,$)&&(T[$]=E[$]);return T};function Oe(E){var C=E,{label:T}=C,$=V(C,["label"]);const Ue=(0,oe.wW)(U),[m]=(0,Z.useState)(()=>Math.random().toString(16).slice(2)),st={SelectContainer:ze,ValueContainer:Ie,SingleValue:Ie};return Z.createElement("div",{className:Ue.root},T&&Z.createElement("label",{className:Ue.label,htmlFor:m},T,":","\xA0"),Z.createElement(o.Ph,Q(de({openMenuOnFocus:!0,inputId:m},$),{components:st})))}const ze=E=>{const{children:C}=E,T=(0,oe.wW)(U);return Z.createElement(we.e,Q(de({},E),{className:(0,K.cx)(E.className,T.container)}),C)},Ie=E=>{const{className:C,children:T}=E,$=(0,oe.wW)(U);return Z.createElement("div",{className:(0,K.cx)(C,$.valueContainer)},T)},U=E=>({root:(0,K.css)({display:"flex",fontSize:12,alignItems:"center"}),label:(0,K.css)({color:E.colors.text.secondary,whiteSpace:"nowrap"}),container:(0,K.css)({background:"none",borderColor:"transparent"}),valueContainer:(0,K.css)({display:"flex",alignItems:"center",flex:"initial",color:E.colors.text.secondary,fontSize:12})})},62340:(rt,me,b)=>{b.r(me),b.d(me,{plugin:()=>vo});var K=b(68246),Z=b(84714),oe=b(32713),o=b(27702),we=b(17312),F=b(39317),ae=b(73289),Y=b(63439),pe=b(79510),Ce=b(12308),k=b(89949),ie=b.n(k),de=b(76305);class Q{static createISO8601Duration(e,r){const s=["hour","minute","h","m"];return(0,k.includes)(s,r)?`PT${e}${r[0].toUpperCase()}`:`P${e}${r[0].toUpperCase()}`}static createISO8601DurationFromInterval(e){const r=+e.slice(0,e.length-1),s=e[e.length-1];if(e.indexOf("ms")>-1)return Q.createISO8601Duration(1,"m");if(e[e.length-1]==="s"){let a=r*60%60;return a<1&&(a=1),Q.createISO8601Duration(a,"m")}return Q.createISO8601Duration(r,s)}static findClosestTimeGrain(e,r){const s=(0,k.filter)(r,c=>c!=="auto");let a=s[0];const i=de.intervalToMs(e);for(let c=0;c<s.length;c++)i>de.intervalToMs(s[c])&&(c+1<s.length?a=s[c+1]:a=s[c]);return a}static createTimeGrainFromISO8601Duration(e){let r=1;e.substring(0,2)==="PT"&&(r=2);const s=e.substring(r,e.length-1),a=e.substring(e.length-1);return s+" "+Q.timeUnitToText(+s,a)}static timeUnitToText(e,r){let s="";return r==="S"&&(s="second"),r==="M"&&(s="minute"),r==="H"&&(s="hour"),r==="D"&&(s="day"),e>1?s+"s":s}static createKbnUnitFromISO8601Duration(e){if(e==="auto")return"auto";let r=1;e.substring(0,2)==="PT"&&(r=2);const s=e.substring(r,e.length-1),a=e.substring(e.length-1);return s+Q.timeUnitToKbn(+s,a)}static timeUnitToKbn(e,r){return r==="S"?"s":r==="M"?"m":r==="H"?"h":r==="D"?"d":""}}class V{static parseResponseValues(e,r,s){const a=[];if(!e)return a;for(let i=0;i<e.value.length;i++)if(!(0,k.find)(a,["value",(0,k.get)(e.value[i],s)])){const c=(0,k.get)(e.value[i],s),n=(0,k.get)(e.value[i],r,c);a.push({text:n,value:c})}return a}static parseResourceNames(e,r){const s=[];if(!e)return s;for(let a=0;a<e.value.length;a++)typeof e.value[a].type=="string"&&(!r||e.value[a].type.toLocaleLowerCase()===r.toLocaleLowerCase())&&s.push({text:e.value[a].name,value:e.value[a].name});return s}static parseMetadata(e,r){const s=["None","Average","Minimum","Maximum","Total","Count"],a=e?.value.find(i=>i.name.value===r);return a?{primaryAggType:a.primaryAggregationType,supportedAggTypes:a.supportedAggregationTypes||s,supportedTimeGrains:[{label:"Auto",value:"auto"},...V.parseTimeGrains(a.metricAvailabilities??[])],dimensions:V.parseDimensions(a.dimensions??[])}:{primaryAggType:"",supportedAggTypes:s,supportedTimeGrains:[],dimensions:[]}}static parseTimeGrains(e){const r=[];return e&&e.forEach(s=>{s.timeGrain&&r.push({label:Q.createTimeGrainFromISO8601Duration(s.timeGrain),value:s.timeGrain})}),r}static parseDimensions(e){return e.map(r=>({label:r.localizedValue||r.value,value:r.value}))}static parseSubscriptions(e){const r=[];if(!e)return r;const s="subscriptionId",a="displayName";for(let i=0;i<e.value.length;i++)(0,k.find)(r,["value",(0,k.get)(e.value[i],s)])||r.push({text:`${(0,k.get)(e.value[i],a)}`,value:(0,k.get)(e.value[i],s)});return r}static parseSubscriptionsForSelect(e){const r=[];if(!e)return r;const s="subscriptionId",a="displayName";for(let i=0;i<e.data.value.length;i++)(0,k.find)(r,["value",(0,k.get)(e.data.value[i],s)])||r.push({label:`${(0,k.get)(e.data.value[i],a)} - ${(0,k.get)(e.data.value[i],s)}`,value:(0,k.get)(e.data.value[i],s)});return r}static parseLocations(e){const r=[];if(!e)return r;for(const s of e.value)r.push({name:s.name,displayName:s.displayName,supportsLogs:void 0});return r}}const Oe=(t,e)=>t.some(r=>r.options?Oe(r.options,e):r.value===e),ze=(t,e=[])=>{if(e.length===0)return[];const r=e.reduce((s,a)=>(s.add(a),s),new Set);return t.filter(s=>r.has(s.value))},Ie=t=>({value:t.value,label:t.text}),U=(t,e,r)=>{const s=[...t,e],a=t.map(i=>i.value.toLowerCase()).concat(e.options.map(i=>i.value));return r&&!a.includes(r.toLowerCase())&&s.push({label:r,value:r}),s},E={azureMonitor:"azuremonitor",logAnalytics:"loganalytics",appInsights:"appinsights",resourceGraph:"resourcegraph"};function C(t,e){return typeof t=="string"?e.multi||e.includeAll&&!e.allValue?"'"+t+"'":t:typeof t=="number"?t:(0,k.map)(t,s=>typeof t=="number"?t:"'"+s+"'").join(",")}var T=b(34667),$=b(83871);const Ue={subscriptions:[]};var m=(t=>(t.AzureMonitor="Azure Monitor",t.AzureResourceGraph="Azure Resource Graph",t.AzureTraces="Azure Traces",t.GrafanaTemplateVariableFn="Grafana Template Variable Function",t.LocationsQuery="Azure Regions",t.LogAnalytics="Azure Log Analytics",t.MetricNamesQuery="Azure Metric Names",t.NamespacesQuery="Azure Namespaces",t.ResourceGroupsQuery="Azure Resource Groups",t.ResourceNamesQuery="Azure Resource Names",t.SubscriptionsQuery="Azure Subscriptions",t.WorkspacesQuery="Azure Workspaces",t))(m||{});const st={allowedTimeGrainsMs:[],dimensionFilters:[],resources:[]},Ao={resources:[]},To={filters:[],resources:[],traceTypes:[]},Mo={filters:[]};var q=(t=>(t.Table="table",t.TimeSeries="time_series",t.Trace="trace",t))(q||{});const No={filters:[]};var ke=(t=>(t.Public="AzureCloud",t.China="AzureChinaCloud",t.USGovernment="AzureUSGovernment",t.None="",t))(ke||{});const xt=Symbol("Concealed client secret");function De(t){return t.jsonData.azureAuthType?t.jsonData.azureAuthType:t.jsonData.tenantId&&t.jsonData.clientId?"clientsecret":T.config.azure.managedIdentityEnabled?"msi":"clientsecret"}function Se(){switch(T.config.azure.cloud){case ke.Public:case ke.None:case void 0:return"azuremonitor";case ke.China:return"chinaazuremonitor";case ke.USGovernment:return"govazuremonitor";default:throw new Error(`The cloud '${T.config.azure.cloud}' not supported.`)}}function ot(t){switch(t){case"azuremonitor":return"https://portal.azure.com";case"chinaazuremonitor":return"https://portal.azure.cn";case"govazuremonitor":return"https://portal.azure.us";default:throw new Error("The cloud not supported.")}}function at(t){switch(De(t)){case"msi":case"workloadidentity":return Se();case"clientsecret":return t.jsonData.cloudName||Se()}}function Wt(t){if(t.secureJsonFields.clientSecret)return xt;{const e=t.secureJsonData?.clientSecret;return typeof e=="string"&&e.length>0?e:void 0}}function $t(t){switch(t.authType){case"msi":case"workloadidentity":return!0;case"clientsecret":return!!(t.azureCloud&&t.tenantId&&t.clientId&&t.clientSecret)}}function Ot(t){const e=De(t);switch(e){case"msi":case"workloadidentity":return e==="msi"&&T.config.azure.managedIdentityEnabled||e==="workloadidentity"&&T.config.azure.workloadIdentityEnabled?{authType:e}:{authType:"clientsecret",azureCloud:Se()};case"clientsecret":return{authType:"clientsecret",azureCloud:t.jsonData.cloudName||Se(),tenantId:t.jsonData.tenantId,clientId:t.jsonData.clientId,clientSecret:Wt(t)}}}function Ut(t,e){switch(e.authType){case"msi":case"workloadidentity":if(e.authType==="msi"&&!T.config.azure.managedIdentityEnabled)throw new Error("Managed Identity authentication is not enabled in Grafana config.");if(e.authType==="workloadidentity"&&!T.config.azure.workloadIdentityEnabled)throw new Error("Workload Identity authentication is not enabled in Grafana config.");return t={...t,jsonData:{...t.jsonData,azureAuthType:e.authType}},t;case"clientsecret":return t={...t,jsonData:{...t.jsonData,azureAuthType:"clientsecret",cloudName:e.azureCloud||Se(),tenantId:e.tenantId,clientId:e.clientId},secureJsonData:{...t.secureJsonData,clientSecret:typeof e.clientSecret=="string"?e.clientSecret:void 0},secureJsonFields:{...t.secureJsonFields,clientSecret:typeof e.clientSecret=="symbol"}},t}}var Xt=b(82367),G=b(48024),D=b(28580),ne=b(66670);const M={components:{configEditor:{authType:{select:"data-testid auth-type"},azureCloud:{input:"data-testid azure-cloud"},tenantID:{input:"data-testid tenant-id"},clientID:{input:"data-testid client-id"},clientSecret:{input:"data-testid client-secret"},loadSubscriptions:{button:"data-testid load-subscriptions"},defaultSubscription:{input:"data-testid default-subscription"}},queryEditor:{header:{select:"data-testid azure-monitor-experimental-header"},resourcePicker:{select:{button:"data-testid resource-picker-select"},search:{input:"data-testid resource-picker-search"},apply:{button:"data-testid resource-picker-apply"},cancel:{button:"data-testid resource-picker-cancel"},advanced:{collapse:"data-testid resource-picker-advanced",subscription:{input:"data-testid resource-picker-subscription"},resourceGroup:{input:"data-testid resource-picker-resource-group"},namespace:{input:"data-testid resource-picker-namespace"},region:{input:"data-testid resource-picker-region"},resource:{input:"data-testid resource-picker-resource"}}},metricsQueryEditor:{container:{input:"data-testid azure-monitor-metrics-query-editor-with-experimental-ui"},metricName:{input:"data-testid metric-name"}},logsQueryEditor:{container:{input:"data-testid azure-monitor-logs-query-editor-with-experimental-ui"},formatSelection:{input:"data-testid format-selection"}},argsQueryEditor:{container:{input:"data-testid azure-monitor-arg-query-editor"},subscriptions:{input:"data-testid azure-monitor-args-subscription"}},tracesQueryEditor:{container:{input:"data-testid azure-monitor-traces-query-editor-with-experimental-ui"},traceTypes:{select:"data-testid azure-monitor-traces-query-editor-trace-types"}}},variableEditor:{queryType:{input:"data-testid query-type"},subscription:{input:"data-testid subscription"},resourceGroup:{input:"data-testid resource-group"},namespace:{input:"data-testid namespace"},resource:{input:"data-testid resource"},region:{input:"data-testid region"}}}},{Input:Ge}=Xt.LegacyForms,fe=18,jt=t=>{const{credentials:e,azureCloudOptions:r,onCredentialsChange:s,disabled:a,managedIdentityEnabled:i,workloadIdentityEnabled:c}=t,n=(0,o.useMemo)(()=>{let v=[{value:"clientsecret",label:"App Registration"}];return i&&v.push({value:"msi",label:"Managed Identity"}),c&&v.push({value:"workloadidentity",label:"Workload Identity"}),v},[i,c]),u=v=>{const d=i?"msi":c?"workloadidentity":"clientsecret",y={...e,authType:v.value||d};s(y)},l=v=>{if(e.authType==="clientsecret"){const d={...e,azureCloud:v.value};s(d)}},p=v=>{if(e.authType==="clientsecret"){const d={...e,tenantId:v.target.value};s(d)}},f=v=>{if(e.authType==="clientsecret"){const d={...e,clientId:v.target.value};s(d)}},g=v=>{if(e.authType==="clientsecret"){const d={...e,clientSecret:v.target.value};s(d)}},h=()=>{if(e.authType==="clientsecret"){const v={...e,clientSecret:""};s(v)}};return o.createElement("div",{className:"gf-form-group"},n.length>1&&o.createElement(G._,{label:"Authentication",labelWidth:fe,tooltip:"Choose the type of authentication to Azure services","data-testid":M.components.configEditor.authType.select,htmlFor:"authentication-type"},o.createElement(D.Ph,{className:"width-15",value:n.find(v=>v.value===e.authType),options:n,onChange:u,disabled:a})),e.authType==="clientsecret"&&o.createElement(o.Fragment,null,r&&o.createElement(G._,{label:"Azure Cloud",labelWidth:fe,tooltip:"Choose an Azure Cloud","data-testid":M.components.configEditor.azureCloud.input,htmlFor:"azure-cloud-type",disabled:a},o.createElement(D.Ph,{inputId:"azure-cloud-type","aria-label":"Azure Cloud",className:"width-15",value:r.find(v=>v.value===e.azureCloud),options:r,onChange:l})),o.createElement(G._,{label:"Directory (tenant) ID",labelWidth:fe,"data-testid":M.components.configEditor.tenantID.input,htmlFor:"tenant-id"},o.createElement("div",{className:"width-15"},o.createElement(Ge,{"aria-label":"Tenant ID",className:"width-30",placeholder:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",value:e.tenantId||"",onChange:p,disabled:a}))),o.createElement(G._,{label:"Application (client) ID",labelWidth:fe,"data-testid":M.components.configEditor.clientID.input,htmlFor:"tenant-id"},o.createElement("div",{className:"width-15"},o.createElement(Ge,{className:"width-30","aria-label":"Client ID",placeholder:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",value:e.clientId||"",onChange:f,disabled:a}))),!a&&(typeof e.clientSecret=="symbol"?o.createElement(G._,{label:"Client Secret",labelWidth:fe,htmlFor:"client-secret"},o.createElement("div",{className:"width-30",style:{display:"flex",gap:"4px"}},o.createElement(Ge,{"aria-label":"Client Secret",placeholder:"configured",disabled:!0,"data-testid":"client-secret"}),o.createElement(ne.zx,{variant:"secondary",type:"button",onClick:h,disabled:a},"Reset"))):o.createElement(G._,{label:"Client Secret",labelWidth:fe,"data-testid":M.components.configEditor.clientSecret.input,htmlFor:"client-secret"},o.createElement(Ge,{className:"width-30","aria-label":"Client Secret",placeholder:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",value:e.clientSecret||"",onChange:g,id:"client-secret",disabled:a})))),t.children)},Co=null,Bt=18,Ht=t=>{const{credentials:e,disabled:r,options:s,subscriptions:a,getSubscriptions:i,onSubscriptionChange:c,onSubscriptionsChange:n}=t,u=$t(e),[l,p]=(0,o.useReducer)(h=>h+1,0);(0,o.useEffect)(()=>{if(!i||!u){f([]);return}let h=!1;return i().then(v=>{h||f(v,l)}),()=>{h=!0}},[l]);const f=(h,v=!1)=>{n(h),i&&(v&&!s.subscriptionId&&h.length>0?g(h[0]):s.subscriptionId&&(h.find(y=>y.value===s.subscriptionId)||g(void 0)))},g=h=>c(h?.value);return o.createElement(o.Fragment,null,o.createElement(G._,{label:"Default Subscription",labelWidth:Bt,"data-testid":M.components.configEditor.defaultSubscription.input,htmlFor:"default-subscription"},o.createElement("div",{className:"width-30",style:{display:"flex",gap:"4px"}},o.createElement(D.Ph,{inputId:"default-subscription","aria-label":"Default Subscription",value:s.subscriptionId?a.find(h=>h.value===s.subscriptionId):void 0,options:a,onChange:g,disabled:r}),o.createElement(ne.zx,{variant:"secondary",type:"button",onClick:p,disabled:!u||r,"data-testid":M.components.configEditor.loadSubscriptions.button},"Load Subscriptions"))))},Jt=[{value:"azuremonitor",label:"Azure"},{value:"govazuremonitor",label:"Azure US Government"},{value:"chinaazuremonitor",label:"Azure China"}],Kt=t=>{const{updateOptions:e,getSubscriptions:r,options:s}=t,[a,i]=(0,o.useState)([]),c=(0,o.useMemo)(()=>Ot(t.options),[t.options]),n=(p,f)=>{f||i([]),e(g=>Ut({...g,jsonData:{...g.jsonData,subscriptionId:f}},p))},u=p=>i(p),l=p=>e(f=>({...f,jsonData:{...f.jsonData,subscriptionId:p}}));return o.createElement(o.Fragment,null,o.createElement("h3",{className:"page-heading"},"Authentication"),o.createElement(jt,{managedIdentityEnabled:T.config.azure.managedIdentityEnabled,workloadIdentityEnabled:T.config.azure.workloadIdentityEnabled,credentials:c,azureCloudOptions:Jt,onCredentialsChange:n,disabled:t.options.readOnly},o.createElement(Ht,{subscriptions:a,credentials:c,getSubscriptions:r,disabled:t.options.readOnly,onSubscriptionsChange:u,onSubscriptionChange:l,options:s.jsonData})))},Io=null;class Zt extends o.PureComponent{constructor(e){super(e),this.templateSrv=(0,F.J)(),this.updateOptions=r=>{const s=r(this.props.options);this.props.onOptionsChange(s),this.setState({unsaved:!0})},this.saveOptions=async()=>{this.state.unsaved&&(await(0,ae.i)().put(`/api/datasources/${this.props.options.id}`,this.props.options).then(r=>{(0,we.fd)(this.props,"version",r.datasource.version)}),this.setState({unsaved:!1}))},this.getSubscriptions=async()=>{await this.saveOptions();const r="?api-version=2019-03-01";try{const s=await(0,ae.i)().fetch({url:this.baseURL+r,method:"GET"}).toPromise();return this.setState({error:void 0}),V.parseSubscriptionsForSelect(s)}catch(s){return(0,ae.kW)(s)&&this.setState({error:{title:"Error requesting subscriptions",description:"Could not request subscriptions from Azure. Check your credentials and try again.",details:s?.data?.message}}),Promise.resolve([])}},this.state={unsaved:!1},this.baseURL=`/api/datasources/${this.props.options.id}/resources/${E.azureMonitor}/subscriptions`}render(){const{options:e,onOptionsChange:r}=this.props,{error:s}=this.state;return o.createElement(o.Fragment,null,o.createElement(Kt,{options:e,updateOptions:this.updateOptions,getSubscriptions:this.getSubscriptions}),s&&o.createElement(Y.b,{severity:"error",title:s.title},o.createElement("p",null,s.description),s.details&&o.createElement("details",{style:{whiteSpace:"pre-wrap"}},s.details)),Ce.config.secureSocksDSProxyEnabled&&o.createElement(pe.i,{options:e,onOptionsChange:r}))}}const Do=null;var Xe=b(11649);function Yt(t){return(0,o.isValidElement)(t)?t:ge(t)}function ge(t){if(!t||typeof t!="object")return;if(typeof t.message=="string")return t.message;if(typeof t.data?.error?.message=="string")return t.data.error.message;const e=t.error?.data?.error?.innererror?.innererror?.message||t.error?.data?.error?.innererror?.message||t.error?.data?.error?.message||t.error?.data?.message||t.data?.message||t;if(typeof e=="string")return e;if(e&&e.toString)return e.toString()}function it(){const[t,e]=(0,o.useState)([]),r=(0,o.useCallback)((a,i)=>{e(c=>{const n=[...c],u=c.findIndex(([l])=>l===a);return u>-1&&n.splice(u,1),i&&n.unshift([a,i]),n})},[]);return[(0,o.useMemo)(()=>{const a=t[0];return a&&Yt(a[1])},[t]),r]}var Fe=b(83788),_=b(57942),ee=b(2906);const qt=({query:t,onQueryChange:e})=>{const r=(0,o.useCallback)(s=>{e({...t,azureResourceGraph:{...t.azureResourceGraph,query:s}})},[e,t]);return o.createElement(Xe.p,{value:t.azureResourceGraph?.query??"",language:"kusto",height:200,width:"100%",showMiniMap:!1,onBlur:r,onSave:r})};var _t=b(59904),er=b(81924);const nt=18,X=t=>{const{labelWidth:e,inlineField:r,...s}=t;return r?o.createElement(G._,{labelWidth:e||nt,...s}):o.createElement(er.S,{width:e||nt,...s})},tr=({query:t,subscriptions:e,variableOptionGroup:r,onQueryChange:s})=>{const[a,i]=(0,o.useState)(!1),[c,n]=(0,o.useState)([]),u=(0,o.useMemo)(()=>[...e,r],[e,r]);(0,o.useEffect)(()=>{t.subscriptions&&t.subscriptions.length>0?(n(ze([...e,...r.options],t.subscriptions)),i(!1)):i(!0)},[t.subscriptions,e,r.options]);const l=p=>{if(!p||p.length===0)n([]),s({...t,subscriptions:[]}),i(!0);else{const f=p.map(g=>g.value??"");s({...t,subscriptions:f}),n(ze([...e,...r.options],f)),i(!1)}};return o.createElement(X,{label:"Subscriptions","data-testid":M.components.queryEditor.argsQueryEditor.subscriptions.input},o.createElement(o.Fragment,null,o.createElement(D.NU,{isClearable:!0,value:c,inputId:"azure-monitor-subscriptions-field",onChange:l,options:u,width:38}),a?o.createElement(_t.S,null,"At least one subscription must be chosen."):null))},ct="arg-subscriptions";function rr(t,e,r){let s=e||[];s.length===0&&r&&(s=[r]),s.length===0&&t.length&&(s=[t[0]]);const a=s.filter(c=>c.includes("$")),i=(0,k.intersection)(s,t).concat(a);return t.length&&s.length>i.length&&(s=i.length>0?i:[t[0]]),s}const ut=({query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onChange:a,setError:i})=>{const[c,n]=(0,o.useState)([]);return(0,o.useMemo)(()=>{e.getSubscriptions().then(u=>{const l=u.map(p=>({label:p.text,value:p.value,description:p.value}));n(l),i(ct,void 0),a({...t,subscriptions:rr(l.map(p=>p.value),t.subscriptions,t.subscription)})}).catch(u=>i(ct,u))},[e]),o.createElement("span",{"data-testid":M.components.queryEditor.argsQueryEditor.container.input},o.createElement(Fe._,null,o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(tr,{subscriptions:c,query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i})))),o.createElement(qt,{query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i}))};var sr=b(40705),je=b(19559);const lt=({query:t,variableOptionGroup:e,onQueryChange:r,inputId:s,options:a,defaultValue:i,setFormatAs:c,resultFormat:n})=>{const u=(0,o.useMemo)(()=>[...a,e],[e,a]),l=(0,o.useCallback)(p=>{const{value:f}=p;if(!f)return;const g=c(t,f);r(g)},[r,t,c]);return(0,je.Z)(()=>{n?a.find(p=>p.value===n)||l({value:i}):l({value:i})}),o.createElement(X,{label:"Format as","data-testid":M.components.queryEditor.logsQueryEditor.formatSelection.input},o.createElement(D.Ph,{inputId:`${s}-format-as-field`,value:n??i,onChange:l,options:u,width:38}))};var S=b(42844),te=b(66310),mt=b(13741),re=b(73453),pt=b(52419),or=b(80402);const j=t=>{const e=(0,te.l4)(),r=ar(e,t);return o.createElement("span",{className:(0,S.cx)(r.wrapper)})};j.defaultProps={v:0,h:0,layout:"block"};const ar=(0,or.B)((t,e)=>({wrapper:(0,S.css)([{paddingRight:t.spacing(e.h??0),paddingBottom:t.spacing(e.v??0)},e.layout==="inline"&&{display:"inline-block"},e.layout==="block"&&{display:"block"}])}));var ir=b(41640);const nr=({resources:t,onChange:e,renderAdvanced:r})=>{const[s,a]=(0,o.useState)(!!t.length&&JSON.stringify(t).includes("$"));return o.createElement("div",{"data-testid":M.components.queryEditor.resourcePicker.advanced.collapse},o.createElement(ir.U,{collapsible:!0,label:"Advanced",isOpen:s,onToggle:()=>a(!s)},r(t,e),o.createElement(j,{v:2})))};var cr=b(54004),ur=b(67437),dt=b(83967),I=(t=>(t.Subscription="Subscription",t.ResourceGroup="ResourceGroup",t.Resource="Resource",t.VariableGroup="TemplateVariableGroup",t.Variable="TemplateVariable",t))(I||{});const lr=({isOpen:t,entry:{type:e}})=>{switch(e){case I.Subscription:return o.createElement(re.J,{name:"layer-group"});case I.ResourceGroup:return o.createElement(re.J,{name:t?"folder-open":"folder"});case I.Resource:return o.createElement(re.J,{name:"cube"});case I.VariableGroup:return o.createElement(re.J,{name:"x"});case I.Variable:return o.createElement(re.J,{name:"x"});default:return null}},Ee=t=>({table:(0,S.css)({width:"100%",tableLayout:"fixed",overflow:"scroll"}),scrollableTable:(0,S.css)({overflow:"auto"}),tableScroller:(0,S.css)({maxHeight:"16vh"}),selectedTableScroller:(0,S.css)({maxHeight:"13vh"}),header:(0,S.css)({background:t.colors.background.secondary}),row:(0,S.css)({borderBottom:`1px solid ${t.colors.border.weak}`,"&:last-of-type":{borderBottomColor:t.colors.border.medium}}),disabledRow:(0,S.css)({opacity:.5}),cell:(0,S.css)({padding:t.spacing(1,1,1,0),width:"25%",overflow:"hidden",textOverflow:"ellipsis","&:first-of-type":{width:"50%",padding:t.spacing(1,1,1,2)}}),collapseButton:(0,S.css)({margin:0}),loadingCell:(0,S.css)({textAlign:"center"}),spinner:(0,S.css)({marginBottom:0}),nestedEntry:(0,S.css)({display:"flex",alignItems:"center"}),entryContentItem:(0,S.css)({margin:t.spacing(0,1,0,0)}),truncated:(0,S.css)({minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),resourceField:(0,S.css)({maxWidth:t.spacing(36),overflow:"hidden"}),resourceFieldButton:(0,S.css)({padding:"7px",textAlign:"left"}),nestedRowCheckbox:(0,S.css)({zIndex:0}),selectionFooter:(0,S.css)({background:t.colors.background.primary,paddingTop:t.spacing(2)}),loadingWrapper:(0,S.css)({textAlign:"center",paddingTop:t.spacing(2),paddingBottom:t.spacing(2),color:t.colors.text.secondary}),resultLimit:(0,S.css)({margin:"4px 0",fontStyle:"italic"}),modal:(0,S.css)({width:t.breakpoints.values.lg})}),mr=({entry:t,isSelected:e,isDisabled:r,isOpen:s,isSelectable:a,level:i,scrollIntoView:c,onToggleCollapse:n,onSelectedChange:u})=>{const l=(0,te.l4)(),p=(0,te.wW)(Ee),f=!!t.children,g=(0,o.useCallback)(()=>{n(t)},[n,t]),h=(0,o.useCallback)(d=>{const y=d.target.checked;u(t,y)},[t,u]),v=`${c?"table":"summary"}_checkbox_${t.uri}`;return(0,o.useEffect)(()=>{e&&c&&document.getElementById(v)?.scrollIntoView({behavior:"smooth",block:"center"})},[]),o.createElement("div",{className:p.nestedEntry,style:{marginLeft:i*(3*l.spacing.gridSize)}},f?o.createElement(ur.h,{className:p.collapseButton,name:s?"angle-down":"angle-right","aria-label":s?`Collapse ${t.name}`:`Expand ${t.name}`,onClick:g,id:t.id}):o.createElement(j,{layout:"inline",h:2}),o.createElement(j,{layout:"inline",h:2}),a&&o.createElement(o.Fragment,null,o.createElement(dt.X,{id:v,onChange:h,disabled:r,value:e,className:p.nestedRowCheckbox}),o.createElement(j,{layout:"inline",h:2})),o.createElement(lr,{entry:t,isOpen:s}),o.createElement(j,{layout:"inline",h:1}),o.createElement("label",{htmlFor:v,className:(0,S.cx)(p.entryContentItem,p.truncated)},t.name))};var pr=b(11109);class ce{static buildResourceUri(e,r,s){const a=[],{subscription:i,resourceGroup:c,metricNamespace:n,resourceName:u}=r;if(i&&(a.push("/subscriptions",i),c&&!s&&(a.push("resourceGroups",c),n&&u))){const l=e.replace(n),p=n.split("/"),f=e.replace(u),g=u.split("/"),h=p.shift();if(h&&a.push("providers",h),l.toLowerCase().startsWith("microsoft.storage/storageaccounts/")&&!f.endsWith("default")&&g.push("default"),g.length>p.length){const v=g.shift();v&&a.push(v)}for(const v in p)a.push(p[v]),a.push(g[v])}return a.join("/")}static buildAzureMonitorGetMetricNamespacesUrl(e,r,s,a,i){let c;if("resourceUri"in s)c=s.resourceUri;else{const{subscription:n,resourceGroup:u,metricNamespace:l,resourceName:p}=s;c=ce.buildResourceUri(i,{subscription:n,resourceGroup:u,metricNamespace:l,resourceName:p})}return`${e}${c}/providers/microsoft.insights/metricNamespaces?api-version=${r}${a?"®ion=global":""}`}static buildAzureMonitorGetMetricNamesUrl(e,r,s,a,i,c){let n;const{customNamespace:u,metricNamespace:l}=s;if("resourceUri"in s)n=s.resourceUri;else{const{subscription:f,resourceGroup:g,metricNamespace:h,resourceName:v}=s;n=ce.buildResourceUri(a,{subscription:f,resourceGroup:g,metricNamespace:h,resourceName:v},i)}let p=`${e}${n}/providers/microsoft.insights/metricdefinitions?api-version=${r}`;return u&&(p+=`&metricnamespace=${encodeURIComponent(u)}`),i&&!u&&l&&(p+=`&metricnamespace=${encodeURIComponent(l)}`,c&&(p+=`®ion=${c}`)),p}}const dr=/\/subscriptions\/(?<subscription>[^/]+)(?:\/resourceGroups\/(?<resourceGroup>[^/]+)(?:\/providers\/(?<metricNamespaceAndResource>.+))?)?/;function fr(t){if(!t)return{};const e=t.split("/"),r=e.splice(0,2),s=e.splice(0,1);for(;e.length;){const a=e.shift();e.length%2===0?s.push(a):r.push(a)}return{metricNamespace:r.join("/"),resourceName:s.join("/")}}function Le(t){const r=dr.exec(t)?.groups??{},{subscription:s,resourceGroup:a,metricNamespaceAndResource:i}=r,{metricNamespace:c,resourceName:n}=fr(i);return{subscription:s,resourceGroup:a,metricNamespace:c,resourceName:n}}function ue(t,e){return t.map(r=>O(r,e))}function O(t,e){if(typeof t=="string"){const r=Le(t);return e&&(r.region=e),r}return t}function Be(t){return t.map(e=>Pe(e))}function Pe(t){return t?typeof t=="string"?t:ce.buildResourceUri((0,F.J)(),t):""}function ft(t){return!!t.match(/^[A-Z0-9]+/i)}function gr(t,e,r,s){return r?.startsWith("microsoft.storage/storageaccounts")&&(r="microsoft.storage/storageaccounts",s?.endsWith("/default")&&(s=s.slice(0,-8))),t===r&&e===s}function gt(t,e){const r=O(e),s=O(t);return s?.subscription===r?.subscription&&s?.resourceGroup?.toLowerCase()===r?.resourceGroup?.toLowerCase()&&gr(s?.metricNamespace?.toLowerCase(),s?.resourceName,r?.metricNamespace?.toLowerCase(),r?.resourceName)}function hr(t,e){const r=[];return e.forEach(s=>{const a=he(t,s);a&&r.push(a)}),r}function he(t,e){for(const r of t){if(gt(r.uri,e))return r;if(r.children){const s=he(r.children,e);if(s)return s}}}function He(t,e,r){return(0,pr.Uy)(t,s=>{const a=he(s,e);a&&(a.children=r)})}function br(t,e,r){if(e==="logs")return{...t,azureLogAnalytics:{...t.azureLogAnalytics,resources:Be(r).filter(a=>a!=="")}};if(e==="traces")return{...t,azureTraces:{...t.azureTraces,resources:Be(r).filter(a=>a!=="")}};const s=r.length?O(r[0]):{};return{...t,subscription:s.subscription,azureMonitor:{...t.azureMonitor,metricNamespace:s.metricNamespace?.toLocaleLowerCase(),region:s.region,resources:ue(r).filter(a=>a.resourceName!==""&&a.metricNamespace!==""&&a.subscription!==""&&a.resourceGroup!==""),metricName:void 0,aggregation:void 0,timeGrain:"",dimensionFilters:[]}}}const ht=({row:t,selectedRows:e,level:r,requestNestedRows:s,onRowSelectedChange:a,selectableEntryTypes:i,scrollIntoView:c,disableRow:n})=>{const u=(0,te.wW)(Ee),[l,p]=(0,o.useState)("closed"),f=!!e.find(d=>d.uri.toLowerCase()===t.uri.toLowerCase()),g=!f&&n(t,e),h=l==="open",v=async()=>{if(l==="open"){p("closed");return}p("loading"),s(t).then(()=>p("open")).catch(()=>p("closed"))};return(0,o.useEffect)(()=>{const d=e[0];d&&!!he(t.children??[],d.uri)&&p("open")},[e,t]),o.createElement(o.Fragment,null,o.createElement("tr",{className:(0,S.cx)(u.row,g&&u.disabledRow),key:t.id},o.createElement("td",{className:u.cell},o.createElement(mr,{level:r,isSelected:f,isDisabled:g,isOpen:h,entry:t,onToggleCollapse:v,onSelectedChange:a,isSelectable:i.some(d=>d===t.type),scrollIntoView:c})),o.createElement("td",{className:u.cell},t.typeLabel),o.createElement("td",{className:u.cell},t.location??"-")),h&&t.children&&Object.keys(t.children).length>0&&t.children.map(d=>o.createElement(ht,{key:d.uri,row:d,selectedRows:e,level:r+1,requestNestedRows:s,onRowSelectedChange:a,selectableEntryTypes:i,scrollIntoView:c,disableRow:n})),o.createElement(cr.n,{visible:l==="loading"},o.createElement("tr",null,o.createElement("td",{className:(0,S.cx)(u.cell,u.loadingCell),colSpan:3},o.createElement(pt.u,{text:"Loading...",className:u.spinner})))))},bt=ht;var J=b(1128);const vr=({searchFn:t})=>{const[e,r]=(0,o.useState)(""),s=(0,o.useMemo)(()=>(0,k.debounce)(t,600),[t]);return(0,o.useEffect)(()=>()=>{s.cancel()},[s]),o.createElement(J.I,{"aria-label":"resource search",prefix:o.createElement(re.J,{name:"search"}),value:e,onChange:a=>{const i=a.currentTarget.value;r(i),s(i)},placeholder:"search for a resource","data-testid":M.components.queryEditor.resourcePicker.search.input})},yr=({resourcePickerData:t,resources:e,onApply:r,onCancel:s,selectableEntryTypes:a,queryType:i,disableRow:c,renderAdvanced:n,selectionNotice:u})=>{const l=(0,te.wW)(Ee),[p,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)([]),[v,d]=(0,o.useState)([]),[y,z]=(0,o.useState)(e),[w,N]=(0,o.useState)(void 0),[B,x]=(0,o.useState)(!1),We=u?.(v);(0,o.useEffect)(()=>{z(e)},[e]);const ve=(0,o.useCallback)(async()=>{if(!p){try{f(!0);const A=await t.fetchInitialRows(i,ue(y??{}));h(A)}catch(A){N(ge(A))}f(!1)}},[y,p,t,i]);(0,je.Z)(()=>{ve()});const Me=A=>typeof A=="string"?A!=="":A.subscription&&A.resourceGroup&&A.resourceName&&A.metricNamespace;(0,o.useEffect)(()=>{y||d([]);const A=y.filter(W=>Me(W)),P=y&&hr(g,Be(A));return A?.length>P.length?d(t.parseRows(A)):P&&P.length?d(P):d([])},[y,g,t]);const Ne=(0,o.useCallback)(async A=>{if(N(void 0),!A.children?.length)try{const P=await t.fetchAndAppendNestedRow(g,A,i);h(P)}catch(P){throw N(ge(P)),P}},[t,g,i]),$e=(0,o.useCallback)((A,P)=>{if(P){const W=i==="logs"?A.uri:ue([A.uri],A.location)[0],ye=y?y.concat(W):[W];z(ye.filter(le=>Me(le)))}else{const W=y?.filter(ye=>!gt(Pe(ye),A.uri));z(W)}},[i,y,z]),et=(0,o.useCallback)(()=>{y&&r(i==="logs"?y:ue(y))},[i,y,r]),tt=(0,o.useCallback)(async A=>{if(N(void 0),x(!1),!A){ve();return}try{f(!0);const P=await t.search(A,i);h(P),P.length>=t.resultLimit&&x(!0)}catch(P){N(ge(P))}f(!1)},[ve,t,i]);return o.createElement(o.Fragment,null,o.createElement(vr,{searchFn:tt}),B?o.createElement("p",{className:l.resultLimit},"Showing first ",t.resultLimit," results"):o.createElement(j,{v:2}),o.createElement("table",{className:l.table},o.createElement("thead",null,o.createElement("tr",{className:(0,S.cx)(l.row,l.header)},o.createElement("td",{className:l.cell},"Scope"),o.createElement("td",{className:l.cell},"Type"),o.createElement("td",{className:l.cell},"Location")))),o.createElement("div",{className:(0,S.cx)(l.scrollableTable,l.tableScroller)},o.createElement("table",{className:l.table},o.createElement("tbody",null,p&&o.createElement("tr",{className:(0,S.cx)(l.row)},o.createElement("td",{className:l.cell},o.createElement(pt.u,{text:"Loading..."}))),!p&&g.length===0&&o.createElement("tr",{className:(0,S.cx)(l.row)},o.createElement("td",{className:l.cell,"aria-live":"polite"},"No resources found")),!p&&g.map(A=>o.createElement(bt,{key:A.uri,row:A,selectedRows:v,level:0,requestNestedRows:Ne,onRowSelectedChange:$e,selectableEntryTypes:a,scrollIntoView:!0,disableRow:c}))))),o.createElement("footer",{className:l.selectionFooter},v.length>0&&o.createElement(o.Fragment,null,o.createElement("h5",null,"Selection"),o.createElement("div",{className:(0,S.cx)(l.scrollableTable,l.selectedTableScroller)},o.createElement("table",{className:l.table},o.createElement("tbody",null,v.map(A=>o.createElement(bt,{key:A.uri,row:A,selectedRows:v,level:0,requestNestedRows:Ne,onRowSelectedChange:$e,selectableEntryTypes:a,disableRow:()=>!1}))))),o.createElement(j,{v:2}),We?.length?o.createElement(Y.b,{title:"",severity:"info"},We):null),o.createElement(nr,{resources:y,onChange:A=>z(A),renderAdvanced:n}),w&&o.createElement(o.Fragment,null,o.createElement(j,{v:2}),o.createElement(Y.b,{severity:"error",title:"An error occurred while requesting resources from Azure Monitor"},w)),o.createElement(mt.u.ButtonRow,null,o.createElement(ne.zx,{onClick:s,variant:"secondary",fill:"outline"},"Cancel"),o.createElement(ne.zx,{disabled:!!w||!y.every(Me),onClick:et,"data-testid":M.components.queryEditor.resourcePicker.apply.button},"Apply"))))},wr=({query:t,datasource:e,onQueryChange:r,selectableEntryTypes:s,queryType:a,resources:i,inlineField:c,labelWidth:n,disableRow:u,renderAdvanced:l,selectionNotice:p})=>{const f=(0,te.wW)(Ee),[g,h]=(0,o.useState)(!1),v=(0,o.useCallback)(()=>{h(!0)},[]),d=(0,o.useCallback)(()=>{h(!1)},[]),y=(0,o.useCallback)(z=>{r(br(t,a,z)),d()},[d,r,t,a]);return o.createElement("span",{"data-testid":M.components.queryEditor.resourcePicker.select.button},o.createElement(mt.u,{className:f.modal,title:"Select a resource",isOpen:g,onDismiss:d,trapFocus:!1},o.createElement(yr,{resourcePickerData:e.resourcePickerData,resources:i,onApply:y,onCancel:d,selectableEntryTypes:s,queryType:a,disableRow:u,renderAdvanced:l,selectionNotice:p})),o.createElement(X,{label:"Resource",inlineField:c,labelWidth:n},o.createElement(ne.zx,{className:f.resourceFieldButton,variant:"secondary",onClick:v,type:"button"},o.createElement(zr,{resources:i,datasource:e}))))},zr=({resources:t,datasource:e})=>{const[r,s]=(0,o.useState)(ue(t));return(0,o.useEffect)(()=>{s(ue(t))},[t]),t.length?o.createElement(kr,{resources:r}):o.createElement(o.Fragment,null,"Select a resource")},kr=({resources:t})=>{const e=(0,te.wW)(Ee);let r="cube";const s=[];return t.forEach(a=>{if(a.resourceName){s.push(a.resourceName.split("/")[0]);return}if(a.resourceGroup){r="folder",s.push(a.resourceGroup);return}if(a.subscription){r="layer-group",s.push(a.subscription);return}}),o.createElement("span",{className:(0,S.cx)(e.truncated,e.resourceField)},o.createElement(re.J,{name:r}),s.join(", "))},Je=wr;var Qe=b(76715),vt=b(79978),Sr=b(80011);const Er=t=>({resourceList:(0,S.css)({width:"100%",display:"flex",marginBlock:t.spacing(1)})}),yt=({resources:t,onChange:e})=>{const r=(0,te.wW)(Er);(0,o.useEffect)(()=>{t.length===0&&e([""])},[t,e]);const s=(c,n)=>{const u=[...t];u[c]=n,e(u)},a=c=>{const n=[...t];n.splice(c,1),e(n)},i=()=>{e(t.concat(""))};return o.createElement(o.Fragment,null,o.createElement(vt._,null,o.createElement("h6",null,"Resource URI(s)"," ",o.createElement(Sr.u,{content:o.createElement(o.Fragment,null,"Manually edit the"," ",o.createElement("a",{href:"https://docs.microsoft.com/en-us/azure/azure-monitor/logs/log-standard-columns#_resourceid",rel:"noopener noreferrer",target:"_blank"},"resource uri"),". Supports the use of multiple template variables (ex: /subscriptions/$subId/resourceGroups/$rg)"),placement:"right",interactive:!0},o.createElement(re.J,{name:"info-circle"})))),t.map((c,n)=>o.createElement("div",{key:`resource-${n+1}`},o.createElement("div",{className:r.resourceList},o.createElement(J.I,{id:`input-advanced-resource-picker-${n+1}`,value:c,onChange:u=>s(n,u.currentTarget.value),placeholder:"ex: /subscriptions/$subId","data-testid":`input-advanced-resource-picker-${n+1}`}),o.createElement(Qe._,{"aria-label":"remove",icon:"times",variant:"secondary",onClick:()=>a(n),"data-testid":"remove-resource",hidden:t.length===1})))),o.createElement(ne.zx,{"aria-label":"Add",icon:"plus",variant:"secondary",onClick:i,type:"button"},"Add resource URI"))};class Ar{constructor(){this.resolve=void 0,this.reject=void 0,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),Object.freeze(this)}}function Ke(t,e){return{...t,azureLogAnalytics:{...t.azureLogAnalytics,query:e}}}function Tr(t,e){return{...t,azureLogAnalytics:{...t.azureLogAnalytics,resultFormat:e}}}function Mr(t,e){return{...t,azureLogAnalytics:{...t.azureLogAnalytics,intersectTime:e}}}const Nr=({query:t,datasource:e,onQueryChange:r})=>{const s=(0,o.useRef)();function a(){return s.current||(s.current=new Ar),s.current.promise}(0,o.useEffect)(()=>{if(!t.azureLogAnalytics?.resources||!t.azureLogAnalytics.resources.length)return;const n=[e.azureLogAnalyticsDatasource.getKustoSchema(t.azureLogAnalytics.resources[0]),a()];Promise.all(n).then(([u,{monaco:l,editor:p}])=>{l.languages.kusto.getKustoWorker().then(g=>{const h=p.getModel();return h&&g(h.uri)}).then(g=>{g?.setSchema(u,"https://help.kusto.windows.net","Samples")})})},[e.azureLogAnalyticsDatasource,t.azureLogAnalytics?.resources]);const i=(0,o.useCallback)((n,u)=>{s.current?.resolve?.({editor:n,monaco:u})},[]),c=(0,o.useCallback)(n=>{r(Ke(t,n))},[r,t]);return o.createElement(Xe.p,{value:t.azureLogAnalytics?.query??"",language:"kusto",height:200,width:"100%",showMiniMap:!1,onBlur:c,onSave:c,onEditorDidMount:i})};async function Rr(t,e,r){if(e.azureLogAnalytics?.workspace!==void 0&&!e.azureLogAnalytics.resources){const s=ft(e.azureLogAnalytics.workspace);let a;s?a=await t.resourcePickerData.getResourceURIFromWorkspace(e.azureLogAnalytics.workspace):a=e.azureLogAnalytics.workspace;const i={...e,azureLogAnalytics:{...e.azureLogAnalytics,resource:a,workspace:void 0}};delete i.azureLogAnalytics.workspace,r(i)}}function Cr(t,e,r){const[s,a]=(0,o.useState)();return(0,o.useEffect)(()=>{Rr(t,e,r).catch(i=>a({title:"Unable to migrate workspace as a resource",message:i.message}))},[t,e,r]),s}const wt=({query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onChange:a,setError:i,hideFormatAs:c})=>{const n=Cr(e,t,a),u=(l,p)=>{if(p.length===0)return!1;const f=O(l.uri,l.location).metricNamespace?.toLowerCase(),g=O(p[0].uri,p[0].location).metricNamespace?.toLowerCase();return f!==g};return o.createElement("span",{"data-testid":M.components.queryEditor.logsQueryEditor.container.input},o.createElement(Fe._,null,o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Je,{query:t,datasource:e,inlineField:!0,labelWidth:10,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i,selectableEntryTypes:[I.Subscription,I.ResourceGroup,I.Resource,I.Variable],resources:t.azureLogAnalytics?.resources??[],queryType:"logs",disableRow:u,renderAdvanced:(l,p)=>o.createElement(yt,{resources:l,onChange:p}),selectionNotice:()=>"You may only choose items of the same resource type."}),o.createElement(G._,{label:"Time-range",tooltip:"Specifies the time-range used to query. The query option will only use time-ranges specified in the query. Intersection will combine query time-ranges with the Grafana time-range."},o.createElement(sr.S,{options:[{label:"Query",value:!1},{label:"Intersection",value:!0}],value:t.azureLogAnalytics?.intersectTime??!1,size:"md",onChange:l=>a(Mr(t,l))})))),o.createElement(Nr,{query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i}),o.createElement(_.p,null,o.createElement(ee.s,null,!c&&o.createElement(lt,{query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i,inputId:"azure-monitor-logs",options:[{label:"Time series",value:q.TimeSeries},{label:"Table",value:q.Table}],defaultValue:q.Table,setFormatAs:Tr,resultFormat:t.azureLogAnalytics?.resultFormat}),n&&o.createElement(Y.b,{title:n.title},n.message)))))},Ze={"microsoft.recoveryservices/vaults/backupfabrics/protectioncontainers/protecteditems":"Backup Items","microsoft.resources/subscriptions":"Subscriptions","microsoft.resources/subscriptions/resourcegroups":"Resource groups","citrix.services/xenappessentials":"Citrix Virtual Apps Essentials","citrix.services/xendesktopessentials":"Citrix Virtual Desktops Essentials","dynatrace.observability/monitors":"Dynatrace","github.enterprise/accounts":"GitHub AE","microsoft.aad/domainservices":"Azure AD Domain Services","microsoft.aadiam/privatelinkforazuread":"Private Link for Azure AD","microsoft.agfoodplatform/farmbeats":"Azure FarmBeats","microsoft.analysisservices/servers":"Analysis Services","microsoft.anybuild/clusters":"AnyBuild clusters","microsoft.apimanagement/service":"API Management services","microsoft.appconfiguration/configurationstores":"App Configuration","microsoft.appplatform/spring":"Azure Spring Cloud","microsoft.attestation/attestationproviders":"Attestation providers","microsoft.authorization/resourcemanagementprivatelinks":"Resource management private links","microsoft.automation/automationaccounts":"Automation Accounts","microsoft.automation/automationaccounts/runbooks":"Runbook","microsoft.autonomoussystems/workspaces":"Bonsai","microsoft.avs/privateclouds":"AVS Private clouds","microsoft.azureactivedirectory/b2cdirectories":"B2C Tenants","microsoft.azureactivedirectory/guestusages":"Guest Usages","microsoft.azurearcdata/datacontrollers":"Azure Arc data controllers","microsoft.azurearcdata/postgresinstances":"Azure Arc-enabled PostgreSQL Hyperscale server groups","microsoft.azurearcdata/sqlmanagedinstances":"SQL managed instances - Azure Arc","microsoft.azurearcdata/sqlserverinstances":"SQL Server - Azure Arc","microsoft.azuredata/sqlserverregistrations":"SQL Server registries","microsoft.azurepercept/accounts":"Azure Percept accounts","microsoft.azurestackhci/clusters":"Azure Stack HCI","microsoft.azurestackhci/virtualmachines":"Azure Stack HCI virtual machine - Azure Arc","microsoft.baremetal/crayservers":"Cray Servers","microsoft.baremetal/monitoringservers":"Monitoring Servers","microsoft.baremetalinfrastructure/baremetalinstances":"BareMetal Instances","microsoft.batch/batchaccounts":"Batch accounts","microsoft.bing/accounts":"Bing Resources","microsoft.botservice/botservices":"Bot Services","microsoft.cache/redis":"Azure Cache for Redis","microsoft.cache/redisenterprise":"Redis Enterprise","microsoft.cdn/cdnwebapplicationfirewallpolicies":"Content Delivery Network WAF policies","microsoft.cdn/profiles (front doors standard/premium":"Preview)","microsoft.cdn/profiles/afdendpoints":"Endpoints","microsoft.cdn/profiles/endpoints":"Endpoints","microsoft.certificateregistration/certificateorders":"App Service Certificates","microsoft.chaos/chaosexperiments":"Chaos Experiments (Classic)","microsoft.chaos/experiments":"Chaos Experiments","microsoft.classiccompute/domainnames":"Cloud services (classic)","microsoft.classiccompute/virtualmachines":"Virtual machines (classic)","microsoft.classicnetwork/networksecuritygroups":"Network security groups (classic)","microsoft.classicnetwork/reservedips":"Reserved IP addresses (classic)","microsoft.classicnetwork/virtualnetworks":"Virtual networks (classic)","microsoft.classicstorage/storageaccounts":"Storage accounts (classic)","microsoft.cloudtest/accounts":"CloudTest Accounts","microsoft.cloudtest/hostedpools":"1ES Hosted Pools","microsoft.cloudtest/images":"CloudTest Images","microsoft.cloudtest/pools":"CloudTest Pools","microsoft.clusterstor/nodes":"ClusterStors","microsoft.cognitiveservices/accounts":"Cognitive Services","microsoft.compute/availabilitysets":"Availability sets","microsoft.compute/capacityreservationgroups":"Capacity Reservation Groups","microsoft.compute/cloudservices":"Cloud services (extended support)","microsoft.compute/diskaccesses":"Disk Accesses","microsoft.compute/diskencryptionsets":"Disk Encryption Sets","microsoft.compute/disks":"Disks","microsoft.compute/galleries":"Azure compute galleries","microsoft.compute/galleries/applications":"VM application definitions","microsoft.compute/galleries/applications/versions":"VM application versions","microsoft.compute/galleries/images":"VM image definitions","microsoft.compute/galleries/images/versions":"VM image versions","microsoft.compute/hostgroups":"Host groups","microsoft.compute/hostgroups/hosts":"Hosts","microsoft.compute/images":"Images","microsoft.compute/proximityplacementgroups":"Proximity placement groups","microsoft.compute/restorepointcollections":"Restore Point Collections","microsoft.compute/snapshots":"Snapshots","microsoft.compute/sshpublickeys":"SSH keys","microsoft.compute/virtualmachines":"Virtual machines","microsoft.compute/virtualmachinescalesets":"Virtual machine scale sets","microsoft.confidentialledger/ledgers":"Confidential Ledgers","microsoft.confluent/organizations":"Confluent organizations","microsoft.connectedcache/cachenodes":"Connected Cache Resources","microsoft.connectedcache/enterprisecustomers":"Connected Cache Resources","microsoft.connectedvehicle/platformaccounts":"Connected Vehicle Platforms","microsoft.connectedvmwarevsphere/vcenters":"VMware vCenters","microsoft.connectedvmwarevsphere/virtualmachines":"VMware + AVS virtual machines","microsoft.containerinstance/containergroups":"Container instances","microsoft.containerregistry/registries":"Container registries","microsoft.containerregistry/registries/replications":"Container registry replications","microsoft.containerregistry/registries/webhooks":"Container registry webhooks","microsoft.containerservice/managedclusters":"Kubernetes services","microsoft.dashboard/grafana":"Grafana Workspaces","microsoft.databox/jobs":"Azure Data Box","microsoft.databoxedge/databoxedgedevices":"Azure Stack Edge / Data Box Gateway","microsoft.databricks/workspaces":"Azure Databricks Services","microsoft.datacatalog/catalogs":"Data Catalog","microsoft.datacollaboration/workspaces":"Project CI","microsoft.datadog/monitors":"Datadog","microsoft.datafactory/datafactories":"Data factories","microsoft.datafactory/factories":"Data factories (V2)","microsoft.datalakeanalytics/accounts":"Data Lake Analytics","microsoft.datalakestore/accounts":"Data Lake Storage Gen1","microsoft.datamigration/services":"Azure Database Migration Services","microsoft.datamigration/services/projects":"Azure Database Migration Projects","microsoft.datamigration/sqlmigrationservices":"Azure Database Migration Services","microsoft.dataprotection/backupvaults":"Backup vaults","microsoft.dataprotection/resourceguards":"Resource Guards (Preview)","microsoft.datareplication/replicationvaults":"Site Recovery Vaults","microsoft.datashare/accounts":"Data Shares","microsoft.dbformariadb/servers":"Azure Database for MariaDB servers","microsoft.dbformysql/flexibleservers":"Azure Database for MySQL flexible servers","microsoft.dbformysql/servers":"Azure Database for MySQL servers","microsoft.dbforpostgresql/flexibleservers":"Azure Database for PostgreSQL flexible servers","microsoft.dbforpostgresql/servergroups":"Azure Database for PostgreSQL server groups","microsoft.dbforpostgresql/servergroupsv2":"Azure Database for PostgreSQL server groups","microsoft.dbforpostgresql/servers":"Azure Database for PostgreSQL servers","microsoft.dbforpostgresql/serversv2":"Azure Database for PostgreSQL servers v2","microsoft.deploymentmanager/rollouts":"Rollouts","microsoft.desktopvirtualization/applicationgroups":"Application groups","microsoft.desktopvirtualization/hostpools":"Host pools","microsoft.desktopvirtualization/scalingplans":"Scaling plans","microsoft.desktopvirtualization/workspaces":"Workspaces","microsoft.devices/iothubs":"IoT Hub","microsoft.devices/provisioningservices":"Device Provisioning Services","microsoft.deviceupdate/accounts":"Device Update for IoT Hubs","microsoft.devops/pipelines":"DevOps Starter","microsoft.devtestlab/labs":"DevTest Labs","microsoft.devtestlab/labs/virtualmachines":"Virtual machines","microsoft.digitaltwins/digitaltwinsinstances":"Azure Digital Twins","microsoft.documentdb/cassandraclusters":"Azure Managed Instance for Apache Cassandra","microsoft.documentdb/databaseaccounts":"Azure Cosmos DB accounts","microsoft.domainregistration/domains":"App Service Domains","microsoft.edgeorder/addresses":"Azure Edge Hardware Center Address","microsoft.edgeorder/orderitems":"Azure Edge Hardware Center","microsoft.elastic/monitors":"Elasticsearch (Elastic Cloud)","microsoft.eventgrid/domains":"Event Grid Domains","microsoft.eventgrid/partnernamespaces":"Event Grid Partner Namespaces","microsoft.eventgrid/partnerregistrations":"Event Grid Partner Registrations","microsoft.eventgrid/partnertopics":"Event Grid Partner Topics","microsoft.eventgrid/systemtopics":"Event Grid System Topics","microsoft.eventgrid/topics":"Event Grid Topics","microsoft.eventhub/clusters":"Event Hubs Clusters","microsoft.eventhub/namespaces":"Event Hubs Namespaces","microsoft.experimentation/experimentworkspaces":"Experiment Workspaces","microsoft.extendedlocation/customlocations":"Custom locations","microsoft.fidalgo/devcenters":"Fidalgo DevCenters","microsoft.fidalgo/networksettings":"Network Configurations","microsoft.fidalgo/projects":"Fidalgo Projects","microsoft.fidalgo/projects/environments":"Fidalgo Environments","microsoft.fluidrelay/fluidrelayservers":"Fluid Relay","microsoft.genomics/accounts":"Genomics accounts","microsoft.hanaonazure/hanainstances":"SAP HANA on Azure","microsoft.hanaonazure/sapmonitors":"Azure Monitors for SAP Solutions","microsoft.hdinsight/clusterpools":"HDInsight cluster pools","microsoft.hdinsight/clusterpools/clusters":"HDInsight gen2 clusters","microsoft.hdinsight/clusterpools/clusters/sessionclusters":"HDInsight session clusters","microsoft.hdinsight/clusters":"HDInsight clusters","microsoft.healthbot/healthbots":"Azure Health Bot","microsoft.healthcareapis/services":"Azure API for FHIR","microsoft.healthcareapis/workspaces":"Healthcare APIs Workspaces","microsoft.healthcareapis/workspaces/dicomservices":"DICOM services","microsoft.healthcareapis/workspaces/fhirservices":"FHIR services","microsoft.healthcareapis/workspaces/iotconnectors":"IoT connectors","microsoft.hpcworkbench/instances":"HPC Workbenches (preview)","microsoft.hpcworkbench/instances/chambers":"Chambers (preview)","microsoft.hpcworkbench/instances/chambers/accessprofiles":"Chamber Profiles (preview)","microsoft.hpcworkbench/instances/chambers/workloads":"Chamber VMs (preview)","microsoft.hpcworkbench/instances/consortiums":"Consortiums (preview)","microsoft.hybridcompute/machines":"Servers - Azure Arc","microsoft.hybridcompute/privatelinkscopes":"Azure Arc Private Link Scopes","microsoft.hybridcontainerservice/provisionedclusters":"Provisioned clusters","microsoft.hybriddata/datamanagers":"StorSimple Data Managers","microsoft.hybridnetwork/devices":"Azure Network Function Manager \u2013 Devices","microsoft.hybridnetwork/networkfunctions":"Azure Network Function Manager \u2013 Network Functions","microsoft.importexport/jobs":"Import/export jobs","microsoft.insights/components":"Application Insights","microsoft.insights/datacollectionendpoints":"Data collection endpoints","microsoft.insights/datacollectionrules":"Data collection rules","microsoft.insights/privatelinkscopes":"Azure Monitor Private Link Scopes","microsoft.insights/webtests":"Availability tests","microsoft.insights/workbooks":"Azure Workbooks","microsoft.insights/workbooktemplates":"Azure Workbook Templates","microsoft.iotcentral/iotapps":"IoT Central Applications","microsoft.keyvault/vaults":"Key vaults","microsoft.kubernetes/connectedclusters":"Kubernetes - Azure Arc","microsoft.kusto/clusters":"Azure Data Explorer Clusters","microsoft.kusto/clusters/databases":"Azure Data Explorer Databases","microsoft.labservices/labaccounts":"Lab accounts","microsoft.labservices/labplans":"Lab plans","microsoft.labservices/labs":"Labs","microsoft.loadtestservice/loadtests":"Azure Load Testing","microsoft.logic/integrationaccounts":"Integration accounts","microsoft.logic/integrationserviceenvironments":"Integration Service Environments","microsoft.logic/integrationserviceenvironments/managedapis":"Managed Connector","microsoft.logic/workflows":"Logic apps","microsoft.logz/monitors":"Logz main account","microsoft.logz/monitors/accounts":"Logz sub account","microsoft.logz/monitors/metricssource":"Logz metrics data source","microsoft.machinelearning/commitmentplans":"Machine Learning Studio (classic) web service plans","microsoft.machinelearning/webservices":"Machine Learning Studio (classic) web services","microsoft.machinelearning/workspaces":"Machine Learning Studio (classic) workspaces","microsoft.machinelearningservices/workspaces":"Machine learning","microsoft.machinelearningservices/workspaces/onlineendpoints":"Machine learning online endpoints","microsoft.machinelearningservices/workspaces/onlineendpoints/deployments":"Machine learning online deployments","microsoft.maintenance/maintenanceconfigurations":"Maintenance Configurations","microsoft.managedidentity/userassignedidentities":"Managed Identities","microsoft.maps/accounts":"Azure Maps Accounts","microsoft.maps/accounts/creators":"Azure Maps Creator Resources","microsoft.media/mediaservices":"Media Services","microsoft.media/mediaservices/liveevents":"Live events","microsoft.media/mediaservices/streamingendpoints":"Streaming Endpoints","microsoft.media/videoanalyzers":"Video Analyzers","microsoft.migrate/projects":"Migration projects","microsoft.mixedreality/objectanchorsaccounts":"Object Anchors Accounts","microsoft.mixedreality/objectunderstandingaccounts":"Object Understanding Accounts","microsoft.mixedreality/remoterenderingaccounts":"Remote Rendering Accounts","microsoft.mixedreality/spatialanchorsaccounts":"Spatial Anchors Accounts","microsoft.mobilenetwork/mobilenetworks":"Mobile Networks","microsoft.mobilenetwork/mobilenetworks/datanetworks":"Data Networks","microsoft.mobilenetwork/mobilenetworks/services":"Services","microsoft.mobilenetwork/mobilenetworks/simpolicies":"Sim Policies","microsoft.mobilenetwork/mobilenetworks/sites":"Mobile Network Sites","microsoft.mobilenetwork/mobilenetworks/slices":"Slices","microsoft.mobilenetwork/packetcorecontrolplanes":"Packet Core Control Planes","microsoft.mobilenetwork/packetcorecontrolplanes/packetcoredataplanes":"Packet Core Data Planes","microsoft.mobilenetwork/packetcorecontrolplanes/packetcoredataplanes/attacheddatanetworks":"Attached Data Networks","microsoft.mobilenetwork/sims":"Sims","microsoft.netapp/netappaccounts":"NetApp accounts","microsoft.netapp/netappaccounts/capacitypools":"Capacity pools","microsoft.netapp/netappaccounts/capacitypools/volumes":"Volumes","microsoft.netapp/netappaccounts/capacitypools/volumes/snapshots":"Snapshots","microsoft.netapp/netappaccounts/snapshotpolicies":"Snapshot policies","microsoft.network/applicationgateways":"Application gateways","microsoft.network/applicationgatewaywebapplicationfirewallpolicies":"Application Gateway WAF policies","microsoft.network/applicationsecuritygroups":"Application security groups","microsoft.network/azurefirewalls":"Firewalls","microsoft.network/bastionhosts":"Bastions","microsoft.network/connections":"Connections","microsoft.network/customipprefixes":"Custom IP Prefixes","microsoft.network/ddosprotectionplans":"DDoS protection plans","microsoft.network/dnsforwardingrulesets":"Dns Forwarding Rulesets","microsoft.network/dnsresolvers":"DNS Private Resolvers","microsoft.network/dnszones":"DNS zones","microsoft.network/expressroutecircuits":"ExpressRoute circuits","microsoft.network/expressrouteports":"ExpressRoute Direct","microsoft.network/firewallpolicies":"Firewall Policies","microsoft.network/frontdoors":"Front Doors","microsoft.network/frontdoorwebapplicationfirewallpolicies":"Web Application Firewall policies (WAF)","microsoft.network/ipgroups":"IP Groups","microsoft.network/loadbalancers":"Load balancers","microsoft.network/localnetworkgateways":"Local network gateways","microsoft.network/natgateways":"NAT gateways","microsoft.network/networkexperimentprofiles":"Internet Analyzer profiles","microsoft.network/networkinterfaces":"Network interfaces","microsoft.network/networkmanagers":"Network Managers","microsoft.network/networksecuritygroups":"Network security groups","microsoft.network/networkwatchers":"Network Watchers","microsoft.network/networkwatchers/connectionmonitors":"Connection Monitors","microsoft.network/networkwatchers/flowlogs":"NSG Flow Logs","microsoft.network/privatednszones":"Private DNS zones","microsoft.network/privateendpoints":"Private endpoints","microsoft.network/privatelinkservices":"Private link services","microsoft.network/publicipaddresses":"Public IP addresses","microsoft.network/publicipprefixes":"Public IP Prefixes","microsoft.network/routefilters":"Route filters","microsoft.network/routetables":"Route tables","microsoft.network/serviceendpointpolicies":"Service endpoint policies","microsoft.network/trafficmanagerprofiles":"Traffic Manager profiles","microsoft.network/virtualnetworkgateways":"Virtual network gateways","microsoft.network/virtualnetworks":"Virtual networks","microsoft.network/virtualwans":"Virtual WANs","microsoft.notificationhubs/namespaces":"Notification Hub Namespaces","microsoft.notificationhubs/namespaces/notificationhubs":"Notification Hubs","microsoft.openenergyplatform/energyservices":"Project Oak Forest","microsoft.openlogisticsplatform/workspaces":"Open Supply Chain Platform","microsoft.operationalinsights/querypacks":"Log Analytics query packs","microsoft.operationalinsights/workspaces":"Log Analytics workspaces","microsoft.operationsmanagement/solutions":"Solutions","microsoft.orbital/contactprofiles":"Contact Profiles","microsoft.orbital/edgesites":"Edge Sites","microsoft.orbital/groundstations":"Ground Stations","microsoft.orbital/l2connections":"L2 Connections","microsoft.orbital/spacecrafts":"Spacecrafts","microsoft.peering/peerings":"Peerings","microsoft.peering/peeringservices":"Peering Services","microsoft.playfab/playeraccountpools":"PlayFab player account pools","microsoft.playfab/titles":"PlayFab titles","microsoft.portal/dashboards":"Shared dashboards","microsoft.powerbidedicated/capacities":"Power BI Embedded","microsoft.purview/accounts":"Microsoft Purview accounts","microsoft.quantum/workspaces":"Quantum Workspaces","microsoft.recommendationsservice/accounts":"Intelligent Recommendations Accounts","microsoft.recommendationsservice/accounts/modeling":"Modeling","microsoft.recommendationsservice/accounts/serviceendpoints":"Service Endpoints","microsoft.recoveryservices/vaults":"Recovery Services vaults","microsoft.redhatopenshift/openshiftclusters":"Azure Red Hat OpenShift","microsoft.relay/namespaces":"Relays","microsoft.resourceconnector/appliances":"Resource bridges","microsoft.resourcegraph/queries":"Resource Graph queries","microsoft.resources/deploymentscripts":"Deployment Scripts","microsoft.resources/templatespecs":"Template specs","microsoft.saas/applications":"Software as a Service (classic)","microsoft.saas/resources":"SaaS","microsoft.scom/managedinstances":"Aquila Instances","microsoft.scvmm/virtualmachines":"SCVMM virtual machine - Azure Arc","microsoft.scvmm/vmmservers":"SCVMM management servers","microsoft.search/searchservices":"Search services","microsoft.securitydetonation/chambers":"Security Detonation Chambers","microsoft.servicebus/namespaces":"Service Bus Namespaces","microsoft.servicefabric/clusters":"Service Fabric clusters","microsoft.servicefabric/managedclusters":"Service Fabric managed clusters","microsoft.serviceshub/connectors":"Services Hub Connectors","microsoft.signalrservice/signalr":"SignalR","microsoft.signalrservice/webpubsub":"Web PubSub Service","microsoft.solutions/applicationdefinitions":"Service catalog managed application definitions","microsoft.solutions/applications":"Managed applications","microsoft.sql/instancepools":"Instance pools","microsoft.sql/managedinstances":"SQL managed instances","microsoft.sql/managedinstances/databases":"Managed databases","microsoft.sql/servers":"SQL servers","microsoft.sql/servers/databases":"SQL databases","microsoft.sql/servers/elasticpools":"SQL elastic pools","microsoft.sql/servers/jobagents":"Elastic Job agents","microsoft.sql/virtualclusters":"Virtual clusters","microsoft.sqlvirtualmachine/sqlvirtualmachines":"SQL virtual machines","microsoft.storage/storageaccounts":"Storage accounts","microsoft.storagecache/amlfilesystems":"Lustre File Systems","microsoft.storagecache/caches":"HPC caches","microsoft.storagepool/diskpools":"Disk Pools","microsoft.storagesync/storagesyncservices":"Storage Sync Services","microsoft.storagesyncdev/storagesyncservices":"Storage Sync Services","microsoft.storagesyncint/storagesyncservices":"Storage Sync Services","microsoft.storsimple/managers":"StorSimple Device Managers","microsoft.streamanalytics/clusters":"Stream Analytics clusters","microsoft.streamanalytics/streamingjobs":"Stream Analytics jobs","microsoft.synapse/privatelinkhubs":"Azure Synapse Analytics (private link hubs)","microsoft.synapse/workspaces":"Azure Synapse Analytics","microsoft.synapse/workspaces/bigdatapools":"Apache Spark pools","microsoft.synapse/workspaces/kustopools":"Data Explorer pools (preview)","microsoft.synapse/workspaces/sqlpools":"Dedicated SQL pools","microsoft.testbase/testbaseaccounts":"Test Base Accounts","microsoft.testbase/testbaseaccounts/packages":"Test Base Packages","microsoft.timeseriesinsights/environments":"Time Series Insights environments","microsoft.timeseriesinsights/environments/eventsources":"Time Series Insights event sources","microsoft.timeseriesinsights/environments/referencedatasets":"Time Series Insights reference data sets","microsoft.videoindexer/accounts":"Video Analyzer for Media","microsoft.virtualmachineimages/imagetemplates":"Image Templates","microsoft.visualstudio/account":"Azure DevOps organizations","microsoft.visualstudio/account/project":"DevOps Starter","microsoft.vmwarecloudsimple/dedicatedcloudnodes":"CloudSimple Nodes","microsoft.vmwarecloudsimple/dedicatedcloudservices":"CloudSimple Services","microsoft.vmwarecloudsimple/virtualmachines":"CloudSimple Virtual Machines","microsoft.vsonline/plans":"Visual Studio Online Plans","microsoft.web/connectiongateways":"On-premises data gateways","microsoft.web/connections":"API Connections","microsoft.web/containerapps":"Container Apps","microsoft.web/customapis":"Logic Apps Custom Connector","microsoft.web/hostingenvironments":"App Service Environments","microsoft.web/kubeenvironments":"App Service Kubernetes Environments","microsoft.web/serverfarms":"App Service plans","microsoft.web/sites":"App Services","microsoft.web/sites/slots":"App Service (Slots)","microsoft.web/staticsites":"Static Web Apps","microsoft.windowsesu/multipleactivationkeys":"Windows Multiple Activation Keys","microsoft.windowsiot/deviceservices":"Windows 10 IoT Core Services","microsoft.workloads/monitors":"Azure Monitors for SAP Solutions (v2)","microsoft.workloads/phpworkloads":"Scalable WordPress on Linux","microsoft.workloads/sapvirtualinstances":"SAP Virtual Instances","microsoft.workloads/sapvirtualinstances/applicationinstances":"SAP app server instances","microsoft.workloads/sapvirtualinstances/centralinstances":"SAP central server instances","microsoft.workloads/sapvirtualinstances/databaseinstances":"SAP database server instances","nginx.nginxplus/nginxdeployments":"NGINX Deployment","providers.test/statefulibizaengines":"VLCentral Help","wandisco.fusion/fusiongroups":"LiveData Planes","wandisco.fusion/fusiongroups/azurezones":"Azure Zones","wandisco.fusion/fusiongroups/azurezones/plugins":"Plugins","wandisco.fusion/fusiongroups/hivereplicationrules":"Hive Replication Rules","wandisco.fusion/fusiongroups/managedonpremzones":"On-premises Zones","wandisco.fusion/fusiongroups/replicationrules":"Replication Rules","wandisco.fusion/migrators":"LiveData Migrators","wandisco.fusion/migrators/exclusiontemplates":"Exclusions","wandisco.fusion/migrators/livedatamigrations":"Migrations","wandisco.fusion/migrators/metadatamigrations":"Metadata Migrations","wandisco.fusion/migrators/metadatatargets":"Metadata Targets","wandisco.fusion/migrators/pathmappings":"Path Mappings","wandisco.fusion/migrators/targets":"Targets","microsoft.security/insights/classification":"Data Sensitivity Security Insights (Preview)","microsoft.security/locations/alerts":"Security Alerts"},Ir={"microsoft.cache/redis":!0,"microsoft.dbforpostgresql/flexibleservers":!0,"microsoft.storagecache/amlfilesystems":!0,"microsoft.databoxedge/databoxedgedevices":!0,"microsoft.dataprotection/backupvaults":!0,"microsoft.netapp/netappaccounts/capacitypools":!0,"microsoft.network/networkwatchers/connectionmonitors":!0,"microsoft.keyvault/vaults":!0,"microsoft.recoveryservices/vaults":!0,"microsoft.sql/servers/databases":!0,"microsoft.sql/servers/elasticpools":!0,"microsoft.compute/virtualmachinescalesets":!0,"microsoft.compute/virtualmachines":!0,"microsoft.signalrservice/webpubsub":!0},Dr=["microsoft.analysisservices/servers","microsoft.apimanagement/service","microsoft.network/applicationgateways","microsoft.insights/components","microsoft.web/hostingenvironments","microsoft.web/serverfarms","microsoft.web/sites","microsoft.automation/automationaccounts","microsoft.aad/domainservices","microsoft.botservice/botservices","microsoft.appplatform/spring","microsoft.dataprotection/backupvaults","microsoft.network/bastionhosts","microsoft.batch/batchaccounts","microsoft.batchai/workspaces","microsoft.cdn/profiles","microsoft.cdn/cdnwebapplicationfirewallpolicies","microsoft.classiccompute/domainnames","microsoft.classiccompute/virtualmachines","microsoft.compute/cloudservices","microsoft.vmwarecloudsimple/virtualmachines","microsoft.codesigning/codesigningaccounts","microsoft.cognitiveservices/accounts","microsoft.voiceservices/communicationsgateways","microsoft.appconfiguration/configurationstores","microsoft.network/connections","microsoft.connectedvehicle/platformaccounts","microsoft.containerinstance/containergroups","microsoft.containerregistry/registries","microsoft.containerservice/managedclusters","microsoft.documentdb/databaseaccounts","microsoft.databoxedge/databoxedgedevices","microsoft.datafactory/datafactories","microsoft.datafactory/factories","microsoft.datalakeanalytics/accounts","microsoft.datalakestore/accounts","microsoft.datashare/accounts","microsoft.dbformysql/servers","microsoft.devices/provisioningservices","microsoft.compute/disks","microsoft.network/dnszones","microsoft.network/dnsresolvers","microsoft.network/dnsforwardingrulesets","microsoft.enterpriseknowledgegraph/services","microsoft.eventgrid/domains","microsoft.eventgrid/topics","microsoft.eventgrid/systemtopics","microsoft.eventhub/namespaces","microsoft.eventhub/clusters","microsoft.network/expressroutecircuits","microsoft.network/expressrouteports","microsoft.network/azurefirewalls","microsoft.network/frontdoors","microsoft.hdinsight/clusters","microsoft.iotcentral/iotapps","microsoft.devices/iothubs","microsoft.iotspaces/graph","microsoft.keyvault/vaults","microsoft.kubernetes/connectedclusters","microsoft.kusto/clusters","microsoft.network/loadbalancers","microsoft.operationalinsights/workspaces","microsoft.logic/workflows","microsoft.logic/integrationserviceenvironments","microsoft.machinelearningservices/workspaces","microsoft.managednetworkfabric/networkdevices","microsoft.dbformariadb/servers","microsoft.media/mediaservices","microsoft.monitor/accounts","microsoft.dbformysql/flexibleservers","microsoft.network/natgateways","microsoft.netapp/netappaccounts/capacitypools","microsoft.network/networkinterfaces","nginx.nginxplus/nginxdeployments","microsoft.notificationhubs/namespaces/notificationhubs","microsoft.orbital/l2connections","microsoft.peering/peeringservices","microsoft.playfab/titles","microsoft.dbforpostgresql/servers","microsoft.dbforpostgresql/serversv2","microsoft.powerbidedicated/capacities","microsoft.network/privateendpoints","microsoft.network/privatelinkservices","microsoft.hybridcontainerservice/provisionedclusters","microsoft.network/publicipaddresses","microsoft.recoveryservices/vaults","microsoft.cache/redis","microsoft.cache/redisenterprise","microsoft.relay/namespaces","microsoft.search/searchservices","microsoft.dbforpostgresql/servergroupsv2","microsoft.servicebus/namespaces","microsoft.servicefabricmesh/applications","microsoft.signalrservice/signalr","microsoft.signalrservice/webpubsub","microsoft.operationsmanagement/solutions","microsoft.sql/managedinstances","microsoft.sql/servers/databases","microsoft.sql/servers/elasticpools","microsoft.storage/storageaccounts","microsoft.storagecache/caches","microsoft.classicstorage/storageaccounts","microsoft.storagemover/storagemovers","microsoft.storagesync/storagesyncservices","microsoft.streamanalytics/streamingjobs","microsoft.synapse/workspaces","microsoft.timeseriesinsights/environments","microsoft.network/trafficmanagerprofiles","microsoft.compute/virtualmachines","microsoft.compute/virtualmachinescalesets","microsoft.network/virtualnetworkgateways","microsoft.web/sites/slots","microsoft.insights/autoscalesettings","microsoft.aadiam/azureadmetrics","microsoft.azurestackresourcemonitor/storageaccountmonitor","microsoft.network/networkwatchers/connectionmonitors","microsoft.app/containerapps","microsoft.customerinsights/hubs","microsoft.network/expressroutegateways","microsoft.fabric.admin/fabriclocations","microsoft.network/networkvirtualappliances","microsoft.network/networkwatchers","microsoft.network/p2svpngateways","microsoft.dbforpostgresql/flexibleservers","microsoft.network/vpngateways","microsoft.network/virtualhubs","microsoft.web/hostingenvironments/workerpools","microsoft.storagecache/amlfilesystems","microsoft.dashboard/grafana","microsoft.orbital/contactprofiles","microsoft.orbital/spacecrafts"],Gr=["microsoft.aad/domainservices","microsoft.aadiam/azureadmetrics","microsoft.aadiam/tenants","microsoft.agfoodplatform/farmbeats","microsoft.analysisservices/servers","microsoft.apimanagement/service","microsoft.appconfiguration/configurationstores","microsoft.appplatform/spring","microsoft.attestation/attestationproviders","microsoft.automation/automationaccounts","microsoft.autonomousdevelopmentplatform/accounts","microsoft.autonomousdevelopmentplatform/datapools","microsoft.autonomousdevelopmentplatform/workspaces","microsoft.avs/privateclouds","microsoft.azurestackresourcemonitor/storageaccountmonitor","microsoft.batch/batchaccounts","microsoft.batchai/workspaces","microsoft.blockchain/blockchainmembers","microsoft.blockchain/cordamembers","microsoft.botservice/botservices","microsoft.cache/redis","microsoft.cache/redisenterprise","microsoft.cdn/cdnwebapplicationfirewallpolicies","microsoft.cdn/profiles","microsoft.cdn/profiles/endpoints","microsoft.classiccompute/domainnames","microsoft.classiccompute/virtualmachines","microsoft.classicnetwork/networksecuritygroups","microsoft.classicstorage/storageaccounts","microsoft.cognitiveservices/accounts","microsoft.communication/communicationservices","microsoft.compute/disks","microsoft.compute/virtualmachines","microsoft.compute/virtualmachinescalesets","microsoft.connectedcache/cachenodes","microsoft.connectedvehicle/platformaccounts","microsoft.containerinstance/containergroups","microsoft.containerregistry/registries","microsoft.containerservice/managedclusters","microsoft.customerinsights/hubs","microsoft.customproviders/resourceproviders","microsoft.d365customerinsights/instances","microsoft.dashboard/grafana","microsoft.databoxedge/databoxedgedevices","microsoft.databricks/workspaces","microsoft.datacollaboration/workspaces","microsoft.datafactory/datafactories","microsoft.datafactory/factories","microsoft.datalakeanalytics/accounts","microsoft.datalakestore/accounts","microsoft.datashare/accounts","microsoft.dbformariadb/servers","microsoft.dbformysql/flexibleservers","microsoft.dbformysql/servers","microsoft.dbforpostgresql/flexibleservers","microsoft.dbforpostgresql/servergroupsv2","microsoft.dbforpostgresql/servers","microsoft.dbforpostgresql/serversv2","microsoft.desktopvirtualization/applicationgroups","microsoft.desktopvirtualization/hostpools","microsoft.desktopvirtualization/scalingplans","microsoft.desktopvirtualization/workspaces","microsoft.devices/elasticpools/iothubtenants","microsoft.devices/iothubs","microsoft.devices/provisioningservices","microsoft.digitaltwins/digitaltwinsinstances","microsoft.documentdb/cassandraclusters","microsoft.documentdb/databaseaccounts","microsoft.eventgrid/domains","microsoft.eventgrid/partnernamespaces","microsoft.eventgrid/partnertopics","microsoft.eventgrid/systemtopics","microsoft.eventgrid/topics","microsoft.eventhub/clusters","microsoft.eventhub/namespaces","microsoft.experimentation/experimentworkspaces","microsoft.fabric.admin/fabriclocations","microsoft.hdinsight/clusters","microsoft.healthcareapis/services","microsoft.healthcareapis/workspaces/dicomservices","microsoft.healthcareapis/workspaces/fhirservices","microsoft.insights/autoscalesettings","microsoft.insights/components","microsoft.insights/qos","microsoft.iotcentral/iotapps","microsoft.keyvault/managedhsms","microsoft.keyvault/vaults","microsoft.kubernetes/connectedclusters","microsoft.kusto/clusters","microsoft.loadtestservice/loadtests","microsoft.logic/integrationaccounts","microsoft.logic/integrationserviceenvironments","microsoft.logic/workflows","microsoft.machinelearningservices/workspaces","microsoft.media/mediaservices","microsoft.media/mediaservices/liveevents","microsoft.media/mediaservices/streamingendpoints","microsoft.media/videoanalyzers","microsoft.netapp/netappaccounts/capacitypools","microsoft.netapp/netappaccounts/capacitypools/volumes","microsoft.network/applicationgateways","microsoft.network/azurefirewalls","microsoft.network/bastionhosts","microsoft.network/connections","microsoft.network/dnszones","microsoft.network/expressroutecircuits","microsoft.network/expressroutegateways","microsoft.network/expressrouteports","microsoft.network/frontdoors","microsoft.network/loadbalancers","microsoft.network/natgateways","microsoft.network/networkinterfaces","microsoft.network/networksecuritygroups","microsoft.network/networksecurityperimeters","microsoft.network/networkvirtualappliances","microsoft.network/networkwatchers","microsoft.network/networkwatchers/connectionmonitors","microsoft.network/p2svpngateways","microsoft.network/privateendpoints","microsoft.network/privatelinkservices","microsoft.network/publicipaddresses","microsoft.network/trafficmanagerprofiles","microsoft.network/virtualnetworkgateways","microsoft.network/virtualnetworks","microsoft.network/vpngateways","microsoft.networkfunction/azuretrafficcollectors","microsoft.notificationhubs/namespaces","microsoft.notificationhubs/namespaces/notificationhubs","microsoft.openlogisticsplatform/workspaces","microsoft.operationalinsights/workspaces","microsoft.operationsmanagement/solutions","microsoft.peering/peeringservices","microsoft.powerbi/tenants","microsoft.powerbi/tenants/workspaces","microsoft.powerbidedicated/capacities","microsoft.purview/accounts","microsoft.recoveryservices/vaults","microsoft.relay/namespaces","microsoft.resources/subscriptions","microsoft.resources/subscriptions/resourcegroups","microsoft.search/searchservices","microsoft.security/antimalwaresettings","microsoft.securityinsights/settings","microsoft.servicebus/namespaces","microsoft.signalrservice/signalr","microsoft.signalrservice/webpubsub","microsoft.singularity/accounts","microsoft.sql/managedinstances","microsoft.sql/managedinstances/databases","microsoft.sql/servers/databases","microsoft.sql/servers/elasticpools","microsoft.storage/storageaccounts","microsoft.storage/storageaccounts/blobservices","microsoft.storage/storageaccounts/fileservices","microsoft.storage/storageaccounts/queueservices","microsoft.storage/storageaccounts/tableservices","microsoft.storagecache/caches","microsoft.storagesync/storagesyncservices","microsoft.streamanalytics/streamingjobs","microsoft.synapse/workspaces","microsoft.synapse/workspaces/bigdatapools","microsoft.synapse/workspaces/kustopools","microsoft.synapse/workspaces/scopepools","microsoft.synapse/workspaces/sqlpools","microsoft.timeseriesinsights/environments","microsoft.timeseriesinsights/environments/eventsources","microsoft.videoindexer/accounts","microsoft.vmwarecloudsimple/virtualmachines","microsoft.web/hostingenvironments","microsoft.web/hostingenvironments/workerpools","microsoft.web/serverfarms","microsoft.web/sites","microsoft.web/sites/slots"],Fr=t=>({resourceList:(0,S.css)({display:"flex",columnGap:t.spacing(1),flexWrap:"wrap",marginBottom:t.spacing(1)}),resource:(0,S.css)({flex:"0 0 auto"}),resourceLabel:(0,S.css)({padding:t.spacing(1)}),resourceGroupAndName:(0,S.css)({display:"flex",columnGap:t.spacing(.5)})}),Lr=({resources:t,onChange:e})=>{const r=(0,te.wW)(Fr);(0,o.useEffect)(()=>{t.length===0&&e([{}])},[t,e]);const s=(n,u)=>{const l=[...t];l[n]=u,e(l)},a=n=>{const u=[...t];u.splice(n,1),e(u)},i=()=>{e(t.concat({subscription:t[0]?.subscription,metricNamespace:t[0]?.metricNamespace,resourceGroup:"",resourceName:""}))},c=n=>{e(t.map(u=>({...u,...n})))};return o.createElement(o.Fragment,null,o.createElement(G._,{label:"Subscription",grow:!0,transparent:!0,htmlFor:"input-advanced-resource-picker-subscription",labelWidth:15,"data-testid":M.components.queryEditor.resourcePicker.advanced.subscription.input},o.createElement(J.I,{id:"input-advanced-resource-picker-subscription",value:t[0]?.subscription??"",onChange:n=>c({subscription:n.currentTarget.value}),placeholder:"aaaaaaaa-bbbb-cccc-dddd-eeeeeeee"})),o.createElement(G._,{label:"Namespace",grow:!0,transparent:!0,htmlFor:"input-advanced-resource-picker-metricNamespace",labelWidth:15,"data-testid":M.components.queryEditor.resourcePicker.advanced.namespace.input},o.createElement(J.I,{id:"input-advanced-resource-picker-metricNamespace",value:t[0]?.metricNamespace??"",onChange:n=>c({metricNamespace:n.currentTarget.value}),placeholder:"Microsoft.Insights/metricNamespaces"})),o.createElement(G._,{label:"Region",grow:!0,transparent:!0,htmlFor:"input-advanced-resource-picker-region",labelWidth:15,"data-testid":M.components.queryEditor.resourcePicker.advanced.region.input,tooltip:"The code region of the resource. Optional for one resource but mandatory when selecting multiple ones."},o.createElement(J.I,{id:"input-advanced-resource-picker-region",value:t[0]?.region??"",onChange:n=>c({region:n.currentTarget.value}),placeholder:"northeurope"})),o.createElement("div",{className:r.resourceList},t.map((n,u)=>o.createElement("div",{key:`resource-${u+1}`,className:r.resource},t.length!==1&&o.createElement(vt._,{className:r.resourceLabel},"Resource ",u+1),o.createElement(G._,{label:"Resource Group",transparent:!0,htmlFor:`input-advanced-resource-picker-resourceGroup-${u+1}`,labelWidth:15,"data-testid":M.components.queryEditor.resourcePicker.advanced.resourceGroup.input},o.createElement("div",{className:r.resourceGroupAndName},o.createElement(J.I,{id:`input-advanced-resource-picker-resourceGroup-${u+1}`,value:n?.resourceGroup??"",onChange:l=>s(u,{...n,resourceGroup:l.currentTarget.value}),placeholder:"resource-group"}),o.createElement(Qe._,{"aria-label":"remove",icon:"times",variant:"secondary",onClick:()=>a(u),hidden:t.length===1,"data-testid":"remove-resource"}))),o.createElement(G._,{label:"Resource Name",transparent:!0,htmlFor:`input-advanced-resource-picker-resourceName-${u+1}`,labelWidth:15,"data-testid":M.components.queryEditor.resourcePicker.advanced.resource.input},o.createElement(J.I,{id:`input-advanced-resource-picker-resourceName-${u+1}`,value:n?.resourceName??"",onChange:l=>s(u,{...n,resourceName:l.currentTarget.value}),placeholder:"name"}))))),o.createElement(ne.zx,{"aria-label":"Add",icon:"plus",variant:"secondary",onClick:i,type:"button"},"Add resource"))};function zt(t,e){return t.azureMonitor?.customNamespace===e?t:e?.toLowerCase().startsWith("microsoft.storage/storageaccounts/")?{...t,azureMonitor:{...t.azureMonitor,metricNamespace:e,metricName:void 0,aggregation:void 0,timeGrain:"",dimensionFilters:[]}}:{...t,azureMonitor:{...t.azureMonitor,customNamespace:e,metricName:void 0,aggregation:void 0,timeGrain:"",dimensionFilters:[]}}}function Pr(t,e){return t.azureMonitor?.metricName===e?t:{...t,azureMonitor:{...t.azureMonitor,metricName:e,aggregation:void 0,timeGrain:"",dimensionFilters:[]}}}function Qr(t,e){return t.azureMonitor?.aggregation===e?t:{...t,azureMonitor:{...t.azureMonitor,aggregation:e}}}function kt(t,e){return t.azureMonitor?.timeGrain===e?t:{...t,azureMonitor:{...t.azureMonitor,timeGrain:e}}}function Ve(t,e){return t.azureMonitor?.dimensionFilters===e?t:{...t,azureMonitor:{...t.azureMonitor,dimensionFilters:e}}}function Vr(t,e="",r="eq",s=[]){const a=t.azureMonitor?.dimensionFilters??[];return Ve(t,[...a,{dimension:e,operator:r,filters:s}])}function jo(t,e){const s=[...t.azureMonitor?.dimensionFilters??[]];return s.splice(e,1),Ve(t,s)}function Bo(t,e,r,s){const i=[...t.azureMonitor?.dimensionFilters??[]],c=i[e];return c[r]=s,(r==="dimension"||r==="operator")&&(c.filters=[]),Ve(t,i)}function xr(t,e){return t.azureMonitor?.top===e?t:{...t,azureMonitor:{...t.azureMonitor,top:e}}}function Wr(t,e){return t.azureMonitor?.alias===e?t:{...t,azureMonitor:{...t.azureMonitor,alias:e}}}const $r=({query:t,variableOptionGroup:e,onQueryChange:r,aggregationOptions:s,isLoading:a})=>{const i=(0,o.useCallback)(n=>{if(!n.value)return;const u=Qr(t,n.value);r(u)},[r,t]),c=U(s,e,t.azureMonitor?.aggregation);return o.createElement(X,{label:"Aggregation"},o.createElement(D.Ph,{inputId:"azure-monitor-metrics-aggregation-field",value:t.azureMonitor?.aggregation||null,onChange:i,options:c,isLoading:a}))};var St=b(38162),Et=b(64022);const Or=(t,e)=>{const[r,s]=(0,o.useState)({});return(0,o.useEffect)(()=>{let a={};if(t?.series?.length){const n=t.series.flat().filter(u=>u.refId===e.refId).flatMap(u=>u.fields).map(u=>u.labels).flat().filter(u=>u!=null);for(const u of n)for(const[l,p]of Object.entries(u)){const f=l.toLowerCase();a[f]?a[f].add(p):a[f]=new Set([p])}}s(i=>{const c={},n=Object.keys(a);if(n.length===0)return i;for(const u of n)i[u]&&a[u].size<i[u].size?c[u]=i[u]:c[u]=a[u];return c})},[t?.series,e.refId]),r},Ur=({data:t,query:e,dimensionOptions:r,onQueryChange:s})=>{const a=(0,o.useMemo)(()=>e.azureMonitor?.dimensionFilters??[],[e.azureMonitor?.dimensionFilters]),i=Or(t,e),c=[{label:"==",value:"eq"},{label:"!=",value:"ne"},{label:"starts with",value:"sw"}],n=(0,o.useMemo)(()=>{let d=r;return a.length&&(d=r.filter(y=>!a.some(z=>z.dimension===y.value))),d},[a,r]),u=(d,y,z,w)=>{y[d]=z,w(y)},l=d=>n.concat(r.filter(y=>y.value===d)),p=(d,y)=>{const z=Array.from(i[y.toLowerCase()]??[]);return z.find(w=>w===d)?z.map(w=>({value:w,label:w})):[...z,...d&&d!=="*"?[d]:[]].map(w=>({value:w,label:w}))},f=(d,y)=>{const z=p(void 0,y);if(d)for(const w of d)z.find(N=>N.value===w)||z.push({value:w,label:w});return z},g=d=>c.find(y=>y.value===d)?c:[...c,...d?[{label:d,value:d}]:[]],h=d=>{const y=d.map(z=>({dimension:z.dimension??"",operator:z.operator??"eq",filters:z.filters??[]}));s(Ve(e,y))},v=(d,y,z)=>o.createElement(Et.Lh,{spacing:"none"},o.createElement(D.Ph,{menuShouldPortal:!0,placeholder:"Field",value:d.dimension,options:l(d.dimension||""),onChange:w=>u("dimension",d,w.value??"",y)}),o.createElement(D.Ph,{menuShouldPortal:!0,placeholder:"Operation",value:d.operator,options:g(d.operator||"eq"),onChange:w=>u("operator",d,w.value??"",y),allowCustomValue:!0}),d.operator==="eq"||d.operator==="ne"?o.createElement(D.NU,{menuShouldPortal:!0,placeholder:"Select value(s)",value:d.filters,options:f(d.filters,d.dimension??""),onChange:w=>u("filters",d,w.map(N=>N.value??""),y),"aria-label":"dimension-labels-select",allowCustomValue:!0}):o.createElement(D.Ph,{menuShouldPortal:!0,placeholder:"Select value",value:d.filters?d.filters[0]:"",allowCustomValue:!0,options:p(d.filters?d.filters[0]:"",d.dimension??""),onChange:w=>u("filters",d,[w?.value??""],y),isClearable:!0}),o.createElement(Qe._,{"aria-label":"Remove",icon:"times",variant:"secondary",onClick:z,type:"button"}));return o.createElement(X,{label:"Dimensions"},o.createElement(St.k,{items:a,onChange:h,renderItem:v}))},Xr=({onQueryChange:t,query:e})=>{const[r,s]=(0,o.useState)(e.azureMonitor?.alias??""),a=(0,o.useCallback)(c=>{c.target instanceof HTMLInputElement&&s(c.target.value)},[]),i=(0,o.useCallback)(()=>{const c=Wr(e,r);t(c)},[t,e,r]);return o.createElement(X,{label:"Legend format"},o.createElement(J.I,{id:"azure-monitor-metrics-legend-field",placeholder:"Alias patterns",value:r,onChange:a,onBlur:i,width:38}))},jr=({metricNames:t,query:e,variableOptionGroup:r,onQueryChange:s})=>{const a=(0,o.useCallback)(c=>{if(!c.value)return;const n=Pr(e,c.value);s(n)},[s,e]),i=U(t,r,e.azureMonitor?.metricName);return o.createElement(X,{label:"Metric","data-testid":M.components.queryEditor.metricsQueryEditor.metricName.input},o.createElement(D.Ph,{inputId:"azure-monitor-metrics-metric-field",value:e.azureMonitor?.metricName??null,onChange:a,options:i,allowCustomValue:!0}))},Br=({metricNamespaces:t,query:e,variableOptionGroup:r,onQueryChange:s})=>{const a=(0,o.useCallback)(n=>{if(!n.value)return;const u=zt(e,n.value);s(u)},[s,e]),i=e.azureMonitor?.customNamespace||e.azureMonitor?.metricNamespace,c=U(t,r,i);return o.createElement(X,{label:"Metric namespace"},o.createElement(D.Ph,{inputId:"azure-monitor-metrics-metric-namespace-field",value:i||null,onChange:a,options:c,allowCustomValue:!0}))},Hr=({query:t,timeGrainOptions:e,variableOptionGroup:r,onQueryChange:s})=>{const a=(0,o.useCallback)(c=>{if(!c.value)return;const n=kt(t,c.value);s(n)},[s,t]),i=(0,o.useMemo)(()=>{const c=Q.findClosestTimeGrain("1m",e.map(l=>Q.createKbnUnitFromISO8601Duration(l.value))||["1m","5m","15m","30m","1h","6h","12h","1d"]),n=e.map(l=>l.value==="auto"?{...l,description:c}:l);return U(n,r,t.azureMonitor?.timeGrain)},[e,r,t.azureMonitor?.timeGrain]);return o.createElement(X,{label:"Time grain"},o.createElement(D.Ph,{inputId:"azure-monitor-metrics-time-grain-field",value:t.azureMonitor?.timeGrain,onChange:a,options:i}))},Jr=({onQueryChange:t,query:e})=>{const[r,s]=(0,o.useState)(e.azureMonitor?.top??""),a=(0,o.useCallback)(c=>{c.target instanceof HTMLInputElement&&s(c.target.value)},[]),i=(0,o.useCallback)(()=>{const c=xr(e,r);t(c)},[t,e,r]);return o.createElement(X,{label:"Top"},o.createElement(J.I,{id:"azure-monitor-metrics-top-field",value:r,onChange:a,onBlur:i,width:16}))};function At(t,e,r){const[s]=(0,o.useState)(()=>Math.random()),[a,i]=(0,o.useState)(),c=(0,o.useMemo)(()=>a??[],[a]);return(0,o.useEffect)(()=>{t().then(n=>{i(n),e(s,void 0)}).catch(n=>{e(s,n)})},r),c}const Ye=t=>!t||!t.length?{resourceGroup:"",resourceName:""}:{resourceGroup:t[0].resourceGroup??"",resourceName:t[0].resourceName??""},Kr=(t,e,r,s)=>{const{subscription:a}=t,{metricNamespace:i,resources:c}=t.azureMonitor??{},{resourceGroup:n,resourceName:u}=Ye(c);return At(async()=>{if(!a||!n||!u)return;const p=await e.azureMonitorDatasource.getMetricNamespaces({subscription:a,metricNamespace:i,resourceGroup:n,resourceName:u},!1),f=Mt(p,i);return!i&&f.length&&r(zt(t,f[0].value)),f},s,[a,i,n,u])},Zr=(t,e,r,s)=>{const{subscription:a}=t,{metricNamespace:i,metricName:c,resources:n,customNamespace:u}=t.azureMonitor??{},{resourceGroup:l,resourceName:p}=Ye(n),f=(n&&n.length>1)??!1,g=t.azureMonitor?.region??"";return At(async()=>{if(!a||!i||!l||!p)return;const h=await e.azureMonitorDatasource.getMetricNames({subscription:a,resourceGroup:l,resourceName:p,metricNamespace:i,customNamespace:u},f,g);return Mt(h,c)},s,[a,l,p,i,u,f])},Tt={aggOptions:[],timeGrains:[],dimensions:[],isLoading:!1,supportedAggTypes:[],primaryAggType:void 0},Yr=(t,e,r)=>{const[s,a]=(0,o.useState)(Tt),{subscription:i}=t,{resources:c,metricNamespace:n,metricName:u,aggregation:l,timeGrain:p,customNamespace:f,region:g}=t.azureMonitor??{},{resourceGroup:h,resourceName:v}=Ye(c),d=(c&&c.length>1)??!1;return(0,o.useEffect)(()=>{if(!i||!h||!v||!n||!u){a(Tt);return}e.azureMonitorDatasource.getMetricMetadata({subscription:i,resourceGroup:h,resourceName:v,metricNamespace:n,metricName:u,customNamespace:f},d,g).then(y=>{const z=(y.supportedAggTypes||[y.primaryAggType]).map(w=>({label:w,value:w}));a({aggOptions:z,timeGrains:y.supportedTimeGrains,dimensions:y.dimensions,isLoading:!1,supportedAggTypes:y.supportedAggTypes??[],primaryAggType:y.primaryAggType})})},[g,e,i,h,v,n,u,f,d]),(0,o.useEffect)(()=>{const y=l||s.primaryAggType,z=p||"auto";(y!==l||z!==p)&&r({...t,azureMonitor:{...t.azureMonitor,aggregation:y,timeGrain:z,allowedTimeGrainsMs:s.timeGrains.filter(w=>w.value!=="auto").map(w=>de.intervalToMs(Q.createKbnUnitFromISO8601Duration(w.value)))}})},[r,s,l,p,t]),s};function Mt(t,e){const r=t.map(Ie);return e&&!r.find(s=>s.value===e.toLowerCase())&&r.push({label:e,value:e}),r}const qr=({data:t,query:e,datasource:r,variableOptionGroup:s,onChange:a,setError:i})=>{const c=Yr(e,r,a),n=Kr(e,r,a,i),u=Zr(e,r,a,i),l=e.azureMonitor?.resources?.map(h=>({subscription:e.subscription,resourceGroup:h.resourceGroup,metricNamespace:e.azureMonitor?.metricNamespace,resourceName:h.resourceName,region:e.azureMonitor?.region}))??[],p=h=>Ir[h?.toLocaleLowerCase()??""]??!1,f=(h,v)=>{if(v.length===0)return!1;const d=O(h.uri,h.location),y=O(v[0].uri,v[0].location);return d.subscription!==y.subscription||d.region!==y.region||d.metricNamespace?.toLocaleLowerCase()!==y.metricNamespace?.toLocaleLowerCase()||!p(d.metricNamespace)},g=h=>{if(h.length===0)return"";const v=O(h[0].uri,h[0].location);return p(v.metricNamespace)?"You can select items of the same resource type and location. To select resources of a different resource type or location, please first uncheck your current selection.":""};return o.createElement("span",{"data-testid":M.components.queryEditor.metricsQueryEditor.container.input},o.createElement(Fe._,null,o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Je,{query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i,selectableEntryTypes:[I.Resource],resources:l??[],queryType:"metrics",disableRow:f,renderAdvanced:(h,v)=>o.createElement(Lr,{resources:h,onChange:v}),selectionNotice:g}),o.createElement(Br,{metricNamespaces:n,query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i}),o.createElement(jr,{metricNames:u,query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i}),o.createElement($r,{query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i,aggregationOptions:c?.aggOptions??[],isLoading:c.isLoading}),o.createElement(Hr,{query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i,timeGrainOptions:c?.timeGrains??[]}))),o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Ur,{data:t,query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i,dimensionOptions:c?.dimensions??[]}))),o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Jr,{query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i}),o.createElement(Xr,{query:e,datasource:r,variableOptionGroup:s,onQueryChange:a,setError:i})))))};var _r=b(63250),es=b(29036);const ts=({query:t,onQueryChange:e})=>{const r=[{value:m.AzureMonitor,label:"Metrics"},{value:m.LogAnalytics,label:"Logs"},{value:m.AzureTraces,label:"Traces"},{value:m.AzureResourceGraph,label:"Azure Resource Graph"}],s=(0,o.useCallback)(a=>{a.value&&a.value!==t.queryType&&e({refId:t.refId,datasource:t.datasource,queryType:a.value})},[e,t]);return o.createElement("span",{"data-testid":M.components.queryEditor.header.select},o.createElement(_r.K,null,o.createElement(es.X,{label:"Service",value:t.queryType,placeholder:"Service...",allowCustomValue:!0,options:r,onChange:s})))};var rs=b(24077),ss=b(22209),Nt=b(78209),os=b(62247),as=b(73578),is=b(70725);const xe=(t,e,r,s)=>{t==="filters"?e[t]=r.map(a=>a.value):(e[t]=r.value,t==="property"&&(e.filters=[])),s(e)},ns=async(t,e,r,s,a,i,c)=>{const{azureTraces:n}=t;if(!n)return[];const{resources:u}=n;if(!u||!c)return[];const l=c.property;if(!l)return[];const p=`let ${l} = toscalar(union isfuzzy=true ${s.join(",")} | where $__timeFilter(timestamp) | summarize count=count() by ${l} | summarize make_list(pack_all())); print properties = bag_pack("${l}", ${l});`,f=await(0,Nt.n)(e.azureLogAnalyticsDatasource.query({requestId:"azure-traces-properties-req",interval:"",intervalMs:0,scopedVars:{},timezone:"",startTime:0,app:os.zj.Unknown,targets:[{...t,azureLogAnalytics:{resources:u,query:p},queryType:m.LogAnalytics}],range:r}));if(f.data.length>0){const g=f.data[0];if(g.fields.length>0){const v=JSON.parse(g.fields[0].values.toArray()[0])[l].map(d=>{let y=d[l];return d[l]===""&&(y="<Empty>"),{label:y.toString(),value:d[l].toString(),count:d.count}});return a.set(l,v),i(a),v}}return[]};function cs(t){function e(r,s,a){return o.createElement(ls,{...t,item:r,onChange:s,onDelete:a})}return e}const us=t=>{const{data:e,innerProps:r,innerRef:s,isFocused:a,isSelected:i}=t,c=(0,te.l4)(),n=(0,as.D)(c),u=l=>{t.selectOption({...e}),l.stopPropagation(),l.preventDefault()};return o.createElement("div",{ref:s,className:(0,S.cx)(n.option,a&&n.optionFocused,i&&n.optionSelected,e.isDisabled&&n.optionDisabled),...r,"aria-label":"Select option",title:e.title,onClick:u,onKeyDown:u,role:"checkbox","aria-checked":i,tabIndex:0},o.createElement("div",{className:n.optionBody},o.createElement(dt.X,{value:i,label:e.label?`${e.label} - (${e.count})`:""})))},ls=t=>{const{query:e,datasource:r,propertyMap:s,setPropertyMap:a,timeRange:i,queryTraceTypes:c,properties:n,item:u,onChange:l,onDelete:p,variableOptionGroup:f}=t,[g,h]=(0,o.useState)(!1),[v,d]=(0,o.useState)(U(s.get(u.property??"")??[],f)),[y,z]=(0,o.useState)(u.filters?u.filters.map(N=>({value:N,label:N===""?"<Empty>":N})):[]),w=async()=>{if(h(!0),u.property&&u.property!==""){const B=s.get(u.property??"");if(B)return d(U(B,f)),h(!1),Promise.resolve(B);{const x=await ns(e,r,i,c,s,a,u);return d(U(x,f)),h(!1),x}}const N=[];return Promise.resolve(N)};return o.createElement(Et.Lh,{spacing:"none"},o.createElement(D.Ph,{menuShouldPortal:!0,placeholder:"Property",value:u.property?{value:u.property,label:u.property}:null,options:U(n.map(N=>({label:N,value:N})),f),onChange:N=>xe("property",u,N,l),width:25}),o.createElement(is.d,{placeholder:"Operator",value:u.operation?{label:u.operation==="eq"?"=":"!=",value:u.operation}:void 0,options:[{label:"=",value:"eq"},{label:"!=",value:"ne"}],onChange:N=>xe("operation",u,N,l),defaultValue:"eq"}),o.createElement(D.M8,{blurInputOnSelect:!1,menuShouldPortal:!0,placeholder:"Value",value:y,loadOptions:w,isLoading:g,onOpenMenu:w,onChange:N=>{z(N),N.length===0&&xe("filters",u,y,l)},width:35,defaultOptions:v,isClearable:!0,components:{Option:us},closeMenuOnSelect:!1,onCloseMenu:()=>xe("filters",u,y,l),hideSelectedOptions:!1}),o.createElement(Qe._,{"aria-label":"Remove filter",icon:"times",variant:"secondary",onClick:p,type:"button"}))},ta=null,ms={availabilityResults:{label:"Availablity Results",description:"Availability test results."},dependencies:{label:"Dependencies",description:"Calls your application makes to other services such as databases or REST APIs."},customEvents:{label:"Custom Events",description:"Calls to TrackEvent that are inserted to monitor usage."},exceptions:{label:"Exceptions",description:"Exceptions that are logged via TrackException, or uncaught exceptions."},pageViews:{label:"Page Views",description:"Web client telemetry to create page view reports."},requests:{label:"Requests",description:"HTTP requests received by the application."},traces:{label:"Traces",description:"Diagnostic logs emitted using TrackTrace and similar methods. Note: Traces are not visualised if the result format is set to Trace"}},ra={AppAvailabilityResults:"availabilityResults",AppDependencies:"dependencies",AppEvents:"events",AppExceptions:"exceptions",AppPageViews:"pageViews",AppRequests:"requests",AppTraces:"traces"},ps=["operationId","duration","id","name","problemId","operation_ParentId","timestamp","customDimensions","operation_Name"],Ae={appId:"ResourceGUID",application_Version:"AppVersion",appName:"_ResourceId",client_Browser:"ClientBrowser",client_City:"ClientCity",client_CountryOrRegion:"ClientCountryOrRegion",client_IP:"ClientIP",client_Model:"ClientModel",client_OS:"ClientOS",client_StateOrProvince:"ClientStateOrProvince",client_Type:"ClientType",cloud_RoleInstance:"AppRoleInstance",cloud_RoleName:"AppRoleName",customDimensions:"Properties",customMeasurements:"Measurements",duration:"DurationMs",id:"Id",iKey:"IKey",itemCount:"ItemCount",itemId:"_ItemId",itemType:"Type",name:"Name",operation_Id:"OperationId",operation_Name:"OperationName",operation_ParentId:"OperationParentId",operation_SyntheticSource:"OperationSyntheticSource",performanceBucket:"PerformanceBucket",sdkVersion:"SDKVersion",session_Id:"SessionId",success:"Success",timestamp:"TimeGenerated",user_AccountId:"UserAccountId",user_AuthenticatedId:"UserAuthenticatedId",user_Id:"UserId"},ds={...Ae,location:"Location",message:"Message",size:"Size"},fs={...Ae,data:"Data",resultCode:"ResultCode",target:"Target",type:"DependencyType"},gs=(0,k.omit)(Ae,["duration","id","success","performanceBucket"]),hs=(0,k.omit)({...Ae,url:"Url"},["success"]),bs={resultCode:"ResultCode",source:"Source",url:"Url"},vs=(0,k.omit)({...Ae,assembly:"Assembly",details:"Details",handledAt:"HandledAt",innermostAssembly:"InnermostAssembly",innermostMessage:"InnermostMessage",innermostMethod:"InnermostMethod",innermostType:"InnermostType",message:"Message",method:"Method",outerAssembly:"OuterAssembly",outerMessage:"OuterMessage",outerMethod:"OuterMethod",outerType:"OuterType",problemId:"ProblemId",severityLevel:"SeverityLevel",type:"ExceptionType"},["duration","id","name","performanceBucket","success"]),ys=(0,k.omit)({message:"Message",severityLevel:"SeverityLevel"},["duration","id","name","performanceBucket","success"]),qe={availabilityResults:ds,dependencies:fs,customEvents:gs,exceptions:vs,pageViews:hs,requests:bs,traces:ys},sa=Object.entries(qe).reduce((t,[e,r])=>({...t,[e]:Object.keys((0,k.omit)(r,ps)).join(",")}),{});function ws(t,e){return{...t,azureTraces:{...t.azureTraces,operationId:e}}}function zs(t,e){return{...t,azureTraces:{...t.azureTraces,resultFormat:e}}}function ks(t,e){return{...t,azureTraces:{...t.azureTraces,traceTypes:e}}}function Ss(t,e){return{...t,azureTraces:{...t.azureTraces,filters:e}}}const Es=({query:t,datasource:e,onQueryChange:r,variableOptionGroup:s})=>{const{azureTraces:a}=t,i=a?.traceTypes?a.traceTypes:Object.keys(qe),c=new Set(["customDimensions","customMeasurements","details","duration","id","itemId","operation_Id","operation_ParentId","timestamp"]),n=(0,k.uniq)(i.map(w=>Object.keys(qe[w])).flat()).filter(w=>!c.has(w)),[u,l]=(0,o.useState)(new Map),p=(0,o.useMemo)(()=>t.azureTraces?.filters??[],[t.azureTraces?.filters]),[f,g]=(0,o.useState)(p),h=e.azureLogAnalyticsDatasource.timeSrv,[v,d]=(0,o.useState)(h.timeRange());(w=>{v!==null&&(v.raw.from.toString()!==w.raw.from.toString()||v.raw.to.toString()!==w.raw.to.toString())&&d({...w})})(h.timeRange()),(0,o.useEffect)(()=>{l(new Map)},[v,t.azureTraces?.resources,t.azureTraces?.traceTypes,t.azureTraces?.operationId]);const z=w=>{let N=!1;const B=w.map(x=>(x.property!==""&&x.filters&&x.filters.length>0&&x.operation!==""?N=!0:N=!1,{property:x.property??"",filters:x.filters??[],operation:x.operation??"eq"}));g(B),(N||p.length>0&&B.length===0)&&r(Ss(t,B))};return o.createElement(ss.g,{label:"Filters"},o.createElement(St.k,{items:f,onChange:z,renderItem:cs({query:t,datasource:e,propertyMap:u,setPropertyMap:l,timeRange:v,queryTraceTypes:i,properties:n,variableOptionGroup:s})}))},As=({query:t,variableOptionGroup:e,onQueryChange:r})=>{const s=Object.entries(ms).map(([c,n])=>({label:n.label,description:n.description,value:c})),a=(0,o.useCallback)(c=>{const n=ks(t,c.map(u=>u.value??""));r(n)},[r,t]),i=(0,o.useMemo)(()=>[...s,e],[s,e]);return o.createElement(X,{label:"Event Type"},o.createElement(D.NU,{placeholder:"Choose event types",inputId:"azure-monitor-traces-type-field",value:ze([...s,...e.options],t.azureTraces?.traceTypes??[]),onChange:a,options:i,allowCustomValue:!0,isClearable:!0,"aria-label":M.components.queryEditor.tracesQueryEditor.traceTypes.select}))},Ts=({query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onChange:a,setError:i})=>{const c=(g,h)=>{if(h.length===0)return!1;const v=O(g.uri,g.location).metricNamespace?.toLowerCase(),d=O(h[0].uri,h[0].location).metricNamespace?.toLowerCase();return v!==d},[n,u]=(0,o.useState)(t.azureTraces?.operationId??""),l=(0,rs.Z)(t.azureTraces?.operationId);(0,o.useEffect)(()=>{t.azureTraces?.operationId&&l!==t.azureTraces.operationId&&u(t.azureTraces.operationId)},[u,l,t,n]);const p=(0,o.useCallback)(g=>{g.target instanceof HTMLInputElement&&u(g.target.value)},[]),f=(0,o.useCallback)(g=>{const h=ws(t,n);a(h)},[a,n,t]);return o.createElement("span",{"data-testid":M.components.queryEditor.tracesQueryEditor.container.input},o.createElement(Fe._,null,o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Je,{query:t,datasource:e,subscriptionId:r,variableOptionGroup:s,onQueryChange:a,setError:i,selectableEntryTypes:[I.Subscription,I.ResourceGroup,I.Resource,I.Variable],resources:t.azureTraces?.resources??[],queryType:"traces",disableRow:c,renderAdvanced:(g,h)=>o.createElement(yt,{resources:g,onChange:h}),selectionNotice:()=>"You may only choose items of the same resource type."}))),o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(As,{datasource:e,onQueryChange:a,query:t,setError:i,variableOptionGroup:s}),o.createElement(X,{label:"Operation ID"},o.createElement(J.I,{id:"azure-monitor-traces-operation-id-field",value:n,onChange:p,onBlur:f,width:40})))),o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(Es,{datasource:e,onQueryChange:a,query:t,setError:i,variableOptionGroup:s}))),o.createElement(_.p,null,o.createElement(ee.s,null,o.createElement(lt,{datasource:e,setError:i,query:t,variableOptionGroup:s,onQueryChange:a,inputId:"azure-monitor-traces",options:[{label:"Table",value:q.Table},{label:"Trace",value:q.Trace}],defaultValue:q.Table,setFormatAs:zs,resultFormat:t.azureTraces?.resultFormat})))))};var Ms=b(52131),Ns=b.n(Ms);const Rs="select";function _e(t){let e=t;return e.queryType||(e={...e,queryType:m.AzureMonitor}),e=Is(e),e.queryType===m.AzureMonitor&&e.azureMonitor&&(e=Cs(e),e=Ds(e),e=Gs(e),e=Fs(e),e=Ls(e)),(e.azureMonitor?.resourceGroup||e.azureMonitor?.resourceName)&&(e=Ps(e)),e.azureLogAnalytics?.resource&&(e={...e,azureLogAnalytics:{...e.azureLogAnalytics,resources:[e.azureLogAnalytics.resource]}},delete e.azureLogAnalytics?.resource),e.azureLogAnalytics&&e.azureLogAnalytics.intersectTime===void 0&&(e={...e,azureLogAnalytics:{...e.azureLogAnalytics,intersectTime:!1}}),e}function Cs(t){let e=t;if(e.azureMonitor?.timeGrainUnit&&e.azureMonitor.timeGrain!=="auto"){const r=Q.createISO8601Duration(e.azureMonitor.timeGrain??"auto",e.azureMonitor.timeGrainUnit);e=kt(e,r),delete e.azureMonitor?.timeGrainUnit}return e}function Is(t){let e=t;return e.azureLogAnalytics?.query?.match(/\$__from\s/gi)&&(e=Ke(e,e.azureLogAnalytics.query.replace(/\$__from\s/gi,"$__timeFrom() "))),e.azureLogAnalytics?.query?.match(/\$__to\s/gi)&&(e=Ke(e,e.azureLogAnalytics.query.replace(/\$__to\s/gi,"$__timeTo() "))),e}function Ds(t){return!(t.azureMonitor?.metricNamespace&&t.azureMonitor.metricNamespace!==Rs)&&t.azureMonitor?.metricDefinition?{...t,azureMonitor:{...t.azureMonitor,metricNamespace:t.azureMonitor.metricDefinition,metricDefinition:void 0}}:t}function Gs(t){let e=t;const r=e.azureMonitor?.dimension;return r&&r!=="None"&&(e=Vr(e,r,"eq",[e.azureMonitor?.dimensionFilter||""])),delete e.azureMonitor?.dimension,delete e.azureMonitor?.dimensionFilter,e}function Fs(t){const e=t.azureMonitor;if(!e)return t;const r=[],s=e.dimensionFilters;return s&&s.length>0&&(s.forEach(a=>{const i={dimension:a.dimension,operator:a.operator};if(!a.filters&&a.filter)r.push({...i,filters:[a.filter]});else{let c=!1;if(a.filters&&a.filter){for(const n of a.filters)if(a.filter===n){c=!0;break}!c&&a.filter!=="*"&&a.filters.push(a.filter),r.push({...i,filters:a.filters})}}}),r.length>0)?{...t,azureMonitor:{...e,dimensionFilters:r}}:t}function Ls(t){if(t.azureMonitor?.resourceUri&&!t.azureMonitor.resourceUri.startsWith("$")){const e=O(t.azureMonitor.resourceUri),r=e?.subscription&&e?.resourceGroup&&e?.resourceName;return{...t,subscription:e?.subscription,azureMonitor:{...t.azureMonitor,resources:[{resourceGroup:e?.resourceGroup,resourceName:e?.resourceName}],metricNamespace:e?.metricNamespace,resourceUri:r?void 0:t.azureMonitor.resourceUri}}}return t}function Ps(t){let e=t;return e.azureMonitor?.resourceGroup&&e.azureMonitor?.resourceName&&(e={...e,azureMonitor:{...e.azureMonitor,resources:[{resourceGroup:e.azureMonitor.resourceGroup,resourceName:e.azureMonitor.resourceName}]}},delete e.azureMonitor?.resourceGroup,delete e.azureMonitor?.resourceName),e}const Qs={queryType:m.AzureMonitor},Vs=t=>{const e=(0,k.defaults)({},t,Qs),r=_e(e);return Ns()(r,t)?t:r},xs=(t,e)=>{const r=(0,o.useMemo)(()=>Vs(t),[t]);return(0,o.useEffect)(()=>{r!==t&&e(r)},[r,t,e]),r},Ws=({query:t,datasource:e,onChange:r,onRunQuery:s,data:a})=>{const[i,c]=it(),n=(0,o.useMemo)(()=>(0,k.debounce)(s,500),[s]),u=(0,o.useCallback)(g=>{r(g),n()},[r,n]),l=xs(t,u),p=l.subscription||e.azureMonitorDatasource.defaultSubscriptionId,f={label:"Template Variables",options:e.getVariables().map(g=>({label:g,value:g}))};return o.createElement("div",{"data-testid":"azure-monitor-query-editor"},o.createElement(ts,{query:l,onQueryChange:u}),o.createElement($s,{data:a,subscriptionId:p,query:l,datasource:e,onChange:u,variableOptionGroup:f,setError:c}),i&&o.createElement(o.Fragment,null,o.createElement(j,{v:2}),o.createElement(Y.b,{severity:"error",title:"An error occurred while requesting metadata from Azure Monitor"},i instanceof Error?i.message:i)))},$s=({data:t,subscriptionId:e,query:r,datasource:s,variableOptionGroup:a,onChange:i,setError:c})=>{switch(r.queryType){case m.AzureMonitor:return o.createElement(qr,{data:t,query:r,datasource:s,onChange:i,variableOptionGroup:a,setError:c});case m.LogAnalytics:return o.createElement(wt,{subscriptionId:e,query:r,datasource:s,onChange:i,variableOptionGroup:a,setError:c});case m.AzureResourceGraph:return o.createElement(ut,{subscriptionId:e,query:r,datasource:s,onChange:i,variableOptionGroup:a,setError:c});case m.AzureTraces:return o.createElement(Ts,{subscriptionId:e,query:r,datasource:s,onChange:i,variableOptionGroup:a,setError:c});default:const n=r.queryType;return o.createElement(Y.b,{title:"Unknown query type"},(n==="Application Insights"||n==="Insights Analytics")&&o.createElement(o.Fragment,null,n," was deprecated in Grafana 9. See the"," ",o.createElement("a",{href:"https://grafana.com/docs/grafana/latest/datasources/azuremonitor/deprecated-application-insights/",target:"_blank",rel:"noreferrer"},"deprecation notice")," ","to get more information about how to migrate your queries. This is the current query definition:",o.createElement(Xe.p,{height:"200px",readOnly:!0,language:"json",value:JSON.stringify(r,null,4)})))}},Os=Ws;var Us=b(89707),Xs=b(45383),js=b(39343),Rt=b(53933),Te=b(42751),Bs=b(99386),Ct=b(26858);const Hs=/([\w\W]+):([\w]+)(?:\s?=\s?([\w\W]+))?/;function Js(t){return t.functions?t.functions.map(e=>{const r=e.parameters&&e.parameters.split(", ").map(s=>{const a=s.match(Hs);if(!a)return;const[,i,c,n]=a;return{name:i,type:c,defaultValue:n,cslDefaultValue:n}}).filter(s=>!!s);return{name:e.name,body:e.body,inputParameters:r||[]}}):[]}function Ks(t,e,r){const s={name:e,tables:t.tables,functions:Js(t),majorVersion:0,minorVersion:0};s.functions.push({name:"$__timeFilter",body:"{ true }",inputParameters:[{name:"timeColumn",type:"System.String",defaultValue:'""',cslDefaultValue:'""'}]},{name:"$__timeFrom",body:"{ datetime(2018-06-05T18:09:58.907Z) }",inputParameters:[]},{name:"$__timeTo",body:"{ datetime(2018-06-05T20:09:58.907Z) }",inputParameters:[]},{name:"$__escapeMulti",body:"{ @'\\grafana-vmNetwork(eth0)Total', @'\\hello!'}",inputParameters:[{name:"$myVar",type:"System.String",defaultValue:"$myVar",cslDefaultValue:"$myVar"}]},{name:"$__contains",body:"{ colName in ('value1','value2') }",inputParameters:[{name:"colName",type:"System.String",defaultValue:"colName",cslDefaultValue:"colName"},{name:"$myVar",type:"System.String",defaultValue:"$myVar",cslDefaultValue:"$myVar"}]});const a=r.map(i=>({name:`$${i.name}`,type:"dynamic"}));return{clusterType:"Engine",cluster:{connectionString:e,databases:[s]},database:s,globalParameters:a}}class Zs extends Te.CK{constructor(e){super(e),this.instanceSettings=e,this.timeSrv=(0,Ct.$t)(),this.resourcePath=`${E.logAnalytics}`,this.azureMonitorPath=`${E.azureMonitor}/subscriptions`;const r=at(e);this.azurePortalUrl=ot(r),this.defaultSubscriptionId=this.instanceSettings.jsonData.subscriptionId||""}isConfigured(){return!this.validateDatasource()}filterQuery(e){return e.hide!==!0&&(!!e.azureLogAnalytics?.query&&(!!e.azureLogAnalytics.resources?.length||!!e.azureLogAnalytics.workspace)||!!e.azureTraces?.resources?.length)}async getSubscriptions(){if(!this.isConfigured())return[];const e=`${this.azureMonitorPath}?api-version=2019-03-01`;return await this.getResource(e).then(r=>V.parseSubscriptions(r))}async getWorkspaces(e){const r=await this.getWorkspaceList(e);return(0,k.map)(r.value,s=>({text:s.name,value:s.id}))||[]}getWorkspaceList(e){const r=(0,F.J)().replace(e||this.defaultSubscriptionId),s=this.azureMonitorPath+`/${r}/providers/Microsoft.OperationalInsights/workspaces?api-version=2017-04-26-preview`;return this.getResource(s)}async getMetadata(e){const r=`${this.resourcePath}/v1${e}/metadata`;return await this.getResource(r)}async getKustoSchema(e){const r=(0,F.J)(),s=r.replace(e,{},C),a=await this.getMetadata(s);return Ks(a,s,r.getVariables())}applyTemplateVariables(e,r){let s;if(e.queryType===m.LogAnalytics&&e.azureLogAnalytics){s=e.azureLogAnalytics;const a=(0,F.J)(),i=this.expandResourcesForMultipleVariables(s.resources,r);let c=a.replace(s.workspace,r);!c&&!i&&this.firstWorkspace&&(c=this.firstWorkspace);const n=a.replace(s.query,r,C);return{...e,queryType:e.queryType||m.LogAnalytics,azureLogAnalytics:{resultFormat:s.resultFormat,query:n,resources:i,workspace:c,intersectTime:e.azureLogAnalytics.intersectTime}}}if(e.queryType===m.AzureTraces&&e.azureTraces){s=e.azureTraces;const a=(0,F.J)(),i=this.expandResourcesForMultipleVariables(s.resources,r),c=a.replace(s.query,r,C),n=s.traceTypes?.map(l=>a.replace(l,r)),u=(s.filters??[]).filter(l=>!!l.property).map(l=>{const p=l.filters?.map(f=>a.replace(f??"",r));return{property:a.replace(l.property,r),operation:l.operation||"eq",filters:p||[]}});return{...e,queryType:e.queryType||m.AzureTraces,azureTraces:{resultFormat:s.resultFormat,query:c,resources:i,operationId:a.replace(e.azureTraces?.operationId,r),filters:u,traceTypes:n}}}return e}expandResourcesForMultipleVariables(e,r){if(!e)return;const s=[],a=(0,F.J)();return e.forEach(i=>{a.replace(i,r,"raw").split(",").forEach(u=>{s.push(u)})}),s}getDeprecatedDefaultWorkSpace(){return this.instanceSettings.jsonData.logAnalyticsDefaultWorkspace}async getDefaultOrFirstSubscription(){return this.defaultSubscriptionId?this.defaultSubscriptionId:(await this.getSubscriptions())[0]?.value}async getFirstWorkspace(){if(this.firstWorkspace)return this.firstWorkspace;const e=await this.getDefaultOrFirstSubscription();if(!e)return;const s=(await this.getWorkspaces(e))[0]?.value;return s&&(this.firstWorkspace=s),s}validateDatasource(){if(De(this.instanceSettings)==="clientsecret"){if(!this.isValidConfigField(this.instanceSettings.jsonData.tenantId))return{status:"error",message:"The Tenant Id field is required."};if(!this.isValidConfigField(this.instanceSettings.jsonData.clientId))return{status:"error",message:"The Client Id field is required."}}}isValidConfigField(e){return typeof e=="string"&&e.length>0}}const Ys="select";function be(t){return!!(t&&t!==Ys)}class qs extends Te.CK{constructor(e){super(e),this.instanceSettings=e,this.apiVersion="2018-01-01",this.apiPreviewVersion="2017-12-01-preview",this.listByResourceGroupApiVersion="2021-04-01",this.providerApiVersion="2021-04-01",this.locationsApiVersion="2020-01-01",this.timeSrv=(0,Ct.$t)(),this.templateSrv=(0,F.J)(),this.defaultSubscriptionId=e.jsonData.subscriptionId;const r=at(e);this.resourcePath=E.azureMonitor,this.azurePortalUrl=ot(r)}isConfigured(){return!this.validateDatasource()}filterQuery(e){const r=e?.azureMonitor?.resources&&e.azureMonitor.resources.length>0&&e.azureMonitor.resources.every(a=>be(a.resourceGroup)&&be(a.resourceName))&&be(e?.azureMonitor?.metricDefinition||e?.azureMonitor?.metricNamespace),s=be(e.azureMonitor?.resourceUri);return!!(e.hide!==!0&&(r||s)&&be(e?.azureMonitor?.metricName)&&be(e?.azureMonitor?.aggregation))}applyTemplateVariables(e,r){const s=e.azureMonitor;if(!s)throw new Error("Query is not a valid Azure Monitor Metrics query");const a=(0,F.J)();s.resourceUri&&(s.resourceUri=a.replace(s.resourceUri,r)),s.metricDefinition&&(s.metricDefinition=a.replace(s.metricDefinition,r)),s.timeGrain&&s.timeGrainUnit&&s.timeGrain!=="auto"&&(s.timeGrain=Q.createISO8601Duration(s.timeGrain,s.timeGrainUnit));const i=_e(e),c=i.azureMonitor;if(!c)throw new Error("Query is not a valid Azure Monitor Metrics query");const n=a.replace(i.subscription||this.defaultSubscriptionId,r),u=c.resources?.map(y=>this.replaceTemplateVariables(y,r)).flat(),l=a.replace(c.metricNamespace,r),p=a.replace(c.customNamespace,r),f=a.replace((c.timeGrain||"").toString(),r),g=a.replace(c.aggregation,r),h=a.replace(c.top||"",r),v=(c.dimensionFilters??[]).filter(y=>y.dimension&&y.dimension!=="None").map(y=>{const z=y.filters?.map(w=>a.replace(w??"",r));return{dimension:a.replace(y.dimension,r),operator:y.operator||"eq",filters:z||[]}}),d={...c,resources:u,metricNamespace:l,customNamespace:p,timeGrain:f,allowedTimeGrainsMs:c.allowedTimeGrainsMs,metricName:a.replace(c.metricName,r),region:a.replace(c.region,r),aggregation:g,dimensionFilters:v,top:h||"10",alias:c.alias};return{...e,subscription:n,queryType:m.AzureMonitor,azureMonitor:d}}async getSubscriptions(){return this.isConfigured()?this.getResource(`${this.resourcePath}/subscriptions?api-version=2019-03-01`).then(e=>V.parseSubscriptions(e)):[]}getResourceGroups(e){return this.getResource(`${this.resourcePath}/subscriptions/${e}/resourceGroups?api-version=${this.listByResourceGroupApiVersion}`).then(r=>V.parseResponseValues(r,"name","name"))}async getResourceNames(e,r){const s=this.replaceTemplateVariables(e).map(({metricNamespace:a,subscriptionId:i,resourceGroup:c,region:n})=>{const u=(0,k.startsWith)(a?.toLowerCase(),"microsoft.storage/storageaccounts/")?"microsoft.storage/storageaccounts":a;let l=`${this.resourcePath}/subscriptions/${i}`;c&&(l+=`/resourceGroups/${c}`),l+=`/resources?api-version=${this.listByResourceGroupApiVersion}`;const p=[];return u&&p.push(`resourceType eq '${u}'`),n&&p.push(`location eq '${n}'`),p.length>0&&(l+=`&$filter=${p.join(" and ")}`),r&&(l+=`&$skiptoken=${r}`),this.getResource(l).then(async f=>{let g=[];if((0,k.startsWith)(a?.toLowerCase(),"microsoft.storage/storageaccounts/")){g=V.parseResourceNames(f,"microsoft.storage/storageaccounts");for(let h=0;h<g.length;h++)g[h].text+="/default",g[h].value+="/default"}else g=V.parseResourceNames(f,a);if(f.nextLink){const v=new URL(f.nextLink).searchParams.get("$skiptoken");if(!v)throw Error("unable to request the next page of resources");const d=await this.getResourceNames({metricNamespace:a,subscriptionId:i,resourceGroup:c},v);g=g.concat(d)}return g})});return(await Promise.all(s)).flat()}getMetricNamespaces(e,r){const s=ce.buildAzureMonitorGetMetricNamespacesUrl(this.resourcePath,this.apiPreviewVersion,this.replaceSingleTemplateVariables(e),r,this.templateSrv);return this.getResource(s).then(a=>V.parseResponseValues(a,"properties.metricNamespaceName","properties.metricNamespaceName")).then(a=>{if(s.toLowerCase().includes("microsoft.storage/storageaccounts")){const i=["microsoft.storage/storageaccounts","microsoft.storage/storageaccounts/blobservices","microsoft.storage/storageaccounts/fileservices","microsoft.storage/storageaccounts/tableservices","microsoft.storage/storageaccounts/queueservices"];for(const c of i)(0,k.find)(a,["value",c.toLowerCase()])||a.push({value:c,text:c})}return a})}getMetricNames(e,r,s){const a=r?this.apiPreviewVersion:this.apiVersion,i=ce.buildAzureMonitorGetMetricNamesUrl(this.resourcePath,a,this.replaceSingleTemplateVariables(e),this.templateSrv,r,s);return this.getResource(i).then(c=>V.parseResponseValues(c,"name.localizedValue","name.value"))}getMetricMetadata(e,r,s){const{metricName:a}=e,i=r?this.apiPreviewVersion:this.apiVersion,c=ce.buildAzureMonitorGetMetricNamesUrl(this.resourcePath,i,this.replaceSingleTemplateVariables(e),this.templateSrv,r,s);return this.getResource(c).then(n=>V.parseMetadata(n,this.templateSrv.replace(a)))}validateDatasource(){if(De(this.instanceSettings)==="clientsecret"){if(!this.isValidConfigField(this.instanceSettings.jsonData.tenantId))return{status:"error",message:"The Tenant Id field is required."};if(!this.isValidConfigField(this.instanceSettings.jsonData.clientId))return{status:"error",message:"The Client Id field is required."}}}isValidConfigField(e){return typeof e=="string"&&e.length>0}replaceSingleTemplateVariables(e,r){return this.replaceTemplateVariables(e,r)[0]}replaceTemplateVariables(e,r){const s=[{...e}];return Object.keys(e).forEach(i=>{const c=this.templateSrv.replace(s[0][i],r,"raw");if(c.includes(",")){const n=c.split(","),u=[...s];n.forEach((l,p)=>{u.forEach(f=>{p===0?f[i]=l:s.push({...f,[i]:l})})})}else s.forEach(n=>{n[i]=c})}),s}async getProvider(e){return await this.getResource(`${E.azureMonitor}/providers/${e}?api-version=${this.providerApiVersion}`)}async getLocations(e){const r=new Map;for(const s of e){const a=V.parseLocations(await this.getResource(`${E.azureMonitor}/subscriptions/${this.templateSrv.replace(s)}/locations?api-version=${this.locationsApiVersion}`));for(const i of a)r.set(i.name,i)}return r}}class _s extends Te.CK{filterQuery(e){return!!e.azureResourceGraph?.query&&!!e.subscriptions&&e.subscriptions.length>0}applyTemplateVariables(e,r){const s=e.azureResourceGraph;if(!s)return e;const a=(0,F.J)(),i=a.getVariables().map(p=>`$${p.name}`),c=ie().find(e.subscriptions,p=>ie().includes(i,p)),u=[...a.replace(c,r,p=>p).split(",").filter(p=>p.length>0),...ie().filter(e.subscriptions,p=>!ie().includes(i,p))],l=a.replace(s.query,r,C);return{...e,queryType:m.AzureResourceGraph,subscriptions:u,azureResourceGraph:{resultFormat:"table",query:l}}}}var It=b(86312);const eo="/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01",to=Gr.map(t=>`"${t}"`).join(",");class ro extends Te.CK{constructor(e,r){super(e),this.resultLimit=200,this.supportedMetricNamespaces="",this.search=async(s,a)=>{let i="resources";a==="logs"&&(i+=` | union resourcecontainers`),i+=` | where id contains "${s}" ${await this.filterByType(a)} | order by tolower(name) asc | limit ${this.resultLimit} `;const{data:c}=await this.makeResourceGraphRequest(i);return c.map(n=>{const u=Le(n.id);if(!u||!(u.resourceName||u.resourceGroup||u.subscription))throw new Error("unable to fetch resource details");let l=u.subscription??"",p=I.Subscription;return u.resourceName?(l=u.resourceName,p=I.Resource):u.resourceGroup&&(l=u.resourceGroup,p=I.ResourceGroup),{name:n.name,id:l,uri:n.id,resourceGroupName:n.resourceGroup,type:p,typeLabel:Ze[n.type]||n.type,location:n.location}})},this.filterByType=async s=>(this.supportedMetricNamespaces===""&&s!=="logs"&&await this.fetchAllNamespaces(),s==="logs"?`| where type in (${to})`:`| where type in (${this.supportedMetricNamespaces})`),this.resourcePath=`${E.resourceGraph}`,this.azureMonitorDatasource=r}async fetchInitialRows(e,r){const s=await this.getSubscriptions();if(!r)return s;let a=s;const i=r.map(c=>async()=>{if(c.subscription){const n=`/subscriptions/${c.subscription}/resourceGroups/${c.resourceGroup}`;if(c.resourceGroup&&!he(a,n)){const l=await this.getResourceGroupsBySubscriptionId(c.subscription,e);a=He(a,`/subscriptions/${c.subscription}`,l)}const u=Pe(c);if(c.resourceName&&!he(a,u)){const l=await this.getResourcesForResourceGroup(n,e);a=He(a,n,l)}}});for(const c of i)await c();return a}async fetchAndAppendNestedRow(e,r,s){const a=r.type===I.Subscription?await this.getResourceGroupsBySubscriptionId(r.id,s):await this.getResourcesForResourceGroup(r.id,s);return He(e,r.uri,a)}async getSubscriptions(){const e=` resources | join kind=inner ( ResourceContainers | where type == 'microsoft.resources/subscriptions' | project subscriptionName=name, subscriptionURI=id, subscriptionId ) on subscriptionId | summarize count() by subscriptionName, subscriptionURI, subscriptionId | order by subscriptionName desc `;let r=[],s=!1,a;for(;!s;){let i={};a&&(i={$skipToken:a});const c=await this.makeResourceGraphRequest(e,1,i);if(!c.data.length)throw new Error("No subscriptions were found");r=r.concat(c.data),a=c.$skipToken,s=!a}return r.map(i=>({name:i.subscriptionName,id:i.subscriptionId,uri:`/subscriptions/${i.subscriptionId}`,typeLabel:"Subscription",type:I.Subscription,children:[]}))}async getResourceGroupsBySubscriptionId(e,r){const s=` resources | join kind=inner ( ResourceContainers | where type == 'microsoft.resources/subscriptions/resourcegroups' | project resourceGroupURI=id, resourceGroupName=name, resourceGroup, subscriptionId ) on resourceGroup, subscriptionId ${await this.filterByType(r)} | where subscriptionId == '${e}' | summarize count() by resourceGroupName, resourceGroupURI | order by resourceGroupURI asc`;let a=[],i=!1,c;for(;!i;){let n={};c&&(n={$skipToken:c});const u=await this.makeResourceGraphRequest(s,1,n);a=a.concat(u.data),c=u.$skipToken,i=!c}return a.map(n=>{const u=Le(n.resourceGroupURI);if(!u||!u.resourceGroup)throw new Error("unable to fetch resource groups");return{name:n.resourceGroupName,uri:n.resourceGroupURI,id:u.resourceGroup,type:I.ResourceGroup,typeLabel:"Resource Group",children:[]}})}async getResourcesForResourceGroup(e,r){const{data:s}=await this.makeResourceGraphRequest(` resources | where id hasprefix "${e}" ${await this.filterByType(r)} `);return s.map(a=>{const i=Le(a.id);if(!i||!i.resourceName)throw new Error("unable to fetch resource details");return{name:a.name,id:i.resourceName,uri:a.id,resourceGroupName:a.resourceGroup,type:I.Resource,typeLabel:Ze[a.type]||a.type,locationDisplayName:a.location,location:a.location}})}async getResourceURIDisplayProperties(e){const{subscription:r,resourceGroup:s,resourceName:a}=O(e)??{};if(!r)throw new Error("Invalid resource URI passed");const i=`/subscriptions/${r}`,c=`${i}/resourceGroups/${s}`,n=` resourcecontainers | where type == "microsoft.resources/subscriptions" | where id =~ "${i}" | project subscriptionName=name, subscriptionId | join kind=leftouter ( resourcecontainers | where type == "microsoft.resources/subscriptions/resourcegroups" | where id =~ "${c}" | project resourceGroupName=name, resourceGroup, subscriptionId ) on subscriptionId | join kind=leftouter ( resources | where id =~ "${e}" | project resourceName=name, subscriptionId ) on subscriptionId | project subscriptionName, resourceGroupName, resourceName `,{data:u}=await this.makeResourceGraphRequest(n);if(!u.length)throw new Error("unable to fetch resource details");const{subscriptionName:l,resourceGroupName:p,resourceName:f}=u[0];return{subscription:l||r,resourceGroup:p||s,resourceName:f||a}}async getResourceURIFromWorkspace(e){const{data:r}=await this.makeResourceGraphRequest(` resources | where properties['customerId'] == "${e}" | project id `);if(!r.length)throw new Error("unable to find resource for workspace "+e);return r[0].id}async makeResourceGraphRequest(e,r=1,s){try{return await this.postResource(this.resourcePath+eo,{query:e,options:{resultFormat:"objectArray",...s}})}catch(a){if(r>0)return this.makeResourceGraphRequest(e,r-1);throw a}}async fetchAllNamespaces(){const e=await this.getSubscriptions();(0,It.ff)("grafana_ds_azuremonitor_subscriptions_loaded",{subscriptions:e.length});let r=[];for await(const s of e){const a=await this.azureMonitorDatasource.getMetricNamespaces({resourceUri:`/subscriptions/${s.id}`},!0);if(a){const i=a.map(c=>`"${c.value.toLocaleLowerCase()}"`);r=r.concat(i)}}if(r.length===0)throw new Error("Unable to resolve a list of valid metric namespaces. Validate the datasource configuration is correct and required permissions have been granted for all subscriptions. Grafana requires at least the Reader role to be assigned.");this.supportedMetricNamespaces=(0,k.uniq)(r.concat(Dr.map(s=>`"${s}"`))).join(",")}parseRows(e){const r=ue(e),s=[];return r.forEach((a,i)=>{let c=a.resourceName,n=a.resourceName,u=I.Resource;c||(c=a.resourceGroup,n=a.resourceGroup,u=I.ResourceGroup,c||(c=a.subscription,n=a.subscription,u=I.Subscription)),s.push({id:c??"",name:n??"",type:u,uri:Pe(a),typeLabel:Ze[a.metricNamespace?.toLowerCase()??""]??a.metricNamespace??"",location:a.region})}),s}}function so(t){const e=typeof t.rawQuery=="string"?t.rawQuery:null,r=typeof t.workspace=="string"?t.workspace:null;if(!(e&&r&&!t.target?.azureLogAnalytics?.query))return t;const s={...t.target??{},refId:t.target?.refId??"Anno",queryType:m.LogAnalytics,azureLogAnalytics:{query:e,resources:[r]}};return{...t,rawQuery:void 0,workspace:void 0,subscription:void 0,queryType:void 0,target:s}}var oo=b(91053),ao=b(79726),se=b(32053);const Dt=t=>({subscriptions:t.match(/^Subscriptions\(\)/i),resourceGroups:t.match(/^ResourceGroups\(\)/i),resourceGroupsWithSub:t.match(/^ResourceGroups\(([^\)]+?)(,\s?([^,]+?))?\)/i),namespaces:t.match(/^Namespaces\(([^\)]+?)(,\s?([^,]+?))?\)/i),namespacesWithSub:t.match(/^Namespaces\(([^,]+?),\s?([^,]+?)\)/i),resourceNames:t.match(/^ResourceNames\(([^,]+?),\s?([^,]+?)\)/i),resourceNamesWithSub:t.match(/^ResourceNames\(([^,]+?),\s?([^,]+?),\s?(.+?)\)/i),metricNamespace:t.match(/^MetricNamespace\(([^,]+?),\s?([^,]+?),\s?([^,]+?)\)/i),metricNamespaceWithSub:t.match(/^metricnamespace\(([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?([^,]+?)\)/i),metricNames:t.match(/^MetricNames\(([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?([^,]+?)\)/i),metricNamesWithSub:t.match(/^MetricNames\(([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?(.+?)\)/i),appInsightsMetricNameQuery:t.match(/^AppInsightsMetricNames\(\)/i),appInsightsGroupByQuery:t.match(/^AppInsightsGroupBys\(([^\)]+?)(,\s?([^,]+?))?\)/i),workspacesQuery:t.match(/^workspaces\(\)/i),workspacesQueryWithSub:t.match(/^workspaces\(["']?([^\)]+?)["']?\)/i)}),io=t=>{const e=Dt(t);return Object.keys(e).some(r=>!!e[r])},no=(t,e)=>{const r=Dt(t),s=e.azureMonitorDatasource.defaultSubscriptionId,a=()=>r.appInsightsMetricNameQuery?{rawQuery:t,kind:"AppInsightsMetricNameQuery"}:r.appInsightsGroupByQuery?{kind:"AppInsightsGroupByQuery",rawQuery:t,metricName:r.appInsightsGroupByQuery[1]}:r.subscriptions?{kind:"SubscriptionsQuery",rawQuery:t}:r.resourceGroupsWithSub?{kind:"ResourceGroupsQuery",rawQuery:t,subscription:r.resourceGroupsWithSub[1]}:r.resourceGroups&&s?{kind:"ResourceGroupsQuery",rawQuery:t,subscription:s}:r.namespacesWithSub?{kind:"MetricNamespaceQuery",rawQuery:t,subscription:r.namespacesWithSub[1],resourceGroup:r.namespacesWithSub[2]}:r.namespaces&&s?{kind:"MetricNamespaceQuery",rawQuery:t,subscription:s,resourceGroup:r.namespaces[1]}:r.resourceNamesWithSub?{kind:"ResourceNamesQuery",rawQuery:t,subscription:r.resourceNamesWithSub[1],resourceGroup:r.resourceNamesWithSub[2],metricNamespace:r.resourceNamesWithSub[3]}:r.resourceNames&&s?{kind:"ResourceNamesQuery",rawQuery:t,subscription:s,resourceGroup:r.resourceNames[1],metricNamespace:r.resourceNames[2]}:r.metricNamespaceWithSub?{kind:"MetricNamespaceQuery",rawQuery:t,subscription:r.metricNamespaceWithSub[1],resourceGroup:r.metricNamespaceWithSub[2],metricNamespace:r.metricNamespaceWithSub[3],resourceName:r.metricNamespaceWithSub[4]}:r.metricNamespace&&s?{kind:"MetricNamespaceQuery",rawQuery:t,subscription:s,resourceGroup:r.metricNamespace[1],metricNamespace:r.metricNamespace[2],resourceName:r.metricNamespace[3]}:r.metricNames&&s&&r.metricNames[3].indexOf(",")===-1?{kind:"MetricNamesQuery",rawQuery:t,subscription:s,resourceGroup:r.metricNames[1],metricNamespace:r.metricNames[2],resourceName:r.metricNames[3]}:r.metricNamesWithSub?{kind:"MetricNamesQuery",rawQuery:t,subscription:r.metricNamesWithSub[1],resourceGroup:r.metricNamesWithSub[2],metricNamespace:r.metricNamesWithSub[3],resourceName:r.metricNamesWithSub[4]}:r.workspacesQueryWithSub?{kind:"WorkspacesQuery",rawQuery:t,subscription:(r.workspacesQueryWithSub[1]||"").trim()}:r.workspacesQuery&&s?{kind:"WorkspacesQuery",rawQuery:t,subscription:s}:{kind:"SubscriptionsQuery",rawQuery:t};return{refId:"A",queryType:m.GrafanaTemplateVariableFn,grafanaTemplateVariableFn:a(),subscription:s}},co=async(t,e)=>{const r=e.azureMonitorDatasource.defaultSubscriptionId;let s="";if(t){const a=e.azureLogAnalyticsDatasource.getDeprecatedDefaultWorkSpace();a?ft(a)?s=await e.resourcePickerData.getResourceURIFromWorkspace(a):s=a:s=await e.azureLogAnalyticsDatasource.getFirstWorkspace()||""}return{refId:"A",queryType:m.LogAnalytics,azureLogAnalytics:{query:t,resources:s?[s]:[]},subscription:r}},uo=t=>{const{queryType:e,grafanaTemplateVariableFn:r}=t;if(e!==m.GrafanaTemplateVariableFn||!r)return t;const s={...t};switch("subscription"in r&&(s.subscription=r.subscription),"resourceGroup"in r&&(s.resourceGroup=r.resourceGroup),"metricNamespace"in r&&(s.namespace=r.metricNamespace),"resourceName"in r&&(s.resource=r.resourceName),r.kind){case"SubscriptionsQuery":s.queryType=m.SubscriptionsQuery;break;case"ResourceGroupsQuery":s.queryType=m.ResourceGroupsQuery;break;case"ResourceNamesQuery":s.queryType=m.ResourceNamesQuery;break;case"MetricNamespaceQuery":s.queryType=m.NamespacesQuery;break;case"MetricDefinitionsQuery":s.queryType=m.NamespacesQuery;break;case"MetricNamesQuery":s.queryType=m.MetricNamesQuery;break;case"WorkspacesQuery":s.queryType=m.WorkspacesQuery;break}return s},Gt=async(t,e)=>typeof t!="string"?t:io(t)?no(t,e.datasource):co(t,e.datasource),Ft=async(t,e)=>{let r=await Gt(t,e);return r.queryType===m.GrafanaTemplateVariableFn&&(r=uo(r)),r},lo=({query:t,updateQuery:e,datasource:r})=>{const[s,a]=(0,o.useState)("");(0,o.useEffect)(()=>{a(t.grafanaTemplateVariableFn?.rawQuery||"")},[t.grafanaTemplateVariableFn?.rawQuery]);const i=(0,o.useCallback)(n=>{Gt(n,{datasource:r}).then(u=>{u.queryType===m.GrafanaTemplateVariableFn?e(u):e({...t,grafanaTemplateVariableFn:{kind:"UnknownQuery",rawQuery:n}})})},[r,t,e]),c=n=>{a(n.target.value)};return o.createElement(G._,{label:"Grafana template variable function"},o.createElement(J.I,{placeholder:"type a grafana template variable function, ex: Subscriptions()",value:s,onChange:c,onBlur:()=>i(s)}))},Lt={label:"-",value:""},mo=t=>{const{query:e,onChange:r,datasource:s}=t,a=[{label:"Subscriptions",value:m.SubscriptionsQuery},{label:"Resource Groups",value:m.ResourceGroupsQuery},{label:"Namespaces",value:m.NamespacesQuery},{label:"Regions",value:m.LocationsQuery},{label:"Resource Names",value:m.ResourceNamesQuery},{label:"Metric Names",value:m.MetricNamesQuery},{label:"Workspaces",value:m.WorkspacesQuery},{label:"Resource Graph",value:m.AzureResourceGraph},{label:"Logs",value:m.LogAnalytics}];typeof t.query=="object"&&t.query.queryType===m.GrafanaTemplateVariableFn&&a.push({label:"Grafana Query Function",value:m.GrafanaTemplateVariableFn});const[i,c]=(0,o.useState)({label:"Template Variables",options:[]}),[n,u]=(0,o.useState)(!1),[l,p]=(0,o.useState)(!1),[f,g]=(0,o.useState)(!1),[h,v]=(0,o.useState)(!1),[d,y]=(0,o.useState)(!1),[z,w]=(0,o.useState)(!1),[N,B]=(0,o.useState)(!1),[x,We]=(0,o.useState)([]),[ve,Me]=(0,o.useState)([]),[Ne,$e]=(0,o.useState)([]),[et,tt]=(0,o.useState)([]),[A,P]=(0,o.useState)([]),[W,ye]=it(),le=typeof e=="string"?"":e.queryType;(0,o.useEffect)(()=>{Ft(e,{datasource:s}).then(R=>{(0,k.isEqual)(e,R)||r(R)})},[e,s,r]),(0,o.useEffect)(()=>{switch(u(!1),p(!1),g(!1),y(!1),w(!1),B(!1),le){case m.ResourceGroupsQuery:case m.WorkspacesQuery:u(!0);break;case m.NamespacesQuery:u(!0),p(!0);break;case m.ResourceNamesQuery:u(!0),p(!0),g(!0),v(!0);break;case m.MetricNamesQuery:u(!0),y(!0),w(!0),B(!0);break;case m.LocationsQuery:u(!0);break}},[le]),(0,o.useEffect)(()=>{const R=[];s.getVariablesRaw().forEach(L=>{(0,k.get)(L,"query.queryType")!==le&&R.push({label:L.label||L.name,value:`$${L.name}`})}),c({label:"Template Variables",options:R})},[s,le]),(0,je.Z)(()=>{s.getSubscriptions().then(R=>{We(R.map(L=>({label:L.text,value:L.value})))})});const H=typeof e=="object"&&e.subscription;(0,o.useEffect)(()=>{H&&s.getResourceGroups(H).then(R=>{Me(R.map(L=>({label:L.text,value:L.value})))})},[s,H]);const Re=typeof e=="object"&&e.resourceGroup||"";(0,o.useEffect)(()=>{H&&s.getMetricNamespaces(H,Re).then(R=>{$e(R.map(L=>({label:L.text,value:L.value})))})},[s,H,Re]),(0,o.useEffect)(()=>{H&&s.azureMonitorDatasource.getLocations([H]).then(R=>{const L=[];R.forEach(Vt=>L.push({label:Vt.displayName,value:Vt.name})),P(L)})},[s,H,Re]);const Pt=typeof e=="object"&&e.namespace||"";if((0,o.useEffect)(()=>{H&&s.getResourceNames(H,Re,Pt).then(R=>{tt(R.map(L=>({label:L.text,value:L.value})))})},[s,H,Re,Pt]),typeof e=="string")return null;const yo=R=>{R.value&&r({...e,queryType:R.value,subscription:void 0,resourceGroup:void 0,namespace:void 0,resource:void 0})},wo=R=>{R.value&&r({...e,subscription:R.value,resourceGroup:void 0,namespace:void 0,resource:void 0})},zo=R=>{r({...e,resourceGroup:R.value,namespace:void 0,resource:void 0})},ko=R=>{r({...e,namespace:R.value,resource:void 0})},So=R=>{r({...e,region:R.value})},Eo=R=>{r({...e,resource:R.value})},Qt=R=>{r(R)};return o.createElement(o.Fragment,null,o.createElement(G._,{label:"Select query type",labelWidth:20,"data-testid":M.components.variableEditor.queryType.input},o.createElement(D.Ph,{"aria-label":"select query type",onChange:yo,options:a,width:25,value:le})),e.queryType===m.LogAnalytics&&o.createElement(o.Fragment,null,o.createElement(wt,{subscriptionId:e.subscription,query:e,datasource:s,onChange:Qt,variableOptionGroup:i,setError:ye,hideFormatAs:!0}),W&&o.createElement(o.Fragment,null,o.createElement(j,{v:2}),o.createElement(Y.b,{severity:"error",title:"An error occurred while requesting metadata from Azure Monitor"},W instanceof Error?W.message:W))),e.queryType===m.GrafanaTemplateVariableFn&&o.createElement(lo,{query:e,updateQuery:t.onChange,datasource:s}),n&&o.createElement(G._,{label:"Select subscription",labelWidth:20,"data-testid":M.components.variableEditor.subscription.input},o.createElement(D.Ph,{"aria-label":"select subscription",onChange:wo,options:x.concat(i),width:25,value:e.subscription||null})),(d||l)&&o.createElement(G._,{label:"Select resource group",labelWidth:20,"data-testid":M.components.variableEditor.resourceGroup.input},o.createElement(D.Ph,{"aria-label":"select resource group",onChange:zo,options:d?ve.concat(i):ve.concat(i,Lt),width:25,value:e.resourceGroup||null,placeholder:d?void 0:"Optional"})),(z||f)&&o.createElement(G._,{label:"Select namespace",labelWidth:20,"data-testid":M.components.variableEditor.namespace.input},o.createElement(D.Ph,{"aria-label":"select namespace",onChange:ko,options:z?Ne.concat(i):Ne.concat(i,Lt),width:25,value:e.namespace||null,placeholder:z?void 0:"Optional"})),h&&o.createElement(G._,{label:"Select region",labelWidth:20,"data-testid":M.components.variableEditor.region.input},o.createElement(D.Ph,{"aria-label":"select region",onChange:So,options:A.concat(i),width:25,value:e.region||null,placeholder:"Optional"})),N&&o.createElement(G._,{label:"Select resource",labelWidth:20,"data-testid":M.components.variableEditor.resource.input},o.createElement(D.Ph,{"aria-label":"select resource",onChange:Eo,options:et.concat(i),width:25,value:e.resource||null})),e.queryType===m.AzureResourceGraph&&o.createElement(o.Fragment,null,o.createElement(ut,{subscriptionId:s.azureLogAnalyticsDatasource.defaultSubscriptionId,query:e,datasource:s,onChange:Qt,variableOptionGroup:i,setError:ye}),W&&o.createElement(o.Fragment,null,o.createElement(j,{v:2}),o.createElement(Y.b,{severity:"error",title:"An error occurred while requesting metadata from Azure Monitor"},W instanceof Error?W.message:W))))};class po extends ao.Mg{constructor(e){super(),this.datasource=e,this.templateSrv=(0,F.J)(),this.editor=mo,this.datasource=e,this.query=this.query.bind(this),this.templateSrv=(0,F.J)()}hasValue(...e){return e.every(r=>!!this.templateSrv.replace(r))}query(e){const r=async()=>{const s=await Ft(e.targets[0],{datasource:this.datasource});try{switch(s.queryType){case m.SubscriptionsQuery:const a=await this.datasource.getSubscriptions();return{data:a?.length?[(0,se.g0)(a)]:[]};case m.ResourceGroupsQuery:if(s.subscription&&this.hasValue(s.subscription)){const c=await this.datasource.getResourceGroups(s.subscription);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.NamespacesQuery:if(s.subscription&&this.hasValue(s.subscription)){const c=await this.datasource.getMetricNamespaces(s.subscription,s.resourceGroup);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.ResourceNamesQuery:if(s.subscription&&this.hasValue(s.subscription)){const c=await this.datasource.getResourceNames(s.subscription,s.resourceGroup,s.namespace,s.region);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.MetricNamesQuery:if(s.subscription&&s.resourceGroup&&s.namespace&&s.resource&&this.hasValue(s.subscription,s.resourceGroup,s.namespace,s.resource)){const c=await this.datasource.getMetricNames(s.subscription,s.resourceGroup,s.namespace,s.resource);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.WorkspacesQuery:if(s.subscription&&this.hasValue(s.subscription)){const c=await this.datasource.getAzureLogAnalyticsWorkspaces(s.subscription);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.GrafanaTemplateVariableFn:if(s.grafanaTemplateVariableFn){const c=await this.callGrafanaTemplateVariableFn(s.grafanaTemplateVariableFn);return{data:c?.length?[(0,se.g0)(c)]:[]}}return{data:[]};case m.LocationsQuery:if(s.subscription&&this.hasValue(s.subscription)){const c=await this.datasource.azureMonitorDatasource.getLocations([s.subscription]),n=[];return c.forEach(u=>{n.push({text:u.displayName,value:u.name})}),{data:n?.length?[(0,se.g0)(n)]:[]}}default:e.targets[0]=s;const i=await(0,Nt.n)(this.datasource.query(e));return{data:i.data,error:i.error?new Error(ge(i.error)):void 0}}}catch(a){return{data:[],error:new Error(ge(a))}}};return(0,oo.D)(r())}callGrafanaTemplateVariableFn(e){return e.kind==="SubscriptionsQuery"?this.datasource.getSubscriptions():e.kind==="ResourceGroupsQuery"?this.datasource.getResourceGroups(this.replaceVariable(e.subscription)):e.kind==="ResourceNamesQuery"?this.datasource.getResourceNames(this.replaceVariable(e.subscription),this.replaceVariable(e.resourceGroup),this.replaceVariable(e.metricNamespace)):e.kind==="MetricNamespaceQuery"?this.datasource.azureMonitorDatasource.getMetricNamespaces(e,!0):e.kind==="MetricNamesQuery"?this.datasource.azureMonitorDatasource.getMetricNames(e):e.kind==="WorkspacesQuery"?this.datasource.azureLogAnalyticsDatasource.getWorkspaces(this.replaceVariable(e.subscription)):null}replaceVariable(e){return(0,F.J)().replace((e||"").trim())}}class fo extends Te.CK{constructor(e,r=(0,Bs.J)()){super(e),this.templateSrv=r,this.annotations={prepareAnnotation:so},this.pseudoDatasource={},this.azureMonitorDatasource=new qs(e),this.azureLogAnalyticsDatasource=new Zs(e),this.azureResourceGraphDatasource=new _s(e),this.resourcePickerData=new ro(e,this.azureMonitorDatasource),this.pseudoDatasource={[m.AzureMonitor]:this.azureMonitorDatasource,[m.LogAnalytics]:this.azureLogAnalyticsDatasource,[m.AzureResourceGraph]:this.azureResourceGraphDatasource},this.variables=new po(this)}filterQuery(e){return e.queryType?this.pseudoDatasource[e.queryType]?.filterQuery?.(e)??!0:!1}query(e){const r=new Map;for(const a of e.targets){const i=_e(a);if(!i.queryType||i.hide||!go(i))continue;if(!r.has(i.queryType)){const n=(0,k.cloneDeep)(e);n.requestId=`${n.requestId}-${i.refId}`,n.targets=[],r.set(i.queryType,n)}r.get(i.queryType)?.targets.push(i)}const s=Array.from(r.entries()).map(([a,i])=>{const c=a===m.AzureTraces?m.LogAnalytics:a,n=this.pseudoDatasource[c];if(!n)throw new Error("Data source not created for query type "+a);return n.query(i)});return s.length===1?s[0]:s.length>1?(0,Us.D)(s).pipe((0,js.U)(a=>{const i=[];for(const c of a)for(const n of c.data)i.push(n);return{state:Rt.Gu.Done,data:i}})):(0,Xs.of)({state:Rt.Gu.Done,data:[]})}targetContainsTemplate(e){if(e.subscription&&this.templateSrv.containsTemplate(e.subscription))return!0;let r;return e.queryType===m.AzureMonitor?r=JSON.stringify(e.azureMonitor):e.queryType===m.LogAnalytics?r=JSON.stringify(e.azureLogAnalytics):e.queryType===m.AzureResourceGraph&&(r=JSON.stringify([e.azureResourceGraph,e.subscriptions])),!!r&&this.templateSrv.containsTemplate(r)}getResourceGroups(e){return this.azureMonitorDatasource.getResourceGroups(this.templateSrv.replace(e))}getMetricNamespaces(e,r){let s=`/subscriptions/${e}`;return r&&(s+=`/resourceGroups/${r};`),this.azureMonitorDatasource.getMetricNamespaces({resourceUri:s},!0)}getResourceNames(e,r,s,a){return this.azureMonitorDatasource.getResourceNames({subscriptionId:e,resourceGroup:r,metricNamespace:s,region:a})}getMetricNames(e,r,s,a){return this.azureMonitorDatasource.getMetricNames({subscription:e,resourceGroup:r,metricNamespace:s,resourceName:a})}getAzureLogAnalyticsWorkspaces(e){return this.azureLogAnalyticsDatasource.getWorkspaces(e)}getSubscriptions(){return this.azureMonitorDatasource.getSubscriptions()}interpolateVariablesInQueries(e,r){return e.map(a=>{if(!a.queryType)return a;const i=a.queryType===m.AzureTraces?m.LogAnalytics:a.queryType,c=this.pseudoDatasource[i];return{datasource:c?.getRef(),...c?.applyTemplateVariables(a,r)??a}})}getVariables(){return this.templateSrv.getVariables().map(e=>`$${e.name}`)}getVariablesRaw(){return this.templateSrv.getVariables()}}function go(t){switch(t.queryType){case m.AzureMonitor:return!!t.azureMonitor;case m.LogAnalytics:return!!t.azureLogAnalytics;case m.AzureResourceGraph:return!!t.azureResourceGraph;case m.AzureTraces:return!!t.azureTraces;case m.GrafanaTemplateVariableFn:return!!t.grafanaTemplateVariableFn;default:return!1}}var ho=b(40507);const bo=t=>{(0,It.ff)("grafana_ds_azuremonitor_dashboard_loaded",t)},vo=new K.hf(fo).setConfigEditor(Zt).setQueryEditor(Os);(0,oe.N$)().subscribe(Z.Pl,({payload:{dashboardId:t,orgId:e,userId:r,grafanaVersion:s,queries:a}})=>{const i=a[ho.id],c={hidden:0,visible:0,multiResource:0,count:0};let n={[m.AzureMonitor]:{...c},[m.LogAnalytics]:{...c},[m.AzureResourceGraph]:{...c},[m.AzureTraces]:{...c,table:0,trace:0,operationIdSpecified:0,eventTypesSpecified:0,filtersSpecified:0},[m.SubscriptionsQuery]:{...c},[m.ResourceGroupsQuery]:{...c},[m.NamespacesQuery]:{...c},[m.ResourceNamesQuery]:{...c},[m.MetricNamesQuery]:{...c},[m.WorkspacesQuery]:{...c},[m.GrafanaTemplateVariableFn]:{...c},[m.LocationsQuery]:{...c},unknown:{...c}};i.forEach(u=>{switch(u.queryType===m.AzureMonitor&&(n[m.AzureMonitor][u.hide?"hidden":"visible"]++,u.azureMonitor?.resources&&u.azureMonitor.resources.length>1&&n[m.AzureMonitor].multiResource++),u.queryType===m.LogAnalytics&&(n[m.LogAnalytics][u.hide?"hidden":"visible"]++,u.azureLogAnalytics?.resources&&u.azureLogAnalytics.resources.length>1&&n[m.LogAnalytics].multiResource++),u.queryType===m.AzureResourceGraph&&(n[m.AzureResourceGraph][u.hide?"hidden":"visible"]++,u.subscriptions&&u.subscriptions.length>1&&n[m.AzureResourceGraph].multiResource++),u.queryType===m.AzureTraces&&(n[m.AzureTraces][u.hide?"hidden":"visible"]++,u.azureTraces&&(u.azureTraces.resultFormat&&n[m.AzureTraces][u.azureTraces.resultFormat===q.Trace?q.Trace:q.Table]++,u.azureTraces.resources&&u.azureTraces.resources.length>1&&n[m.AzureTraces].multiResource++,u.azureTraces.operationId&&u.azureTraces.operationId!==""&&n[m.AzureTraces].operationIdSpecified++,u.azureTraces.traceTypes&&u.azureTraces.traceTypes.length>0&&n[m.AzureTraces].eventTypesSpecified++,u.azureTraces.filters&&u.azureTraces.filters.length>0&&n[m.AzureTraces].filtersSpecified++)),u.queryType){case m.AzureMonitor:case m.LogAnalytics:case m.AzureResourceGraph:case m.AzureTraces:case m.SubscriptionsQuery:case m.ResourceGroupsQuery:case m.NamespacesQuery:case m.ResourceNamesQuery:case m.MetricNamesQuery:case m.WorkspacesQuery:case m.GrafanaTemplateVariableFn:case m.LocationsQuery:n[u.queryType].count++;break;default:n.unknown.count++}}),i&&i.length>0&&bo({grafana_version:s,dashboard_id:t,org_id:e,azure_monitor_queries:n[m.AzureMonitor].visible,azure_monitor_queries_hidden:n[m.AzureMonitor].hidden,azure_monitor_multiple_resource:n[m.AzureMonitor].multiResource,azure_monitor_query:n[m.AzureMonitor].count,azure_log_analytics_queries:n[m.LogAnalytics].visible,azure_log_analytics_queries_hidden:n[m.LogAnalytics].hidden,azure_log_multiple_resource:n[m.LogAnalytics].multiResource,azure_log_query:n[m.LogAnalytics].count,azure_resource_graph_queries:n[m.AzureResourceGraph].visible,azure_resource_graph_queries_hidden:n[m.AzureResourceGraph].hidden,azure_resource_graph_multiple_subscription:n[m.AzureResourceGraph].multiResource,azure_resource_graph_query:n[m.AzureResourceGraph].count,azure_traces_queries:n[m.AzureTraces].visible,azure_traces_queries_hidden:n[m.AzureTraces].hidden,azure_traces_multiple_resource:n[m.AzureTraces].multiResource,azure_traces_table:n[m.AzureTraces].table,azure_traces_trace:n[m.AzureTraces].trace,azure_traces_operation_id_specified:n[m.AzureTraces].operationIdSpecified,azure_traces_event_type_specified:n[m.AzureTraces].eventTypesSpecified,azure_traces_filters:n[m.AzureTraces].filtersSpecified,azure_traces_query:n[m.AzureTraces].count,azure_subscriptions_query:n[m.SubscriptionsQuery].count,azure_resource_groups_query:n[m.ResourceGroupsQuery].count,azure_namespaces_query:n[m.NamespacesQuery].count,azure_resource_names_query:n[m.ResourceNamesQuery].count,azure_metric_names_query:n[m.MetricNamesQuery].count,azure_workspaces_query:n[m.WorkspacesQuery].count,azure_grafana_template_variable_query:n[m.GrafanaTemplateVariableFn].count,azure_locations_query:n[m.LocationsQuery].count,azure_unknown_query:n.unknown.count})})},83871:()=>{}}]); //# sourceMappingURL=2340.009a24ef8faa983c4a8c.js.map