puppet 7.27.0-x86-mingw32 → 8.0.1-x86-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 (1161) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +5 -5
  3. data/Gemfile +8 -7
  4. data/Gemfile.lock +64 -62
  5. data/bin/puppet +1 -0
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/project_data.yaml +8 -9
  8. data/ext/windows/service/daemon.rb +1 -0
  9. data/install.rb +18 -18
  10. data/lib/hiera/puppet_function.rb +1 -0
  11. data/lib/hiera/scope.rb +6 -5
  12. data/lib/hiera_puppet.rb +2 -1
  13. data/lib/puppet/agent/disabler.rb +1 -0
  14. data/lib/puppet/agent/locker.rb +1 -0
  15. data/lib/puppet/agent.rb +1 -0
  16. data/lib/puppet/application/agent.rb +1 -0
  17. data/lib/puppet/application/apply.rb +1 -0
  18. data/lib/puppet/application/catalog.rb +1 -0
  19. data/lib/puppet/application/config.rb +1 -0
  20. data/lib/puppet/application/describe.rb +1 -0
  21. data/lib/puppet/application/device.rb +1 -0
  22. data/lib/puppet/application/doc.rb +2 -1
  23. data/lib/puppet/application/epp.rb +1 -0
  24. data/lib/puppet/application/face_base.rb +1 -0
  25. data/lib/puppet/application/facts.rb +1 -0
  26. data/lib/puppet/application/filebucket.rb +1 -0
  27. data/lib/puppet/application/generate.rb +1 -0
  28. data/lib/puppet/application/help.rb +1 -0
  29. data/lib/puppet/application/indirection_base.rb +1 -0
  30. data/lib/puppet/application/lookup.rb +2 -1
  31. data/lib/puppet/application/module.rb +1 -0
  32. data/lib/puppet/application/node.rb +1 -0
  33. data/lib/puppet/application/parser.rb +1 -0
  34. data/lib/puppet/application/plugin.rb +1 -0
  35. data/lib/puppet/application/report.rb +1 -0
  36. data/lib/puppet/application/resource.rb +1 -0
  37. data/lib/puppet/application/script.rb +1 -0
  38. data/lib/puppet/application/ssl.rb +8 -42
  39. data/lib/puppet/application.rb +2 -5
  40. data/lib/puppet/application_support.rb +1 -0
  41. data/lib/puppet/coercion.rb +1 -0
  42. data/lib/puppet/compilable_resource_type.rb +1 -0
  43. data/lib/puppet/concurrent/lock.rb +1 -0
  44. data/lib/puppet/concurrent/synchronized.rb +1 -0
  45. data/lib/puppet/concurrent.rb +1 -0
  46. data/lib/puppet/configurer/downloader.rb +1 -0
  47. data/lib/puppet/configurer/fact_handler.rb +1 -0
  48. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  49. data/lib/puppet/configurer.rb +1 -0
  50. data/lib/puppet/confine/any.rb +1 -0
  51. data/lib/puppet/confine/boolean.rb +1 -0
  52. data/lib/puppet/confine/exists.rb +1 -0
  53. data/lib/puppet/confine/false.rb +1 -0
  54. data/lib/puppet/confine/feature.rb +1 -0
  55. data/lib/puppet/confine/true.rb +1 -0
  56. data/lib/puppet/confine/variable.rb +1 -0
  57. data/lib/puppet/confine.rb +1 -0
  58. data/lib/puppet/confine_collection.rb +1 -0
  59. data/lib/puppet/confiner.rb +2 -1
  60. data/lib/puppet/context/trusted_information.rb +7 -6
  61. data/lib/puppet/context.rb +1 -0
  62. data/lib/puppet/daemon.rb +1 -0
  63. data/lib/puppet/data_binding.rb +1 -0
  64. data/lib/puppet/datatypes/error.rb +1 -0
  65. data/lib/puppet/datatypes/impl/error.rb +1 -0
  66. data/lib/puppet/datatypes.rb +1 -0
  67. data/lib/puppet/defaults.rb +30 -18
  68. data/lib/puppet/environments.rb +1 -0
  69. data/lib/puppet/error.rb +1 -0
  70. data/lib/puppet/etc.rb +1 -0
  71. data/lib/puppet/external/dot.rb +1 -0
  72. data/lib/puppet/face/catalog/select.rb +1 -0
  73. data/lib/puppet/face/catalog.rb +1 -0
  74. data/lib/puppet/face/config.rb +2 -1
  75. data/lib/puppet/face/epp.rb +3 -2
  76. data/lib/puppet/face/facts.rb +1 -0
  77. data/lib/puppet/face/generate.rb +1 -0
  78. data/lib/puppet/face/help/action.erb +0 -1
  79. data/lib/puppet/face/help/face.erb +0 -1
  80. data/lib/puppet/face/help.rb +4 -3
  81. data/lib/puppet/face/module/changes.rb +1 -0
  82. data/lib/puppet/face/module/install.rb +1 -0
  83. data/lib/puppet/face/module/list.rb +3 -2
  84. data/lib/puppet/face/module/uninstall.rb +1 -0
  85. data/lib/puppet/face/module/upgrade.rb +1 -0
  86. data/lib/puppet/face/module.rb +1 -0
  87. data/lib/puppet/face/node/clean.rb +1 -0
  88. data/lib/puppet/face/node.rb +1 -0
  89. data/lib/puppet/face/parser.rb +2 -1
  90. data/lib/puppet/face/plugin.rb +1 -0
  91. data/lib/puppet/face/report.rb +1 -0
  92. data/lib/puppet/face/resource.rb +1 -0
  93. data/lib/puppet/face.rb +1 -0
  94. data/lib/puppet/feature/base.rb +1 -0
  95. data/lib/puppet/feature/bolt.rb +1 -0
  96. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  97. data/lib/puppet/feature/eventlog.rb +1 -0
  98. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  99. data/lib/puppet/feature/hocon.rb +1 -0
  100. data/lib/puppet/feature/libuser.rb +1 -0
  101. data/lib/puppet/feature/msgpack.rb +1 -0
  102. data/lib/puppet/feature/pe_license.rb +1 -0
  103. data/lib/puppet/feature/pson.rb +5 -0
  104. data/lib/puppet/feature/selinux.rb +1 -0
  105. data/lib/puppet/feature/ssh.rb +1 -0
  106. data/lib/puppet/feature/telnet.rb +1 -0
  107. data/lib/puppet/feature/zlib.rb +1 -0
  108. data/lib/puppet/ffi/posix/constants.rb +1 -0
  109. data/lib/puppet/ffi/posix/functions.rb +1 -0
  110. data/lib/puppet/ffi/posix.rb +1 -0
  111. data/lib/puppet/ffi/windows/api_types.rb +2 -1
  112. data/lib/puppet/ffi/windows/constants.rb +1 -0
  113. data/lib/puppet/ffi/windows/functions.rb +1 -0
  114. data/lib/puppet/ffi/windows/structs.rb +1 -0
  115. data/lib/puppet/ffi/windows.rb +1 -0
  116. data/lib/puppet/file_bucket/dipper.rb +1 -0
  117. data/lib/puppet/file_bucket/file.rb +1 -0
  118. data/lib/puppet/file_bucket.rb +1 -0
  119. data/lib/puppet/file_serving/base.rb +1 -0
  120. data/lib/puppet/file_serving/configuration/parser.rb +1 -0
  121. data/lib/puppet/file_serving/configuration.rb +1 -0
  122. data/lib/puppet/file_serving/content.rb +1 -0
  123. data/lib/puppet/file_serving/fileset.rb +1 -0
  124. data/lib/puppet/file_serving/http_metadata.rb +1 -0
  125. data/lib/puppet/file_serving/metadata.rb +1 -0
  126. data/lib/puppet/file_serving/mount/file.rb +5 -4
  127. data/lib/puppet/file_serving/mount/locales.rb +1 -0
  128. data/lib/puppet/file_serving/mount/modules.rb +1 -0
  129. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -0
  130. data/lib/puppet/file_serving/mount/plugins.rb +1 -0
  131. data/lib/puppet/file_serving/mount/scripts.rb +1 -0
  132. data/lib/puppet/file_serving/mount/tasks.rb +1 -0
  133. data/lib/puppet/file_serving/mount.rb +1 -0
  134. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  135. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  136. data/lib/puppet/file_serving.rb +1 -0
  137. data/lib/puppet/file_system/file_impl.rb +1 -0
  138. data/lib/puppet/file_system/jruby.rb +1 -0
  139. data/lib/puppet/file_system/memory_file.rb +1 -0
  140. data/lib/puppet/file_system/memory_impl.rb +1 -0
  141. data/lib/puppet/file_system/path_pattern.rb +2 -1
  142. data/lib/puppet/file_system/posix.rb +3 -2
  143. data/lib/puppet/file_system/uniquefile.rb +2 -1
  144. data/lib/puppet/file_system/windows.rb +1 -0
  145. data/lib/puppet/file_system.rb +1 -0
  146. data/lib/puppet/forge/cache.rb +1 -0
  147. data/lib/puppet/forge/errors.rb +1 -0
  148. data/lib/puppet/forge/repository.rb +1 -0
  149. data/lib/puppet/forge.rb +2 -1
  150. data/lib/puppet/functions/abs.rb +1 -0
  151. data/lib/puppet/functions/alert.rb +1 -0
  152. data/lib/puppet/functions/all.rb +1 -0
  153. data/lib/puppet/functions/annotate.rb +1 -0
  154. data/lib/puppet/functions/any.rb +1 -0
  155. data/lib/puppet/functions/assert_type.rb +1 -0
  156. data/lib/puppet/functions/binary_file.rb +1 -0
  157. data/lib/puppet/functions/break.rb +1 -0
  158. data/lib/puppet/functions/call.rb +1 -0
  159. data/lib/puppet/functions/camelcase.rb +1 -0
  160. data/lib/puppet/functions/capitalize.rb +1 -0
  161. data/lib/puppet/functions/ceiling.rb +1 -0
  162. data/lib/puppet/functions/chomp.rb +1 -0
  163. data/lib/puppet/functions/chop.rb +1 -0
  164. data/lib/puppet/functions/compare.rb +1 -0
  165. data/lib/puppet/functions/contain.rb +1 -0
  166. data/lib/puppet/functions/convert_to.rb +1 -0
  167. data/lib/puppet/functions/crit.rb +1 -0
  168. data/lib/puppet/functions/debug.rb +1 -0
  169. data/lib/puppet/functions/defined.rb +1 -0
  170. data/lib/puppet/functions/dig.rb +1 -0
  171. data/lib/puppet/functions/downcase.rb +1 -0
  172. data/lib/puppet/functions/each.rb +1 -0
  173. data/lib/puppet/functions/emerg.rb +1 -0
  174. data/lib/puppet/functions/empty.rb +1 -0
  175. data/lib/puppet/functions/epp.rb +1 -0
  176. data/lib/puppet/functions/err.rb +1 -0
  177. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -0
  178. data/lib/puppet/functions/filter.rb +1 -0
  179. data/lib/puppet/functions/find_file.rb +1 -0
  180. data/lib/puppet/functions/find_template.rb +1 -0
  181. data/lib/puppet/functions/flatten.rb +1 -0
  182. data/lib/puppet/functions/floor.rb +1 -0
  183. data/lib/puppet/functions/get.rb +1 -0
  184. data/lib/puppet/functions/getvar.rb +1 -0
  185. data/lib/puppet/functions/hiera.rb +1 -0
  186. data/lib/puppet/functions/hiera_array.rb +1 -0
  187. data/lib/puppet/functions/hiera_hash.rb +1 -0
  188. data/lib/puppet/functions/hiera_include.rb +1 -0
  189. data/lib/puppet/functions/hocon_data.rb +1 -0
  190. data/lib/puppet/functions/import.rb +1 -0
  191. data/lib/puppet/functions/include.rb +1 -0
  192. data/lib/puppet/functions/index.rb +1 -0
  193. data/lib/puppet/functions/info.rb +1 -0
  194. data/lib/puppet/functions/inline_epp.rb +1 -0
  195. data/lib/puppet/functions/join.rb +1 -0
  196. data/lib/puppet/functions/json_data.rb +1 -0
  197. data/lib/puppet/functions/keys.rb +1 -0
  198. data/lib/puppet/functions/length.rb +1 -0
  199. data/lib/puppet/functions/lest.rb +1 -0
  200. data/lib/puppet/functions/lookup.rb +1 -0
  201. data/lib/puppet/functions/lstrip.rb +1 -0
  202. data/lib/puppet/functions/map.rb +1 -0
  203. data/lib/puppet/functions/match.rb +1 -0
  204. data/lib/puppet/functions/max.rb +67 -0
  205. data/lib/puppet/functions/min.rb +67 -0
  206. data/lib/puppet/functions/module_directory.rb +1 -0
  207. data/lib/puppet/functions/new.rb +1 -0
  208. data/lib/puppet/functions/next.rb +1 -0
  209. data/lib/puppet/functions/notice.rb +1 -0
  210. data/lib/puppet/functions/reduce.rb +1 -0
  211. data/lib/puppet/functions/regsubst.rb +1 -0
  212. data/lib/puppet/functions/require.rb +1 -0
  213. data/lib/puppet/functions/return.rb +1 -0
  214. data/lib/puppet/functions/reverse_each.rb +1 -0
  215. data/lib/puppet/functions/round.rb +1 -0
  216. data/lib/puppet/functions/rstrip.rb +1 -0
  217. data/lib/puppet/functions/scanf.rb +1 -0
  218. data/lib/puppet/functions/size.rb +1 -0
  219. data/lib/puppet/functions/slice.rb +1 -0
  220. data/lib/puppet/functions/sort.rb +1 -0
  221. data/lib/puppet/functions/split.rb +2 -28
  222. data/lib/puppet/functions/step.rb +1 -0
  223. data/lib/puppet/functions/strftime.rb +1 -0
  224. data/lib/puppet/functions/strip.rb +1 -0
  225. data/lib/puppet/functions/then.rb +1 -0
  226. data/lib/puppet/functions/tree_each.rb +1 -0
  227. data/lib/puppet/functions/type.rb +1 -0
  228. data/lib/puppet/functions/unique.rb +1 -0
  229. data/lib/puppet/functions/unwrap.rb +1 -0
  230. data/lib/puppet/functions/upcase.rb +1 -0
  231. data/lib/puppet/functions/values.rb +1 -0
  232. data/lib/puppet/functions/versioncmp.rb +1 -0
  233. data/lib/puppet/functions/warning.rb +1 -0
  234. data/lib/puppet/functions/with.rb +1 -0
  235. data/lib/puppet/functions/yaml_data.rb +1 -0
  236. data/lib/puppet/functions.rb +6 -5
  237. data/lib/puppet/generate/models/type/property.rb +1 -0
  238. data/lib/puppet/generate/models/type/type.rb +1 -0
  239. data/lib/puppet/generate/type.rb +1 -0
  240. data/lib/puppet/gettext/config.rb +1 -0
  241. data/lib/puppet/gettext/module_translations.rb +1 -0
  242. data/lib/puppet/gettext/stubs.rb +1 -0
  243. data/lib/puppet/graph/key.rb +1 -0
  244. data/lib/puppet/graph/prioritizer.rb +1 -0
  245. data/lib/puppet/graph/rb_tree_map.rb +1 -0
  246. data/lib/puppet/graph/relationship_graph.rb +1 -0
  247. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  248. data/lib/puppet/graph/simple_graph.rb +1 -0
  249. data/lib/puppet/graph.rb +1 -0
  250. data/lib/puppet/http/client.rb +6 -12
  251. data/lib/puppet/http/dns.rb +1 -0
  252. data/lib/puppet/http/errors.rb +1 -0
  253. data/lib/puppet/http/external_client.rb +1 -0
  254. data/lib/puppet/http/factory.rb +1 -0
  255. data/lib/puppet/http/pool.rb +1 -0
  256. data/lib/puppet/http/pool_entry.rb +1 -0
  257. data/lib/puppet/http/proxy.rb +1 -0
  258. data/lib/puppet/http/redirector.rb +1 -0
  259. data/lib/puppet/http/resolver/server_list.rb +1 -0
  260. data/lib/puppet/http/resolver/settings.rb +1 -0
  261. data/lib/puppet/http/resolver/srv.rb +1 -0
  262. data/lib/puppet/http/resolver.rb +1 -0
  263. data/lib/puppet/http/response.rb +1 -0
  264. data/lib/puppet/http/response_converter.rb +1 -0
  265. data/lib/puppet/http/response_net_http.rb +1 -0
  266. data/lib/puppet/http/retry_after_handler.rb +1 -0
  267. data/lib/puppet/http/service/ca.rb +2 -1
  268. data/lib/puppet/http/service/compiler.rb +2 -1
  269. data/lib/puppet/http/service/file_server.rb +2 -1
  270. data/lib/puppet/http/service/puppetserver.rb +1 -0
  271. data/lib/puppet/http/service/report.rb +2 -4
  272. data/lib/puppet/http/service.rb +1 -0
  273. data/lib/puppet/http/session.rb +3 -2
  274. data/lib/puppet/http/site.rb +1 -0
  275. data/lib/puppet/http.rb +3 -2
  276. data/lib/puppet/indirector/catalog/compiler.rb +6 -5
  277. data/lib/puppet/indirector/catalog/json.rb +1 -0
  278. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  279. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  280. data/lib/puppet/indirector/catalog/store_configs.rb +1 -0
  281. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  282. data/lib/puppet/indirector/code.rb +1 -0
  283. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  284. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  285. data/lib/puppet/indirector/direct_file_server.rb +1 -0
  286. data/lib/puppet/indirector/envelope.rb +1 -0
  287. data/lib/puppet/indirector/errors.rb +1 -0
  288. data/lib/puppet/indirector/exec.rb +1 -0
  289. data/lib/puppet/indirector/face.rb +6 -16
  290. data/lib/puppet/indirector/fact_search.rb +1 -0
  291. data/lib/puppet/indirector/facts/facter.rb +1 -0
  292. data/lib/puppet/indirector/facts/json.rb +1 -0
  293. data/lib/puppet/indirector/facts/memory.rb +1 -0
  294. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  295. data/lib/puppet/indirector/facts/rest.rb +1 -0
  296. data/lib/puppet/indirector/facts/store_configs.rb +1 -0
  297. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  298. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  299. data/lib/puppet/indirector/file_bucket_file/rest.rb +1 -0
  300. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  301. data/lib/puppet/indirector/file_content/file.rb +1 -0
  302. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  303. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  304. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  305. data/lib/puppet/indirector/file_content.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  307. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  311. data/lib/puppet/indirector/file_metadata.rb +1 -0
  312. data/lib/puppet/indirector/file_server.rb +1 -0
  313. data/lib/puppet/indirector/generic_http.rb +1 -0
  314. data/lib/puppet/indirector/hiera.rb +1 -0
  315. data/lib/puppet/indirector/indirection.rb +2 -1
  316. data/lib/puppet/indirector/json.rb +1 -0
  317. data/lib/puppet/indirector/memory.rb +1 -0
  318. data/lib/puppet/indirector/msgpack.rb +1 -0
  319. data/lib/puppet/indirector/node/exec.rb +1 -0
  320. data/lib/puppet/indirector/node/json.rb +1 -0
  321. data/lib/puppet/indirector/node/memory.rb +1 -0
  322. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  323. data/lib/puppet/indirector/node/plain.rb +1 -0
  324. data/lib/puppet/indirector/node/rest.rb +1 -0
  325. data/lib/puppet/indirector/node/store_configs.rb +1 -0
  326. data/lib/puppet/indirector/node/yaml.rb +1 -0
  327. data/lib/puppet/indirector/none.rb +1 -0
  328. data/lib/puppet/indirector/plain.rb +1 -0
  329. data/lib/puppet/indirector/report/json.rb +1 -0
  330. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  331. data/lib/puppet/indirector/report/processor.rb +1 -0
  332. data/lib/puppet/indirector/report/rest.rb +1 -13
  333. data/lib/puppet/indirector/report/yaml.rb +1 -0
  334. data/lib/puppet/indirector/request.rb +1 -0
  335. data/lib/puppet/indirector/resource/ral.rb +1 -0
  336. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  337. data/lib/puppet/indirector/resource/validator.rb +1 -0
  338. data/lib/puppet/indirector/rest.rb +1 -0
  339. data/lib/puppet/indirector/store_configs.rb +1 -0
  340. data/lib/puppet/indirector/terminus.rb +1 -0
  341. data/lib/puppet/indirector/yaml.rb +1 -0
  342. data/lib/puppet/indirector.rb +1 -0
  343. data/lib/puppet/info_service/class_information_service.rb +1 -0
  344. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  345. data/lib/puppet/info_service/task_information_service.rb +1 -0
  346. data/lib/puppet/info_service.rb +1 -0
  347. data/lib/puppet/interface/action.rb +1 -0
  348. data/lib/puppet/interface/action_builder.rb +1 -0
  349. data/lib/puppet/interface/action_manager.rb +1 -0
  350. data/lib/puppet/interface/documentation.rb +1 -1
  351. data/lib/puppet/interface/face_collection.rb +1 -0
  352. data/lib/puppet/interface/option.rb +1 -0
  353. data/lib/puppet/interface/option_builder.rb +1 -0
  354. data/lib/puppet/interface/option_manager.rb +1 -0
  355. data/lib/puppet/interface.rb +1 -0
  356. data/lib/puppet/loaders.rb +1 -0
  357. data/lib/puppet/metatype/manager.rb +1 -0
  358. data/lib/puppet/module/plan.rb +1 -0
  359. data/lib/puppet/module/task.rb +1 -2
  360. data/lib/puppet/module.rb +4 -1
  361. data/lib/puppet/module_tool/applications/application.rb +1 -0
  362. data/lib/puppet/module_tool/applications/checksummer.rb +1 -0
  363. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  364. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -0
  365. data/lib/puppet/module_tool/applications/unpacker.rb +1 -0
  366. data/lib/puppet/module_tool/applications/upgrader.rb +1 -0
  367. data/lib/puppet/module_tool/applications.rb +1 -0
  368. data/lib/puppet/module_tool/checksums.rb +1 -0
  369. data/lib/puppet/module_tool/contents_description.rb +1 -0
  370. data/lib/puppet/module_tool/dependency.rb +1 -0
  371. data/lib/puppet/module_tool/errors/base.rb +1 -0
  372. data/lib/puppet/module_tool/errors/installer.rb +1 -0
  373. data/lib/puppet/module_tool/errors/shared.rb +1 -0
  374. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  375. data/lib/puppet/module_tool/errors/upgrader.rb +1 -0
  376. data/lib/puppet/module_tool/errors.rb +1 -0
  377. data/lib/puppet/module_tool/install_directory.rb +1 -0
  378. data/lib/puppet/module_tool/installed_modules.rb +1 -0
  379. data/lib/puppet/module_tool/local_tarball.rb +1 -0
  380. data/lib/puppet/module_tool/metadata.rb +1 -0
  381. data/lib/puppet/module_tool/shared_behaviors.rb +1 -0
  382. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  383. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  384. data/lib/puppet/module_tool/tar.rb +1 -0
  385. data/lib/puppet/module_tool.rb +2 -1
  386. data/lib/puppet/network/authconfig.rb +1 -0
  387. data/lib/puppet/network/authorization.rb +1 -0
  388. data/lib/puppet/network/client_request.rb +1 -0
  389. data/lib/puppet/network/format.rb +1 -0
  390. data/lib/puppet/network/format_handler.rb +2 -1
  391. data/lib/puppet/network/format_support.rb +1 -0
  392. data/lib/puppet/network/formats.rb +6 -3
  393. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  394. data/lib/puppet/network/http/api/indirection_type.rb +1 -0
  395. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  396. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  397. data/lib/puppet/network/http/api/master.rb +1 -0
  398. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -0
  399. data/lib/puppet/network/http/api/server/v3.rb +1 -0
  400. data/lib/puppet/network/http/api/server.rb +1 -0
  401. data/lib/puppet/network/http/api.rb +1 -0
  402. data/lib/puppet/network/http/connection.rb +1 -0
  403. data/lib/puppet/network/http/error.rb +1 -0
  404. data/lib/puppet/network/http/handler.rb +1 -0
  405. data/lib/puppet/network/http/issues.rb +1 -0
  406. data/lib/puppet/network/http/memory_response.rb +2 -1
  407. data/lib/puppet/network/http/request.rb +1 -0
  408. data/lib/puppet/network/http/response.rb +1 -0
  409. data/lib/puppet/network/http/route.rb +1 -0
  410. data/lib/puppet/network/http.rb +1 -0
  411. data/lib/puppet/network/http_pool.rb +1 -0
  412. data/lib/puppet/network/uri.rb +1 -0
  413. data/lib/puppet/network.rb +1 -0
  414. data/lib/puppet/node/environment.rb +7 -8
  415. data/lib/puppet/node/facts.rb +1 -0
  416. data/lib/puppet/node.rb +2 -1
  417. data/lib/puppet/pal/catalog_compiler.rb +1 -0
  418. data/lib/puppet/pal/compiler.rb +1 -0
  419. data/lib/puppet/pal/function_signature.rb +1 -0
  420. data/lib/puppet/pal/json_catalog_encoder.rb +1 -0
  421. data/lib/puppet/pal/pal_api.rb +1 -0
  422. data/lib/puppet/pal/pal_impl.rb +1 -0
  423. data/lib/puppet/pal/plan_signature.rb +1 -0
  424. data/lib/puppet/pal/script_compiler.rb +1 -0
  425. data/lib/puppet/pal/task_signature.rb +1 -0
  426. data/lib/puppet/parameter/boolean.rb +1 -0
  427. data/lib/puppet/parameter/package_options.rb +1 -0
  428. data/lib/puppet/parameter/path.rb +1 -0
  429. data/lib/puppet/parameter/value.rb +1 -0
  430. data/lib/puppet/parameter/value_collection.rb +2 -1
  431. data/lib/puppet/parameter.rb +1 -0
  432. data/lib/puppet/parser/abstract_compiler.rb +1 -0
  433. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  434. data/lib/puppet/parser/ast/branch.rb +1 -0
  435. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  436. data/lib/puppet/parser/ast/leaf.rb +1 -0
  437. data/lib/puppet/parser/ast/node.rb +1 -0
  438. data/lib/puppet/parser/ast/pops_bridge.rb +1 -0
  439. data/lib/puppet/parser/ast/resource.rb +1 -0
  440. data/lib/puppet/parser/ast/resource_instance.rb +1 -0
  441. data/lib/puppet/parser/ast/resourceparam.rb +1 -0
  442. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  443. data/lib/puppet/parser/ast.rb +1 -0
  444. data/lib/puppet/parser/catalog_compiler.rb +1 -0
  445. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -0
  446. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  447. data/lib/puppet/parser/compiler.rb +2 -1
  448. data/lib/puppet/parser/e4_parser_adapter.rb +1 -0
  449. data/lib/puppet/parser/files.rb +1 -0
  450. data/lib/puppet/parser/functions/assert_type.rb +1 -0
  451. data/lib/puppet/parser/functions/binary_file.rb +1 -0
  452. data/lib/puppet/parser/functions/break.rb +1 -0
  453. data/lib/puppet/parser/functions/contain.rb +1 -0
  454. data/lib/puppet/parser/functions/create_resources.rb +1 -0
  455. data/lib/puppet/parser/functions/defined.rb +1 -0
  456. data/lib/puppet/parser/functions/dig.rb +1 -0
  457. data/lib/puppet/parser/functions/digest.rb +1 -0
  458. data/lib/puppet/parser/functions/each.rb +1 -0
  459. data/lib/puppet/parser/functions/epp.rb +1 -0
  460. data/lib/puppet/parser/functions/fail.rb +1 -0
  461. data/lib/puppet/parser/functions/file.rb +1 -0
  462. data/lib/puppet/parser/functions/filter.rb +1 -0
  463. data/lib/puppet/parser/functions/find_file.rb +1 -0
  464. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -0
  465. data/lib/puppet/parser/functions/generate.rb +1 -0
  466. data/lib/puppet/parser/functions/hiera.rb +1 -0
  467. data/lib/puppet/parser/functions/hiera_array.rb +1 -0
  468. data/lib/puppet/parser/functions/hiera_hash.rb +1 -0
  469. data/lib/puppet/parser/functions/hiera_include.rb +1 -0
  470. data/lib/puppet/parser/functions/include.rb +1 -0
  471. data/lib/puppet/parser/functions/inline_epp.rb +1 -0
  472. data/lib/puppet/parser/functions/inline_template.rb +1 -0
  473. data/lib/puppet/parser/functions/lest.rb +1 -0
  474. data/lib/puppet/parser/functions/lookup.rb +1 -0
  475. data/lib/puppet/parser/functions/map.rb +1 -0
  476. data/lib/puppet/parser/functions/match.rb +1 -0
  477. data/lib/puppet/parser/functions/md5.rb +1 -0
  478. data/lib/puppet/parser/functions/new.rb +1 -0
  479. data/lib/puppet/parser/functions/next.rb +1 -0
  480. data/lib/puppet/parser/functions/realize.rb +1 -0
  481. data/lib/puppet/parser/functions/reduce.rb +1 -0
  482. data/lib/puppet/parser/functions/regsubst.rb +1 -0
  483. data/lib/puppet/parser/functions/require.rb +1 -0
  484. data/lib/puppet/parser/functions/return.rb +1 -0
  485. data/lib/puppet/parser/functions/reverse_each.rb +1 -0
  486. data/lib/puppet/parser/functions/scanf.rb +1 -0
  487. data/lib/puppet/parser/functions/sha1.rb +1 -0
  488. data/lib/puppet/parser/functions/sha256.rb +1 -0
  489. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  490. data/lib/puppet/parser/functions/slice.rb +1 -0
  491. data/lib/puppet/parser/functions/split.rb +1 -0
  492. data/lib/puppet/parser/functions/sprintf.rb +1 -0
  493. data/lib/puppet/parser/functions/step.rb +1 -0
  494. data/lib/puppet/parser/functions/strftime.rb +1 -0
  495. data/lib/puppet/parser/functions/tag.rb +1 -0
  496. data/lib/puppet/parser/functions/tagged.rb +1 -0
  497. data/lib/puppet/parser/functions/template.rb +1 -0
  498. data/lib/puppet/parser/functions/then.rb +1 -0
  499. data/lib/puppet/parser/functions/type.rb +1 -0
  500. data/lib/puppet/parser/functions/versioncmp.rb +1 -0
  501. data/lib/puppet/parser/functions/with.rb +1 -0
  502. data/lib/puppet/parser/functions.rb +2 -1
  503. data/lib/puppet/parser/parser_factory.rb +1 -0
  504. data/lib/puppet/parser/relationship.rb +1 -0
  505. data/lib/puppet/parser/resource/param.rb +1 -0
  506. data/lib/puppet/parser/resource.rb +1 -0
  507. data/lib/puppet/parser/scope.rb +6 -1
  508. data/lib/puppet/parser/script_compiler.rb +1 -0
  509. data/lib/puppet/parser/type_loader.rb +1 -0
  510. data/lib/puppet/parser.rb +1 -0
  511. data/lib/puppet/plugins/configuration.rb +1 -0
  512. data/lib/puppet/plugins/syntax_checkers.rb +1 -0
  513. data/lib/puppet/plugins.rb +1 -0
  514. data/lib/puppet/pops/adaptable.rb +1 -0
  515. data/lib/puppet/pops/adapters.rb +1 -0
  516. data/lib/puppet/pops/evaluator/access_operator.rb +2 -1
  517. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -0
  518. data/lib/puppet/pops/evaluator/closure.rb +2 -1
  519. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -0
  520. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  521. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -0
  522. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -0
  523. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -0
  524. data/lib/puppet/pops/evaluator/compare_operator.rb +1 -0
  525. data/lib/puppet/pops/evaluator/deferred_resolver.rb +6 -22
  526. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -0
  527. data/lib/puppet/pops/evaluator/evaluator_impl.rb +2 -1
  528. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -0
  529. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  530. data/lib/puppet/pops/evaluator/literal_evaluator.rb +2 -1
  531. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -0
  532. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -0
  533. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -0
  534. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -1
  535. data/lib/puppet/pops/evaluator/runtime3_support.rb +2 -1
  536. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  537. data/lib/puppet/pops/functions/dispatcher.rb +1 -0
  538. data/lib/puppet/pops/functions/function.rb +1 -0
  539. data/lib/puppet/pops/issue_reporter.rb +1 -0
  540. data/lib/puppet/pops/issues.rb +1 -0
  541. data/lib/puppet/pops/label_provider.rb +1 -0
  542. data/lib/puppet/pops/loader/base_loader.rb +1 -0
  543. data/lib/puppet/pops/loader/dependency_loader.rb +1 -0
  544. data/lib/puppet/pops/loader/gem_support.rb +1 -0
  545. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  546. data/lib/puppet/pops/loader/loader.rb +3 -2
  547. data/lib/puppet/pops/loader/loader_paths.rb +13 -12
  548. data/lib/puppet/pops/loader/module_loaders.rb +2 -1
  549. data/lib/puppet/pops/loader/predefined_loader.rb +1 -0
  550. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +1 -0
  551. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +1 -0
  552. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -0
  553. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -0
  554. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +2 -1
  556. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -0
  557. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -0
  558. data/lib/puppet/pops/loader/static_loader.rb +1 -0
  559. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  560. data/lib/puppet/pops/loader/type_definition_instantiator.rb +1 -0
  561. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  562. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  563. data/lib/puppet/pops/loaders.rb +1 -0
  564. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  565. data/lib/puppet/pops/lookup/context.rb +1 -0
  566. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  567. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +3 -2
  568. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +4 -3
  569. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  570. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  571. data/lib/puppet/pops/lookup/explainer.rb +3 -2
  572. data/lib/puppet/pops/lookup/function_provider.rb +1 -0
  573. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -0
  574. data/lib/puppet/pops/lookup/hiera_config.rb +47 -42
  575. data/lib/puppet/pops/lookup/interpolation.rb +10 -4
  576. data/lib/puppet/pops/lookup/invocation.rb +1 -0
  577. data/lib/puppet/pops/lookup/key_recorder.rb +1 -0
  578. data/lib/puppet/pops/lookup/location_resolver.rb +1 -0
  579. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -6
  580. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  581. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +3 -2
  582. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -0
  583. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -0
  584. data/lib/puppet/pops/lookup.rb +3 -2
  585. data/lib/puppet/pops/merge_strategy.rb +1 -0
  586. data/lib/puppet/pops/migration/migration_checker.rb +1 -0
  587. data/lib/puppet/pops/model/ast_transformer.rb +1 -0
  588. data/lib/puppet/pops/model/factory.rb +1 -1
  589. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  590. data/lib/puppet/pops/model/model_tree_dumper.rb +1 -0
  591. data/lib/puppet/pops/model/pn_transformer.rb +1 -0
  592. data/lib/puppet/pops/model/tree_dumper.rb +2 -1
  593. data/lib/puppet/pops/parser/code_merger.rb +1 -0
  594. data/lib/puppet/pops/parser/epp_parser.rb +1 -0
  595. data/lib/puppet/pops/parser/epp_support.rb +2 -1
  596. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -1
  597. data/lib/puppet/pops/parser/heredoc_support.rb +1 -0
  598. data/lib/puppet/pops/parser/interpolation_support.rb +1 -0
  599. data/lib/puppet/pops/parser/lexer_support.rb +1 -0
  600. data/lib/puppet/pops/parser/locatable.rb +1 -0
  601. data/lib/puppet/pops/parser/locator.rb +1 -0
  602. data/lib/puppet/pops/parser/parser_support.rb +1 -0
  603. data/lib/puppet/pops/parser/pn_parser.rb +5 -4
  604. data/lib/puppet/pops/patterns.rb +1 -0
  605. data/lib/puppet/pops/pcore.rb +3 -2
  606. data/lib/puppet/pops/pn.rb +2 -1
  607. data/lib/puppet/pops/puppet_stack.rb +1 -0
  608. data/lib/puppet/pops/resource/param.rb +1 -0
  609. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -0
  610. data/lib/puppet/pops/semantic_error.rb +1 -0
  611. data/lib/puppet/pops/serialization/abstract_reader.rb +1 -0
  612. data/lib/puppet/pops/serialization/abstract_writer.rb +1 -0
  613. data/lib/puppet/pops/serialization/deserializer.rb +1 -0
  614. data/lib/puppet/pops/serialization/extension.rb +1 -0
  615. data/lib/puppet/pops/serialization/from_data_converter.rb +1 -0
  616. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  617. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  618. data/lib/puppet/pops/serialization/json.rb +1 -0
  619. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  620. data/lib/puppet/pops/serialization/object.rb +1 -0
  621. data/lib/puppet/pops/serialization/serializer.rb +1 -0
  622. data/lib/puppet/pops/serialization/time_factory.rb +1 -0
  623. data/lib/puppet/pops/serialization/to_data_converter.rb +2 -1
  624. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -0
  625. data/lib/puppet/pops/serialization.rb +9 -8
  626. data/lib/puppet/pops/time/timespan.rb +15 -14
  627. data/lib/puppet/pops/time/timestamp.rb +3 -2
  628. data/lib/puppet/pops/types/annotatable.rb +2 -1
  629. data/lib/puppet/pops/types/annotation.rb +2 -1
  630. data/lib/puppet/pops/types/class_loader.rb +1 -0
  631. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  632. data/lib/puppet/pops/types/iterable.rb +1 -0
  633. data/lib/puppet/pops/types/p_binary_type.rb +1 -0
  634. data/lib/puppet/pops/types/p_init_type.rb +1 -0
  635. data/lib/puppet/pops/types/p_meta_type.rb +4 -3
  636. data/lib/puppet/pops/types/p_object_type.rb +16 -15
  637. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -0
  638. data/lib/puppet/pops/types/p_runtime_type.rb +1 -0
  639. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -0
  640. data/lib/puppet/pops/types/p_sem_ver_type.rb +1 -0
  641. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -0
  642. data/lib/puppet/pops/types/p_timespan_type.rb +1 -0
  643. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -0
  644. data/lib/puppet/pops/types/p_type_set_type.rb +9 -8
  645. data/lib/puppet/pops/types/p_uri_type.rb +9 -8
  646. data/lib/puppet/pops/types/puppet_object.rb +1 -0
  647. data/lib/puppet/pops/types/recursion_guard.rb +1 -0
  648. data/lib/puppet/pops/types/ruby_generator.rb +3 -2
  649. data/lib/puppet/pops/types/ruby_method.rb +1 -0
  650. data/lib/puppet/pops/types/string_converter.rb +10 -9
  651. data/lib/puppet/pops/types/tree_iterators.rb +1 -0
  652. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  653. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  654. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  655. data/lib/puppet/pops/types/type_calculator.rb +2 -1
  656. data/lib/puppet/pops/types/type_conversion_error.rb +1 -0
  657. data/lib/puppet/pops/types/type_factory.rb +2 -1
  658. data/lib/puppet/pops/types/type_formatter.rb +2 -2
  659. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -0
  660. data/lib/puppet/pops/types/type_parser.rb +1 -0
  661. data/lib/puppet/pops/types/type_set_reference.rb +1 -0
  662. data/lib/puppet/pops/types/type_with_members.rb +1 -0
  663. data/lib/puppet/pops/types/types.rb +3 -2
  664. data/lib/puppet/pops/utils.rb +3 -2
  665. data/lib/puppet/pops/validation/checker4_0.rb +1 -0
  666. data/lib/puppet/pops/validation/tasks_checker.rb +1 -0
  667. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  668. data/lib/puppet/pops/validation.rb +1 -0
  669. data/lib/puppet/pops/visitable.rb +1 -0
  670. data/lib/puppet/pops/visitor.rb +1 -0
  671. data/lib/puppet/pops.rb +4 -3
  672. data/lib/puppet/property/boolean.rb +1 -0
  673. data/lib/puppet/property/ensure.rb +1 -0
  674. data/lib/puppet/property/keyvalue.rb +1 -0
  675. data/lib/puppet/property/list.rb +1 -0
  676. data/lib/puppet/property/ordered_list.rb +1 -0
  677. data/lib/puppet/property.rb +1 -0
  678. data/lib/puppet/provider/aix_object.rb +1 -0
  679. data/lib/puppet/provider/command.rb +1 -0
  680. data/lib/puppet/provider/confine.rb +1 -0
  681. data/lib/puppet/provider/exec/posix.rb +1 -0
  682. data/lib/puppet/provider/exec/shell.rb +1 -0
  683. data/lib/puppet/provider/exec/windows.rb +4 -3
  684. data/lib/puppet/provider/exec.rb +1 -0
  685. data/lib/puppet/provider/file/posix.rb +1 -0
  686. data/lib/puppet/provider/file/windows.rb +2 -1
  687. data/lib/puppet/provider/group/aix.rb +3 -2
  688. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  689. data/lib/puppet/provider/group/groupadd.rb +2 -1
  690. data/lib/puppet/provider/group/ldap.rb +1 -0
  691. data/lib/puppet/provider/group/pw.rb +3 -2
  692. data/lib/puppet/provider/group/windows_adsi.rb +3 -2
  693. data/lib/puppet/provider/ldap.rb +1 -0
  694. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -4
  695. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  696. data/lib/puppet/provider/nameservice/pw.rb +1 -0
  697. data/lib/puppet/provider/nameservice.rb +1 -0
  698. data/lib/puppet/provider/network_device.rb +1 -0
  699. data/lib/puppet/provider/package/aix.rb +3 -2
  700. data/lib/puppet/provider/package/appdmg.rb +2 -1
  701. data/lib/puppet/provider/package/apple.rb +2 -1
  702. data/lib/puppet/provider/package/apt.rb +3 -2
  703. data/lib/puppet/provider/package/aptitude.rb +1 -0
  704. data/lib/puppet/provider/package/aptrpm.rb +1 -0
  705. data/lib/puppet/provider/package/blastwave.rb +2 -1
  706. data/lib/puppet/provider/package/dnf.rb +6 -5
  707. data/lib/puppet/provider/package/dnfmodule.rb +1 -0
  708. data/lib/puppet/provider/package/dpkg.rb +1 -0
  709. data/lib/puppet/provider/package/fink.rb +1 -0
  710. data/lib/puppet/provider/package/freebsd.rb +2 -1
  711. data/lib/puppet/provider/package/gem.rb +5 -4
  712. data/lib/puppet/provider/package/hpux.rb +3 -2
  713. data/lib/puppet/provider/package/macports.rb +2 -1
  714. data/lib/puppet/provider/package/nim.rb +1 -0
  715. data/lib/puppet/provider/package/openbsd.rb +3 -2
  716. data/lib/puppet/provider/package/opkg.rb +3 -2
  717. data/lib/puppet/provider/package/pacman.rb +3 -2
  718. data/lib/puppet/provider/package/pip.rb +1 -0
  719. data/lib/puppet/provider/package/pip2.rb +1 -0
  720. data/lib/puppet/provider/package/pip3.rb +1 -0
  721. data/lib/puppet/provider/package/pkg.rb +4 -3
  722. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  723. data/lib/puppet/provider/package/pkgin.rb +2 -1
  724. data/lib/puppet/provider/package/pkgng.rb +3 -2
  725. data/lib/puppet/provider/package/pkgutil.rb +2 -1
  726. data/lib/puppet/provider/package/portage.rb +3 -2
  727. data/lib/puppet/provider/package/ports.rb +1 -0
  728. data/lib/puppet/provider/package/portupgrade.rb +2 -1
  729. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  730. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  731. data/lib/puppet/provider/package/rpm.rb +1 -0
  732. data/lib/puppet/provider/package/rug.rb +2 -1
  733. data/lib/puppet/provider/package/sun.rb +3 -2
  734. data/lib/puppet/provider/package/sunfreeware.rb +2 -1
  735. data/lib/puppet/provider/package/tdnf.rb +2 -1
  736. data/lib/puppet/provider/package/up2date.rb +3 -2
  737. data/lib/puppet/provider/package/urpmi.rb +2 -1
  738. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  739. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  740. data/lib/puppet/provider/package/windows/package.rb +1 -0
  741. data/lib/puppet/provider/package/windows.rb +3 -2
  742. data/lib/puppet/provider/package/yum.rb +5 -4
  743. data/lib/puppet/provider/package/zypper.rb +3 -2
  744. data/lib/puppet/provider/package.rb +1 -0
  745. data/lib/puppet/provider/package_targetable.rb +1 -0
  746. data/lib/puppet/provider/parsedfile.rb +1 -0
  747. data/lib/puppet/provider/service/base.rb +2 -1
  748. data/lib/puppet/provider/service/bsd.rb +2 -1
  749. data/lib/puppet/provider/service/daemontools.rb +2 -1
  750. data/lib/puppet/provider/service/debian.rb +4 -3
  751. data/lib/puppet/provider/service/freebsd.rb +3 -2
  752. data/lib/puppet/provider/service/gentoo.rb +2 -1
  753. data/lib/puppet/provider/service/init.rb +6 -5
  754. data/lib/puppet/provider/service/launchd.rb +4 -3
  755. data/lib/puppet/provider/service/openbsd.rb +3 -2
  756. data/lib/puppet/provider/service/openrc.rb +3 -2
  757. data/lib/puppet/provider/service/openwrt.rb +3 -2
  758. data/lib/puppet/provider/service/rcng.rb +3 -2
  759. data/lib/puppet/provider/service/redhat.rb +4 -3
  760. data/lib/puppet/provider/service/runit.rb +1 -0
  761. data/lib/puppet/provider/service/service.rb +1 -0
  762. data/lib/puppet/provider/service/smf.rb +6 -5
  763. data/lib/puppet/provider/service/src.rb +3 -2
  764. data/lib/puppet/provider/service/systemd.rb +15 -14
  765. data/lib/puppet/provider/service/upstart.rb +8 -7
  766. data/lib/puppet/provider/service/windows.rb +3 -2
  767. data/lib/puppet/provider/user/aix.rb +3 -2
  768. data/lib/puppet/provider/user/directoryservice.rb +5 -4
  769. data/lib/puppet/provider/user/hpux.rb +3 -2
  770. data/lib/puppet/provider/user/ldap.rb +1 -0
  771. data/lib/puppet/provider/user/openbsd.rb +3 -2
  772. data/lib/puppet/provider/user/pw.rb +3 -2
  773. data/lib/puppet/provider/user/user_role_add.rb +2 -1
  774. data/lib/puppet/provider/user/useradd.rb +7 -6
  775. data/lib/puppet/provider/user/windows_adsi.rb +3 -2
  776. data/lib/puppet/provider.rb +1 -0
  777. data/lib/puppet/reference/configuration.rb +2 -1
  778. data/lib/puppet/reference/function.rb +1 -0
  779. data/lib/puppet/reference/indirection.rb +2 -1
  780. data/lib/puppet/reference/metaparameter.rb +1 -0
  781. data/lib/puppet/reference/providers.rb +5 -5
  782. data/lib/puppet/reference/report.rb +1 -0
  783. data/lib/puppet/reference/type.rb +1 -0
  784. data/lib/puppet/relationship.rb +1 -0
  785. data/lib/puppet/reports/http.rb +1 -0
  786. data/lib/puppet/reports/log.rb +1 -0
  787. data/lib/puppet/reports/store.rb +1 -0
  788. data/lib/puppet/reports.rb +2 -1
  789. data/lib/puppet/resource/catalog.rb +1 -0
  790. data/lib/puppet/resource/status.rb +1 -0
  791. data/lib/puppet/resource/type.rb +9 -8
  792. data/lib/puppet/resource.rb +9 -8
  793. data/lib/puppet/runtime.rb +1 -0
  794. data/lib/puppet/scheduler/job.rb +1 -0
  795. data/lib/puppet/scheduler/scheduler.rb +1 -0
  796. data/lib/puppet/scheduler/splay_job.rb +1 -0
  797. data/lib/puppet/scheduler/timer.rb +1 -0
  798. data/lib/puppet/scheduler.rb +1 -0
  799. data/lib/puppet/settings/alias_setting.rb +1 -0
  800. data/lib/puppet/settings/array_setting.rb +1 -0
  801. data/lib/puppet/settings/autosign_setting.rb +1 -0
  802. data/lib/puppet/settings/base_setting.rb +1 -0
  803. data/lib/puppet/settings/boolean_setting.rb +1 -0
  804. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -0
  805. data/lib/puppet/settings/config_file.rb +1 -0
  806. data/lib/puppet/settings/directory_setting.rb +1 -0
  807. data/lib/puppet/settings/duration_setting.rb +1 -0
  808. data/lib/puppet/settings/enum_setting.rb +1 -0
  809. data/lib/puppet/settings/environment_conf.rb +1 -0
  810. data/lib/puppet/settings/errors.rb +1 -0
  811. data/lib/puppet/settings/file_or_directory_setting.rb +1 -0
  812. data/lib/puppet/settings/file_setting.rb +1 -0
  813. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -0
  814. data/lib/puppet/settings/ini_file.rb +1 -0
  815. data/lib/puppet/settings/integer_setting.rb +1 -0
  816. data/lib/puppet/settings/path_setting.rb +1 -0
  817. data/lib/puppet/settings/port_setting.rb +1 -0
  818. data/lib/puppet/settings/priority_setting.rb +1 -0
  819. data/lib/puppet/settings/server_list_setting.rb +1 -0
  820. data/lib/puppet/settings/string_setting.rb +1 -0
  821. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -0
  822. data/lib/puppet/settings/terminus_setting.rb +1 -0
  823. data/lib/puppet/settings/ttl_setting.rb +1 -0
  824. data/lib/puppet/settings/value_translator.rb +1 -0
  825. data/lib/puppet/settings.rb +5 -4
  826. data/lib/puppet/ssl/base.rb +1 -0
  827. data/lib/puppet/ssl/certificate.rb +1 -0
  828. data/lib/puppet/ssl/certificate_request.rb +2 -4
  829. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -0
  830. data/lib/puppet/ssl/certificate_signer.rb +1 -0
  831. data/lib/puppet/ssl/digest.rb +1 -0
  832. data/lib/puppet/ssl/error.rb +1 -0
  833. data/lib/puppet/ssl/oids.rb +1 -1
  834. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  835. data/lib/puppet/ssl/ssl_context.rb +1 -0
  836. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  837. data/lib/puppet/ssl/state_machine.rb +1 -0
  838. data/lib/puppet/ssl/verifier.rb +1 -0
  839. data/lib/puppet/ssl.rb +2 -1
  840. data/lib/puppet/syntax_checkers/base64.rb +1 -0
  841. data/lib/puppet/syntax_checkers/epp.rb +1 -0
  842. data/lib/puppet/syntax_checkers/json.rb +1 -0
  843. data/lib/puppet/syntax_checkers/pp.rb +1 -0
  844. data/lib/puppet/syntax_checkers.rb +1 -0
  845. data/lib/puppet/test/test_helper.rb +4 -21
  846. data/lib/puppet/thread_local.rb +5 -1
  847. data/lib/puppet/transaction/additional_resource_generator.rb +1 -0
  848. data/lib/puppet/transaction/event.rb +1 -0
  849. data/lib/puppet/transaction/event_manager.rb +1 -0
  850. data/lib/puppet/transaction/persistence.rb +1 -0
  851. data/lib/puppet/transaction/report.rb +3 -2
  852. data/lib/puppet/transaction/resource_harness.rb +1 -0
  853. data/lib/puppet/transaction.rb +1 -0
  854. data/lib/puppet/trusted_external.rb +1 -0
  855. data/lib/puppet/type/component.rb +1 -0
  856. data/lib/puppet/type/exec.rb +1 -0
  857. data/lib/puppet/type/file/checksum.rb +1 -0
  858. data/lib/puppet/type/file/checksum_value.rb +1 -0
  859. data/lib/puppet/type/file/content.rb +1 -0
  860. data/lib/puppet/type/file/ctime.rb +1 -0
  861. data/lib/puppet/type/file/data_sync.rb +1 -0
  862. data/lib/puppet/type/file/ensure.rb +1 -0
  863. data/lib/puppet/type/file/group.rb +1 -0
  864. data/lib/puppet/type/file/mode.rb +1 -0
  865. data/lib/puppet/type/file/mtime.rb +1 -0
  866. data/lib/puppet/type/file/owner.rb +1 -0
  867. data/lib/puppet/type/file/selcontext.rb +1 -0
  868. data/lib/puppet/type/file/source.rb +2 -1
  869. data/lib/puppet/type/file/target.rb +1 -0
  870. data/lib/puppet/type/file/type.rb +1 -0
  871. data/lib/puppet/type/file.rb +1 -0
  872. data/lib/puppet/type/filebucket.rb +1 -0
  873. data/lib/puppet/type/group.rb +1 -0
  874. data/lib/puppet/type/notify.rb +1 -0
  875. data/lib/puppet/type/package.rb +3 -2
  876. data/lib/puppet/type/resources.rb +2 -1
  877. data/lib/puppet/type/schedule.rb +1 -0
  878. data/lib/puppet/type/service.rb +1 -0
  879. data/lib/puppet/type/stage.rb +1 -0
  880. data/lib/puppet/type/tidy.rb +1 -0
  881. data/lib/puppet/type/user.rb +1 -0
  882. data/lib/puppet/type/whit.rb +1 -0
  883. data/lib/puppet/type.rb +2 -42
  884. data/lib/puppet/util/at_fork/noop.rb +1 -0
  885. data/lib/puppet/util/at_fork/solaris.rb +1 -0
  886. data/lib/puppet/util/at_fork.rb +1 -0
  887. data/lib/puppet/util/autoload.rb +1 -0
  888. data/lib/puppet/util/backups.rb +1 -0
  889. data/lib/puppet/util/character_encoding.rb +1 -0
  890. data/lib/puppet/util/checksums.rb +1 -0
  891. data/lib/puppet/util/classgen.rb +1 -0
  892. data/lib/puppet/util/colors.rb +1 -0
  893. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -0
  894. data/lib/puppet/util/command_line/trollop.rb +1 -0
  895. data/lib/puppet/util/command_line.rb +1 -0
  896. data/lib/puppet/util/constant_inflector.rb +1 -0
  897. data/lib/puppet/util/diff.rb +2 -1
  898. data/lib/puppet/util/docs.rb +1 -0
  899. data/lib/puppet/util/errors.rb +1 -0
  900. data/lib/puppet/util/execution.rb +6 -10
  901. data/lib/puppet/util/execution_stub.rb +1 -0
  902. data/lib/puppet/util/feature.rb +1 -0
  903. data/lib/puppet/util/file_watcher.rb +1 -0
  904. data/lib/puppet/util/fileparsing.rb +1 -0
  905. data/lib/puppet/util/filetype.rb +3 -2
  906. data/lib/puppet/util/http_proxy.rb +1 -0
  907. data/lib/puppet/util/inifile.rb +3 -2
  908. data/lib/puppet/util/instance_loader.rb +1 -0
  909. data/lib/puppet/util/json.rb +1 -0
  910. data/lib/puppet/util/json_lockfile.rb +1 -0
  911. data/lib/puppet/util/ldap/connection.rb +1 -0
  912. data/lib/puppet/util/ldap/generator.rb +1 -0
  913. data/lib/puppet/util/ldap/manager.rb +1 -0
  914. data/lib/puppet/util/ldap.rb +1 -0
  915. data/lib/puppet/util/libuser.rb +1 -0
  916. data/lib/puppet/util/limits.rb +1 -0
  917. data/lib/puppet/util/lockfile.rb +1 -0
  918. data/lib/puppet/util/log/destination.rb +1 -0
  919. data/lib/puppet/util/log/destinations.rb +1 -0
  920. data/lib/puppet/util/log.rb +1 -0
  921. data/lib/puppet/util/logging.rb +1 -0
  922. data/lib/puppet/util/metaid.rb +1 -0
  923. data/lib/puppet/util/metric.rb +1 -0
  924. data/lib/puppet/util/monkey_patches.rb +3 -28
  925. data/lib/puppet/util/multi_match.rb +1 -0
  926. data/lib/puppet/util/network_device/base.rb +1 -0
  927. data/lib/puppet/util/network_device/config.rb +1 -0
  928. data/lib/puppet/util/network_device/transport/base.rb +1 -0
  929. data/lib/puppet/util/network_device/transport.rb +1 -0
  930. data/lib/puppet/util/network_device.rb +1 -0
  931. data/lib/puppet/util/package/version/debian.rb +1 -0
  932. data/lib/puppet/util/package/version/gem.rb +1 -0
  933. data/lib/puppet/util/package/version/pip.rb +2 -1
  934. data/lib/puppet/util/package/version/range/eq.rb +1 -0
  935. data/lib/puppet/util/package/version/range/gt.rb +1 -0
  936. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -0
  937. data/lib/puppet/util/package/version/range/lt.rb +1 -0
  938. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -0
  939. data/lib/puppet/util/package/version/range/min_max.rb +1 -0
  940. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  941. data/lib/puppet/util/package/version/range.rb +1 -0
  942. data/lib/puppet/util/package/version/rpm.rb +1 -1
  943. data/lib/puppet/util/pidlock.rb +1 -0
  944. data/lib/puppet/util/platform.rb +3 -2
  945. data/lib/puppet/util/plist.rb +1 -0
  946. data/lib/puppet/util/posix.rb +1 -0
  947. data/lib/puppet/util/profiler/aggregate.rb +1 -0
  948. data/lib/puppet/util/profiler/around_profiler.rb +1 -0
  949. data/lib/puppet/util/profiler/logging.rb +1 -0
  950. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  951. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  952. data/lib/puppet/util/profiler.rb +1 -0
  953. data/lib/puppet/util/provider_features.rb +2 -1
  954. data/lib/puppet/util/psych_support.rb +1 -0
  955. data/lib/puppet/util/rdoc/code_objects.rb +1 -0
  956. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -0
  957. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1 -0
  958. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -0
  959. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser.rb +1 -0
  961. data/lib/puppet/util/rdoc.rb +1 -0
  962. data/lib/puppet/util/reference.rb +1 -0
  963. data/lib/puppet/util/resource_template.rb +1 -0
  964. data/lib/puppet/util/retry_action.rb +1 -0
  965. data/lib/puppet/util/rpm_compare.rb +1 -0
  966. data/lib/puppet/util/rubygems.rb +1 -0
  967. data/lib/puppet/util/run_mode.rb +1 -0
  968. data/lib/puppet/util/selinux.rb +2 -1
  969. data/lib/puppet/util/skip_tags.rb +1 -0
  970. data/lib/puppet/util/splayer.rb +1 -0
  971. data/lib/puppet/util/storage.rb +1 -0
  972. data/lib/puppet/util/suidmanager.rb +2 -1
  973. data/lib/puppet/util/symbolic_file_mode.rb +1 -0
  974. data/lib/puppet/util/tag_set.rb +1 -0
  975. data/lib/puppet/util/terminal.rb +1 -0
  976. data/lib/puppet/util/user_attr.rb +1 -0
  977. data/lib/puppet/util/warnings.rb +1 -0
  978. data/lib/puppet/util/watched_file.rb +1 -0
  979. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  980. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  981. data/lib/puppet/util/watcher/timer.rb +1 -0
  982. data/lib/puppet/util/watcher.rb +1 -0
  983. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  984. data/lib/puppet/util/windows/access_control_list.rb +2 -1
  985. data/lib/puppet/util/windows/adsi.rb +3 -9
  986. data/lib/puppet/util/windows/com.rb +1 -0
  987. data/lib/puppet/util/windows/daemon.rb +1 -0
  988. data/lib/puppet/util/windows/error.rb +2 -1
  989. data/lib/puppet/util/windows/eventlog.rb +1 -0
  990. data/lib/puppet/util/windows/file.rb +3 -2
  991. data/lib/puppet/util/windows/principal.rb +1 -0
  992. data/lib/puppet/util/windows/process.rb +2 -1
  993. data/lib/puppet/util/windows/registry.rb +1 -0
  994. data/lib/puppet/util/windows/root_certs.rb +1 -0
  995. data/lib/puppet/util/windows/security.rb +1 -0
  996. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  997. data/lib/puppet/util/windows/service.rb +1 -0
  998. data/lib/puppet/util/windows/sid.rb +3 -4
  999. data/lib/puppet/util/windows/string.rb +1 -0
  1000. data/lib/puppet/util/windows/user.rb +1 -0
  1001. data/lib/puppet/util/windows.rb +1 -0
  1002. data/lib/puppet/util/yaml.rb +1 -0
  1003. data/lib/puppet/util.rb +32 -87
  1004. data/lib/puppet/vendor.rb +1 -0
  1005. data/lib/puppet/version.rb +2 -1
  1006. data/lib/puppet/x509/cert_provider.rb +3 -6
  1007. data/lib/puppet/x509/pem_store.rb +1 -0
  1008. data/lib/puppet/x509.rb +1 -0
  1009. data/lib/puppet.rb +5 -8
  1010. data/lib/puppet_pal.rb +1 -0
  1011. data/lib/puppet_x.rb +1 -0
  1012. data/locales/puppet.pot +9679 -5
  1013. data/man/man5/puppet.conf.5 +13 -13
  1014. data/man/man8/puppet-agent.8 +1 -1
  1015. data/man/man8/puppet-apply.8 +1 -1
  1016. data/man/man8/puppet-catalog.8 +1 -5
  1017. data/man/man8/puppet-config.8 +1 -1
  1018. data/man/man8/puppet-describe.8 +1 -1
  1019. data/man/man8/puppet-device.8 +1 -1
  1020. data/man/man8/puppet-doc.8 +1 -1
  1021. data/man/man8/puppet-epp.8 +1 -1
  1022. data/man/man8/puppet-facts.8 +1 -5
  1023. data/man/man8/puppet-filebucket.8 +1 -1
  1024. data/man/man8/puppet-generate.8 +1 -1
  1025. data/man/man8/puppet-help.8 +1 -1
  1026. data/man/man8/puppet-lookup.8 +1 -1
  1027. data/man/man8/puppet-module.8 +1 -1
  1028. data/man/man8/puppet-node.8 +1 -5
  1029. data/man/man8/puppet-parser.8 +1 -1
  1030. data/man/man8/puppet-plugin.8 +1 -1
  1031. data/man/man8/puppet-report.8 +1 -5
  1032. data/man/man8/puppet-resource.8 +1 -1
  1033. data/man/man8/puppet-script.8 +1 -1
  1034. data/man/man8/puppet-ssl.8 +1 -5
  1035. data/man/man8/puppet.8 +2 -2
  1036. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  1037. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +1 -1
  1038. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +1 -1
  1039. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +1 -1
  1040. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +1 -1
  1041. data/spec/integration/application/agent_spec.rb +17 -12
  1042. data/spec/integration/application/apply_spec.rb +23 -29
  1043. data/spec/integration/configurer_spec.rb +4 -2
  1044. data/spec/integration/defaults_spec.rb +3 -3
  1045. data/spec/integration/http/client_spec.rb +2 -18
  1046. data/spec/integration/network/formats_spec.rb +1 -1
  1047. data/spec/integration/network/http/api/indirected_routes_spec.rb +2 -2
  1048. data/spec/integration/network/http_pool_spec.rb +2 -2
  1049. data/spec/integration/node/facts_spec.rb +2 -2
  1050. data/spec/integration/parser/compiler_spec.rb +15 -4
  1051. data/spec/integration/parser/conditionals_spec.rb +3 -0
  1052. data/spec/integration/parser/scope_spec.rb +10 -3
  1053. data/spec/integration/type/exec_spec.rb +0 -13
  1054. data/spec/integration/type/file_spec.rb +2 -2
  1055. data/spec/integration/type/package_spec.rb +5 -5
  1056. data/spec/integration/util_spec.rb +1 -1
  1057. data/spec/lib/puppet_spec/network.rb +18 -0
  1058. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  1059. data/spec/unit/application/device_spec.rb +2 -2
  1060. data/spec/unit/application/lookup_spec.rb +6 -0
  1061. data/spec/unit/application/resource_spec.rb +22 -13
  1062. data/spec/unit/application/ssl_spec.rb +0 -49
  1063. data/spec/unit/configurer/fact_handler_spec.rb +1 -1
  1064. data/spec/unit/confine_spec.rb +6 -6
  1065. data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -0
  1066. data/spec/unit/defaults_spec.rb +48 -2
  1067. data/spec/unit/external/pson_spec.rb +1 -3
  1068. data/spec/unit/face/epp_face_spec.rb +2 -2
  1069. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  1070. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  1071. data/spec/unit/file_serving/mount/file_spec.rb +2 -2
  1072. data/spec/unit/file_system/path_pattern_spec.rb +0 -15
  1073. data/spec/unit/functions/epp_spec.rb +7 -1
  1074. data/spec/unit/functions/hiera_spec.rb +7 -7
  1075. data/spec/unit/functions/inline_epp_spec.rb +7 -1
  1076. data/spec/unit/functions/lookup_spec.rb +59 -69
  1077. data/spec/unit/functions/max_spec.rb +30 -1
  1078. data/spec/unit/functions/min_spec.rb +30 -1
  1079. data/spec/unit/functions/return_spec.rb +4 -0
  1080. data/spec/unit/functions/split_spec.rb +0 -6
  1081. data/spec/unit/hiera/scope_spec.rb +6 -1
  1082. data/spec/unit/hiera_puppet_spec.rb +1 -1
  1083. data/spec/unit/http/factory_spec.rb +1 -1
  1084. data/spec/unit/http/service/compiler_spec.rb +5 -3
  1085. data/spec/unit/http/service/file_server_spec.rb +5 -3
  1086. data/spec/unit/http/service/report_spec.rb +4 -14
  1087. data/spec/unit/http/service_spec.rb +5 -11
  1088. data/spec/unit/indirector/catalog/compiler_spec.rb +12 -11
  1089. data/spec/unit/indirector/face_spec.rb +4 -6
  1090. data/spec/unit/indirector/facts/facter_spec.rb +1 -1
  1091. data/spec/unit/indirector/hiera_spec.rb +7 -2
  1092. data/spec/unit/indirector/report/rest_spec.rb +0 -26
  1093. data/spec/unit/indirector/rest_spec.rb +1 -1
  1094. data/spec/unit/module_spec.rb +2 -6
  1095. data/spec/unit/module_tool/tar_spec.rb +3 -3
  1096. data/spec/unit/network/formats_spec.rb +1 -1
  1097. data/spec/unit/network/http/api/indirected_routes_spec.rb +10 -10
  1098. data/spec/unit/parser/scope_spec.rb +4 -0
  1099. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +8 -0
  1100. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +5 -0
  1101. data/spec/unit/pops/loaders/loaders_spec.rb +7 -7
  1102. data/spec/unit/pops/lookup/interpolation_spec.rb +12 -0
  1103. data/spec/unit/pops/serialization/serialization_spec.rb +2 -2
  1104. data/spec/unit/pops/serialization/to_from_hr_spec.rb +13 -1
  1105. data/spec/unit/pops/validator/validator_spec.rb +2 -3
  1106. data/spec/unit/provider/package/apt_spec.rb +2 -2
  1107. data/spec/unit/provider/package/dnf_spec.rb +15 -15
  1108. data/spec/unit/provider/package/dnfmodule_spec.rb +6 -6
  1109. data/spec/unit/provider/package/gem_spec.rb +4 -4
  1110. data/spec/unit/provider/package/pip2_spec.rb +2 -2
  1111. data/spec/unit/provider/package/pip3_spec.rb +2 -2
  1112. data/spec/unit/provider/package/pip_spec.rb +2 -2
  1113. data/spec/unit/provider/package/pkg_spec.rb +8 -8
  1114. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1115. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1116. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -6
  1117. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -2
  1118. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  1119. data/spec/unit/provider/package/up2date_spec.rb +2 -2
  1120. data/spec/unit/provider/package/yum_spec.rb +16 -16
  1121. data/spec/unit/provider/service/base_spec.rb +1 -1
  1122. data/spec/unit/provider/service/bsd_spec.rb +2 -2
  1123. data/spec/unit/provider/service/debian_spec.rb +7 -7
  1124. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  1125. data/spec/unit/provider/service/gentoo_spec.rb +2 -2
  1126. data/spec/unit/provider/service/init_spec.rb +8 -8
  1127. data/spec/unit/provider/service/openbsd_spec.rb +2 -2
  1128. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  1129. data/spec/unit/provider/service/rcng_spec.rb +2 -2
  1130. data/spec/unit/provider/service/redhat_spec.rb +7 -7
  1131. data/spec/unit/provider/service/smf_spec.rb +8 -8
  1132. data/spec/unit/provider/service/systemd_spec.rb +57 -57
  1133. data/spec/unit/provider/service/upstart_spec.rb +3 -3
  1134. data/spec/unit/provider/user/directoryservice_spec.rb +2 -2
  1135. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1136. data/spec/unit/provider/user/useradd_spec.rb +14 -14
  1137. data/spec/unit/provider_spec.rb +51 -51
  1138. data/spec/unit/reports/store_spec.rb +5 -3
  1139. data/spec/unit/resource/catalog_spec.rb +13 -4
  1140. data/spec/unit/ssl/certificate_request_spec.rb +6 -2
  1141. data/spec/unit/ssl/ssl_provider_spec.rb +9 -4
  1142. data/spec/unit/ssl/state_machine_spec.rb +1 -6
  1143. data/spec/unit/test/test_helper_spec.rb +4 -4
  1144. data/spec/unit/transaction/report_spec.rb +39 -7
  1145. data/spec/unit/type/package_spec.rb +3 -3
  1146. data/spec/unit/type/resources_spec.rb +2 -2
  1147. data/spec/unit/type_spec.rb +2 -2
  1148. data/spec/unit/util/execution_spec.rb +0 -1
  1149. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1150. data/spec/unit/util/monkey_patches_spec.rb +0 -18
  1151. data/spec/unit/util/run_mode_spec.rb +0 -32
  1152. data/spec/unit/util/windows/adsi_spec.rb +0 -25
  1153. data/spec/unit/util_spec.rb +68 -62
  1154. data/spec/unit/x509/cert_provider_spec.rb +2 -2
  1155. metadata +29 -43
  1156. data/lib/puppet/external/pson/common.rb +0 -374
  1157. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1158. data/lib/puppet/external/pson/pure/parser.rb +0 -308
  1159. data/lib/puppet/external/pson/pure.rb +0 -15
  1160. data/lib/puppet/external/pson/version.rb +0 -8
  1161. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  # LoaderPaths
