puppet 7.28.0-x64-mingw32 → 8.0.1-x64-mingw32

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 (1167) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +5 -5
  3. data/Gemfile +8 -7
  4. data/Gemfile.lock +76 -75
  5. data/Rakefile +27 -0
  6. data/bin/puppet +1 -0
  7. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  8. data/ext/build_defaults.yaml +1 -1
  9. data/ext/project_data.yaml +8 -9
  10. data/ext/windows/service/daemon.rb +1 -0
  11. data/install.rb +18 -18
  12. data/lib/hiera/puppet_function.rb +1 -0
  13. data/lib/hiera/scope.rb +6 -5
  14. data/lib/hiera_puppet.rb +2 -1
  15. data/lib/puppet/agent/disabler.rb +1 -0
  16. data/lib/puppet/agent/locker.rb +1 -0
  17. data/lib/puppet/agent.rb +1 -0
  18. data/lib/puppet/application/agent.rb +1 -0
  19. data/lib/puppet/application/apply.rb +1 -0
  20. data/lib/puppet/application/catalog.rb +1 -0
  21. data/lib/puppet/application/config.rb +1 -0
  22. data/lib/puppet/application/describe.rb +1 -0
  23. data/lib/puppet/application/device.rb +1 -0
  24. data/lib/puppet/application/doc.rb +2 -1
  25. data/lib/puppet/application/epp.rb +1 -0
  26. data/lib/puppet/application/face_base.rb +1 -0
  27. data/lib/puppet/application/facts.rb +1 -0
  28. data/lib/puppet/application/filebucket.rb +1 -0
  29. data/lib/puppet/application/generate.rb +1 -0
  30. data/lib/puppet/application/help.rb +1 -0
  31. data/lib/puppet/application/indirection_base.rb +1 -0
  32. data/lib/puppet/application/lookup.rb +2 -1
  33. data/lib/puppet/application/module.rb +1 -0
  34. data/lib/puppet/application/node.rb +1 -0
  35. data/lib/puppet/application/parser.rb +1 -0
  36. data/lib/puppet/application/plugin.rb +1 -0
  37. data/lib/puppet/application/report.rb +1 -0
  38. data/lib/puppet/application/resource.rb +1 -0
  39. data/lib/puppet/application/script.rb +1 -0
  40. data/lib/puppet/application/ssl.rb +8 -42
  41. data/lib/puppet/application.rb +2 -5
  42. data/lib/puppet/application_support.rb +1 -0
  43. data/lib/puppet/coercion.rb +1 -0
  44. data/lib/puppet/compilable_resource_type.rb +1 -0
  45. data/lib/puppet/concurrent/lock.rb +1 -0
  46. data/lib/puppet/concurrent/synchronized.rb +1 -0
  47. data/lib/puppet/concurrent.rb +1 -0
  48. data/lib/puppet/configurer/downloader.rb +1 -0
  49. data/lib/puppet/configurer/fact_handler.rb +1 -0
  50. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  51. data/lib/puppet/configurer.rb +2 -1
  52. data/lib/puppet/confine/any.rb +1 -0
  53. data/lib/puppet/confine/boolean.rb +1 -0
  54. data/lib/puppet/confine/exists.rb +1 -0
  55. data/lib/puppet/confine/false.rb +1 -0
  56. data/lib/puppet/confine/feature.rb +1 -0
  57. data/lib/puppet/confine/true.rb +1 -0
  58. data/lib/puppet/confine/variable.rb +1 -0
  59. data/lib/puppet/confine.rb +1 -0
  60. data/lib/puppet/confine_collection.rb +1 -0
  61. data/lib/puppet/confiner.rb +2 -1
  62. data/lib/puppet/context/trusted_information.rb +7 -6
  63. data/lib/puppet/context.rb +1 -0
  64. data/lib/puppet/daemon.rb +1 -0
  65. data/lib/puppet/data_binding.rb +1 -0
  66. data/lib/puppet/datatypes/error.rb +1 -0
  67. data/lib/puppet/datatypes/impl/error.rb +1 -0
  68. data/lib/puppet/datatypes.rb +1 -0
  69. data/lib/puppet/defaults.rb +30 -18
  70. data/lib/puppet/environments.rb +1 -0
  71. data/lib/puppet/error.rb +1 -0
  72. data/lib/puppet/etc.rb +1 -0
  73. data/lib/puppet/external/dot.rb +1 -0
  74. data/lib/puppet/face/catalog/select.rb +1 -0
  75. data/lib/puppet/face/catalog.rb +1 -0
  76. data/lib/puppet/face/config.rb +2 -1
  77. data/lib/puppet/face/epp.rb +3 -2
  78. data/lib/puppet/face/facts.rb +1 -0
  79. data/lib/puppet/face/generate.rb +1 -0
  80. data/lib/puppet/face/help/action.erb +0 -1
  81. data/lib/puppet/face/help/face.erb +0 -1
  82. data/lib/puppet/face/help.rb +4 -3
  83. data/lib/puppet/face/module/changes.rb +1 -0
  84. data/lib/puppet/face/module/install.rb +1 -0
  85. data/lib/puppet/face/module/list.rb +3 -2
  86. data/lib/puppet/face/module/uninstall.rb +1 -0
  87. data/lib/puppet/face/module/upgrade.rb +1 -0
  88. data/lib/puppet/face/module.rb +1 -0
  89. data/lib/puppet/face/node/clean.rb +1 -0
  90. data/lib/puppet/face/node.rb +1 -0
  91. data/lib/puppet/face/parser.rb +2 -1
  92. data/lib/puppet/face/plugin.rb +1 -0
  93. data/lib/puppet/face/report.rb +1 -0
  94. data/lib/puppet/face/resource.rb +1 -0
  95. data/lib/puppet/face.rb +1 -0
  96. data/lib/puppet/feature/base.rb +1 -0
  97. data/lib/puppet/feature/bolt.rb +1 -0
  98. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  99. data/lib/puppet/feature/eventlog.rb +1 -0
  100. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  101. data/lib/puppet/feature/hocon.rb +1 -0
  102. data/lib/puppet/feature/libuser.rb +1 -0
  103. data/lib/puppet/feature/msgpack.rb +1 -0
  104. data/lib/puppet/feature/pe_license.rb +1 -0
  105. data/lib/puppet/feature/pson.rb +5 -0
  106. data/lib/puppet/feature/selinux.rb +1 -0
  107. data/lib/puppet/feature/ssh.rb +1 -0
  108. data/lib/puppet/feature/telnet.rb +1 -0
  109. data/lib/puppet/feature/zlib.rb +1 -0
  110. data/lib/puppet/ffi/posix/constants.rb +1 -0
  111. data/lib/puppet/ffi/posix/functions.rb +1 -0
  112. data/lib/puppet/ffi/posix.rb +1 -0
  113. data/lib/puppet/ffi/windows/api_types.rb +2 -1
  114. data/lib/puppet/ffi/windows/constants.rb +1 -0
  115. data/lib/puppet/ffi/windows/functions.rb +1 -0
  116. data/lib/puppet/ffi/windows/structs.rb +1 -0
  117. data/lib/puppet/ffi/windows.rb +1 -0
  118. data/lib/puppet/file_bucket/dipper.rb +1 -0
  119. data/lib/puppet/file_bucket/file.rb +1 -0
  120. data/lib/puppet/file_bucket.rb +1 -0
  121. data/lib/puppet/file_serving/base.rb +1 -0
  122. data/lib/puppet/file_serving/configuration/parser.rb +1 -0
  123. data/lib/puppet/file_serving/configuration.rb +1 -0
  124. data/lib/puppet/file_serving/content.rb +1 -0
  125. data/lib/puppet/file_serving/fileset.rb +1 -0
  126. data/lib/puppet/file_serving/http_metadata.rb +1 -0
  127. data/lib/puppet/file_serving/metadata.rb +1 -0
  128. data/lib/puppet/file_serving/mount/file.rb +5 -4
  129. data/lib/puppet/file_serving/mount/locales.rb +1 -0
  130. data/lib/puppet/file_serving/mount/modules.rb +1 -0
  131. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -0
  132. data/lib/puppet/file_serving/mount/plugins.rb +1 -0
  133. data/lib/puppet/file_serving/mount/scripts.rb +1 -0
  134. data/lib/puppet/file_serving/mount/tasks.rb +1 -0
  135. data/lib/puppet/file_serving/mount.rb +1 -0
  136. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  137. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  138. data/lib/puppet/file_serving.rb +1 -0
  139. data/lib/puppet/file_system/file_impl.rb +2 -1
  140. data/lib/puppet/file_system/jruby.rb +1 -0
  141. data/lib/puppet/file_system/memory_file.rb +1 -0
  142. data/lib/puppet/file_system/memory_impl.rb +1 -0
  143. data/lib/puppet/file_system/path_pattern.rb +2 -1
  144. data/lib/puppet/file_system/posix.rb +4 -3
  145. data/lib/puppet/file_system/uniquefile.rb +2 -1
  146. data/lib/puppet/file_system/windows.rb +1 -0
  147. data/lib/puppet/file_system.rb +1 -0
  148. data/lib/puppet/forge/cache.rb +1 -0
  149. data/lib/puppet/forge/errors.rb +1 -0
  150. data/lib/puppet/forge/repository.rb +1 -0
  151. data/lib/puppet/forge.rb +2 -1
  152. data/lib/puppet/functions/abs.rb +1 -0
  153. data/lib/puppet/functions/alert.rb +1 -0
  154. data/lib/puppet/functions/all.rb +1 -0
  155. data/lib/puppet/functions/annotate.rb +1 -0
  156. data/lib/puppet/functions/any.rb +1 -0
  157. data/lib/puppet/functions/assert_type.rb +1 -0
  158. data/lib/puppet/functions/binary_file.rb +1 -0
  159. data/lib/puppet/functions/break.rb +1 -0
  160. data/lib/puppet/functions/call.rb +1 -0
  161. data/lib/puppet/functions/camelcase.rb +1 -0
  162. data/lib/puppet/functions/capitalize.rb +1 -0
  163. data/lib/puppet/functions/ceiling.rb +1 -0
  164. data/lib/puppet/functions/chomp.rb +1 -0
  165. data/lib/puppet/functions/chop.rb +1 -0
  166. data/lib/puppet/functions/compare.rb +1 -0
  167. data/lib/puppet/functions/contain.rb +1 -0
  168. data/lib/puppet/functions/convert_to.rb +1 -0
  169. data/lib/puppet/functions/crit.rb +1 -0
  170. data/lib/puppet/functions/debug.rb +1 -0
  171. data/lib/puppet/functions/defined.rb +1 -0
  172. data/lib/puppet/functions/dig.rb +1 -0
  173. data/lib/puppet/functions/downcase.rb +1 -0
  174. data/lib/puppet/functions/each.rb +1 -0
  175. data/lib/puppet/functions/emerg.rb +1 -0
  176. data/lib/puppet/functions/empty.rb +1 -0
  177. data/lib/puppet/functions/epp.rb +1 -0
  178. data/lib/puppet/functions/err.rb +1 -0
  179. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -0
  180. data/lib/puppet/functions/filter.rb +1 -0
  181. data/lib/puppet/functions/find_file.rb +1 -0
  182. data/lib/puppet/functions/find_template.rb +1 -0
  183. data/lib/puppet/functions/flatten.rb +1 -0
  184. data/lib/puppet/functions/floor.rb +1 -0
  185. data/lib/puppet/functions/get.rb +1 -0
  186. data/lib/puppet/functions/getvar.rb +1 -0
  187. data/lib/puppet/functions/hiera.rb +1 -0
  188. data/lib/puppet/functions/hiera_array.rb +1 -0
  189. data/lib/puppet/functions/hiera_hash.rb +1 -0
  190. data/lib/puppet/functions/hiera_include.rb +1 -0
  191. data/lib/puppet/functions/hocon_data.rb +1 -0
  192. data/lib/puppet/functions/import.rb +1 -0
  193. data/lib/puppet/functions/include.rb +1 -0
  194. data/lib/puppet/functions/index.rb +1 -0
  195. data/lib/puppet/functions/info.rb +1 -0
  196. data/lib/puppet/functions/inline_epp.rb +1 -0
  197. data/lib/puppet/functions/join.rb +1 -0
  198. data/lib/puppet/functions/json_data.rb +1 -0
  199. data/lib/puppet/functions/keys.rb +1 -0
  200. data/lib/puppet/functions/length.rb +1 -0
  201. data/lib/puppet/functions/lest.rb +1 -0
  202. data/lib/puppet/functions/lookup.rb +1 -0
  203. data/lib/puppet/functions/lstrip.rb +1 -0
  204. data/lib/puppet/functions/map.rb +1 -0
  205. data/lib/puppet/functions/match.rb +1 -0
  206. data/lib/puppet/functions/max.rb +67 -0
  207. data/lib/puppet/functions/min.rb +67 -0
  208. data/lib/puppet/functions/module_directory.rb +1 -0
  209. data/lib/puppet/functions/new.rb +1 -0
  210. data/lib/puppet/functions/next.rb +1 -0
  211. data/lib/puppet/functions/notice.rb +1 -0
  212. data/lib/puppet/functions/reduce.rb +1 -0
  213. data/lib/puppet/functions/regsubst.rb +1 -0
  214. data/lib/puppet/functions/require.rb +1 -0
  215. data/lib/puppet/functions/return.rb +1 -0
  216. data/lib/puppet/functions/reverse_each.rb +1 -0
  217. data/lib/puppet/functions/round.rb +1 -0
  218. data/lib/puppet/functions/rstrip.rb +1 -0
  219. data/lib/puppet/functions/scanf.rb +1 -0
  220. data/lib/puppet/functions/size.rb +1 -0
  221. data/lib/puppet/functions/slice.rb +1 -0
  222. data/lib/puppet/functions/sort.rb +1 -0
  223. data/lib/puppet/functions/split.rb +2 -28
  224. data/lib/puppet/functions/step.rb +1 -0
  225. data/lib/puppet/functions/strftime.rb +1 -0
  226. data/lib/puppet/functions/strip.rb +1 -0
  227. data/lib/puppet/functions/then.rb +1 -0
  228. data/lib/puppet/functions/tree_each.rb +1 -0
  229. data/lib/puppet/functions/type.rb +1 -0
  230. data/lib/puppet/functions/unique.rb +1 -0
  231. data/lib/puppet/functions/unwrap.rb +1 -0
  232. data/lib/puppet/functions/upcase.rb +1 -0
  233. data/lib/puppet/functions/values.rb +1 -0
  234. data/lib/puppet/functions/versioncmp.rb +2 -1
  235. data/lib/puppet/functions/warning.rb +1 -0
  236. data/lib/puppet/functions/with.rb +1 -0
  237. data/lib/puppet/functions/yaml_data.rb +1 -0
  238. data/lib/puppet/functions.rb +6 -5
  239. data/lib/puppet/generate/models/type/property.rb +1 -0
  240. data/lib/puppet/generate/models/type/type.rb +1 -0
  241. data/lib/puppet/generate/type.rb +1 -0
  242. data/lib/puppet/gettext/config.rb +1 -0
  243. data/lib/puppet/gettext/module_translations.rb +1 -0
  244. data/lib/puppet/gettext/stubs.rb +1 -0
  245. data/lib/puppet/graph/key.rb +1 -0
  246. data/lib/puppet/graph/prioritizer.rb +1 -0
  247. data/lib/puppet/graph/rb_tree_map.rb +1 -0
  248. data/lib/puppet/graph/relationship_graph.rb +1 -0
  249. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  250. data/lib/puppet/graph/simple_graph.rb +1 -0
  251. data/lib/puppet/graph.rb +1 -0
  252. data/lib/puppet/http/client.rb +6 -12
  253. data/lib/puppet/http/dns.rb +1 -0
  254. data/lib/puppet/http/errors.rb +1 -0
  255. data/lib/puppet/http/external_client.rb +1 -0
  256. data/lib/puppet/http/factory.rb +1 -0
  257. data/lib/puppet/http/pool.rb +1 -0
  258. data/lib/puppet/http/pool_entry.rb +1 -0
  259. data/lib/puppet/http/proxy.rb +1 -0
  260. data/lib/puppet/http/redirector.rb +1 -0
  261. data/lib/puppet/http/resolver/server_list.rb +1 -0
  262. data/lib/puppet/http/resolver/settings.rb +1 -0
  263. data/lib/puppet/http/resolver/srv.rb +1 -0
  264. data/lib/puppet/http/resolver.rb +1 -0
  265. data/lib/puppet/http/response.rb +1 -0
  266. data/lib/puppet/http/response_converter.rb +1 -0
  267. data/lib/puppet/http/response_net_http.rb +1 -0
  268. data/lib/puppet/http/retry_after_handler.rb +1 -0
  269. data/lib/puppet/http/service/ca.rb +2 -1
  270. data/lib/puppet/http/service/compiler.rb +2 -5
  271. data/lib/puppet/http/service/file_server.rb +2 -1
  272. data/lib/puppet/http/service/puppetserver.rb +1 -0
  273. data/lib/puppet/http/service/report.rb +2 -4
  274. data/lib/puppet/http/service.rb +1 -0
  275. data/lib/puppet/http/session.rb +3 -2
  276. data/lib/puppet/http/site.rb +1 -0
  277. data/lib/puppet/http.rb +3 -2
  278. data/lib/puppet/indirector/catalog/compiler.rb +10 -17
  279. data/lib/puppet/indirector/catalog/json.rb +1 -0
  280. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  281. data/lib/puppet/indirector/catalog/rest.rb +1 -8
  282. data/lib/puppet/indirector/catalog/store_configs.rb +1 -0
  283. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  284. data/lib/puppet/indirector/code.rb +1 -0
  285. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  286. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  287. data/lib/puppet/indirector/direct_file_server.rb +1 -0
  288. data/lib/puppet/indirector/envelope.rb +1 -0
  289. data/lib/puppet/indirector/errors.rb +1 -0
  290. data/lib/puppet/indirector/exec.rb +1 -0
  291. data/lib/puppet/indirector/face.rb +6 -16
  292. data/lib/puppet/indirector/fact_search.rb +1 -0
  293. data/lib/puppet/indirector/facts/facter.rb +1 -0
  294. data/lib/puppet/indirector/facts/json.rb +1 -0
  295. data/lib/puppet/indirector/facts/memory.rb +1 -0
  296. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  297. data/lib/puppet/indirector/facts/rest.rb +1 -0
  298. data/lib/puppet/indirector/facts/store_configs.rb +1 -0
  299. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  300. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  301. data/lib/puppet/indirector/file_bucket_file/rest.rb +1 -0
  302. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  303. data/lib/puppet/indirector/file_content/file.rb +1 -0
  304. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  305. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  306. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  307. data/lib/puppet/indirector/file_content.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  311. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  312. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  313. data/lib/puppet/indirector/file_metadata.rb +1 -0
  314. data/lib/puppet/indirector/file_server.rb +1 -0
  315. data/lib/puppet/indirector/generic_http.rb +1 -0
  316. data/lib/puppet/indirector/hiera.rb +1 -0
  317. data/lib/puppet/indirector/indirection.rb +2 -1
  318. data/lib/puppet/indirector/json.rb +1 -0
  319. data/lib/puppet/indirector/memory.rb +1 -0
  320. data/lib/puppet/indirector/msgpack.rb +1 -0
  321. data/lib/puppet/indirector/node/exec.rb +1 -0
  322. data/lib/puppet/indirector/node/json.rb +1 -0
  323. data/lib/puppet/indirector/node/memory.rb +1 -0
  324. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  325. data/lib/puppet/indirector/node/plain.rb +1 -0
  326. data/lib/puppet/indirector/node/rest.rb +1 -0
  327. data/lib/puppet/indirector/node/store_configs.rb +1 -0
  328. data/lib/puppet/indirector/node/yaml.rb +1 -0
  329. data/lib/puppet/indirector/none.rb +1 -0
  330. data/lib/puppet/indirector/plain.rb +1 -0
  331. data/lib/puppet/indirector/report/json.rb +1 -0
  332. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  333. data/lib/puppet/indirector/report/processor.rb +1 -0
  334. data/lib/puppet/indirector/report/rest.rb +1 -13
  335. data/lib/puppet/indirector/report/yaml.rb +1 -0
  336. data/lib/puppet/indirector/request.rb +1 -0
  337. data/lib/puppet/indirector/resource/ral.rb +1 -0
  338. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  339. data/lib/puppet/indirector/resource/validator.rb +1 -0
  340. data/lib/puppet/indirector/rest.rb +1 -0
  341. data/lib/puppet/indirector/store_configs.rb +1 -0
  342. data/lib/puppet/indirector/terminus.rb +1 -0
  343. data/lib/puppet/indirector/yaml.rb +1 -0
  344. data/lib/puppet/indirector.rb +1 -0
  345. data/lib/puppet/info_service/class_information_service.rb +1 -0
  346. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  347. data/lib/puppet/info_service/task_information_service.rb +1 -0
  348. data/lib/puppet/info_service.rb +1 -0
  349. data/lib/puppet/interface/action.rb +3 -4
  350. data/lib/puppet/interface/action_builder.rb +10 -4
  351. data/lib/puppet/interface/action_manager.rb +1 -0
  352. data/lib/puppet/interface/documentation.rb +1 -1
  353. data/lib/puppet/interface/face_collection.rb +1 -0
  354. data/lib/puppet/interface/option.rb +1 -0
  355. data/lib/puppet/interface/option_builder.rb +1 -0
  356. data/lib/puppet/interface/option_manager.rb +1 -0
  357. data/lib/puppet/interface.rb +1 -0
  358. data/lib/puppet/loaders.rb +1 -0
  359. data/lib/puppet/metatype/manager.rb +1 -0
  360. data/lib/puppet/module/plan.rb +1 -0
  361. data/lib/puppet/module/task.rb +1 -2
  362. data/lib/puppet/module.rb +4 -1
  363. data/lib/puppet/module_tool/applications/application.rb +1 -0
  364. data/lib/puppet/module_tool/applications/checksummer.rb +1 -0
  365. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  366. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -0
  367. data/lib/puppet/module_tool/applications/unpacker.rb +1 -0
  368. data/lib/puppet/module_tool/applications/upgrader.rb +1 -0
  369. data/lib/puppet/module_tool/applications.rb +1 -0
  370. data/lib/puppet/module_tool/checksums.rb +1 -0
  371. data/lib/puppet/module_tool/contents_description.rb +1 -0
  372. data/lib/puppet/module_tool/dependency.rb +1 -0
  373. data/lib/puppet/module_tool/errors/base.rb +1 -0
  374. data/lib/puppet/module_tool/errors/installer.rb +1 -0
  375. data/lib/puppet/module_tool/errors/shared.rb +1 -0
  376. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  377. data/lib/puppet/module_tool/errors/upgrader.rb +1 -0
  378. data/lib/puppet/module_tool/errors.rb +1 -0
  379. data/lib/puppet/module_tool/install_directory.rb +1 -0
  380. data/lib/puppet/module_tool/installed_modules.rb +1 -0
  381. data/lib/puppet/module_tool/local_tarball.rb +1 -0
  382. data/lib/puppet/module_tool/metadata.rb +1 -0
  383. data/lib/puppet/module_tool/shared_behaviors.rb +1 -0
  384. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  385. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  386. data/lib/puppet/module_tool/tar.rb +1 -0
  387. data/lib/puppet/module_tool.rb +2 -1
  388. data/lib/puppet/network/authconfig.rb +1 -0
  389. data/lib/puppet/network/authorization.rb +1 -0
  390. data/lib/puppet/network/client_request.rb +1 -0
  391. data/lib/puppet/network/format.rb +1 -0
  392. data/lib/puppet/network/format_handler.rb +2 -1
  393. data/lib/puppet/network/format_support.rb +1 -0
  394. data/lib/puppet/network/formats.rb +6 -3
  395. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  396. data/lib/puppet/network/http/api/indirection_type.rb +1 -0
  397. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  398. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  399. data/lib/puppet/network/http/api/master.rb +1 -0
  400. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -0
  401. data/lib/puppet/network/http/api/server/v3.rb +1 -0
  402. data/lib/puppet/network/http/api/server.rb +1 -0
  403. data/lib/puppet/network/http/api.rb +1 -0
  404. data/lib/puppet/network/http/connection.rb +1 -0
  405. data/lib/puppet/network/http/error.rb +1 -0
  406. data/lib/puppet/network/http/handler.rb +1 -0
  407. data/lib/puppet/network/http/issues.rb +1 -0
  408. data/lib/puppet/network/http/memory_response.rb +2 -1
  409. data/lib/puppet/network/http/request.rb +1 -0
  410. data/lib/puppet/network/http/response.rb +1 -0
  411. data/lib/puppet/network/http/route.rb +1 -0
  412. data/lib/puppet/network/http.rb +1 -0
  413. data/lib/puppet/network/http_pool.rb +1 -0
  414. data/lib/puppet/network/uri.rb +1 -0
  415. data/lib/puppet/network.rb +1 -0
  416. data/lib/puppet/node/environment.rb +7 -8
  417. data/lib/puppet/node/facts.rb +1 -0
  418. data/lib/puppet/node.rb +2 -1
  419. data/lib/puppet/pal/catalog_compiler.rb +1 -0
  420. data/lib/puppet/pal/compiler.rb +1 -0
  421. data/lib/puppet/pal/function_signature.rb +1 -0
  422. data/lib/puppet/pal/json_catalog_encoder.rb +1 -0
  423. data/lib/puppet/pal/pal_api.rb +1 -0
  424. data/lib/puppet/pal/pal_impl.rb +1 -0
  425. data/lib/puppet/pal/plan_signature.rb +1 -0
  426. data/lib/puppet/pal/script_compiler.rb +1 -0
  427. data/lib/puppet/pal/task_signature.rb +1 -0
  428. data/lib/puppet/parameter/boolean.rb +1 -0
  429. data/lib/puppet/parameter/package_options.rb +1 -0
  430. data/lib/puppet/parameter/path.rb +1 -0
  431. data/lib/puppet/parameter/value.rb +1 -0
  432. data/lib/puppet/parameter/value_collection.rb +2 -1
  433. data/lib/puppet/parameter.rb +1 -0
  434. data/lib/puppet/parser/abstract_compiler.rb +1 -0
  435. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  436. data/lib/puppet/parser/ast/branch.rb +1 -0
  437. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  438. data/lib/puppet/parser/ast/leaf.rb +1 -0
  439. data/lib/puppet/parser/ast/node.rb +1 -0
  440. data/lib/puppet/parser/ast/pops_bridge.rb +1 -0
  441. data/lib/puppet/parser/ast/resource.rb +1 -0
  442. data/lib/puppet/parser/ast/resource_instance.rb +1 -0
  443. data/lib/puppet/parser/ast/resourceparam.rb +1 -0
  444. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  445. data/lib/puppet/parser/ast.rb +1 -0
  446. data/lib/puppet/parser/catalog_compiler.rb +1 -0
  447. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -0
  448. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  449. data/lib/puppet/parser/compiler.rb +2 -1
  450. data/lib/puppet/parser/e4_parser_adapter.rb +1 -0
  451. data/lib/puppet/parser/files.rb +1 -0
  452. data/lib/puppet/parser/functions/assert_type.rb +1 -0
  453. data/lib/puppet/parser/functions/binary_file.rb +1 -0
  454. data/lib/puppet/parser/functions/break.rb +1 -0
  455. data/lib/puppet/parser/functions/contain.rb +1 -0
  456. data/lib/puppet/parser/functions/create_resources.rb +1 -0
  457. data/lib/puppet/parser/functions/defined.rb +1 -0
  458. data/lib/puppet/parser/functions/dig.rb +1 -0
  459. data/lib/puppet/parser/functions/digest.rb +1 -0
  460. data/lib/puppet/parser/functions/each.rb +1 -0
  461. data/lib/puppet/parser/functions/epp.rb +1 -0
  462. data/lib/puppet/parser/functions/fail.rb +1 -0
  463. data/lib/puppet/parser/functions/file.rb +1 -0
  464. data/lib/puppet/parser/functions/filter.rb +1 -0
  465. data/lib/puppet/parser/functions/find_file.rb +1 -0
  466. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -0
  467. data/lib/puppet/parser/functions/generate.rb +1 -0
  468. data/lib/puppet/parser/functions/hiera.rb +1 -0
  469. data/lib/puppet/parser/functions/hiera_array.rb +1 -0
  470. data/lib/puppet/parser/functions/hiera_hash.rb +1 -0
  471. data/lib/puppet/parser/functions/hiera_include.rb +1 -0
  472. data/lib/puppet/parser/functions/include.rb +1 -0
  473. data/lib/puppet/parser/functions/inline_epp.rb +1 -0
  474. data/lib/puppet/parser/functions/inline_template.rb +1 -0
  475. data/lib/puppet/parser/functions/lest.rb +1 -0
  476. data/lib/puppet/parser/functions/lookup.rb +1 -0
  477. data/lib/puppet/parser/functions/map.rb +1 -0
  478. data/lib/puppet/parser/functions/match.rb +1 -0
  479. data/lib/puppet/parser/functions/md5.rb +1 -0
  480. data/lib/puppet/parser/functions/new.rb +1 -0
  481. data/lib/puppet/parser/functions/next.rb +1 -0
  482. data/lib/puppet/parser/functions/realize.rb +1 -0
  483. data/lib/puppet/parser/functions/reduce.rb +1 -0
  484. data/lib/puppet/parser/functions/regsubst.rb +1 -0
  485. data/lib/puppet/parser/functions/require.rb +1 -0
  486. data/lib/puppet/parser/functions/return.rb +1 -0
  487. data/lib/puppet/parser/functions/reverse_each.rb +1 -0
  488. data/lib/puppet/parser/functions/scanf.rb +1 -0
  489. data/lib/puppet/parser/functions/sha1.rb +1 -0
  490. data/lib/puppet/parser/functions/sha256.rb +1 -0
  491. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  492. data/lib/puppet/parser/functions/slice.rb +1 -0
  493. data/lib/puppet/parser/functions/split.rb +1 -0
  494. data/lib/puppet/parser/functions/sprintf.rb +1 -0
  495. data/lib/puppet/parser/functions/step.rb +1 -0
  496. data/lib/puppet/parser/functions/strftime.rb +1 -0
  497. data/lib/puppet/parser/functions/tag.rb +1 -0
  498. data/lib/puppet/parser/functions/tagged.rb +1 -0
  499. data/lib/puppet/parser/functions/template.rb +1 -0
  500. data/lib/puppet/parser/functions/then.rb +1 -0
  501. data/lib/puppet/parser/functions/type.rb +1 -0
  502. data/lib/puppet/parser/functions/versioncmp.rb +1 -0
  503. data/lib/puppet/parser/functions/with.rb +1 -0
  504. data/lib/puppet/parser/functions.rb +2 -1
  505. data/lib/puppet/parser/parser_factory.rb +1 -0
  506. data/lib/puppet/parser/relationship.rb +1 -0
  507. data/lib/puppet/parser/resource/param.rb +1 -0
  508. data/lib/puppet/parser/resource.rb +1 -0
  509. data/lib/puppet/parser/scope.rb +6 -1
  510. data/lib/puppet/parser/script_compiler.rb +1 -0
  511. data/lib/puppet/parser/type_loader.rb +1 -0
  512. data/lib/puppet/parser.rb +1 -0
  513. data/lib/puppet/plugins/configuration.rb +1 -0
  514. data/lib/puppet/plugins/syntax_checkers.rb +1 -0
  515. data/lib/puppet/plugins.rb +1 -0
  516. data/lib/puppet/pops/adaptable.rb +1 -0
  517. data/lib/puppet/pops/adapters.rb +1 -0
  518. data/lib/puppet/pops/evaluator/access_operator.rb +2 -1
  519. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -0
  520. data/lib/puppet/pops/evaluator/closure.rb +2 -1
  521. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -0
  522. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  523. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -0
  524. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -0
  525. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -0
  526. data/lib/puppet/pops/evaluator/compare_operator.rb +1 -0
  527. data/lib/puppet/pops/evaluator/deferred_resolver.rb +6 -22
  528. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -0
  529. data/lib/puppet/pops/evaluator/evaluator_impl.rb +2 -1
  530. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -0
  531. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  532. data/lib/puppet/pops/evaluator/literal_evaluator.rb +2 -1
  533. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -0
  534. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -0
  535. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -0
  536. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -1
  537. data/lib/puppet/pops/evaluator/runtime3_support.rb +2 -1
  538. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  539. data/lib/puppet/pops/functions/dispatcher.rb +1 -0
  540. data/lib/puppet/pops/functions/function.rb +1 -0
  541. data/lib/puppet/pops/issue_reporter.rb +1 -0
  542. data/lib/puppet/pops/issues.rb +1 -0
  543. data/lib/puppet/pops/label_provider.rb +1 -0
  544. data/lib/puppet/pops/loader/base_loader.rb +1 -0
  545. data/lib/puppet/pops/loader/dependency_loader.rb +1 -0
  546. data/lib/puppet/pops/loader/gem_support.rb +1 -0
  547. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  548. data/lib/puppet/pops/loader/loader.rb +3 -2
  549. data/lib/puppet/pops/loader/loader_paths.rb +13 -12
  550. data/lib/puppet/pops/loader/module_loaders.rb +2 -1
  551. data/lib/puppet/pops/loader/predefined_loader.rb +1 -0
  552. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +1 -0
  553. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +1 -0
  554. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +2 -1
  556. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -1
  557. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +3 -2
  558. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -0
  559. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -0
  560. data/lib/puppet/pops/loader/static_loader.rb +1 -0
  561. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  562. data/lib/puppet/pops/loader/type_definition_instantiator.rb +1 -0
  563. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  564. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  565. data/lib/puppet/pops/loaders.rb +1 -0
  566. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  567. data/lib/puppet/pops/lookup/context.rb +1 -0
  568. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  569. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +3 -2
  570. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +4 -3
  571. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  572. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  573. data/lib/puppet/pops/lookup/explainer.rb +3 -2
  574. data/lib/puppet/pops/lookup/function_provider.rb +1 -0
  575. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -0
  576. data/lib/puppet/pops/lookup/hiera_config.rb +47 -42
  577. data/lib/puppet/pops/lookup/interpolation.rb +10 -4
  578. data/lib/puppet/pops/lookup/invocation.rb +1 -0
  579. data/lib/puppet/pops/lookup/key_recorder.rb +1 -0
  580. data/lib/puppet/pops/lookup/location_resolver.rb +1 -0
  581. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -6
  582. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  583. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +3 -2
  584. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -0
  585. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -0
  586. data/lib/puppet/pops/lookup.rb +3 -2
  587. data/lib/puppet/pops/merge_strategy.rb +1 -0
  588. data/lib/puppet/pops/migration/migration_checker.rb +1 -0
  589. data/lib/puppet/pops/model/ast_transformer.rb +1 -0
  590. data/lib/puppet/pops/model/factory.rb +1 -1
  591. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  592. data/lib/puppet/pops/model/model_tree_dumper.rb +1 -0
  593. data/lib/puppet/pops/model/pn_transformer.rb +1 -0
  594. data/lib/puppet/pops/model/tree_dumper.rb +2 -1
  595. data/lib/puppet/pops/parser/code_merger.rb +1 -0
  596. data/lib/puppet/pops/parser/epp_parser.rb +1 -0
  597. data/lib/puppet/pops/parser/epp_support.rb +2 -1
  598. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -1
  599. data/lib/puppet/pops/parser/heredoc_support.rb +1 -0
  600. data/lib/puppet/pops/parser/interpolation_support.rb +1 -0
  601. data/lib/puppet/pops/parser/lexer_support.rb +1 -0
  602. data/lib/puppet/pops/parser/locatable.rb +1 -0
  603. data/lib/puppet/pops/parser/locator.rb +1 -0
  604. data/lib/puppet/pops/parser/parser_support.rb +1 -0
  605. data/lib/puppet/pops/parser/pn_parser.rb +5 -4
  606. data/lib/puppet/pops/patterns.rb +1 -0
  607. data/lib/puppet/pops/pcore.rb +3 -2
  608. data/lib/puppet/pops/pn.rb +2 -1
  609. data/lib/puppet/pops/puppet_stack.rb +1 -0
  610. data/lib/puppet/pops/resource/param.rb +1 -0
  611. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -0
  612. data/lib/puppet/pops/semantic_error.rb +1 -0
  613. data/lib/puppet/pops/serialization/abstract_reader.rb +1 -0
  614. data/lib/puppet/pops/serialization/abstract_writer.rb +1 -0
  615. data/lib/puppet/pops/serialization/deserializer.rb +1 -0
  616. data/lib/puppet/pops/serialization/extension.rb +1 -0
  617. data/lib/puppet/pops/serialization/from_data_converter.rb +1 -0
  618. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  619. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  620. data/lib/puppet/pops/serialization/json.rb +1 -0
  621. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  622. data/lib/puppet/pops/serialization/object.rb +1 -0
  623. data/lib/puppet/pops/serialization/serializer.rb +1 -0
  624. data/lib/puppet/pops/serialization/time_factory.rb +1 -0
  625. data/lib/puppet/pops/serialization/to_data_converter.rb +2 -1
  626. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -0
  627. data/lib/puppet/pops/serialization.rb +9 -8
  628. data/lib/puppet/pops/time/timespan.rb +15 -14
  629. data/lib/puppet/pops/time/timestamp.rb +3 -2
  630. data/lib/puppet/pops/types/annotatable.rb +2 -1
  631. data/lib/puppet/pops/types/annotation.rb +2 -1
  632. data/lib/puppet/pops/types/class_loader.rb +1 -0
  633. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  634. data/lib/puppet/pops/types/iterable.rb +1 -0
  635. data/lib/puppet/pops/types/p_binary_type.rb +1 -0
  636. data/lib/puppet/pops/types/p_init_type.rb +1 -0
  637. data/lib/puppet/pops/types/p_meta_type.rb +4 -3
  638. data/lib/puppet/pops/types/p_object_type.rb +16 -15
  639. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -0
  640. data/lib/puppet/pops/types/p_runtime_type.rb +1 -0
  641. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -0
  642. data/lib/puppet/pops/types/p_sem_ver_type.rb +1 -0
  643. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -0
  644. data/lib/puppet/pops/types/p_timespan_type.rb +1 -0
  645. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -0
  646. data/lib/puppet/pops/types/p_type_set_type.rb +9 -8
  647. data/lib/puppet/pops/types/p_uri_type.rb +9 -8
  648. data/lib/puppet/pops/types/puppet_object.rb +1 -0
  649. data/lib/puppet/pops/types/recursion_guard.rb +1 -0
  650. data/lib/puppet/pops/types/ruby_generator.rb +3 -2
  651. data/lib/puppet/pops/types/ruby_method.rb +1 -0
  652. data/lib/puppet/pops/types/string_converter.rb +10 -9
  653. data/lib/puppet/pops/types/tree_iterators.rb +1 -0
  654. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  655. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  656. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  657. data/lib/puppet/pops/types/type_calculator.rb +2 -1
  658. data/lib/puppet/pops/types/type_conversion_error.rb +1 -0
  659. data/lib/puppet/pops/types/type_factory.rb +2 -1
  660. data/lib/puppet/pops/types/type_formatter.rb +2 -2
  661. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -0
  662. data/lib/puppet/pops/types/type_parser.rb +1 -0
  663. data/lib/puppet/pops/types/type_set_reference.rb +1 -0
  664. data/lib/puppet/pops/types/type_with_members.rb +1 -0
  665. data/lib/puppet/pops/types/types.rb +3 -2
  666. data/lib/puppet/pops/utils.rb +3 -2
  667. data/lib/puppet/pops/validation/checker4_0.rb +1 -0
  668. data/lib/puppet/pops/validation/tasks_checker.rb +1 -0
  669. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  670. data/lib/puppet/pops/validation.rb +1 -0
  671. data/lib/puppet/pops/visitable.rb +1 -0
  672. data/lib/puppet/pops/visitor.rb +1 -0
  673. data/lib/puppet/pops.rb +4 -3
  674. data/lib/puppet/property/boolean.rb +1 -0
  675. data/lib/puppet/property/ensure.rb +1 -0
  676. data/lib/puppet/property/keyvalue.rb +1 -0
  677. data/lib/puppet/property/list.rb +1 -0
  678. data/lib/puppet/property/ordered_list.rb +1 -0
  679. data/lib/puppet/property.rb +1 -0
  680. data/lib/puppet/provider/aix_object.rb +1 -0
  681. data/lib/puppet/provider/command.rb +1 -0
  682. data/lib/puppet/provider/confine.rb +1 -0
  683. data/lib/puppet/provider/exec/posix.rb +1 -0
  684. data/lib/puppet/provider/exec/shell.rb +1 -0
  685. data/lib/puppet/provider/exec/windows.rb +4 -3
  686. data/lib/puppet/provider/exec.rb +1 -0
  687. data/lib/puppet/provider/file/posix.rb +1 -0
  688. data/lib/puppet/provider/file/windows.rb +2 -1
  689. data/lib/puppet/provider/group/aix.rb +3 -2
  690. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  691. data/lib/puppet/provider/group/groupadd.rb +2 -1
  692. data/lib/puppet/provider/group/ldap.rb +1 -0
  693. data/lib/puppet/provider/group/pw.rb +3 -2
  694. data/lib/puppet/provider/group/windows_adsi.rb +3 -2
  695. data/lib/puppet/provider/ldap.rb +1 -0
  696. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -4
  697. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  698. data/lib/puppet/provider/nameservice/pw.rb +1 -0
  699. data/lib/puppet/provider/nameservice.rb +1 -0
  700. data/lib/puppet/provider/network_device.rb +1 -0
  701. data/lib/puppet/provider/package/aix.rb +3 -2
  702. data/lib/puppet/provider/package/appdmg.rb +3 -2
  703. data/lib/puppet/provider/package/apple.rb +2 -1
  704. data/lib/puppet/provider/package/apt.rb +3 -2
  705. data/lib/puppet/provider/package/aptitude.rb +1 -0
  706. data/lib/puppet/provider/package/aptrpm.rb +1 -0
  707. data/lib/puppet/provider/package/blastwave.rb +2 -1
  708. data/lib/puppet/provider/package/dnf.rb +6 -6
  709. data/lib/puppet/provider/package/dnfmodule.rb +2 -1
  710. data/lib/puppet/provider/package/dpkg.rb +1 -0
  711. data/lib/puppet/provider/package/fink.rb +1 -0
  712. data/lib/puppet/provider/package/freebsd.rb +2 -1
  713. data/lib/puppet/provider/package/gem.rb +5 -4
  714. data/lib/puppet/provider/package/hpux.rb +3 -2
  715. data/lib/puppet/provider/package/macports.rb +2 -1
  716. data/lib/puppet/provider/package/nim.rb +1 -0
  717. data/lib/puppet/provider/package/openbsd.rb +3 -2
  718. data/lib/puppet/provider/package/opkg.rb +3 -2
  719. data/lib/puppet/provider/package/pacman.rb +3 -2
  720. data/lib/puppet/provider/package/pip.rb +1 -0
  721. data/lib/puppet/provider/package/pip2.rb +1 -0
  722. data/lib/puppet/provider/package/pip3.rb +1 -0
  723. data/lib/puppet/provider/package/pkg.rb +4 -3
  724. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  725. data/lib/puppet/provider/package/pkgin.rb +2 -1
  726. data/lib/puppet/provider/package/pkgng.rb +3 -2
  727. data/lib/puppet/provider/package/pkgutil.rb +2 -1
  728. data/lib/puppet/provider/package/portage.rb +3 -2
  729. data/lib/puppet/provider/package/ports.rb +1 -0
  730. data/lib/puppet/provider/package/portupgrade.rb +2 -1
  731. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  732. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  733. data/lib/puppet/provider/package/rpm.rb +1 -0
  734. data/lib/puppet/provider/package/rug.rb +2 -1
  735. data/lib/puppet/provider/package/sun.rb +3 -2
  736. data/lib/puppet/provider/package/sunfreeware.rb +2 -1
  737. data/lib/puppet/provider/package/tdnf.rb +2 -1
  738. data/lib/puppet/provider/package/up2date.rb +3 -2
  739. data/lib/puppet/provider/package/urpmi.rb +2 -1
  740. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  741. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  742. data/lib/puppet/provider/package/windows/package.rb +3 -2
  743. data/lib/puppet/provider/package/windows.rb +3 -2
  744. data/lib/puppet/provider/package/yum.rb +6 -5
  745. data/lib/puppet/provider/package/zypper.rb +3 -2
  746. data/lib/puppet/provider/package.rb +1 -0
  747. data/lib/puppet/provider/package_targetable.rb +1 -0
  748. data/lib/puppet/provider/parsedfile.rb +1 -0
  749. data/lib/puppet/provider/service/base.rb +2 -1
  750. data/lib/puppet/provider/service/bsd.rb +2 -1
  751. data/lib/puppet/provider/service/daemontools.rb +2 -1
  752. data/lib/puppet/provider/service/debian.rb +4 -3
  753. data/lib/puppet/provider/service/freebsd.rb +3 -2
  754. data/lib/puppet/provider/service/gentoo.rb +2 -1
  755. data/lib/puppet/provider/service/init.rb +9 -5
  756. data/lib/puppet/provider/service/launchd.rb +4 -3
  757. data/lib/puppet/provider/service/openbsd.rb +3 -2
  758. data/lib/puppet/provider/service/openrc.rb +3 -2
  759. data/lib/puppet/provider/service/openwrt.rb +3 -2
  760. data/lib/puppet/provider/service/rcng.rb +3 -2
  761. data/lib/puppet/provider/service/redhat.rb +4 -3
  762. data/lib/puppet/provider/service/runit.rb +1 -0
  763. data/lib/puppet/provider/service/service.rb +1 -0
  764. data/lib/puppet/provider/service/smf.rb +6 -5
  765. data/lib/puppet/provider/service/src.rb +3 -2
  766. data/lib/puppet/provider/service/systemd.rb +17 -17
  767. data/lib/puppet/provider/service/upstart.rb +8 -7
  768. data/lib/puppet/provider/service/windows.rb +3 -2
  769. data/lib/puppet/provider/user/aix.rb +3 -2
  770. data/lib/puppet/provider/user/directoryservice.rb +5 -4
  771. data/lib/puppet/provider/user/hpux.rb +3 -2
  772. data/lib/puppet/provider/user/ldap.rb +1 -0
  773. data/lib/puppet/provider/user/openbsd.rb +3 -2
  774. data/lib/puppet/provider/user/pw.rb +3 -2
  775. data/lib/puppet/provider/user/user_role_add.rb +2 -1
  776. data/lib/puppet/provider/user/useradd.rb +7 -6
  777. data/lib/puppet/provider/user/windows_adsi.rb +3 -2
  778. data/lib/puppet/provider.rb +1 -0
  779. data/lib/puppet/reference/configuration.rb +2 -1
  780. data/lib/puppet/reference/function.rb +1 -0
  781. data/lib/puppet/reference/indirection.rb +2 -1
  782. data/lib/puppet/reference/metaparameter.rb +1 -0
  783. data/lib/puppet/reference/providers.rb +5 -5
  784. data/lib/puppet/reference/report.rb +1 -0
  785. data/lib/puppet/reference/type.rb +1 -0
  786. data/lib/puppet/relationship.rb +1 -0
  787. data/lib/puppet/reports/http.rb +1 -0
  788. data/lib/puppet/reports/log.rb +1 -0
  789. data/lib/puppet/reports/store.rb +1 -0
  790. data/lib/puppet/reports.rb +2 -1
  791. data/lib/puppet/resource/catalog.rb +1 -0
  792. data/lib/puppet/resource/status.rb +1 -0
  793. data/lib/puppet/resource/type.rb +9 -8
  794. data/lib/puppet/resource.rb +9 -8
  795. data/lib/puppet/runtime.rb +1 -0
  796. data/lib/puppet/scheduler/job.rb +1 -0
  797. data/lib/puppet/scheduler/scheduler.rb +1 -0
  798. data/lib/puppet/scheduler/splay_job.rb +1 -0
  799. data/lib/puppet/scheduler/timer.rb +1 -0
  800. data/lib/puppet/scheduler.rb +1 -0
  801. data/lib/puppet/settings/alias_setting.rb +1 -0
  802. data/lib/puppet/settings/array_setting.rb +1 -0
  803. data/lib/puppet/settings/autosign_setting.rb +1 -0
  804. data/lib/puppet/settings/base_setting.rb +1 -0
  805. data/lib/puppet/settings/boolean_setting.rb +1 -0
  806. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -0
  807. data/lib/puppet/settings/config_file.rb +1 -0
  808. data/lib/puppet/settings/directory_setting.rb +1 -0
  809. data/lib/puppet/settings/duration_setting.rb +1 -0
  810. data/lib/puppet/settings/enum_setting.rb +1 -0
  811. data/lib/puppet/settings/environment_conf.rb +1 -0
  812. data/lib/puppet/settings/errors.rb +1 -0
  813. data/lib/puppet/settings/file_or_directory_setting.rb +1 -0
  814. data/lib/puppet/settings/file_setting.rb +1 -0
  815. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -0
  816. data/lib/puppet/settings/ini_file.rb +1 -0
  817. data/lib/puppet/settings/integer_setting.rb +1 -0
  818. data/lib/puppet/settings/path_setting.rb +1 -0
  819. data/lib/puppet/settings/port_setting.rb +1 -0
  820. data/lib/puppet/settings/priority_setting.rb +1 -0
  821. data/lib/puppet/settings/server_list_setting.rb +1 -0
  822. data/lib/puppet/settings/string_setting.rb +1 -0
  823. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -0
  824. data/lib/puppet/settings/terminus_setting.rb +1 -0
  825. data/lib/puppet/settings/ttl_setting.rb +1 -0
  826. data/lib/puppet/settings/value_translator.rb +1 -0
  827. data/lib/puppet/settings.rb +7 -20
  828. data/lib/puppet/ssl/base.rb +1 -0
  829. data/lib/puppet/ssl/certificate.rb +1 -0
  830. data/lib/puppet/ssl/certificate_request.rb +2 -4
  831. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -0
  832. data/lib/puppet/ssl/certificate_signer.rb +1 -0
  833. data/lib/puppet/ssl/digest.rb +1 -0
  834. data/lib/puppet/ssl/error.rb +1 -0
  835. data/lib/puppet/ssl/oids.rb +1 -1
  836. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  837. data/lib/puppet/ssl/ssl_context.rb +16 -10
  838. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  839. data/lib/puppet/ssl/state_machine.rb +1 -0
  840. data/lib/puppet/ssl/verifier.rb +1 -0
  841. data/lib/puppet/ssl.rb +2 -1
  842. data/lib/puppet/syntax_checkers/base64.rb +1 -0
  843. data/lib/puppet/syntax_checkers/epp.rb +1 -0
  844. data/lib/puppet/syntax_checkers/json.rb +1 -0
  845. data/lib/puppet/syntax_checkers/pp.rb +1 -0
  846. data/lib/puppet/syntax_checkers.rb +1 -0
  847. data/lib/puppet/test/test_helper.rb +4 -21
  848. data/lib/puppet/thread_local.rb +5 -1
  849. data/lib/puppet/transaction/additional_resource_generator.rb +1 -0
  850. data/lib/puppet/transaction/event.rb +1 -0
  851. data/lib/puppet/transaction/event_manager.rb +1 -0
  852. data/lib/puppet/transaction/persistence.rb +1 -0
  853. data/lib/puppet/transaction/report.rb +3 -2
  854. data/lib/puppet/transaction/resource_harness.rb +1 -0
  855. data/lib/puppet/transaction.rb +1 -0
  856. data/lib/puppet/trusted_external.rb +1 -0
  857. data/lib/puppet/type/component.rb +2 -1
  858. data/lib/puppet/type/exec.rb +8 -15
  859. data/lib/puppet/type/file/checksum.rb +1 -0
  860. data/lib/puppet/type/file/checksum_value.rb +1 -0
  861. data/lib/puppet/type/file/content.rb +1 -0
  862. data/lib/puppet/type/file/ctime.rb +1 -0
  863. data/lib/puppet/type/file/data_sync.rb +1 -0
  864. data/lib/puppet/type/file/ensure.rb +1 -0
  865. data/lib/puppet/type/file/group.rb +1 -0
  866. data/lib/puppet/type/file/mode.rb +1 -0
  867. data/lib/puppet/type/file/mtime.rb +1 -0
  868. data/lib/puppet/type/file/owner.rb +1 -0
  869. data/lib/puppet/type/file/selcontext.rb +1 -0
  870. data/lib/puppet/type/file/source.rb +2 -1
  871. data/lib/puppet/type/file/target.rb +1 -0
  872. data/lib/puppet/type/file/type.rb +1 -0
  873. data/lib/puppet/type/file.rb +1 -0
  874. data/lib/puppet/type/filebucket.rb +1 -0
  875. data/lib/puppet/type/group.rb +1 -0
  876. data/lib/puppet/type/notify.rb +1 -0
  877. data/lib/puppet/type/package.rb +3 -2
  878. data/lib/puppet/type/resources.rb +2 -2
  879. data/lib/puppet/type/schedule.rb +1 -0
  880. data/lib/puppet/type/service.rb +1 -0
  881. data/lib/puppet/type/stage.rb +1 -0
  882. data/lib/puppet/type/tidy.rb +1 -0
  883. data/lib/puppet/type/user.rb +1 -0
  884. data/lib/puppet/type/whit.rb +1 -0
  885. data/lib/puppet/type.rb +2 -42
  886. data/lib/puppet/util/at_fork/noop.rb +1 -0
  887. data/lib/puppet/util/at_fork/solaris.rb +1 -0
  888. data/lib/puppet/util/at_fork.rb +1 -0
  889. data/lib/puppet/util/autoload.rb +1 -0
  890. data/lib/puppet/util/backups.rb +1 -0
  891. data/lib/puppet/util/character_encoding.rb +1 -0
  892. data/lib/puppet/util/checksums.rb +1 -0
  893. data/lib/puppet/util/classgen.rb +1 -0
  894. data/lib/puppet/util/colors.rb +1 -0
  895. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -0
  896. data/lib/puppet/util/command_line/trollop.rb +2 -1
  897. data/lib/puppet/util/command_line.rb +1 -0
  898. data/lib/puppet/util/constant_inflector.rb +1 -0
  899. data/lib/puppet/util/diff.rb +2 -1
  900. data/lib/puppet/util/docs.rb +1 -0
  901. data/lib/puppet/util/errors.rb +1 -0
  902. data/lib/puppet/util/execution.rb +7 -12
  903. data/lib/puppet/util/execution_stub.rb +1 -0
  904. data/lib/puppet/util/feature.rb +1 -0
  905. data/lib/puppet/util/file_watcher.rb +1 -0
  906. data/lib/puppet/util/fileparsing.rb +1 -0
  907. data/lib/puppet/util/filetype.rb +3 -2
  908. data/lib/puppet/util/http_proxy.rb +1 -0
  909. data/lib/puppet/util/inifile.rb +3 -2
  910. data/lib/puppet/util/instance_loader.rb +1 -0
  911. data/lib/puppet/util/json.rb +1 -0
  912. data/lib/puppet/util/json_lockfile.rb +1 -0
  913. data/lib/puppet/util/ldap/connection.rb +1 -0
  914. data/lib/puppet/util/ldap/generator.rb +1 -0
  915. data/lib/puppet/util/ldap/manager.rb +1 -0
  916. data/lib/puppet/util/ldap.rb +1 -0
  917. data/lib/puppet/util/libuser.rb +1 -0
  918. data/lib/puppet/util/limits.rb +1 -0
  919. data/lib/puppet/util/lockfile.rb +1 -0
  920. data/lib/puppet/util/log/destination.rb +1 -0
  921. data/lib/puppet/util/log/destinations.rb +1 -0
  922. data/lib/puppet/util/log.rb +1 -0
  923. data/lib/puppet/util/logging.rb +1 -0
  924. data/lib/puppet/util/metaid.rb +1 -0
  925. data/lib/puppet/util/metric.rb +1 -0
  926. data/lib/puppet/util/monkey_patches.rb +3 -28
  927. data/lib/puppet/util/multi_match.rb +1 -0
  928. data/lib/puppet/util/network_device/base.rb +1 -0
  929. data/lib/puppet/util/network_device/config.rb +1 -0
  930. data/lib/puppet/util/network_device/transport/base.rb +1 -0
  931. data/lib/puppet/util/network_device/transport.rb +1 -0
  932. data/lib/puppet/util/network_device.rb +1 -0
  933. data/lib/puppet/util/package/version/debian.rb +1 -0
  934. data/lib/puppet/util/package/version/gem.rb +1 -0
  935. data/lib/puppet/util/package/version/pip.rb +4 -3
  936. data/lib/puppet/util/package/version/range/eq.rb +1 -0
  937. data/lib/puppet/util/package/version/range/gt.rb +1 -0
  938. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -0
  939. data/lib/puppet/util/package/version/range/lt.rb +1 -0
  940. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -0
  941. data/lib/puppet/util/package/version/range/min_max.rb +1 -0
  942. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  943. data/lib/puppet/util/package/version/range.rb +1 -0
  944. data/lib/puppet/util/package/version/rpm.rb +1 -1
  945. data/lib/puppet/util/pidlock.rb +1 -0
  946. data/lib/puppet/util/platform.rb +3 -2
  947. data/lib/puppet/util/plist.rb +1 -0
  948. data/lib/puppet/util/posix.rb +1 -0
  949. data/lib/puppet/util/profiler/aggregate.rb +1 -0
  950. data/lib/puppet/util/profiler/around_profiler.rb +1 -0
  951. data/lib/puppet/util/profiler/logging.rb +1 -0
  952. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  953. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  954. data/lib/puppet/util/profiler.rb +1 -0
  955. data/lib/puppet/util/provider_features.rb +2 -1
  956. data/lib/puppet/util/psych_support.rb +1 -0
  957. data/lib/puppet/util/rdoc/code_objects.rb +1 -0
  958. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -0
  959. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -0
  961. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  962. data/lib/puppet/util/rdoc/parser.rb +1 -0
  963. data/lib/puppet/util/rdoc.rb +1 -0
  964. data/lib/puppet/util/reference.rb +1 -0
  965. data/lib/puppet/util/resource_template.rb +1 -0
  966. data/lib/puppet/util/retry_action.rb +1 -0
  967. data/lib/puppet/util/rpm_compare.rb +1 -0
  968. data/lib/puppet/util/rubygems.rb +1 -0
  969. data/lib/puppet/util/run_mode.rb +1 -0
  970. data/lib/puppet/util/selinux.rb +2 -1
  971. data/lib/puppet/util/skip_tags.rb +1 -0
  972. data/lib/puppet/util/splayer.rb +1 -0
  973. data/lib/puppet/util/storage.rb +1 -0
  974. data/lib/puppet/util/suidmanager.rb +2 -1
  975. data/lib/puppet/util/symbolic_file_mode.rb +1 -0
  976. data/lib/puppet/util/tag_set.rb +1 -0
  977. data/lib/puppet/util/terminal.rb +1 -0
  978. data/lib/puppet/util/user_attr.rb +1 -0
  979. data/lib/puppet/util/warnings.rb +1 -0
  980. data/lib/puppet/util/watched_file.rb +1 -0
  981. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  982. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  983. data/lib/puppet/util/watcher/timer.rb +1 -0
  984. data/lib/puppet/util/watcher.rb +1 -0
  985. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  986. data/lib/puppet/util/windows/access_control_list.rb +2 -1
  987. data/lib/puppet/util/windows/adsi.rb +3 -9
  988. data/lib/puppet/util/windows/com.rb +1 -0
  989. data/lib/puppet/util/windows/daemon.rb +1 -0
  990. data/lib/puppet/util/windows/error.rb +2 -1
  991. data/lib/puppet/util/windows/eventlog.rb +1 -0
  992. data/lib/puppet/util/windows/file.rb +3 -2
  993. data/lib/puppet/util/windows/principal.rb +1 -0
  994. data/lib/puppet/util/windows/process.rb +2 -1
  995. data/lib/puppet/util/windows/registry.rb +1 -0
  996. data/lib/puppet/util/windows/root_certs.rb +1 -0
  997. data/lib/puppet/util/windows/security.rb +1 -0
  998. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  999. data/lib/puppet/util/windows/service.rb +1 -0
  1000. data/lib/puppet/util/windows/sid.rb +3 -4
  1001. data/lib/puppet/util/windows/string.rb +1 -0
  1002. data/lib/puppet/util/windows/user.rb +1 -0
  1003. data/lib/puppet/util/windows.rb +1 -0
  1004. data/lib/puppet/util/yaml.rb +1 -0
  1005. data/lib/puppet/util.rb +32 -87
  1006. data/lib/puppet/vendor.rb +1 -0
  1007. data/lib/puppet/version.rb +2 -1
  1008. data/lib/puppet/x509/cert_provider.rb +3 -6
  1009. data/lib/puppet/x509/pem_store.rb +1 -0
  1010. data/lib/puppet/x509.rb +1 -0
  1011. data/lib/puppet.rb +5 -8
  1012. data/lib/puppet_pal.rb +1 -0
  1013. data/lib/puppet_x.rb +1 -0
  1014. data/locales/puppet.pot +9679 -5
  1015. data/man/man5/puppet.conf.5 +13 -13
  1016. data/man/man8/puppet-agent.8 +1 -1
  1017. data/man/man8/puppet-apply.8 +1 -1
  1018. data/man/man8/puppet-catalog.8 +1 -5
  1019. data/man/man8/puppet-config.8 +1 -1
  1020. data/man/man8/puppet-describe.8 +1 -1
  1021. data/man/man8/puppet-device.8 +1 -1
  1022. data/man/man8/puppet-doc.8 +1 -1
  1023. data/man/man8/puppet-epp.8 +1 -1
  1024. data/man/man8/puppet-facts.8 +1 -5
  1025. data/man/man8/puppet-filebucket.8 +1 -1
  1026. data/man/man8/puppet-generate.8 +1 -1
  1027. data/man/man8/puppet-help.8 +1 -1
  1028. data/man/man8/puppet-lookup.8 +1 -1
  1029. data/man/man8/puppet-module.8 +1 -1
  1030. data/man/man8/puppet-node.8 +1 -5
  1031. data/man/man8/puppet-parser.8 +1 -1
  1032. data/man/man8/puppet-plugin.8 +1 -1
  1033. data/man/man8/puppet-report.8 +1 -5
  1034. data/man/man8/puppet-resource.8 +1 -1
  1035. data/man/man8/puppet-script.8 +1 -1
  1036. data/man/man8/puppet-ssl.8 +1 -5
  1037. data/man/man8/puppet.8 +2 -2
  1038. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  1039. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +1 -1
  1040. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +1 -1
  1041. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +1 -1
  1042. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +1 -1
  1043. data/spec/integration/application/agent_spec.rb +17 -25
  1044. data/spec/integration/application/apply_spec.rb +23 -29
  1045. data/spec/integration/configurer_spec.rb +4 -2
  1046. data/spec/integration/defaults_spec.rb +3 -3
  1047. data/spec/integration/http/client_spec.rb +2 -18
  1048. data/spec/integration/network/formats_spec.rb +1 -1
  1049. data/spec/integration/network/http/api/indirected_routes_spec.rb +2 -2
  1050. data/spec/integration/network/http_pool_spec.rb +2 -2
  1051. data/spec/integration/node/facts_spec.rb +2 -2
  1052. data/spec/integration/parser/compiler_spec.rb +15 -4
  1053. data/spec/integration/parser/conditionals_spec.rb +3 -0
  1054. data/spec/integration/parser/scope_spec.rb +10 -3
  1055. data/spec/integration/type/exec_spec.rb +0 -13
  1056. data/spec/integration/type/file_spec.rb +2 -2
  1057. data/spec/integration/type/package_spec.rb +5 -5
  1058. data/spec/integration/util_spec.rb +1 -1
  1059. data/spec/lib/puppet_spec/network.rb +18 -0
  1060. data/spec/lib/puppet_spec/puppetserver.rb +0 -1
  1061. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  1062. data/spec/unit/application/device_spec.rb +2 -2
  1063. data/spec/unit/application/lookup_spec.rb +6 -0
  1064. data/spec/unit/application/resource_spec.rb +22 -13
  1065. data/spec/unit/application/ssl_spec.rb +0 -49
  1066. data/spec/unit/configurer/fact_handler_spec.rb +1 -1
  1067. data/spec/unit/confine_spec.rb +6 -6
  1068. data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -0
  1069. data/spec/unit/defaults_spec.rb +48 -2
  1070. data/spec/unit/external/pson_spec.rb +1 -3
  1071. data/spec/unit/face/epp_face_spec.rb +2 -2
  1072. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  1073. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  1074. data/spec/unit/file_serving/mount/file_spec.rb +2 -2
  1075. data/spec/unit/file_system/path_pattern_spec.rb +0 -15
  1076. data/spec/unit/functions/epp_spec.rb +7 -1
  1077. data/spec/unit/functions/hiera_spec.rb +7 -7
  1078. data/spec/unit/functions/inline_epp_spec.rb +7 -1
  1079. data/spec/unit/functions/lookup_spec.rb +59 -69
  1080. data/spec/unit/functions/max_spec.rb +30 -1
  1081. data/spec/unit/functions/min_spec.rb +30 -1
  1082. data/spec/unit/functions/return_spec.rb +4 -0
  1083. data/spec/unit/functions/split_spec.rb +0 -6
  1084. data/spec/unit/hiera/scope_spec.rb +6 -1
  1085. data/spec/unit/hiera_puppet_spec.rb +1 -1
  1086. data/spec/unit/http/factory_spec.rb +1 -1
  1087. data/spec/unit/http/service/compiler_spec.rb +5 -3
  1088. data/spec/unit/http/service/file_server_spec.rb +5 -3
  1089. data/spec/unit/http/service/report_spec.rb +4 -14
  1090. data/spec/unit/http/service_spec.rb +5 -11
  1091. data/spec/unit/indirector/catalog/compiler_spec.rb +12 -28
  1092. data/spec/unit/indirector/catalog/rest_spec.rb +0 -17
  1093. data/spec/unit/indirector/face_spec.rb +4 -6
  1094. data/spec/unit/indirector/facts/facter_spec.rb +1 -1
  1095. data/spec/unit/indirector/hiera_spec.rb +7 -2
  1096. data/spec/unit/indirector/report/rest_spec.rb +0 -26
  1097. data/spec/unit/indirector/rest_spec.rb +1 -1
  1098. data/spec/unit/module_spec.rb +2 -6
  1099. data/spec/unit/module_tool/tar_spec.rb +3 -3
  1100. data/spec/unit/network/formats_spec.rb +1 -1
  1101. data/spec/unit/network/http/api/indirected_routes_spec.rb +10 -10
  1102. data/spec/unit/parser/scope_spec.rb +4 -0
  1103. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +8 -0
  1104. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +5 -0
  1105. data/spec/unit/pops/loaders/loaders_spec.rb +7 -7
  1106. data/spec/unit/pops/lookup/interpolation_spec.rb +12 -0
  1107. data/spec/unit/pops/serialization/serialization_spec.rb +2 -2
  1108. data/spec/unit/pops/serialization/to_from_hr_spec.rb +13 -1
  1109. data/spec/unit/pops/validator/validator_spec.rb +2 -3
  1110. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1111. data/spec/unit/provider/package/apt_spec.rb +2 -2
  1112. data/spec/unit/provider/package/dnf_spec.rb +15 -22
  1113. data/spec/unit/provider/package/dnfmodule_spec.rb +8 -28
  1114. data/spec/unit/provider/package/gem_spec.rb +4 -4
  1115. data/spec/unit/provider/package/pip2_spec.rb +2 -2
  1116. data/spec/unit/provider/package/pip3_spec.rb +2 -2
  1117. data/spec/unit/provider/package/pip_spec.rb +2 -2
  1118. data/spec/unit/provider/package/pkg_spec.rb +8 -8
  1119. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1120. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1121. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -6
  1122. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -2
  1123. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  1124. data/spec/unit/provider/package/up2date_spec.rb +2 -2
  1125. data/spec/unit/provider/package/yum_spec.rb +16 -16
  1126. data/spec/unit/provider/service/base_spec.rb +1 -1
  1127. data/spec/unit/provider/service/bsd_spec.rb +2 -2
  1128. data/spec/unit/provider/service/debian_spec.rb +7 -7
  1129. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  1130. data/spec/unit/provider/service/gentoo_spec.rb +2 -2
  1131. data/spec/unit/provider/service/init_spec.rb +8 -8
  1132. data/spec/unit/provider/service/openbsd_spec.rb +2 -2
  1133. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  1134. data/spec/unit/provider/service/rcng_spec.rb +2 -2
  1135. data/spec/unit/provider/service/redhat_spec.rb +7 -7
  1136. data/spec/unit/provider/service/smf_spec.rb +8 -8
  1137. data/spec/unit/provider/service/systemd_spec.rb +60 -62
  1138. data/spec/unit/provider/service/upstart_spec.rb +3 -3
  1139. data/spec/unit/provider/user/directoryservice_spec.rb +2 -2
  1140. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1141. data/spec/unit/provider/user/useradd_spec.rb +14 -14
  1142. data/spec/unit/provider_spec.rb +51 -51
  1143. data/spec/unit/reports/store_spec.rb +5 -3
  1144. data/spec/unit/resource/catalog_spec.rb +13 -4
  1145. data/spec/unit/ssl/certificate_request_spec.rb +6 -2
  1146. data/spec/unit/ssl/ssl_provider_spec.rb +9 -4
  1147. data/spec/unit/ssl/state_machine_spec.rb +1 -6
  1148. data/spec/unit/test/test_helper_spec.rb +4 -4
  1149. data/spec/unit/transaction/report_spec.rb +39 -7
  1150. data/spec/unit/type/exec_spec.rb +0 -13
  1151. data/spec/unit/type/package_spec.rb +3 -3
  1152. data/spec/unit/type/resources_spec.rb +2 -2
  1153. data/spec/unit/type_spec.rb +2 -2
  1154. data/spec/unit/util/execution_spec.rb +0 -1
  1155. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1156. data/spec/unit/util/monkey_patches_spec.rb +0 -18
  1157. data/spec/unit/util/run_mode_spec.rb +0 -32
  1158. data/spec/unit/util/windows/adsi_spec.rb +0 -25
  1159. data/spec/unit/util_spec.rb +68 -62
  1160. data/spec/unit/x509/cert_provider_spec.rb +2 -2
  1161. metadata +29 -43
  1162. data/lib/puppet/external/pson/common.rb +0 -374
  1163. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1164. data/lib/puppet/external/pson/pure/parser.rb +0 -308
  1165. data/lib/puppet/external/pson/pure.rb +0 -15
  1166. data/lib/puppet/external/pson/version.rb +0 -8
  1167. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `alert`.
