puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin

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 (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -6,7 +6,7 @@ require_relative '../../puppet/ssl/openssl_loader'
6
6
  module Puppet::HTTP::Proxy
7
7
  def self.proxy(uri)
8
8
  if http_proxy_host && !no_proxy?(uri)
9
- Net::HTTP.new(uri.host, uri.port, self.http_proxy_host, self.http_proxy_port, self.http_proxy_user, self.http_proxy_password)
9
+ Net::HTTP.new(uri.host, uri.port, http_proxy_host, http_proxy_port, http_proxy_user, http_proxy_password)
10
10
  else
11
11
  http = Net::HTTP.new(uri.host, uri.port, nil, nil, nil, nil)
12
12
  # Net::HTTP defaults the proxy port even though we said not to
@@ -24,7 +24,7 @@ module Puppet::HTTP::Proxy
24
24
  rescue URI::InvalidURIError
25
25
  return nil
26
26
  end
27
- return nil
27
+ nil
28
28
  end
29
29
 
30
30
  # The documentation around the format of the no_proxy variable seems
@@ -56,11 +56,11 @@ module Puppet::HTTP::Proxy
56
56
  # If this no_proxy entry specifies a port, we want to match it against
57
57
  # the destination port. Otherwise just match hosts.
58
58
  if port
59
- no_proxy_regex = %r(#{host}:#{port}$)
59
+ no_proxy_regex = /#{host}:#{port}$/
60
60
  dest_string = "#{dest.host}:#{dest.port}"
61
61
  else
62
- no_proxy_regex = %r(#{host}$)
63
- dest_string = "#{dest.host}"
62
+ no_proxy_regex = /#{host}$/
63
+ dest_string = dest.host.to_s
64
64
  end
65
65
 
66
66
  if no_proxy_regex.match(dest_string)
@@ -68,11 +68,11 @@ module Puppet::HTTP::Proxy
68
68
  end
69
69
  end
70
70
 
71
- return false
71
+ false
72
72
  end
73
73
 
74
74
  def self.http_proxy_host
75
- env = self.http_proxy_env
75
+ env = http_proxy_env
76
76
 
77
77
  if env and env.host
78
78
  return env.host
@@ -82,21 +82,21 @@ module Puppet::HTTP::Proxy
82
82
  return nil
83
83
  end
84
84
 
85
- return Puppet.settings[:http_proxy_host]
85
+ Puppet.settings[:http_proxy_host]
86
86
  end
87
87
 
88
88
  def self.http_proxy_port
89
- env = self.http_proxy_env
89
+ env = http_proxy_env
90
90
 
91
91
  if env and env.port
92
92
  return env.port
93
93
  end
94
94
 
95
- return Puppet.settings[:http_proxy_port]
95
+ Puppet.settings[:http_proxy_port]
96
96
  end
97
97
 
98
98
  def self.http_proxy_user
99
- env = self.http_proxy_env
99
+ env = http_proxy_env
100
100
 
101
101
  if env and env.user
102
102
  return env.user
@@ -106,11 +106,11 @@ module Puppet::HTTP::Proxy
106
106
  return nil
107
107
  end
108
108
 
109
- return Puppet.settings[:http_proxy_user]
109
+ Puppet.settings[:http_proxy_user]
110
110
  end
111
111
 
112
112
  def self.http_proxy_password
113
- env = self.http_proxy_env
113
+ env = http_proxy_env
114
114
 
115
115
  if env and env.password
116
116
  return env.password
@@ -120,7 +120,7 @@ module Puppet::HTTP::Proxy
120
120
  return nil
121
121
  end
122
122
 
123
- return Puppet.settings[:http_proxy_password]
123
+ Puppet.settings[:http_proxy_password]
124
124
  end
125
125
 
126
126
  def self.no_proxy
@@ -134,6 +134,6 @@ module Puppet::HTTP::Proxy
134
134
  return nil
135
135
  end
136
136
 
137
- return Puppet.settings[:no_proxy]
137
+ Puppet.settings[:no_proxy]
138
138
  end
139
139
  end
@@ -43,7 +43,7 @@ class Puppet::HTTP::Redirector
43
43
  #
44
44
  # @api private
45
45
  def redirect_to(request, response, redirects)
46
- raise Puppet::HTTP::TooManyRedirects.new(request.uri) if redirects >= @redirect_limit
46
+ raise Puppet::HTTP::TooManyRedirects, request.uri if redirects >= @redirect_limit
47
47
 
48
48
  location = parse_location(response)
49
49
  url = request.uri.merge(location)
@@ -56,6 +56,10 @@ class Puppet::HTTP::Redirector
56
56
  next if header.casecmp('Authorization').zero? && request.uri.host.casecmp(location.host) != 0
57
57
  next if header.casecmp('Cookie').zero? && request.uri.host.casecmp(location.host) != 0
58
58
  end
59
+ # Allow Net::HTTP to set its own Accept-Encoding header to avoid errors with HTTP compression.
60
+ # See https://github.com/puppetlabs/puppet/issues/9143
61
+ next if header.casecmp('Accept-Encoding').zero?
62
+
59
63
  new_request[header] = value
60
64
  end
61
65
 
@@ -74,7 +78,7 @@ class Puppet::HTTP::Redirector
74
78
 
75
79
  def parse_location(response)
76
80
  location = response['location']
77
- raise Puppet::HTTP::ProtocolError.new(_("Location response header is missing")) unless location
81
+ raise Puppet::HTTP::ProtocolError, _("Location response header is missing") unless location
78
82
 
79
83
  URI.parse(location)
80
84
  rescue URI::InvalidURIError => e
@@ -42,9 +42,9 @@ class Puppet::HTTP::Resolver
42
42
  # @api public
43
43
  def check_connection?(session, service, ssl_context: nil)
44
44
  service.connect(ssl_context: ssl_context)
45
- return true
45
+ true
46
46
  rescue Puppet::HTTP::ConnectionError => e
47
47
  Puppet.log_exception(e, "Connection to #{service.url} failed, trying next route: #{e.message}")
48
- return false
48
+ false
49
49
  end
50
50
  end
@@ -48,7 +48,7 @@ class Puppet::HTTP::RetryAfterHandler
48
48
  #
49
49
  # @api private
50
50
  def retry_after_interval(request, response, retries)
51
- raise Puppet::HTTP::TooManyRetryAfters.new(request.uri) if retries >= @retry_limit
51
+ raise Puppet::HTTP::TooManyRetryAfters, request.uri if retries >= @retry_limit
52
52
 
53
53
  retry_after = response['Retry-After']
54
54
  return nil unless retry_after
@@ -72,7 +72,7 @@ class Puppet::HTTP::RetryAfterHandler
72
72
  seconds = (tm.to_time - DateTime.now.to_time).to_i
73
73
  [seconds, 0].max
74
74
  rescue ArgumentError
75
- raise Puppet::HTTP::ProtocolError.new(_("Failed to parse Retry-After header '%{retry_after}' as an integer or RFC 2822 date") % { retry_after: retry_after })
75
+ raise Puppet::HTTP::ProtocolError, _("Failed to parse Retry-After header '%{retry_after}' as an integer or RFC 2822 date") % { retry_after: retry_after }
76
76
  end
77
77
  end
78
78
  end
@@ -124,7 +124,7 @@ class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
124
124
  options: { ssl_context: ssl_context }
125
125
  )
126
126
 
127
- raise ArgumentError.new(_('SSL context must contain a client certificate.')) unless ssl_context.client_cert
127
+ raise ArgumentError, _('SSL context must contain a client certificate.') unless ssl_context.client_cert
128
128
 
129
129
  process_response(response)
130
130
 
@@ -118,7 +118,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
118
118
  body,
119
119
  headers: headers,
120
120
  # for legacy reasons we always send environment as a query parameter too
121
- params: { environment: environment },
121
+ params: { environment: environment }
122
122
  )
123
123
 
124
124
  if (compiler = response['X-Puppet-Compiler-Name'])
@@ -163,9 +163,9 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
163
163
  #
164
164
  def post_catalog4(certname, persistence:, environment:, facts: nil, trusted_facts: nil, transaction_uuid: nil, job_id: nil, options: nil)
165
165
  unless persistence.is_a?(Hash) && (missing = [:facts, :catalog] - persistence.keys.map(&:to_sym)).empty?
166
- raise ArgumentError.new("The 'persistence' hash is missing the keys: #{missing.join(', ')}")
166
+ raise ArgumentError, "The 'persistence' hash is missing the keys: #{missing.join(', ')}"
167
167
  end
168
- raise ArgumentError.new("Facts must be a Hash not a #{facts.class}") unless facts.nil? || facts.is_a?(Hash)
168
+ raise ArgumentError, "Facts must be a Hash not a #{facts.class}" unless facts.nil? || facts.is_a?(Hash)
169
169
 
170
170
  body = {
171
171
  certname: certname,
@@ -248,7 +248,7 @@ class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
248
248
  with_base_url("/facts/#{name}"),
249
249
  serialize(formatter, facts),
250
250
  headers: headers,
251
- params: { environment: environment },
251
+ params: { environment: environment }
252
252
  )
253
253
 
254
254
  process_response(response)
@@ -11,7 +11,7 @@ class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
11
11
  API = '/puppet/v3'
12
12
 
13
13
  # @return [RegEx] RegEx used to determine if a path contains a leading slash
14
- PATH_REGEX = /^\//
14
+ PATH_REGEX = %r{^/}
15
15
 
16
16
  # Use `Puppet::HTTP::Session.route_to(:fileserver)` to create or get an instance of this class.
17
17
  #
@@ -47,7 +47,7 @@ class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
47
47
  with_base_url("/report/#{name}"),
48
48
  serialize(formatter, report),
49
49
  headers: headers,
50
- params: { environment: environment },
50
+ params: { environment: environment }
51
51
  )
