puppet 7.27.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 (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
@@ -3,8 +3,8 @@ require 'puppet/file_serving/mount/file'
3
3
 
4
4
  module FileServingMountTesting
5
5
  def stub_facter(hostname)
6
- allow(Facter).to receive(:value).with("hostname").and_return(hostname.sub(/\..+/, ''))
7
- allow(Facter).to receive(:value).with("domain").and_return(hostname.sub(/^[^.]+\./, ''))
6
+ allow(Facter).to receive(:value).with("networking.hostname").and_return(hostname.sub(/\..+/, ''))
7
+ allow(Facter).to receive(:value).with("networking.domain").and_return(hostname.sub(/^[^.]+\./, ''))
8
8
  end
9
9
  end
10
10
 
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
  require 'puppet_spec/files'
3
3
  require 'puppet/file_system'
4
- require 'puppet/util'
5
4
 
6
5
  describe Puppet::FileSystem::PathPattern do
7
6
  include PuppetSpec::Files
@@ -133,20 +132,6 @@ describe Puppet::FileSystem::PathPattern do
133
132
  File.join(dir, "found_two")])
134
133
  end
135
134
 
136
- it 'globs wildcard patterns properly' do
137
- # See PUP-11788 and https://github.com/jruby/jruby/issues/7836.
138
- pending 'JRuby does not properly handle Dir.glob' if Puppet::Util::Platform.jruby?
139
-
140
- dir = tmpdir('globtest')
141
- create_file_in(dir, 'foo.pp')
142
- create_file_in(dir, 'foo.pp.pp')
143
-
144
- pattern = Puppet::FileSystem::PathPattern.absolute(File.join(dir, '**/*.pp'))
145
-
146
- expect(pattern.glob).to match_array([File.join(dir, 'foo.pp'),
147
- File.join(dir, 'foo.pp.pp')])
148
- end
149
-
150
135
  def create_file_in(dir, name)
151
136
  File.open(File.join(dir, name), "w") { |f| f.puts "data" }
152
137
  end
@@ -18,7 +18,13 @@ describe "the epp function" do
18
18
  expect(eval_template("all your base <%= $what::is %> to us")).to eq("all your base are belong to us")
19
19
  end
20
20
 
21
- it "get nil accessing a variable that does not exist" do
21
+ it "gets error accessing a variable that does not exist" do
22
+ expect { eval_template("<%= $kryptonite == undef %>")}.to raise_error(/Evaluation Error: Unknown variable: 'kryptonite'./)
23
+ end
24
+
25
+ it "get nil accessing a variable that does not exist when strict mode is off" do
26
+ Puppet[:strict_variables] = false
27
+ Puppet[:strict] = :warning
22
28
  expect(eval_template("<%= $kryptonite == undef %>")).to eq("true")
23
29
  end
24
30
 
@@ -161,7 +161,7 @@ describe 'when calling' do
161
161
  with_scope { |scope| the_func.call(scope, *args, &block) }
162
162
  end
163
163
 
164
- context 'hiera' do
164
+ context 'hiera', :if => Puppet.features.hiera? do
165
165
  it 'should require a key argument' do
166
166
  expect { func([]) }.to raise_error(ArgumentError)
167
167
  end
@@ -195,7 +195,7 @@ describe 'when calling' do
195
195
  expect(func('datasources', nil, 'the_override')).to eql(['the_override', 'first', 'second'])
196
196
  end
197
197
 
198
- it 'a hiera v3 scope is used' do
198
+ it 'a hiera v3 scope is used', :if => Puppet.features.hiera? do
199
199
  expect(eval_and_collect_notices(<<-PUPPET, node)).to eql(['-- testing --', '-- mod::foo --', '-- mod/foo --', '-- mod --', '-- mod --'])
