private async Task <ResourceGraphClient> CreateClientAsync() { var azureEnvironment = _resourceDeclarationMonitor.CurrentValue.AzureLandscape.Cloud.GetAzureEnvironment(); var azureAuthorityHost = _resourceDeclarationMonitor.CurrentValue.AzureLandscape.Cloud.GetAzureAuthorityHost(); var credentials = await AzureAuthenticationFactory.GetTokenCredentialsAsync(azureEnvironment.ManagementEndpoint, TenantId, _azureAuthenticationInfo, azureAuthorityHost); var resourceManagerBaseUri = new Uri(azureEnvironment.ResourceManagerEndpoint); var appId = DetermineApplicationId(_azureAuthenticationInfo); var metricLabels = new Dictionary <string, string> { { "tenant_id", TenantId }, { "cloud", azureEnvironment.GetDisplayName() }, { "app_id", appId }, { "auth_mode", _azureAuthenticationInfo.Mode.ToString() }, }; var resourceGraphClient = new ResourceGraphClient(resourceManagerBaseUri, credentials, new AzureResourceGraphThrottlingRequestHandler(_prometheusMetricsCollector, metricLabels, _logger)); var version = Promitor.Core.Version.Get(); var promitorUserAgent = UserAgent.Generate("Resource-Discovery", version); resourceGraphClient.UserAgent.Clear(); resourceGraphClient.UserAgent.TryParseAdd(promitorUserAgent); return(resourceGraphClient); }
private async Task <ResourceGraphClient> CreateClientAsync() { var azureEnvironment = _resourceDeclarationMonitor.CurrentValue.AzureLandscape.Cloud.GetAzureEnvironment(); var credentials = await AzureAuthenticationFactory.GetTokenCredentialsAsync(azureEnvironment.ManagementEndpoint, TenantId, _azureAuthenticationInfo); var resourceGraphClient = new ResourceGraphClient(credentials); var version = Promitor.Core.Version.Get(); var promitorUserAgent = UserAgent.Generate("Resource-Discovery", version); resourceGraphClient.UserAgent.Clear(); resourceGraphClient.UserAgent.TryParseAdd(promitorUserAgent); return(resourceGraphClient); }