private static IDictionary <string, string> InjectSecrets(NuGet.Services.KeyVault.ISecretReaderFactory secretReaderFactory, Dictionary <string, string> argsDictionary) { var secretReader = secretReaderFactory.CreateSecretReader(); if (secretReader == null) { throw new ApplicationException("Could not create a secret reader. Please check your configuration."); } var secretInjector = secretReaderFactory.CreateSecretInjector(secretReader); return(InjectSecrets(secretInjector, argsDictionary)); }
/// <summary> /// Parses the string[] of <c>args</c> passed into the job into a dictionary of string, string. /// Expects the string[] to be set of pairs of argumentName and argumentValue, where, argumentName start with a hyphen /// </summary> /// <param name="logger">Logger to use for internal logging</param> /// <param name="commandLineArgs">Arguments passed to the job via commandline or environment variable settings</param> /// <param name="jobName">Jobname to be used to infer environment variable settings</param> /// <param name="secretReaderFactory">Creates a secret reader.</param> /// <returns>Returns a dictionary of arguments</returns> public static IDictionary <string, string> GetJobArgsDictionary(ILogger logger, string[] commandLineArgs, string jobName, NuGet.Services.KeyVault.ISecretReaderFactory secretReaderFactory) { if (secretReaderFactory == null) { throw new ArgumentNullException(nameof(secretReaderFactory)); } Dictionary <string, string> argsDictionary = ReadCommandLineArguments(logger, commandLineArgs); return(InjectSecrets(secretReaderFactory, argsDictionary)); }