class Lyra::Client

Public Class Methods

new(config: Lyra::ClientConfig) click to toggle source
# File lib/lyra/client.rb, line 6
def initialize(config: Lyra::ClientConfig)
  @config = config
  credentials = Aws::Credentials.new(@config.access_key_id, @config.secret_access_key)
  @client = Aws::SecretsManager::Client.new(credentials: credentials, region: @config.aws_region)
end

Public Instance Methods

fetch_secret(secret_name: String) click to toggle source
# File lib/lyra/client.rb, line 12
def fetch_secret(secret_name: String)
  response = @client.get_secret_value({
    secret_id: make_secret_name(from: secret_name)
  })

  response.secret_string
end

Private Instance Methods

make_secret_name(from: String) click to toggle source
# File lib/lyra/client.rb, line 22
def make_secret_name(from: String)
  environment_prefix = ''
  environment_prefix = "#{@config.environment}/" unless @config.environment.nil? || @config.environment.empty?
  "#{environment_prefix}#{from}"
end