Class: SmPs

Inherits:
Object
  • Object
show all
Defined in:
lib/smps.rb,
lib/smps/version.rb,
lib/smps/parameter.rb

Overview

SmPs class queries and writes Paramstore parameters

Defined Under Namespace

Classes: Parameter

Constant Summary collapse

VERSION =
'0.2.2'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ SmPs

Returns a new instance of SmPs.



7
8
9
10
# File 'lib/smps.rb', line 7

def initialize(options = {})
  @credentials = options[:credentials]
  @parameters = {}
end

Instance Method Details

#parameter(options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/smps.rb', line 20

def parameter(options)
  name = options.fetch(:name)
  type = options[:type]
  key_id = options[:key_id]
  unless @parameters.key?(name)
    @parameters[name] = SmPs::Parameter.new(
      ssm: ssm_client,
      name: name, type: type, key_id: key_id
    )
  end
  @parameters[name]
end

#ssm_clientObject



12
13
14
15
16
17
18
# File 'lib/smps.rb', line 12

def ssm_client
  @ssm || @ssm = if @credentials.nil?
                   Aws::SSM::Client.new
                 else
                   Aws::SSM::Client.new(credentials: @credentials)
                 end
end