Skip to content

Commit 1af73fd

Browse files
authored
Merge pull request #2 from sfairat15/fix-clients-base-uri
Fix clients base uri according Azure Cloud
2 parents bd34231 + 29249f4 commit 1af73fd

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Application Options:
2424
-v, --verbose verbose mode [$VERBOSE]
2525
--log.json Switch log output to json format [$LOG_JSON]
2626
--azure-environment= Azure environment name (default: AZUREPUBLICCLOUD) [$AZURE_ENVIRONMENT]
27+
--azure-ad-resource-url= Specifies the AAD resource ID to use. If not set, it defaults to ResourceManagerEndpoint for operations with Azure Resource Manager [$AZURE_AD_RESOURCE]
2728
--concurrency.subscription= Concurrent subscription fetches (default: 5) [$CONCURRENCY_SUBSCRIPTION]
2829
--concurrency.subscription.resource= Concurrent requests per resource (inside subscription requests) (default:
2930
10) [$CONCURRENCY_SUBSCRIPTION_RESOURCE]

azure_insights.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (m *AzureInsightMetrics) MetricsClient(subscriptionId string) *insights.Met
3434
m.clientMutex.Lock()
3535

3636
if _, ok := m.metricsClientCache[subscriptionId]; !ok {
37-
client := insights.NewMetricsClient(subscriptionId)
37+
client := insights.NewMetricsClientWithBaseURI(AzureAdResourceUrl, subscriptionId)
3838
client.Authorizer = AzureAuthorizer
3939
m.metricsClientCache[subscriptionId] = &client
4040
}
@@ -49,7 +49,7 @@ func (m *AzureInsightMetrics) ResourcesClient(subscriptionId string) *resources.
4949
m.clientMutex.Lock()
5050

5151
if _, ok := m.resourceClientCache[subscriptionId]; !ok {
52-
client := resources.NewClient(subscriptionId)
52+
client := resources.NewClientWithBaseURI(AzureAdResourceUrl, subscriptionId)
5353
client.Authorizer = AzureAuthorizer
5454
m.resourceClientCache[subscriptionId] = &client
5555
}

config/opts.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ type (
1616

1717
// azure
1818
Azure struct {
19-
Environment *string `long:"azure-environment" env:"AZURE_ENVIRONMENT" description:"Azure environment name" default:"AZUREPUBLICCLOUD"`
19+
Environment *string `long:"azure-environment" env:"AZURE_ENVIRONMENT" description:"Azure environment name" default:"AZUREPUBLICCLOUD"`
20+
AdResourceUrl *string `long:"azure-ad-resource-url" env:"AZURE_AD_RESOURCE" description:"Specifies the AAD resource ID to use. If not set, it defaults to ResourceManagerEndpoint for operations with Azure Resource Manager"`
2021
}
2122

2223
// Prober settings

main.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ var (
4343
argparser *flags.Parser
4444
opts config.Opts
4545

46-
AzureEnvironment azure.Environment
47-
AzureAuthorizer autorest.Authorizer
46+
AzureEnvironment azure.Environment
47+
AzureAuthorizer autorest.Authorizer
48+
AzureAdResourceUrl string
4849

4950
prometheusCollectTime *prometheus.SummaryVec
5051
prometheusMetricRequests *prometheus.CounterVec
@@ -132,6 +133,12 @@ func initAzureConnection() {
132133
log.Panic(err)
133134
}
134135

136+
if opts.Azure.AdResourceUrl == nil {
137+
AzureAdResourceUrl = AzureEnvironment.ResourceManagerEndpoint
138+
} else {
139+
AzureAdResourceUrl = *opts.Azure.AdResourceUrl
140+
}
141+
135142
// setup azure authorizer
136143
AzureAuthorizer, err = auth.NewAuthorizerFromEnvironment()
137144
if err != nil {

0 commit comments

Comments
 (0)