52
52
 
53
53
  # override parent's process_response handling
@@ -56,7 +56,7 @@ class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
56
56
  if response.success?
57
57
  response
58
58
  else
59
- raise Puppet::HTTP::ResponseError.new(response)
59
+ raise Puppet::HTTP::ResponseError, response
60
60
  end
61
61
  end
62
62
  end
@@ -129,30 +129,26 @@ class Puppet::HTTP::Service
129
129
 
130
130
  def formatter_for_response(response)
131
131
  header = response['Content-Type']
132
- raise Puppet::HTTP::ProtocolError.new(_("No content type in http response; cannot parse")) unless header
132
+ raise Puppet::HTTP::ProtocolError, _("No content type in http response; cannot parse") unless header
133
133
 
134
134
  header.gsub!(/\s*;.*$/, '') # strip any charset
135
135
 
136
136
  formatter = Puppet::Network::FormatHandler.mime(header)
137
- raise Puppet::HTTP::ProtocolError.new("Content-Type is unsupported") if EXCLUDED_FORMATS.include?(formatter.name)
137
+ raise Puppet::HTTP::ProtocolError, "Content-Type is unsupported" if EXCLUDED_FORMATS.include?(formatter.name)
138
138
 
139
139
  formatter
140
140
  end
141
141
 
