puppet 7.3.0-x86-mingw32 → 7.7.0-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.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (677) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +31 -25
  3. data/ext/build_defaults.yaml +0 -1
  4. data/install.rb +11 -11
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet.rb +37 -37
  7. data/lib/puppet/agent.rb +6 -6
  8. data/lib/puppet/agent/disabler.rb +1 -1
  9. data/lib/puppet/agent/locker.rb +2 -2
  10. data/lib/puppet/application.rb +6 -6
  11. data/lib/puppet/application/agent.rb +18 -11
  12. data/lib/puppet/application/apply.rb +6 -5
  13. data/lib/puppet/application/catalog.rb +1 -1
  14. data/lib/puppet/application/config.rb +1 -1
  15. data/lib/puppet/application/describe.rb +1 -1
  16. data/lib/puppet/application/device.rb +8 -7
  17. data/lib/puppet/application/doc.rb +7 -7
  18. data/lib/puppet/application/epp.rb +2 -2
  19. data/lib/puppet/application/face_base.rb +2 -2
  20. data/lib/puppet/application/facts.rb +1 -1
  21. data/lib/puppet/application/filebucket.rb +2 -2
  22. data/lib/puppet/application/generate.rb +1 -1
  23. data/lib/puppet/application/help.rb +1 -1
  24. data/lib/puppet/application/indirection_base.rb +1 -1
  25. data/lib/puppet/application/lookup.rb +6 -6
  26. data/lib/puppet/application/module.rb +1 -1
  27. data/lib/puppet/application/node.rb +1 -1
  28. data/lib/puppet/application/parser.rb +2 -2
  29. data/lib/puppet/application/plugin.rb +1 -1
  30. data/lib/puppet/application/report.rb +1 -1
  31. data/lib/puppet/application/resource.rb +3 -2
  32. data/lib/puppet/application/script.rb +6 -5
  33. data/lib/puppet/application/ssl.rb +13 -2
  34. data/lib/puppet/application_support.rb +4 -4
  35. data/lib/puppet/compilable_resource_type.rb +1 -1
  36. data/lib/puppet/concurrent/lock.rb +1 -1
  37. data/lib/puppet/configurer.rb +4 -4
  38. data/lib/puppet/configurer/downloader.rb +4 -3
  39. data/lib/puppet/configurer/fact_handler.rb +3 -3
  40. data/lib/puppet/configurer/plugin_handler.rb +1 -1
  41. data/lib/puppet/confine.rb +1 -1
  42. data/lib/puppet/confine/boolean.rb +1 -1
  43. data/lib/puppet/confine/exists.rb +1 -1
  44. data/lib/puppet/confine/false.rb +1 -1
  45. data/lib/puppet/confine/feature.rb +1 -1
  46. data/lib/puppet/confine/true.rb +1 -1
  47. data/lib/puppet/confine/variable.rb +1 -1
  48. data/lib/puppet/confine_collection.rb +1 -1
  49. data/lib/puppet/confiner.rb +1 -1
  50. data/lib/puppet/context.rb +2 -2
  51. data/lib/puppet/context/trusted_information.rb +1 -1
  52. data/lib/puppet/daemon.rb +2 -2
  53. data/lib/puppet/data_binding.rb +1 -1
  54. data/lib/puppet/datatypes/error.rb +1 -1
  55. data/lib/puppet/defaults.rb +15 -11
  56. data/lib/puppet/environments.rb +17 -2
  57. data/lib/puppet/etc.rb +1 -1
  58. data/lib/puppet/external/pson/common.rb +1 -1
  59. data/lib/puppet/external/pson/pure.rb +3 -3
  60. data/lib/puppet/face.rb +1 -1
  61. data/lib/puppet/face/catalog.rb +1 -1
  62. data/lib/puppet/face/config.rb +2 -2
  63. data/lib/puppet/face/epp.rb +6 -6
  64. data/lib/puppet/face/facts.rb +18 -8
  65. data/lib/puppet/face/generate.rb +2 -2
  66. data/lib/puppet/face/help.rb +3 -3
  67. data/lib/puppet/face/module.rb +3 -3
  68. data/lib/puppet/face/module/install.rb +2 -2
  69. data/lib/puppet/face/node.rb +1 -1
  70. data/lib/puppet/face/parser.rb +4 -4
  71. data/lib/puppet/face/plugin.rb +2 -2
  72. data/lib/puppet/face/report.rb +1 -1
  73. data/lib/puppet/face/resource.rb +1 -1
  74. data/lib/puppet/feature/base.rb +2 -2
  75. data/lib/puppet/feature/bolt.rb +1 -1
  76. data/lib/puppet/feature/cfpropertylist.rb +1 -1
  77. data/lib/puppet/feature/eventlog.rb +1 -1
  78. data/lib/puppet/feature/hiera_eyaml.rb +1 -1
  79. data/lib/puppet/feature/hocon.rb +1 -1
  80. data/lib/puppet/feature/libuser.rb +2 -2
  81. data/lib/puppet/feature/msgpack.rb +1 -1
  82. data/lib/puppet/feature/pe_license.rb +1 -1
  83. data/lib/puppet/feature/selinux.rb +1 -1
  84. data/lib/puppet/feature/ssh.rb +1 -1
  85. data/lib/puppet/feature/telnet.rb +1 -1
  86. data/lib/puppet/feature/zlib.rb +1 -1
  87. data/lib/puppet/ffi/posix.rb +2 -2
  88. data/lib/puppet/ffi/posix/constants.rb +1 -1
  89. data/lib/puppet/ffi/posix/functions.rb +1 -1
  90. data/lib/puppet/ffi/windows.rb +4 -4
  91. data/lib/puppet/ffi/windows/api_types.rb +3 -3
  92. data/lib/puppet/ffi/windows/constants.rb +2 -2
  93. data/lib/puppet/ffi/windows/functions.rb +1 -1
  94. data/lib/puppet/ffi/windows/structs.rb +1 -1
  95. data/lib/puppet/file_bucket/dipper.rb +4 -4
  96. data/lib/puppet/file_bucket/file.rb +3 -3
  97. data/lib/puppet/file_serving/base.rb +2 -2
  98. data/lib/puppet/file_serving/configuration.rb +10 -10
  99. data/lib/puppet/file_serving/configuration/parser.rb +2 -2
  100. data/lib/puppet/file_serving/content.rb +3 -3
  101. data/lib/puppet/file_serving/fileset.rb +16 -4
  102. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  103. data/lib/puppet/file_serving/metadata.rb +6 -6
  104. data/lib/puppet/file_serving/mount.rb +4 -4
  105. data/lib/puppet/file_serving/mount/file.rb +1 -1
  106. data/lib/puppet/file_serving/mount/locales.rb +1 -1
  107. data/lib/puppet/file_serving/mount/modules.rb +1 -1
  108. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  109. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  110. data/lib/puppet/file_serving/mount/tasks.rb +1 -1
  111. data/lib/puppet/file_serving/terminus_helper.rb +2 -2
  112. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  113. data/lib/puppet/file_system.rb +9 -9
  114. data/lib/puppet/file_system/jruby.rb +1 -1
  115. data/lib/puppet/file_system/memory_file.rb +8 -1
  116. data/lib/puppet/file_system/path_pattern.rb +1 -1
  117. data/lib/puppet/file_system/uniquefile.rb +1 -1
  118. data/lib/puppet/file_system/windows.rb +4 -2
  119. data/lib/puppet/forge.rb +5 -5
  120. data/lib/puppet/forge/cache.rb +1 -1
  121. data/lib/puppet/forge/errors.rb +3 -3
  122. data/lib/puppet/forge/repository.rb +4 -4
  123. data/lib/puppet/functions.rb +1 -1
  124. data/lib/puppet/functions/all.rb +1 -1
  125. data/lib/puppet/functions/camelcase.rb +1 -1
  126. data/lib/puppet/functions/capitalize.rb +2 -2
  127. data/lib/puppet/functions/downcase.rb +2 -2
  128. data/lib/puppet/functions/get.rb +5 -5
  129. data/lib/puppet/functions/group_by.rb +13 -5
  130. data/lib/puppet/functions/lest.rb +1 -1
  131. data/lib/puppet/functions/new.rb +100 -100
  132. data/lib/puppet/functions/partition.rb +12 -4
  133. data/lib/puppet/functions/require.rb +5 -5
  134. data/lib/puppet/functions/sort.rb +3 -3
  135. data/lib/puppet/functions/tree_each.rb +7 -9
  136. data/lib/puppet/functions/type.rb +4 -4
  137. data/lib/puppet/functions/upcase.rb +2 -2
  138. data/lib/puppet/functions/versioncmp.rb +1 -1
  139. data/lib/puppet/generate/models/type/type.rb +1 -1
  140. data/lib/puppet/generate/type.rb +2 -2
  141. data/lib/puppet/gettext/config.rb +3 -3
  142. data/lib/puppet/gettext/module_translations.rb +1 -1
  143. data/lib/puppet/graph.rb +6 -6
  144. data/lib/puppet/graph/simple_graph.rb +2 -2
  145. data/lib/puppet/http.rb +26 -26
  146. data/lib/puppet/http/factory.rb +6 -2
  147. data/lib/puppet/http/proxy.rb +1 -1
  148. data/lib/puppet/http/resolver/server_list.rb +15 -4
  149. data/lib/puppet/http/service/compiler.rb +73 -1
  150. data/lib/puppet/http/service/file_server.rb +3 -2
  151. data/lib/puppet/indirector.rb +5 -5
  152. data/lib/puppet/indirector/catalog/compiler.rb +7 -6
  153. data/lib/puppet/indirector/catalog/json.rb +2 -2
  154. data/lib/puppet/indirector/catalog/msgpack.rb +2 -2
  155. data/lib/puppet/indirector/catalog/rest.rb +2 -2
  156. data/lib/puppet/indirector/catalog/store_configs.rb +2 -2
  157. data/lib/puppet/indirector/catalog/yaml.rb +2 -2
  158. data/lib/puppet/indirector/code.rb +1 -1
  159. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  160. data/lib/puppet/indirector/data_binding/none.rb +1 -1
  161. data/lib/puppet/indirector/direct_file_server.rb +2 -2
  162. data/lib/puppet/indirector/envelope.rb +1 -1
  163. data/lib/puppet/indirector/errors.rb +1 -1
  164. data/lib/puppet/indirector/exec.rb +2 -2
  165. data/lib/puppet/indirector/face.rb +1 -1
  166. data/lib/puppet/indirector/facts/facter.rb +3 -2
  167. data/lib/puppet/indirector/facts/json.rb +3 -3
  168. data/lib/puppet/indirector/facts/memory.rb +2 -2
  169. data/lib/puppet/indirector/facts/network_device.rb +2 -2
  170. data/lib/puppet/indirector/facts/rest.rb +2 -2
  171. data/lib/puppet/indirector/facts/store_configs.rb +2 -2
  172. data/lib/puppet/indirector/facts/yaml.rb +3 -3
  173. data/lib/puppet/indirector/file_bucket_file/file.rb +4 -4
  174. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -2
  175. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
  176. data/lib/puppet/indirector/file_content.rb +1 -1
  177. data/lib/puppet/indirector/file_content/file.rb +3 -3
  178. data/lib/puppet/indirector/file_content/file_server.rb +3 -3
  179. data/lib/puppet/indirector/file_content/rest.rb +3 -3
  180. data/lib/puppet/indirector/file_content/selector.rb +4 -4
  181. data/lib/puppet/indirector/file_metadata.rb +1 -1
  182. data/lib/puppet/indirector/file_metadata/file.rb +3 -3
  183. data/lib/puppet/indirector/file_metadata/file_server.rb +3 -3
  184. data/lib/puppet/indirector/file_metadata/http.rb +3 -3
  185. data/lib/puppet/indirector/file_metadata/rest.rb +4 -3
  186. data/lib/puppet/indirector/file_metadata/selector.rb +4 -4
  187. data/lib/puppet/indirector/file_server.rb +4 -4
  188. data/lib/puppet/indirector/generic_http.rb +1 -1
  189. data/lib/puppet/indirector/hiera.rb +1 -1
  190. data/lib/puppet/indirector/indirection.rb +5 -5
  191. data/lib/puppet/indirector/json.rb +2 -2
  192. data/lib/puppet/indirector/memory.rb +1 -1
  193. data/lib/puppet/indirector/msgpack.rb +2 -2
  194. data/lib/puppet/indirector/node/exec.rb +2 -2
  195. data/lib/puppet/indirector/node/json.rb +2 -2
  196. data/lib/puppet/indirector/node/memory.rb +2 -2
  197. data/lib/puppet/indirector/node/msgpack.rb +2 -2
  198. data/lib/puppet/indirector/node/plain.rb +2 -2
  199. data/lib/puppet/indirector/node/rest.rb +2 -2
  200. data/lib/puppet/indirector/node/store_configs.rb +2 -2
  201. data/lib/puppet/indirector/node/yaml.rb +2 -2
  202. data/lib/puppet/indirector/none.rb +1 -1
  203. data/lib/puppet/indirector/plain.rb +1 -1
  204. data/lib/puppet/indirector/report/json.rb +2 -2
  205. data/lib/puppet/indirector/report/msgpack.rb +2 -2
  206. data/lib/puppet/indirector/report/processor.rb +3 -3
  207. data/lib/puppet/indirector/report/rest.rb +1 -1
  208. data/lib/puppet/indirector/report/yaml.rb +2 -2
  209. data/lib/puppet/indirector/request.rb +3 -3
  210. data/lib/puppet/indirector/resource/ral.rb +1 -1
  211. data/lib/puppet/indirector/resource/store_configs.rb +2 -2
  212. data/lib/puppet/indirector/terminus.rb +5 -5
  213. data/lib/puppet/indirector/yaml.rb +2 -2
  214. data/lib/puppet/info_service.rb +3 -3
  215. data/lib/puppet/info_service/class_information_service.rb +3 -3
  216. data/lib/puppet/info_service/plan_information_service.rb +1 -1
  217. data/lib/puppet/info_service/task_information_service.rb +1 -1
  218. data/lib/puppet/interface.rb +10 -10
  219. data/lib/puppet/interface/documentation.rb +1 -1
  220. data/lib/puppet/loaders.rb +21 -25
  221. data/lib/puppet/metatype/manager.rb +3 -3
  222. data/lib/puppet/module.rb +5 -4
  223. data/lib/puppet/module/plan.rb +1 -1
  224. data/lib/puppet/module/task.rb +1 -1
  225. data/lib/puppet/module_tool.rb +10 -10
  226. data/lib/puppet/module_tool/applications.rb +7 -7
  227. data/lib/puppet/module_tool/applications/application.rb +2 -2
  228. data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
  229. data/lib/puppet/module_tool/applications/installer.rb +7 -7
  230. data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
  231. data/lib/puppet/module_tool/applications/upgrader.rb +5 -5
  232. data/lib/puppet/module_tool/checksums.rb +1 -1
  233. data/lib/puppet/module_tool/contents_description.rb +1 -1
  234. data/lib/puppet/module_tool/dependency.rb +2 -2
  235. data/lib/puppet/module_tool/errors.rb +6 -6
  236. data/lib/puppet/module_tool/install_directory.rb +2 -2
  237. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  238. data/lib/puppet/module_tool/local_tarball.rb +2 -2
  239. data/lib/puppet/module_tool/metadata.rb +3 -3
  240. data/lib/puppet/module_tool/tar.rb +4 -4
  241. data/lib/puppet/network/format.rb +1 -1
  242. data/lib/puppet/network/format_handler.rb +3 -3
  243. data/lib/puppet/network/format_support.rb +1 -1
  244. data/lib/puppet/network/formats.rb +2 -2
  245. data/lib/puppet/network/http.rb +17 -14
  246. data/lib/puppet/network/http/api.rb +11 -7
  247. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  248. data/lib/puppet/network/http/api/master.rb +3 -2
  249. data/lib/puppet/network/http/api/master/v3.rb +2 -25
  250. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -33
  251. data/lib/puppet/network/http/api/server.rb +10 -0
  252. data/lib/puppet/network/http/api/server/v3.rb +39 -0
  253. data/lib/puppet/network/http/api/server/v3/environments.rb +48 -0
  254. data/lib/puppet/network/http/connection.rb +1 -1
  255. data/lib/puppet/network/http/error.rb +1 -1
  256. data/lib/puppet/network/http/handler.rb +3 -3
  257. data/lib/puppet/network/http_pool.rb +1 -1
  258. data/lib/puppet/node.rb +3 -3
  259. data/lib/puppet/node/environment.rb +15 -8
  260. data/lib/puppet/node/facts.rb +3 -3
  261. data/lib/puppet/pal/pal_api.rb +10 -10
  262. data/lib/puppet/pal/pal_impl.rb +3 -3
  263. data/lib/puppet/parameter.rb +4 -4
  264. data/lib/puppet/parameter/boolean.rb +1 -1
  265. data/lib/puppet/parameter/package_options.rb +1 -1
  266. data/lib/puppet/parameter/path.rb +1 -1
  267. data/lib/puppet/parameter/value.rb +1 -1
  268. data/lib/puppet/parameter/value_collection.rb +1 -1
  269. data/lib/puppet/parser.rb +10 -10
  270. data/lib/puppet/parser/ast.rb +8 -8
  271. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  272. data/lib/puppet/parser/ast/pops_bridge.rb +2 -2
  273. data/lib/puppet/parser/catalog_compiler.rb +2 -2
  274. data/lib/puppet/parser/compiler.rb +5 -5
  275. data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
  276. data/lib/puppet/parser/functions.rb +4 -4
  277. data/lib/puppet/parser/functions/digest.rb +1 -1
  278. data/lib/puppet/parser/functions/file.rb +1 -1
  279. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  280. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  281. data/lib/puppet/parser/parser_factory.rb +2 -2
  282. data/lib/puppet/parser/resource.rb +3 -3
  283. data/lib/puppet/parser/scope.rb +3 -3
  284. data/lib/puppet/parser/script_compiler.rb +2 -2
  285. data/lib/puppet/parser/templatewrapper.rb +2 -2
  286. data/lib/puppet/parser/type_loader.rb +1 -1
  287. data/lib/puppet/plugins/configuration.rb +5 -5
  288. data/lib/puppet/pops.rb +57 -57
  289. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  290. data/lib/puppet/pops/evaluator/evaluator_impl.rb +7 -7
  291. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  292. data/lib/puppet/pops/loader/base_loader.rb +42 -32
  293. data/lib/puppet/pops/loader/dependency_loader.rb +2 -2
  294. data/lib/puppet/pops/loader/loader.rb +15 -5
  295. data/lib/puppet/pops/loader/module_loaders.rb +8 -8
  296. data/lib/puppet/pops/loader/predefined_loader.rb +4 -0
  297. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -1
  298. data/lib/puppet/pops/loader/static_loader.rb +4 -0
  299. data/lib/puppet/pops/loader/task_instantiator.rb +1 -1
  300. data/lib/puppet/pops/loaders.rb +4 -4
  301. data/lib/puppet/pops/lookup/invocation.rb +1 -1
  302. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  303. data/lib/puppet/pops/model/pn_transformer.rb +1 -1
  304. data/lib/puppet/pops/parser/eparser.rb +2 -2
  305. data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
  306. data/lib/puppet/pops/parser/lexer2.rb +5 -9
  307. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  308. data/lib/puppet/pops/parser/parser_support.rb +4 -4
  309. data/lib/puppet/pops/puppet_stack.rb +1 -1
  310. data/lib/puppet/pops/serialization/json.rb +1 -1
  311. data/lib/puppet/pops/serialization/json_path.rb +1 -1
  312. data/lib/puppet/pops/time/timespan.rb +1 -1
  313. data/lib/puppet/pops/types/p_type_set_type.rb +1 -1
  314. data/lib/puppet/pops/types/string_converter.rb +1 -1
  315. data/lib/puppet/pops/types/type_calculator.rb +1 -1
  316. data/lib/puppet/pops/types/type_formatter.rb +1 -1
  317. data/lib/puppet/pops/types/type_parser.rb +1 -1
  318. data/lib/puppet/pops/types/types.rb +1 -1
  319. data/lib/puppet/pops/validation/checker4_0.rb +1 -2
  320. data/lib/puppet/property.rb +3 -3
  321. data/lib/puppet/property/boolean.rb +1 -1
  322. data/lib/puppet/property/ensure.rb +1 -1
  323. data/lib/puppet/property/keyvalue.rb +1 -1
  324. data/lib/puppet/property/list.rb +2 -2
  325. data/lib/puppet/property/ordered_list.rb +1 -1
  326. data/lib/puppet/provider.rb +2 -2
  327. data/lib/puppet/provider/confine.rb +2 -2
  328. data/lib/puppet/provider/exec.rb +2 -2
  329. data/lib/puppet/provider/exec/posix.rb +1 -1
  330. data/lib/puppet/provider/exec/windows.rb +1 -1
  331. data/lib/puppet/provider/file/posix.rb +1 -1
  332. data/lib/puppet/provider/file/windows.rb +1 -1
  333. data/lib/puppet/provider/group/aix.rb +1 -1
  334. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  335. data/lib/puppet/provider/group/groupadd.rb +15 -10
  336. data/lib/puppet/provider/group/ldap.rb +1 -1
  337. data/lib/puppet/provider/group/pw.rb +1 -1
  338. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  339. data/lib/puppet/provider/ldap.rb +2 -2
  340. data/lib/puppet/provider/nameservice.rb +1 -1
  341. data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
  342. data/lib/puppet/provider/nameservice/objectadd.rb +1 -1
  343. data/lib/puppet/provider/nameservice/pw.rb +1 -1
  344. data/lib/puppet/provider/package.rb +1 -1
  345. data/lib/puppet/provider/package/aix.rb +2 -2
  346. data/lib/puppet/provider/package/appdmg.rb +2 -2
  347. data/lib/puppet/provider/package/apple.rb +1 -1
  348. data/lib/puppet/provider/package/apt.rb +32 -4
  349. data/lib/puppet/provider/package/aptitude.rb +6 -0
  350. data/lib/puppet/provider/package/dnfmodule.rb +2 -2
  351. data/lib/puppet/provider/package/dpkg.rb +1 -1
  352. data/lib/puppet/provider/package/gem.rb +3 -3
  353. data/lib/puppet/provider/package/hpux.rb +1 -1
  354. data/lib/puppet/provider/package/macports.rb +2 -2
  355. data/lib/puppet/provider/package/nim.rb +2 -2
  356. data/lib/puppet/provider/package/openbsd.rb +1 -1
  357. data/lib/puppet/provider/package/opkg.rb +1 -1
  358. data/lib/puppet/provider/package/pacman.rb +1 -1
  359. data/lib/puppet/provider/package/pip.rb +3 -3
  360. data/lib/puppet/provider/package/pkg.rb +2 -2
  361. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  362. data/lib/puppet/provider/package/pkgin.rb +1 -1
  363. data/lib/puppet/provider/package/pkgng.rb +1 -1
  364. data/lib/puppet/provider/package/portage.rb +1 -1
  365. data/lib/puppet/provider/package/portupgrade.rb +1 -1
  366. data/lib/puppet/provider/package/puppet_gem.rb +12 -1
  367. data/lib/puppet/provider/package/puppetserver_gem.rb +0 -0
  368. data/lib/puppet/provider/package/rpm.rb +2 -2
  369. data/lib/puppet/provider/package/sun.rb +1 -1
  370. data/lib/puppet/provider/package/windows.rb +3 -3
  371. data/lib/puppet/provider/package/windows/exe_package.rb +1 -1
  372. data/lib/puppet/provider/package/windows/msi_package.rb +1 -1
  373. data/lib/puppet/provider/package/windows/package.rb +4 -4
  374. data/lib/puppet/provider/package/yum.rb +3 -3
  375. data/lib/puppet/provider/package_targetable.rb +1 -1
  376. data/lib/puppet/provider/parsedfile.rb +3 -3
  377. data/lib/puppet/provider/service/base.rb +6 -4
  378. data/lib/puppet/provider/service/daemontools.rb +0 -1
  379. data/lib/puppet/provider/service/debian.rb +5 -5
  380. data/lib/puppet/provider/service/init.rb +1 -1
  381. data/lib/puppet/provider/service/launchd.rb +9 -3
  382. data/lib/puppet/provider/service/service.rb +28 -3
  383. data/lib/puppet/provider/service/smf.rb +0 -24
  384. data/lib/puppet/provider/service/src.rb +2 -2
  385. data/lib/puppet/provider/service/systemd.rb +12 -7
  386. data/lib/puppet/provider/service/windows.rb +38 -0
  387. data/lib/puppet/provider/user/aix.rb +2 -2
  388. data/lib/puppet/provider/user/directoryservice.rb +2 -2
  389. data/lib/puppet/provider/user/ldap.rb +1 -1
  390. data/lib/puppet/provider/user/openbsd.rb +1 -1
  391. data/lib/puppet/provider/user/pw.rb +1 -1
  392. data/lib/puppet/provider/user/user_role_add.rb +2 -2
  393. data/lib/puppet/provider/user/useradd.rb +65 -11
  394. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  395. data/lib/puppet/reference/configuration.rb +1 -1
  396. data/lib/puppet/reference/indirection.rb +4 -4
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reports.rb +1 -1
  399. data/lib/puppet/reports/http.rb +2 -2
  400. data/lib/puppet/reports/log.rb +1 -1
  401. data/lib/puppet/reports/store.rb +2 -2
  402. data/lib/puppet/resource.rb +4 -4
  403. data/lib/puppet/resource/catalog.rb +5 -5
  404. data/lib/puppet/resource/status.rb +2 -2
  405. data/lib/puppet/resource/type.rb +4 -4
  406. data/lib/puppet/resource/type_collection.rb +4 -4
  407. data/lib/puppet/runtime.rb +1 -1
  408. data/lib/puppet/scheduler.rb +4 -4
  409. data/lib/puppet/settings.rb +31 -30
  410. data/lib/puppet/settings/autosign_setting.rb +1 -1
  411. data/lib/puppet/settings/base_setting.rb +2 -2
  412. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  413. data/lib/puppet/settings/config_file.rb +1 -1
  414. data/lib/puppet/settings/environment_conf.rb +1 -0
  415. data/lib/puppet/settings/errors.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +3 -3
  417. data/lib/puppet/ssl.rb +11 -11
  418. data/lib/puppet/ssl/base.rb +3 -3
  419. data/lib/puppet/ssl/certificate.rb +1 -1
  420. data/lib/puppet/ssl/certificate_request.rb +2 -2
  421. data/lib/puppet/ssl/certificate_request_attributes.rb +2 -2
  422. data/lib/puppet/ssl/oids.rb +1 -1
  423. data/lib/puppet/ssl/openssl_loader.rb +1 -1
  424. data/lib/puppet/ssl/ssl_context.rb +1 -1
  425. data/lib/puppet/ssl/ssl_provider.rb +1 -1
  426. data/lib/puppet/ssl/state_machine.rb +2 -2
  427. data/lib/puppet/ssl/verifier.rb +5 -1
  428. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  429. data/lib/puppet/syntax_checkers/epp.rb +1 -1
  430. data/lib/puppet/syntax_checkers/json.rb +1 -1
  431. data/lib/puppet/syntax_checkers/pp.rb +1 -1
  432. data/lib/puppet/transaction.rb +11 -11
  433. data/lib/puppet/transaction/event.rb +4 -4
  434. data/lib/puppet/transaction/event_manager.rb +1 -1
  435. data/lib/puppet/transaction/persistence.rb +1 -1
  436. data/lib/puppet/transaction/report.rb +2 -2
  437. data/lib/puppet/transaction/resource_harness.rb +1 -1
  438. data/lib/puppet/type.rb +14 -14
  439. data/lib/puppet/type/component.rb +3 -3
  440. data/lib/puppet/type/file.rb +37 -19
  441. data/lib/puppet/type/file/checksum.rb +1 -1
  442. data/lib/puppet/type/file/checksum_value.rb +2 -2
  443. data/lib/puppet/type/file/content.rb +2 -2
  444. data/lib/puppet/type/file/data_sync.rb +2 -2
  445. data/lib/puppet/type/file/ensure.rb +1 -1
  446. data/lib/puppet/type/file/group.rb +1 -1
  447. data/lib/puppet/type/file/mode.rb +1 -1
  448. data/lib/puppet/type/file/selcontext.rb +2 -2
  449. data/lib/puppet/type/file/source.rb +4 -4
  450. data/lib/puppet/type/filebucket.rb +1 -1
  451. data/lib/puppet/type/group.rb +2 -2
  452. data/lib/puppet/type/package.rb +5 -5
  453. data/lib/puppet/type/resources.rb +2 -2
  454. data/lib/puppet/type/service.rb +10 -29
  455. data/lib/puppet/type/tidy.rb +24 -5
  456. data/lib/puppet/type/user.rb +4 -4
  457. data/lib/puppet/util.rb +43 -34
  458. data/lib/puppet/util/at_fork.rb +3 -3
  459. data/lib/puppet/util/at_fork/solaris.rb +1 -1
  460. data/lib/puppet/util/autoload.rb +4 -4
  461. data/lib/puppet/util/checksums.rb +3 -3
  462. data/lib/puppet/util/colors.rb +1 -1
  463. data/lib/puppet/util/command_line.rb +6 -6
  464. data/lib/puppet/util/command_line/puppet_option_parser.rb +2 -2
  465. data/lib/puppet/util/execution.rb +2 -2
  466. data/lib/puppet/util/feature.rb +2 -2
  467. data/lib/puppet/util/filetype.rb +1 -1
  468. data/lib/puppet/util/http_proxy.rb +1 -1
  469. data/lib/puppet/util/inifile.rb +2 -2
  470. data/lib/puppet/util/instance_loader.rb +3 -3
  471. data/lib/puppet/util/json_lockfile.rb +1 -1
  472. data/lib/puppet/util/ldap/connection.rb +1 -1
  473. data/lib/puppet/util/ldap/generator.rb +1 -1
  474. data/lib/puppet/util/ldap/manager.rb +3 -3
  475. data/lib/puppet/util/limits.rb +1 -1
  476. data/lib/puppet/util/log.rb +6 -6
  477. data/lib/puppet/util/log/destinations.rb +1 -1
  478. data/lib/puppet/util/logging.rb +2 -2
  479. data/lib/puppet/util/metric.rb +2 -2
  480. data/lib/puppet/util/monkey_patches.rb +14 -3
  481. data/lib/puppet/util/network_device/base.rb +3 -3
  482. data/lib/puppet/util/network_device/config.rb +2 -2
  483. data/lib/puppet/util/network_device/transport.rb +1 -1
  484. data/lib/puppet/util/network_device/transport/base.rb +2 -2
  485. data/lib/puppet/util/package/version/range.rb +6 -6
  486. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  487. data/lib/puppet/util/package/version/range/gt.rb +1 -1
  488. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -1
  489. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  490. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -1
  491. data/lib/puppet/util/package/version/range/min_max.rb +1 -1
  492. data/lib/puppet/util/package/version/range/simple.rb +1 -1
  493. data/lib/puppet/util/package/version/rpm.rb +1 -1
  494. data/lib/puppet/util/pidlock.rb +1 -1
  495. data/lib/puppet/util/plist.rb +1 -1
  496. data/lib/puppet/util/posix.rb +1 -1
  497. data/lib/puppet/util/profiler.rb +3 -3
  498. data/lib/puppet/util/profiler/aggregate.rb +2 -2
  499. data/lib/puppet/util/profiler/object_counts.rb +1 -1
  500. data/lib/puppet/util/profiler/wall_clock.rb +1 -1
  501. data/lib/puppet/util/provider_features.rb +2 -2
  502. data/lib/puppet/util/rdoc.rb +2 -2
  503. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
  504. data/lib/puppet/util/rdoc/parser.rb +6 -6
  505. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  506. data/lib/puppet/util/reference.rb +1 -1
  507. data/lib/puppet/util/resource_template.rb +2 -2
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +30 -4
  510. data/lib/puppet/util/skip_tags.rb +1 -1
  511. data/lib/puppet/util/storage.rb +1 -1
  512. data/lib/puppet/util/suidmanager.rb +2 -2
  513. data/lib/puppet/util/symbolic_file_mode.rb +1 -1
  514. data/lib/puppet/util/tag_set.rb +1 -1
  515. data/lib/puppet/util/tagging.rb +1 -1
  516. data/lib/puppet/util/watched_file.rb +1 -1
  517. data/lib/puppet/util/watcher.rb +3 -3
  518. data/lib/puppet/util/windows.rb +20 -20
  519. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  520. data/lib/puppet/util/windows/adsi.rb +47 -1
  521. data/lib/puppet/util/windows/daemon.rb +1 -1
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +1 -1
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +2 -2
  525. data/lib/puppet/util/windows/principal.rb +10 -3
  526. data/lib/puppet/util/windows/process.rb +2 -2
  527. data/lib/puppet/util/windows/registry.rb +1 -1
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +1 -1
  530. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  531. data/lib/puppet/util/windows/service.rb +1 -1
  532. data/lib/puppet/util/windows/sid.rb +5 -3
  533. data/lib/puppet/util/windows/user.rb +1 -1
  534. data/lib/puppet/vendor.rb +1 -1
  535. data/lib/puppet/version.rb +1 -1
  536. data/lib/puppet/x509.rb +4 -4
  537. data/lib/puppet/x509/cert_provider.rb +1 -1
  538. data/lib/puppet/x509/pem_store.rb +1 -1
  539. data/lib/puppet_pal.rb +2 -2
  540. data/locales/puppet.pot +173 -157
  541. data/man/man5/puppet.conf.5 +263 -240
  542. data/man/man8/puppet-agent.8 +1 -1
  543. data/man/man8/puppet-apply.8 +1 -1
  544. data/man/man8/puppet-catalog.8 +1 -1
  545. data/man/man8/puppet-config.8 +1 -1
  546. data/man/man8/puppet-describe.8 +1 -1
  547. data/man/man8/puppet-device.8 +1 -1
  548. data/man/man8/puppet-doc.8 +1 -1
  549. data/man/man8/puppet-epp.8 +1 -1
  550. data/man/man8/puppet-facts.8 +5 -2
  551. data/man/man8/puppet-filebucket.8 +1 -1
  552. data/man/man8/puppet-generate.8 +1 -1
  553. data/man/man8/puppet-help.8 +1 -1
  554. data/man/man8/puppet-lookup.8 +1 -1
  555. data/man/man8/puppet-module.8 +1 -1
  556. data/man/man8/puppet-node.8 +1 -1
  557. data/man/man8/puppet-parser.8 +1 -1
  558. data/man/man8/puppet-plugin.8 +1 -1
  559. data/man/man8/puppet-report.8 +1 -1
  560. data/man/man8/puppet-resource.8 +1 -1
  561. data/man/man8/puppet-script.8 +1 -1
  562. data/man/man8/puppet-ssl.8 +5 -1
  563. data/man/man8/puppet.8 +2 -2
  564. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  565. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  566. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  567. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  568. data/spec/fixtures/ssl/ca.pem +57 -35
  569. data/spec/fixtures/ssl/crl.pem +28 -18
  570. data/spec/fixtures/ssl/ec-key.pem +11 -11
  571. data/spec/fixtures/ssl/ec.pem +33 -24
  572. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  573. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  574. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  575. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  576. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  577. data/spec/fixtures/ssl/intermediate.pem +57 -36
  578. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  579. data/spec/fixtures/ssl/pluto.pem +52 -30
  580. data/spec/fixtures/ssl/request-key.pem +107 -57
  581. data/spec/fixtures/ssl/request.pem +47 -26
  582. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  583. data/spec/fixtures/ssl/revoked.pem +52 -30
  584. data/spec/fixtures/ssl/signed-key.pem +107 -57
  585. data/spec/fixtures/ssl/signed.pem +52 -30
  586. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  587. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  588. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  589. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  590. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  591. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  592. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
  593. data/spec/integration/application/agent_spec.rb +33 -0
  594. data/spec/integration/application/plugin_spec.rb +1 -1
  595. data/spec/integration/http/client_spec.rb +12 -0
  596. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  597. data/spec/integration/parser/collection_spec.rb +10 -0
  598. data/spec/integration/type/file_spec.rb +5 -5
  599. data/spec/integration/util/windows/adsi_spec.rb +18 -0
  600. data/spec/integration/util/windows/principal_spec.rb +21 -0
  601. data/spec/integration/util/windows/registry_spec.rb +6 -0
  602. data/spec/lib/puppet/test_ca.rb +2 -2
  603. data/spec/lib/puppet_spec/files.rb +1 -1
  604. data/spec/shared_contexts/provider.rb +16 -0
  605. data/spec/spec_helper.rb +11 -1
  606. data/spec/unit/application/agent_spec.rb +7 -2
  607. data/spec/unit/application/facts_spec.rb +58 -7
  608. data/spec/unit/application/ssl_spec.rb +23 -0
  609. data/spec/unit/configurer/downloader_spec.rb +6 -0
  610. data/spec/unit/configurer_spec.rb +23 -0
  611. data/spec/unit/environments_spec.rb +164 -88
  612. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  613. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  614. data/spec/unit/file_system_spec.rb +9 -0
  615. data/spec/unit/gettext/config_spec.rb +12 -0
  616. data/spec/unit/http/factory_spec.rb +19 -0
  617. data/spec/unit/http/service/compiler_spec.rb +123 -0
  618. data/spec/unit/indirector/catalog/compiler_spec.rb +14 -10
  619. data/spec/unit/indirector/facts/facter_spec.rb +9 -0
  620. data/spec/unit/module_spec.rb +1 -1
  621. data/spec/unit/network/http/api/master_spec.rb +38 -0
  622. data/spec/unit/network/http/api/{master → server}/v3/environments_spec.rb +2 -2
  623. data/spec/unit/network/http/api/{master → server}/v3_spec.rb +19 -19
  624. data/spec/unit/network/http/api_spec.rb +11 -11
  625. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  626. data/spec/unit/pops/loaders/dependency_loader_spec.rb +1 -1
  627. data/spec/unit/pops/lookup/context_spec.rb +1 -1
  628. data/spec/unit/pops/parser/lexer2_spec.rb +0 -4
  629. data/spec/unit/pops/types/type_parser_spec.rb +2 -1
  630. data/spec/unit/pops/validator/validator_spec.rb +20 -43
  631. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  632. data/spec/unit/provider/package/apt_spec.rb +24 -15
  633. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  634. data/spec/unit/provider/package/dnfmodule_spec.rb +13 -4
  635. data/spec/unit/provider/package/gem_spec.rb +3 -1
  636. data/spec/unit/provider/package/pip2_spec.rb +3 -1
  637. data/spec/unit/provider/package/pip3_spec.rb +3 -1
  638. data/spec/unit/provider/package/pip_spec.rb +3 -1
  639. data/spec/unit/provider/package/pkg_spec.rb +44 -44
  640. data/spec/unit/provider/package/puppet_gem_spec.rb +31 -1
  641. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -0
  642. data/spec/unit/provider/service/base_spec.rb +8 -8
  643. data/spec/unit/provider/service/bsd_spec.rb +0 -4
  644. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  645. data/spec/unit/provider/service/debian_spec.rb +15 -17
  646. data/spec/unit/provider/service/gentoo_spec.rb +19 -14
  647. data/spec/unit/provider/service/init_spec.rb +29 -20
  648. data/spec/unit/provider/service/launchd_spec.rb +10 -12
  649. data/spec/unit/provider/service/openbsd_spec.rb +21 -35
  650. data/spec/unit/provider/service/openrc_spec.rb +15 -14
  651. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  652. data/spec/unit/provider/service/redhat_spec.rb +20 -19
  653. data/spec/unit/provider/service/smf_spec.rb +6 -5
  654. data/spec/unit/provider/service/src_spec.rb +5 -10
  655. data/spec/unit/provider/service/systemd_spec.rb +68 -29
  656. data/spec/unit/provider/service/upstart_spec.rb +25 -20
  657. data/spec/unit/provider/service/windows_spec.rb +202 -0
  658. data/spec/unit/provider/user/useradd_spec.rb +70 -3
  659. data/spec/unit/resource/catalog_spec.rb +1 -1
  660. data/spec/unit/ssl/certificate_request_spec.rb +4 -10
  661. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  662. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  663. data/spec/unit/transaction_spec.rb +18 -20
  664. data/spec/unit/type/file/selinux_spec.rb +3 -3
  665. data/spec/unit/type/service_spec.rb +10 -154
  666. data/spec/unit/type/tidy_spec.rb +17 -7
  667. data/spec/unit/util/at_fork_spec.rb +9 -9
  668. data/spec/unit/util/posix_spec.rb +1 -1
  669. data/spec/unit/util/selinux_spec.rb +87 -16
  670. data/spec/unit/util/windows/sid_spec.rb +6 -0
  671. data/tasks/generate_cert_fixtures.rake +2 -2
  672. metadata +15 -16
  673. data/spec/lib/matchers/include.rb +0 -27
  674. data/spec/lib/matchers/include_spec.rb +0 -32
  675. data/spec/unit/pops/parser/parse_application_spec.rb +0 -13
  676. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -23
  677. data/spec/unit/pops/parser/parse_site_spec.rb +0 -43