3
4
  # ===
@@ -87,7 +88,7 @@ module LoaderPaths
87
88
 
88
89
  def typed_name(type, name_authority, relative_path, module_name)
89
90
  # Module name is assumed to be included in the path and therefore not added here
90
- n = ''
91
+ n = String.new
91
92
  unless extension.empty?
92
93
  # Remove extension
93
94
  relative_path = relative_path[0..-(extension.length+1)]
@@ -117,7 +118,7 @@ module LoaderPaths
117
118
  end
118
119
 
119
120
  class RubySmartPath < SmartPath
120
- EXTENSION = '.rb'.freeze
121
+ EXTENSION = '.rb'
121
122
 
122
123
  def extension
123
124
  EXTENSION
@@ -133,7 +134,7 @@ module LoaderPaths
133
134
  # path (which is a reference to its 'lib' directory.
134
135
  #
135
136
  class PuppetSmartPath < SmartPath
136
- EXTENSION = '.pp'.freeze
137
+ EXTENSION = '.pp'
137
138
 
138
139
  def extension
139
140
  EXTENSION
@@ -152,7 +153,7 @@ module LoaderPaths
152
153
  end
153
154
 
154
155
  def typed_name(type, name_authority, relative_path, module_name)
155
- n = ''
156
+ n = String.new
156
157
  n << module_name unless module_name.nil?
