puppet 5.0.0 → 6.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.
Files changed (1440) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +52 -42
  3. data/Gemfile +48 -81
  4. data/Gemfile.lock +156 -0
  5. data/MAINTAINERS +0 -19
  6. data/README.md +19 -17
  7. data/Rakefile +47 -36
  8. data/conf/auth.conf +7 -2
  9. data/conf/environment.conf +1 -1
  10. data/conf/fileserver.conf +1 -1
  11. data/conf/puppet.conf +4 -4
  12. data/ext/README.environment +1 -1
  13. data/ext/build_defaults.yaml +0 -2
  14. data/ext/cert_inspector +2 -2
  15. data/ext/debian/copyright +2 -24
  16. data/ext/debian/puppetmaster.README.debian +2 -2
  17. data/ext/envpuppet +1 -1
  18. data/ext/gentoo/init.d/puppetmaster +4 -4
  19. data/ext/hiera/hiera.yaml +1 -1
  20. data/ext/ips/puppet-agent +11 -11
  21. data/ext/ips/puppet-master +11 -11
  22. data/ext/project_data.yaml +9 -8
  23. data/ext/puppet-test +5 -5
  24. data/ext/redhat/client.init +2 -2
  25. data/ext/redhat/logrotate +1 -1
  26. data/ext/redhat/puppet.spec.erb +0 -4
  27. data/ext/regexp_nodes/regexp_nodes.rb +15 -16
  28. data/ext/solaris/smf/puppet +11 -11
  29. data/ext/solaris/smf/svc-puppetd +5 -5
  30. data/ext/solaris/smf/svc-puppetmasterd +5 -5
  31. data/ext/upload_facts.rb +2 -2
  32. data/ext/windows/service/daemon.rb +1 -1
  33. data/install.rb +2 -3
  34. data/lib/hiera/puppet_function.rb +5 -2
  35. data/lib/hiera/scope.rb +24 -2
  36. data/lib/hiera_puppet.rb +3 -3
  37. data/lib/puppet/agent/locker.rb +6 -5
  38. data/lib/puppet/agent.rb +24 -3
  39. data/lib/puppet/application/agent.rb +19 -14
  40. data/lib/puppet/application/apply.rb +30 -17
  41. data/lib/puppet/application/cert.rb +30 -174
  42. data/lib/puppet/application/config.rb +1 -0
  43. data/lib/puppet/application/describe.rb +6 -3
  44. data/lib/puppet/application/device.rb +165 -60
  45. data/lib/puppet/application/doc.rb +10 -4
  46. data/lib/puppet/application/face_base.rb +1 -1
  47. data/lib/puppet/application/facts.rb +5 -0
  48. data/lib/puppet/application/filebucket.rb +60 -18
  49. data/lib/puppet/application/help.rb +1 -0
  50. data/lib/puppet/application/lookup.rb +23 -11
  51. data/lib/puppet/application/resource.rb +8 -4
  52. data/lib/puppet/application/script.rb +261 -0
  53. data/lib/puppet/application/ssl.rb +133 -0
  54. data/lib/puppet/application.rb +42 -11
  55. data/lib/puppet/application_support.rb +7 -3
  56. data/lib/puppet/configurer/downloader.rb +1 -1
  57. data/lib/puppet/configurer/fact_handler.rb +5 -1
  58. data/lib/puppet/configurer/plugin_handler.rb +32 -9
  59. data/lib/puppet/configurer.rb +114 -76
  60. data/lib/puppet/confine.rb +4 -1
  61. data/lib/puppet/context.rb +1 -1
  62. data/lib/puppet/daemon.rb +3 -3
  63. data/lib/puppet/datatypes/error.rb +21 -0
  64. data/lib/puppet/datatypes/impl/error.rb +40 -0
  65. data/lib/puppet/datatypes.rb +213 -0
  66. data/lib/puppet/defaults.rb +279 -209
  67. data/lib/puppet/environments.rb +24 -11
  68. data/lib/puppet/error.rb +35 -18
  69. data/lib/puppet/etc.rb +6 -7
  70. data/lib/puppet/external/dot.rb +23 -24
  71. data/lib/puppet/external/pson/common.rb +2 -2
  72. data/lib/puppet/external/pson/pure/generator.rb +1 -1
  73. data/lib/puppet/external/pson/pure/parser.rb +1 -1
  74. data/lib/puppet/face/catalog.rb +2 -2
  75. data/lib/puppet/face/config.rb +157 -11
  76. data/lib/puppet/face/epp.rb +66 -37
  77. data/lib/puppet/face/facts.rb +49 -0
  78. data/lib/puppet/face/help/action.erb +4 -1
  79. data/lib/puppet/face/help/face.erb +1 -1
  80. data/lib/puppet/face/help/global.erb +2 -2
  81. data/lib/puppet/face/help/man.erb +1 -1
  82. data/lib/puppet/face/help.rb +78 -64
  83. data/lib/puppet/face/man.rb +56 -12
  84. data/lib/puppet/face/module/build.rb +5 -54
  85. data/lib/puppet/face/module/generate.rb +6 -243
  86. data/lib/puppet/face/module/install.rb +1 -4
  87. data/lib/puppet/face/module/list.rb +6 -22
  88. data/lib/puppet/face/module/search.rb +7 -3
  89. data/lib/puppet/face/module/uninstall.rb +15 -7
  90. data/lib/puppet/face/module/upgrade.rb +1 -4
  91. data/lib/puppet/face/node/clean.rb +14 -10
  92. data/lib/puppet/face/node.rb +1 -0
  93. data/lib/puppet/face/parser.rb +30 -4
  94. data/lib/puppet/face/plugin.rb +1 -3
  95. data/lib/puppet/face/status.rb +3 -2
  96. data/lib/puppet/feature/base.rb +8 -27
  97. data/lib/puppet/feature/bolt.rb +3 -0
  98. data/lib/puppet/feature/eventlog.rb +1 -1
  99. data/lib/puppet/file_bucket/dipper.rb +1 -2
  100. data/lib/puppet/file_bucket/file.rb +0 -2
  101. data/lib/puppet/file_serving/base.rb +18 -17
  102. data/lib/puppet/file_serving/configuration/parser.rb +25 -9
  103. data/lib/puppet/file_serving/configuration.rb +6 -0
  104. data/lib/puppet/file_serving/fileset.rb +1 -1
  105. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  106. data/lib/puppet/file_serving/metadata.rb +4 -3
  107. data/lib/puppet/file_serving/mount/locales.rb +35 -0
  108. data/lib/puppet/file_serving/mount/tasks.rb +21 -0
  109. data/lib/puppet/file_system/uniquefile.rb +2 -2
  110. data/lib/puppet/forge/errors.rb +27 -25
  111. data/lib/puppet/forge/repository.rb +1 -1
  112. data/lib/puppet/forge.rb +22 -9
  113. data/lib/puppet/functions/abs.rb +61 -0
  114. data/lib/puppet/functions/alert.rb +1 -1
  115. data/lib/puppet/functions/all.rb +104 -0
  116. data/lib/puppet/functions/annotate.rb +11 -11
  117. data/lib/puppet/functions/any.rb +109 -0
  118. data/lib/puppet/functions/assert_type.rb +7 -7
  119. data/lib/puppet/functions/binary_file.rb +15 -2
  120. data/lib/puppet/functions/break.rb +34 -9
  121. data/lib/puppet/functions/call.rb +41 -4
  122. data/lib/puppet/functions/camelcase.rb +62 -0
  123. data/lib/puppet/functions/capitalize.rb +61 -0
  124. data/lib/puppet/functions/ceiling.rb +37 -0
  125. data/lib/puppet/functions/chomp.rb +57 -0
  126. data/lib/puppet/functions/chop.rb +67 -0
  127. data/lib/puppet/functions/compare.rb +125 -0
  128. data/lib/puppet/functions/contain.rb +25 -3
  129. data/lib/puppet/functions/convert_to.rb +34 -0
  130. data/lib/puppet/functions/crit.rb +1 -1
  131. data/lib/puppet/functions/debug.rb +1 -1
  132. data/lib/puppet/functions/defined.rb +14 -15
  133. data/lib/puppet/functions/dig.rb +47 -3
  134. data/lib/puppet/functions/downcase.rb +89 -0
  135. data/lib/puppet/functions/each.rb +30 -20
  136. data/lib/puppet/functions/emerg.rb +1 -1
  137. data/lib/puppet/functions/empty.rb +77 -0
  138. data/lib/puppet/functions/epp.rb +3 -0
  139. data/lib/puppet/functions/err.rb +1 -1
  140. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -8
  141. data/lib/puppet/functions/filter.rb +30 -23
  142. data/lib/puppet/functions/find_file.rb +15 -2
  143. data/lib/puppet/functions/flatten.rb +64 -0
  144. data/lib/puppet/functions/floor.rb +37 -0
  145. data/lib/puppet/functions/get.rb +150 -0
  146. data/lib/puppet/functions/getvar.rb +87 -0
  147. data/lib/puppet/functions/hiera.rb +11 -11
  148. data/lib/puppet/functions/hiera_array.rb +11 -11
  149. data/lib/puppet/functions/hiera_hash.rb +12 -12
  150. data/lib/puppet/functions/hiera_include.rb +15 -15
  151. data/lib/puppet/functions/hocon_data.rb +1 -1
  152. data/lib/puppet/functions/include.rb +34 -2
  153. data/lib/puppet/functions/info.rb +1 -1
  154. data/lib/puppet/functions/inline_epp.rb +2 -2
  155. data/lib/puppet/functions/join.rb +56 -0
  156. data/lib/puppet/functions/json_data.rb +3 -3
  157. data/lib/puppet/functions/keys.rb +25 -0
  158. data/lib/puppet/functions/length.rb +44 -0
  159. data/lib/puppet/functions/lest.rb +39 -1
  160. data/lib/puppet/functions/lookup.rb +7 -5
  161. data/lib/puppet/functions/lstrip.rb +58 -0
  162. data/lib/puppet/functions/map.rb +34 -20
  163. data/lib/puppet/functions/match.rb +17 -6
  164. data/lib/puppet/functions/max.rb +183 -0
  165. data/lib/puppet/functions/min.rb +182 -0
  166. data/lib/puppet/functions/module_directory.rb +41 -0
  167. data/lib/puppet/functions/new.rb +982 -7
  168. data/lib/puppet/functions/next.rb +2 -9
  169. data/lib/puppet/functions/notice.rb +1 -1
  170. data/lib/puppet/functions/reduce.rb +36 -5
  171. data/lib/puppet/functions/regsubst.rb +10 -4
  172. data/lib/puppet/functions/require.rb +42 -2
  173. data/lib/puppet/functions/return.rb +2 -9
  174. data/lib/puppet/functions/reverse_each.rb +71 -2
  175. data/lib/puppet/functions/round.rb +24 -0
  176. data/lib/puppet/functions/rstrip.rb +58 -0
  177. data/lib/puppet/functions/size.rb +15 -0
  178. data/lib/puppet/functions/slice.rb +25 -12
  179. data/lib/puppet/functions/sort.rb +74 -0
  180. data/lib/puppet/functions/split.rb +12 -10
  181. data/lib/puppet/functions/step.rb +73 -1
  182. data/lib/puppet/functions/strftime.rb +178 -10
  183. data/lib/puppet/functions/strip.rb +58 -0
  184. data/lib/puppet/functions/then.rb +65 -2
  185. data/lib/puppet/functions/tree_each.rb +200 -0
  186. data/lib/puppet/functions/type.rb +42 -1
  187. data/lib/puppet/functions/unique.rb +13 -13
  188. data/lib/puppet/functions/unwrap.rb +8 -4
  189. data/lib/puppet/functions/upcase.rb +89 -0
  190. data/lib/puppet/functions/values.rb +25 -0
  191. data/lib/puppet/functions/versioncmp.rb +1 -1
  192. data/lib/puppet/functions/warning.rb +1 -1
  193. data/lib/puppet/functions/with.rb +9 -7
  194. data/lib/puppet/functions/yaml_data.rb +8 -7
  195. data/lib/puppet/functions.rb +212 -95
  196. data/lib/puppet/generate/models/type/property.rb +1 -1
  197. data/lib/puppet/generate/type.rb +1 -1
  198. data/lib/puppet/gettext/config.rb +275 -0
  199. data/lib/puppet/gettext/module_translations.rb +42 -0
  200. data/lib/puppet/gettext/stubs.rb +11 -0
  201. data/lib/puppet/graph/relationship_graph.rb +7 -1
  202. data/lib/puppet/graph/simple_graph.rb +12 -8
  203. data/lib/puppet/graph.rb +0 -2
  204. data/lib/puppet/indirector/catalog/compiler.rb +48 -16
  205. data/lib/puppet/indirector/catalog/json.rb +14 -3
  206. data/lib/puppet/indirector/catalog/yaml.rb +0 -16
  207. data/lib/puppet/indirector/certificate/file.rb +0 -1
  208. data/lib/puppet/indirector/exec.rb +1 -1
  209. data/lib/puppet/indirector/facts/facter.rb +4 -6
  210. data/lib/puppet/indirector/facts/network_device.rb +2 -2
  211. data/lib/puppet/indirector/facts/rest.rb +21 -0
  212. data/lib/puppet/indirector/facts/yaml.rb +4 -6
  213. data/lib/puppet/indirector/file_bucket_file/file.rb +11 -4
  214. data/lib/puppet/indirector/file_content/http.rb +3 -1
  215. data/lib/puppet/indirector/file_server.rb +1 -1
  216. data/lib/puppet/indirector/indirection.rb +28 -24
  217. data/lib/puppet/indirector/key/file.rb +1 -6
  218. data/lib/puppet/indirector/node/exec.rb +2 -4
  219. data/lib/puppet/indirector/node/yaml.rb +0 -6
  220. data/lib/puppet/indirector/request.rb +19 -15
  221. data/lib/puppet/indirector/rest.rb +21 -68
  222. data/lib/puppet/indirector/ssl_file.rb +5 -46
  223. data/lib/puppet/indirector/terminus.rb +4 -4
  224. data/lib/puppet/indirector/yaml.rb +4 -4
  225. data/lib/puppet/info_service/class_information_service.rb +1 -1
  226. data/lib/puppet/info_service/task_information_service.rb +36 -0
  227. data/lib/puppet/info_service.rb +10 -0
  228. data/lib/puppet/interface/action.rb +54 -29
  229. data/lib/puppet/interface/action_builder.rb +22 -5
  230. data/lib/puppet/interface/action_manager.rb +1 -1
  231. data/lib/puppet/interface/documentation.rb +21 -10
  232. data/lib/puppet/interface/face_collection.rb +7 -3
  233. data/lib/puppet/interface/option.rb +36 -15
  234. data/lib/puppet/interface/option_builder.rb +23 -9
  235. data/lib/puppet/interface/option_manager.rb +9 -4
  236. data/lib/puppet/interface.rb +3 -2
  237. data/lib/puppet/loaders.rb +3 -0
  238. data/lib/puppet/metatype/manager.rb +9 -7
  239. data/lib/puppet/module/task.rb +267 -0
  240. data/lib/puppet/module.rb +70 -14
  241. data/lib/puppet/module_tool/applications/application.rb +5 -5
  242. data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
  243. data/lib/puppet/module_tool/applications/installer.rb +9 -7
  244. data/lib/puppet/module_tool/applications/uninstaller.rb +4 -2
  245. data/lib/puppet/module_tool/applications/unpacker.rb +4 -4
  246. data/lib/puppet/module_tool/applications/upgrader.rb +8 -6
  247. data/lib/puppet/module_tool/applications.rb +0 -1
  248. data/lib/puppet/module_tool/dependency.rb +1 -1
  249. data/lib/puppet/module_tool/errors/installer.rb +18 -20
  250. data/lib/puppet/module_tool/errors/shared.rb +20 -15
  251. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  252. data/lib/puppet/module_tool/errors/upgrader.rb +1 -1
  253. data/lib/puppet/module_tool/installed_modules.rb +3 -3
  254. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  255. data/lib/puppet/module_tool/metadata.rb +3 -5
  256. data/lib/puppet/module_tool/shared_behaviors.rb +2 -2
  257. data/lib/puppet/module_tool/tar/mini.rb +57 -4
  258. data/lib/puppet/module_tool.rb +2 -5
  259. data/lib/puppet/network/auth_config_parser.rb +18 -13
  260. data/lib/puppet/network/authconfig.rb +1 -14
  261. data/lib/puppet/network/authstore.rb +3 -3
  262. data/lib/puppet/network/client_request.rb +1 -1
  263. data/lib/puppet/network/format.rb +3 -3
  264. data/lib/puppet/network/format_support.rb +14 -9
  265. data/lib/puppet/network/formats.rb +98 -9
  266. data/lib/puppet/network/http/api/indirected_routes.rb +11 -3
  267. data/lib/puppet/network/http/api/indirection_type.rb +1 -1
  268. data/lib/puppet/network/http/api/master/v3/environment.rb +7 -4
  269. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
  270. data/lib/puppet/network/http/api.rb +1 -10
  271. data/lib/puppet/network/http/compression.rb +1 -1
  272. data/lib/puppet/network/http/connection.rb +105 -25
  273. data/lib/puppet/network/http/error.rb +10 -10
  274. data/lib/puppet/network/http/factory.rb +8 -0
  275. data/lib/puppet/network/http/handler.rb +59 -27
  276. data/lib/puppet/network/http.rb +0 -2
  277. data/lib/puppet/network/resolver.rb +139 -67
  278. data/lib/puppet/network/rights.rb +1 -1
  279. data/lib/puppet/node/environment.rb +23 -20
  280. data/lib/puppet/node/facts.rb +20 -1
  281. data/lib/puppet/node.rb +80 -8
  282. data/lib/puppet/parameter/boolean.rb +1 -1
  283. data/lib/puppet/parameter/value_collection.rb +9 -9
  284. data/lib/puppet/parameter.rb +15 -10
  285. data/lib/puppet/parser/abstract_compiler.rb +36 -0
  286. data/lib/puppet/parser/ast/branch.rb +4 -4
  287. data/lib/puppet/parser/ast/leaf.rb +7 -2
  288. data/lib/puppet/parser/ast/node.rb +2 -2
  289. data/lib/puppet/parser/ast/pops_bridge.rb +26 -52
  290. data/lib/puppet/parser/ast.rb +4 -8
  291. data/lib/puppet/parser/catalog_compiler.rb +32 -0
  292. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
  293. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +9 -2
  294. data/lib/puppet/parser/compiler.rb +29 -61
  295. data/lib/puppet/parser/functions/assert_type.rb +4 -4
  296. data/lib/puppet/parser/functions/binary_file.rb +1 -1
  297. data/lib/puppet/parser/functions/break.rb +1 -1
  298. data/lib/puppet/parser/functions/create_resources.rb +7 -7
  299. data/lib/puppet/parser/functions/defined.rb +1 -1
  300. data/lib/puppet/parser/functions/dig.rb +12 -3
  301. data/lib/puppet/parser/functions/each.rb +3 -3
  302. data/lib/puppet/parser/functions/epp.rb +4 -1
  303. data/lib/puppet/parser/functions/filter.rb +3 -3
  304. data/lib/puppet/parser/functions/find_file.rb +1 -1
  305. data/lib/puppet/parser/functions/fqdn_rand.rb +16 -1
  306. data/lib/puppet/parser/functions/generate.rb +3 -5
  307. data/lib/puppet/parser/functions/hiera.rb +4 -4
  308. data/lib/puppet/parser/functions/hiera_array.rb +5 -5
  309. data/lib/puppet/parser/functions/hiera_hash.rb +6 -6
  310. data/lib/puppet/parser/functions/hiera_include.rb +10 -11
  311. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  312. data/lib/puppet/parser/functions/inline_template.rb +8 -3
  313. data/lib/puppet/parser/functions/lest.rb +2 -2
  314. data/lib/puppet/parser/functions/lookup.rb +1 -1
  315. data/lib/puppet/parser/functions/map.rb +2 -2
  316. data/lib/puppet/parser/functions/match.rb +1 -1
  317. data/lib/puppet/parser/functions/new.rb +106 -54
  318. data/lib/puppet/parser/functions/next.rb +1 -1
  319. data/lib/puppet/parser/functions/realize.rb +6 -0
  320. data/lib/puppet/parser/functions/reduce.rb +33 -2
  321. data/lib/puppet/parser/functions/return.rb +23 -2
  322. data/lib/puppet/parser/functions/reverse_each.rb +3 -3
  323. data/lib/puppet/parser/functions/scanf.rb +1 -1
  324. data/lib/puppet/parser/functions/sha256.rb +5 -0
  325. data/lib/puppet/parser/functions/slice.rb +1 -1
  326. data/lib/puppet/parser/functions/sprintf.rb +28 -3
  327. data/lib/puppet/parser/functions/step.rb +2 -2
  328. data/lib/puppet/parser/functions/strftime.rb +1 -1
  329. data/lib/puppet/parser/functions/tag.rb +6 -0
  330. data/lib/puppet/parser/functions/tagged.rb +6 -3
  331. data/lib/puppet/parser/functions/template.rb +11 -2
  332. data/lib/puppet/parser/functions/then.rb +2 -2
  333. data/lib/puppet/parser/functions/type.rb +1 -1
  334. data/lib/puppet/parser/functions/with.rb +5 -5
  335. data/lib/puppet/parser/functions.rb +40 -7
  336. data/lib/puppet/parser/parser_factory.rb +1 -1
  337. data/lib/puppet/parser/relationship.rb +2 -2
  338. data/lib/puppet/parser/resource/param.rb +12 -5
  339. data/lib/puppet/parser/resource.rb +39 -12
  340. data/lib/puppet/parser/scope.rb +55 -24
  341. data/lib/puppet/parser/script_compiler.rb +123 -0
  342. data/lib/puppet/parser/templatewrapper.rb +4 -3
  343. data/lib/puppet/parser/type_loader.rb +12 -12
  344. data/lib/puppet/parser.rb +1 -0
  345. data/lib/puppet/pops/adapters.rb +14 -0
  346. data/lib/puppet/pops/evaluator/access_operator.rb +49 -8
  347. data/lib/puppet/pops/evaluator/closure.rb +12 -4
  348. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -3
  349. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
  350. data/lib/puppet/pops/evaluator/compare_operator.rb +7 -5
  351. data/lib/puppet/pops/evaluator/deferred_resolver.rb +127 -0
  352. data/lib/puppet/pops/evaluator/epp_evaluator.rb +36 -10
  353. data/lib/puppet/pops/evaluator/evaluator_impl.rb +61 -17
  354. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  355. data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
  356. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
  357. data/lib/puppet/pops/evaluator/runtime3_converter.rb +29 -8
  358. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +4 -4
  359. data/lib/puppet/pops/evaluator/runtime3_support.rb +17 -20
  360. data/lib/puppet/pops/functions/dispatch.rb +13 -6
  361. data/lib/puppet/pops/functions/function.rb +10 -4
  362. data/lib/puppet/pops/issue_reporter.rb +25 -3
  363. data/lib/puppet/pops/issues.rb +82 -15
  364. data/lib/puppet/pops/label_provider.rb +1 -1
  365. data/lib/puppet/pops/loader/base_loader.rb +10 -0
  366. data/lib/puppet/pops/loader/dependency_loader.rb +7 -0
  367. data/lib/puppet/pops/loader/loader.rb +22 -3
  368. data/lib/puppet/pops/loader/loader_paths.rb +183 -31
  369. data/lib/puppet/pops/loader/module_loaders.rb +239 -41
  370. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
  371. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +10 -10
  372. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +39 -0
  373. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
  374. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +54 -0
  375. data/lib/puppet/pops/loader/runtime3_type_loader.rb +6 -1
  376. data/lib/puppet/pops/loader/static_loader.rb +23 -45
  377. data/lib/puppet/pops/loader/task_instantiator.rb +97 -0
  378. data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -1
  379. data/lib/puppet/pops/loaders.rb +158 -45
  380. data/lib/puppet/pops/lookup/context.rb +1 -1
  381. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  382. data/lib/puppet/pops/lookup/explainer.rb +2 -1
  383. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  384. data/lib/puppet/pops/lookup/hiera_config.rb +4 -4
  385. data/lib/puppet/pops/lookup/interpolation.rb +1 -1
  386. data/lib/puppet/pops/lookup/lookup_adapter.rb +61 -12
  387. data/lib/puppet/pops/merge_strategy.rb +7 -4
  388. data/lib/puppet/pops/migration/migration_checker.rb +8 -8
  389. data/lib/puppet/pops/model/ast.pp +19 -0
  390. data/lib/puppet/pops/model/ast.rb +567 -436
  391. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  392. data/lib/puppet/pops/model/factory.rb +232 -147
  393. data/lib/puppet/pops/model/model_label_provider.rb +9 -1
  394. data/lib/puppet/pops/model/model_tree_dumper.rb +17 -2
  395. data/lib/puppet/pops/model/pn_transformer.rb +400 -0
  396. data/lib/puppet/pops/model/tree_dumper.rb +1 -1
  397. data/lib/puppet/pops/parser/code_merger.rb +2 -2
  398. data/lib/puppet/pops/parser/egrammar.ra +85 -24
  399. data/lib/puppet/pops/parser/eparser.rb +1791 -1578
  400. data/lib/puppet/pops/parser/epp_parser.rb +1 -1
  401. data/lib/puppet/pops/parser/epp_support.rb +7 -5
  402. data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
  403. data/lib/puppet/pops/parser/heredoc_support.rb +2 -2
  404. data/lib/puppet/pops/parser/interpolation_support.rb +2 -2
  405. data/lib/puppet/pops/parser/lexer2.rb +5 -5
  406. data/lib/puppet/pops/parser/lexer_support.rb +5 -4
  407. data/lib/puppet/pops/parser/locatable.rb +1 -1
  408. data/lib/puppet/pops/parser/locator.rb +7 -15
  409. data/lib/puppet/pops/parser/parser_support.rb +3 -3
  410. data/lib/puppet/pops/parser/pn_parser.rb +316 -0
  411. data/lib/puppet/pops/parser/slurp_support.rb +0 -3
  412. data/lib/puppet/pops/patterns.rb +2 -1
  413. data/lib/puppet/pops/pcore.rb +67 -12
  414. data/lib/puppet/pops/pn.rb +236 -0
  415. data/lib/puppet/pops/puppet_stack.rb +15 -1
  416. data/lib/puppet/pops/resource/param.rb +2 -2
  417. data/lib/puppet/pops/resource/resource_type_impl.rb +4 -4
  418. data/lib/puppet/pops/serialization/abstract_reader.rb +4 -0
  419. data/lib/puppet/pops/serialization/abstract_writer.rb +8 -1
  420. data/lib/puppet/pops/serialization/extension.rb +1 -0
  421. data/lib/puppet/pops/serialization/from_data_converter.rb +69 -26
  422. data/lib/puppet/pops/serialization/json.rb +7 -7
  423. data/lib/puppet/pops/serialization/json_path.rb +3 -2
  424. data/lib/puppet/pops/serialization/object.rb +3 -4
  425. data/lib/puppet/pops/serialization/serializer.rb +2 -1
  426. data/lib/puppet/pops/serialization/to_data_converter.rb +27 -14
  427. data/lib/puppet/pops/serialization/to_stringified_converter.rb +226 -0
  428. data/lib/puppet/pops/serialization.rb +3 -2
  429. data/lib/puppet/pops/time/timespan.rb +1 -1
  430. data/lib/puppet/pops/time/timestamp.rb +31 -19
  431. data/lib/puppet/pops/types/annotatable.rb +2 -2
  432. data/lib/puppet/pops/types/annotation.rb +8 -8
  433. data/lib/puppet/pops/types/class_loader.rb +9 -6
  434. data/lib/puppet/pops/types/implementation_registry.rb +29 -36
  435. data/lib/puppet/pops/types/iterable.rb +42 -11
  436. data/lib/puppet/pops/types/p_binary_type.rb +12 -6
  437. data/lib/puppet/pops/types/p_init_type.rb +238 -0
  438. data/lib/puppet/pops/types/p_meta_type.rb +18 -11
  439. data/lib/puppet/pops/types/p_object_type.rb +240 -48
  440. data/lib/puppet/pops/types/p_object_type_extension.rb +218 -0
  441. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +5 -6
  442. data/lib/puppet/pops/types/p_sem_ver_type.rb +12 -4
  443. data/lib/puppet/pops/types/p_sensitive_type.rb +2 -2
  444. data/lib/puppet/pops/types/p_timespan_type.rb +9 -9
  445. data/lib/puppet/pops/types/p_timestamp_type.rb +7 -3
  446. data/lib/puppet/pops/types/p_type_set_type.rb +33 -10
  447. data/lib/puppet/pops/types/p_uri_type.rb +190 -0
  448. data/lib/puppet/pops/types/puppet_object.rb +16 -2
  449. data/lib/puppet/pops/types/ruby_generator.rb +111 -78
  450. data/lib/puppet/pops/types/ruby_method.rb +2 -2
  451. data/lib/puppet/pops/types/string_converter.rb +38 -14
  452. data/lib/puppet/pops/types/tree_iterators.rb +254 -0
  453. data/lib/puppet/pops/types/type_acceptor.rb +1 -1
  454. data/lib/puppet/pops/types/type_calculator.rb +31 -20
  455. data/lib/puppet/pops/types/type_factory.rb +82 -17
  456. data/lib/puppet/pops/types/type_formatter.rb +77 -9
  457. data/lib/puppet/pops/types/type_mismatch_describer.rb +106 -137
  458. data/lib/puppet/pops/types/type_parser.rb +130 -24
  459. data/lib/puppet/pops/types/type_set_reference.rb +2 -2
  460. data/lib/puppet/pops/types/type_with_members.rb +43 -0
  461. data/lib/puppet/pops/types/types.rb +456 -219
  462. data/lib/puppet/pops/utils.rb +2 -2
  463. data/lib/puppet/pops/validation/checker4_0.rb +145 -8
  464. data/lib/puppet/pops/validation/tasks_checker.rb +101 -0
  465. data/lib/puppet/pops/validation/validator_factory_4_0.rb +13 -8
  466. data/lib/puppet/pops/validation.rb +14 -12
  467. data/lib/puppet/pops.rb +2 -1
  468. data/lib/puppet/property/ensure.rb +2 -2
  469. data/lib/puppet/property/keyvalue.rb +70 -8
  470. data/lib/puppet/property.rb +15 -7
  471. data/lib/puppet/provider/aix_object.rb +483 -0
  472. data/lib/puppet/provider/exec.rb +0 -2
  473. data/lib/puppet/provider/file/windows.rb +1 -1
  474. data/lib/puppet/provider/group/aix.rb +51 -110
  475. data/lib/puppet/provider/group/groupadd.rb +27 -1
  476. data/lib/puppet/provider/group/windows_adsi.rb +4 -7
  477. data/lib/puppet/provider/ldap.rb +2 -2
  478. data/lib/puppet/provider/nameservice/directoryservice.rb +7 -6
  479. data/lib/puppet/provider/nameservice/objectadd.rb +13 -24
  480. data/lib/puppet/provider/nameservice/pw.rb +14 -14
  481. data/lib/puppet/provider/nameservice.rb +20 -10
  482. data/lib/puppet/provider/package/aix.rb +5 -5
  483. data/lib/puppet/provider/package/appdmg.rb +0 -1
  484. data/lib/puppet/provider/package/apple.rb +0 -1
  485. data/lib/puppet/provider/package/dnf.rb +2 -1
  486. data/lib/puppet/provider/package/gem.rb +13 -12
  487. data/lib/puppet/provider/package/macports.rb +2 -2
  488. data/lib/puppet/provider/package/nim.rb +7 -8
  489. data/lib/puppet/provider/package/opkg.rb +1 -1
  490. data/lib/puppet/provider/package/pacman.rb +4 -4
  491. data/lib/puppet/provider/package/pip.rb +15 -6
  492. data/lib/puppet/provider/package/pkg.rb +12 -6
  493. data/lib/puppet/provider/package/pkgdmg.rb +3 -4
  494. data/lib/puppet/provider/package/pkgutil.rb +5 -5
  495. data/lib/puppet/provider/package/portage.rb +9 -10
  496. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  497. data/lib/puppet/provider/package/rpm.rb +1 -1
  498. data/lib/puppet/provider/package/windows/package.rb +1 -1
  499. data/lib/puppet/provider/package/yum.rb +34 -10
  500. data/lib/puppet/provider/package/zypper.rb +5 -5
  501. data/lib/puppet/provider/parsedfile.rb +4 -4
  502. data/lib/puppet/provider/service/base.rb +23 -10
  503. data/lib/puppet/provider/service/debian.rb +1 -0
  504. data/lib/puppet/provider/service/init.rb +2 -1
  505. data/lib/puppet/provider/service/launchd.rb +7 -8
  506. data/lib/puppet/provider/service/redhat.rb +3 -2
  507. data/lib/puppet/provider/service/runit.rb +2 -1
  508. data/lib/puppet/provider/service/smf.rb +5 -3
  509. data/lib/puppet/provider/service/systemd.rb +6 -3
  510. data/lib/puppet/provider/service/upstart.rb +11 -1
  511. data/lib/puppet/provider/service/windows.rb +37 -40
  512. data/lib/puppet/provider/user/aix.rb +143 -247
  513. data/lib/puppet/provider/user/openbsd.rb +3 -2
  514. data/lib/puppet/provider/user/pw.rb +1 -1
  515. data/lib/puppet/provider/user/user_role_add.rb +7 -1
  516. data/lib/puppet/provider/user/useradd.rb +40 -6
  517. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  518. data/lib/puppet/provider.rb +34 -13
  519. data/lib/puppet/reference/configuration.rb +12 -2
  520. data/lib/puppet/reference/providers.rb +1 -1
  521. data/lib/puppet/reference/report.rb +1 -1
  522. data/lib/puppet/reference/type.rb +11 -12
  523. data/lib/puppet/relationship.rb +2 -1
  524. data/lib/puppet/reports/http.rb +4 -2
  525. data/lib/puppet/reports/store.rb +1 -1
  526. data/lib/puppet/reports.rb +2 -2
  527. data/lib/puppet/resource/capability_finder.rb +49 -27
  528. data/lib/puppet/resource/catalog.rb +42 -34
  529. data/lib/puppet/resource/status.rb +11 -3
  530. data/lib/puppet/resource/type.rb +16 -12
  531. data/lib/puppet/resource/type_collection.rb +2 -2
  532. data/lib/puppet/resource.rb +30 -12
  533. data/lib/puppet/rest/client.rb +83 -0
  534. data/lib/puppet/rest/errors.rb +14 -0
  535. data/lib/puppet/rest/response.rb +34 -0
  536. data/lib/puppet/rest/route.rb +84 -0
  537. data/lib/puppet/rest/routes.rb +154 -0
  538. data/lib/puppet/rest/ssl_context.rb +13 -0
  539. data/lib/puppet/settings/base_setting.rb +29 -9
  540. data/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
  541. data/lib/puppet/settings/config_file.rb +16 -7
  542. data/lib/puppet/settings/environment_conf.rb +29 -11
  543. data/lib/puppet/settings/file_setting.rb +1 -1
  544. data/lib/puppet/settings/ini_file.rb +66 -12
  545. data/lib/puppet/settings/ttl_setting.rb +5 -0
  546. data/lib/puppet/settings.rb +68 -38
  547. data/lib/puppet/ssl/base.rb +10 -13
  548. data/lib/puppet/ssl/certificate.rb +6 -2
  549. data/lib/puppet/ssl/certificate_request.rb +19 -21
  550. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  551. data/lib/puppet/ssl/certificate_signer.rb +11 -0
  552. data/lib/puppet/ssl/host.rb +413 -174
  553. data/lib/puppet/ssl/key.rb +1 -5
  554. data/lib/puppet/ssl/oids.rb +10 -4
  555. data/lib/puppet/ssl/validator/default_validator.rb +33 -19
  556. data/lib/puppet/ssl.rb +0 -1
  557. data/lib/puppet/syntax_checkers/base64.rb +6 -7
  558. data/lib/puppet/syntax_checkers/json.rb +1 -1
  559. data/lib/puppet/test/test_helper.rb +2 -3
  560. data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
  561. data/lib/puppet/transaction/event.rb +38 -15
  562. data/lib/puppet/transaction/event_manager.rb +3 -1
  563. data/lib/puppet/transaction/persistence.rb +17 -2
  564. data/lib/puppet/transaction/report.rb +33 -16
  565. data/lib/puppet/transaction.rb +43 -16
  566. data/lib/puppet/type/exec.rb +23 -20
  567. data/lib/puppet/type/file/checksum.rb +7 -1
  568. data/lib/puppet/type/file/checksum_value.rb +4 -3
  569. data/lib/puppet/type/file/content.rb +17 -5
  570. data/lib/puppet/type/file/data_sync.rb +2 -1
  571. data/lib/puppet/type/file/ensure.rb +1 -1
  572. data/lib/puppet/type/file/mode.rb +1 -1
  573. data/lib/puppet/type/file/source.rb +21 -8
  574. data/lib/puppet/type/file.rb +36 -25
  575. data/lib/puppet/type/group.rb +7 -6
  576. data/lib/puppet/type/notify.rb +1 -1
  577. data/lib/puppet/type/package.rb +5 -8
  578. data/lib/puppet/type/resources.rb +1 -1
  579. data/lib/puppet/type/schedule.rb +73 -112
  580. data/lib/puppet/type/service.rb +3 -6
  581. data/lib/puppet/type/stage.rb +1 -1
  582. data/lib/puppet/type/tidy.rb +21 -8
  583. data/lib/puppet/type/user.rb +98 -50
  584. data/lib/puppet/type.rb +76 -67
  585. data/lib/puppet/util/at_fork/solaris.rb +6 -4
  586. data/lib/puppet/util/autoload.rb +62 -54
  587. data/lib/puppet/util/backups.rb +1 -1
  588. data/lib/puppet/util/character_encoding.rb +2 -24
  589. data/lib/puppet/util/checksums.rb +82 -3
  590. data/lib/puppet/util/classgen.rb +0 -6
  591. data/lib/puppet/util/command_line/trollop.rb +6 -5
  592. data/lib/puppet/util/command_line.rb +5 -1
  593. data/lib/puppet/util/connection.rb +74 -0
  594. data/lib/puppet/util/errors.rb +59 -8
  595. data/lib/puppet/util/execution.rb +70 -17
  596. data/lib/puppet/util/feature.rb +63 -41
  597. data/lib/puppet/util/fileparsing.rb +30 -10
  598. data/lib/puppet/util/filetype.rb +2 -2
  599. data/lib/puppet/util/http_proxy.rb +18 -8
  600. data/lib/puppet/util/inifile.rb +3 -4
  601. data/lib/puppet/util/instance_loader.rb +4 -24
  602. data/lib/puppet/util/json.rb +69 -0
  603. data/lib/puppet/util/json_lockfile.rb +3 -3
  604. data/lib/puppet/util/ldap/connection.rb +7 -7
  605. data/lib/puppet/util/ldap/manager.rb +6 -3
  606. data/lib/puppet/util/log/destinations.rb +13 -4
  607. data/lib/puppet/util/log.rb +30 -33
  608. data/lib/puppet/util/logging.rb +26 -29
  609. data/lib/puppet/util/monkey_patches.rb +1 -1
  610. data/lib/puppet/util/network_device/base.rb +1 -1
  611. data/lib/puppet/util/network_device/config.rb +22 -15
  612. data/lib/puppet/util/platform.rb +16 -0
  613. data/lib/puppet/util/plist.rb +7 -5
  614. data/lib/puppet/util/posix.rb +1 -1
  615. data/lib/puppet/util/provider_features.rb +3 -6
  616. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +3 -3
  617. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  618. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  619. data/lib/puppet/util/rdoc.rb +1 -1
  620. data/lib/puppet/util/reference.rb +8 -15
  621. data/lib/puppet/util/rubygems.rb +1 -13
  622. data/lib/puppet/util/run_mode.rb +1 -1
  623. data/lib/puppet/util/selinux.rb +1 -1
  624. data/lib/puppet/util/ssl.rb +40 -1
  625. data/lib/puppet/util/storage.rb +3 -3
  626. data/lib/puppet/util/suidmanager.rb +8 -5
  627. data/lib/puppet/util/tag_set.rb +1 -1
  628. data/lib/puppet/util/tagging.rb +18 -5
  629. data/lib/puppet/util/warnings.rb +0 -2
  630. data/lib/puppet/util/windows/adsi.rb +160 -214
  631. data/lib/puppet/util/windows/api_types.rb +9 -5
  632. data/lib/puppet/util/windows/com.rb +2 -1
  633. data/lib/puppet/util/windows/eventlog.rb +10 -5
  634. data/lib/puppet/util/windows/file.rb +113 -12
  635. data/lib/puppet/util/windows/principal.rb +7 -6
  636. data/lib/puppet/util/windows/process.rb +10 -2
  637. data/lib/puppet/util/windows/registry.rb +2 -2
  638. data/lib/puppet/util/windows/security.rb +26 -14
  639. data/lib/puppet/util/windows/service.rb +770 -0
  640. data/lib/puppet/util/windows/sid.rb +60 -9
  641. data/lib/puppet/util/windows.rb +19 -2
  642. data/lib/puppet/util/yaml.rb +41 -5
  643. data/lib/puppet/util.rb +50 -50
  644. data/lib/puppet/vendor/deep_merge/README.md +2 -2
  645. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +18 -18
  646. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +1 -1
  647. data/lib/puppet/version.rb +1 -1
  648. data/lib/puppet.rb +12 -68
  649. data/lib/puppet_pal.rb +1102 -0
  650. data/locales/en/puppet.po +19 -0
  651. data/locales/ja/puppet.po +11128 -0
  652. data/locales/puppet.pot +3723 -2251
  653. data/man/man5/puppet.conf.5 +342 -187
  654. data/man/man8/puppet-agent.8 +36 -10
  655. data/man/man8/puppet-apply.8 +21 -6
  656. data/man/man8/puppet-catalog.8 +12 -15
  657. data/man/man8/puppet-config.8 +40 -6
  658. data/man/man8/puppet-describe.8 +3 -3
  659. data/man/man8/puppet-device.8 +48 -14
  660. data/man/man8/puppet-doc.8 +5 -5
  661. data/man/man8/puppet-epp.8 +49 -21
  662. data/man/man8/puppet-facts.8 +58 -9
  663. data/man/man8/puppet-filebucket.8 +76 -10
  664. data/man/man8/puppet-generate.8 +84 -0
  665. data/man/man8/puppet-help.8 +4 -4
  666. data/man/man8/puppet-key.8 +11 -17
  667. data/man/man8/puppet-lookup.8 +104 -0
  668. data/man/man8/puppet-man.8 +13 -7
  669. data/man/man8/puppet-module.8 +29 -98
  670. data/man/man8/puppet-node.8 +12 -15
  671. data/man/man8/puppet-parser.8 +34 -11
  672. data/man/man8/puppet-plugin.8 +4 -4
  673. data/man/man8/puppet-report.8 +9 -9
  674. data/man/man8/puppet-resource.8 +4 -8
  675. data/man/man8/puppet-script.8 +67 -0
  676. data/man/man8/puppet-ssl.8 +28 -0
  677. data/man/man8/puppet-status.8 +9 -9
  678. data/man/man8/puppet.8 +21 -3
  679. data/spec/fixtures/unit/application/environments/production/data/common.yaml +2 -0
  680. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +22 -0
  681. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +18 -0
  682. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +7 -0
  683. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
  684. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -6
  685. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +1 -0
  686. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +1 -0
  687. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -1
  688. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +36 -0
  689. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +1 -0
  690. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +3 -0
  691. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +32 -0
  692. data/spec/integration/agent/logging_spec.rb +4 -2
  693. data/spec/integration/application/apply_spec.rb +33 -26
  694. data/spec/integration/application/lookup_spec.rb +21 -0
  695. data/spec/integration/configurer_spec.rb +2 -5
  696. data/spec/integration/data_binding_spec.rb +1 -0
  697. data/spec/integration/defaults_spec.rb +5 -10
  698. data/spec/integration/faces/config_spec.rb +16 -4
  699. data/spec/integration/faces/plugin_spec.rb +3 -0
  700. data/spec/integration/file_bucket/file_spec.rb +20 -22
  701. data/spec/integration/file_system/uniquefile_spec.rb +26 -29
  702. data/spec/integration/indirector/facts/facter_spec.rb +4 -14
  703. data/spec/integration/indirector/file_content/file_server_spec.rb +17 -0
  704. data/spec/integration/indirector/file_metadata/file_server_spec.rb +10 -0
  705. data/spec/integration/network/authconfig_spec.rb +2 -2
  706. data/spec/integration/network/http/api/indirected_routes_spec.rb +9 -38
  707. data/spec/integration/node/environment_spec.rb +1 -1
  708. data/spec/integration/node_spec.rb +0 -4
  709. data/spec/integration/parser/catalog_spec.rb +10 -6
  710. data/spec/integration/parser/collection_spec.rb +42 -3
  711. data/spec/integration/parser/compiler_spec.rb +43 -24
  712. data/spec/integration/parser/pcore_resource_spec.rb +3 -3
  713. data/spec/integration/parser/scope_spec.rb +18 -5
  714. data/spec/integration/parser/script_compiler_spec.rb +113 -0
  715. data/spec/integration/provider/service/init_spec.rb +4 -2
  716. data/spec/integration/provider/service/systemd_spec.rb +8 -4
  717. data/spec/integration/provider/service/windows_spec.rb +5 -3
  718. data/spec/integration/reference/providers_spec.rb +6 -0
  719. data/spec/integration/ssl/certificate_request_spec.rb +0 -2
  720. data/spec/integration/ssl/host_spec.rb +16 -24
  721. data/spec/integration/ssl/key_spec.rb +3 -3
  722. data/spec/integration/test/test_helper_spec.rb +32 -32
  723. data/spec/integration/transaction/report_spec.rb +11 -6
  724. data/spec/integration/type/exec_spec.rb +1 -1
  725. data/spec/integration/type/file_spec.rb +72 -18
  726. data/spec/integration/type/package_spec.rb +1 -1
  727. data/spec/integration/type_spec.rb +1 -2
  728. data/spec/integration/util/autoload_spec.rb +9 -6
  729. data/spec/integration/util/execution_spec.rb +13 -5
  730. data/spec/integration/util/rdoc/parser_spec.rb +13 -23
  731. data/spec/integration/util/settings_spec.rb +2 -1
  732. data/spec/integration/util/windows/adsi_spec.rb +89 -4
  733. data/spec/integration/util/windows/principal_spec.rb +12 -3
  734. data/spec/integration/util/windows/process_spec.rb +48 -3
  735. data/spec/integration/util/windows/registry_spec.rb +1 -1
  736. data/spec/integration/util/windows/security_spec.rb +98 -8
  737. data/spec/integration/util/windows/user_spec.rb +1 -1
  738. data/spec/integration/util_spec.rb +3 -3
  739. data/spec/lib/matchers/json.rb +27 -32
  740. data/{lib/puppet/ssl → spec/lib/puppet}/certificate_factory.rb +5 -6
  741. data/spec/lib/puppet/test_ca.rb +109 -0
  742. data/spec/lib/puppet_spec/compiler.rb +27 -0
  743. data/spec/lib/puppet_spec/files.rb +28 -23
  744. data/spec/lib/puppet_spec/language.rb +34 -35
  745. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
  746. data/spec/lib/puppet_spec/modules.rb +20 -0
  747. data/spec/lib/puppet_spec/ssl.rb +265 -0
  748. data/spec/lib/puppet_spec/validators.rb +37 -0
  749. data/spec/shared_behaviours/file_server_terminus.rb +0 -2
  750. data/spec/shared_behaviours/file_serving_model.rb +0 -19
  751. data/spec/shared_behaviours/path_parameters.rb +1 -1
  752. data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
  753. data/spec/shared_contexts/checksum.rb +4 -1
  754. data/spec/shared_contexts/digests.rb +46 -1
  755. data/spec/shared_contexts/types_setup.rb +66 -7
  756. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  757. data/spec/spec_helper.rb +7 -14
  758. data/spec/unit/agent_spec.rb +48 -4
  759. data/spec/unit/application/agent_spec.rb +5 -20
  760. data/spec/unit/application/apply_spec.rb +4 -12
  761. data/spec/unit/application/config_spec.rb +4 -0
  762. data/spec/unit/application/device_spec.rb +141 -10
  763. data/spec/unit/application/face_base_spec.rb +2 -2
  764. data/spec/unit/application/filebucket_spec.rb +18 -4
  765. data/spec/unit/application/lookup_spec.rb +46 -9
  766. data/spec/unit/application/ssl_spec.rb +322 -0
  767. data/spec/unit/application_spec.rb +46 -4
  768. data/spec/unit/capability_spec.rb +11 -9
  769. data/spec/unit/{ssl/certificate_factory_spec.rb → certificate_factory_spec.rb} +9 -18
  770. data/spec/unit/configurer/downloader_spec.rb +6 -1
  771. data/spec/unit/configurer/plugin_handler_spec.rb +46 -18
  772. data/spec/unit/configurer_spec.rb +90 -33
  773. data/spec/unit/confine_spec.rb +16 -0
  774. data/spec/unit/context/trusted_information_spec.rb +3 -2
  775. data/spec/unit/daemon_spec.rb +3 -2
  776. data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
  777. data/spec/unit/datatypes_spec.rb +353 -0
  778. data/spec/unit/defaults_spec.rb +108 -6
  779. data/spec/unit/environments_spec.rb +62 -0
  780. data/spec/unit/etc_spec.rb +1 -1
  781. data/spec/unit/face/config_spec.rb +185 -21
  782. data/spec/unit/face/epp_face_spec.rb +70 -6
  783. data/spec/unit/face/facts_spec.rb +53 -0
  784. data/spec/unit/face/help_spec.rb +64 -70
  785. data/spec/unit/face/man_spec.rb +26 -0
  786. data/spec/unit/face/module/list_spec.rb +0 -61
  787. data/spec/unit/face/module/search_spec.rb +12 -1
  788. data/spec/unit/face/node_spec.rb +9 -32
  789. data/spec/unit/face/parser_spec.rb +80 -2
  790. data/spec/unit/face/plugin_spec.rb +50 -4
  791. data/spec/unit/file_bucket/dipper_spec.rb +29 -13
  792. data/spec/unit/file_serving/base_spec.rb +6 -9
  793. data/spec/unit/file_serving/configuration/parser_spec.rb +2 -2
  794. data/spec/unit/file_serving/configuration_spec.rb +14 -4
  795. data/spec/unit/file_serving/content_spec.rb +0 -1
  796. data/spec/unit/file_serving/fileset_spec.rb +0 -1
  797. data/spec/unit/file_serving/metadata_spec.rb +4 -5
  798. data/spec/unit/file_serving/mount/locales_spec.rb +73 -0
  799. data/spec/unit/file_serving/mount/modules_spec.rb +1 -1
  800. data/spec/unit/file_serving/mount/tasks_spec.rb +72 -0
  801. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
  802. data/spec/unit/file_system/path_pattern_spec.rb +1 -1
  803. data/spec/unit/file_system/uniquefile_spec.rb +2 -2
  804. data/spec/unit/file_system_spec.rb +7 -4
  805. data/spec/unit/forge/forge_spec.rb +2 -2
  806. data/spec/unit/forge/module_release_spec.rb +70 -0
  807. data/spec/unit/forge_spec.rb +106 -2
  808. data/spec/unit/functions/abs_spec.rb +70 -0
  809. data/spec/unit/functions/all_spec.rb +97 -0
  810. data/spec/unit/functions/any_spec.rb +109 -0
  811. data/spec/unit/functions/assert_type_spec.rb +1 -1
  812. data/spec/unit/functions/break_spec.rb +144 -54
  813. data/spec/unit/functions/call_spec.rb +59 -5
  814. data/spec/unit/functions/camelcase_spec.rb +34 -0
  815. data/spec/unit/functions/capitalize_spec.rb +34 -0
  816. data/spec/unit/functions/ceiling_spec.rb +65 -0
  817. data/spec/unit/functions/chomp_spec.rb +46 -0
  818. data/spec/unit/functions/chop_spec.rb +38 -0
  819. data/spec/unit/functions/compare_spec.rb +147 -0
  820. data/spec/unit/functions/contain_spec.rb +1 -0
  821. data/spec/unit/functions/convert_to_spec.rb +25 -0
  822. data/spec/unit/functions/defined_spec.rb +2 -2
  823. data/spec/unit/functions/downcase_spec.rb +34 -0
  824. data/spec/unit/functions/empty_spec.rb +77 -0
  825. data/spec/unit/functions/epp_spec.rb +21 -3
  826. data/spec/unit/functions/filter_spec.rb +4 -4
  827. data/spec/unit/functions/flatten_spec.rb +31 -0
  828. data/spec/unit/functions/floor_spec.rb +65 -0
  829. data/spec/unit/functions/get_spec.rb +135 -0
  830. data/spec/unit/functions/getvar_spec.rb +121 -0
  831. data/spec/unit/functions/hiera_spec.rb +19 -49
  832. data/spec/unit/functions/include_spec.rb +16 -1
  833. data/spec/unit/functions/inline_epp_spec.rb +1 -1
  834. data/spec/unit/functions/join_spec.rb +33 -0
  835. data/spec/unit/functions/keys_spec.rb +31 -0
  836. data/spec/unit/functions/length_spec.rb +50 -0
  837. data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
  838. data/spec/unit/functions/lookup_spec.rb +198 -80
  839. data/spec/unit/functions/lstrip_spec.rb +30 -0
  840. data/spec/unit/functions/match_spec.rb +21 -4
  841. data/spec/unit/functions/max_spec.rb +129 -0
  842. data/spec/unit/functions/min_spec.rb +129 -0
  843. data/spec/unit/functions/module_directory_spec.rb +43 -0
  844. data/spec/unit/functions/new_spec.rb +81 -14
  845. data/spec/unit/functions/next_spec.rb +1 -1
  846. data/spec/unit/functions/regsubst_spec.rb +4 -5
  847. data/spec/unit/functions/require_spec.rb +2 -0
  848. data/spec/unit/functions/return_spec.rb +2 -2
  849. data/spec/unit/functions/round_spec.rb +41 -0
  850. data/spec/unit/functions/rstrip_spec.rb +30 -0
  851. data/spec/unit/functions/shared.rb +12 -0
  852. data/spec/unit/functions/size_spec.rb +50 -0
  853. data/spec/unit/functions/sort_spec.rb +79 -0
  854. data/spec/unit/functions/split_spec.rb +3 -4
  855. data/spec/unit/functions/step_spec.rb +1 -1
  856. data/spec/unit/functions/strftime_spec.rb +2 -2
  857. data/spec/unit/functions/strip_spec.rb +30 -0
  858. data/spec/unit/functions/tree_each_spec.rb +493 -0
  859. data/spec/unit/functions/upcase_spec.rb +34 -0
  860. data/spec/unit/functions/values_spec.rb +30 -0
  861. data/spec/unit/functions/versioncmp_spec.rb +3 -4
  862. data/spec/unit/functions4_spec.rb +146 -76
  863. data/spec/unit/gettext/config_spec.rb +144 -0
  864. data/spec/unit/gettext/module_loading_spec.rb +53 -0
  865. data/spec/unit/graph/relationship_graph_spec.rb +15 -0
  866. data/spec/unit/graph/simple_graph_spec.rb +43 -3
  867. data/spec/unit/indirector/catalog/compiler_spec.rb +3 -18
  868. data/spec/unit/indirector/certificate/file_spec.rb +0 -8
  869. data/spec/unit/indirector/direct_file_server_spec.rb +44 -46
  870. data/spec/unit/indirector/exec_spec.rb +29 -23
  871. data/spec/unit/indirector/facts/rest_spec.rb +45 -0
  872. data/spec/unit/indirector/facts/yaml_spec.rb +95 -78
  873. data/spec/unit/indirector/file_bucket_file/file_spec.rb +156 -99
  874. data/spec/unit/indirector/file_server_spec.rb +122 -116
  875. data/spec/unit/indirector/indirection_spec.rb +25 -10
  876. data/spec/unit/indirector/json_spec.rb +0 -11
  877. data/spec/unit/indirector/key/file_spec.rb +0 -17
  878. data/spec/unit/indirector/node/exec_spec.rb +43 -22
  879. data/spec/unit/indirector/request_spec.rb +47 -6
  880. data/spec/unit/indirector/resource/ral_spec.rb +1 -0
  881. data/spec/unit/indirector/rest_spec.rb +45 -2
  882. data/spec/unit/indirector/ssl_file_spec.rb +37 -59
  883. data/spec/unit/indirector/terminus_spec.rb +3 -3
  884. data/spec/unit/indirector/yaml_spec.rb +87 -64
  885. data/spec/unit/indirector_spec.rb +0 -1
  886. data/spec/unit/info_service_spec.rb +203 -3
  887. data/spec/unit/interface/action_manager_spec.rb +1 -1
  888. data/spec/unit/interface/action_spec.rb +34 -1
  889. data/spec/unit/interface_spec.rb +12 -0
  890. data/spec/unit/module_spec.rb +89 -4
  891. data/spec/unit/module_tool/applications/installer_spec.rb +10 -2
  892. data/spec/unit/module_tool/applications/uninstaller_spec.rb +8 -0
  893. data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
  894. data/spec/unit/module_tool/applications/upgrader_spec.rb +7 -1
  895. data/spec/unit/module_tool/tar/mini_spec.rb +34 -5
  896. data/spec/unit/network/formats_spec.rb +31 -13
  897. data/spec/unit/network/http/api/indirected_routes_spec.rb +9 -5
  898. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +5 -7
  899. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -1
  900. data/spec/unit/network/http/api_spec.rb +0 -26
  901. data/spec/unit/network/http/compression_spec.rb +6 -3
  902. data/spec/unit/network/http/connection_spec.rb +99 -47
  903. data/spec/unit/network/http/factory_spec.rb +32 -11
  904. data/spec/unit/network/http/handler_spec.rb +3 -2
  905. data/spec/unit/network/resolver_spec.rb +87 -12
  906. data/spec/unit/node/environment_spec.rb +38 -6
  907. data/spec/unit/node/facts_spec.rb +14 -1
  908. data/spec/unit/node_spec.rb +121 -23
  909. data/spec/unit/other/selinux_spec.rb +0 -71
  910. data/spec/unit/parser/ast/leaf_spec.rb +3 -4
  911. data/spec/unit/parser/compiler_spec.rb +9 -2
  912. data/spec/unit/parser/environment_compiler_spec.rb +55 -17
  913. data/spec/unit/parser/functions/create_resources_spec.rb +10 -1
  914. data/spec/unit/parser/functions/digest_spec.rb +1 -5
  915. data/spec/unit/parser/functions/fail_spec.rb +1 -5
  916. data/spec/unit/parser/functions/file_spec.rb +0 -4
  917. data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
  918. data/spec/unit/parser/functions/generate_spec.rb +29 -31
  919. data/spec/unit/parser/functions/inline_template_spec.rb +7 -4
  920. data/spec/unit/parser/functions/realize_spec.rb +9 -0
  921. data/spec/unit/parser/functions/regsubst_spec.rb +0 -4
  922. data/spec/unit/parser/functions/scanf_spec.rb +0 -4
  923. data/spec/unit/parser/functions/split_spec.rb +0 -4
  924. data/spec/unit/parser/functions/sprintf_spec.rb +26 -4
  925. data/spec/unit/parser/functions/tag_spec.rb +7 -4
  926. data/spec/unit/parser/functions/tagged_spec.rb +37 -0
  927. data/spec/unit/parser/functions/template_spec.rb +8 -4
  928. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -4
  929. data/spec/unit/parser/functions_spec.rb +27 -2
  930. data/spec/unit/parser/resource/param_spec.rb +2 -2
  931. data/spec/unit/parser/resource_spec.rb +0 -1
  932. data/spec/unit/parser/scope_spec.rb +23 -4
  933. data/spec/unit/parser/type_loader_spec.rb +1 -1
  934. data/spec/unit/pops/adaptable_spec.rb +0 -1
  935. data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -0
  936. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +10 -0
  937. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -1
  938. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +78 -16
  939. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +4 -8
  940. data/spec/unit/pops/factory_rspec_helper.rb +1 -1
  941. data/spec/unit/pops/factory_spec.rb +10 -6
  942. data/spec/unit/pops/issues_spec.rb +23 -8
  943. data/spec/unit/pops/loaders/dependency_loader_spec.rb +2 -2
  944. data/spec/unit/pops/loaders/loader_spec.rb +495 -0
  945. data/spec/unit/pops/loaders/loaders_spec.rb +64 -19
  946. data/spec/unit/pops/loaders/module_loaders_spec.rb +75 -0
  947. data/spec/unit/pops/loaders/static_loader_spec.rb +16 -44
  948. data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
  949. data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
  950. data/spec/unit/pops/model/model_spec.rb +5 -0
  951. data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
  952. data/spec/unit/pops/parser/lexer2_spec.rb +119 -26
  953. data/spec/unit/pops/parser/locator_spec.rb +20 -0
  954. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +67 -4
  955. data/spec/unit/pops/parser/parse_calls_spec.rb +28 -0
  956. data/spec/unit/pops/parser/parse_conditionals_spec.rb +12 -0
  957. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -1
  958. data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
  959. data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
  960. data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
  961. data/spec/unit/pops/parser/parse_plan_spec.rb +48 -0
  962. data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
  963. data/spec/unit/pops/parser/parser_spec.rb +138 -0
  964. data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
  965. data/spec/unit/pops/pn_spec.rb +148 -0
  966. data/spec/unit/pops/puppet_stack_spec.rb +38 -9
  967. data/spec/unit/pops/serialization/packer_spec.rb +8 -0
  968. data/spec/unit/pops/serialization/serialization_spec.rb +38 -6
  969. data/spec/unit/pops/serialization/to_from_hr_spec.rb +134 -5
  970. data/spec/unit/pops/serialization/to_stringified_spec.rb +157 -0
  971. data/spec/unit/pops/types/deferred_spec.rb +87 -0
  972. data/spec/unit/pops/types/error_spec.rb +207 -0
  973. data/spec/unit/pops/types/iterable_spec.rb +10 -10
  974. data/spec/unit/pops/types/p_init_type_spec.rb +383 -0
  975. data/spec/unit/pops/types/p_object_type_spec.rb +531 -54
  976. data/spec/unit/pops/types/p_sensitive_type_spec.rb +4 -0
  977. data/spec/unit/pops/types/p_timespan_type_spec.rb +32 -4
  978. data/spec/unit/pops/types/p_timestamp_type_spec.rb +64 -3
  979. data/spec/unit/pops/types/p_type_set_type_spec.rb +108 -4
  980. data/spec/unit/pops/types/p_uri_type_spec.rb +191 -0
  981. data/spec/unit/pops/types/ruby_generator_spec.rb +285 -73
  982. data/spec/unit/pops/types/string_converter_spec.rb +63 -17
  983. data/spec/unit/pops/types/task_spec.rb +485 -0
  984. data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
  985. data/spec/unit/pops/types/type_calculator_spec.rb +224 -63
  986. data/spec/unit/pops/types/type_factory_spec.rb +6 -6
  987. data/spec/unit/pops/types/type_formatter_spec.rb +37 -19
  988. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +21 -0
  989. data/spec/unit/pops/types/type_parser_spec.rb +39 -2
  990. data/spec/unit/pops/types/types_spec.rb +88 -10
  991. data/spec/unit/pops/validator/validator_spec.rb +435 -7
  992. data/spec/unit/property/keyvalue_spec.rb +97 -6
  993. data/spec/unit/property_spec.rb +14 -5
  994. data/spec/unit/provider/aix_object_spec.rb +805 -0
  995. data/spec/unit/provider/exec/posix_spec.rb +8 -8
  996. data/spec/unit/provider/exec/shell_spec.rb +2 -1
  997. data/spec/unit/provider/exec/windows_spec.rb +2 -2
  998. data/spec/unit/provider/file/windows_spec.rb +2 -2
  999. data/spec/unit/provider/group/aix_spec.rb +76 -0
  1000. data/spec/unit/provider/group/groupadd_spec.rb +77 -1
  1001. data/spec/unit/provider/group/pw_spec.rb +4 -4
  1002. data/spec/unit/provider/group/windows_adsi_spec.rb +80 -23
  1003. data/spec/unit/provider/ldap_spec.rb +0 -1
  1004. data/spec/unit/provider/nameservice_spec.rb +11 -11
  1005. data/spec/unit/provider/package/aix_spec.rb +26 -1
  1006. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  1007. data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
  1008. data/spec/unit/provider/package/dnf_spec.rb +9 -2
  1009. data/spec/unit/provider/package/dpkg_spec.rb +2 -2
  1010. data/spec/unit/provider/package/gem_spec.rb +17 -7
  1011. data/spec/unit/provider/package/nim_spec.rb +2 -11
  1012. data/spec/unit/provider/package/opkg_spec.rb +2 -2
  1013. data/spec/unit/provider/package/pip_spec.rb +38 -41
  1014. data/spec/unit/provider/package/pkg_spec.rb +64 -24
  1015. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1016. data/spec/unit/provider/package/puppet_gem_spec.rb +2 -2
  1017. data/spec/unit/provider/package/rpm_spec.rb +33 -14
  1018. data/spec/unit/provider/package/urpmi_spec.rb +9 -3
  1019. data/spec/unit/provider/package/windows/msi_package_spec.rb +1 -1
  1020. data/spec/unit/provider/package/windows/package_spec.rb +1 -1
  1021. data/spec/unit/provider/package/windows_spec.rb +3 -3
  1022. data/spec/unit/provider/package/yum_spec.rb +69 -0
  1023. data/spec/unit/provider/parsedfile_spec.rb +1 -1
  1024. data/spec/unit/provider/service/base_spec.rb +23 -5
  1025. data/spec/unit/provider/service/bsd_spec.rb +17 -16
  1026. data/spec/unit/provider/service/daemontools_spec.rb +2 -3
  1027. data/spec/unit/provider/service/debian_spec.rb +8 -4
  1028. data/spec/unit/provider/service/freebsd_spec.rb +2 -2
  1029. data/spec/unit/provider/service/gentoo_spec.rb +27 -26
  1030. data/spec/unit/provider/service/init_spec.rb +17 -16
  1031. data/spec/unit/provider/service/launchd_spec.rb +6 -3
  1032. data/spec/unit/provider/service/openbsd_spec.rb +43 -42
  1033. data/spec/unit/provider/service/openrc_spec.rb +35 -34
  1034. data/spec/unit/provider/service/openwrt_spec.rb +7 -5
  1035. data/spec/unit/provider/service/rcng_spec.rb +7 -6
  1036. data/spec/unit/provider/service/redhat_spec.rb +11 -6
  1037. data/spec/unit/provider/service/runit_spec.rb +2 -3
  1038. data/spec/unit/provider/service/smf_spec.rb +7 -7
  1039. data/spec/unit/provider/service/src_spec.rb +3 -4
  1040. data/spec/unit/provider/service/systemd_spec.rb +73 -51
  1041. data/spec/unit/provider/service/upstart_spec.rb +53 -14
  1042. data/spec/unit/provider/service/windows_spec.rb +49 -86
  1043. data/spec/unit/provider/user/aix_spec.rb +126 -121
  1044. data/spec/unit/provider/user/hpux_spec.rb +4 -3
  1045. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1046. data/spec/unit/provider/user/pw_spec.rb +14 -14
  1047. data/spec/unit/provider/user/user_role_add_spec.rb +20 -3
  1048. data/spec/unit/provider/user/useradd_spec.rb +194 -22
  1049. data/spec/unit/provider/user/windows_adsi_spec.rb +5 -5
  1050. data/spec/unit/provider_spec.rb +210 -14
  1051. data/spec/unit/puppet_pal_2pec.rb +1020 -0
  1052. data/spec/unit/puppet_pal_catalog_spec.rb +801 -0
  1053. data/spec/unit/puppet_pal_spec.rb +4 -0
  1054. data/spec/unit/puppet_spec.rb +31 -19
  1055. data/spec/unit/resource/capability_finder_spec.rb +16 -18
  1056. data/spec/unit/resource/catalog_spec.rb +27 -12
  1057. data/spec/unit/resource/status_spec.rb +17 -4
  1058. data/spec/unit/resource/type_collection_spec.rb +4 -1
  1059. data/spec/unit/resource/type_spec.rb +24 -9
  1060. data/spec/unit/resource_spec.rb +46 -5
  1061. data/spec/unit/rest/client_spec.rb +135 -0
  1062. data/spec/unit/rest/route_spec.rb +132 -0
  1063. data/spec/unit/settings/autosign_setting_spec.rb +2 -2
  1064. data/spec/unit/settings/certificate_revocation_setting_spec.rb +37 -0
  1065. data/spec/unit/settings/config_file_spec.rb +10 -1
  1066. data/spec/unit/settings/file_setting_spec.rb +17 -9
  1067. data/spec/unit/settings/ini_file_spec.rb +314 -5
  1068. data/spec/unit/settings/path_setting_spec.rb +1 -1
  1069. data/spec/unit/settings_spec.rb +57 -7
  1070. data/spec/unit/ssl/certificate_request_attributes_spec.rb +21 -8
  1071. data/spec/unit/ssl/certificate_request_spec.rb +62 -41
  1072. data/spec/unit/ssl/certificate_spec.rb +4 -7
  1073. data/spec/unit/ssl/host_spec.rb +248 -579
  1074. data/spec/unit/ssl/key_spec.rb +0 -15
  1075. data/spec/unit/ssl/validator_spec.rb +36 -167
  1076. data/spec/unit/task_spec.rb +247 -0
  1077. data/spec/unit/transaction/additional_resource_generator_spec.rb +64 -62
  1078. data/spec/unit/transaction/event_manager_spec.rb +12 -0
  1079. data/spec/unit/transaction/persistence_spec.rb +43 -1
  1080. data/spec/unit/transaction/report_spec.rb +62 -19
  1081. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  1082. data/spec/unit/transaction_spec.rb +134 -16
  1083. data/spec/unit/type/exec_spec.rb +11 -13
  1084. data/spec/unit/type/file/checksum_spec.rb +21 -1
  1085. data/spec/unit/type/file/content_spec.rb +13 -1
  1086. data/spec/unit/type/file/selinux_spec.rb +0 -1
  1087. data/spec/unit/type/file/source_spec.rb +15 -9
  1088. data/spec/unit/type/file_spec.rb +37 -22
  1089. data/spec/unit/type/group_spec.rb +8 -0
  1090. data/spec/unit/type/package_spec.rb +10 -0
  1091. data/spec/unit/type/resources_spec.rb +26 -12
  1092. data/spec/unit/type/schedule_spec.rb +15 -1
  1093. data/spec/unit/type/service_spec.rb +36 -10
  1094. data/spec/unit/type/tidy_spec.rb +17 -1
  1095. data/spec/unit/type/user_spec.rb +24 -115
  1096. data/spec/unit/type_spec.rb +177 -98
  1097. data/spec/unit/util/autoload_spec.rb +71 -43
  1098. data/spec/unit/util/character_encoding_spec.rb +0 -43
  1099. data/spec/unit/util/checksums_spec.rb +3 -3
  1100. data/spec/unit/util/diff_spec.rb +11 -3
  1101. data/spec/unit/util/docs_spec.rb +1 -1
  1102. data/spec/unit/util/errors_spec.rb +1 -1
  1103. data/spec/unit/util/execution_spec.rb +229 -95
  1104. data/spec/unit/util/execution_stub_spec.rb +2 -2
  1105. data/spec/unit/util/feature_spec.rb +35 -17
  1106. data/spec/unit/util/filetype_spec.rb +8 -4
  1107. data/spec/unit/util/http_proxy_spec.rb +57 -0
  1108. data/spec/unit/util/inifile_spec.rb +35 -4
  1109. data/spec/unit/util/ldap/manager_spec.rb +1 -16
  1110. data/spec/unit/util/lockfile_spec.rb +1 -1
  1111. data/spec/unit/util/log/destinations_spec.rb +45 -15
  1112. data/spec/unit/util/log_spec.rb +42 -12
  1113. data/spec/unit/util/logging_spec.rb +37 -15
  1114. data/spec/unit/util/monkey_patches_spec.rb +6 -3
  1115. data/spec/unit/util/plist_spec.rb +12 -6
  1116. data/spec/unit/util/profiler/object_counts_spec.rb +2 -1
  1117. data/spec/unit/util/rubygems_spec.rb +0 -34
  1118. data/spec/unit/util/run_mode_spec.rb +7 -7
  1119. data/spec/unit/util/selinux_spec.rb +3 -3
  1120. data/spec/unit/util/storage_spec.rb +13 -1
  1121. data/spec/unit/util/suidmanager_spec.rb +5 -5
  1122. data/spec/unit/util/tag_set_spec.rb +8 -1
  1123. data/spec/unit/util/tagging_spec.rb +27 -8
  1124. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -1
  1125. data/spec/unit/util/windows/access_control_list_spec.rb +1 -1
  1126. data/spec/unit/util/windows/adsi_spec.rb +39 -35
  1127. data/spec/unit/util/windows/api_types_spec.rb +52 -1
  1128. data/spec/unit/util/windows/eventlog_spec.rb +1 -1
  1129. data/spec/unit/util/windows/security_descriptor_spec.rb +1 -1
  1130. data/spec/unit/util/windows/service_spec.rb +424 -0
  1131. data/spec/unit/util/windows/sid_spec.rb +88 -17
  1132. data/spec/unit/util/windows/string_spec.rb +1 -1
  1133. data/spec/unit/util/yaml_spec.rb +162 -28
  1134. data/spec/unit/util_spec.rb +41 -76
  1135. data/spec/watchr.rb +0 -1
  1136. data/tasks/benchmark.rake +41 -0
  1137. data/tasks/ci.rake +0 -5
  1138. data/tasks/generate_ast_model.rake +55 -43
  1139. data/tasks/manpages.rake +19 -3
  1140. data/tasks/parallel.rake +12 -7
  1141. data/tasks/parser.rake +11 -3
  1142. metadata +3262 -3438
  1143. data/ext/rack/config.ru +0 -44
  1144. data/ext/rack/example-passenger-vhost.conf +0 -57
  1145. data/lib/puppet/application/ca.rb +0 -11
  1146. data/lib/puppet/application/certificate.rb +0 -17
  1147. data/lib/puppet/application/certificate_request.rb +0 -7
  1148. data/lib/puppet/application/certificate_revocation_list.rb +0 -7
  1149. data/lib/puppet/application/master.rb +0 -313
  1150. data/lib/puppet/bindings.rb +0 -147
  1151. data/lib/puppet/configurer/downloader_factory.rb +0 -34
  1152. data/lib/puppet/external/nagios/base.rb +0 -472
  1153. data/lib/puppet/external/nagios/grammar.ry +0 -248
  1154. data/lib/puppet/external/nagios/makefile +0 -9
  1155. data/lib/puppet/external/nagios/parser.rb +0 -400
  1156. data/lib/puppet/external/nagios.rb +0 -46
  1157. data/lib/puppet/face/ca.rb +0 -266
  1158. data/lib/puppet/face/certificate.rb +0 -165
  1159. data/lib/puppet/face/certificate_request.rb +0 -56
  1160. data/lib/puppet/face/certificate_revocation_list.rb +0 -56
  1161. data/lib/puppet/feature/rack.rb +0 -19
  1162. data/lib/puppet/graph/random_prioritizer.rb +0 -16
  1163. data/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
  1164. data/lib/puppet/indirector/certificate/ca.rb +0 -9
  1165. data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  1166. data/lib/puppet/indirector/certificate_request/ca.rb +0 -22
  1167. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  1168. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
  1169. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  1170. data/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
  1171. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -10
  1172. data/lib/puppet/indirector/certificate_status/file.rb +0 -91
  1173. data/lib/puppet/indirector/certificate_status/rest.rb +0 -11
  1174. data/lib/puppet/indirector/certificate_status.rb +0 -4
  1175. data/lib/puppet/indirector/key/ca.rb +0 -16
  1176. data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  1177. data/lib/puppet/indirector/ldap.rb +0 -80
  1178. data/lib/puppet/indirector/node/ldap.rb +0 -259
  1179. data/lib/puppet/indirector/node/write_only_yaml.rb +0 -37
  1180. data/lib/puppet/module_tool/applications/builder.rb +0 -148
  1181. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +0 -18
  1182. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +0 -89
  1183. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -32
  1184. data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +0 -12
  1185. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +0 -48
  1186. data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +0 -1
  1187. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -6
  1188. data/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
  1189. data/lib/puppet/network/http/api/ca/v1.rb +0 -11
  1190. data/lib/puppet/network/http/api/ca.rb +0 -2
  1191. data/lib/puppet/network/http/rack/rest.rb +0 -162
  1192. data/lib/puppet/network/http/rack.rb +0 -33
  1193. data/lib/puppet/network/http/webrick/rest.rb +0 -114
  1194. data/lib/puppet/network/http/webrick.rb +0 -125
  1195. data/lib/puppet/network/server.rb +0 -39
  1196. data/lib/puppet/provider/aixobject.rb +0 -392
  1197. data/lib/puppet/provider/augeas/augeas.rb +0 -567
  1198. data/lib/puppet/provider/cisco.rb +0 -9
  1199. data/lib/puppet/provider/computer/computer.rb +0 -20
  1200. data/lib/puppet/provider/cron/crontab.rb +0 -297
  1201. data/lib/puppet/provider/host/parsed.rb +0 -46
  1202. data/lib/puppet/provider/interface/cisco.rb +0 -27
  1203. data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
  1204. data/lib/puppet/provider/mailalias/aliases.rb +0 -50
  1205. data/lib/puppet/provider/maillist/mailman.rb +0 -108
  1206. data/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
  1207. data/lib/puppet/provider/mount/parsed.rb +0 -282
  1208. data/lib/puppet/provider/mount.rb +0 -59
  1209. data/lib/puppet/provider/naginator.rb +0 -63
  1210. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
  1211. data/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
  1212. data/lib/puppet/provider/selmodule/semodule.rb +0 -138
  1213. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
  1214. data/lib/puppet/provider/sshkey/parsed.rb +0 -50
  1215. data/lib/puppet/provider/vlan/cisco.rb +0 -28
  1216. data/lib/puppet/provider/yumrepo/inifile.rb +0 -304
  1217. data/lib/puppet/provider/zfs/zfs.rb +0 -84
  1218. data/lib/puppet/provider/zone/solaris.rb +0 -364
  1219. data/lib/puppet/provider/zpool/zpool.rb +0 -125
  1220. data/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
  1221. data/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
  1222. data/lib/puppet/ssl/certificate_authority.rb +0 -553
  1223. data/lib/puppet/ssl/certificate_revocation_list.rb +0 -110
  1224. data/lib/puppet/ssl/configuration.rb +0 -61
  1225. data/lib/puppet/ssl/inventory.rb +0 -55
  1226. data/lib/puppet/type/augeas.rb +0 -211
  1227. data/lib/puppet/type/computer.rb +0 -66
  1228. data/lib/puppet/type/cron.rb +0 -475
  1229. data/lib/puppet/type/host.rb +0 -95
  1230. data/lib/puppet/type/interface.rb +0 -121
  1231. data/lib/puppet/type/k5login.rb +0 -88
  1232. data/lib/puppet/type/macauthorization.rb +0 -167
  1233. data/lib/puppet/type/mailalias.rb +0 -46
  1234. data/lib/puppet/type/maillist.rb +0 -62
  1235. data/lib/puppet/type/mcx.rb +0 -98
  1236. data/lib/puppet/type/mount.rb +0 -310
  1237. data/lib/puppet/type/nagios_command.rb +0 -3
  1238. data/lib/puppet/type/nagios_contact.rb +0 -3
  1239. data/lib/puppet/type/nagios_contactgroup.rb +0 -3
  1240. data/lib/puppet/type/nagios_host.rb +0 -3
  1241. data/lib/puppet/type/nagios_hostdependency.rb +0 -3
  1242. data/lib/puppet/type/nagios_hostescalation.rb +0 -3
  1243. data/lib/puppet/type/nagios_hostextinfo.rb +0 -3
  1244. data/lib/puppet/type/nagios_hostgroup.rb +0 -3
  1245. data/lib/puppet/type/nagios_service.rb +0 -3
  1246. data/lib/puppet/type/nagios_servicedependency.rb +0 -3
  1247. data/lib/puppet/type/nagios_serviceescalation.rb +0 -3
  1248. data/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
  1249. data/lib/puppet/type/nagios_servicegroup.rb +0 -3
  1250. data/lib/puppet/type/nagios_timeperiod.rb +0 -3
  1251. data/lib/puppet/type/router.rb +0 -17
  1252. data/lib/puppet/type/scheduled_task.rb +0 -184
  1253. data/lib/puppet/type/selboolean.rb +0 -26
  1254. data/lib/puppet/type/selmodule.rb +0 -59
  1255. data/lib/puppet/type/ssh_authorized_key.rb +0 -143
  1256. data/lib/puppet/type/sshkey.rb +0 -75
  1257. data/lib/puppet/type/vlan.rb +0 -26
  1258. data/lib/puppet/type/yumrepo.rb +0 -409
  1259. data/lib/puppet/type/zfs.rb +0 -150
  1260. data/lib/puppet/type/zone.rb +0 -382
  1261. data/lib/puppet/type/zpool.rb +0 -91
  1262. data/lib/puppet/util/methodhelper.rb +0 -32
  1263. data/lib/puppet/util/nagios_maker.rb +0 -85
  1264. data/lib/puppet/util/network_device/cisco/device.rb +0 -285
  1265. data/lib/puppet/util/network_device/cisco/facts.rb +0 -72
  1266. data/lib/puppet/util/network_device/cisco/interface.rb +0 -94
  1267. data/lib/puppet/util/network_device/cisco.rb +0 -4
  1268. data/lib/puppet/util/network_device/ipcalc.rb +0 -68
  1269. data/lib/puppet/util/network_device/transport/ssh.rb +0 -126
  1270. data/lib/puppet/util/network_device/transport/telnet.rb +0 -47
  1271. data/lib/puppet/util/windows/taskscheduler.rb +0 -1276
  1272. data/lib/puppet/vendor/load_semantic.rb +0 -1
  1273. data/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
  1274. data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
  1275. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
  1276. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
  1277. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
  1278. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
  1279. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
  1280. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
  1281. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
  1282. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
  1283. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
  1284. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -9
  1285. data/lib/puppet/vendor/semantic_puppet/locales/config.yaml +0 -21
  1286. data/man/man8/puppet-ca.8 +0 -182
  1287. data/man/man8/puppet-cert.8 +0 -101
  1288. data/man/man8/puppet-certificate.8 +0 -224
  1289. data/man/man8/puppet-certificate_request.8 +0 -161
  1290. data/man/man8/puppet-certificate_revocation_list.8 +0 -139
  1291. data/man/man8/puppet-inspect.8 +0 -36
  1292. data/man/man8/puppet-master.8 +0 -85
  1293. data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +0 -19
  1294. data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +0 -18
  1295. data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +0 -15
  1296. data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +0 -4
  1297. data/spec/fixtures/integration/provider/cron/crontab/modify_entry +0 -13
  1298. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +0 -15
  1299. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +0 -6
  1300. data/spec/fixtures/integration/provider/cron/crontab/purged +0 -8
  1301. data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +0 -12
  1302. data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +0 -14
  1303. data/spec/fixtures/integration/provider/cron/crontab/unspecialized +0 -15
  1304. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +0 -31
  1305. data/spec/fixtures/integration/provider/sshkey/sample +0 -21
  1306. data/spec/fixtures/unit/provider/augeas/augeas/augeas/lenses/test.aug +0 -13
  1307. data/spec/fixtures/unit/provider/augeas/augeas/etc/fstab +0 -10
  1308. data/spec/fixtures/unit/provider/augeas/augeas/etc/hosts +0 -6
  1309. data/spec/fixtures/unit/provider/augeas/augeas/etc/test +0 -3
  1310. data/spec/fixtures/unit/provider/augeas/augeas/test.aug +0 -13
  1311. data/spec/fixtures/unit/provider/host/parsed/valid_hosts +0 -19
  1312. data/spec/fixtures/unit/provider/mount/mount-output.aix.txt +0 -7
  1313. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +0 -152
  1314. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +0 -11
  1315. data/spec/fixtures/unit/provider/mount/parsed/darwin.mount +0 -6
  1316. data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +0 -8
  1317. data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +0 -3
  1318. data/spec/fixtures/unit/provider/mount/parsed/hpux.mount +0 -17
  1319. data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +0 -11
  1320. data/spec/fixtures/unit/provider/mount/parsed/linux.mount +0 -5
  1321. data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +0 -9
  1322. data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +0 -8
  1323. data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +0 -4
  1324. data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +0 -4
  1325. data/spec/fixtures/unit/provider/mount/parsed/solaris.fstab +0 -11
  1326. data/spec/fixtures/unit/provider/mount/parsed/solaris.mount +0 -6
  1327. data/spec/fixtures/unit/provider/naginator/define_empty_param +0 -6
  1328. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys +0 -7
  1329. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 +0 -3
  1330. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 +0 -1
  1331. data/spec/fixtures/unit/provider/sshkey/parsed/sample +0 -21
  1332. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +0 -8
  1333. data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +0 -2
  1334. data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +0 -2
  1335. data/spec/integration/faces/ca_spec.rb +0 -354
  1336. data/spec/integration/indirector/node/ldap_spec.rb +0 -14
  1337. data/spec/integration/provider/cron/crontab_spec.rb +0 -241
  1338. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -10
  1339. data/spec/integration/provider/mount_spec.rb +0 -161
  1340. data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -219
  1341. data/spec/integration/provider/sshkey_spec.rb +0 -159
  1342. data/spec/integration/provider/yumrepo_spec.rb +0 -130
  1343. data/spec/integration/ssl/autosign_spec.rb +0 -145
  1344. data/spec/integration/ssl/certificate_authority_spec.rb +0 -162
  1345. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -34
  1346. data/spec/integration/transaction_spec.rb +0 -522
  1347. data/spec/integration/type/nagios_spec.rb +0 -71
  1348. data/spec/integration/type/user_spec.rb +0 -64
  1349. data/spec/unit/application/cert_spec.rb +0 -240
  1350. data/spec/unit/application/certificate_spec.rb +0 -22
  1351. data/spec/unit/application/master_spec.rb +0 -404
  1352. data/spec/unit/configurer/downloader_factory_spec.rb +0 -96
  1353. data/spec/unit/face/ca_spec.rb +0 -10
  1354. data/spec/unit/face/certificate_request_spec.rb +0 -10
  1355. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -10
  1356. data/spec/unit/face/certificate_spec.rb +0 -231
  1357. data/spec/unit/face/module/build_spec.rb +0 -69
  1358. data/spec/unit/graph/title_hash_prioritizer_spec.rb +0 -49
  1359. data/spec/unit/indirector/certificate/ca_spec.rb +0 -23
  1360. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
  1361. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -57
  1362. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
  1363. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -16
  1364. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
  1365. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -17
  1366. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -26
  1367. data/spec/unit/indirector/certificate_status/file_spec.rb +0 -191
  1368. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -18
  1369. data/spec/unit/indirector/code_spec.rb +0 -31
  1370. data/spec/unit/indirector/key/ca_spec.rb +0 -23
  1371. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
  1372. data/spec/unit/indirector/ldap_spec.rb +0 -137
  1373. data/spec/unit/indirector/node/ldap_spec.rb +0 -462
  1374. data/spec/unit/indirector/node/write_only_yaml_spec.rb +0 -12
  1375. data/spec/unit/module_tool/applications/builder_spec.rb +0 -432
  1376. data/spec/unit/network/http/api/ca/v1_spec.rb +0 -26
  1377. data/spec/unit/network/http/rack/rest_spec.rb +0 -325
  1378. data/spec/unit/network/http/rack_spec.rb +0 -43
  1379. data/spec/unit/network/http/webrick/rest_spec.rb +0 -231
  1380. data/spec/unit/network/http/webrick_spec.rb +0 -279
  1381. data/spec/unit/network/server_spec.rb +0 -95
  1382. data/spec/unit/provider/aixobject_spec.rb +0 -101
  1383. data/spec/unit/provider/augeas/augeas_spec.rb +0 -1025
  1384. data/spec/unit/provider/cisco_spec.rb +0 -15
  1385. data/spec/unit/provider/cron/crontab_spec.rb +0 -207
  1386. data/spec/unit/provider/cron/parsed_spec.rb +0 -358
  1387. data/spec/unit/provider/host/parsed_spec.rb +0 -233
  1388. data/spec/unit/provider/interface/cisco_spec.rb +0 -57
  1389. data/spec/unit/provider/macauthorization_spec.rb +0 -155
  1390. data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -192
  1391. data/spec/unit/provider/mount/parsed_spec.rb +0 -317
  1392. data/spec/unit/provider/mount_spec.rb +0 -165
  1393. data/spec/unit/provider/naginator_spec.rb +0 -79
  1394. data/spec/unit/provider/network_device_spec.rb +0 -152
  1395. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +0 -2060
  1396. data/spec/unit/provider/selboolean_spec.rb +0 -36
  1397. data/spec/unit/provider/selmodule-example.pp +0 -0
  1398. data/spec/unit/provider/selmodule_spec.rb +0 -73
  1399. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -277
  1400. data/spec/unit/provider/sshkey/parsed_spec.rb +0 -95
  1401. data/spec/unit/provider/vlan/cisco_spec.rb +0 -55
  1402. data/spec/unit/provider/yumrepo/inifile_spec.rb +0 -326
  1403. data/spec/unit/provider/zfs/zfs_spec.rb +0 -106
  1404. data/spec/unit/provider/zone/solaris_spec.rb +0 -247
  1405. data/spec/unit/provider/zpool/zpool_spec.rb +0 -251
  1406. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +0 -30
  1407. data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -560
  1408. data/spec/unit/ssl/certificate_authority_spec.rb +0 -1184
  1409. data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -196
  1410. data/spec/unit/ssl/configuration_spec.rb +0 -141
  1411. data/spec/unit/ssl/inventory_spec.rb +0 -151
  1412. data/spec/unit/type/augeas_spec.rb +0 -119
  1413. data/spec/unit/type/computer_spec.rb +0 -80
  1414. data/spec/unit/type/cron_spec.rb +0 -543
  1415. data/spec/unit/type/host_spec.rb +0 -681
  1416. data/spec/unit/type/interface_spec.rb +0 -129
  1417. data/spec/unit/type/k5login_spec.rb +0 -115
  1418. data/spec/unit/type/macauthorization_spec.rb +0 -113
  1419. data/spec/unit/type/mailalias_spec.rb +0 -49
  1420. data/spec/unit/type/maillist_spec.rb +0 -41
  1421. data/spec/unit/type/mcx_spec.rb +0 -79
  1422. data/spec/unit/type/mount_spec.rb +0 -634
  1423. data/spec/unit/type/nagios_spec.rb +0 -293
  1424. data/spec/unit/type/scheduled_task_spec.rb +0 -103
  1425. data/spec/unit/type/selboolean_spec.rb +0 -44
  1426. data/spec/unit/type/selmodule_spec.rb +0 -17
  1427. data/spec/unit/type/ssh_authorized_key_spec.rb +0 -258
  1428. data/spec/unit/type/sshkey_spec.rb +0 -77
  1429. data/spec/unit/type/vlan_spec.rb +0 -44
  1430. data/spec/unit/type/yumrepo_spec.rb +0 -398
  1431. data/spec/unit/type/zfs_spec.rb +0 -46
  1432. data/spec/unit/type/zone_spec.rb +0 -172
  1433. data/spec/unit/type/zpool_spec.rb +0 -109
  1434. data/spec/unit/util/nagios_maker_spec.rb +0 -122
  1435. data/spec/unit/util/network_device/cisco/device_spec.rb +0 -482
  1436. data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -64
  1437. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -88
  1438. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -62
  1439. data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -218
  1440. data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -86
