class Chef::SecretFetcher::AWSSecretsManager

Public Instance Methods

do_fetch(identifier, version) click to toggle source

@param identifier [String] the secret_id @param version [String] the secret version. @return Aws::SecretsManager::Types::GetSecretValueResponse

# File lib/chef/secret_fetcher/aws_secrets_manager.rb, line 57
def do_fetch(identifier, version)
  client = Aws::SecretsManager::Client.new(config)
  result = client.get_secret_value(secret_id: identifier, version_stage: version)
  # These fields are mutually exclusive
  result.secret_string || result.secret_binary
end
validate!() click to toggle source
# File lib/chef/secret_fetcher/aws_secrets_manager.rb, line 47
def validate!
  config[:region] = config[:region] || Aws.config[:region] || run_context.node.dig("ec2", "region")
  if config[:region].nil?
    raise Chef::Exceptions::Secret::ConfigurationInvalid.new("Missing required config for AWS secret fetcher: :region")
  end
end