157
158
  unless extension.empty?
158
159
  # Remove extension
@@ -193,7 +194,7 @@ module LoaderPaths
193
194
  end
194
195
 
195
196
  class FunctionPathPP < PuppetSmartPath
196
- FUNCTION_PATH_PP = 'functions'.freeze
197
+ FUNCTION_PATH_PP = 'functions'
197
198
 
198
199
  def relative_path
199
200
  FUNCTION_PATH_PP
@@ -218,7 +219,7 @@ module LoaderPaths
218
219
  end
219
220
 
220
221
  class TypePathPP < PuppetSmartPath
221
- TYPE_PATH_PP = 'types'.freeze
222
+ TYPE_PATH_PP = 'types'
222
223
 
223
224
  def relative_path
224
225
  TYPE_PATH_PP
@@ -232,7 +233,7 @@ module LoaderPaths
232
233
  # TaskPath is like PuppetSmartPath but it does not use an extension and may
233
234
  # match more than one path with one name
234
235
  class TaskPath < PuppetSmartPath
235
- TASKS_PATH = 'tasks'.freeze
236
+ TASKS_PATH = 'tasks'
236
237
  FORBIDDEN_EXTENSIONS = %w{.conf .md}.freeze
237
238
 
238
239
  def extension
@@ -248,7 +249,7 @@ module LoaderPaths
248
249
  end
