Class: SmPs::Parameter

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

Overview

SmPs Parameter management

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Parameter

Returns a new instance of Parameter.



5
6
7
8
9
10
11
# File 'lib/smps/parameter.rb', line 5

def initialize(options)
  @ssm = options[:ssm]
  @name = options[:name]
  @type = options[:type]
  @key_id = options[:key_id]
  parameter
end

Instance Method Details

#exists?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/smps/parameter.rb', line 29

def exists?
  @exists
end

#historyObject



44
45
46
# File 'lib/smps/parameter.rb', line 44

def history
  # get_parameter_history
end

#parameter(decrypt = true) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/smps/parameter.rb', line 13

def parameter(decrypt = true)
  resp = @ssm.get_parameter(
    name: @name,
    with_decryption: decrypt
  )
  @type = resp.parameter.type
  @value = resp.parameter.value
  @exists = true
rescue Aws::SSM::Errors::ParameterNotFound
  @exists = false
end

#tagObject



48
49
50
51
# File 'lib/smps/parameter.rb', line 48

def tag
  # add_tags_to_resource
  # remove_tags_from_resource
end

#to_sObject



25
26
27
# File 'lib/smps/parameter.rb', line 25

def to_s
  @value
end

#write!(value, description = nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/smps/parameter.rb', line 33

def write!(value, description = nil)
  return true if value == @value
  @ssm.put_parameter(
    name: @name, value: value,
    description: description, type: @type,
    key_id: @key_id, overwrite: @exists,
    # allowed_pattern: "AllowedPattern",
  )
  @value = value
end