2
3
  Puppet::Functions.create_function(:alert, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Runs a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # repeatedly using each value in a data structure until the lambda returns a non "truthy" value which
3
4
  # makes the function return `false`, or if the end of the iteration is reached, `true` is returned.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Handles annotations on objects. The function can be used in four different ways.
2
3
  #
3
4
  # With two arguments, an `Annotation` type and an object, the function returns the annotation
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Runs a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # repeatedly using each value in a data structure until the lambda returns a "truthy" value which
3
4
  # makes the function return `true`, or if the end of the iteration is reached, false is returned.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the given value if it is of the given
2
3
  # [data type](https://puppet.com/docs/puppet/latest/lang_data.html), or
3
4
  # otherwise either raises an error or executes an optional two-parameter
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Loads a binary file from a module or file system and returns its contents as a `Binary`.
2
3
  # The argument to this function should be a `<MODULE NAME>/<FILE>`
3
4
  # reference, which will load `<FILE>` from a module's `files`
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Breaks an innermost iteration as if it encountered an end of input.
2
3
  # This function does not return to the caller.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Calls an arbitrary Puppet function by name.
2
3
  #
3
4
  # This function takes one mandatory argument and one or more optional arguments:
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Creates a Camel Case version of a String
2
3
  #
3
4
  # This function is compatible with the stdlib function with the same name.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Capitalizes the first character of a String, or the first character of every String in an Iterable value (such as an Array).
2
3
  #
3
4
  # This function is compatible with the stdlib function with the same name.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the smallest `Integer` greater or equal to the argument.
2
3
  # Takes a single numeric value as an argument.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns a new string with the record separator character(s) removed.
2
3
  # The record separator is the line ending characters `\r` and `\n`.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns a new string with the last character removed.
2
3
  # If the string ends with `\r\n`, both characters are removed. Applying chop to an empty
3
4
  # string returns an empty string. If you wish to merely remove record
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Compares two values and returns -1, 0 or 1 if first value is smaller, equal or larger than the second value.
2
3
  # The compare function accepts arguments of the data types `String`, `Numeric`, `Timespan`, `Timestamp`, and `Semver`,
3
4
  # such that:
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Makes one or more classes be contained inside the current class.
2
3
  # If any of these classes are undeclared, they will be declared as if
3
4
  # there were declared with the `include` function.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The `convert_to(value, type)` is a convenience function that does the same as `new(type, value)`.
2
3
  # The difference in the argument ordering allows it to be used in chained style for
3
4
  # improved readability "left to right".
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `crit`.
2
3
  Puppet::Functions.create_function(:crit, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `debug`.
2
3
  Puppet::Functions.create_function(:debug, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Determines whether a given class or resource type is defined and returns a Boolean
2
3
  # value. You can also use `defined` to determine whether a specific resource is defined,
3
4
  # or whether a variable has a value (including `undef`, as opposed to the variable never
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns a value for a sequence of given keys/indexes into a structure, such as
2
3
  # an array or hash.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Converts a String, Array or Hash (recursively) into lower case.
2
3
  #
3
4
  # This function is compatible with the stdlib function with the same name.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Runs a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # repeatedly using each value in a data structure, then returns the values unchanged.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `emerg`.
2
3
  Puppet::Functions.create_function(:emerg, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns `true` if the given argument is an empty collection of values.
2
3
  #
3
4
  # This function can answer if one of the following is empty:
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Evaluates an Embedded Puppet (EPP) template file and returns the rendered text
2
3
  # result as a String.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `err`.
2
3
  Puppet::Functions.create_function(:err, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The `eyaml_lookup_key` is a hiera 5 `lookup_key` data provider function.
2
3
  # See [the configuration guide documentation](https://puppet.com/docs/puppet/latest/hiera_config_yaml_5.html#configuring-a-hierarchy-level-hiera-eyaml) for
3
4
  # how to use this function.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Applies a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # to every value in a data structure and returns an array or hash containing any elements
3
4
  # for which the lambda evaluates to a truthy value (not `false` or `undef`).
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Finds an existing file from a module and returns its path.
2
3
  #
3
4
  # This function accepts an argument that is a String as a `<MODULE NAME>/<FILE>`
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Finds an existing template from a module and returns its path.
2
3
  #
3
4
  # This function accepts an argument that is a String as a `<MODULE NAME>/<TEMPLATE>`
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns a flat Array produced from its possibly deeply nested given arguments.
2
3
  #
3
4
  # One or more arguments of any data type can be given to this function.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the largest `Integer` less or equal to the argument.
2
3
  # Takes a single numeric value as an argument.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Digs into a value with dot notation to get a value from within a structure.
2
3
  #
3
4
  # **To dig into a given value**, call the function with (at least) two arguments:
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Digs into a variable with dot notation to get a value from a structure.
2
3
  #
3
4
  # **To get the value from a variable** (that may or may not exist), call the function with
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/puppet_function'
2
3
  # Performs a standard priority lookup of the hierarchy and returns the most specific value
3
4
  # for a given key. The returned value can be any type of data.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/puppet_function'
2
3
 
3
4
  # Finds all matches of a key throughout the hierarchy and returns them as a single flattened
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/puppet_function'
2
3
 
3
4
  # Finds all matches of a key throughout the hierarchy and returns them in a merged hash.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/puppet_function'
2
3
 
3
4
  # Assigns classes to a node using an
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The `hocon_data` is a hiera 5 `data_hash` data provider function.
2
3
  # See [the configuration guide documentation](https://puppet.com/docs/puppet/latest/hiera_config_yaml_5.html#configuring-a-hierarchy-level-built-in-backends) for
3
4
  # how to use this function.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The import function raises an error when called to inform the user that import is no longer supported.
2
3
  #
3
4
  Puppet::Functions.create_function(:import) do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Declares one or more classes, causing the resources in them to be
2
3
  # evaluated and added to the catalog. Accepts a class name, an array of class
3
4
  # names, or a comma-separated list of class names.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the index (or key in a hash) to a first-found value in an `Iterable` value.
2
3
  #
3
4
  # When called with a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `info`.
2
3
  Puppet::Functions.create_function(:info, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Evaluates an Embedded Puppet (EPP) template string and returns the rendered
2
3
  # text result as a String.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Joins the values of an Array into a string with elements separated by a delimiter.
2
3
  #
3
4
  # Supports up to two arguments
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The `json_data` is a hiera 5 `data_hash` data provider function.
2
3
  # See [the configuration guide documentation](https://puppet.com/docs/puppet/latest/hiera_config_yaml_5.html#configuring-a-hierarchy-level-built-in-backends) for
3
4
  # how to use this function.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the keys of a hash as an Array
2
3
  #
3
4
  # @example Using `keys`
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the length of an Array, Hash, String, or Binary value.
2
3
  #
3
4
  # The returned value is a positive integer indicating the number
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Calls a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # without arguments if the value given to `lest` is `undef`.
3
4
  # Returns the result of calling the lambda if the argument is `undef`, otherwise the
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Uses the Puppet lookup system to retrieve a value for a given key. By default,
2
3
  # this returns the first value found (and fails compilation if no values are
3
4
  # available), but you can configure it to merge multiple values into one, fail
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Strips leading spaces from a String
2
3
  #
3
4
  # This function is compatible with the stdlib function with the same name.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Applies a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # to every value in a data structure and returns an array containing the results.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Matches a regular expression against a string and returns an array containing the match
2
3
  # and any matched capturing groups.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the highest value among a variable number of arguments.
2
3
  # Takes at least one argument.
3
4
  #
@@ -82,6 +83,18 @@ Puppet::Functions.create_function(:max) do
82
83
  repeated_param 'String', :values
83
84
  end
84
85
 
86
+ dispatch :on_semver do
87
+ repeated_param 'Semver', :values
88
+ end
89
+
90
+ dispatch :on_timespan do
91
+ repeated_param 'Timespan', :values
92
+ end
93
+
94
+ dispatch :on_timestamp do
95
+ repeated_param 'Timestamp', :values
96
+ end
97
+
85
98
  dispatch :on_single_numeric_array do
86
99
  param 'Array[Numeric]', :values
87
100
  optional_block_param 'Callable[2,2]', :block
@@ -92,6 +105,21 @@ Puppet::Functions.create_function(:max) do
92
105
  optional_block_param 'Callable[2,2]', :block
93
106
  end
94
107
 
108
+ dispatch :on_single_semver_array do
109
+ param 'Array[Semver]', :values
110
+ optional_block_param 'Callable[2,2]', :block
111
+ end
112
+
113
+ dispatch :on_single_timespan_array do
114
+ param 'Array[Timespan]', :values
115
+ optional_block_param 'Callable[2,2]', :block
116
+ end
117
+
118
+ dispatch :on_single_timestamp_array do
119
+ param 'Array[Timestamp]', :values
120
+ optional_block_param 'Callable[2,2]', :block
121
+ end
122
+
95
123
  dispatch :on_single_any_array do
96
124
  param 'Array', :values
97
125
  optional_block_param 'Callable[2,2]', :block
@@ -129,6 +157,21 @@ Puppet::Functions.create_function(:max) do
129
157
  end
130
158
  end
131
159
 
160
+ def on_semver(*args)
161
+ assert_arg_count(args)
162
+ args.max
163
+ end
164
+
165
+ def on_timespan(*args)
166
+ assert_arg_count(args)
167
+ args.max
168
+ end
169
+
170
+ def on_timestamp(*args)
171
+ assert_arg_count(args)
172
+ args.max
173
+ end
174
+
132
175
  def on_any_with_block(*args, &block)
133
176
  args.max {|x,y| block.call(x,y) }
134
177
  end
@@ -149,6 +192,30 @@ Puppet::Functions.create_function(:max) do
149
192
  end
150
193
  end
151
194
 
195
+ def on_single_semver_array(array, &block)
196
+ if block_given?
197
+ on_any_with_block(*array, &block)
198
+ else
199
+ on_semver(*array)
200
+ end
201
+ end
202
+
203
+ def on_single_timespan_array(array, &block)
204
+ if block_given?
205
+ on_any_with_block(*array, &block)
206
+ else
207
+ on_timespan(*array)
208
+ end
209
+ end
210
+
211
+ def on_single_timestamp_array(array, &block)
212
+ if block_given?
213
+ on_any_with_block(*array, &block)
214
+ else
215
+ on_timestamp(*array)
216
+ end
217
+ end
218
+
152
219
  def on_single_any_array(array, &block)
153
220
  if block_given?
154
221
  on_any_with_block(*array, &block)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns the lowest value among a variable number of arguments.
2
3
  # Takes at least one argument.
3
4
  #
@@ -81,11 +82,38 @@ Puppet::Functions.create_function(:min) do
81
82
  repeated_param 'String', :values
82
83
  end
83
84
 
85
+ dispatch :on_semver do
86
+ repeated_param 'Semver', :values
87
+ end
88
+
89
+ dispatch :on_timespan do
90
+ repeated_param 'Timespan', :values
91
+ end
92
+
93
+ dispatch :on_timestamp do
94
+ repeated_param 'Timestamp', :values
95
+ end
96
+
84
97
  dispatch :on_single_numeric_array do
85
98
  param 'Array[Numeric]', :values
86
99
  optional_block_param 'Callable[2,2]', :block
87
100
  end
88
101
 
102
+ dispatch :on_single_semver_array do
103
+ param 'Array[Semver]', :values
104
+ optional_block_param 'Callable[2,2]', :block
105
+ end
106
+
107
+ dispatch :on_single_timespan_array do
108
+ param 'Array[Timespan]', :values
109
+ optional_block_param 'Callable[2,2]', :block
110
+ end
111
+
112
+ dispatch :on_single_timestamp_array do
113
+ param 'Array[Timestamp]', :values
114
+ optional_block_param 'Callable[2,2]', :block
115
+ end
116
+
89
117
  dispatch :on_single_string_array do
90
118
  param 'Array[String]', :values
91
119
  optional_block_param 'Callable[2,2]', :block
@@ -128,6 +156,21 @@ Puppet::Functions.create_function(:min) do
128
156
  end
129
157
  end
130
158
 
159
+ def on_semver(*args)
160
+ assert_arg_count(args)
161
+ args.min
162
+ end
163
+
164
+ def on_timespan(*args)
165
+ assert_arg_count(args)
166
+ args.min
167
+ end
168
+
169
+ def on_timestamp(*args)
170
+ assert_arg_count(args)
171
+ args.min
172
+ end
173
+
131
174
  def on_any_with_block(*args, &block)
132
175
  args.min {|x,y| block.call(x,y) }
133
176
  end
@@ -148,6 +191,30 @@ Puppet::Functions.create_function(:min) do
148
191
  end
149
192
  end
150
193
 
194
+ def on_single_semver_array(array, &block)
195
+ if block_given?
196
+ on_any_with_block(*array, &block)
197
+ else
198
+ on_semver(*array)
199
+ end
200
+ end
201
+
202
+ def on_single_timespan_array(array, &block)
203
+ if block_given?
204
+ on_any_with_block(*array, &block)
205
+ else
206
+ on_timespan(*array)
207
+ end
208
+ end
209
+
210
+ def on_single_timestamp_array(array, &block)
211
+ if block_given?
212
+ on_any_with_block(*array, &block)
213
+ else
214
+ on_timestamp(*array)
215
+ end
216
+ end
217
+
151
218
  def on_single_any_array(array, &block)
152
219
  if block_given?
153
220
  on_any_with_block(*array, &block)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Finds an existing module and returns the path to its root directory.
2
3
  #
3
4
  # The argument to this function should be a module name String
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Creates a new instance/object of a given data type.
2
3
  #
3
4
  # This function makes it possible to create new instances of
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Makes iteration continue with the next value, optionally with a given value for this iteration.
2
3
  # If a value is not given it defaults to `undef`
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Logs a message on the server at level `notice`.
2
3
  Puppet::Functions.create_function(:notice, Puppet::Functions::InternalFunction) do
3
4
  # @param values The values to log.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Applies a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html)
2
3
  # to every value in a data structure from the first argument, carrying over the returned
3
4
  # value of each iteration, and returns the result of the lambda's final iteration. This
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Performs regexp replacement on a string or array of strings.
2
3
  Puppet::Functions.create_function(:regsubst) do
3
4
  # @param target [String]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Requires the specified classes.
2
3
  # Evaluate one or more classes, adding the required class as a dependency.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Makes iteration continue with the next value, optionally with a given value for this iteration.
2
3
  # If a value is not given it defaults to `undef`
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Reverses the order of the elements of something that is iterable and optionally runs a
2
3
  # [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) for each
3
4
  # element.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Returns an `Integer` value rounded to the nearest value.
2
3
  # Takes a single `Numeric` value as an argument.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Strips trailing spaces from a String
2
3
  #
3
4
  # This function is compatible with the stdlib function with the same name.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Scans a string and returns an array of one or more converted values based on the given format string.
2
3
  # See the documentation of Ruby's String#scanf method for details about the supported formats (which
3
4
  # are similar but not identical to the formats used in Puppet's `sprintf` function.)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The same as length() - returns the size of an Array, Hash, String, or Binary value.
2
3
  #
3
4
  # @since 6.0.0 - also supporting Binary
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Slices an array or hash into pieces of a given size.
2
3
  #
3
4
  # This function takes two mandatory arguments: the first should be an array or hash, and the second specifies
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Sorts an Array numerically or lexicographically or the characters of a String lexicographically.
2
3
  # Please note: This function is based on Ruby String comparison and as such may not be entirely UTF8 compatible.
3
4
  # To ensure compatibility please use this function with Ruby 2.4.0 or greater - https://bugs.ruby-lang.org/issues/10085.