@@ -1,3 +1,5 @@
1
+ require 'puppet/util/platform'
2
+
1
3
  module Puppet
2
4
 
3
5
  def self.default_diffargs
@@ -8,6 +10,54 @@ module Puppet
8
10
  end
9
11
  end
10
12
 
13
+ def self.default_digest_algorithm
14
+ Puppet::Util::Platform.fips_enabled? ? 'sha256' : 'md5'
15
+ end
16
+
17
+ def self.valid_digest_algorithms
18
+ Puppet::Util::Platform.fips_enabled? ?
19
+ %w[sha256 sha384 sha512 sha224] :
20
+ %w[md5 sha256 sha384 sha512 sha224]
21
+ end
22
+
23
+ def self.default_file_checksum_types
24
+ Puppet::Util::Platform.fips_enabled? ?
25
+ %w[sha256 sha384 sha512 sha224] :
26
+ %w[md5 sha256 sha384 sha512 sha224]
27
+ end
28
+
29
+ def self.valid_file_checksum_types
30
+ Puppet::Util::Platform.fips_enabled? ?
31
+ %w[sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime] :
32
+ %w[md5 md5lite sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime]
33
+ end
34
+
35
+ def self.default_basemodulepath
36
+ if Puppet::Util::Platform.windows?
37
+ path = ['$codedir/modules']
38
+ installdir = Facter.value(:env_windows_installdir)
39
+ if installdir
40
+ path << "#{installdir}/puppet/modules"
41
+ end
42
+ path.join(File::PATH_SEPARATOR)
43
+ else
44
+ '$codedir/modules:/opt/puppetlabs/puppet/modules'
45
+ end
46
+ end
47
+
48
+ def self.default_vendormoduledir
49
+ if Puppet::Util::Platform.windows?
50
+ installdir = Facter.value(:env_windows_installdir)
51
+ if installdir
52
+ "#{installdir}\\puppet\\vendor_modules"
53
+ else
54
+ nil
55
+ end
56
+ else
57
+ '/opt/puppetlabs/puppet/vendor_modules'
58
+ end
59
+ end
60
+
11
61
  ############################################################################################