@@ -1,4 +1,4 @@
1
- require 'puppet/http'
1
+ require_relative '../../../puppet/http'
2
2
 
3
3
  # This will be raised if too many redirects happen for a given HTTP request
4
4
  class Puppet::Network::HTTP::RedirectionLimitExceededException < Puppet::Error ; end
@@ -1,4 +1,4 @@
1
- require 'puppet/util/json'
1
+ require_relative '../../../puppet/util/json'
2
2
 
3
3
  module Puppet::Network::HTTP::Error
4
4
  Issues = Puppet::Network::HTTP::Issues
@@ -1,9 +1,9 @@
1
1
  module Puppet::Network::HTTP
2
2
  end
3
3
 
4
- require 'puppet/network/http'
5
- require 'puppet/util/profiler'
6
- require 'puppet/util/profiler/aggregate'
4
+ require_relative '../../../puppet/network/http'
5
+ require_relative '../../../puppet/util/profiler'
6
+ require_relative '../../../puppet/util/profiler/aggregate'
7
7
  require 'resolv'
8
8
 
9
9
  module Puppet::Network::HTTP::Handler
@@ -1,4 +1,4 @@
1
- require 'puppet/network/http/connection'
1
+ require_relative '../../puppet/network/http/connection'
2
2
 
3
3
  module Puppet::Network; end
