puppet-strings 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +12 -0
- data/Gemfile +14 -5
- data/JSON.md +41 -11
- data/README.md +66 -7
- data/Rakefile +99 -29
- data/lib/puppet-strings/json.rb +2 -0
- data/lib/puppet-strings/markdown.rb +2 -0
- data/lib/puppet-strings/markdown/data_type.rb +18 -0
- data/lib/puppet-strings/markdown/data_types.rb +41 -0
- data/lib/puppet-strings/markdown/function.rb +2 -2
- data/lib/puppet-strings/markdown/table_of_contents.rb +1 -0
- data/lib/puppet-strings/markdown/templates/data_type.erb +78 -0
- data/lib/puppet-strings/tasks/generate.rb +3 -2
- data/lib/puppet-strings/version.rb +1 -1
- data/lib/puppet-strings/yard.rb +10 -0
- data/lib/puppet-strings/yard/code_objects.rb +2 -0
- data/lib/puppet-strings/yard/code_objects/class.rb +1 -1
- data/lib/puppet-strings/yard/code_objects/data_type.rb +80 -0
- data/lib/puppet-strings/yard/code_objects/data_type_alias.rb +58 -0
- data/lib/puppet-strings/yard/code_objects/defined_type.rb +1 -1
- data/lib/puppet-strings/yard/code_objects/function.rb +3 -3
- data/lib/puppet-strings/yard/code_objects/plan.rb +1 -1
- data/lib/puppet-strings/yard/handlers.rb +2 -0
- data/lib/puppet-strings/yard/handlers/puppet/data_type_alias_handler.rb +24 -0
- data/lib/puppet-strings/yard/handlers/ruby/base.rb +2 -2
- data/lib/puppet-strings/yard/handlers/ruby/data_type_handler.rb +236 -0
- data/lib/puppet-strings/yard/handlers/ruby/function_handler.rb +1 -3
- data/lib/puppet-strings/yard/handlers/ruby/rsapi_handler.rb +2 -2
- data/lib/puppet-strings/yard/handlers/ruby/type_base.rb +5 -6
- data/lib/puppet-strings/yard/parsers/json/parser.rb +1 -1
- data/lib/puppet-strings/yard/parsers/puppet/parser.rb +14 -7
- data/lib/puppet-strings/yard/parsers/puppet/statement.rb +25 -0
- data/lib/puppet-strings/yard/tags/overload_tag.rb +1 -1
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_data_type.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb +9 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/objects.erb +2 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/setup.rb +18 -1
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/box_info.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/note.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb +5 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/summary.erb +4 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/todo.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/alias_of.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/box_info.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/note.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/setup.rb +17 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/summary.erb +4 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/todo.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/tags/setup.rb +1 -0
- data/lib/puppet/face/strings.rb +3 -3
- data/spec/acceptance/emit_json_options_spec.rb +69 -0
- data/spec/acceptance/generate_markdown_spec.rb +13 -15
- data/spec/acceptance/running_strings_generate_spec.rb +78 -0
- data/spec/fixtures/acceptance/modules/test/metadata.json +5 -1
- data/spec/fixtures/acceptance/modules/test/types/elephant.pp +2 -0
- data/spec/fixtures/unit/markdown/output_with_data_types.md +553 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/spec_helper_acceptance.rb +52 -22
- data/spec/spec_helper_acceptance_local.rb +10 -0
- data/spec/unit/puppet-strings/describe_spec.rb +7 -7
- data/spec/unit/puppet-strings/json_spec.rb +23 -4
- data/spec/unit/puppet-strings/markdown/base_spec.rb +3 -3
- data/spec/unit/puppet-strings/markdown_spec.rb +84 -23
- data/spec/unit/puppet-strings/yard/code_objects/task_spec.rb +1 -1
- data/spec/unit/puppet-strings/yard/handlers/json/task_handler_spec.rb +4 -4
- data/spec/unit/puppet-strings/yard/handlers/puppet/class_handler_spec.rb +8 -8
- data/spec/unit/puppet-strings/yard/handlers/puppet/data_type_alias_handler_spec.rb +65 -0
- data/spec/unit/puppet-strings/yard/handlers/puppet/defined_type_handler_spec.rb +8 -8
- data/spec/unit/puppet-strings/yard/handlers/puppet/function_handler_spec.rb +13 -13
- data/spec/unit/puppet-strings/yard/handlers/ruby/data_type_handler_spec.rb +232 -0
- data/spec/unit/puppet-strings/yard/handlers/ruby/function_handler_spec.rb +36 -19
- data/spec/unit/puppet-strings/yard/handlers/ruby/provider_handler_spec.rb +26 -7
- data/spec/unit/puppet-strings/yard/handlers/ruby/rsapi_handler_spec.rb +7 -7
- data/spec/unit/puppet-strings/yard/handlers/ruby/type_handler_spec.rb +26 -10
- data/spec/unit/puppet-strings/yard/parsers/json/task_statement_spec.rb +2 -2
- data/spec/unit/puppet-strings/yard/parsers/puppet/parser_spec.rb +42 -0
- data/spec/unit/puppet-strings/yard/util_spec.rb +1 -1
- metadata +35 -7
- data/spec/acceptance/emit_json_options.rb +0 -71
- data/spec/acceptance/lib/util.rb +0 -163
- data/spec/acceptance/running_strings_generate.rb +0 -54
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'spec_helper_acceptance'
|
2
|
-
require 'util'
|
3
|
-
|
4
|
-
include PuppetStrings::Acceptance::Util
|
5
2
|
|
6
3
|
describe 'Generating Markdown' do
|
4
|
+
before(:all) do
|
5
|
+
@test_module_path = sut_module_path(/Module test/)
|
6
|
+
@remote_tmp_path = sut_tmp_path
|
7
|
+
end
|
8
|
+
|
7
9
|
expected = <<-EOF
|
8
10
|
# Reference
|
9
11
|
|
@@ -29,21 +31,17 @@ The name of the package
|
|
29
31
|
|
30
32
|
The name of the service
|
31
33
|
|
32
|
-
EOF
|
34
|
+
EOF
|
33
35
|
|
34
|
-
it 'should render Markdown to stdout when using --format markdown
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
expect(JSON.parse(output)).to eq(expected)
|
39
|
-
end
|
36
|
+
it 'should render Markdown to stdout when using --format markdown' do
|
37
|
+
skip('This test is broken. Does not output to STDOUT by default.')
|
38
|
+
output = PuppetLitmus::Serverspec.run_shell("puppet strings generate --format markdown \"#{@test_module_path}/manifests/init.pp\"").stdout.chomp
|
39
|
+
expect(output).to eq(expected)
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'should write Markdown to a file when using --format markdown and --out' do
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
output = read_file_on(master, tmpfile)
|
47
|
-
expect(JSON.parse(output)).to eq(expected)
|
43
|
+
tmpfile = File.join(@remote_tmp_path, 'md_output.md')
|
44
|
+
remote = PuppetLitmus::Serverspec.run_shell("puppet strings generate --format markdown --out \"#{tmpfile}\" \"#{@test_module_path}/manifests/init.pp\"")
|
45
|
+
expect(file(tmpfile)).to contain expected
|
48
46
|
end
|
49
47
|
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'spec_helper_acceptance'
|
2
|
+
include PuppetLitmus # rubocop:disable Style/MixinUsage This is fine
|
3
|
+
|
4
|
+
describe 'Generating module documentation using generate action' do
|
5
|
+
before :all do
|
6
|
+
# TODO: Linux only
|
7
|
+
@sut_work_dir = PuppetLitmus::Serverspec.run_shell("pwd").stdout.chomp
|
8
|
+
|
9
|
+
test_module_path = sut_module_path(/Module test/)
|
10
|
+
PuppetLitmus::Serverspec.run_shell("puppet strings generate \"#{test_module_path}/**/*.{rb,pp}\"")
|
11
|
+
end
|
12
|
+
|
13
|
+
def expect_file_contain(path, expected_contents)
|
14
|
+
file_path = File.join(@sut_work_dir, path)
|
15
|
+
file_content = file(file_path).content
|
16
|
+
expected_contents.each do |expected|
|
17
|
+
expect(file_content).to include(expected)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should generate documentation for manifests' do
|
22
|
+
expect_file_contain('doc/puppet_classes/test.html', ['Class: test'])
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should generate documentation for puppet functions' do
|
26
|
+
skip('This test is failing. Appear to be legitimate failures.')
|
27
|
+
expect_file_contain('doc/puppet_functions_puppet/test_3A_3Aadd.html', [
|
28
|
+
'Adds two integers together.',
|
29
|
+
# These tests are failing. Appear to be legitimate failures.
|
30
|
+
'<p>The first integer to add.</p>',
|
31
|
+
'<p>The second integer to add.</p>',
|
32
|
+
'<p>Returns the sum of x and y.</p>'
|
33
|
+
])
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should generate documentation for 3x functions' do
|
37
|
+
expect_file_contain('doc/puppet_functions_ruby3x/function3x.html', ['This is the function documentation for <code>function3x</code>'])
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should generate documentation for 4x functions' do
|
41
|
+
expect_file_contain('doc/puppet_functions_ruby4x/function4x.html', ['This is a function which is used to test puppet strings'])
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should generate documentation for custom types' do
|
45
|
+
expect_file_contain('doc/puppet_types/database.html', [
|
46
|
+
'<p>An example server resource type.</p>',
|
47
|
+
'<p>The database file to use.</p>',
|
48
|
+
'<p>Documentation for a dynamic property.</p>',
|
49
|
+
'<p>The database server name.</p>',
|
50
|
+
'<p>Documentation for a dynamic parameter.</p>',
|
51
|
+
'<p>The provider supports encryption.</p>',
|
52
|
+
])
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should generate documentation for custom providers' do
|
56
|
+
expect_file_contain('doc/puppet_providers_database/linux.html', [
|
57
|
+
'The database provider on Linux',
|
58
|
+
'<tt>osfamily — linux</tt>',
|
59
|
+
'<tt>database — /usr/bin/database</tt>',
|
60
|
+
])
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should generate documentation for puppet data types' do
|
64
|
+
expect_file_contain('doc/puppet_types/database.html', [
|
65
|
+
'Resource Type: database',
|
66
|
+
'type/database.rb',
|
67
|
+
'An example server resource type.',
|
68
|
+
])
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should generate documentation for puppet data type aliases' do
|
72
|
+
expect_file_contain('doc/puppet_data_type_aliases/Test_3A_3AElephant.html', [
|
73
|
+
'Data Type: Test::Elephant',
|
74
|
+
'types/elephant.pp',
|
75
|
+
'A simple elephant type.',
|
76
|
+
])
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,553 @@
|
|
1
|
+
# Reference
|
2
|
+
<!-- DO NOT EDIT: This document was generated by Puppet Strings -->
|
3
|
+
|
4
|
+
## Table of Contents
|
5
|
+
|
6
|
+
**Classes**
|
7
|
+
|
8
|
+
_Public Classes_
|
9
|
+
|
10
|
+
* [`klass`](#klass): A simple class.
|
11
|
+
|
12
|
+
_Private Classes_
|
13
|
+
|
14
|
+
* `noparams`: Overview for class noparams
|
15
|
+
|
16
|
+
**Defined types**
|
17
|
+
|
18
|
+
* [`klass::dt`](#klassdt): A simple defined type.
|
19
|
+
|
20
|
+
**Resource types**
|
21
|
+
|
22
|
+
* [`apt_key`](#apt_key): Example resource type using the new API.
|
23
|
+
* [`database`](#database): An example database server type.
|
24
|
+
|
25
|
+
**Functions**
|
26
|
+
|
27
|
+
* [`func`](#func): A simple Puppet function.
|
28
|
+
* [`func3x`](#func3x): Documentation for an example 3.x function.
|
29
|
+
* [`func4x`](#func4x): An example 4.x function.
|
30
|
+
* [`func4x_1`](#func4x_1): An example 4.x function with only one signature.
|
31
|
+
|
32
|
+
**Data types**
|
33
|
+
|
34
|
+
* [`Amodule::ComplexAlias`](#amodulecomplexalias): Documentation for Amodule::ComplexAlias
|
35
|
+
* [`Amodule::SimpleAlias`](#amodulesimplealias): Documentation for Amodule::SimpleAlias
|
36
|
+
* [`UnitDataType`](#unitdatatype): An example Puppet Data Type in Ruby.
|
37
|
+
|
38
|
+
**Tasks**
|
39
|
+
|
40
|
+
* [`(stdin)`](#(stdin)): Allows you to backup your database to local file.
|
41
|
+
|
42
|
+
## Classes
|
43
|
+
|
44
|
+
### klass
|
45
|
+
|
46
|
+
An overview for a simple class.
|
47
|
+
|
48
|
+
* **TODO** Do a thing
|
49
|
+
|
50
|
+
* **Note** some note
|
51
|
+
|
52
|
+
* **Since** 1.0.0
|
53
|
+
|
54
|
+
* **See also**
|
55
|
+
www.puppet.com
|
56
|
+
|
57
|
+
#### Examples
|
58
|
+
|
59
|
+
##### This is an example
|
60
|
+
|
61
|
+
```puppet
|
62
|
+
class { 'klass':
|
63
|
+
param1 => 1,
|
64
|
+
param3 => 'foo',
|
65
|
+
}
|
66
|
+
```
|
67
|
+
|
68
|
+
##### This is another example
|
69
|
+
|
70
|
+
```puppet
|
71
|
+
class { 'klass':
|
72
|
+
param1 => 1,
|
73
|
+
param3 => 'foo',
|
74
|
+
}
|
75
|
+
```
|
76
|
+
|
77
|
+
#### Parameters
|
78
|
+
|
79
|
+
The following parameters are available in the `klass` class.
|
80
|
+
|
81
|
+
##### `param1`
|
82
|
+
|
83
|
+
Data type: `Integer`
|
84
|
+
|
85
|
+
First param.
|
86
|
+
|
87
|
+
Default value: 1
|
88
|
+
|
89
|
+
##### `param2`
|
90
|
+
|
91
|
+
Data type: `Any`
|
92
|
+
|
93
|
+
Second param.
|
94
|
+
|
95
|
+
Options:
|
96
|
+
|
97
|
+
* **:opt1** `String`: something about opt1
|
98
|
+
* **:opt2** `Hash`: a hash of stuff
|
99
|
+
|
100
|
+
Default value: `undef`
|
101
|
+
|
102
|
+
##### `param3`
|
103
|
+
|
104
|
+
Data type: `String`
|
105
|
+
|
106
|
+
Third param.
|
107
|
+
|
108
|
+
Default value: 'hi'
|
109
|
+
|
110
|
+
## Defined types
|
111
|
+
|
112
|
+
### klass::dt
|
113
|
+
|
114
|
+
An overview for a simple defined type.
|
115
|
+
|
116
|
+
* **Since** 1.1.0
|
117
|
+
|
118
|
+
* **See also**
|
119
|
+
www.puppet.com
|
120
|
+
|
121
|
+
#### Examples
|
122
|
+
|
123
|
+
##### Here's an example of this type:
|
124
|
+
|
125
|
+
```puppet
|
126
|
+
klass::dt { 'foo':
|
127
|
+
param1 => 33,
|
128
|
+
param4 => false,
|
129
|
+
}
|
130
|
+
```
|
131
|
+
|
132
|
+
#### Parameters
|
133
|
+
|
134
|
+
The following parameters are available in the `klass::dt` defined type.
|
135
|
+
|
136
|
+
##### `param1`
|
137
|
+
|
138
|
+
Data type: `Integer`
|
139
|
+
|
140
|
+
First param.
|
141
|
+
|
142
|
+
Default value: 44
|
143
|
+
|
144
|
+
##### `param2`
|
145
|
+
|
146
|
+
Data type: `Any`
|
147
|
+
|
148
|
+
Second param.
|
149
|
+
|
150
|
+
Options:
|
151
|
+
|
152
|
+
* **:opt1** `String`: something about opt1
|
153
|
+
* **:opt2** `Hash`: a hash of stuff
|
154
|
+
|
155
|
+
##### `param3`
|
156
|
+
|
157
|
+
Data type: `String`
|
158
|
+
|
159
|
+
Third param.
|
160
|
+
|
161
|
+
Default value: 'hi'
|
162
|
+
|
163
|
+
##### `param4`
|
164
|
+
|
165
|
+
Data type: `Boolean`
|
166
|
+
|
167
|
+
Fourth param.
|
168
|
+
|
169
|
+
Default value: `true`
|
170
|
+
|
171
|
+
## Resource types
|
172
|
+
|
173
|
+
### apt_key
|
174
|
+
|
175
|
+
This type provides Puppet with the capabilities to manage GPG keys needed
|
176
|
+
by apt to perform package validation. Apt has it's own GPG keyring that can
|
177
|
+
be manipulated through the `apt-key` command.
|
178
|
+
**Autorequires**:
|
179
|
+
If Puppet is given the location of a key file which looks like an absolute
|
180
|
+
path this type will autorequire that file.
|
181
|
+
|
182
|
+
#### Examples
|
183
|
+
|
184
|
+
##### here's an example
|
185
|
+
|
186
|
+
```puppet
|
187
|
+
apt_key { '6F6B15509CF8E59E6E469F327F438280EF8D349F':
|
188
|
+
source => 'http://apt.puppetlabs.com/pubkey.gpg'
|
189
|
+
}
|
190
|
+
```
|
191
|
+
|
192
|
+
#### Properties
|
193
|
+
|
194
|
+
The following properties are available in the `apt_key` type.
|
195
|
+
|
196
|
+
##### `ensure`
|
197
|
+
|
198
|
+
Data type: `Enum[present, absent]`
|
199
|
+
|
200
|
+
Whether this apt key should be present or absent on the target system.
|
201
|
+
|
202
|
+
##### `created`
|
203
|
+
|
204
|
+
Data type: `String`
|
205
|
+
|
206
|
+
Date the key was created, in ISO format.
|
207
|
+
|
208
|
+
#### Parameters
|
209
|
+
|
210
|
+
The following parameters are available in the `apt_key` type.
|
211
|
+
|
212
|
+
##### `id`
|
213
|
+
|
214
|
+
namevar
|
215
|
+
|
216
|
+
Data type: `Variant[Pattern[/A(0x)?[0-9a-fA-F]{8}Z/], Pattern[/A(0x)?[0-9a-fA-F]{16}Z/], Pattern[/A(0x)?[0-9a-fA-F]{40}Z/]]`
|
217
|
+
_*this data type contains a regex that may not be accurately reflected in generated documentation_
|
218
|
+
|
219
|
+
The ID of the key you want to manage.
|
220
|
+
|
221
|
+
### database
|
222
|
+
|
223
|
+
An example database server type.
|
224
|
+
|
225
|
+
#### Examples
|
226
|
+
|
227
|
+
##### here's an example
|
228
|
+
|
229
|
+
```puppet
|
230
|
+
database { 'foo':
|
231
|
+
address => 'qux.baz.bar',
|
232
|
+
}
|
233
|
+
```
|
234
|
+
|
235
|
+
#### Properties
|
236
|
+
|
237
|
+
The following properties are available in the `database` type.
|
238
|
+
|
239
|
+
##### `ensure`
|
240
|
+
|
241
|
+
Valid values: present, absent, up, down
|
242
|
+
|
243
|
+
Aliases: "up"=>"present", "down"=>"absent"
|
244
|
+
|
245
|
+
What state the database should be in.
|
246
|
+
|
247
|
+
Default value: up
|
248
|
+
|
249
|
+
##### `file`
|
250
|
+
|
251
|
+
The database file to use.
|
252
|
+
|
253
|
+
##### `log_level`
|
254
|
+
|
255
|
+
Valid values: debug, warn, error
|
256
|
+
|
257
|
+
The log level to use.
|
258
|
+
|
259
|
+
Default value: warn
|
260
|
+
|
261
|
+
#### Parameters
|
262
|
+
|
263
|
+
The following parameters are available in the `database` type.
|
264
|
+
|
265
|
+
##### `address`
|
266
|
+
|
267
|
+
namevar
|
268
|
+
|
269
|
+
The database server name.
|
270
|
+
|
271
|
+
##### `encryption_key`
|
272
|
+
|
273
|
+
The encryption key to use.
|
274
|
+
|
275
|
+
Required features: encryption.
|
276
|
+
|
277
|
+
##### `encrypt`
|
278
|
+
|
279
|
+
Valid values: `true`, `false`, yes, no
|
280
|
+
|
281
|
+
Whether or not to encrypt the database.
|
282
|
+
|
283
|
+
Default value: `false`
|
284
|
+
|
285
|
+
## Functions
|
286
|
+
|
287
|
+
### func
|
288
|
+
|
289
|
+
Type: Puppet Language
|
290
|
+
|
291
|
+
A simple Puppet function.
|
292
|
+
|
293
|
+
#### Examples
|
294
|
+
|
295
|
+
##### Test
|
296
|
+
|
297
|
+
```puppet
|
298
|
+
$result = func(1, 2)
|
299
|
+
```
|
300
|
+
|
301
|
+
#### `func(Integer $param1, Any $param2, String $param3 = hi)`
|
302
|
+
|
303
|
+
A simple Puppet function.
|
304
|
+
|
305
|
+
Returns: `Undef` Returns nothing.
|
306
|
+
|
307
|
+
Raises:
|
308
|
+
* `SomeError` this is some error
|
309
|
+
|
310
|
+
##### Examples
|
311
|
+
|
312
|
+
###### Test
|
313
|
+
|
314
|
+
```puppet
|
315
|
+
$result = func(1, 2)
|
316
|
+
```
|
317
|
+
|
318
|
+
##### `param1`
|
319
|
+
|
320
|
+
Data type: `Integer`
|
321
|
+
|
322
|
+
First param.
|
323
|
+
|
324
|
+
##### `param2`
|
325
|
+
|
326
|
+
Data type: `Any`
|
327
|
+
|
328
|
+
Second param.
|
329
|
+
|
330
|
+
##### `param3`
|
331
|
+
|
332
|
+
Data type: `String`
|
333
|
+
|
334
|
+
Third param.
|
335
|
+
|
336
|
+
Options:
|
337
|
+
|
338
|
+
* **:param3opt** `Array`: Something about this option
|
339
|
+
|
340
|
+
### func3x
|
341
|
+
|
342
|
+
Type: Ruby 3.x API
|
343
|
+
|
344
|
+
Documentation for an example 3.x function.
|
345
|
+
|
346
|
+
#### Examples
|
347
|
+
|
348
|
+
##### Calling the function.
|
349
|
+
|
350
|
+
```puppet
|
351
|
+
func3x('hi', 10)
|
352
|
+
```
|
353
|
+
|
354
|
+
#### `func3x(String $param1, Integer $param2)`
|
355
|
+
|
356
|
+
Documentation for an example 3.x function.
|
357
|
+
|
358
|
+
Returns: `Undef`
|
359
|
+
|
360
|
+
##### Examples
|
361
|
+
|
362
|
+
###### Calling the function.
|
363
|
+
|
364
|
+
```puppet
|
365
|
+
func3x('hi', 10)
|
366
|
+
```
|
367
|
+
|
368
|
+
##### `param1`
|
369
|
+
|
370
|
+
Data type: `String`
|
371
|
+
|
372
|
+
The first parameter.
|
373
|
+
|
374
|
+
##### `param2`
|
375
|
+
|
376
|
+
Data type: `Integer`
|
377
|
+
|
378
|
+
The second parameter.
|
379
|
+
|
380
|
+
### func4x
|
381
|
+
|
382
|
+
Type: Ruby 4.x API
|
383
|
+
|
384
|
+
An example 4.x function.
|
385
|
+
|
386
|
+
#### Examples
|
387
|
+
|
388
|
+
##### Calling the function
|
389
|
+
|
390
|
+
```puppet
|
391
|
+
$result = func4x(1, 'foo')
|
392
|
+
```
|
393
|
+
|
394
|
+
##### Calling the function with all args
|
395
|
+
|
396
|
+
```puppet
|
397
|
+
$result = func4x(1, 'foo', ['bar'])
|
398
|
+
```
|
399
|
+
|
400
|
+
#### `func4x(Integer $param1, Any $param2, Optional[Array[String]] $param3)`
|
401
|
+
|
402
|
+
An overview for the first overload.
|
403
|
+
|
404
|
+
Returns: `Undef` Returns nothing.
|
405
|
+
|
406
|
+
##### Examples
|
407
|
+
|
408
|
+
###### Calling the function foo
|
409
|
+
|
410
|
+
```puppet
|
411
|
+
$result = func4x(1, 'foooo')
|
412
|
+
```
|
413
|
+
|
414
|
+
##### `param1`
|
415
|
+
|
416
|
+
Data type: `Integer`
|
417
|
+
|
418
|
+
The first parameter.
|
419
|
+
|
420
|
+
##### `param2`
|
421
|
+
|
422
|
+
Data type: `Any`
|
423
|
+
|
424
|
+
The second parameter.
|
425
|
+
|
426
|
+
Options:
|
427
|
+
|
428
|
+
* **:option** `String`: an option
|
429
|
+
* **:option2** `String`: another option
|
430
|
+
|
431
|
+
##### `param3`
|
432
|
+
|
433
|
+
Data type: `Optional[Array[String]]`
|
434
|
+
|
435
|
+
The third parameter.
|
436
|
+
|
437
|
+
#### `func4x(Boolean $param, Callable &$block)`
|
438
|
+
|
439
|
+
An overview for the second overload.
|
440
|
+
|
441
|
+
Returns: `String` Returns a string.
|
442
|
+
|
443
|
+
##### Examples
|
444
|
+
|
445
|
+
###### Calling the function bar
|
446
|
+
|
447
|
+
```puppet
|
448
|
+
$result = func4x(1, 'bar', ['foo'])
|
449
|
+
```
|
450
|
+
|
451
|
+
##### `param`
|
452
|
+
|
453
|
+
Data type: `Boolean`
|
454
|
+
|
455
|
+
The first parameter.
|
456
|
+
|
457
|
+
##### `&block`
|
458
|
+
|
459
|
+
Data type: `Callable`
|
460
|
+
|
461
|
+
The block parameter.
|
462
|
+
|
463
|
+
### func4x_1
|
464
|
+
|
465
|
+
Type: Ruby 4.x API
|
466
|
+
|
467
|
+
An example 4.x function with only one signature.
|
468
|
+
|
469
|
+
#### `func4x_1(Integer $param1)`
|
470
|
+
|
471
|
+
An example 4.x function with only one signature.
|
472
|
+
|
473
|
+
Returns: `Undef` Returns nothing.
|
474
|
+
|
475
|
+
##### `param1`
|
476
|
+
|
477
|
+
Data type: `Integer`
|
478
|
+
|
479
|
+
The first parameter.
|
480
|
+
|
481
|
+
## Data types
|
482
|
+
|
483
|
+
### Amodule::ComplexAlias
|
484
|
+
|
485
|
+
Documentation for Amodule::ComplexAlias
|
486
|
+
|
487
|
+
Alias of `Struct[{
|
488
|
+
value_type => Optional[ValueType],
|
489
|
+
merge => Optional[MergeType]
|
490
|
+
}]`
|
491
|
+
|
492
|
+
### Amodule::SimpleAlias
|
493
|
+
|
494
|
+
Documentation for Amodule::SimpleAlias
|
495
|
+
|
496
|
+
Alias of `Variant[Numeric, String[1,20]]`
|
497
|
+
|
498
|
+
### UnitDataType
|
499
|
+
|
500
|
+
An example Puppet Data Type in Ruby.
|
501
|
+
|
502
|
+
#### Parameters
|
503
|
+
|
504
|
+
The following parameters are available in the `UnitDataType` data type.
|
505
|
+
|
506
|
+
##### `param1`
|
507
|
+
|
508
|
+
Data type: `Variant[Numeric, String[1,2]]`
|
509
|
+
|
510
|
+
A variant parameter.
|
511
|
+
|
512
|
+
##### `param2`
|
513
|
+
|
514
|
+
Data type: `Optional[String[1]]`
|
515
|
+
|
516
|
+
Optional String parameter.
|
517
|
+
|
518
|
+
Default value: param2
|
519
|
+
|
520
|
+
## Tasks
|
521
|
+
|
522
|
+
### (stdin)
|
523
|
+
|
524
|
+
Allows you to backup your database to local file.
|
525
|
+
|
526
|
+
**Supports noop?** false
|
527
|
+
|
528
|
+
#### Parameters
|
529
|
+
|
530
|
+
##### `database`
|
531
|
+
|
532
|
+
Data type: `Optional[String[1]]`
|
533
|
+
|
534
|
+
Database to connect to
|
535
|
+
|
536
|
+
##### `user`
|
537
|
+
|
538
|
+
Data type: `Optional[String[1]]`
|
539
|
+
|
540
|
+
The user
|
541
|
+
|
542
|
+
##### `password`
|
543
|
+
|
544
|
+
Data type: `Optional[String[1]]`
|
545
|
+
|
546
|
+
The password
|
547
|
+
|
548
|
+
##### `sql`
|
549
|
+
|
550
|
+
Data type: `String[1]`
|
551
|
+
|
552
|
+
Path to file you want backup to
|
553
|
+
|