249
250
 
250
251
  def typed_name(type, name_authority, relative_path, module_name)
251
- n = ''
252
+ n = String.new
252
253
  n << module_name unless module_name.nil?
253
254
 
254
255
  # Remove the file extension, defined as everything after the *last* dot.
@@ -285,7 +286,7 @@ module LoaderPaths
285
286
  end
286
287
 
287
288
  class ResourceTypeImplPP < PuppetSmartPath
288
- RESOURCE_TYPES_PATH_PP = '.resource_types'.freeze
289
+ RESOURCE_TYPES_PATH_PP = '.resource_types'
289
290
 
290
291
  def relative_path
291
292
  RESOURCE_TYPES_PATH_PP
@@ -312,8 +313,8 @@ module LoaderPaths
312
313
 
313
314
  class PlanPath < PuppetSmartPath
314
315
  PLAN_PATH = File.join('plans')
315
- PP_EXT = '.pp'.freeze
316
- YAML_EXT = '.yaml'.freeze
316
+ PP_EXT = '.pp'
317
+ YAML_EXT = '.yaml'
317
318
 
318
319
  def initialize(loader)
319
320
  super
@@ -350,7 +351,7 @@ module LoaderPaths
350
351
  if @init_filenames.include?(relative_path) && !(module_name.nil? || module_name.empty?)