200
200
  class testing () {
201
201
  notice(hiera('class_name'))
@@ -266,7 +266,7 @@ describe 'when calling' do
266
266
  end
267
267
  end
268
268
 
269
- context 'hiera_array' do
269
+ context 'hiera_array', :if => Puppet.features.hiera? do
270
270
  let(:the_func) { Puppet.lookup(:loaders).puppet_system_loader.load(:function, 'hiera_array') }
271
271
 
272
272
  it 'should require a key argument' do
@@ -299,7 +299,7 @@ describe 'when calling' do
299
299
  end
300
300
  end
301
301
 
302
- context 'hiera_hash' do
302
+ context 'hiera_hash', :if => Puppet.features.hiera? do
303
303
  let(:the_func) { Puppet.lookup(:loaders).puppet_system_loader.load(:function, 'hiera_hash') }
304
304
 
305
305
  it 'should require a key argument' do
@@ -336,7 +336,7 @@ describe 'when calling' do
336
336
  end
337
337
  end
338
338
 
339
- context 'hiera_include' do
339
+ context 'hiera_include', :if => Puppet.features.hiera? do
340
340
  let(:the_func) { Puppet.lookup(:loaders).puppet_system_loader.load(:function, 'hiera_include') }
341
341
 
342
342
  it 'should require a key argument' do
@@ -365,7 +365,7 @@ describe 'when calling' do
365
365
  end
366
366
  end
367
367
 
368
- context 'with custom backend and merge_behavior declared in hiera.yaml' do
368
+ context 'with custom backend and merge_behavior declared in hiera.yaml', :if => Puppet.features.hiera? do
369
369
  let(:merge_behavior) { 'deeper' }
370
370
 
371
371
  let(:hiera_yaml) do
@@ -468,7 +468,7 @@ describe 'when calling' do
468
468
  end
469
469
  end
470
470
 
471
- context 'hiera_array' do
471
+ context 'hiera_array', :if => Puppet.features.hiera? do
472
472
  let(:the_func) { Puppet.lookup(:loaders).puppet_system_loader.load(:function, 'hiera_array') }
473
473
 
474
474
  it 'declared merge_behavior is ignored' do
@@ -16,7 +16,13 @@ describe "the inline_epp function" do
16
16
  expect(eval_template("all your base <%= $what %> to us")).to eq("all your base are belong to us")
17
17
  end
18
18
 
19
- it "get nil accessing a variable that does not exist" do
19
+ it "gets error accessing a variable that does not exist" do
20
+ expect { eval_template("<%= $kryptonite == undef %>")}.to raise_error(/Evaluation Error: Unknown variable: 'kryptonite'./)
21
+ end
22
+
23
+ it "get nil accessing a variable that does not exist when strict mode is off" do
24
+ Puppet[:strict_variables] = false
25
+ Puppet[:strict] = :warning
20
26
  expect(eval_template("<%= $kryptonite == undef %>")).to eq("true")
21
27
  end
22
28
 
@@ -3,7 +3,6 @@ require 'puppet_spec/compiler'
3
3
  require 'puppet_spec/files'
4
4
  require 'puppet/pops'
5
5
  require 'deep_merge/core'
6
- require 'hiera'
7
6
 
8
7
  describe "The lookup function" do
9
8
  include PuppetSpec::Compiler
@@ -287,7 +286,6 @@ describe "The lookup function" do
287
286
  YAML
288
287
 
289
288
  it 'fails and reports error' do
290
- Puppet[:strict] = :error
291
289
  expect { lookup('a') }.to raise_error(
292
290
  "'default_hierarchy' is only allowed in the module layer (file: #{code_dir}/hiera.yaml, line: 5)")
293
291
  end
@@ -303,8 +301,7 @@ describe "The lookup function" do
303
301
  YAML
304
302
 
305
303
  it 'fails and reports errors when strict == error' do
306
- Puppet[:strict] = :error
307
- expect { lookup('a') }.to raise_error("Undefined variable '::nonesuch' (file: #{code_dir}/hiera.yaml, line: 4)")
304
+ expect { lookup('a') }.to raise_error("Function lookup() did not find a value for the name 'a'")
308
305
  end
309
306
  end
310
307
 
@@ -317,7 +314,6 @@ describe "The lookup function" do
317
314
  YAML
318
315
 
319
316
  it 'fails and reports errors when strict == error' do
320
- Puppet[:strict] = :error
321
317
  expect { lookup('a') }.to raise_error("Interpolation using method syntax is not allowed in this context (file: #{code_dir}/hiera.yaml)")
322
318
  end
323
319
  end
@@ -574,9 +570,11 @@ describe "The lookup function" do
574
570
  it 'reloads the configuration if interpolated values change' do
575
571
  Puppet[:log_level] = 'debug'
576
572
  collect_notices("notice('success')") do |scope|
573
+ scope['var'] = {}
577
574
  expect(lookup_func.call(scope, 'y')).to eql('value y from x')
578
- scope['var'] = { 'sub' => '_d' }
579
- expect(lookup_func.call(scope, 'y')).to eql('value y from x_d')
575
+ nested_scope = scope.compiler.newscope(scope)
576
+ nested_scope['var'] = { 'sub' => '_d' }
577
+ expect(lookup_func.call(nested_scope, 'y')).to eql('value y from x_d')
580
578
  nested_scope = scope.compiler.newscope(scope)
581
579
  nested_scope['var'] = { 'sub' => '_e' }
582
580
  expect(lookup_func.call(nested_scope, 'y')).to eql('value y from x_e')
@@ -603,15 +601,10 @@ describe "The lookup function" do
603
601
  context 'using global variable reference' do
604
602
  let(:data_path) { 'x%{::var.sub}.yaml' }
605
603
 
606
- it 'reloads the configuration if interpolated that was previously undefined, gets defined' do
607
- Puppet[:log_level] = 'debug'
604
+ it 'does not raise an error when reloads the configuration if interpolating undefined values' do
608
605
  collect_notices("notice('success')") do |scope|
609
- expect(lookup_func.call(scope, 'y')).to eql('value y from x')
610
- scope['var'] = { 'sub' => '_d' }
611
- expect(lookup_func.call(scope, 'y')).to eql('value y from x_d')
606
+ expect { lookup_func.call(scope, 'y') }.to_not raise_error
612
607
  end
613
- expect(notices).to eql(['success'])
614
- expect(debugs.any? { |m| m =~ /Hiera configuration recreated due to change of scope variables used in interpolation expressions/ }).to be_truthy
615
608
  end
616
609
 
617
610
  it 'does not reload the configuration if value changes locally' do
@@ -727,10 +720,13 @@ describe "The lookup function" do
727
720
  it 'interpolates both key and value"' do
728
721
  Puppet[:log_level] = 'debug'
729
722
  collect_notices("notice('success')") do |scope|
723
+ scope['key'] = ''
724
+ scope['value'] = ''
730
725
  expect(lookup_func.call(scope, 'a')).to eql({'' => 'the '})
731
- scope['key'] = 'a_key'
732
- scope['value'] = 'interpolated value'
733
- expect(lookup_func.call(scope, 'a')).to eql({'a_key' => 'the interpolated value'})
726
+ nested_scope = scope.compiler.newscope(scope)
727
+ nested_scope['key'] = 'a_key'
728
+ nested_scope['value'] = 'interpolated value'
729
+ expect(lookup_func.call(nested_scope, 'a')).to eql({'a_key' => 'the interpolated value'})
734
730
  end
735
731
  expect(notices).to eql(['success'])
736
732
  end
@@ -784,15 +780,26 @@ describe "The lookup function" do
784
780
  context 'that contains a legal yaml that is not a hash' do
785
781
  let(:common_yaml) { "- A list\n- of things" }
786
782
 
787
- it 'fails with a "did not find"' do
783
+ it 'fails with a "invalid yaml hash"' do
788
784
  expect { lookup('a') }.to raise_error do |e|
789
- expect(e.message).to match(/did not find a value for the name 'a'/)
785
+ expect(e.message).to match(/spec\/data\/common.yaml: file does not contain a valid yaml hash/)
790
786
  end
791
787
  end
792
788
 
793
- it 'logs a warning that the file does not contain a hash' do
794
- expect { lookup('a') }.to raise_error(Puppet::DataBinding::LookupError)
795
- expect(warnings).to include(/spec\/data\/common.yaml: file does not contain a valid yaml hash/)
789
+ context 'when strict mode is off' do
790
+ before :each do
791
+ Puppet[:strict] = :warning
792
+ end
793
+ it 'fails with a "did not find"' do
794
+ expect { lookup('a') }.to raise_error do |e|
795
+ expect(e.message).to match(/did not find a value for the name 'a'/)
796
+ end
797
+ end
798
+
799
+ it 'logs a warning that the file does not contain a hash' do
800
+ expect { lookup('a') }.to raise_error(Puppet::DataBinding::LookupError)
801
+ expect(warnings).to include(/spec\/data\/common.yaml: file does not contain a valid yaml hash/)
802
+ end
796
803
  end
797
804
  end
798
805
 
@@ -1652,7 +1659,7 @@ describe "The lookup function" do
1652
1659
  end
1653
1660
  end
1654
1661
 
1655
- context 'version 3' do
1662
+ context 'version 3', :if => Puppet.features.hiera? do
1656
1663
  it 'finds data in in global layer and reports deprecation warnings for hiera.yaml' do
1657
1664
  expect(lookup('a')).to eql('value a (from global)')
1658
1665
  expect(warnings).to include(/Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5/)
@@ -1697,6 +1704,14 @@ describe "The lookup function" do
1697
1704
  expect(lookup('datasources')).to eql(['common', 'example.com'])
1698
1705
  end
1699
1706
 
1707
+ it 'backend specific options are propagated to custom backend' do
1708
+ expect(lookup('other_option')).to eql('value of other_option')
1709
+ end
1710
+
1711
+ it 'dotted keys are passed down to custom backend' do
1712
+ expect(lookup('dotted.key')).to eql('custom backend received request for dotted.key value')
1713
+ end
1714
+
1700
1715
  it 'delegates configured hocon backend to hocon_data function' do
1701
1716
  expect(explain('xs')).to match(/Hierarchy entry "hocon"\n.*\n.*\n.*"common"\n\s*Found key: "xs"/m)
1702
1717
  end
@@ -1705,6 +1720,18 @@ describe "The lookup function" do
1705
1720
  expect(lookup('xs.subkey')).to eql('value xs.subkey (from global hocon)')
1706
1721
  end
1707
1722
 
1723
+ it 'multiple hiera3_backend declarations can be used and are merged into the generated config' do
1724
+ expect(lookup(['datasources', 'other_option'])).to eql([['common', 'example.com'], 'value of other_option'])
1725
+ expect(Hiera::Config.instance_variable_get(:@config)).to eql(
1726
+ {
1727
+ :backends => ['custom', 'other'],
1728
+ :hierarchy => ['common', '%{domain}'],
1729
+ :custom => { :datadir => "#{code_dir}/hieradata" },
1730
+ :other => { :other_option => 'value of other_option', :datadir=>"#{code_dir}/hieradata" },
1731
+ :logger => 'puppet'
1732
+ })
1733
+ end
1734
+
1708
1735
  context 'with a module data provider' do
1709
1736
  let(:module_files) do
1710
1737
  {
@@ -2041,18 +2068,6 @@ describe "The lookup function" do
2041
2068
  paths:
2042
2069
  - common.conf
2043
2070
  - "%{domain}.conf"
2044
- - name: Custom
2045
- hiera3_backend: custom
2046
- paths:
2047
- - common.custom
2048
- - "%{domain}.custom"
2049
- - name: Other
2050
- hiera3_backend: other
2051
- options:
2052
- other_option: value of other_option
2053
- paths:
2054
- - common.other
2055
- - "%{domain}.other"
2056
2071
  YAML
2057
2072
  end
2058
2073
 
@@ -2067,7 +2082,6 @@ describe "The lookup function" do
2067
2082
  expect(explanation).to include('Hierarchy entry "Yaml"')
2068
2083
  expect(explanation).to include('Hierarchy entry "Json"')
2069
2084
  expect(explanation).to include('Hierarchy entry "Hocon"')
2070
- expect(explanation).to include('Hierarchy entry "Custom"')
2071
2085
  expect(explanation).to include('Found key: "a" value: "value a (from global)"')
2072
2086
  end
2073
2087
 
@@ -2079,35 +2093,10 @@ describe "The lookup function" do
2079
2093
  'caa' => 'value hash_c.hash_ca.caa (from environment)',
2080
2094
  'cab' => 'value hash_c.hash_ca.cab (from global)',
2081
2095
  'cac' => 'value hash_c.hash_ca.cac (from global json)',
2082
- 'cad' => 'value hash_c.hash_ca.cad (from global custom)'
2083
2096
  }
2084
2097
  })
