| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import AzureLogAnalyticsDatasource from './azure_log_analytics/azure_log_analytics_datasource';
- import config from 'app/core/config';
- import { isVersionGtOrEq } from 'app/core/utils/version';
- export class AzureMonitorConfigCtrl {
- static templateUrl = 'public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/config.html';
- current: any;
- azureLogAnalyticsDatasource: any;
- workspaces: any[];
- hasRequiredGrafanaVersion: boolean;
- /** @ngInject */
- constructor($scope, backendSrv, $q) {
- this.hasRequiredGrafanaVersion = this.hasMinVersion();
- this.current.jsonData.cloudName = this.current.jsonData.cloudName || 'azuremonitor';
- this.current.jsonData.azureLogAnalyticsSameAs = this.current.jsonData.azureLogAnalyticsSameAs || false;
- if (this.current.id) {
- this.current.url = '/api/datasources/proxy/' + this.current.id;
- this.azureLogAnalyticsDatasource = new AzureLogAnalyticsDatasource(this.current, backendSrv, null, $q);
- this.getWorkspaces();
- }
- }
- hasMinVersion(): boolean {
- return isVersionGtOrEq(config.buildInfo.version, '5.2');
- }
- showMinVersionWarning() {
- return !this.hasRequiredGrafanaVersion && this.current.secureJsonFields.logAnalyticsClientSecret;
- }
- getWorkspaces() {
- if (!this.azureLogAnalyticsDatasource.isConfigured()) {
- return;
- }
- return this.azureLogAnalyticsDatasource.getWorkspaces().then(workspaces => {
- this.workspaces = workspaces;
- if (this.workspaces.length > 0) {
- this.current.jsonData.logAnalyticsDefaultWorkspace =
- this.current.jsonData.logAnalyticsDefaultWorkspace || this.workspaces[0].value;
- }
- });
- }
- }
|