smps 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/bin/smps-use-ec2.rb +2 -2
- data/bin/smps-use.rb +22 -3
- data/changelog.md +5 -0
- data/lib/smps.rb +25 -0
- data/lib/smps/parameter.rb +25 -10
- data/lib/smps/version.rb +1 -1
- data/smps.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04e50be45d76d8a48727fee5d8fb76356c27353b
|
4
|
+
data.tar.gz: 894396de27a5b150d03c70e66591bdfc0503a3aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4db415f4e8ee2f1fccc6dd812324d2511af5d4e282657fc66f27767b858be75dcf53794e956abb90c313f9db391a1dfc67c306afe0a91e44a0424b61b2081bd0
|
7
|
+
data.tar.gz: 69136335cbe42f919d13601019d1c1df6bf733ad9f371d5032b682be0bb74729b0d6ba2b727845db0643d9b405dae15ecc0a1d4fde405d5d5e841e1ebb92d791
|
data/.gitignore
CHANGED
data/bin/smps-use-ec2.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'smps'
|
4
4
|
|
5
5
|
smps = SmPs.new
|
6
|
-
param_abc = smps.parameter('abc')
|
6
|
+
param_abc = smps.parameter(name: 'abc')
|
7
7
|
puts param_abc.to_s
|
8
8
|
|
9
9
|
param_abc.write!('xyz')
|
@@ -12,5 +12,5 @@ puts param_abc.to_s
|
|
12
12
|
param_abc.write!('Another value.')
|
13
13
|
puts param_abc.to_s
|
14
14
|
|
15
|
-
param_z = smps.parameter('/Zipkid/test1')
|
15
|
+
param_z = smps.parameter(name: '/Zipkid/test1')
|
16
16
|
puts param_z.to_s
|
data/bin/smps-use.rb
CHANGED
@@ -4,7 +4,7 @@ require 'awssession'
|
|
4
4
|
require 'smps'
|
5
5
|
|
6
6
|
require 'aws_config'
|
7
|
-
require '
|
7
|
+
require 'awesome_print'
|
8
8
|
|
9
9
|
profile_name = ARGV[0]
|
10
10
|
profile = AWSConfig[profile_name]
|
@@ -14,12 +14,31 @@ awssession = AwsSession.new(profile: profile)
|
|
14
14
|
awssession.start
|
15
15
|
|
16
16
|
smps = SmPs.new(credentials: awssession.credentials)
|
17
|
+
|
18
|
+
puts '1'
|
19
|
+
pl = smps.parameters_by_path(path: '/aem/dev/aem--author/packages')
|
20
|
+
puts '2'
|
21
|
+
# ap pl
|
22
|
+
pl.each do |p|
|
23
|
+
puts ' ---- '
|
24
|
+
ap p
|
25
|
+
puts p.name
|
26
|
+
ap p.value
|
27
|
+
end
|
28
|
+
|
29
|
+
# exit
|
30
|
+
|
17
31
|
# param = smps.parameter(name: 'abc')
|
18
|
-
param_abc = smps.parameter('abc')
|
32
|
+
param_abc = smps.parameter(name: 'abc')
|
19
33
|
puts param_abc.to_s
|
20
34
|
# puts "#{param_abc}"
|
35
|
+
|
21
36
|
param_abc.write!('xyz')
|
22
37
|
puts param_abc.to_s
|
38
|
+
# OR
|
39
|
+
param_abc.value = 'def'
|
40
|
+
param_abc.write!
|
41
|
+
puts param_abc.to_s
|
23
42
|
|
24
|
-
param_z = smps.parameter('/Zipkid/test1')
|
43
|
+
param_z = smps.parameter(name: '/Zipkid/test1')
|
25
44
|
puts param_z.to_s
|
data/changelog.md
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
Version format based on http://semver.org/
|
5
|
+
|
4
6
|
## [Unreleased]
|
7
|
+
## [0.3.0] - 2017-10-13
|
8
|
+
### Added
|
9
|
+
- parameters_by_path method
|
5
10
|
|
6
11
|
## [0.2.3] - 2017-10-06
|
7
12
|
### Changed
|
data/lib/smps.rb
CHANGED
@@ -30,6 +30,31 @@ class SmPs
|
|
30
30
|
@parameters[name]
|
31
31
|
end
|
32
32
|
|
33
|
+
def parameters_by_path(options)
|
34
|
+
path = options.fetch(:path)
|
35
|
+
recursive = options[:recursive]
|
36
|
+
decrypt = options[:decrypt] || true
|
37
|
+
params = ssm_client.get_parameters_by_path(
|
38
|
+
path: path,
|
39
|
+
recursive: recursive,
|
40
|
+
with_decryption: decrypt
|
41
|
+
)
|
42
|
+
store_parameters params
|
43
|
+
end
|
44
|
+
|
45
|
+
def store_parameters(params)
|
46
|
+
return if params.nil?
|
47
|
+
list = []
|
48
|
+
params.parameters.each do |parameter|
|
49
|
+
@parameters[parameter.name] = SmPs::Parameter.new(
|
50
|
+
ssm: ssm_client, fetch: false,
|
51
|
+
name: parameter.name, value: parameter.value, type: parameter.type
|
52
|
+
)
|
53
|
+
list << @parameters[parameter.name]
|
54
|
+
end
|
55
|
+
list
|
56
|
+
end
|
57
|
+
|
33
58
|
# def info
|
34
59
|
# describe_parameters
|
35
60
|
# end
|
data/lib/smps/parameter.rb
CHANGED
@@ -2,18 +2,23 @@
|
|
2
2
|
class SmPs
|
3
3
|
# SmPs Parameter management
|
4
4
|
class Parameter
|
5
|
+
attr_accessor :name, :type, :key_id, :decrypt, :description
|
6
|
+
|
5
7
|
def initialize(options)
|
6
8
|
@ssm = options[:ssm]
|
7
9
|
@name = options[:name]
|
10
|
+
@value = options[:value]
|
8
11
|
@type = options[:type]
|
9
12
|
@key_id = options[:key_id]
|
10
|
-
|
13
|
+
@decrypt = options[:decrypt]
|
14
|
+
fetch = options[:fetch]
|
15
|
+
fetch = true if options[:fetch].nil?
|
16
|
+
parameter if fetch
|
11
17
|
end
|
12
18
|
|
13
|
-
def parameter
|
19
|
+
def parameter
|
14
20
|
resp = @ssm.get_parameter(
|
15
|
-
name: @name,
|
16
|
-
with_decryption: decrypt
|
21
|
+
name: @name, with_decryption: @decrypt
|
17
22
|
)
|
18
23
|
@type = resp.parameter.type
|
19
24
|
@value = resp.parameter.value
|
@@ -26,19 +31,29 @@ class SmPs
|
|
26
31
|
@value
|
27
32
|
end
|
28
33
|
|
34
|
+
def value
|
35
|
+
return @value.split(',') if @type == 'StringList'
|
36
|
+
@value
|
37
|
+
end
|
38
|
+
|
39
|
+
def value=(value)
|
40
|
+
@changed = true if value != @value
|
41
|
+
@value = value
|
42
|
+
end
|
43
|
+
|
29
44
|
def exists?
|
30
45
|
@exists
|
31
46
|
end
|
32
47
|
|
33
|
-
def write!(value
|
34
|
-
|
48
|
+
def write!(value = nil)
|
49
|
+
@changed = true if value != @value
|
50
|
+
@value = value if value
|
35
51
|
@ssm.put_parameter(
|
36
|
-
name: @name, value: value,
|
37
|
-
description: description,
|
38
|
-
key_id: @key_id, overwrite: @exists,
|
52
|
+
name: @name, value: @value, type: @type,
|
53
|
+
description: @description, key_id: @key_id, overwrite: @exists,
|
39
54
|
# allowed_pattern: "AllowedPattern",
|
40
55
|
)
|
41
|
-
@value
|
56
|
+
@value
|
42
57
|
end
|
43
58
|
|
44
59
|
def history
|
data/lib/smps/version.rb
CHANGED
data/smps.gemspec
CHANGED
@@ -35,6 +35,7 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
36
36
|
spec.add_development_dependency 'aws_config'
|
37
37
|
spec.add_development_dependency 'awssession'
|
38
|
+
spec.add_development_dependency 'awesome_print'
|
38
39
|
|
39
40
|
spec.add_runtime_dependency 'aws-sdk-core', '~> 3.0'
|
40
41
|
spec.add_runtime_dependency 'aws-sdk-ssm', '~> 1.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan - Zipkid - Goethals
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: awesome_print
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: aws-sdk-core
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|