2085
2098
  end
2086
2099
 
2087
- it 'backend data sources are propagated to custom backend' do
2088
- expect(lookup('datasources')).to eql(['common', 'example.com'])
2089
- end
2090
-
2091
- it 'backend specific options are propagated to custom backend' do
2092
- expect(lookup('other_option')).to eql('value of other_option')
2093
- end
2094
-
2095
- it 'dotted keys are passed down to custom backend' do
2096
- expect(lookup('dotted.key')).to eql('custom backend received request for dotted.key value')
2097
- end
2098
-
2099
- it 'multiple hiera3_backend declarations can be used and are merged into the generated config' do
2100
- expect(lookup(['datasources', 'other_option'])).to eql([['common', 'example.com'], 'value of other_option'])
2101
- expect(Hiera::Config.instance_variable_get(:@config)).to eql(
2102
- {
2103
- :backends => ['custom', 'other'],
2104
- :hierarchy => ['common', '%{domain}'],
2105
- :custom => { :datadir => "#{code_dir}/hieradata" },
2106
- :other => { :other_option => 'value of other_option', :datadir=>"#{code_dir}/hieradata" },
2107
- :logger => 'puppet'
2108
- })
2109
- end
2110
-
2111
2100
  it 'provides a sensible error message when the hocon library is not loaded' do