4
4
 
data/lib/puppet/node.rb CHANGED
@@ -1,9 +1,9 @@
1
- require 'puppet/indirector'
1
+ require_relative '../puppet/indirector'
2
2
 
3
3
  # A class for managing nodes, including their facts and environment.
4
4
  class Puppet::Node
5
- require 'puppet/node/facts'
6
- require 'puppet/node/environment'
5
+ require_relative 'node/facts'
6
+ require_relative 'node/environment'
7
7
 
8
8
  # Set up indirection, so that nodes can be looked for in
9
9
  # the node sources.
@@ -1,7 +1,7 @@
1
- require 'puppet/util'
1
+ require_relative '../../puppet/util'
2
2
  require 'monitor'
3
- require 'puppet/parser/parser_factory'
4
- require 'puppet/concurrent/lock'
3
+ require_relative '../../puppet/parser/parser_factory'
4
+ require_relative '../../puppet/concurrent/lock'
5
5
 
6
6
  # Just define it, so this class has fewer load dependencies.
7
7
  class Puppet::Node
@@ -214,15 +214,22 @@ class Puppet::Node::Environment
214
214
  errors
215
215
  end
216
216
 
217
+ def rich_data_from_env_conf
218
+ unless @checked_conf_for_rich_data
219
+ environment_conf = Puppet.lookup(:environments).get_conf(name)
220
+ @rich_data_from_conf = environment_conf&.rich_data
221
+ @checked_conf_for_rich_data = true
222
+ end
223
+ @rich_data_from_conf
224
+ end
225
+
217
226
  # Checks if this environment permits use of rich data types in the catalog
