@@ -26,6 +26,13 @@ const (
2626 componentVaultName = "vaultName"
2727 VersionID = "version_id"
2828 secretItemIDPrefix = "/secrets/"
29+
30+ // AzureCloud urls refer to https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#dns-suffixes-for-base-url
31+ AzureCloud = ".vault.azure.net"
32+ AzureChinaCloud = ".vault.azure.cn"
33+ AzureUSGov = ".vault.usgovcloudapi.net"
34+ AzureGermanCloud = ".vault.microsoftazure.de"
35+ https = "https://"
2936)
3037
3138type keyvaultSecretStore struct {
@@ -131,7 +138,16 @@ func (k *keyvaultSecretStore) BulkGetSecret(req secretstores.BulkGetSecretReques
131138
132139// getVaultURI returns Azure Key Vault URI
133140func (k * keyvaultSecretStore ) getVaultURI () string {
134- return fmt .Sprintf ("https://%s.vault.azure.net" , k .vaultName )
141+ for _ , suffix := range []string {AzureCloud , AzureChinaCloud , AzureGermanCloud , AzureUSGov } {
142+ if strings .HasSuffix (k .vaultName , suffix ) {
143+ if strings .HasPrefix (k .vaultName , https ) {
144+ return k .vaultName
145+ } else {
146+ return fmt .Sprintf ("%s%s" , https , k .vaultName )
147+ }
148+ }
149+ }
150+ return fmt .Sprintf ("%s%s%s" , https , k .vaultName , AzureCloud )
135151}
136152
137153func (k * keyvaultSecretStore ) getMaxResultsFromMetadata (metadata map [string ]string ) (* int32 , error ) {
0 commit comments