351
352
  TypedName.new(type, module_name, name_authority)
352
353
  else
353
- n = ''
354
+ n = String.new
354
355
  n << module_name unless module_name.nil?
355
356
  ext = @extensions.find { |extension| relative_path.end_with?(extension) }
356
357
  relative_path = relative_path[0..-(ext.length+1)]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
  # =ModuleLoaders
@@ -21,7 +22,7 @@ module Loader
21
22
  module ModuleLoaders
22
23
 
23
24
  # Wildcard module name for module loaders, makes loading possible from any namespace.
24
- NAMESPACE_WILDCARD = '*'.freeze
25
+ NAMESPACE_WILDCARD = '*'
25
26
 
26
27
  # This is exactly the same as the #system_loader_from method, but the argument for path is changed to
27
28
  # location where pluginsync stores functions. It also accepts definitions in any namespace since pluginsync
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops::Loader
2
3
 
3
4
  # A PredefinedLoader is a loader that is manually populated with loaded elements
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
  # The PuppetFunctionInstantiator instantiates a Puppet::Functions::PuppetFunction given a Puppet Programming language
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
  # The PuppetPlanInstantiator instantiates a Puppet::Functions::PuppetFunction given a Puppet Programming language
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
  # The PuppetResourceTypeImplInstantiator instantiates a Puppet::Pops::ResourceTypeImpl object.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The RubyTypeInstantiator instantiates a data type from the ruby source