227
+ # Checks the environment conf for an override on first query, then going forward
228
+ # either uses that, or if unset, uses the current value of the `rich_data` setting.
218
229
  # @return [Boolean] `true` if rich data is permitted.
219
230
  # @api private
220
231
  def rich_data?
221
- if @rich_data.nil?
222
- environment_conf = Puppet.lookup(:environments).get_conf(name)
223
- @rich_data = (environment_conf.nil? ? Puppet[:rich_data] : environment_conf.rich_data)
224
- end
225
- @rich_data
232
+ @rich_data = rich_data_from_env_conf.nil? ? Puppet[:rich_data] : rich_data_from_env_conf
226
233
  end
227
234
 
228
235
  # Return an environment-specific Puppet setting.
@@ -1,8 +1,8 @@
1
1
  require 'time'
2
2
 
3
- require 'puppet/node'
4
- require 'puppet/indirector'
5
- require 'puppet/util/psych_support'
3
+ require_relative '../../puppet/node'
4
+ require_relative '../../puppet/indirector'
5
+ require_relative '../../puppet/util/psych_support'
6
6
 
7
7
 
8
8
  # Manage a given node's facts. This either accepts facts and stores them, or
@@ -1,15 +1,15 @@
1
1
  module Puppet
2
- require 'puppet/parser/script_compiler'
3
- require 'puppet/parser/catalog_compiler'
2
+ require_relative '../../puppet/parser/script_compiler'
3
+ require_relative '../../puppet/parser/catalog_compiler'
4
4
 