2112
2101
  allow(Puppet.features).to receive(:hocon?).and_return(false)
2113
2102
 
@@ -2156,7 +2145,7 @@ describe "The lookup function" do
2156
2145
  end
2157
2146
  end
2158
2147
 
2159
- context 'and eyaml_lookup_key function' do
2148
+ context 'and eyaml_lookup_key function', :if => Puppet.features.hiera_eyaml? do
2160
2149
  let(:hiera_yaml) { <<-YAML.unindent }
2161
2150
  version: 5
2162
2151
  hierarchy:
@@ -2171,7 +2160,7 @@ describe "The lookup function" do
2171
2160
  end
2172
2161
  end
2173
2162
 
2174
- context 'with a hiera3_backend that has no paths' do
2163
+ context 'with a hiera3_backend that has no paths', :if => Puppet.features.hiera? do
2175
2164
  let(:hiera_yaml) do
2176
2165
  <<-YAML.unindent
2177
2166
  ---
@@ -2215,7 +2204,7 @@ describe "The lookup function" do
2215
2204
  expect { lookup('mod_a::b') }.to raise_error(Puppet::DataBinding::LookupError, /did not find a value for the name 'mod_a::b'/)
2216
2205
  end
2217
2206
 
2218
- context 'with a Hiera v3 configuration' do
2207
+ context 'with a Hiera v3 configuration', :if => Puppet.features.hiera? do
2219
2208
  let(:mod_a_files) do