2
3
  # that calls Puppet::DataTypes.create_type.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The RubyFunctionInstantiator instantiates a Puppet::Functions::Function given the ruby source
2
3
  # that calls Puppet::Functions.create_function.
3
4
  #
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  # The RubyLegacyFunctionInstantiator instantiates a Puppet::Functions::Function given the ruby source
2
3
  # that calls Puppet::Functions.create_function.
3
4
  #
4
5
  require 'ripper'
5
6
  class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
6
- UNKNOWN = '<unknown>'.freeze
7
+ UNKNOWN = '<unknown>'
7
8
 
8
9
  # Produces an instance of the Function class with the given typed_name, or fails with an error if the
9
10
  # given ruby source does not produce this instance when evaluated.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # SimpleEnvironmentLoader
2
3
  # ===
3
4
  # This loader does not load anything and it is populated by the bootstrapping logic that loads
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Static Loader contains constants, basic data types and other types required for the system
2
3
  # to boot.
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The TypeDefinitionInstantiator instantiates a type alias or a type definition
2
3
  #
3
4
  require_relative '../../../puppet/module/task'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The TypeDefinitionInstantiator instantiates a type alias or a type definition
2
3
  #
3
4
  module Puppet::Pops
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Loader
3
4
  # A namespace/name/type combination that can be used as a compound hash key
