puppet-lint-hiera_functions-check 1.0.0
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 +7 -0
- data/LICENSE +28 -0
- data/README.md +62 -0
- data/lib/puppet-lint/plugins/hiera_functions.rb +75 -0
- data/spec/puppet-lint/plugins/check_hiera_functions_spec.rb +195 -0
- data/spec/spec_helper.rb +5 -0
- metadata +155 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2fd789c616e42ae4aeacb3f858b19c2f4f741ac6ad2f8521d800d4fa3d66be0b
|
4
|
+
data.tar.gz: 4ee89c18633c97cf151d7dba494e270be8e51858bb2b1e98f661955d2efaf87b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 31b75c0c6d1643c02de09ea34c5208014181728969f52265fde9ffb53ab4740df4b8adc21dac438151ec4fae418868267d600656948c58d098236762b95da935
|
7
|
+
data.tar.gz: b39eaaf4fe7c1024a525b3365de738dfc1c2ef471a446629dd8e828de3d5906b616bbf1566413199d7ccfc376fc101d11f5bd2f9f751781cc9d0fe4a19a484ab
|
data/LICENSE
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
BSD 3-Clause License
|
2
|
+
|
3
|
+
Copyright (c) 2024, Christopher Bowman
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
7
|
+
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
9
|
+
list of conditions and the following disclaimer.
|
10
|
+
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
13
|
+
and/or other materials provided with the distribution.
|
14
|
+
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
16
|
+
contributors may be used to endorse or promote products derived from
|
17
|
+
this software without specific prior written permission.
|
18
|
+
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
puppet-lint-hiera_functions-check
|
2
|
+
=================================
|
3
|
+
|
4
|
+
[](https://github.com/cbowman0/puppet-lint-hiera_functions-check/blob/master/LICENSE)
|
5
|
+
[](https://github.com/cbowman0/puppet-lint-hiera_functions-check/actions/workflows/ci.yaml)
|
6
|
+
[](https://rubygems.org/gems/puppet-lint-hiera_functions-check)
|
7
|
+
[](https://rubygems.org/gems/puppet-lint-hiera_functions-check)
|
8
|
+
|
9
|
+
A puppet-lint plugin to check for deprecated hiera() function usage
|
10
|
+
|
11
|
+
## Installing
|
12
|
+
|
13
|
+
### From the command line
|
14
|
+
|
15
|
+
```shell
|
16
|
+
$ gem install puppet-lint-hiera_functions-check
|
17
|
+
```
|
18
|
+
|
19
|
+
### In a Gemfile
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
gem 'puppet-lint-hiera_functions-check', :require => false
|
23
|
+
```
|
24
|
+
|
25
|
+
## Checks
|
26
|
+
|
27
|
+
### Hiera function used
|
28
|
+
|
29
|
+
Usage of the hiera() function is deprecated
|
30
|
+
|
31
|
+
#### What you have done
|
32
|
+
|
33
|
+
```puppet
|
34
|
+
$key = hiera('key')
|
35
|
+
$key = hiera_array('key')
|
36
|
+
$key = hiera_hash('key')
|
37
|
+
$key = hiera_include('key')
|
38
|
+
```
|
39
|
+
|
40
|
+
#### What you should have done
|
41
|
+
|
42
|
+
```puppet
|
43
|
+
$key = lookup('key')
|
44
|
+
$key = lookup('key', {merge => unique})
|
45
|
+
$key = lookup('key', {merge => hash})
|
46
|
+
$key = lookup('key', {merge => unique}).include
|
47
|
+
```
|
48
|
+
|
49
|
+
#### Disabling the check
|
50
|
+
|
51
|
+
To disable this check, you can add `--no-hiera_functions-check` to your puppet-lint command line.
|
52
|
+
|
53
|
+
```shell
|
54
|
+
$ puppet-lint --no-hiera_functions-check path/to/file.pp
|
55
|
+
```
|
56
|
+
|
57
|
+
Alternatively, if you’re calling puppet-lint via the Rake task, you should insert the following line to your `Rakefile`.
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
PuppetLint.configuration.send('disable_hiear_functions')
|
61
|
+
```
|
62
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Checks manifests for deprecated Hiera functions
|
4
|
+
# hiera(), hiera_arrya(), hiera_hash() and hiera_include()
|
5
|
+
#
|
6
|
+
# @see https://www.puppet.com/docs/puppet/8/hiera_migrate.html
|
7
|
+
#
|
8
|
+
PuppetLint.new_check(:hiera_functions) do
|
9
|
+
def check
|
10
|
+
# Get all the functions. The function_index in puppet-lint is supposed to do this,
|
11
|
+
# but it was always empty when I tried to use it
|
12
|
+
function_tokens = tokens.select { |token| token.type == :FUNCTION_NAME }
|
13
|
+
|
14
|
+
# Check each function for matching the hiera function list.
|
15
|
+
function_tokens.each do |function_token|
|
16
|
+
next unless function_token.value.match?(%r{^hiera(|_array|_hash|_include)$})
|
17
|
+
|
18
|
+
notify(
|
19
|
+
:warning,
|
20
|
+
message: "#{function_token.value} function is deprecated. Use lookup()",
|
21
|
+
line: function_token.line,
|
22
|
+
column: function_token.column,
|
23
|
+
token: function_token,
|
24
|
+
)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# Attempt the fix
|
29
|
+
#
|
30
|
+
# hiera('key') -> lookup('key')
|
31
|
+
# hiera_array('key') -> lookup('key', {merge => unique})
|
32
|
+
# hiera_hash('key') -> lookup('key', {merge => hash})
|
33
|
+
# hiera_include('key') -> lookup('key', {merge => unique}).include
|
34
|
+
#
|
35
|
+
def fix(problem)
|
36
|
+
case problem[:token].value
|
37
|
+
when 'hiera_array'
|
38
|
+
fix_hiera_with_merge(problem, 'unique')
|
39
|
+
when 'hiera_include'
|
40
|
+
fix_hiera_with_merge(problem, 'unique')
|
41
|
+
fix_hiera_append_include(problem)
|
42
|
+
when 'hiera_hash'
|
43
|
+
fix_hiera_with_merge(problem, 'hash')
|
44
|
+
end
|
45
|
+
|
46
|
+
# Always swap hiera() for lookup()
|
47
|
+
problem[:token].value = 'lookup'
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def fix_hiera_with_merge(problem, merge_type)
|
53
|
+
index = tokens.index(problem[:token].next_token_of(:LPAREN).next_token_of(:RPAREN))
|
54
|
+
|
55
|
+
# Add the necessary tokens to the end in reverse order, so the index doesn't change =)
|
56
|
+
add_token(index, PuppetLint::Lexer::Token.new(:RBRACE, '}', 0, 0))
|
57
|
+
add_token(index, PuppetLint::Lexer::Token.new(:NAME, merge_type, 0, 0))
|
58
|
+
add_token(index, PuppetLint::Lexer::Token.new(:WHITESPACE, ' ', 0, 0))
|
59
|
+
add_token(index, PuppetLint::Lexer::Token.new(:FARROW, '=>', 0, 0))
|
60
|
+
add_token(index, PuppetLint::Lexer::Token.new(:WHITESPACE, ' ', 0, 0))
|
61
|
+
add_token(index, PuppetLint::Lexer::Token.new(:NAME, 'merge', 0, 0))
|
62
|
+
add_token(index, PuppetLint::Lexer::Token.new(:LBRACE, '{', 0, 0))
|
63
|
+
add_token(index, PuppetLint::Lexer::Token.new(:WHITESPACE, ' ', 0, 0))
|
64
|
+
add_token(index, PuppetLint::Lexer::Token.new(:COMMA, ',', 0, 0))
|
65
|
+
end
|
66
|
+
|
67
|
+
def fix_hiera_append_include(problem)
|
68
|
+
# Get the index of the token _past_ the right paren
|
69
|
+
index = tokens.index(problem[:token].next_token_of(:LPAREN).next_token_of(:RPAREN)) + 1
|
70
|
+
|
71
|
+
# Add the tokens in reverse order so the index doesn't change
|
72
|
+
add_token(index, PuppetLint::Lexer::Token.new(:NAME, 'include', 0, 0))
|
73
|
+
add_token(index, PuppetLint::Lexer::Token.new(:DOT, '.', 0, 0))
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,195 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'hiera_functions' do
|
6
|
+
let(:msg) { 'function is deprecated. Use lookup()' }
|
7
|
+
|
8
|
+
context 'with fix disabled' do
|
9
|
+
context 'with hiera function' do
|
10
|
+
let(:code) do
|
11
|
+
<<-PP
|
12
|
+
class function_tester {
|
13
|
+
$test_key = hiera('test-key-name')
|
14
|
+
}
|
15
|
+
PP
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'detects a single problem' do
|
19
|
+
expect(problems.size).to eq(1)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'creates warnings' do
|
23
|
+
expect(problems).to contain_warning("hiera #{msg}").on_line(2).in_column(23)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'with hiera_array function' do
|
28
|
+
let(:code) do
|
29
|
+
<<-PP
|
30
|
+
class function_tester {
|
31
|
+
$test_key = hiera_array('test-key-name')
|
32
|
+
}
|
33
|
+
PP
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'detects a single problem' do
|
37
|
+
expect(problems.size).to eq(1)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'creates warnings' do
|
41
|
+
expect(problems).to contain_warning("hiera_array #{msg}").on_line(2).in_column(23)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'with hiera_hash function' do
|
46
|
+
let(:code) do
|
47
|
+
<<-PP
|
48
|
+
class function_tester {
|
49
|
+
$test_key = hiera_hash('test-key-name')
|
50
|
+
}
|
51
|
+
PP
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'detects a single problem' do
|
55
|
+
expect(problems.size).to eq(1)
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'creates warnings' do
|
59
|
+
expect(problems).to contain_warning("hiera_hash #{msg}").on_line(2).in_column(23)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'with hiera_include function' do
|
64
|
+
let(:code) do
|
65
|
+
<<-PP
|
66
|
+
class function_tester {
|
67
|
+
$test_key = hiera_include('test-key-name')
|
68
|
+
}
|
69
|
+
PP
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'detects a single problem' do
|
73
|
+
expect(problems.size).to eq(1)
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'creates warnings' do
|
77
|
+
expect(problems).to contain_warning("hiera_include #{msg}").on_line(2).in_column(23)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'with fix enabled' do
|
83
|
+
before(:each) do
|
84
|
+
PuppetLint.configuration.fix = true
|
85
|
+
end
|
86
|
+
|
87
|
+
after(:each) do
|
88
|
+
PuppetLint.configuration.fix = false
|
89
|
+
end
|
90
|
+
|
91
|
+
context 'with hiera function' do
|
92
|
+
let(:code) do
|
93
|
+
<<-PP
|
94
|
+
class function_tester {
|
95
|
+
$hiera = hiera('test-key-name')
|
96
|
+
}
|
97
|
+
PP
|
98
|
+
end
|
99
|
+
|
100
|
+
let(:fixed_code) do
|
101
|
+
<<-PP
|
102
|
+
class function_tester {
|
103
|
+
$hiera = lookup('test-key-name')
|
104
|
+
}
|
105
|
+
PP
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'detects a single problem' do
|
109
|
+
expect(problems).to contain_fixed("hiera #{msg}").on_line(2)
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'changes hiera to lookup' do
|
113
|
+
expect(manifest).to eq(fixed_code)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context 'with hiera_array function' do
|
118
|
+
let(:code) do
|
119
|
+
<<-PP
|
120
|
+
class function_tester {
|
121
|
+
$test_key = hiera_array('test-key-name')
|
122
|
+
}
|
123
|
+
PP
|
124
|
+
end
|
125
|
+
|
126
|
+
let(:fixed_code) do
|
127
|
+
<<-PP
|
128
|
+
class function_tester {
|
129
|
+
$test_key = lookup('test-key-name', {merge => unique})
|
130
|
+
}
|
131
|
+
PP
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'detects a single problem' do
|
135
|
+
expect(problems).to contain_fixed("hiera_array #{msg}").on_line(2)
|
136
|
+
end
|
137
|
+
|
138
|
+
it 'changes hiera to lookup' do
|
139
|
+
expect(manifest).to eq(fixed_code)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
context 'with hiera_hash function' do
|
144
|
+
let(:code) do
|
145
|
+
<<-PP
|
146
|
+
class function_tester {
|
147
|
+
$test_key = hiera_hash('test-key-name')
|
148
|
+
}
|
149
|
+
PP
|
150
|
+
end
|
151
|
+
|
152
|
+
let(:fixed_code) do
|
153
|
+
<<-PP
|
154
|
+
class function_tester {
|
155
|
+
$test_key = lookup('test-key-name', {merge => hash})
|
156
|
+
}
|
157
|
+
PP
|
158
|
+
end
|
159
|
+
|
160
|
+
it 'detects a single problem' do
|
161
|
+
expect(problems).to contain_fixed("hiera_hash #{msg}").on_line(2)
|
162
|
+
end
|
163
|
+
|
164
|
+
it 'changes hiera to lookup' do
|
165
|
+
expect(manifest).to eq(fixed_code)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
context 'with hiera_include function' do
|
170
|
+
let(:code) do
|
171
|
+
<<-PP
|
172
|
+
class function_tester {
|
173
|
+
$test_key = hiera_include('test-key-name')
|
174
|
+
}
|
175
|
+
PP
|
176
|
+
end
|
177
|
+
|
178
|
+
let(:fixed_code) do
|
179
|
+
<<-PP
|
180
|
+
class function_tester {
|
181
|
+
$test_key = lookup('test-key-name', {merge => unique}).include
|
182
|
+
}
|
183
|
+
PP
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'detects a single problem' do
|
187
|
+
expect(problems).to contain_fixed("hiera_include #{msg}").on_line(2)
|
188
|
+
end
|
189
|
+
|
190
|
+
it 'changes hiera to lookup' do
|
191
|
+
expect(manifest).to eq(fixed_code)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: puppet-lint-hiera_functions-check
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Christopher Bowman
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-11-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: puppet-lint
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '13.0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '13.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rspec
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rspec-collection_matchers
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rspec-its
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '2.0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '2.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec-json_expectations
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '2.2'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '2.2'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: voxpupuli-rubocop
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '3.0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '3.0'
|
117
|
+
description: |2
|
118
|
+
A puppet-lint plugin to check for deprecated hieras function usage.
|
119
|
+
|
120
|
+
The legacy Hiera functions (hiera, hiera_array, hiera_hash, and hiera_include) should be replaced with lookup()
|
121
|
+
email: cbowman0@gmail.com
|
122
|
+
executables: []
|
123
|
+
extensions: []
|
124
|
+
extra_rdoc_files: []
|
125
|
+
files:
|
126
|
+
- LICENSE
|
127
|
+
- README.md
|
128
|
+
- lib/puppet-lint/plugins/hiera_functions.rb
|
129
|
+
- spec/puppet-lint/plugins/check_hiera_functions_spec.rb
|
130
|
+
- spec/spec_helper.rb
|
131
|
+
homepage: https://github.com/cbowman0/puppet-lint-hiera_functions-check
|
132
|
+
licenses:
|
133
|
+
- MIT
|
134
|
+
metadata:
|
135
|
+
rubygems_mfa_required: 'true'
|
136
|
+
post_install_message:
|
137
|
+
rdoc_options: []
|
138
|
+
require_paths:
|
139
|
+
- lib
|
140
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 3.0.0
|
145
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
requirements: []
|
151
|
+
rubygems_version: 3.5.22
|
152
|
+
signing_key:
|
153
|
+
specification_version: 4
|
154
|
+
summary: A puppet-lint plugin to check for deprecated hiera functions usage.
|
155
|
+
test_files: []
|