12
62
  # NOTE: For information about the available values for the ":type" property of settings,
13
63
  # see the docs for Settings.define_settings
@@ -99,7 +149,8 @@ module Puppet
99
149
  valid = %w[deprecations undefined_variables undefined_resources]
100
150
  invalid = values - (values & valid)
101
151
  if not invalid.empty?
102
- raise ArgumentError, "Cannot disable unrecognized warning types #{invalid.inspect}. Valid values are #{valid.inspect}."
152
+ raise ArgumentError, _("Cannot disable unrecognized warning types %{invalid}.") % { invalid: invalid.inspect } +
153
+ ' ' + _("Valid values are %{values}.") % { values: valid.inspect}
103
154
  end
104
155
  end
105
156
  },
@@ -126,6 +177,19 @@ module Puppet
126
177
  munge(value)
127
178
  value.to_sym
128
179
  end
180
+ },
181
+ :disable_i18n => {
182
+ :default => false,
183
+ :type => :boolean,
184
+ :desc => "If true, turns off all translations of Puppet and module
185
+ log messages, which affects error, warning, and info log messages,
186
+ as well as any translations in the report and CLI.",
187
+ :hook => proc do |value|
188
+ if value
189
+ require 'puppet/gettext/stubs'
190
+ Puppet::GettextConfig.disable_gettext
191
+ end
192
+ end
129
193
  }