142
142
  def serialize(formatter, object)
143
- begin
144
- formatter.render(object)
145
- rescue => err
146
- raise Puppet::HTTP::SerializationError.new("Failed to serialize #{object.class} to #{formatter.name}: #{err.message}", err)
147
- end
143
+ formatter.render(object)
144
+ rescue => err
145
+ raise Puppet::HTTP::SerializationError.new("Failed to serialize #{object.class} to #{formatter.name}: #{err.message}", err)
148
146
  end
149
147
 
150
148
  def serialize_multiple(formatter, object)
151
- begin
152
- formatter.render_multiple(object)
153
- rescue => err
154
- raise Puppet::HTTP::SerializationError.new("Failed to serialize multiple #{object.class} to #{formatter.name}: #{err.message}", err)
155
- end
149
+ formatter.render_multiple(object)
150
+ rescue => err
151
+ raise Puppet::HTTP::SerializationError.new("Failed to serialize multiple #{object.class} to #{formatter.name}: #{err.message}", err)
156
152
  end
157
153
 
158
154
  def deserialize(response, model)
@@ -176,6 +172,6 @@ class Puppet::HTTP::Service
176
172
  def process_response(response)
177
173
  @session.process_response(response)
178
174
 
179
- raise Puppet::HTTP::ResponseError.new(response) unless response.success?
175
+ raise Puppet::HTTP::ResponseError, response unless response.success?
180
176
  end
