knowledge-ssm 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/knowledge-ssm.gemspec +1 -1
- data/lib/knowledge/adapters/ssm.rb +43 -7
- data/lib/knowledge/ssm/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a247ac1c241b6a540326bc19cbd52b4a1c792813aa3c437eb0d573309f94bac1
|
4
|
+
data.tar.gz: 5d0df0fdd47591028b44bf6b3a144f06215a493ca35022a82f120a02cb9ef3da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65e98af286c1cf76e622becddedddb07e893f45abebbade4b80831cf8b1e3fac9432defd3cd9cc08fb5217bd537655bfa253038424b9eccc0a2b0e984e0d5f9f
|
7
|
+
data.tar.gz: c6a7e1e0ef9d441f41827df2da61bbf295b8338c8b23b70b560fd8a7aef47179b09010ebaf10885eb7c334345581175794ef5a09480e3359a19f6f3b470acc3a
|
data/knowledge-ssm.gemspec
CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
37
37
|
spec.require_paths = ['lib']
|
38
38
|
|
39
|
-
spec.add_dependency 'knowledge', '
|
39
|
+
spec.add_dependency 'knowledge', '>= 0.1.3'
|
40
40
|
|
41
41
|
spec.add_development_dependency 'aws-sdk-ssm', '~> 1'
|
42
42
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
@@ -30,7 +30,7 @@ module Knowledge
|
|
30
30
|
#
|
31
31
|
class Ssm < Base
|
32
32
|
# == Attributes ==================================================================================================
|
33
|
-
|
33
|
+
|
34
34
|
# Defines whether we should raise an error on param not found or not
|
35
35
|
attr_reader :raise_not_found
|
36
36
|
|
@@ -41,7 +41,7 @@ module Knowledge
|
|
41
41
|
attr_reader :ssm_parameters
|
42
42
|
|
43
43
|
# == Constructor =================================================================================================
|
44
|
-
|
44
|
+
|
45
45
|
#
|
46
46
|
# @param [Hash] :params
|
47
47
|
# @option params [Aws::SSM::Client] :client
|
@@ -66,7 +66,6 @@ module Knowledge
|
|
66
66
|
#
|
67
67
|
def run
|
68
68
|
variables.each do |name, (path, default_value)|
|
69
|
-
base_path = root_path[0..-2] if root_path&.end_with?('/')
|
70
69
|
path = "/#{path.sub('/', '')}"
|
71
70
|
value = Array(@ssm_parameters).detect { |p| p.name == "#{base_path}#{path}" }&.value
|
72
71
|
|
@@ -76,6 +75,43 @@ module Knowledge
|
|
76
75
|
|
77
76
|
protected
|
78
77
|
|
78
|
+
#
|
79
|
+
# Memoized, well formatted base path
|
80
|
+
#
|
81
|
+
# === Parameters
|
82
|
+
#
|
83
|
+
# @return [String]
|
84
|
+
#
|
85
|
+
def base_path
|
86
|
+
@base_path ||= root_path[0..-2] if root_path&.end_with?('/')
|
87
|
+
end
|
88
|
+
|
89
|
+
#
|
90
|
+
# Checks if a value is nil or empty
|
91
|
+
#
|
92
|
+
# === Parameters
|
93
|
+
#
|
94
|
+
# @param [Any] value
|
95
|
+
#
|
96
|
+
# @return [Boolean]
|
97
|
+
#
|
98
|
+
def blank?(value)
|
99
|
+
value.nil? || (value.respond_to?(:empty?) && value.empty?)
|
100
|
+
end
|
101
|
+
|
102
|
+
#
|
103
|
+
# Checks if a value is a boolean value
|
104
|
+
#
|
105
|
+
# === Parameters
|
106
|
+
#
|
107
|
+
# @param [Any] value
|
108
|
+
#
|
109
|
+
# @return [Boolean]
|
110
|
+
#
|
111
|
+
def boolean?(value)
|
112
|
+
value == !!value # rubocop:disable Style/DoubleNegation
|
113
|
+
end
|
114
|
+
|
79
115
|
#
|
80
116
|
# Credentials for AWS should be loaded from the ENV vars by the client itself.
|
81
117
|
# Authorization is done automatically according to the current AWS policies.
|
@@ -108,13 +144,13 @@ module Knowledge
|
|
108
144
|
return initial_value if default_value.nil?
|
109
145
|
|
110
146
|
# If boolean value
|
111
|
-
return initial_value if initial_value
|
147
|
+
return initial_value if boolean?(initial_value)
|
112
148
|
|
113
149
|
# If number
|
114
|
-
return initial_value if initial_value.
|
115
|
-
|
150
|
+
return initial_value if initial_value.is_a?(Numeric)
|
151
|
+
|
116
152
|
# If initial value nil or empty
|
117
|
-
return default_value if
|
153
|
+
return default_value if blank?(initial_value)
|
118
154
|
|
119
155
|
initial_value
|
120
156
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knowledge-ssm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johann Wilfrid-Calixte
|
@@ -14,16 +14,16 @@ dependencies:
|
|
14
14
|
name: knowledge
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.1.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.1.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: aws-sdk-ssm
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|