130
194
  )
131
195
 
@@ -153,10 +217,19 @@ module Puppet
153
217
  :type => :boolean,
154
218
  :desc => "Whether to enable experimental performance profiling",
155
219
  },
220
+ :future_features => {
221
+ :default => false,
222
+ :type => :boolean,
223
+ :desc => "Whether or not to enable all features currently being developed for future
224
+ major releases of Puppet. Should be used with caution, as in development
225
+ features are experimental and can have unexpected effects."
226
+ },
156
227
  :static_catalogs => {
157
228
  :default => true,
158
229
  :type => :boolean,
159
- :desc => "Whether to compile a static catalog."
230
+ :desc => "Whether to compile a [static catalog](https://puppet.com/docs/puppet/latest/static_catalogs.html#enabling-or-disabling-static-catalogs),
231
+ which occurs only on a Puppet Server master when the `code-id-command` and
232
+ `code-content-command` settings are configured in its `puppetserver.conf` file.",
160
233
  },
161
234
  :strict_environment_mode => {
162
235
  :default => false,
@@ -210,11 +283,12 @@ module Puppet
210
283
  on the CLI.",
211
284
  },
212
285
  :configprint => {
213
- :default => "",
214
- :desc => "Print the value of a specific configuration setting. If the name of a
286
+ :default => "",
287
+ :deprecated => :completely,
288
+ :desc => "Prints the value of a specific configuration setting. If the name of a
215
289
  setting is provided for this, then the value is printed and puppet
216
290
  exits. Comma-separate multiple values. For a list of all values,
217
- specify 'all'.",
291
+ specify 'all'. This setting is deprecated, the 'puppet config' command replaces this functionality.",
218
292
  },
