Class: SmPs::Parameter

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

Overview

SmPs Parameter management

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Parameter

Returns a new instance of Parameter.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/smps/parameter.rb', line 7

def initialize(options)
  @ssm = options[:ssm]
  @name = options[:name]
  @value = options[:value]
  @type = options[:type]
  @key_id = options[:key_id]
  @decrypt = options[:decrypt] || true
  fetch = options[:fetch]
  fetch = true if options[:fetch].nil?
  parameter if fetch
end

Instance Attribute Details

#decryptObject

Returns the value of attribute decrypt.



5
6
7
# File 'lib/smps/parameter.rb', line 5

def decrypt
  @decrypt
end

#descriptionObject

Returns the value of attribute description.



5
6
7
# File 'lib/smps/parameter.rb', line 5

def description
  @description
end

#key_idObject

Returns the value of attribute key_id.



5
6
7
# File 'lib/smps/parameter.rb', line 5

def key_id
  @key_id
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/smps/parameter.rb', line 5

def name
  @name
end

#typeObject

Returns the value of attribute type.



5
6
7
# File 'lib/smps/parameter.rb', line 5

def type
  @type
end

Instance Method Details

#exists?Boolean

Returns:

  • (Boolean)


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

def exists?
  @exists
end

#historyObject



59
60
61
# File 'lib/smps/parameter.rb', line 59

def history
  # get_parameter_history
end

#parameterObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/smps/parameter.rb', line 19

def parameter
  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



63
64
65
66
# File 'lib/smps/parameter.rb', line 63

def tag
  # add_tags_to_resource
  # remove_tags_from_resource
end

#to_sObject



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

def to_s
  @value
end

#valueObject



34
35
36
37
# File 'lib/smps/parameter.rb', line 34

def value
  return @value.split(',') if @type == 'StringList'
  @value
end

#value=(value) ⇒ Object



39
40
41
42
# File 'lib/smps/parameter.rb', line 39

def value=(value)
  @changed = true if value != @value
  @value = value
end

#write!(value = nil) ⇒ Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/smps/parameter.rb', line 48

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