181
177
  end
@@ -52,7 +52,7 @@ class Puppet::HTTP::Session
52
52
  raise ArgumentError, "Unknown service #{name}" unless Puppet::HTTP::Service.valid_name?(name)
53
53
 
54
54
  # short circuit if explicit URL host & port given
55
- if url && url.host != nil && !url.host.empty?
55
+ if url && !url.host.nil? && !url.host.empty?
56
56
  service = Puppet::HTTP::Service.create_service(@client, self, name, url.host, url.port)
57
57
  service.connect(ssl_context: ssl_context)
58
58
  return service
@@ -10,7 +10,7 @@ class Puppet::HTTP::Site
10
10
  attr_reader :scheme, :host, :port
11
11
 
12
12
  def self.from_uri(uri)
13
- self.new(uri.scheme, uri.host, uri.port)
13
+ new(uri.scheme, uri.host, uri.port)
14
14
  end
15
15
 
16
16
  def initialize(scheme, host, port)
@@ -51,7 +51,7 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
51
51
  def find(request)
52
52
  facts = extract_facts_from_request(request)
53
53
 
54
- save_facts_from_request(facts, request) if !facts.nil?
54
+ save_facts_from_request(facts, request) unless facts.nil?
55
55
 
56
56
  node = node_from_request(facts, request)
57
57
  node.trusted_data = Puppet.lookup(:trusted_information) { Puppet::Context::TrustedInformation.local(node) }.to_h
@@ -89,7 +89,7 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
89
89
 
90
90
  # filter-out a catalog to remove exported resources
91
91
  def filter(catalog)
92
- return catalog.filter { |r| r.virtual? } if catalog.respond_to?(:filter)
92
+ return catalog.filter(&:virtual?) if catalog.respond_to?(:filter)
93
93
 
94
94
  catalog
95
95
  end
@@ -120,9 +120,9 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
120
120
  when 'pson'
121
121
  # We unescape here because the corresponding code in Puppet::Configurer::FactHandler encodes with Puppet::Util.uri_query_encode
122
122
  # PSON is deprecated, but continue to accept from older agents
123
- return Puppet::Node::Facts.convert_from('pson', CGI.unescape(facts))
123
+ Puppet::Node::Facts.convert_from('pson', CGI.unescape(facts))
124
124
  when 'application/json'
125
- return Puppet::Node::Facts.convert_from('json', CGI.unescape(facts))
125
+ Puppet::Node::Facts.convert_from('json', CGI.unescape(facts))
126
126
  else
127
127
  raise ArgumentError, _("Unsupported facts format")
128
128
  end
@@ -139,9 +139,9 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
139
139
  # If no match is found, return nil.
140
140
  def common_checksum_type(agent_checksum_type)
141
141
  if agent_checksum_type
142
- agent_checksum_types = agent_checksum_type.split('.').map { |type| type.to_sym }
142
+ agent_checksum_types = agent_checksum_type.split('.').map(&:to_sym)
143
143
  checksum_type = agent_checksum_types.drop_while do |type|
144
- not known_checksum_types.include? type
144
+ !known_checksum_types.include? type
145
145
  end.first
146
146
  end
147
147
  checksum_type
@@ -156,24 +156,23 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
156
156
  source_as_uri = URI.parse(Puppet::Util.uri_encode(source))
