Class: Ssmenv::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/ssmenv/cli.rb

Instance Method Summary collapse

Instance Method Details

#pull(*args) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/ssmenv/cli.rb', line 17

def pull(*args)
  File.open(options.env_file, 'w') do |f|
    parameters.each do |key, value|
      f.puts "#{key}=\"#{value.gsub("\n", '\n')}\""
    end
  end

  exec(*args)
end

#pushObject



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/ssmenv/cli.rb', line 28

def push
  secrets = Dotenv::Parser.call(File.read(options.env_file))

  secrets.each do |name, value|
    next if parameters[name] == value

    resp = client.put_parameter(name: "#{path}/#{name}", value: value, type: 'SecureString', overwrite: true)
    say "Updated #{name}: v#{resp.version}"
  end

end