Skip to content

Commit f1f8e1a

Browse files
Merge pull request #56 from twsouthwick/skip-name-check
Do not throw exception in KeyVault for empty uri and vaultName when optional
2 parents fe2a6b4 + 201f44e commit f1f8e1a

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

src/Azure/AzureKeyVaultConfigBuilder.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ namespace Microsoft.Configuration.ConfigurationBuilders
2020
/// </summary>
2121
public class AzureKeyVaultConfigBuilder : KeyValueConfigBuilder
2222
{
23-
#pragma warning disable CS1591 // No xml comments for tag literals.
23+
#pragma warning disable CS1591 // No xml comments for tag literals.
2424
public const string vaultNameTag = "vaultName";
2525
public const string connectionStringTag = "connectionString";
2626
public const string uriTag = "uri";
2727
public const string versionTag = "version";
2828
public const string preloadTag = "preloadSecretNames";
29-
#pragma warning restore CS1591 // No xml comments for tag literals.
29+
#pragma warning restore CS1591 // No xml comments for tag literals.
3030

3131
private string _vaultName;
3232
private string _connectionString;
@@ -62,9 +62,18 @@ protected override void LazyInitialize(string name, NameValueCollection config)
6262
if (String.IsNullOrWhiteSpace(_uri))
6363
{
6464
if (String.IsNullOrWhiteSpace(_vaultName))
65+
{
66+
if (Optional)
67+
{
68+
return;
69+
}
70+
6571
throw new ArgumentException($"Vault must be specified by name or URI using the '{vaultNameTag}' or '{uriTag}' attribute.");
72+
}
6673
else
74+
{
6775
_uri = $"https://{_vaultName}.vault.azure.net";
76+
}
6877
}
6978
_uri = _uri.TrimEnd(new char[] { '/' });
7079

@@ -84,7 +93,8 @@ protected override void LazyInitialize(string name, NameValueCollection config)
8493
_kvClient = null;
8594
}
8695

87-
if (_preload) {
96+
if (_preload)
97+
{
8898
_allKeys = GetAllKeys();
8999
}
90100
}
@@ -175,7 +185,9 @@ private async Task<SecretBundle> GetValueAsync(string key)
175185

176186
SecretBundle secret = await _kvClient.GetSecretAsync(_uri, vKey.Key);
177187
return secret;
178-
} catch (KeyVaultErrorException kve) {
188+
}
189+
catch (KeyVaultErrorException kve)
190+
{
179191
// Simply return null if the secret wasn't found
180192
if (kve.Body.Error.Code == "SecretNotFound" || kve.Body.Error.Code == "BadParameter")
181193
return null;

0 commit comments

Comments
 (0)