157
157
  server = source_as_uri.host
158
158
  port = ":#{source_as_uri.port}" if source_as_uri.port
159
- return "puppet://#{server}#{port}/#{path}"
159
+ "puppet://#{server}#{port}/#{path}"
160
160
  end
161
161
 
162
162
  # Helper method to decide if a file resource's metadata can be inlined.
163
163
  # Also used to profile/log reasons for not inlining.
164
164
  def inlineable?(resource, sources)
165
- case
166
- when resource[:ensure] == 'absent'
165
+ if resource[:ensure] == 'absent'
167
166
  # TRANSLATORS Inlining refers to adding additional metadata (in this case we are not inlining)
168
- return Puppet::Util::Profiler.profile(_("Not inlining absent resource"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :absent]) { false }
169
- when sources.empty?
167
+ Puppet::Util::Profiler.profile(_("Not inlining absent resource"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :absent]) { false }
168
+ elsif sources.empty?
170
169
  # TRANSLATORS Inlining refers to adding additional metadata (in this case we are not inlining)
171
- return Puppet::Util::Profiler.profile(_("Not inlining resource without sources"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :no_sources]) { false }
172
- when (not (sources.all? { |source| source =~ /^puppet:/ }))
170
+ Puppet::Util::Profiler.profile(_("Not inlining resource without sources"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :no_sources]) { false }
171
+ elsif !(sources.all? { |source| source =~ /^puppet:/ })
173
172
  # TRANSLATORS Inlining refers to adding additional metadata (in this case we are not inlining)
174
- return Puppet::Util::Profiler.profile(_("Not inlining unsupported source scheme"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :unsupported_scheme]) { false }
173
+ Puppet::Util::Profiler.profile(_("Not inlining unsupported source scheme"), [:compiler, :static_compile_inlining, :skipped_file_metadata, :unsupported_scheme]) { false }
175
174
  else
176
- return true
175
+ true
177
176
  end
178
177
  end
179
178
 
@@ -185,8 +184,8 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
185
184
 
186
185
  location = Puppet::Module::FILETYPES['files']
187
186
 
