public static IConfigurationBuilder AddHashicorpVault(
            this IConfigurationBuilder configurationBuilder, IVaultClient client, KVVersion version, params string[] secretPaths)
        {
            if (configurationBuilder == null)
            {
                throw new ArgumentNullException(nameof(configurationBuilder));
            }
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (secretPaths == null)
            {
                throw new ArgumentNullException(nameof(secretPaths));
            }

            configurationBuilder.Add(new HashicorpVaultSource()
            {
                Client      = client,
                Version     = version,
                SecretPaths = secretPaths,
            });

            return(configurationBuilder);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="HashicorpVaultProvider" /> class.
 /// </summary>
 /// <param name="client">The vault client used to pull secrets.</param>
 /// <param name="version">The KV version you would like to pull secrets from.</param>
 /// <param name="secretPaths">The secret paths you would like to pull secrets from.</param>
 public HashicorpVaultProvider(IVaultClient client, KVVersion version, IEnumerable <string> secretPaths)
 {
     this.client      = client;
     this.version     = version;
     this.secretPaths = secretPaths;
 }