puppet-runner 0.0.26 → 0.0.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/puppet-runner +15 -5
- data/puppet-runner.gemspec +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0f8efcfb59ec97544f71bd48cef975038d26309d
|
4
|
+
data.tar.gz: c79062ae1be29f79cde741a014b8a66997ed1504
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9968eaf857daa85f81af9cd69bd76095a0845888787af4298383e6ed466d91c75d6d7e6e499ac56360d5d181d0daf8a0e121d9d8cafa7735b27b5c4d7f38eacd
|
7
|
+
data.tar.gz: c3d6892856cda4d15562deac8c53396694472185b8c2d17bdb9b8ea8a87c74026ffc28aa4546d679ffad2467826d398edb89fb557d948e497db010123177c7b7
|
data/bin/puppet-runner
CHANGED
@@ -118,7 +118,7 @@ def extract_type_from_hash(input)
|
|
118
118
|
end
|
119
119
|
|
120
120
|
# function to resolve inter fact references, it should return the last fact name (not value)
|
121
|
-
def resolve_fact(fact_name, max_depth=5, current_depth=0)
|
121
|
+
def resolve_fact(fact_name, max_depth=5, current_depth=0, return_fact_value=false)
|
122
122
|
final_val = nil
|
123
123
|
fact_name = fact_name.sub(/%{::/,'').sub(/}/,'')
|
124
124
|
if max_depth == current_depth
|
@@ -132,7 +132,8 @@ def resolve_fact(fact_name, max_depth=5, current_depth=0)
|
|
132
132
|
elsif val.instance_of?(String) and val.match(/%{::.*.}/)
|
133
133
|
val = resolve_fact(val,max_depth, current_depth + 1)
|
134
134
|
else
|
135
|
-
|
135
|
+
# if we have not been told to return the fact value, then return the fact key, else the value wil be returned
|
136
|
+
val = "%{::#{fact_name}}" if return_fact_value == false
|
136
137
|
end
|
137
138
|
final_val = val
|
138
139
|
end
|
@@ -333,8 +334,17 @@ if options['all'] || options['prepare']
|
|
333
334
|
# find each instance of a fact within the value (it may contain multiple facts
|
334
335
|
# i.e "TEST%{::fact1}TEST%{::fact2}"
|
335
336
|
fact_val.gsub(/}/,"}\n").scan(/%{::.*.}/).each do | fact |
|
336
|
-
#
|
337
|
-
|
337
|
+
# if the fact is part of a larger string set a flag to tell resolve_fact
|
338
|
+
# to return the final fact value instead of the finalfact key!
|
339
|
+
if fact.length != fact_val.length
|
340
|
+
return_fact_value = true
|
341
|
+
else
|
342
|
+
return_fact_value = false
|
343
|
+
end
|
344
|
+
|
345
|
+
# resolve the fact down to its last reference to another fact (not the end value) if return_fact_value is false
|
346
|
+
# or down to the end value if return_fact_value is true
|
347
|
+
resolved_fact = resolve_fact(fact, 5, 0, return_fact_value)
|
338
348
|
# if the resolved fact name is not the same as the original fact we found referenced
|
339
349
|
# then replace the value in fact_val
|
340
350
|
if !resolved_fact.nil? and resolved_fact != fact
|
@@ -344,7 +354,7 @@ if options['all'] || options['prepare']
|
|
344
354
|
debug "Attempting to replace fact '#{fact_key}' with value '#{fact_val}' in compiled template"
|
345
355
|
# replace the original fact reference in the template with the resovled value
|
346
356
|
# this is done before global teansformation as they may change the final value again
|
347
|
-
result_template = result_template.gsub(
|
357
|
+
result_template = result_template.gsub(/\%{::#{fact_key}}/, "#{fact_val}")
|
348
358
|
end
|
349
359
|
end
|
350
360
|
|
data/puppet-runner.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "puppet-runner"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.27"
|
8
8
|
spec.authors = ["Martin Brehovsky", "Matthew Hope"]
|
9
9
|
spec.email = ["mbrehovsky@adaptavist.com"]
|
10
10
|
spec.summary = %q{Preprocessor for hiera config}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Brehovsky
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-02-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -172,7 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
174
|
requirements: []
|
175
|
-
|
175
|
+
rubyforge_project:
|
176
|
+
rubygems_version: 2.6.8
|
176
177
|
signing_key:
|
177
178
|
specification_version: 4
|
178
179
|
summary: Preprocessor for hiera config
|