in src/Amazon.AspNetCore.DataProtection.SSM/SSMXmlRepository.cs [68:89]
public SSMXmlRepository(IAmazonSimpleSystemsManagement ssmClient, string parameterNamePrefix, PersistOptions options = null, ILoggerFactory loggerFactory = null)
{
_ssmClient = ssmClient ?? throw new ArgumentNullException(nameof(ssmClient));
_parameterNamePrefix = parameterNamePrefix ?? throw new ArgumentNullException(nameof(parameterNamePrefix));
_options = options ?? new PersistOptions();
AddUserAgentHandlerToClient(_ssmClient);
if (loggerFactory != null)
{
_logger = loggerFactory?.CreateLogger<SSMXmlRepository>();
}
else
{
_logger = NullLoggerFactory.Instance.CreateLogger<SSMXmlRepository>();
}
// make sure _parameterNamePrefix is bookended with '/' characters
_parameterNamePrefix = '/' + _parameterNamePrefix.Trim('/') + '/';
_logger.LogInformation("Using SSM Parameter Store to persist DataProtection keys with parameter name prefix {ParameterNamePrefix}", _parameterNamePrefix);
}