5
5
  module Pal
6
- require 'puppet/pal/json_catalog_encoder'
7
- require 'puppet/pal/function_signature'
8
- require 'puppet/pal/task_signature'
9
- require 'puppet/pal/plan_signature'
10
- require 'puppet/pal/compiler'
11
- require 'puppet/pal/script_compiler'
12
- require 'puppet/pal/catalog_compiler'
13
- require 'puppet/pal/pal_impl'
6
+ require_relative '../../puppet/pal/json_catalog_encoder'
7
+ require_relative '../../puppet/pal/function_signature'
8
+ require_relative '../../puppet/pal/task_signature'
9
+ require_relative '../../puppet/pal/plan_signature'
10
+ require_relative '../../puppet/pal/compiler'
11
+ require_relative '../../puppet/pal/script_compiler'
12
+ require_relative '../../puppet/pal/catalog_compiler'
13
+ require_relative '../../puppet/pal/pal_impl'
14
14
  end
15
15
  end
@@ -1,9 +1,9 @@
1
1
  # Puppet as a Library "PAL"
2
2
 
3
3
  # Yes, this requires all of puppet for now because 'settings' and many other things...
4
- require 'puppet'
5
- require 'puppet/parser/script_compiler'
6
- require 'puppet/parser/catalog_compiler'
4
+ require_relative '../../puppet'
5
+ require_relative '../../puppet/parser/script_compiler'
6
+ require_relative '../../puppet/parser/catalog_compiler'
7
7
 