@@ -26,7 +27,7 @@ class TypedName
26
27
  @name_parts = parts.freeze
27
28
 
28
29
  # Use a frozen compound key for the hash and comparison. Most varying part first
29
- @compound_name = "#{@name}/#{@type}/#{@name_authority}".freeze
30
+ @compound_name = "#{@name}/#{@type}/#{@name_authority}"
30
31
  @hash = @compound_name.hash
31
32
  freeze
32
33
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops::Loader::UriHelper
2
3
  # Raises an exception if specified gem can not be located
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  # This is the container for all Loader instances. Each Loader instance has a `loader_name` by which it can be uniquely
3
4
  # identified within this container.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'hiera_config'
2
3
  require_relative 'data_provider'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'interpolation'
2
3
 
3
4
  module Puppet::Pops
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Lookup
3
4
  # A class that adapts a Hash
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'function_provider'
2
3
 
3
4
  module Puppet::Pops
4
5
  module Lookup
5
6
  # @api private
6
7
  class DataDigFunctionProvider < FunctionProvider
7
- TAG = 'data_dig'.freeze
8
+ TAG = 'data_dig'
8
9
 
9
10
  # Performs a lookup with the assumption that a recursive check has been made.
10
11
  #
@@ -63,7 +64,7 @@ end
63
64
 
64
65
  # @api private
65
66
  class V3BackendFunctionProvider < DataDigFunctionProvider
66
- TAG = 'hiera3_backend'.freeze
67
+ TAG = 'hiera3_backend'
67
68
 
68
69
  def data_dig(key, lookup_invocation, location, merge)
69
70
  @backend ||= instantiate_backend(lookup_invocation)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'function_provider'
2
3
  require_relative 'interpolation'
3
4
 
@@ -8,7 +9,7 @@ class DataHashFunctionProvider < FunctionProvider
8
9
  include SubLookup
9
10
  include Interpolation
10
11
 
11
- TAG = 'data_hash'.freeze
12
+ TAG = 'data_hash'
12
13
 
13
14
  def self.trusted_return_type
14
15
  @trusted_return_type ||= Types::PHashType.new(DataProvider.key_type, DataProvider.value_type)
@@ -80,7 +81,7 @@ end
80
81
 
81
82
  # @api private
82
83
  class V3DataHashFunctionProvider < DataHashFunctionProvider
83
- TAG = 'v3_data_hash'.freeze
84
+ TAG = 'v3_data_hash'
84
85
 
85
86
  def initialize(name, parent_data_provider, function_name, options, locations)
86
87
  @datadir = options.delete(HieraConfig::KEY_DATADIR)
@@ -108,7 +109,7 @@ end
108
109
  # TODO: API 5.0, remove this class
109
110
  # @api private
110
111
  class V4DataHashFunctionProvider < DataHashFunctionProvider
111
- TAG = 'v4_data_hash'.freeze
112
+ TAG = 'v4_data_hash'
112
113
 
113
114
  def name
114
115
  "Deprecated API function \"#{function_name}\""
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Lookup
3
4
  # @api private
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'configured_data_provider'
2
3
 
3
4
  module Puppet::Pops
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Lookup
3
4
 
@@ -19,7 +20,7 @@ module Lookup
19
20
  end
20
21
 
21
22
  def explain
22
- io = ''
23
+ io = String.new
23
24
  dump_on(io, '', '')
24
25
  io
25
26
  end
@@ -585,7 +586,7 @@ module Lookup
585
586
  end
586
587
 
587
588
  def emit_debug_info(preamble)
588
- io = ''
589
+ io = String.new
589
590
  io << preamble << "\n"
590
591
  dump_on(io, ' ', ' ')
591
592
  Puppet.debug(io.chomp!)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'data_adapter'
2
3
  require_relative 'context'
3
4
  require_relative 'data_provider'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/scope'
2
3
  require_relative 'configured_data_provider'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'data_dig_function_provider'
2
3
  require_relative 'data_hash_function_provider'
3
4
  require_relative 'lookup_key_function_provider'
@@ -41,22 +42,22 @@ class HieraConfig
41
42
 
42
43
  CONFIG_FILE_NAME = 'hiera.yaml'
43
44
 
44
- KEY_NAME = 'name'.freeze
45
- KEY_VERSION = 'version'.freeze
46
- KEY_DATADIR = 'datadir'.freeze
47
- KEY_DEFAULT_HIERARCHY = 'default_hierarchy'.freeze
48
- KEY_HIERARCHY = 'hierarchy'.freeze
49
- KEY_PLAN_HIERARCHY = 'plan_hierarchy'.freeze
50
- KEY_LOGGER = 'logger'.freeze
51
- KEY_OPTIONS = 'options'.freeze
52
- KEY_PATH = 'path'.freeze
53
- KEY_PATHS = 'paths'.freeze
54
- KEY_MAPPED_PATHS = 'mapped_paths'.freeze
55
- KEY_GLOB = 'glob'.freeze
56
- KEY_GLOBS = 'globs'.freeze
57
- KEY_URI = 'uri'.freeze
58
- KEY_URIS = 'uris'.freeze
59
- KEY_DEFAULTS = 'defaults'.freeze
45
+ KEY_NAME = 'name'
46
+ KEY_VERSION = 'version'
47
+ KEY_DATADIR = 'datadir'
48
+ KEY_DEFAULT_HIERARCHY = 'default_hierarchy'
49
+ KEY_HIERARCHY = 'hierarchy'
50
+ KEY_PLAN_HIERARCHY = 'plan_hierarchy'
51
+ KEY_LOGGER = 'logger'
52
+ KEY_OPTIONS = 'options'
53
+ KEY_PATH = 'path'
54
+ KEY_PATHS = 'paths'
55
+ KEY_MAPPED_PATHS = 'mapped_paths'
56
+ KEY_GLOB = 'glob'
57
+ KEY_GLOBS = 'globs'
58
+ KEY_URI = 'uri'
59
+ KEY_URIS = 'uris'
60
+ KEY_DEFAULTS = 'defaults'
60
61
  KEY_DATA_HASH = DataHashFunctionProvider::TAG
