puppet-resource_api 1.4.1 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +5 -5
- data/lib/puppet/resource_api.rb +24 -6
- data/lib/puppet/resource_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 105c2d9cb6636fc3d70e1250bf84e4a56392199aadbfcb3be58471282f9f9c36
|
4
|
+
data.tar.gz: 1ce5d86677e93beb2375fd83c7e1eb95b4b3132cf001b6cf2534135244c53e84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 057617a9cdde0351dcee064dfaba1cd439c60dd6112feea96b5045febb80248ce9bcc96fb9d0ba893021efafc275f5ded07e29ed6ff61f9d4df7965f4586e378
|
7
|
+
data.tar.gz: 4640b315d89e61001df0e41f304547c686e1317e4428dd102a9232bf46c930f2eb5b3f3508880372d70474e8235f014e363d0a9928bdaf28af01a343927081dc
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,18 @@
|
|
3
3
|
All significant changes to this repo will be summarized in this file.
|
4
4
|
|
5
5
|
|
6
|
+
## [v1.4.2](https://github.com/puppetlabs/puppet-resource_api/tree/v1.4.2) (2018-08-09)
|
7
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-resource_api/compare/v1.4.1...v1.4.2)
|
8
|
+
|
9
|
+
**Fixed bugs:**
|
10
|
+
|
11
|
+
- Allow an attribute with default boolean value to be set correctly [\#110](https://github.com/puppetlabs/puppet-resource_api/pull/110) ([da-ar](https://github.com/da-ar))
|
12
|
+
|
13
|
+
**Merged pull requests:**
|
14
|
+
|
15
|
+
- \(maint\) fix brace alignment; document reference [\#111](https://github.com/puppetlabs/puppet-resource_api/pull/111) ([DavidS](https://github.com/DavidS))
|
16
|
+
- Release prep for v1.4.1 [\#109](https://github.com/puppetlabs/puppet-resource_api/pull/109) ([DavidS](https://github.com/DavidS))
|
17
|
+
|
6
18
|
## [v1.4.1](https://github.com/puppetlabs/puppet-resource_api/tree/v1.4.1) (2018-07-20)
|
7
19
|
[Full Changelog](https://github.com/puppetlabs/puppet-resource_api/compare/v1.4.0...v1.4.1)
|
8
20
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
This is an implementation of the [Resource API](https://github.com/puppetlabs/puppet-specifications/blob/master/language/resource-api/README.md) proposal. Find a working example of a new-style provider in the [experimental puppetlabs-apt branch](https://github.com/DavidS/puppetlabs-apt/blob/resource-api-experiments/lib/puppet/provider/apt_key2/apt_key2.rb). There is also the corresponding [type](https://github.com/DavidS/puppetlabs-apt/blob/resource-api-experiments/lib/puppet/type/apt_key2.rb), [provider](https://github.com/DavidS/puppetlabs-apt/blob/resource-api-experiments/lib/puppet/provider/apt_key2/apt_key2.rb), and [new unit tests](https://github.com/DavidS/puppetlabs-apt/blob/resource-api-experiments/spec/unit/puppet/provider/apt_key2/apt_key2_spec.rb) for 100% coverage.
|
4
4
|
|
5
|
-
##
|
5
|
+
## Getting Started
|
6
6
|
|
7
7
|
1. Download the [Puppet Development Kit](https://puppet.com/download-puppet-development-kit) (PDK) appropriate to your operating system and architecture.
|
8
8
|
|
@@ -47,7 +47,7 @@ $
|
|
47
47
|
```
|
48
48
|
|
49
49
|
5. Create the required files for a new type and provider in the module by running `pdk new provider <provider_name>`
|
50
|
-
|
50
|
+
|
51
51
|
You will get the following response:
|
52
52
|
|
53
53
|
```
|
@@ -82,13 +82,13 @@ Puppet::ResourceApi.register_type(
|
|
82
82
|
docs: <<-EOS,
|
83
83
|
This type provides Puppet with the capabilities to manage ...
|
84
84
|
EOS
|
85
|
-
attributes:
|
86
|
-
ensure:
|
85
|
+
attributes: {
|
86
|
+
ensure: {
|
87
87
|
type: 'Enum[present, absent]',
|
88
88
|
desc: 'Whether this apt key should be present or absent on the target system.',
|
89
89
|
default: 'present',
|
90
90
|
},
|
91
|
-
name:
|
91
|
+
name: {
|
92
92
|
type: 'String',
|
93
93
|
desc: 'The name of the resource you want to manage.',
|
94
94
|
behaviour: :namevar,
|
data/lib/puppet/resource_api.rb
CHANGED
@@ -179,9 +179,18 @@ module Puppet::ResourceApi
|
|
179
179
|
end
|
180
180
|
|
181
181
|
# read-only values do not need type checking, but can have default values
|
182
|
-
if options[:behaviour] != :read_only
|
182
|
+
if options[:behaviour] != :read_only && options.key?(:default)
|
183
183
|
if options.key? :default
|
184
|
-
|
184
|
+
if options[:default] == false
|
185
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
186
|
+
defaultto :false # rubocop:disable Lint/BooleanSymbol
|
187
|
+
elsif options[:default] == true
|
188
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
189
|
+
defaultto :true # rubocop:disable Lint/BooleanSymbol
|
190
|
+
else
|
191
|
+
defaultto options[:default]
|
192
|
+
end
|
193
|
+
# defaultto options[:default]
|
185
194
|
end
|
186
195
|
end
|
187
196
|
|
@@ -195,11 +204,14 @@ module Puppet::ResourceApi
|
|
195
204
|
|
196
205
|
if param_or_property == :newproperty
|
197
206
|
define_method(:should) do
|
198
|
-
if
|
199
|
-
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
200
|
-
rs_value ? :true : :false # rubocop:disable Lint/BooleanSymbol
|
201
|
-
elsif name == :ensure && rs_value.is_a?(String)
|
207
|
+
if name == :ensure && rs_value.is_a?(String)
|
202
208
|
rs_value.to_sym
|
209
|
+
elsif rs_value == false
|
210
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
211
|
+
:false # rubocop:disable Lint/BooleanSymbol
|
212
|
+
elsif rs_value == true
|
213
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
214
|
+
:true # rubocop:disable Lint/BooleanSymbol
|
203
215
|
else
|
204
216
|
rs_value
|
205
217
|
end
|
@@ -521,6 +533,12 @@ MESSAGE
|
|
521
533
|
# the correct types, e.g. "1" (a string) to 1 (an integer)
|
522
534
|
cleaned_value, error_msg = try_mungify(type, value, error_msg_prefix)
|
523
535
|
raise Puppet::ResourceError, error_msg if error_msg
|
536
|
+
elsif value == :false # rubocop:disable Lint/BooleanSymbol
|
537
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
538
|
+
cleaned_value = false
|
539
|
+
elsif value == :true # rubocop:disable Lint/BooleanSymbol
|
540
|
+
# work around https://tickets.puppetlabs.com/browse/PUP-2368
|
541
|
+
cleaned_value = true
|
524
542
|
else
|
525
543
|
# Every other time, we can use the values as is
|
526
544
|
cleaned_value = value
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-resource_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Schmitt
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hocon
|