8
8
  module Puppet
9
9
  # This is the main entry point for "Puppet As a Library" PAL.
@@ -1,5 +1,5 @@
1
- require 'puppet/util/logging'
2
- require 'puppet/util/docs'
1
+ require_relative '../puppet/util/logging'
2
+ require_relative '../puppet/util/docs'
3
3
 
4
4
  # The Parameter class is the implementation of a resource's attributes of _parameter_ kind.
5
5
  # The Parameter class is also the base class for {Puppet::Property}, and is used to describe meta-parameters
@@ -22,7 +22,7 @@ class Puppet::Parameter
22
22
  include Puppet::Util::Errors
23
23
  include Puppet::Util::Logging
24
24
 
25
- require 'puppet/parameter/value_collection'
25
+ require_relative 'parameter/value_collection'
26
26
 
27
27
  class << self
28
28
  include Puppet::Util
@@ -571,4 +571,4 @@ class Puppet::Parameter
571
571
  # @see Puppet::Parser::Compiler#finish
572
572
  end
573
573
 
574
- require 'puppet/parameter/path'
574
+ require_relative 'parameter/path'
@@ -1,4 +1,4 @@
1
- require 'puppet/coercion'
1
+ require_relative '../../puppet/coercion'
2
2
 
3
3
  # This specialized {Puppet::Parameter} handles Boolean options, accepting lots