188
- !!(source_as_uri.path =~ /^\/modules\// &&
189
- metadata.full_path =~ /#{environment_path}\/[^\/]+\/[^\/]+\/#{location}\/.+/)
187
+ !!(source_as_uri.path =~ %r{^/modules/} &&
188
+ metadata.full_path =~ %r{#{environment_path}/[^/]+/[^/]+/#{location}/.+})
190
189
  end
191
190
 
192
191
  # Helper method to log file resources that could not be inlined because they
@@ -237,32 +236,32 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
237
236
  source = Puppet::Type.type(:file).attrclass(:source).normalize(source)
238
237
 
239
238
  list_of_data = Puppet::FileServing::Metadata.indirection.search(source, options)
240
- if list_of_data
241
- basedir_meta = list_of_data.find { |meta| meta.relative_path == '.' }
242
- devfail "FileServing::Metadata search should always return the root search path" if basedir_meta.nil?
243
-
244
- if !inlineable_metadata?(basedir_meta, source, environment_path)
245
- # If any source is not in the environment path, skip inlining this resource.
246
- log_file_outside_environment
247
- sources_in_environment = false
248
- break
249
- end
239
+ next unless list_of_data
250
240
 
251
- base_content_uri = get_content_uri(basedir_meta, source, environment_path)
252
- list_of_data.each do |metadata|
253
- if metadata.relative_path == '.'
254
- metadata.content_uri = base_content_uri
255
- else
256
- metadata.content_uri = "#{base_content_uri}/#{metadata.relative_path}"
257
- end
258
- end
241
+ basedir_meta = list_of_data.find { |meta| meta.relative_path == '.' }
242
+ devfail "FileServing::Metadata search should always return the root search path" if basedir_meta.nil?
243
+
244
+ unless inlineable_metadata?(basedir_meta, source, environment_path)
245
+ # If any source is not in the environment path, skip inlining this resource.
246
+ log_file_outside_environment
247
+ sources_in_environment = false
248
+ break
249
+ end
259
250
 
260
- source_to_metadatas[source] = list_of_data
261
- # Optimize for returning less data if sourceselect is first
262
- if resource[:sourceselect] == 'first' || resource[:sourceselect].nil?
263
- break
251
+ base_content_uri = get_content_uri(basedir_meta, source, environment_path)
252
+ list_of_data.each do |metadata|
253
+ if metadata.relative_path == '.'
254
+ metadata.content_uri = base_content_uri
255
+ else
256
+ metadata.content_uri = "#{base_content_uri}/#{metadata.relative_path}"
264
257
  end
265
258
  end
259
+
260
+ source_to_metadatas[source] = list_of_data
261
+ # Optimize for returning less data if sourceselect is first
262
+ if resource[:sourceselect] == 'first' || resource[:sourceselect].nil?
263
+ break
264
+ end
266
265
  end
267
266
 
268
267
  if sources_in_environment && !source_to_metadatas.empty?
@@ -282,11 +281,11 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
282
281
  source = Puppet::Type.type(:file).attrclass(:source).normalize(source)
283
282
 
284
283
  data = Puppet::FileServing::Metadata.indirection.find(source, options)
285
- if data
286
- metadata = data
287
- metadata.source = source
288
- break
289
- end
284
+ next unless data
285
+
286
+ metadata = data
287
+ metadata.source = source
288
+ break
290
289
  end
291
290
 
292
291
  raise _("Could not get metadata for %{resource}") % { resource: resource[:source] } unless metadata
@@ -443,7 +442,7 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
443
442
  "serverip" => "networking.ip",
444
443
  "serverip6" => "networking.ip6" }.each do |var, fact|
445
444
  value = Puppet.runtime[:facter].value(fact)
446
- if !value.nil?
445
+ unless value.nil?
447
446
  @server_facts[var] = value
448
447
  end
449
448
  end
@@ -16,12 +16,14 @@ class Puppet::Resource::Catalog::Rest < Puppet::Indirector::REST
16
16
  session = Puppet.lookup(:http_session)
17
17
  api = session.route_to(:puppet)
18
18
 
19
- ip_address = begin
20
- " (#{Resolv.getaddress(api.url.host)})"
21
- rescue Resolv::ResolvError
22
- nil
19
+ unless Puppet.settings[:skip_logging_catalog_request_destination]
20
+ ip_address = begin
21
+ " (#{Resolv.getaddress(api.url.host)})"
22
+ rescue Resolv::ResolvError
23
+ nil
24
+ end
25
+ Puppet.notice("Requesting catalog from #{api.url.host}:#{api.url.port}#{ip_address}")
23
26
  end
24
- Puppet.notice("Requesting catalog from #{api.url.host}:#{api.url.port}#{ip_address}")
25
27
 
26
28
  _, catalog = api.post_catalog(
27
29
  request.key,
@@ -4,5 +4,5 @@ require_relative '../../../puppet/indirector/store_configs'
4
4
  require_relative '../../../puppet/resource/catalog'
5
5
 
6
6
  class Puppet::Resource::Catalog::StoreConfigs < Puppet::Indirector::StoreConfigs
7
- desc %q{Part of the "storeconfigs" feature. Should not be directly set by end users.}
7
+ desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
8
8
  end
@@ -25,9 +25,9 @@ class Puppet::Indirector::Exec < Puppet::Indirector::Terminus
25
25
 
26
26
  if output =~ /\A\s*\Z/ # all whitespace
27
27
  Puppet.debug { "Empty response for #{name} from #{self.name} terminus" }
28
- return nil
28
+ nil
29
29
  else
30
- return output
30
+ output
31
31
  end
32
32
  end
33
33
 
@@ -32,11 +32,11 @@ class Puppet::Indirector::Face < Puppet::Face
32
32
  end
33
33
 
34
34
  def self.indirections
35
- Puppet::Indirector::Indirection.instances.collect { |t| t.to_s }.sort
35
+ Puppet::Indirector::Indirection.instances.collect(&:to_s).sort
36
36
  end
37
37
 
38
38
  def self.terminus_classes(indirection)
39
- Puppet::Indirector::Terminus.terminus_classes(indirection.to_sym).collect { |t| t.to_s }.sort
39
+ Puppet::Indirector::Terminus.terminus_classes(indirection.to_sym).collect(&:to_s).sort
40
40
  end
41
41
 
42
42
  def call_indirection_method(method, key, options)
@@ -53,7 +53,7 @@ class Puppet::Indirector::Face < Puppet::Face
53
53
  raise RuntimeError, message, detail.backtrace
54
54
  end
55
55
 
56
- return result
56
+ result
57
57
  end
58
58
 
59
59
  action :destroy do
@@ -134,11 +134,9 @@ class Puppet::Indirector::Face < Puppet::Face
134
134
  end
135
135
 
136
136
  def set_terminus(from)
137
- begin
138
- indirection.terminus_class = from
139
- rescue => detail
140
- msg = _("Could not set '%{indirection}' terminus to '%{from}' (%{detail}); valid terminus types are %{types}") % { indirection: indirection.name, from: from, detail: detail, types: self.class.terminus_classes(indirection.name).join(", ") }
141
- raise detail, msg, detail.backtrace
142
- end
137
+ indirection.terminus_class = from
138
+ rescue => detail
139
+ msg = _("Could not set '%{indirection}' terminus to '%{from}' (%{detail}); valid terminus types are %{types}") % { indirection: indirection.name, from: from, detail: detail, types: self.class.terminus_classes(indirection.name).join(", ") }
140
+ raise detail, msg, detail.backtrace
143
141
  end
144
142
  end
@@ -9,7 +9,7 @@ module Puppet::Indirector::FactSearch
9
9
 
10
10
  return false unless node_matches_option?(type, name, operator, value, facts)
11
11
  end
12
- return true
12
+ true
13
13
  end
14
14
 
15
15
  def node_matches_option?(type, name, operator, value, facts)
@@ -57,7 +57,7 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
57
57
  def self.setup_search_paths(request)
58
58
  # Add any per-module fact directories to facter's search path
59
59
  dirs = request.environment.modulepath.collect do |dir|
60
- ['lib', 'plugins'].map do |subdirectory|
60
+ %w[lib plugins].map do |subdirectory|
61
61
  Dir.glob("#{dir}/*/#{subdirectory}/facter")
62
62
  end
63
63
  end.flatten + Puppet[:factpath].split(File::PATH_SEPARATOR)
@@ -85,11 +85,11 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
85
85
  # Add any per-module external fact directories to facter's external search path
86
86
  dirs = []
87
87
  request.environment.modules.each do |m|
88
- if m.has_external_facts?
89
- dir = m.plugin_fact_directory
90
- Puppet.debug { "Loading external facts from #{dir}" }
91
- dirs << dir
92
- end
88
+ next unless m.has_external_facts?
89
+
90
+ dir = m.plugin_fact_directory
91
+ Puppet.debug { "Loading external facts from #{dir}" }
92
+ dirs << dir
93
93
  end
94
94
 
95
95
  # Add system external fact directory if it exists
@@ -24,6 +24,6 @@ class Puppet::Node::Facts::Json < Puppet::Indirector::JSON
24
24
  private
25
25
 
26
26
  def json_dir_path
27
- self.path("*")
27
+ path("*")
28
28
  end
29
29
  end
@@ -4,7 +4,7 @@ require_relative '../../../puppet/node/facts'
4
4
  require_relative '../../../puppet/indirector/store_configs'
5
5
 
6
6
  class Puppet::Node::Facts::StoreConfigs < Puppet::Indirector::StoreConfigs
7
- desc %q{Part of the "storeconfigs" feature. Should not be directly set by end users.}
7
+ desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
8
8
 
9
9
  def allow_remote_requests?
10
10
  false