61
62
  KEY_LOOKUP_KEY = LookupKeyFunctionProvider::TAG
62
63
  KEY_DATA_DIG = DataDigFunctionProvider::TAG
@@ -64,8 +65,8 @@ class HieraConfig
64
65
  KEY_V3_LOOKUP_KEY = V3LookupKeyFunctionProvider::TAG
65
66
  KEY_V3_BACKEND = V3BackendFunctionProvider::TAG
66
67
  KEY_V4_DATA_HASH = V4DataHashFunctionProvider::TAG
67
- KEY_BACKEND = 'backend'.freeze
68
- KEY_EXTENSION = 'extension'.freeze
68
+ KEY_BACKEND = 'backend'
69
+ KEY_EXTENSION = 'extension'
69
70
 
70
71
  FUNCTION_KEYS = [KEY_DATA_HASH, KEY_LOOKUP_KEY, KEY_DATA_DIG, KEY_V3_BACKEND]
71
72
  ALL_FUNCTION_KEYS = FUNCTION_KEYS + [KEY_V4_DATA_HASH]
@@ -227,7 +228,7 @@ class HieraConfig
227
228
  line_number += 1
228
229
  next if line_number < start_line
229
230
  quote = nil
230
- stripped = ''
231
+ stripped = String.new
231
232
  line.each_codepoint do |cp|
232
233
  if cp == 0x22 || cp == 0x27 # double or single quote
233
234
  if quote == cp
@@ -252,7 +253,7 @@ class HieraConfig
252
253
  scope = lookup_invocation.scope
253
254
  lookup_invocation.without_explain do
254
255
  @scope_interpolations.all? do |key, root_key, segments, old_value|
255
- value = scope[root_key]
256
+ value = Puppet.override(avoid_hiera_interpolation_errors: true) { scope[root_key] }
256
257
  unless value.nil? || segments.empty?
257
258
  found = nil;
258
259
  catch(:no_such_key) { found = sub_lookup(key, lookup_invocation, segments, value) }
@@ -282,8 +283,9 @@ class HieraConfig
282
283
  end
283
284
 
284
285
  def create_hiera3_backend_provider(name, backend, parent_data_provider, datadir, paths, hiera3_config)
285
- # Custom backend. Hiera v3 must be installed, it's logger configured, and it must be made aware of the loaded config
286
- require 'hiera'
286
+ # Custom backend. Hiera 3 must be installed, its logger configured, and it must be made aware of the loaded config
287
+ raise Puppet::DataBinding::LookupError, 'Hiera 3 is not installed' if !Puppet.features.hiera?
288
+
287
289
  if Hiera::Config.instance_variable_defined?(:@config) && (current_config = Hiera::Config.instance_variable_get(:@config)).is_a?(Hash)
288
290
  current_config.each_pair do |key, val|
289
291
  case key
@@ -345,9 +347,9 @@ end
345
347
 
346
348
  # @api private
347
349
  class HieraConfigV3 < HieraConfig
348
- KEY_BACKENDS = 'backends'.freeze
349
- KEY_MERGE_BEHAVIOR = 'merge_behavior'.freeze
350
- KEY_DEEP_MERGE_OPTIONS = 'deep_merge_options'.freeze
350
+ KEY_BACKENDS = 'backends'
351
+ KEY_MERGE_BEHAVIOR = 'merge_behavior'
352
+ KEY_DEEP_MERGE_OPTIONS = 'deep_merge_options'
351
353
 
352
354
  def self.config_type
353
355
  return @@CONFIG_TYPE if class_variable_defined?(:@@CONFIG_TYPE)
@@ -632,23 +634,26 @@ class HieraConfigV5 < HieraConfig
632
634
  entry_datadir = @config_root + (he[KEY_DATADIR] || datadir)
633
635
  entry_datadir = Pathname(interpolate(entry_datadir.to_s, lookup_invocation, false))
634
636
  location_key = LOCATION_KEYS.find { |key| he.include?(key) }
635
- locations = case location_key
636
- when KEY_PATHS
637
- resolve_paths(entry_datadir, he[location_key], lookup_invocation, @config_path.nil?)
638
- when KEY_PATH
639
- resolve_paths(entry_datadir, [he[location_key]], lookup_invocation, @config_path.nil?)
640
- when KEY_GLOBS
641
- expand_globs(entry_datadir, he[location_key], lookup_invocation)
642
- when KEY_GLOB
643
- expand_globs(entry_datadir, [he[location_key]], lookup_invocation)
644
- when KEY_URIS
645
- expand_uris(he[location_key], lookup_invocation)
646
- when KEY_URI
647
- expand_uris([he[location_key]], lookup_invocation)
648
- when KEY_MAPPED_PATHS
649
- expand_mapped_paths(entry_datadir, he[location_key], lookup_invocation)
650
- else
651
- nil
637
+ locations = []
638
+ Puppet.override(avoid_hiera_interpolation_errors: true) do
639
+ locations = case location_key
640
+ when KEY_PATHS
641
+ resolve_paths(entry_datadir, he[location_key], lookup_invocation, @config_path.nil?)
642
+ when KEY_PATH
643
+ resolve_paths(entry_datadir, [he[location_key]], lookup_invocation, @config_path.nil?)
644
+ when KEY_GLOBS
645
+ expand_globs(entry_datadir, he[location_key], lookup_invocation)
646
+ when KEY_GLOB
647
+ expand_globs(entry_datadir, [he[location_key]], lookup_invocation)
648
+ when KEY_URIS
649
+ expand_uris(he[location_key], lookup_invocation)
650
+ when KEY_URI
651
+ expand_uris([he[location_key]], lookup_invocation)
652
+ when KEY_MAPPED_PATHS
653
+ expand_mapped_paths(entry_datadir, he[location_key], lookup_invocation)
654
+ else
655
+ nil
656
+ end
652
657
  end
653
658
  next if @config_path.nil? && !locations.nil? && locations.empty? # Default config and no existing paths found
654
659
  options = he[KEY_OPTIONS] || defaults[KEY_OPTIONS]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'hiera/scope'
2
3
  require_relative 'sub_lookup'
3
4
  module Puppet::Pops
@@ -90,11 +91,16 @@ module Interpolation
90
91
  lookup_invocation.report_found_in_overrides(root_key, ovr[root_key])
91
92
  else
92
93
  scope = lookup_invocation.scope
93
- val = scope[root_key]
94
+ val = nil
95
+ if (default_key_exists = lookup_invocation.default_values.include?(root_key) )
96
+ catch(:undefined_variable) { val = scope[root_key] }
97
+ else
98
+ val = scope[root_key]
99
+ end
94
100
  if val.nil? && !nil_in_scope?(scope, root_key)
95
- defaults = lookup_invocation.default_values
96
- if defaults.include?(root_key)
97
- lookup_invocation.report_found_in_defaults(root_key, defaults[root_key])
101
+ if default_key_exists
102
+ lookup_invocation.report_found_in_defaults(root_key,
103
+ lookup_invocation.default_values[root_key])
98
104
  else
99
105
  nil
100
106
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../../../puppet/thread_local'
2
3
 
3
4
  require_relative 'explainer'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This class defines the private API of the Lookup Key Recorder support.
2
3
  # @api private
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'pathname'
2
3
  require_relative 'interpolation'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'data_adapter'
2
3
  require_relative 'lookup_key'
3
4
 
@@ -12,12 +13,12 @@ class LookupAdapter < DataAdapter
12
13
 
13
14
  LOOKUP_OPTIONS_PREFIX = LOOKUP_OPTIONS + '.'
14
15
  LOOKUP_OPTIONS_PREFIX.freeze
15
- LOOKUP_OPTIONS_PATTERN_START = '^'.freeze
16
+ LOOKUP_OPTIONS_PATTERN_START = '^'
16
17
 
17
- HASH = 'hash'.freeze
18
- MERGE = 'merge'.freeze
19
- CONVERT_TO = 'convert_to'.freeze
20
- NEW = 'new'.freeze
18
+ HASH = 'hash'
19
+ MERGE = 'merge'
20
+ CONVERT_TO = 'convert_to'
21
+ NEW = 'new'
21
22
 
22
23
  def self.create_adapter(compiler)
23
24
  new(compiler)
@@ -334,7 +335,7 @@ class LookupAdapter < DataAdapter
334
335
  end
335
336
  end
336
337
 
337
- GLOBAL_ENV_MERGE = 'Global and Environment'.freeze
338
+ GLOBAL_ENV_MERGE = 'Global and Environment'
338
339
 
339
340
  # Retrieve lookup options that applies when using a specific module (i.e. a merge of the pre-cached
340
341
  # `env_lookup_options` and the module specific data)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'sub_lookup'
2
3
 
3
4
  module Puppet::Pops
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'function_provider'
2
3
 
3
4
  module Puppet::Pops
4
5
  module Lookup
5
6
  # @api private
6
7
  class LookupKeyFunctionProvider < FunctionProvider
7
- TAG = 'lookup_key'.freeze
8
+ TAG = 'lookup_key'
8
9
 
9
10
  # Performs a lookup with the assumption that a recursive check has been made.
10
11
  #
@@ -64,7 +65,7 @@ end
64
65
 
65
66
  # @api private
66
67
  class V3LookupKeyFunctionProvider < LookupKeyFunctionProvider
67
- TAG = 'v3_lookup_key'.freeze
68
+ TAG = 'v3_lookup_key'
68
69
 
69
70
  def initialize(name, parent_data_provider, function_name, options, locations)
70
71
  @datadir = options.delete(HieraConfig::KEY_DATADIR)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'configured_data_provider'
2
3
 
3
4
  module Puppet::Pops
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Lookup
3
4
  module SubLookup
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  # This class is the backing implementation of the Puppet function 'lookup'.
2
3
  # See puppet/functions/lookup.rb for documentation.
3
4
  #
4
5
  module Puppet::Pops
5
6
  module Lookup
6
- LOOKUP_OPTIONS = 'lookup_options'.freeze
7
- GLOBAL = '__global__'.freeze
7
+ LOOKUP_OPTIONS = 'lookup_options'
8
+ GLOBAL = '__global__'
8
9
 
9
10
  # Performs a lookup in the configured scopes and optionally merges the default.
10
11
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'deep_merge/core'
2
3
 
3
4
  module Puppet::Pops
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This class defines the private API of the MigrationChecker support.
2
3
  # @api private
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../../../puppet/parser/ast'
2
3
 
3
4
  # The receiver of `import(file)` calls; once per imported file, or nil if imports are ignored
@@ -1112,7 +1112,7 @@ class Factory
1112
1112
  end
1113
1113
 
1114
1114
  def self.concat(*args)
1115
- result = ''.dup
1115
+ result = String.new
1116
1116
  args.each do |e|
1117
1117
  if e.instance_of?(Factory) && e.model_class <= LiteralString
1118
1118
  result << e[KEY_VALUE]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet::Pops
2
3
  module Model
3
4
  # A provider of labels for model object, producing a human name for the model object.