4
4
  # of strings and symbols for both truth and falsehood.
@@ -1,4 +1,4 @@
1
- require 'puppet/parameter'
1
+ require_relative '../../puppet/parameter'
2
2
 
3
3
  # This specialized {Puppet::Parameter} handles munging of package options.
4
4
  # Package options are passed as an array of key value pairs. Special munging is
@@ -1,4 +1,4 @@
1
- require 'puppet/parameter'
1
+ require_relative '../../puppet/parameter'
2
2
 
3
3
  # This specialized {Puppet::Parameter} handles validation and munging of paths.
4
4
  # By default, a single path is accepted, and by calling {accept_arrays} it is possible to
@@ -1,4 +1,4 @@
1
- require 'puppet/parameter/value_collection'
1
+ require_relative '../../puppet/parameter/value_collection'
2
2
 
3
3
  # Describes an acceptable value for a parameter or property.
4
4
  # An acceptable value is either specified as a literal value or a regular expression.
@@ -1,4 +1,4 @@
1
- require 'puppet/parameter/value'
1
+ require_relative '../../puppet/parameter/value'
2
2
 
3
3
  # A collection of values and regular expressions, used for specifying allowed values
4
4
  # in a given parameter.
data/lib/puppet/parser.rb CHANGED
@@ -1,20 +1,20 @@
1
1
  # is only needed to create the name space
2
2
  module Puppet::Parser; end
3
3
 
4
- require 'puppet/parser/ast'
5
- require 'puppet/parser/abstract_compiler'
6
- require 'puppet/parser/compiler'
7
- require 'puppet/parser/compiler/catalog_validator'
8
- require 'puppet/resource/type_collection'
4
+ require_relative 'parser/ast'
5
+ require_relative 'parser/abstract_compiler'
6
+ require_relative 'parser/compiler'
7
+ require_relative 'parser/compiler/catalog_validator'
8
+ require_relative '../puppet/resource/type_collection'
9
9
 
10
- require 'puppet/parser/functions'
11
- require 'puppet/parser/files'
12
- require 'puppet/parser/relationship'
10
+ require_relative 'parser/functions'
11
+ require_relative 'parser/files'
12
+ require_relative 'parser/relationship'
13
13
 
14
- require 'puppet/resource/type'
14
+ require_relative '../puppet/resource/type'
15
15
  require 'monitor'
16
16
 
17
- Dir[File.dirname(__FILE__) + '/parser/compiler/catalog_validator/*.rb'].each { |f| require f }
17
+ require_relative 'parser/compiler/catalog_validator/relationship_validator.rb'
18
18
 
19
19
  # PUP-3274 This should probably go someplace else
20
20
  class Puppet::LexError < RuntimeError; end
@@ -51,11 +51,11 @@ class Puppet::Parser::AST
51
51
  end
52
52
 
53
53
  # And include all of the AST subclasses.
54
- require 'puppet/parser/ast/branch'
55
- require 'puppet/parser/ast/leaf'
56
- require 'puppet/parser/ast/block_expression'
57
- require 'puppet/parser/ast/hostclass'
58
- require 'puppet/parser/ast/node'
59
- require 'puppet/parser/ast/resource'
60
- require 'puppet/parser/ast/resource_instance'
61
- require 'puppet/parser/ast/resourceparam'
54
+ require_relative 'ast/branch'
55
+ require_relative 'ast/leaf'
56
+ require_relative 'ast/block_expression'
57
+ require_relative 'ast/hostclass'
58
+ require_relative 'ast/node'
59
+ require_relative 'ast/resource'
60
+ require_relative 'ast/resource_instance'
61
+ require_relative 'ast/resourceparam'
@@ -1,4 +1,4 @@
1
- require 'puppet/parser/ast/top_level_construct'
1
+ require_relative '../../../puppet/parser/ast/top_level_construct'
2
2
 
3
3
  class Puppet::Parser::AST::Hostclass < Puppet::Parser::AST::TopLevelConstruct
4
4
  attr_accessor :name, :context
@@ -1,5 +1,5 @@
1
- require 'puppet/parser/ast/top_level_construct'
2
- require 'puppet/pops'
1
+ require_relative '../../../puppet/parser/ast/top_level_construct'
2
+ require_relative '../../../puppet/pops'
3
3
 
4
4
  # The AST::Bridge contains classes that bridges between the new Pops based model
5
5
  # and the 3.x AST. This is required to be able to reuse the Puppet::Resource::Type which is
@@ -1,5 +1,5 @@
1
- require 'puppet/loaders'
2
- require 'puppet/pops'
1
+ require_relative '../../puppet/loaders'
2
+ require_relative '../../puppet/pops'
3
3
 
4
4
  # A Catalog "compiler" that is like the regular compiler but with an API
5
5
  # that is harmonized with the ScriptCompiler
@@ -1,11 +1,11 @@
1
1
  require 'forwardable'
2
2
 