219
293
  :color => {
220
294
  :default => "ansi",
@@ -229,7 +303,7 @@ module Puppet
229
303
  :desc => "Whether to create the necessary user and group that puppet agent will run as.",
230
304
  },
231
305
  :manage_internal_file_permissions => {
232
- :default => true,
306
+ :default => ! Puppet::Util::Platform.windows?,
233
307
  :type => :boolean,
234
308
  :desc => "Whether Puppet should manage the owner, group, and mode of files it uses internally",
235
309
  },
@@ -266,20 +340,30 @@ module Puppet
266
340
  for those files that Puppet will load on demand, and is only
267
341
  guaranteed to work for those cases. In fact, the autoload
268
342
  mechanism is responsible for making sure this directory
269
- is in Ruby's search path\n",
270
- :call_hook => :on_initialize_and_write,
271
- :hook => proc do |value|
272
- $LOAD_PATH.delete(@oldlibdir) if defined?(@oldlibdir) && $LOAD_PATH.include?(@oldlibdir)
273
- @oldlibdir = value
274
- $LOAD_PATH << value
275
- end
343
+ is in Ruby's search path\n"
276
344
  },
277
345
  :environment => {
278
346
  :default => "production",
279
- :desc => "The environment Puppet is running in. For clients
280
- (e.g., `puppet agent`) this determines the environment itself, which
281
- is used to find modules and much more. For servers (i.e., `puppet master`)
282
- this provides the default environment for nodes we know nothing about."
347
+ :desc => "The environment in which Puppet is running. For clients,
348
+ such as `puppet agent`, this determines the environment itself, which
349
+ Puppet uses to find modules and much more. For servers, such as `puppet master`,
350
+ this provides the default environment for nodes that Puppet knows nothing about.
351
+
352
+ When defining an environment in the `[agent]` section, this refers to the
353
+ environment that the agent requests from the master. The environment doesn't
354
+ have to exist on the local filesystem because the agent fetches it from the
355
+ master. This definition is used when running `puppet agent`.
356
+
357
+ When defined in the `[user]` section, the environment refers to the path that
358
+ Puppet uses to search for code and modules related to its execution. This
359
+ requires the environment to exist locally on the filesystem where puppet is
360
+ being executed. Puppet subcommands, including `puppet module` and
361
+ `puppet apply`, use this definition.
362
+
363
+ Given that the context and effects vary depending on the
364
+ [config section](https://puppet.com/docs/puppet/latest/config_file_main.html#config-sections)
365
+ in which the `environment` setting is defined, do not set it globally.",
366
+ :short => "E"
283
367
  },
284
368
  :environmentpath => {
285
369
  :default => "$codedir/environments",
@@ -289,7 +373,7 @@ module Puppet
289
373
 
290
374
  This setting must have a value set to enable **directory environments.** The
291
375
  recommended value is `$codedir/environments`. For more details, see
292
- <https://docs.puppet.com/puppet/latest/reference/environments.html>",
376
+ <https://puppet.com/docs/puppet/latest/environments_about.html>",
293
377
  :type => :path,
294
378
  },
295
379
  :always_retry_plugins => {
@@ -319,7 +403,7 @@ module Puppet
319
403
  files. The command to use can be chosen with the `diff` setting.",
320
404
  },
321
405
  :diff => {
322
- :default => (Puppet.features.microsoft_windows? ? "" : "diff"),
406
+ :default => (Puppet::Util::Platform.windows? ? "" : "diff"),
323
407
  :desc => "Which diff command to use when printing differences between files. This setting
324
408
  has no default value on Windows, as standard `diff` is not available, but Puppet can use many
325
409
  third-party diff tools.",
@@ -336,13 +420,13 @@ module Puppet
336
420
  },
337
421
  :daemonize => {
338
422
  :type => :boolean,
339
- :default => (Puppet.features.microsoft_windows? ? false : true),
423
+ :default => (Puppet::Util::Platform.windows? ? false : true),
340
424
  :desc => "Whether to send the process into the background. This defaults
341
425
  to true on POSIX systems, and to false on Windows (where Puppet
342
426
  currently cannot daemonize).",
343
427
  :short => "D",
344
428
  :hook => proc do |value|
345
- if value and Puppet.features.microsoft_windows?
429
+ if value and Puppet::Util::Platform.windows?
346
430
  raise "Cannot daemonize on Windows"
347
431
  end
348
432
  end
@@ -378,7 +462,7 @@ module Puppet
378
462
 
379
463
  * `plain` --- Returns no data, so that the main manifest controls all node configuration.
380
464
  * `exec` --- Uses an
381
- [external node classifier (ENC)](https://docs.puppet.com/puppet/latest/nodes_external.html),
465
+ [external node classifier (ENC)](https://puppet.com/docs/puppet/latest/nodes_external.html),
382
466
  configured by the `external_nodes` setting. This lets you pull a list of Puppet classes
383
467
  from any external system, using a small glue script to perform the request and format the
384
468
  result as YAML.
@@ -390,7 +474,7 @@ module Puppet
390
474
  :type => :terminus,
391
475
  :default => nil,
392
476
  :desc => "How to store cached nodes.
393
- Valid values are (none), 'json', 'msgpack', 'yaml' or write only yaml ('write_only_yaml').",
477
+ Valid values are (none), 'json', 'msgpack', or 'yaml'.",
394
478
  },
395
479
  :data_binding_terminus => {
396
480
  :type => :terminus,
@@ -405,7 +489,11 @@ module Puppet
405
489
  if Puppet[:strict] != :off
406
490
  s_val = value.to_s # because sometimes the value is a symbol
407
491
  unless s_val == 'hiera' || s_val == 'none' || value == '' || value.nil?
408
- Puppet.deprecation_warning "Setting 'data_binding_terminus' is deprecated. Convert custom terminus to hiera 5 API."
492
+ #TRANSLATORS 'data_binding_terminus' is a setting and should not be translated
493
+ message = _("Setting 'data_binding_terminus' is deprecated.")
494
+ #TRANSLATORS 'hiera' should not be translated
495
+ message += ' ' + _("Convert custom terminus to hiera 5 API.")
496
+ Puppet.deprecation_warning(message)
409
497
  end
410
498
  end
411
499
  end
@@ -501,9 +589,10 @@ module Puppet
501
589
  #{AS_DURATION}",
502
590
  },
503
591
  :http_read_timeout => {
592
+ :default => "10m",
504
593
  :type => :duration,
505
- :desc => "The time to wait for one block to be read from an HTTP connection. If nothing is
506
- read after the elapsed interval then the connection will be closed. The default value is unlimited.
594
+ :desc => "The time to wait for data to be read from an HTTP connection. If nothing is
595
+ read after the elapsed interval then the connection will be closed. The default value is 10 minutes.
507
596
  #{AS_DURATION}",
508
597
  },
509
598
  :http_user_agent => {
@@ -557,7 +646,8 @@ module Puppet
557
646
  custom data providers see the respective module documentation. This setting is deprecated.",
558
647
  :hook => proc { |value|
559
648
  unless value.nil? || Puppet[:strict] == :off
560
- Puppet.deprecation_warning "Setting 'environment_data_provider' is deprecated."
649
+ #TRANSLATORS 'environment_data_provider' is a setting and should not be translated
650
+ Puppet.deprecation_warning(_("Setting 'environment_data_provider' is deprecated."))
561
651
  end
562
652
  }
563
653
  },
@@ -579,13 +669,6 @@ module Puppet
579
669
  essentially means that you can't have any code outside of a node,
580
670
  class, or definition other than in the site manifest.",
581
671
  },
582
- :trusted_server_facts => {
583
- :default => true,
584
- :type => :boolean,
585
- :deprecated => :completely,
586
- :desc => "The 'trusted_server_facts' setting is deprecated and has no effect as the
587
- feature this enabled is now always on. The setting will be removed in a future version of puppet.",
588
- },
589
672
  :preview_outputdir => {
590
673
  :default => '$vardir/preview',
591
674
  :type => :directory,
@@ -596,29 +679,15 @@ module Puppet
596
679
  }
597
680
  )
598
681
 
599
- define_settings(:main,
600
- # Whether the application management feature is on or off - now deprecated and always on.
601
- :app_management => {
602
- :default => false,
603
- :type => :boolean,
604
- :desc => "This setting has no effect and will be removed in a future Puppet version.",
605
- :deprecated => :completely,
606
- }
607
- )
608
-
609
682
  Puppet.define_settings(:module_tool,
610
683
  :module_repository => {
611
684
  :default => 'https://forgeapi.puppet.com',
612
685
  :desc => "The module repository",
613
686
  },
614
687
  :module_working_dir => {
615
- :default => (Puppet.features.microsoft_windows? ? Dir.tmpdir() : '$vardir/puppet-module'),
688
+ :default => (Puppet::Util::Platform.windows? ? Dir.tmpdir() : '$vardir/puppet-module'),
616
689
  :desc => "The directory into which module tool data is stored",
617
690
  },
618
- :module_skeleton_dir => {
619
- :default => '$module_working_dir/skeleton',
620
- :desc => "The directory which the skeleton for module tool generate is stored.",
621
- },
622
691
  :forge_authorization => {
623
692
  :default => nil,
624
693
  :desc => "The authorization key to connect to the Puppet Forge. Leave blank for unauthorized or license based connections",
@@ -641,15 +710,15 @@ module Puppet
641
710
  `certname` setting as its requested Subject CN.
642
711
 
643
712
  This is the name used when managing a node's permissions in
644
- [auth.conf](https://docs.puppetlabs.com/puppet/latest/reference/config_file_auth.html).
713
+ [auth.conf](https://puppet.com/docs/puppet/latest/config_file_auth.html).
645
714
  In most cases, it is also used as the node's name when matching
646
- [node definitions](https://docs.puppetlabs.com/puppet/latest/reference/lang_node_definitions.html)
715
+ [node definitions](https://puppet.com/docs/puppet/latest/lang_node_definitions.html)
647
716
  and requesting data from an ENC. (This can be changed with the `node_name_value`
648
717
  and `node_name_fact` settings, although you should only do so if you have
649
718
  a compelling reason.)
650
719
 
651
720
  A node's certname is available in Puppet manifests as `$trusted['certname']`. (See
652
- [Facts and Built-In Variables](https://docs.puppetlabs.com/puppet/latest/reference/lang_facts_and_builtin_vars.html)
721
+ [Facts and Built-In Variables](https://puppet.com/docs/puppet/latest/lang_facts_and_builtin_vars.html)
653
722
  for more details.)
654
723
 
655
724
  * For best compatibility, you should limit the value of `certname` to
@@ -659,7 +728,7 @@ module Puppet
659
728
  for a normal node.
660
729
 
661
730
  Defaults to the node's fully qualified domain name.",
662
- :hook => proc { |value| raise(ArgumentError, "Certificate names must be lower case") unless value == value.downcase }},
731
+ :hook => proc { |value| raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase }},
663
732
  :dns_alt_names => {
664
733
  :default => '',
665
734
  :desc => <<EOT,
@@ -667,7 +736,8 @@ A comma-separated list of alternate DNS names for Puppet Server. These are extra
667
736
  hostnames (in addition to its `certname`) that the server is allowed to use when
668
737
  serving agents. Puppet checks this setting when automatically requesting a
669
738
  certificate for Puppet agent or Puppet Server, and when manually generating a
670
- certificate with `puppet cert generate`.
739
+ certificate with `puppet cert generate`. These can be either IP or DNS, and the type
740
+ should be specified and followed with a colon. Untyped inputs will default to DNS.
671
741
 
672
742
  In order to handle agent requests at a given hostname (like
673
743
  "puppet.example.com"), Puppet Server needs a certificate that proves it's
@@ -683,11 +753,14 @@ change this setting; you also need to:
683
753
 
684
754
  * On the server: Stop Puppet Server.
685
755
  * On the CA server: Revoke and clean the server's old certificate. (`puppet cert clean <NAME>`)
756
+ (Note `puppet cert clean` is deprecated and will be replaced with `puppetserver ca clean`
757
+ in Puppet 6.)
686
758
  * On the server: Delete the old certificate (and any old certificate signing requests)
687
- from the [ssldir](https://docs.puppetlabs.com/puppet/latest/reference/dirs_ssldir.html).
759
+ from the [ssldir](https://puppet.com/docs/puppet/latest/dirs_ssldir.html).
688
760
  * On the server: Run `puppet agent -t --ca_server <CA HOSTNAME>` to request a new certificate
689
761
  * On the CA server: Sign the certificate request, explicitly allowing alternate names
690
- (`puppet cert sign --allow-dns-alt-names <NAME>`).
762
+ (`puppet cert sign --allow-dns-alt-names <NAME>`). (Note `puppet cert sign` is deprecated
763
+ and will be replaced with `puppetserver ca sign` in Puppet 6.)
691
764
  * On the server: Run `puppet agent -t --ca_server <CA HOSTNAME>` to retrieve the cert.
692
765
  * On the server: Start Puppet Server again.
693
766
 
@@ -854,31 +927,52 @@ EOT
854
927
  This is distinct from the certificate authority's CRL."
855
928
  },
856
929
  :certificate_revocation => {
857
- :default => true,
858
- :type => :boolean,
859
- :desc => "Whether certificate revocation should be supported by downloading a
860
- Certificate Revocation List (CRL)
861
- to all clients. If enabled, CA chaining will almost definitely not work.",
930
+ :default => 'chain',
931
+ :type => :certificate_revocation,
932
+ :desc => <<-'EOT'
933
+ Whether certificate revocation checking should be enabled, and what level of
934
+ checking should be performed.
935
+
936
+ When certificate revocation is enabled Puppet expects the contents of its CRL
937
+ to be one or more PEM encoded CRLs concatenated together. When using a cert
938
+ bundle CRLs for all CAs in the chain of trust must be included in the crl file
939
+ with the first CRL listed being for the root of the chain, the last being for
940
+ the leaf CA.
941
+
942
+ When certificate_revocation is set to 'true' or 'chain', Puppet will ensure
943
+ that each CA in the chain of trust has not been revoked by its issuing CA.
944
+
945
+ When certificate_revocation is set to 'leaf', Puppet will verify certs against
946
+ the issuing CA's revocation list but not verify the revocation status of the
947
+ issuing CA or any CA above it within the chain of trust.
948
+
949
+ When certificate_revocation is set to 'false', Puppet will disable all
950
+ certificate revocation checking and will not attempt to download the CRL.
951
+ EOT
862
952
  },
863
953
  :digest_algorithm => {
864
- :default => 'md5',
954
+ :default => lambda { default_digest_algorithm },
865
955
  :type => :enum,
866
- :values => ["md5", "sha256"],
867
- :desc => 'Which digest algorithm to use for file resources and the filebucket.
868
- Valid values are md5, sha256. Default is md5.',
956
+ :values => valid_digest_algorithms,
957
+ :desc => "Which digest algorithm to use for file resources and the filebucket.
958
+ Valid values are #{valid_digest_algorithms.join(', ')}. Default is
959
+ #{default_digest_algorithm}.",
869
960
  },
870
961
  :supported_checksum_types => {
871
- :default => ['md5', 'sha256'],
962
+ :default => lambda { default_file_checksum_types },
872
963
  :type => :array,
873
- :desc => 'Checksum types supported by this agent for use in file resources of a
874
- static catalog. Values must be comma-separated. Valid types are md5,
875
- md5lite, sha256, sha256lite, sha1, sha1lite, mtime, ctime.',
964
+ :desc => "Checksum types supported by this agent for use in file resources of a
965
+ static catalog. Values must be comma-separated. Valid types are
966
+ #{valid_file_checksum_types.join(', ')}. Default is
967
+ #{default_file_checksum_types.join(', ')}.",
876
968
  :hook => proc do |value|
877
969
  values = munge(value)
878
- valid = ['md5', 'md5lite', 'sha256', 'sha256lite', 'sha1', 'sha1lite', 'mtime', 'ctime']
879
- invalid = values.reject {|alg| valid.include?(alg)}
970
+
971
+ invalid = values - Puppet.valid_file_checksum_types
880
972
  if not invalid.empty?
881
- raise ArgumentError, "Unrecognized checksum types #{invalid} are not supported. Valid values are #{valid}."
973
+ raise ArgumentError, _("Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'") % {
974
+ value: invalid.first, name: @name, allowed_values: Puppet.valid_file_checksum_types.join("', '")
975
+ }
882
976
  end
883
977
  end
884
978
  }
@@ -887,8 +981,8 @@ EOT
887
981
  define_settings(
888
982
  :ca,
889
983
  :ca_name => {
890
- :default => "Puppet CA: $certname",
891
- :desc => "The name to use the Certificate Authority certificate.",
984
+ :default => "Puppet CA: $certname",
985
+ :desc => "The name to use the Certificate Authority certificate.",
892
986
  },
893
987
  :cadir => {
894
988
  :default => "$ssldir/ca",
@@ -896,7 +990,7 @@ EOT
896
990
  :owner => "service",
897
991
  :group => "service",
898
992
  :mode => "0755",
899
- :desc => "The root directory for the certificate authority."
993
+ :desc => "The root directory for the certificate authority.",
900
994
  },
901
995
  :cacert => {
902
996
  :default => "$cadir/ca_crt.pem",
@@ -904,7 +998,7 @@ EOT
904
998
  :owner => "service",
905
999
  :group => "service",
906
1000
  :mode => "0644",
907
- :desc => "The CA certificate."
1001
+ :desc => "The CA certificate.",
908
1002
  },
909
1003
  :cakey => {
910
1004
  :default => "$cadir/ca_key.pem",
@@ -912,7 +1006,7 @@ EOT
912
1006
  :owner => "service",
913
1007
  :group => "service",
914
1008
  :mode => "0640",
915
- :desc => "The CA private key."
1009
+ :desc => "The CA private key.",
916
1010
  },
917
1011
  :capub => {
918
1012
  :default => "$cadir/ca_pub.pem",
@@ -920,7 +1014,7 @@ EOT
920
1014
  :owner => "service",
921
1015
  :group => "service",
922
1016
  :mode => "0644",
923
- :desc => "The CA public key."
1017
+ :desc => "The CA public key.",
924
1018
  },
925
1019
  :cacrl => {
926
1020
  :default => "$cadir/ca_crl.pem",
@@ -928,15 +1022,7 @@ EOT
928
1022
  :owner => "service",
929
1023
  :group => "service",
930
1024
  :mode => "0644",
931
- :desc => "The certificate revocation list (CRL) for the CA. Will be used if present but otherwise ignored.",
932
- },
933
- :caprivatedir => {
934
- :default => "$cadir/private",
935
- :type => :directory,
936
- :owner => "service",
937
- :group => "service",
938
- :mode => "0750",
939
- :desc => "Where the CA stores private certificate information."
1025
+ :desc => "The certificate revocation list (CRL) for the CA.",
940
1026
  },
941
1027
  :csrdir => {
942
1028
  :default => "$cadir/requests",
@@ -944,7 +1030,7 @@ EOT
944
1030
  :owner => "service",
945
1031
  :group => "service",
946
1032
  :mode => "0755",
947
- :desc => "Where the CA stores certificate requests"
1033
+ :desc => "Where the CA stores certificate requests.",
948
1034
  },
949
1035
  :signeddir => {
950
1036
  :default => "$cadir/signed",
@@ -952,15 +1038,7 @@ EOT
952
1038
  :owner => "service",
953
1039
  :group => "service",
954
1040
  :mode => "0755",
955
- :desc => "Where the CA stores signed certificates."
956
- },
957
- :capass => {
958
- :default => "$caprivatedir/ca.pass",
959
- :type => :file,
960
- :owner => "service",
961
- :group => "service",
962
- :mode => "0640",
963
- :desc => "Where the CA stores the password for the private key."
1041
+ :desc => "Where the CA stores signed certificates.",
964
1042
  },
965
1043
  :serial => {
966
1044
  :default => "$cadir/serial",
@@ -968,7 +1046,7 @@ EOT
968
1046
  :owner => "service",
969
1047
  :group => "service",
970
1048
  :mode => "0644",
971
- :desc => "Where the serial number for certificates is stored."
1049
+ :desc => "Where the serial number for certificates is stored.",
972
1050
  },
973
1051
  :autosign => {
974
1052
  :default => "$confdir/autosign.conf",
@@ -996,19 +1074,18 @@ EOT
996
1074
  the request.
997
1075
 
998
1076
  For info on autosign configuration files, see
999
- [the guide to Puppet's config files](http://docs.puppetlabs.com/puppet/latest/reference/config_about_settings.html).",
1077
+ [the guide to Puppet's config files](https://puppet.com/docs/puppet/latest/config_about_settings.html).",
1000
1078
  },
1001
1079
  :allow_duplicate_certs => {
1002
1080
  :default => false,
1003
1081
  :type => :boolean,
1004
- :desc => "Whether to allow a new certificate
1005
- request to overwrite an existing certificate.",
1082
+ :desc => "Whether to allow a new certificate request to overwrite an existing certificate.",
1006
1083
  },
1007
1084
  :ca_ttl => {
1008
1085
  :default => "5y",
1009
1086
  :type => :duration,
1010
1087
  :desc => "The default TTL for new certificates.
1011
- #{AS_DURATION}"
1088
+ #{AS_DURATION}",
1012
1089
  },
1013
1090
  :keylength => {
1014
1091
  :default => 4096,
@@ -1021,7 +1098,7 @@ EOT
1021
1098
  :owner => "service",
1022
1099
  :group => "service",
1023
1100
  :desc => "The inventory file. This is a text file to which the CA writes a
1024
- complete listing of all certificates."
1101
+ complete listing of all certificates.",
1025
1102
  }
1026
1103
  )
1027
1104
 
@@ -1046,10 +1123,10 @@ EOT
1046
1123
  and monitoring systems to determine if a puppet process is still in
1047
1124
  the process table.",
1048
1125
  },
1049
- :bindaddress => {
1050
- :default => "0.0.0.0",
1051
- :desc => "The address a listening server should bind to.",
1052
- }
1126
+ :sourceaddress => {
1127
+ :default => nil,
1128
+ :desc => "The address the agent should use to initiate requests.",
1129
+ },
1053
1130
  )
1054
1131
 
1055
1132
  define_settings(:environment,
@@ -1065,7 +1142,7 @@ EOT
1065
1142
  directory environments instead. If you need to use something other than the
1066
1143
  environment's `manifests` directory as the main manifest, you can set
1067
1144
  `manifest` in environment.conf. For more info, see
1068
- <https://docs.puppet.com/puppet/latest/reference/environments.html>",
1145
+ <https://puppet.com/docs/puppet/latest/environments_about.html>",
1069
1146
  },
1070
1147
  :modulepath => {
1071
1148
  :default => "",
@@ -1079,7 +1156,7 @@ EOT
1079
1156
  directory environments instead. If you need to use something other than the
1080
1157
  default modulepath of `<ACTIVE ENVIRONMENT'S MODULES DIR>:$basemodulepath`,
1081
1158
  you can set `modulepath` in environment.conf. For more info, see
1082
- <https://docs.puppet.com/puppet/latest/reference/environments.html>",
1159
+ <https://puppet.com/docs/puppet/latest/environments_about.html>",
1083
1160
  },
1084
1161
  :config_version => {
1085
1162
  :default => "",
@@ -1091,18 +1168,22 @@ EOT
1091
1168
  Setting a global value for config_version in puppet.conf is not allowed
1092
1169
  (but it can be overridden from the commandline). Please set a
1093
1170
  per-environment value in environment.conf instead. For more info, see
1094
- <https://docs.puppet.com/puppet/latest/reference/environments.html>",
1171
+ <https://puppet.com/docs/puppet/latest/environments_about.html>",
1095
1172
  }
1096
1173
  )
1097
1174
 
1098
1175
  define_settings(:master,
1099
1176
  :user => {
1100
1177
  :default => "puppet",
1101
- :desc => "The user puppet master should run as.",
1178
+ :desc => "The user Puppet Server will run as. Used to ensure
1179
+ the agent side processes (agent, apply, etc) create files and
1180
+ directories readable by Puppet Server when necessary.",
1102
1181
  },
1103
1182
  :group => {
1104
1183
  :default => "puppet",
1105
- :desc => "The group puppet master should run as.",
1184
+ :desc => "The group Puppet Server will run as. Used to ensure
1185
+ the agent side processes (agent, apply, etc) create files and
1186
+ directories readable by Puppet Server when necessary.",
1106
1187
  },
1107
1188
  :default_manifest => {
1108
1189
  :default => "./manifests",
@@ -1141,23 +1222,11 @@ EOT
1141
1222
  by `puppet`, and should only be set if you're writing your own Puppet
1142
1223
  executable.",
1143
1224
  },
1144
- :masterhttplog => {
1145
- :default => "$logdir/masterhttp.log",
1146
- :type => :file,
1147
- :owner => "service",
1148
- :group => "service",
1149
- :mode => "0660",
1150
- :create => true,
1151
- :desc => "Where the puppet master web server saves its access log. This is
1152
- only used when running a WEBrick puppet master. When puppet master is
1153
- running under a Rack server like Passenger, that web server will have
1154
- its own logging behavior."
1155
- },
1156
1225
  :masterport => {
1157
1226
  :default => 8140,
1158
- :desc => "The port for puppet master traffic. For puppet master,
1159
- this is the port to listen on; for puppet agent, this is the port
1160
- to make requests on. Both applications use this setting to get the port.",
1227
+ :desc => "The default port puppet subcommands use to communicate
1228
+ with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1229
+ overridden by more specific settings (see `ca_port`, `report_port`).",
1161
1230
  },
1162
1231
  :node_name => {
1163
1232
  :default => "cert",
@@ -1179,14 +1248,11 @@ EOT
1179
1248
  :rest_authconfig => {
1180
1249
  :default => "$confdir/auth.conf",
1181
1250
  :type => :file,
1251
+ :deprecated => :completely,
1182
1252
  :desc => "The configuration file that defines the rights to the different
1183
- rest indirections. This can be used as a fine-grained
1184
- authorization system for `puppet master`.",
1185
- },
1186
- :ca => {
1187
- :default => true,
1188
- :type => :boolean,
1189
- :desc => "Whether the master should function as a certificate authority.",
1253
+ rest indirections. This can be used as a fine-grained authorization system for
1254
+ `puppet master`. The `puppet master` command is deprecated and Puppet Server
1255
+ uses its own auth.conf that must be placed within its configuration directory.",
1190
1256
  },
1191
1257
  :trusted_oid_mapping_file => {
1192
1258
  :default => "$confdir/custom_trusted_oid_mapping.yaml",
@@ -1194,7 +1260,7 @@ EOT
1194
1260
  :desc => "File that provides mapping between custom SSL oids and user-friendly names"
1195
1261
  },
1196
1262
  :basemodulepath => {
1197
- :default => "$codedir/modules#{File::PATH_SEPARATOR}/opt/puppetlabs/puppet/modules",
1263
+ :default => lambda { default_basemodulepath },
1198
1264
  :type => :path,
1199
1265
  :desc => "The search path for **global** modules. Should be specified as a
1200
1266
  list of directories separated by the system path separator character. (The
@@ -1203,7 +1269,15 @@ EOT
1203
1269
  These are the modules that will be used by _all_ environments. Note that
1204
1270
  the `modules` directory of the active environment will have priority over
1205
1271
  any global directories. For more info, see
1206
- <https://docs.puppet.com/puppet/latest/reference/environments.html>",
1272
+ <https://puppet.com/docs/puppet/latest/environments_about.html>",
1273
+ },
1274
+ :vendormoduledir => {
1275
+ :default => lambda { default_vendormoduledir },
1276
+ :type => :string,
1277
+ :desc => "The directory containing **vendored** modules. These modules will
1278
+ be used by _all_ environments like those in the `basemodulepath`. The only
1279
+ difference is that modules in the `basemodulepath` are pluginsynced, while
1280
+ vendored modules are not",
1207
1281
  },
1208
1282
  :ssl_client_header => {
1209
1283
  :default => "HTTP_X_CLIENT_DN",
@@ -1296,6 +1370,8 @@ EOT
1296
1370
  :default => "$vardir/devices",
1297
1371
  :type => :directory,
1298
1372
  :mode => "0750",
1373
+ :owner => "service",
1374
+ :group => "service",
1299
1375
  :desc => "The root directory of devices' $vardir.",
1300
1376
  },
1301
1377
  :deviceconfig => {
@@ -1387,7 +1463,7 @@ EOT
1387
1463
  For control over logging destinations, see the `--logdest` command line
1388
1464
  option in the manual pages for puppet master, puppet agent, and puppet
1389
1465
  apply. You can see man pages by running `puppet <SUBCOMMAND> --help`,
1390
- or read them online at https://docs.puppetlabs.com/puppet/latest/reference/man/."
1466
+ or read them online at https://puppet.com/docs/puppet/latest/man/."
1391
1467
  },
1392
1468
  :server => {
1393
1469
  :default => "puppet",
@@ -1395,7 +1471,10 @@ EOT
1395
1471
  :call_hook => :on_initialize_and_write,
1396
1472
  :hook => proc { |value|
1397
1473
  if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
1398
- Puppet.deprecation_warning('Attempted to set both server and server_list. Server setting will not be used.', :SERVER_DUPLICATION)
1474
+ #TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
1475
+ message = _('Attempted to set both server and server_list.')
1476
+ message += ' ' + _('Server setting will not be used.')
1477
+ Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
1399
1478
  end
1400
1479
  }
1401
1480
  },
@@ -1407,7 +1486,10 @@ EOT
1407
1486
  :call_hook => :on_initialize_and_write,
1408
1487
  :hook => proc { |value|
1409
1488
  if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
1410
- Puppet.deprecation_warning('Attempted to set both server and server_list. Server setting will not be used.', :SERVER_DUPLICATION)
1489
+ #TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
1490
+ message = _('Attempted to set both server and server_list.')
1491
+ message += ' ' + _('Server setting will not be used.')
1492
+ Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
1411
1493
  end
1412
1494
  }
1413
1495
  },
@@ -1450,7 +1532,7 @@ EOT
1450
1532
  event _would_ have been sent.
1451
1533
 
1452
1534
  **Important note:**
1453
- [The `noop` metaparameter](https://docs.puppetlabs.com/puppet/latest/reference/metaparameter.html#noop)
1535
+ [The `noop` metaparameter](https://puppet.com/docs/puppet/latest/metaparameter.html#noop)
1454
1536
  allows you to apply individual resources in noop mode, and will override
1455
1537
  the global value of the `noop` setting. This means a resource with
1456
1538
  `noop => false` _will_ be changed if necessary, even when running puppet
@@ -1465,6 +1547,13 @@ EOT
1465
1547
  \"never run.\" If you want puppet agent to never run, you should start
1466
1548
  it with the `--no-client` option. #{AS_DURATION}",
1467
1549
  },
1550
+ :runtimeout => {
1551
+ :default => "1h",
1552
+ :type => :duration,
1553
+ :desc => "The maximum amount of time an agent run is allowed to take.
1554
+ A Puppet agent run that exceeds this timeout will be aborted. A value
1555
+ of 0 disables the timeout. Defaults to 1 hour. #{AS_DURATION}",
1556
+ },
1468
1557
  :ca_server => {
1469
1558
  :default => "$server",
1470
1559
  :desc => "The server to use for certificate
@@ -1508,7 +1597,9 @@ EOT
1508
1597
  :type => :boolean,
1509
1598
  :desc => "Whether to only use the cached catalog rather than compiling a new catalog
1510
1599
  on every run. Puppet can be run with this enabled by default and then selectively
1511
- disabled when a recompile is desired.",
1600
+ disabled when a recompile is desired. Because a Puppet agent using cached catalogs
1601
+ does not contact the master for a new catalog, it also does not upload facts at
1602
+ the beginning of the Puppet run.",
1512
1603
  },
1513
1604
  :ignoremissingtypes => {
1514
1605
  :default => false,
@@ -1517,32 +1608,36 @@ EOT
1517
1608
  prior compilation. The list of missing objects is maintained per-environment and
1518
1609
  persists until the environment is cleared or the master is restarted.",
1519
1610
  },
1520
- :ignorecache => {
1521
- :default => false,
1522
- :type => :boolean,
1523
- :desc => "This setting has no effect and will be removed in a future Puppet version.",
1524
- :deprecated => :completely,
1525
- },
1526
1611
  :splaylimit => {
1527
1612
  :default => "$runinterval",
1528
1613
  :type => :duration,
1529
- :desc => "The maximum time to delay before runs. Defaults to being the same as the
1530
- run interval. #{AS_DURATION}",
1614
+ :desc => "The maximum time to delay before an agent's first run when
1615
+ `splay` is enabled. Defaults to the agent's `$runinterval`. The
1616
+ `splay` interval is random and recalculated each time the agent is started or
1617
+ restarted. #{AS_DURATION}",
1531
1618
  },
1532
1619
  :splay => {
1533
1620
  :default => false,
1534
1621
  :type => :boolean,
1535
- :desc => "Whether to sleep for a pseudo-random (but consistent) amount of time before
1536
- a run.
1537
-
1538
- For example, without `splay` enabled, your agent checks in every 30
1539
- minutes at :01 and :31 past the hour. After enabling `splay`, the agent
1540
- will wait the pseudorandom sleep time, say eight minutes, and then check
1541
- in every 30 minutes, at :09 and :39 after the hour. If you restart the
1542
- same agent at 12:45 PM, it will wait its eight minutes, and check in at
1543
- 12:52 PM, and every 30 minutes after that, at 1:22 PM, 1:52 PM, and so
1544
- on. Other agents will have different sleep times, and so will check in
1545
- at different times even if they are all restarted at the same time.",
1622
+ :desc => "Whether to sleep for a random amount of time, ranging from
1623
+ immediately up to its `$splaylimit`, before performing its first agent run
1624
+ after a service restart. After this period, the agent runs periodically
1625
+ on its `$runinterval`.
1626
+
1627
+ For example, assume a default 30-minute `$runinterval`, `splay` set to its
1628
+ default of `false`, and an agent starting at :00 past the hour. The agent
1629
+ would check in every 30 minutes at :01 and :31 past the hour.
1630
+
1631
+ With `splay` enabled, it waits any amount of time up to its `$splaylimit`
1632
+ before its first run. For example, it might randomly wait 8 minutes,
1633
+ then start its first run at :08 past the hour. With the `$runinterval`
1634
+ at its default 30 minutes, its next run will be at :38 past the hour.
1635
+
1636
+ If you restart an agent's puppet service with `splay` enabled, it
1637
+ recalculates its splay period and delays its first agent run after
1638
+ restarting for this new period. If you simultaneously restart a group of
1639
+ puppet agents with `splay` enabled, their checkins to your puppet masters
1640
+ can be distributed more evenly.",
1546
1641
  },
1547
1642
  :clientbucketdir => {
1548
1643
  :default => "$vardir/clientbucket",
@@ -1550,19 +1645,6 @@ EOT
1550
1645
  :mode => "0750",
1551
1646
  :desc => "Where FileBucket files are stored locally."
1552
1647
  },
1553
- :configtimeout => {
1554
- :default => "2m",
1555
- :type => :duration,
1556
- :desc => "How long the client should wait for the configuration to be retrieved
1557
- before considering it a failure. This setting is deprecated and has been replaced
1558
- by http_connect_timeout and http_read_timeout.
1559
- #{AS_DURATION}",
1560
- :deprecated => :completely,
1561
- :hook => proc do |value|
1562
- Puppet[:http_connect_timeout] = value
1563
- Puppet[:http_read_timeout] = value
1564
- end
1565
- },
1566
1648
  :report_server => {
1567
1649
  :default => "$server",
1568
1650
  :desc => "The server to send transaction reports to.",
@@ -1629,28 +1711,6 @@ EOT
1629
1711
  turn off waiting for certificates by specifying a time of 0, in which case
1630
1712
  puppet agent will exit if it cannot get a cert.
1631
1713
  #{AS_DURATION}",
1632
- },
1633
- :ordering => {
1634
- :type => :enum,
1635
- :values => ["manifest", "title-hash", "random"],
1636
- :default => "manifest",
1637
- :desc => "How unrelated resources should be ordered when applying a catalog.
1638
- Allowed values are `title-hash`, `manifest`, and `random`. This
1639
- setting affects puppet agent and puppet apply, but not puppet master.
1640
-
1641
- * `manifest` (the default) will use the order in which the resources were
1642
- declared in their manifest files.
1643
- * `title-hash` (the default in 3.x) will order resources randomly, but
1644
- will use the same order across runs and across nodes. It is only of
1645
- value if you're migrating from 3.x and have errors running with
1646
- `manifest`.
1647
- * `random` will order resources randomly and change their order with each
1648
- run. This can work like a fuzzer for shaking out undeclared dependencies.
1649
-
1650
- Regardless of this setting's value, Puppet will always obey explicit
1651
- dependencies set with the before/require/notify/subscribe metaparameters
1652
- and the `->`/`~>` chaining arrows; this setting only affects the relative
1653
- ordering of _unrelated_ resources."
1654
1714
  }
1655
1715
  )
1656
1716
 
@@ -1679,16 +1739,18 @@ EOT
1679
1739
  :default => "puppet:///pluginfacts",
1680
1740
  :desc => "Where to retrieve external facts for pluginsync",
1681
1741
  },
1682
- :pluginsync => {
1683
- :default => true,
1684
- :type => :boolean,
1685
- :desc => "Whether plugins should be synced with the central server. This setting is
1686
- deprecated.",
1687
- :hook => proc { |value|
1688
- Puppet.deprecation_warning "Setting 'pluginsync' is deprecated."
1689
- }
1742
+ :localedest => {
1743
+ :type => :directory,
1744
+ :default => "$vardir/locales",
1745
+ :desc => "Where Puppet should store translation files that it pulls down from the central
1746
+ server.",
1747
+ },
1748
+ :localesource => {
1749
+ :default => "puppet:///locales",
1750
+ :desc => "From where to retrieve translation files. The standard Puppet `file` type
1751
+ is used for retrieval, so anything that is a valid file source can
1752
+ be used here.",
1690
1753
  },
1691
-
1692
1754
  :pluginsignore => {
1693
1755
  :default => ".svn CVS .git .hg",
1694
1756
  :desc => "What files to ignore when pulling down plugins.",
@@ -1763,7 +1825,7 @@ EOT
1763
1825
 
1764
1826
  Generally, an ENC script makes requests to an external data source.
1765
1827
 
1766
- For more info, see [the ENC documentation](https://docs.puppet.com/puppet/latest/nodes_external.html).",
1828
+ For more info, see [the ENC documentation](https://puppet.com/docs/puppet/latest/nodes_external.html).",
1767
1829
  }
1768
1830
  )
1769
1831
 
@@ -1785,11 +1847,11 @@ EOT
1785
1847
  },
1786
1848
  :ldapserver => {
1787
1849
  :default => "ldap",
1788
- :desc => "The LDAP server. Only used if `node_terminus` is set to `ldap`.",
1850
+ :desc => "The LDAP server.",
1789
1851
  },
1790
1852
  :ldapport => {
1791
1853
  :default => 389,
1792
- :desc => "The LDAP port. Only used if `node_terminus` is set to `ldap`.",
1854
+ :desc => "The LDAP port.",
1793
1855
  },
1794
1856
 
1795
1857
  :ldapstring => {
@@ -1901,6 +1963,14 @@ EOT
1901
1963
  Causes an evaluation error when referencing unknown variables. (This does not affect
1902
1964
  referencing variables that are explicitly set to undef).
1903
1965
  EOT
1966
+ },
1967
+ :tasks => {
1968
+ :default => false,
1969
+ :type => :boolean,
1970
+ :desc => <<-'EOT'
1971
+ Turns on experimental support for tasks and plans in the puppet language. This is for internal API use only.
1972
+ Do not change this setting.
1973
+ EOT
1904
1974
  }
1905
1975
  )
1906
1976
  define_settings(:puppetdoc,
@@ -1915,7 +1985,7 @@ EOT
1915
1985
  define_settings(
1916
1986
  :main,
1917
1987
  :rich_data => {
1918
- :default => false,
1988
+ :default => true,
1919
1989
  :type => :boolean,
1920
1990
  :hook => proc do |value|
1921
1991
  envs = Puppet.lookup(:environments) { nil }
@@ -1923,7 +1993,7 @@ EOT
1923
1993
  end,
1924
1994
  :desc => <<-'EOT'
1925
1995
  Enables having extended data in the catalog by storing them as a hash with the special key
1926
- `__pcore_type__`. When enabled, resource containing values of the data types `Binary`, `Regexp`,
1996
+ `__ptype`. When enabled, resource containing values of the data types `Binary`, `Regexp`,
1927
1997
  `SemVer`, `SemVerRange`, `Timespan` and `Timestamp`, as well as instances of types derived
1928
1998
  from `Object` retain their data type.
1929
1999
  EOT