2220
2209
  {
2221
2210
  'mod_a' => {
@@ -2468,15 +2457,16 @@ describe "The lookup function" do
2468
2457
  expect(lookup('mod_a::interpolate_scope')).to eql('-- scope scalar value --')
2469
2458
  end
2470
2459
 
2471
- it 'interpolates not found in scope as empty string' do
2472
- expect(lookup('mod_a::interpolate_scope_not_found')).to eql('-- --')
2460
+ it 'raises an error when trying to interpolate not found in scope' do
2461
+ expect { lookup('mod_a::interpolate_scope_not_found')
2462
+ }.to raise_error(/Evaluation Error: Error while evaluating a Function Call, Undefined variable 'scope_nope';/)
2473
2463
  end
2474
2464
 
2475
2465
  it 'interpolates dotted key from scope' do
2476
2466
  expect(lookup('mod_a::interpolate_scope_dig')).to eql('-- scope hash a --')
2477
2467
  end
2478
2468
 
2479
- it 'treates interpolated dotted key but not found in scope as empty string' do
2469
+ it 'treats interpolated dotted key but not found in scope as empty string' do
2480
2470
  expect(lookup('mod_a::interpolate_scope_dig_not_found')).to eql('-- --')
2481
2471
  end
2482
2472
 
@@ -2992,7 +2982,7 @@ describe "The lookup function" do
2992
2982
  end
2993
2983
  end
2994
2984
 
2995
- context 'and an eyaml lookup_key function' do
2985
+ context 'and an eyaml lookup_key function', :if => Puppet.features.hiera_eyaml? do
2996
2986
  let(:private_key_name) { 'private_key.pkcs7.pem' }
2997
2987
  let(:public_key_name) { 'public_key.pkcs7.pem' }
2998
2988
 
@@ -3294,7 +3284,7 @@ describe "The lookup function" do
3294
3284
  expect(lookup('array_a')).to eql(['array_a[0]', 'array_a[1]'])
3295
3285
  end
3296
3286
 
3297
- context 'declared in global scope as a Hiera v3 backend' do
3287
+ context 'declared in global scope as a Hiera v3 backend', :if => Puppet.features.hiera? do
3298
3288
  let(:environment_files) { {} }
3299
3289
  let(:data_file_content) { <<-YAML.unindent }
3300
3290
  a: >
@@ -67,6 +67,36 @@ describe 'the max function' do
67
67
 
68
68
  end
69
69
 
70
+ context 'compares semver' do
71
+ { ["Semver('2.0.0')", "Semver('10.0.0')"] => "Semver('10.0.0')",
72
+ ["Semver('5.5.5')", "Semver('5.6.7')"] => "Semver('5.6.7')",
73
+ }.each_pair do |values, expected|
74
+ it "called as max(#{values[0]}, #{values[1]}) results in the value #{expected}" do
75
+ expect(compile_to_catalog("notify { String( max(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
76
+ end
77
+ end
78
+ end
79
+
80
+ context 'compares timespans' do
81
+ { ["Timespan(2)", "Timespan(77.3)"] => "Timespan(77.3)",
82
+ ["Timespan('1-00:00:00')", "Timespan('2-00:00:00')"] => "Timespan('2-00:00:00')",
83
+ }.each_pair do |values, expected|
84
+ it "called as max(#{values[0]}, #{values[1]}) results in the value #{expected}" do
85
+ expect(compile_to_catalog("notify { String( max(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
86
+ end
87
+ end
88
+ end
89
+
90
+ context 'compares timestamps' do
91
+ { ["Timestamp(0)", "Timestamp(298922400)"] => "Timestamp(298922400)",
92
+ ["Timestamp('1970-01-01T12:00:00.000')", "Timestamp('1979-06-22T18:00:00.000')"] => "Timestamp('1979-06-22T18:00:00.000')",
93
+ }.each_pair do |values, expected|
94
+ it "called as max(#{values[0]}, #{values[1]}) results in the value #{expected}" do
95
+ expect(compile_to_catalog("notify { String( max(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
96
+ end
97
+ end
98
+ end
99
+
70
100
  context 'compares all except numeric and string by conversion to string and issues deprecation warning' do
71
101
  {
72
102
  [[20], "'a'"] => "'a'", # after since '[' is before 'a'
@@ -74,7 +104,6 @@ describe 'the max function' do
74
104
  [false, 'fal'] => "false", # the boolean since text 'false' is longer
75
105
  ['/b/', "'(?-mix:c)'"] => "'(?-mix:c)'", # because regexp to_s is a (?-mix:b) string
76
106
  ["Timestamp(1)", "'1980 a.d'"] => "'1980 a.d'", # because timestamp to_s is a date-time string here starting with 1970
77
- ["Semver('2.0.0')", "Semver('10.0.0')"] => "Semver('2.0.0')", # "10.0.0" is lexicographically before "2.0.0"
78
107
  }.each_pair do |values, expected|
79
108
  it "called as max(#{values[0]}, #{values[1]}) results in the value #{expected} and issues deprecation warning" do
80
109
  Puppet::Util::Log.with_destination(Puppet::Test::LogCollector.new(logs)) do
@@ -67,6 +67,36 @@ describe 'the min function' do
67
67
 
68
68
  end
69
69
 
70
+ context 'compares semver' do
71
+ { ["Semver('2.0.0')", "Semver('10.0.0')"] => "Semver('2.0.0')",
72
+ ["Semver('5.5.5')", "Semver('5.6.7')"] => "Semver('5.5.5')",
73
+ }.each_pair do |values, expected|
74
+ it "called as min(#{values[0]}, #{values[1]}) results in the value #{expected}" do
75
+ expect(compile_to_catalog("notify { String( min(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
76
+ end
77
+ end
78
+ end
79
+
80
+ context 'compares timespans' do
81
+ { ["Timespan(2)", "Timespan(77.3)"] => "Timespan(2)",
82
+ ["Timespan('1-00:00:00')", "Timespan('2-00:00:00')"] => "Timespan('1-00:00:00')",
83
+ }.each_pair do |values, expected|
84
+ it "called as min(#{values[0]}, #{values[1]}) results in the value #{expected}" do
85
+ expect(compile_to_catalog("notify { String( min(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
86
+ end
87
+ end
88
+ end
89
+
90
+ context 'compares timestamps' do
91
+ { ["Timestamp(0)", "Timestamp(298922400)"] => "Timestamp(0)",
92
+ ["Timestamp('1970-01-01T12:00:00.000')", "Timestamp('1979-06-22T18:00:00.000')"] => "Timestamp('1970-01-01T12:00:00.000')",
93
+ }.each_pair do |values, expected|
94
+ it "called as min(#{values[0]}, #{values[1]}) results in the value #{expected}" do
95
+ expect(compile_to_catalog("notify { String( min(#{values[0]}, #{values[1]}) == #{expected}): }")).to have_resource("Notify[true]")
96
+ end
97
+ end
98
+ end
99
+
70
100
  context 'compares all except numeric and string by conversion to string (and issues deprecation warning)' do
71
101
  {
72
102
  [[20], "'a'"] => [20], # before since '[' is before 'a'
@@ -74,7 +104,6 @@ describe 'the min function' do
74
104
  [false, 'fal'] => "'fal'", # 'fal' before since shorter than 'false'
75
105
  ['/b/', "'(?-mix:a)'"] => "'(?-mix:a)'", # because regexp to_s is a (?-mix:b) string
76
106
  ["Timestamp(1)", "'1556 a.d'"] => "'1556 a.d'", # because timestamp to_s is a date-time string here starting with 1970
77
- ["Semver('2.0.0')", "Semver('10.0.0')"] => "Semver('10.0.0')", # "10.0.0" is lexicographically before "2.0.0"
78
107
  }.each_pair do |values, expected|
79
108
  it "called as min(#{values[0]}, #{values[1]}) results in the value #{expected} and issues deprecation warning" do
80
109
  Puppet::Util::Log.with_destination(Puppet::Test::LogCollector.new(logs)) do
@@ -19,6 +19,10 @@ describe 'the return function' do
19
19
  end
20
20
 
21
21
  it 'with undef value as function result when not given an argument' do
22
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
23
+ Puppet[:strict_variables] = false
24
+ Puppet[:strict] = :warning
25
+
22
26
  expect(compile_to_catalog(<<-CODE)).to have_resource('Notify[xy]')
23
27
  function please_return() {
24
28
  [1,2,3].map |$x| { if $x == 1 { return() } 200 }
@@ -50,10 +50,4 @@ describe 'the split function' do
50
50
  it 'should handle pattern in Regexp Type form with missing regular expression' do
51
51
  expect(split('ab',type_parser.parse('Regexp'))).to eql(['a', 'b'])
52
52
  end
53
-
54
- it 'should handle sensitive String' do
55
- expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), ',')).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
56
- expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), /,/)).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
57
- expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), type_parser.parse('Regexp[/,/]'))).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
58
- end
59
53
  end
@@ -16,10 +16,15 @@ describe Hiera::Scope do
16
16
  end
17
17
 
18
18
  describe "#[]" do
19
- it "should return nil when no value is found" do
19
+ it "should return nil when no value is found and strict mode is off" do
20
+ Puppet[:strict] = :warning
20
21
  expect(scope["foo"]).to eq(nil)
21
22
  end
22
23
 
24
+ it "should raise error by default when no value is found" do
25
+ expect { scope["foo"] }.to raise_error(/Undefined variable 'foo'/)
26
+ end
27
+
23
28
  it "should treat '' as nil" do
24
29
  real["foo"] = ""
25
30
 
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'hiera_puppet'
3
3
  require 'puppet_spec/scope'
4
4
 
5
- describe 'HieraPuppet' do
5
+ describe 'HieraPuppet', :if => Puppet.features.hiera? do
6
6
  include PuppetSpec::Scope
7
7
 
8
8
  after(:all) do
@@ -140,7 +140,7 @@ describe Puppet::HTTP::Factory do
140
140
  end
141
141
 
142
142
  context 'tls' do
143
- it "sets the minimum version to TLS 1.0", if: RUBY_VERSION.to_f >= 2.5 do
143
+ it "sets the minimum version to TLS 1.0" do
144
144
  conn = create_connection(site)
145
145
  expect(conn.min_version).to eq(OpenSSL::SSL::TLS1_VERSION)
146
146
  end
@@ -68,7 +68,7 @@ describe Puppet::HTTP::Service::Compiler do
68
68
  subject.post_catalog(certname, environment: environment, facts: facts)
69
69
  end
70
70
 
71
- it 'submits facts as pson if set as the preferred format' do
71
+ it 'submits facts as pson if set as the preferred format', if: Puppet.features.pson? do
72
72
  Puppet[:preferred_serialization_format] = "pson"
73
73
 
74
74
  stub_request(:post, uri)
@@ -141,20 +141,22 @@ describe Puppet::HTTP::Service::Compiler do
141
141
 
142
142
  it 'does not accept msgpack by default' do
143
143
  stub_request(:post, uri)
144
- .with(headers: {'Accept' => 'application/vnd.puppet.rich+json, application/json, text/pson'})
144
+ .with(headers: {'Accept' => 'application/vnd.puppet.rich+json, application/json'})
145
145
  .to_return(**catalog_response)
146
146
 
147
147
  allow(Puppet.features).to receive(:msgpack?).and_return(false)
148
+ allow(Puppet.features).to receive(:pson?).and_return(false)
148
149
 
149
150
  subject.post_catalog(certname, environment: environment, facts: facts)
150
151
  end
151
152
 
152
153
  it 'accepts msgpack & rich_json_msgpack if the gem is present' do
153
154
  stub_request(:post, uri)
154
- .with(headers: {'Accept' => 'application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, application/x-msgpack, text/pson'})
155
+ .with(headers: {'Accept' => 'application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, application/x-msgpack'})
155
156
  .to_return(**catalog_response)
156
157
 
157
158
  allow(Puppet.features).to receive(:msgpack?).and_return(true)
159
+ allow(Puppet.features).to receive(:pson?).and_return(false)
158
160
 
159
161
  subject.post_catalog(certname, environment: environment, facts: facts)
160
162
  end
@@ -1,8 +1,10 @@
1
1
  require 'spec_helper'
2
+ require 'puppet_spec/network'
2
3
  require 'puppet/http'
3
4
 
4
5
  describe Puppet::HTTP::Service::FileServer do
5
6
  include PuppetSpec::Files
7
+ include PuppetSpec::Network
6
8
 
7
9
  let(:ssl_context) { Puppet::SSL::SSLContext.new }
8
10
  let(:client) { Puppet::HTTP::Client.new(ssl_context: ssl_context) }
@@ -57,7 +59,7 @@ describe Puppet::HTTP::Service::FileServer do
57
59
 
58
60
  it 'submits a request for file metadata to the server' do
59
61
  stub_request(:get, url).with(
60
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
62
+ headers: {'Accept'=>acceptable_content_types_string}
61
63
  ).to_return(
62
64
  status: 200, body: filemetadata.render, headers: { 'Content-Type' => 'application/json' }
63
65
  )
@@ -139,7 +141,7 @@ describe Puppet::HTTP::Service::FileServer do
139
141
 
140
142
  it 'submits a request for file metadata to the server' do
141
143
  stub_request(:get, url).with(
142
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
144
+ headers: {'Accept' => acceptable_content_types_string}
143
145
  ).to_return(
144
146
  status: 200, body: formatter.render_multiple(filemetadatas), headers: { 'Content-Type' => 'application/json' }
145
147
  )
@@ -160,7 +162,7 @@ describe Puppet::HTTP::Service::FileServer do
160
162
  it 'automatically converts an array of parameters to the stringified query' do
161
163
  url = "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=sha256&environment=testing&ignore=CVS&ignore=.git&ignore=.hg&links=manage&recurse=false&source_permissions=ignore"
162
164
  stub_request(:get, url).with(
163
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
165
+ headers: {'Accept'=>acceptable_content_types_string}
164
166
  ).to_return(
165
167
  status: 200, body: formatter.render_multiple(filemetadatas), headers: { 'Content-Type' => 'application/json' }
166
168
  )