3
- require 'puppet/node'
4
- require 'puppet/resource/catalog'
5
- require 'puppet/util/errors'
3
+ require_relative '../../puppet/node'
4
+ require_relative '../../puppet/resource/catalog'
5
+ require_relative '../../puppet/util/errors'
6
6
 
7
- require 'puppet/loaders'
8
- require 'puppet/pops'
7
+ require_relative '../../puppet/loaders'
8
+ require_relative '../../puppet/pops'
9
9
 
10
10
  # Maintain a graph of scopes, along with a bunch of data
11
11
  # about the individual catalog we're compiling.
@@ -1,4 +1,4 @@
1
- require 'puppet/pops'
1
+ require_relative '../../puppet/pops'
2
2
 
3
3
  module Puppet
4
4
  module Parser
@@ -1,7 +1,7 @@
1
- require 'puppet/util/autoload'
2
- require 'puppet/parser/scope'
3
- require 'puppet/pops/adaptable'
4
- require 'puppet/concurrent/lock'
1
+ require_relative '../../puppet/util/autoload'
2
+ require_relative '../../puppet/parser/scope'
3
+ require_relative '../../puppet/pops/adaptable'
4
+ require_relative '../../puppet/concurrent/lock'
5
5
 
6
6
  # A module for managing parser functions. Each specified function
7
7
  # is added to a central module that then gets included into the Scope
@@ -1,4 +1,4 @@
1
- require 'puppet/util/checksums'
1
+ require_relative '../../../puppet/util/checksums'
2
2
  Puppet::Parser::Functions::newfunction(:digest, :type => :rvalue, :arity => 1, :doc => "Returns a hash value from a provided string using the digest_algorithm setting from the Puppet config file.") do |args|
3
3
  algo = Puppet[:digest_algorithm]
4
4
  Puppet::Util::Checksums.method(algo.intern).call args[0]
@@ -1,4 +1,4 @@
1
- require 'puppet/file_system'
1
+ require_relative '../../../puppet/file_system'
2
2
 
3
3
  Puppet::Parser::Functions::newfunction(
4
4
  :file, :arity => -2, :type => :rvalue,
@@ -2,13 +2,16 @@ require 'digest/md5'
2
2
  require 'digest/sha2'
3
3
 
4
4
  Puppet::Parser::Functions::newfunction(:fqdn_rand, :arity => -2, :type => :rvalue, :doc =>
5
- "Usage: `fqdn_rand(MAX, [SEED])`. MAX is required and must be a positive
6
- integer; SEED is optional and may be any number or string.
5
+ "Usage: `fqdn_rand(MAX, [SEED], [DOWNCASE])`. MAX is required and must be a positive
6
+ integer; SEED is optional and may be any number or string; DOWNCASE is optional
7
+ and should be a boolean true or false.
7
8
 
8
9
  Generates a random Integer number greater than or equal to 0 and less than MAX,
9
10
  combining the `$fqdn` fact and the value of SEED for repeatable randomness.
10
11
  (That is, each node will get a different random number from this function, but
11
- a given node's result will be the same every time unless its hostname changes.)
12
+ a given node's result will be the same every time unless its hostname changes.) If
13
+ DOWNCASE is true, then the `fqdn` fact will be downcased when computing the value
14
+ so that the result is not sensitive to the case of the `fqdn` fact.
12
15
 
13
16
  This function is usually used for spacing out runs of resource-intensive cron
14
17
  tasks that run on many nodes, which could cause a thundering herd or degrade
@@ -17,7 +20,12 @@ Puppet::Parser::Functions::newfunction(:fqdn_rand, :arity => -2, :type => :rvalu
17
20
  node. (For example, `fqdn_rand(30)`, `fqdn_rand(30, 'expensive job 1')`, and
18
21
  `fqdn_rand(30, 'expensive job 2')` will produce totally different numbers.)") do |args|
19
22
  max = args.shift.to_i
20
-
23
+ initial_seed = args.shift
24
+ downcase = !!args.shift
25
+
26
+ fqdn = self['::fqdn']
27
+ fqdn = fqdn.downcase if downcase
28
+
21
29
  # Puppet 5.4's fqdn_rand function produces a different value than earlier versions
22
30
  # for the same set of inputs.
23
31
  # This causes problems because the values are often written into service configuration files.
@@ -27,9 +35,9 @@ Puppet::Parser::Functions::newfunction(:fqdn_rand, :arity => -2, :type => :rvalu
27
35
  # when running on a non-FIPS enabled platform and only using SHA256 on FIPS enabled
28
36
  # platforms.
29
37
  if Puppet::Util::Platform.fips_enabled?
30
- seed = Digest::SHA256.hexdigest([self['::fqdn'],max,args].join(':')).hex
38
+ seed = Digest::SHA256.hexdigest([fqdn,max,initial_seed].join(':')).hex
31
39
  else
32
- seed = Digest::MD5.hexdigest([self['::fqdn'],max,args].join(':')).hex
40
+ seed = Digest::MD5.hexdigest([fqdn,max,initial_seed].join(':')).hex
33
41
  end
34
42
 
35
43
  Puppet::Util.deterministic_rand_int(seed,max)
@@ -1,4 +1,4 @@
1
- require 'puppet/util/package'
1
+ require_relative '../../../puppet/util/package'
2
2
 
3
3
  Puppet::Parser::Functions::newfunction( :versioncmp, :type => :rvalue, :arity => 2, :doc =>
4
4
  "Compares two version numbers.
@@ -17,8 +17,8 @@ module Puppet::Parser
17
17
  #
18
18
  def self.evaluating_parser
19
19
  unless defined?(Puppet::Parser::E4ParserAdapter)
20
- require 'puppet/parser/e4_parser_adapter'
21
- require 'puppet/pops/parser/code_merger'
20
+ require_relative '../../puppet/parser/e4_parser_adapter'
21
+ require_relative '../../puppet/pops/parser/code_merger'
22
22
  end
23
23
  E4ParserAdapter.new
24
24
  end
@@ -1,11 +1,11 @@
1
- require 'puppet/resource'
1
+ require_relative '../../puppet/resource'
2
2
 
3
3
  # The primary difference between this class and its
4
4
  # parent is that this class has rules on who can set
5
5
  # parameters
6
6
  class Puppet::Parser::Resource < Puppet::Resource
7
- require 'puppet/parser/resource/param'
8
- require 'puppet/util/tagging'
7
+ require_relative 'resource/param'
8
+ require_relative '../../puppet/util/tagging'
9
9
 
10
10
  include Puppet::Util
11
11
  include Puppet::Util::Errors
@@ -2,9 +2,9 @@
2
2
  # such.
3
3
  require 'forwardable'
4
4
 
5
- require 'puppet/parser'
6
- require 'puppet/parser/templatewrapper'
7
- require 'puppet/parser/resource'
5
+ require_relative '../../puppet/parser'
6
+ require_relative '../../puppet/parser/templatewrapper'
7
+ require_relative '../../puppet/parser/resource'
8
8
 
9
9
  # This class is part of the internal parser/evaluator/compiler functionality of Puppet.
10
10
  # It is passed between the various classes that participate in evaluation.
@@ -1,5 +1,5 @@
1
- require 'puppet/loaders'
2
- require 'puppet/pops'
1
+ require_relative '../../puppet/loaders'
2
+ require_relative '../../puppet/pops'
3
3
 
4
4
  # A Script "compiler" that does not support catalog operations
5
5
  #
@@ -1,6 +1,6 @@
1
- require 'puppet/parser/files'
1
+ require_relative '../../puppet/parser/files'
2
2
  require 'erb'
3
- require 'puppet/file_system'
3
+ require_relative '../../puppet/file_system'
4
4
 
5
5
  # A simple wrapper for templates, so they don't have full access to
6
6
  # the scope objects.