puppet 8.3.1-universal-darwin → 8.4.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 (1052) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +51 -43
  3. data/README.md +4 -4
  4. data/Rakefile +0 -27
  5. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  6. data/ext/windows/service/daemon.rb +4 -5
  7. data/lib/hiera/puppet_function.rb +3 -2
  8. data/lib/hiera/scope.rb +2 -2
  9. data/lib/hiera_puppet.rb +1 -3
  10. data/lib/puppet/agent/disabler.rb +2 -1
  11. data/lib/puppet/agent/locker.rb +1 -2
  12. data/lib/puppet/agent.rb +2 -1
  13. data/lib/puppet/application/agent.rb +292 -291
  14. data/lib/puppet/application/apply.rb +143 -139
  15. data/lib/puppet/application/catalog.rb +1 -0
  16. data/lib/puppet/application/config.rb +1 -0
  17. data/lib/puppet/application/describe.rb +53 -55
  18. data/lib/puppet/application/device.rb +150 -150
  19. data/lib/puppet/application/doc.rb +60 -59
  20. data/lib/puppet/application/epp.rb +1 -0
  21. data/lib/puppet/application/face_base.rb +8 -7
  22. data/lib/puppet/application/facts.rb +1 -0
  23. data/lib/puppet/application/filebucket.rb +186 -184
  24. data/lib/puppet/application/generate.rb +1 -0
  25. data/lib/puppet/application/help.rb +1 -0
  26. data/lib/puppet/application/indirection_base.rb +1 -0
  27. data/lib/puppet/application/lookup.rb +168 -171
  28. data/lib/puppet/application/module.rb +1 -0
  29. data/lib/puppet/application/node.rb +1 -0
  30. data/lib/puppet/application/parser.rb +1 -0
  31. data/lib/puppet/application/plugin.rb +1 -0
  32. data/lib/puppet/application/report.rb +1 -0
  33. data/lib/puppet/application/resource.rb +111 -108
  34. data/lib/puppet/application/script.rb +92 -93
  35. data/lib/puppet/application/ssl.rb +89 -88
  36. data/lib/puppet/application.rb +9 -8
  37. data/lib/puppet/application_support.rb +1 -1
  38. data/lib/puppet/coercion.rb +3 -2
  39. data/lib/puppet/compilable_resource_type.rb +1 -0
  40. data/lib/puppet/concurrent/lock.rb +1 -2
  41. data/lib/puppet/concurrent/synchronized.rb +1 -2
  42. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  43. data/lib/puppet/concurrent.rb +1 -0
  44. data/lib/puppet/configurer/downloader.rb +1 -1
  45. data/lib/puppet/configurer/fact_handler.rb +2 -1
  46. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  47. data/lib/puppet/configurer.rb +17 -13
  48. data/lib/puppet/confine/any.rb +1 -0
  49. data/lib/puppet/confine/boolean.rb +1 -0
  50. data/lib/puppet/confine/exists.rb +1 -0
  51. data/lib/puppet/confine/false.rb +1 -0
  52. data/lib/puppet/confine/feature.rb +1 -0
  53. data/lib/puppet/confine/true.rb +1 -0
  54. data/lib/puppet/confine/variable.rb +1 -0
  55. data/lib/puppet/confine.rb +2 -0
  56. data/lib/puppet/confine_collection.rb +3 -1
  57. data/lib/puppet/confiner.rb +1 -0
  58. data/lib/puppet/context/trusted_information.rb +1 -0
  59. data/lib/puppet/context.rb +1 -0
  60. data/lib/puppet/daemon.rb +4 -1
  61. data/lib/puppet/data_binding.rb +2 -1
  62. data/lib/puppet/datatypes/error.rb +2 -1
  63. data/lib/puppet/datatypes/impl/error.rb +1 -0
  64. data/lib/puppet/datatypes.rb +5 -1
  65. data/lib/puppet/defaults.rb +19 -18
  66. data/lib/puppet/environments.rb +3 -2
  67. data/lib/puppet/error.rb +9 -7
  68. data/lib/puppet/etc.rb +6 -3
  69. data/lib/puppet/external/dot.rb +12 -31
  70. data/lib/puppet/face/catalog/select.rb +2 -1
  71. data/lib/puppet/face/catalog.rb +3 -2
  72. data/lib/puppet/face/config.rb +18 -20
  73. data/lib/puppet/face/epp.rb +6 -6
  74. data/lib/puppet/face/facts.rb +4 -3
  75. data/lib/puppet/face/generate.rb +2 -0
  76. data/lib/puppet/face/help.rb +8 -7
  77. data/lib/puppet/face/module/changes.rb +2 -0
  78. data/lib/puppet/face/module/install.rb +2 -1
  79. data/lib/puppet/face/module/list.rb +7 -8
  80. data/lib/puppet/face/module/uninstall.rb +1 -0
  81. data/lib/puppet/face/module.rb +1 -0
  82. data/lib/puppet/face/node/clean.rb +2 -1
  83. data/lib/puppet/face/node.rb +2 -1
  84. data/lib/puppet/face/parser.rb +2 -2
  85. data/lib/puppet/face/plugin.rb +2 -1
  86. data/lib/puppet/face/report.rb +2 -1
  87. data/lib/puppet/face/resource.rb +1 -0
  88. data/lib/puppet/face.rb +1 -0
  89. data/lib/puppet/feature/base.rb +2 -1
  90. data/lib/puppet/feature/bolt.rb +1 -0
  91. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  92. data/lib/puppet/feature/eventlog.rb +1 -0
  93. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  94. data/lib/puppet/feature/hocon.rb +1 -0
  95. data/lib/puppet/feature/libuser.rb +4 -3
  96. data/lib/puppet/feature/msgpack.rb +1 -0
  97. data/lib/puppet/feature/pe_license.rb +2 -1
  98. data/lib/puppet/feature/pson.rb +1 -0
  99. data/lib/puppet/feature/selinux.rb +1 -0
  100. data/lib/puppet/feature/ssh.rb +1 -0
  101. data/lib/puppet/feature/telnet.rb +1 -0
  102. data/lib/puppet/feature/zlib.rb +1 -0
  103. data/lib/puppet/ffi/posix/constants.rb +1 -0
  104. data/lib/puppet/ffi/posix/functions.rb +1 -1
  105. data/lib/puppet/ffi/posix.rb +1 -0
  106. data/lib/puppet/ffi/windows/api_types.rb +1 -0
  107. data/lib/puppet/ffi/windows/constants.rb +78 -77
  108. data/lib/puppet/ffi/windows/functions.rb +73 -73
  109. data/lib/puppet/ffi/windows/structs.rb +3 -3
  110. data/lib/puppet/ffi/windows.rb +1 -0
  111. data/lib/puppet/file_bucket/dipper.rb +7 -1
  112. data/lib/puppet/file_bucket/file.rb +1 -0
  113. data/lib/puppet/file_bucket.rb +1 -0
  114. data/lib/puppet/file_serving/base.rb +13 -6
  115. data/lib/puppet/file_serving/configuration/parser.rb +3 -1
  116. data/lib/puppet/file_serving/configuration.rb +5 -3
  117. data/lib/puppet/file_serving/content.rb +1 -0
  118. data/lib/puppet/file_serving/fileset.rb +9 -6
  119. data/lib/puppet/file_serving/http_metadata.rb +1 -3
  120. data/lib/puppet/file_serving/metadata.rb +9 -10
  121. data/lib/puppet/file_serving/mount/file.rb +6 -3
  122. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  123. data/lib/puppet/file_serving/mount/modules.rb +2 -0
  124. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  125. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  126. data/lib/puppet/file_serving/mount/scripts.rb +2 -0
  127. data/lib/puppet/file_serving/mount/tasks.rb +2 -0
  128. data/lib/puppet/file_serving/mount.rb +2 -0
  129. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  130. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  131. data/lib/puppet/file_serving.rb +1 -0
  132. data/lib/puppet/file_system/file_impl.rb +2 -2
  133. data/lib/puppet/file_system/jruby.rb +1 -0
  134. data/lib/puppet/file_system/memory_file.rb +2 -0
  135. data/lib/puppet/file_system/memory_impl.rb +3 -0
  136. data/lib/puppet/file_system/path_pattern.rb +1 -0
  137. data/lib/puppet/file_system/posix.rb +5 -1
  138. data/lib/puppet/file_system/uniquefile.rb +11 -11
  139. data/lib/puppet/file_system/windows.rb +4 -2
  140. data/lib/puppet/file_system.rb +3 -2
  141. data/lib/puppet/forge/cache.rb +1 -1
  142. data/lib/puppet/forge/errors.rb +1 -3
  143. data/lib/puppet/forge/repository.rb +2 -0
  144. data/lib/puppet/forge.rb +3 -0
  145. data/lib/puppet/functions/abs.rb +2 -1
  146. data/lib/puppet/functions/alert.rb +1 -0
  147. data/lib/puppet/functions/all.rb +1 -0
  148. data/lib/puppet/functions/annotate.rb +1 -0
  149. data/lib/puppet/functions/any.rb +1 -0
  150. data/lib/puppet/functions/assert_type.rb +1 -0
  151. data/lib/puppet/functions/binary_file.rb +3 -1
  152. data/lib/puppet/functions/break.rb +2 -1
  153. data/lib/puppet/functions/call.rb +1 -1
  154. data/lib/puppet/functions/camelcase.rb +1 -1
  155. data/lib/puppet/functions/capitalize.rb +1 -1
  156. data/lib/puppet/functions/ceiling.rb +2 -2
  157. data/lib/puppet/functions/chomp.rb +1 -1
  158. data/lib/puppet/functions/chop.rb +1 -1
  159. data/lib/puppet/functions/compare.rb +1 -0
  160. data/lib/puppet/functions/contain.rb +1 -0
  161. data/lib/puppet/functions/convert_to.rb +1 -0
  162. data/lib/puppet/functions/crit.rb +1 -0
  163. data/lib/puppet/functions/debug.rb +1 -0
  164. data/lib/puppet/functions/defined.rb +7 -4
  165. data/lib/puppet/functions/dig.rb +10 -8
  166. data/lib/puppet/functions/downcase.rb +1 -0
  167. data/lib/puppet/functions/each.rb +1 -0
  168. data/lib/puppet/functions/emerg.rb +1 -0
  169. data/lib/puppet/functions/empty.rb +1 -0
  170. data/lib/puppet/functions/epp.rb +1 -1
  171. data/lib/puppet/functions/err.rb +1 -0
  172. data/lib/puppet/functions/eyaml_lookup_key.rb +6 -4
  173. data/lib/puppet/functions/filter.rb +1 -0
  174. data/lib/puppet/functions/find_file.rb +1 -0
  175. data/lib/puppet/functions/find_template.rb +1 -0
  176. data/lib/puppet/functions/flatten.rb +1 -0
  177. data/lib/puppet/functions/floor.rb +2 -2
  178. data/lib/puppet/functions/get.rb +2 -1
  179. data/lib/puppet/functions/getvar.rb +2 -1
  180. data/lib/puppet/functions/hiera.rb +1 -0
  181. data/lib/puppet/functions/hiera_array.rb +1 -0
  182. data/lib/puppet/functions/hiera_hash.rb +1 -0
  183. data/lib/puppet/functions/hiera_include.rb +2 -0
  184. data/lib/puppet/functions/hocon_data.rb +1 -0
  185. data/lib/puppet/functions/import.rb +1 -0
  186. data/lib/puppet/functions/include.rb +1 -0
  187. data/lib/puppet/functions/index.rb +2 -2
  188. data/lib/puppet/functions/info.rb +1 -0
  189. data/lib/puppet/functions/inline_epp.rb +1 -1
  190. data/lib/puppet/functions/join.rb +2 -1
  191. data/lib/puppet/functions/json_data.rb +1 -0
  192. data/lib/puppet/functions/keys.rb +1 -0
  193. data/lib/puppet/functions/length.rb +1 -1
  194. data/lib/puppet/functions/lest.rb +1 -0
  195. data/lib/puppet/functions/lookup.rb +8 -9
  196. data/lib/puppet/functions/lstrip.rb +1 -1
  197. data/lib/puppet/functions/map.rb +1 -0
  198. data/lib/puppet/functions/match.rb +3 -1
  199. data/lib/puppet/functions/max.rb +4 -4
  200. data/lib/puppet/functions/min.rb +4 -4
  201. data/lib/puppet/functions/module_directory.rb +1 -0
  202. data/lib/puppet/functions/new.rb +2 -1
  203. data/lib/puppet/functions/next.rb +1 -0
  204. data/lib/puppet/functions/notice.rb +1 -0
  205. data/lib/puppet/functions/reduce.rb +1 -1
  206. data/lib/puppet/functions/regsubst.rb +1 -0
  207. data/lib/puppet/functions/require.rb +2 -0
  208. data/lib/puppet/functions/return.rb +1 -0
  209. data/lib/puppet/functions/reverse_each.rb +1 -0
  210. data/lib/puppet/functions/round.rb +1 -0
  211. data/lib/puppet/functions/rstrip.rb +1 -1
  212. data/lib/puppet/functions/scanf.rb +1 -0
  213. data/lib/puppet/functions/size.rb +1 -2
  214. data/lib/puppet/functions/slice.rb +2 -0
  215. data/lib/puppet/functions/sort.rb +1 -0
  216. data/lib/puppet/functions/split.rb +1 -0
  217. data/lib/puppet/functions/step.rb +1 -0
  218. data/lib/puppet/functions/strftime.rb +3 -2
  219. data/lib/puppet/functions/strip.rb +1 -1
  220. data/lib/puppet/functions/then.rb +2 -0
  221. data/lib/puppet/functions/tree_each.rb +1 -1
  222. data/lib/puppet/functions/type.rb +1 -0
  223. data/lib/puppet/functions/unique.rb +2 -1
  224. data/lib/puppet/functions/unwrap.rb +1 -0
  225. data/lib/puppet/functions/upcase.rb +1 -0
  226. data/lib/puppet/functions/values.rb +1 -0
  227. data/lib/puppet/functions/versioncmp.rb +2 -2
  228. data/lib/puppet/functions/warning.rb +1 -0
  229. data/lib/puppet/functions/with.rb +1 -0
  230. data/lib/puppet/functions/yaml_data.rb +1 -0
  231. data/lib/puppet/functions.rb +9 -9
  232. data/lib/puppet/generate/models/type/property.rb +2 -0
  233. data/lib/puppet/generate/models/type/type.rb +2 -0
  234. data/lib/puppet/generate/type.rb +6 -1
  235. data/lib/puppet/gettext/config.rb +6 -0
  236. data/lib/puppet/gettext/module_translations.rb +1 -1
  237. data/lib/puppet/gettext/stubs.rb +1 -0
  238. data/lib/puppet/graph/key.rb +1 -0
  239. data/lib/puppet/graph/prioritizer.rb +1 -0
  240. data/lib/puppet/graph/rb_tree_map.rb +12 -2
  241. data/lib/puppet/graph/relationship_graph.rb +3 -2
  242. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  243. data/lib/puppet/graph/simple_graph.rb +38 -31
  244. data/lib/puppet/graph.rb +1 -0
  245. data/lib/puppet/http/client.rb +4 -1
  246. data/lib/puppet/http/dns.rb +5 -5
  247. data/lib/puppet/http/errors.rb +1 -0
  248. data/lib/puppet/http/external_client.rb +2 -2
  249. data/lib/puppet/http/factory.rb +1 -0
  250. data/lib/puppet/http/pool.rb +2 -1
  251. data/lib/puppet/http/pool_entry.rb +1 -0
  252. data/lib/puppet/http/proxy.rb +3 -2
  253. data/lib/puppet/http/redirector.rb +1 -0
  254. data/lib/puppet/http/resolver/server_list.rb +1 -1
  255. data/lib/puppet/http/resolver/settings.rb +1 -1
  256. data/lib/puppet/http/resolver/srv.rb +1 -1
  257. data/lib/puppet/http/resolver.rb +1 -0
  258. data/lib/puppet/http/response.rb +1 -0
  259. data/lib/puppet/http/response_converter.rb +1 -0
  260. data/lib/puppet/http/response_net_http.rb +1 -1
  261. data/lib/puppet/http/retry_after_handler.rb +1 -1
  262. data/lib/puppet/http/service/ca.rb +1 -0
  263. data/lib/puppet/http/service/compiler.rb +9 -3
  264. data/lib/puppet/http/service/file_server.rb +2 -1
  265. data/lib/puppet/http/service/puppetserver.rb +1 -1
  266. data/lib/puppet/http/service/report.rb +1 -1
  267. data/lib/puppet/http/service.rb +1 -0
  268. data/lib/puppet/http/session.rb +2 -1
  269. data/lib/puppet/http/site.rb +1 -0
  270. data/lib/puppet/http.rb +1 -0
  271. data/lib/puppet/indirector/catalog/compiler.rb +50 -40
  272. data/lib/puppet/indirector/catalog/json.rb +1 -0
  273. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  274. data/lib/puppet/indirector/catalog/rest.rb +9 -0
  275. data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
  276. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  277. data/lib/puppet/indirector/code.rb +1 -0
  278. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  279. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  280. data/lib/puppet/indirector/direct_file_server.rb +3 -1
  281. data/lib/puppet/indirector/envelope.rb +1 -0
  282. data/lib/puppet/indirector/errors.rb +1 -0
  283. data/lib/puppet/indirector/exec.rb +1 -0
  284. data/lib/puppet/indirector/face.rb +7 -6
  285. data/lib/puppet/indirector/fact_search.rb +1 -0
  286. data/lib/puppet/indirector/facts/facter.rb +2 -0
  287. data/lib/puppet/indirector/facts/json.rb +1 -0
  288. data/lib/puppet/indirector/facts/memory.rb +1 -0
  289. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  290. data/lib/puppet/indirector/facts/rest.rb +1 -0
  291. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  292. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  293. data/lib/puppet/indirector/file_bucket_file/file.rb +10 -5
  294. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
  295. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  296. data/lib/puppet/indirector/file_content/file.rb +1 -0
  297. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  298. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  299. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  300. data/lib/puppet/indirector/file_content.rb +1 -0
  301. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  302. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  303. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  304. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  305. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata.rb +1 -0
  307. data/lib/puppet/indirector/file_server.rb +2 -0
  308. data/lib/puppet/indirector/generic_http.rb +1 -0
  309. data/lib/puppet/indirector/hiera.rb +5 -4
  310. data/lib/puppet/indirector/indirection.rb +11 -1
  311. data/lib/puppet/indirector/json.rb +3 -1
  312. data/lib/puppet/indirector/memory.rb +2 -0
  313. data/lib/puppet/indirector/msgpack.rb +5 -2
  314. data/lib/puppet/indirector/node/exec.rb +3 -2
  315. data/lib/puppet/indirector/node/json.rb +1 -1
  316. data/lib/puppet/indirector/node/memory.rb +1 -0
  317. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  318. data/lib/puppet/indirector/node/plain.rb +1 -0
  319. data/lib/puppet/indirector/node/rest.rb +1 -0
  320. data/lib/puppet/indirector/node/store_configs.rb +1 -2
  321. data/lib/puppet/indirector/node/yaml.rb +1 -0
  322. data/lib/puppet/indirector/none.rb +1 -0
  323. data/lib/puppet/indirector/plain.rb +1 -0
  324. data/lib/puppet/indirector/report/json.rb +1 -0
  325. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  326. data/lib/puppet/indirector/report/processor.rb +2 -0
  327. data/lib/puppet/indirector/report/rest.rb +1 -0
  328. data/lib/puppet/indirector/report/yaml.rb +1 -0
  329. data/lib/puppet/indirector/request.rb +7 -5
  330. data/lib/puppet/indirector/resource/ral.rb +1 -0
  331. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  332. data/lib/puppet/indirector/resource/validator.rb +1 -0
  333. data/lib/puppet/indirector/rest.rb +1 -0
  334. data/lib/puppet/indirector/store_configs.rb +1 -0
  335. data/lib/puppet/indirector/terminus.rb +4 -1
  336. data/lib/puppet/indirector/yaml.rb +1 -0
  337. data/lib/puppet/indirector.rb +2 -0
  338. data/lib/puppet/info_service/class_information_service.rb +5 -3
  339. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  340. data/lib/puppet/info_service/task_information_service.rb +1 -0
  341. data/lib/puppet/interface/action.rb +32 -27
  342. data/lib/puppet/interface/action_builder.rb +14 -14
  343. data/lib/puppet/interface/action_manager.rb +2 -0
  344. data/lib/puppet/interface/documentation.rb +21 -15
  345. data/lib/puppet/interface/face_collection.rb +5 -2
  346. data/lib/puppet/interface/option.rb +15 -4
  347. data/lib/puppet/interface/option_builder.rb +13 -9
  348. data/lib/puppet/interface/option_manager.rb +3 -2
  349. data/lib/puppet/interface.rb +3 -3
  350. data/lib/puppet/loaders.rb +1 -1
  351. data/lib/puppet/metatype/manager.rb +9 -8
  352. data/lib/puppet/module/plan.rb +10 -4
  353. data/lib/puppet/module/task.rb +8 -2
  354. data/lib/puppet/module.rb +13 -3
  355. data/lib/puppet/module_tool/applications/application.rb +6 -4
  356. data/lib/puppet/module_tool/applications/checksummer.rb +1 -2
  357. data/lib/puppet/module_tool/applications/installer.rb +32 -45
  358. data/lib/puppet/module_tool/applications/uninstaller.rb +22 -21
  359. data/lib/puppet/module_tool/applications/unpacker.rb +3 -0
  360. data/lib/puppet/module_tool/applications/upgrader.rb +28 -26
  361. data/lib/puppet/module_tool/applications.rb +1 -0
  362. data/lib/puppet/module_tool/checksums.rb +1 -1
  363. data/lib/puppet/module_tool/contents_description.rb +1 -2
  364. data/lib/puppet/module_tool/dependency.rb +1 -1
  365. data/lib/puppet/module_tool/errors/base.rb +1 -0
  366. data/lib/puppet/module_tool/errors/installer.rb +4 -4
  367. data/lib/puppet/module_tool/errors/shared.rb +12 -12
  368. data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
  369. data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
  370. data/lib/puppet/module_tool/errors.rb +1 -0
  371. data/lib/puppet/module_tool/install_directory.rb +6 -4
  372. data/lib/puppet/module_tool/installed_modules.rb +2 -0
  373. data/lib/puppet/module_tool/local_tarball.rb +3 -0
  374. data/lib/puppet/module_tool/metadata.rb +21 -20
  375. data/lib/puppet/module_tool/shared_behaviors.rb +23 -21
  376. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  377. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  378. data/lib/puppet/module_tool/tar.rb +2 -1
  379. data/lib/puppet/module_tool.rb +1 -1
  380. data/lib/puppet/network/authconfig.rb +1 -0
  381. data/lib/puppet/network/authorization.rb +1 -0
  382. data/lib/puppet/network/client_request.rb +1 -0
  383. data/lib/puppet/network/format.rb +5 -0
  384. data/lib/puppet/network/format_handler.rb +2 -1
  385. data/lib/puppet/network/format_support.rb +6 -5
  386. data/lib/puppet/network/formats.rb +15 -11
  387. data/lib/puppet/network/http/api/indirected_routes.rb +8 -8
  388. data/lib/puppet/network/http/api/indirection_type.rb +1 -1
  389. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  390. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  391. data/lib/puppet/network/http/api/master.rb +1 -0
  392. data/lib/puppet/network/http/api/server/v3/environments.rb +20 -14
  393. data/lib/puppet/network/http/api/server/v3.rb +13 -13
  394. data/lib/puppet/network/http/api/server.rb +1 -0
  395. data/lib/puppet/network/http/api.rb +11 -10
  396. data/lib/puppet/network/http/connection.rb +1 -0
  397. data/lib/puppet/network/http/error.rb +2 -1
  398. data/lib/puppet/network/http/handler.rb +3 -2
  399. data/lib/puppet/network/http/issues.rb +1 -0
  400. data/lib/puppet/network/http/memory_response.rb +1 -0
  401. data/lib/puppet/network/http/request.rb +13 -6
  402. data/lib/puppet/network/http/response.rb +1 -0
  403. data/lib/puppet/network/http/route.rb +4 -2
  404. data/lib/puppet/network/http.rb +1 -0
  405. data/lib/puppet/network/http_pool.rb +2 -1
  406. data/lib/puppet/network/uri.rb +1 -0
  407. data/lib/puppet/network.rb +1 -0
  408. data/lib/puppet/node/environment.rb +12 -9
  409. data/lib/puppet/node/facts.rb +2 -1
  410. data/lib/puppet/node.rb +3 -2
  411. data/lib/puppet/pal/catalog_compiler.rb +1 -3
  412. data/lib/puppet/pal/compiler.rb +6 -2
  413. data/lib/puppet/pal/function_signature.rb +2 -1
  414. data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
  415. data/lib/puppet/pal/pal_api.rb +1 -0
  416. data/lib/puppet/pal/pal_impl.rb +20 -19
  417. data/lib/puppet/pal/plan_signature.rb +2 -1
  418. data/lib/puppet/pal/script_compiler.rb +3 -2
  419. data/lib/puppet/pal/task_signature.rb +14 -9
  420. data/lib/puppet/parameter/boolean.rb +1 -0
  421. data/lib/puppet/parameter/package_options.rb +1 -0
  422. data/lib/puppet/parameter/path.rb +3 -0
  423. data/lib/puppet/parameter/value.rb +1 -0
  424. data/lib/puppet/parameter/value_collection.rb +5 -5
  425. data/lib/puppet/parameter.rb +4 -3
  426. data/lib/puppet/parser/abstract_compiler.rb +0 -2
  427. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  428. data/lib/puppet/parser/ast/branch.rb +1 -0
  429. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  430. data/lib/puppet/parser/ast/leaf.rb +2 -0
  431. data/lib/puppet/parser/ast/node.rb +1 -0
  432. data/lib/puppet/parser/ast/pops_bridge.rb +6 -6
  433. data/lib/puppet/parser/ast/resource.rb +2 -3
  434. data/lib/puppet/parser/ast/resource_instance.rb +2 -0
  435. data/lib/puppet/parser/ast/resourceparam.rb +6 -5
  436. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  437. data/lib/puppet/parser/ast.rb +4 -3
  438. data/lib/puppet/parser/catalog_compiler.rb +1 -2
  439. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -0
  440. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  441. data/lib/puppet/parser/compiler.rb +10 -8
  442. data/lib/puppet/parser/e4_parser_adapter.rb +15 -15
  443. data/lib/puppet/parser/files.rb +1 -1
  444. data/lib/puppet/parser/functions/assert_type.rb +55 -54
  445. data/lib/puppet/parser/functions/binary_file.rb +19 -18
  446. data/lib/puppet/parser/functions/break.rb +35 -34
  447. data/lib/puppet/parser/functions/contain.rb +1 -0
  448. data/lib/puppet/parser/functions/create_resources.rb +8 -6
  449. data/lib/puppet/parser/functions/defined.rb +102 -101
  450. data/lib/puppet/parser/functions/dig.rb +33 -32
  451. data/lib/puppet/parser/functions/digest.rb +1 -0
  452. data/lib/puppet/parser/functions/each.rb +99 -98
  453. data/lib/puppet/parser/functions/epp.rb +2 -2
  454. data/lib/puppet/parser/functions/fail.rb +9 -8
  455. data/lib/puppet/parser/functions/file.rb +14 -13
  456. data/lib/puppet/parser/functions/filter.rb +74 -73
  457. data/lib/puppet/parser/functions/find_file.rb +22 -21
  458. data/lib/puppet/parser/functions/fqdn_rand.rb +23 -22
  459. data/lib/puppet/parser/functions/generate.rb +20 -20
  460. data/lib/puppet/parser/functions/hiera.rb +94 -93
  461. data/lib/puppet/parser/functions/hiera_array.rb +82 -81
  462. data/lib/puppet/parser/functions/hiera_hash.rb +92 -91
  463. data/lib/puppet/parser/functions/hiera_include.rb +92 -91
  464. data/lib/puppet/parser/functions/include.rb +2 -1
  465. data/lib/puppet/parser/functions/inline_epp.rb +2 -2
  466. data/lib/puppet/parser/functions/inline_template.rb +11 -11
  467. data/lib/puppet/parser/functions/lest.rb +44 -43
  468. data/lib/puppet/parser/functions/lookup.rb +131 -130
  469. data/lib/puppet/parser/functions/map.rb +71 -70
  470. data/lib/puppet/parser/functions/match.rb +39 -38
  471. data/lib/puppet/parser/functions/md5.rb +2 -1
  472. data/lib/puppet/parser/functions/new.rb +985 -984
  473. data/lib/puppet/parser/functions/next.rb +34 -33
  474. data/lib/puppet/parser/functions/realize.rb +9 -9
  475. data/lib/puppet/parser/functions/reduce.rb +132 -131
  476. data/lib/puppet/parser/functions/regsubst.rb +6 -5
  477. data/lib/puppet/parser/functions/require.rb +5 -4
  478. data/lib/puppet/parser/functions/return.rb +88 -87
  479. data/lib/puppet/parser/functions/reverse_each.rb +78 -77
  480. data/lib/puppet/parser/functions/scanf.rb +28 -27
  481. data/lib/puppet/parser/functions/sha1.rb +2 -1
  482. data/lib/puppet/parser/functions/sha256.rb +1 -0
  483. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  484. data/lib/puppet/parser/functions/slice.rb +34 -33
  485. data/lib/puppet/parser/functions/split.rb +5 -6
  486. data/lib/puppet/parser/functions/sprintf.rb +3 -3
  487. data/lib/puppet/parser/functions/step.rb +79 -78
  488. data/lib/puppet/parser/functions/strftime.rb +180 -179
  489. data/lib/puppet/parser/functions/tag.rb +7 -6
  490. data/lib/puppet/parser/functions/tagged.rb +13 -12
  491. data/lib/puppet/parser/functions/template.rb +24 -23
  492. data/lib/puppet/parser/functions/then.rb +68 -67
  493. data/lib/puppet/parser/functions/type.rb +48 -47
  494. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  495. data/lib/puppet/parser/functions/with.rb +23 -22
  496. data/lib/puppet/parser/functions.rb +2 -0
  497. data/lib/puppet/parser/parser_factory.rb +1 -0
  498. data/lib/puppet/parser/relationship.rb +3 -0
  499. data/lib/puppet/parser/resource/param.rb +1 -0
  500. data/lib/puppet/parser/resource.rb +10 -4
  501. data/lib/puppet/parser/scope.rb +40 -32
  502. data/lib/puppet/parser/script_compiler.rb +5 -6
  503. data/lib/puppet/parser/templatewrapper.rb +1 -0
  504. data/lib/puppet/parser/type_loader.rb +19 -17
  505. data/lib/puppet/parser.rb +1 -0
  506. data/lib/puppet/plugins/configuration.rb +1 -0
  507. data/lib/puppet/plugins/syntax_checkers.rb +1 -1
  508. data/lib/puppet/plugins.rb +1 -0
  509. data/lib/puppet/pops/adaptable.rb +3 -1
  510. data/lib/puppet/pops/adapters.rb +3 -1
  511. data/lib/puppet/pops/evaluator/access_operator.rb +79 -65
  512. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
  513. data/lib/puppet/pops/evaluator/closure.rb +273 -277
  514. data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -9
  515. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  516. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
  517. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -4
  518. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -1
  519. data/lib/puppet/pops/evaluator/compare_operator.rb +15 -3
  520. data/lib/puppet/pops/evaluator/deferred_resolver.rb +2 -2
  521. data/lib/puppet/pops/evaluator/epp_evaluator.rb +10 -10
  522. data/lib/puppet/pops/evaluator/evaluator_impl.rb +140 -138
  523. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  524. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  525. data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
  526. data/lib/puppet/pops/evaluator/puppet_proc.rb +2 -0
  527. data/lib/puppet/pops/evaluator/relationship_operator.rb +5 -3
  528. data/lib/puppet/pops/evaluator/runtime3_converter.rb +21 -19
  529. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
  530. data/lib/puppet/pops/evaluator/runtime3_support.rb +16 -19
  531. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  532. data/lib/puppet/pops/functions/dispatcher.rb +1 -1
  533. data/lib/puppet/pops/functions/function.rb +1 -2
  534. data/lib/puppet/pops/issue_reporter.rb +19 -17
  535. data/lib/puppet/pops/issues.rb +8 -4
  536. data/lib/puppet/pops/label_provider.rb +1 -0
  537. data/lib/puppet/pops/loader/base_loader.rb +2 -2
  538. data/lib/puppet/pops/loader/dependency_loader.rb +3 -0
  539. data/lib/puppet/pops/loader/gem_support.rb +3 -1
  540. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  541. data/lib/puppet/pops/loader/loader.rb +1 -2
  542. data/lib/puppet/pops/loader/loader_paths.rb +20 -19
  543. data/lib/puppet/pops/loader/module_loaders.rb +28 -28
  544. data/lib/puppet/pops/loader/predefined_loader.rb +1 -2
  545. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +4 -2
  546. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +4 -2
  547. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -1
  548. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
  549. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
  550. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -2
  551. data/lib/puppet/pops/loader/runtime3_type_loader.rb +2 -2
  552. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -2
  553. data/lib/puppet/pops/loader/static_loader.rb +22 -21
  554. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/type_definition_instantiator.rb +6 -4
  556. data/lib/puppet/pops/loader/typed_name.rb +1 -0
  557. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  558. data/lib/puppet/pops/loaders.rb +21 -18
  559. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  560. data/lib/puppet/pops/lookup/context.rb +24 -23
  561. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  562. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
  563. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
  564. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  565. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  566. data/lib/puppet/pops/lookup/explainer.rb +34 -33
  567. data/lib/puppet/pops/lookup/function_provider.rb +7 -6
  568. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  569. data/lib/puppet/pops/lookup/hiera_config.rb +136 -100
  570. data/lib/puppet/pops/lookup/interpolation.rb +5 -1
  571. data/lib/puppet/pops/lookup/invocation.rb +3 -0
  572. data/lib/puppet/pops/lookup/key_recorder.rb +3 -1
  573. data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
  574. data/lib/puppet/pops/lookup/lookup_adapter.rb +22 -20
  575. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  576. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
  577. data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
  578. data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
  579. data/lib/puppet/pops/lookup.rb +13 -8
  580. data/lib/puppet/pops/merge_strategy.rb +5 -2
  581. data/lib/puppet/pops/migration/migration_checker.rb +3 -1
  582. data/lib/puppet/pops/model/ast.rb +786 -685
  583. data/lib/puppet/pops/model/ast_transformer.rb +4 -3
  584. data/lib/puppet/pops/model/factory.rb +17 -13
  585. data/lib/puppet/pops/model/model_label_provider.rb +1 -1
  586. data/lib/puppet/pops/model/model_tree_dumper.rb +10 -9
  587. data/lib/puppet/pops/model/pn_transformer.rb +4 -6
  588. data/lib/puppet/pops/model/tree_dumper.rb +2 -0
  589. data/lib/puppet/pops/parser/code_merger.rb +0 -1
  590. data/lib/puppet/pops/parser/epp_parser.rb +1 -1
  591. data/lib/puppet/pops/parser/epp_support.rb +2 -2
  592. data/lib/puppet/pops/parser/evaluating_parser.rb +5 -2
  593. data/lib/puppet/pops/parser/heredoc_support.rb +6 -7
  594. data/lib/puppet/pops/parser/interpolation_support.rb +2 -3
  595. data/lib/puppet/pops/parser/lexer2.rb +32 -29
  596. data/lib/puppet/pops/parser/lexer_support.rb +38 -41
  597. data/lib/puppet/pops/parser/locatable.rb +1 -2
  598. data/lib/puppet/pops/parser/locator.rb +31 -28
  599. data/lib/puppet/pops/parser/parser_support.rb +2 -0
  600. data/lib/puppet/pops/parser/pn_parser.rb +1 -1
  601. data/lib/puppet/pops/parser/slurp_support.rb +33 -32
  602. data/lib/puppet/pops/patterns.rb +2 -3
  603. data/lib/puppet/pops/pcore.rb +2 -2
  604. data/lib/puppet/pops/pn.rb +3 -0
  605. data/lib/puppet/pops/puppet_stack.rb +1 -0
  606. data/lib/puppet/pops/resource/param.rb +11 -10
  607. data/lib/puppet/pops/resource/resource_type_impl.rb +37 -36
  608. data/lib/puppet/pops/semantic_error.rb +1 -0
  609. data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
  610. data/lib/puppet/pops/serialization/abstract_writer.rb +5 -4
  611. data/lib/puppet/pops/serialization/deserializer.rb +2 -0
  612. data/lib/puppet/pops/serialization/extension.rb +7 -0
  613. data/lib/puppet/pops/serialization/from_data_converter.rb +3 -0
  614. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  615. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  616. data/lib/puppet/pops/serialization/json.rb +6 -3
  617. data/lib/puppet/pops/serialization/json_path.rb +1 -0
  618. data/lib/puppet/pops/serialization/object.rb +4 -1
  619. data/lib/puppet/pops/serialization/serializer.rb +6 -2
  620. data/lib/puppet/pops/serialization/time_factory.rb +1 -1
  621. data/lib/puppet/pops/serialization/to_data_converter.rb +4 -2
  622. data/lib/puppet/pops/serialization/to_stringified_converter.rb +2 -2
  623. data/lib/puppet/pops/serialization.rb +1 -0
  624. data/lib/puppet/pops/time/timespan.rb +12 -2
  625. data/lib/puppet/pops/time/timestamp.rb +4 -0
  626. data/lib/puppet/pops/types/annotatable.rb +1 -1
  627. data/lib/puppet/pops/types/annotation.rb +1 -0
  628. data/lib/puppet/pops/types/class_loader.rb +8 -6
  629. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  630. data/lib/puppet/pops/types/iterable.rb +18 -9
  631. data/lib/puppet/pops/types/p_binary_type.rb +2 -3
  632. data/lib/puppet/pops/types/p_init_type.rb +12 -9
  633. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  634. data/lib/puppet/pops/types/p_object_type.rb +65 -42
  635. data/lib/puppet/pops/types/p_object_type_extension.rb +10 -7
  636. data/lib/puppet/pops/types/p_runtime_type.rb +11 -9
  637. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  638. data/lib/puppet/pops/types/p_sem_ver_type.rb +5 -5
  639. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -4
  640. data/lib/puppet/pops/types/p_timespan_type.rb +4 -2
  641. data/lib/puppet/pops/types/p_timestamp_type.rb +3 -2
  642. data/lib/puppet/pops/types/p_type_set_type.rb +36 -28
  643. data/lib/puppet/pops/types/p_uri_type.rb +25 -18
  644. data/lib/puppet/pops/types/puppet_object.rb +1 -1
  645. data/lib/puppet/pops/types/recursion_guard.rb +7 -2
  646. data/lib/puppet/pops/types/ruby_generator.rb +7 -4
  647. data/lib/puppet/pops/types/ruby_method.rb +6 -5
  648. data/lib/puppet/pops/types/string_converter.rb +65 -57
  649. data/lib/puppet/pops/types/tree_iterators.rb +6 -7
  650. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  651. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  652. data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
  653. data/lib/puppet/pops/types/type_calculator.rb +10 -4
  654. data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
  655. data/lib/puppet/pops/types/type_factory.rb +7 -4
  656. data/lib/puppet/pops/types/type_formatter.rb +12 -11
  657. data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -8
  658. data/lib/puppet/pops/types/type_parser.rb +111 -107
  659. data/lib/puppet/pops/types/type_set_reference.rb +2 -0
  660. data/lib/puppet/pops/types/type_with_members.rb +1 -1
  661. data/lib/puppet/pops/types/types.rb +177 -152
  662. data/lib/puppet/pops/utils.rb +1 -0
  663. data/lib/puppet/pops/validation/checker4_0.rb +17 -11
  664. data/lib/puppet/pops/validation/tasks_checker.rb +2 -1
  665. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  666. data/lib/puppet/pops/validation.rb +8 -6
  667. data/lib/puppet/pops/visitable.rb +1 -0
  668. data/lib/puppet/pops/visitor.rb +14 -1
  669. data/lib/puppet/pops.rb +2 -0
  670. data/lib/puppet/property/boolean.rb +1 -0
  671. data/lib/puppet/property/ensure.rb +4 -1
  672. data/lib/puppet/property/keyvalue.rb +5 -4
  673. data/lib/puppet/property/list.rb +5 -5
  674. data/lib/puppet/property/ordered_list.rb +4 -4
  675. data/lib/puppet/property.rb +13 -11
  676. data/lib/puppet/provider/aix_object.rb +5 -0
  677. data/lib/puppet/provider/command.rb +1 -0
  678. data/lib/puppet/provider/confine.rb +1 -0
  679. data/lib/puppet/provider/exec/posix.rb +2 -0
  680. data/lib/puppet/provider/exec/shell.rb +1 -0
  681. data/lib/puppet/provider/exec/windows.rb +2 -1
  682. data/lib/puppet/provider/exec.rb +1 -0
  683. data/lib/puppet/provider/file/posix.rb +1 -0
  684. data/lib/puppet/provider/file/windows.rb +10 -6
  685. data/lib/puppet/provider/group/aix.rb +1 -0
  686. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  687. data/lib/puppet/provider/group/groupadd.rb +9 -4
  688. data/lib/puppet/provider/group/ldap.rb +2 -0
  689. data/lib/puppet/provider/group/pw.rb +1 -0
  690. data/lib/puppet/provider/group/windows_adsi.rb +2 -0
  691. data/lib/puppet/provider/ldap.rb +2 -0
  692. data/lib/puppet/provider/nameservice/directoryservice.rb +28 -19
  693. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  694. data/lib/puppet/provider/nameservice/pw.rb +6 -5
  695. data/lib/puppet/provider/nameservice.rb +8 -4
  696. data/lib/puppet/provider/network_device.rb +1 -2
  697. data/lib/puppet/provider/package/aix.rb +5 -4
  698. data/lib/puppet/provider/package/appdmg.rb +20 -19
  699. data/lib/puppet/provider/package/apple.rb +3 -2
  700. data/lib/puppet/provider/package/apt.rb +4 -4
  701. data/lib/puppet/provider/package/aptitude.rb +1 -0
  702. data/lib/puppet/provider/package/aptrpm.rb +2 -1
  703. data/lib/puppet/provider/package/blastwave.rb +6 -6
  704. data/lib/puppet/provider/package/dnf.rb +2 -0
  705. data/lib/puppet/provider/package/dnfmodule.rb +8 -7
  706. data/lib/puppet/provider/package/dpkg.rb +4 -4
  707. data/lib/puppet/provider/package/fink.rb +2 -1
  708. data/lib/puppet/provider/package/freebsd.rb +3 -2
  709. data/lib/puppet/provider/package/gem.rb +9 -5
  710. data/lib/puppet/provider/package/hpux.rb +4 -3
  711. data/lib/puppet/provider/package/macports.rb +2 -1
  712. data/lib/puppet/provider/package/nim.rb +13 -15
  713. data/lib/puppet/provider/package/openbsd.rb +6 -4
  714. data/lib/puppet/provider/package/opkg.rb +2 -0
  715. data/lib/puppet/provider/package/pacman.rb +12 -12
  716. data/lib/puppet/provider/package/pip.rb +3 -1
  717. data/lib/puppet/provider/package/pip2.rb +2 -2
  718. data/lib/puppet/provider/package/pip3.rb +2 -2
  719. data/lib/puppet/provider/package/pkg.rb +17 -13
  720. data/lib/puppet/provider/package/pkgdmg.rb +7 -2
  721. data/lib/puppet/provider/package/pkgin.rb +5 -5
  722. data/lib/puppet/provider/package/pkgng.rb +11 -7
  723. data/lib/puppet/provider/package/pkgutil.rb +7 -6
  724. data/lib/puppet/provider/package/portage.rb +11 -6
  725. data/lib/puppet/provider/package/ports.rb +6 -5
  726. data/lib/puppet/provider/package/portupgrade.rb +6 -12
  727. data/lib/puppet/provider/package/puppet_gem.rb +1 -0
  728. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  729. data/lib/puppet/provider/package/rpm.rb +10 -6
  730. data/lib/puppet/provider/package/rug.rb +2 -1
  731. data/lib/puppet/provider/package/sun.rb +20 -17
  732. data/lib/puppet/provider/package/sunfreeware.rb +1 -0
  733. data/lib/puppet/provider/package/tdnf.rb +1 -0
  734. data/lib/puppet/provider/package/up2date.rb +2 -1
  735. data/lib/puppet/provider/package/urpmi.rb +1 -0
  736. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  737. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  738. data/lib/puppet/provider/package/windows/package.rb +5 -3
  739. data/lib/puppet/provider/package/windows.rb +4 -2
  740. data/lib/puppet/provider/package/yum.rb +16 -13
  741. data/lib/puppet/provider/package/zypper.rb +15 -14
  742. data/lib/puppet/provider/package.rb +7 -6
  743. data/lib/puppet/provider/package_targetable.rb +1 -0
  744. data/lib/puppet/provider/parsedfile.rb +7 -2
  745. data/lib/puppet/provider/service/base.rb +2 -1
  746. data/lib/puppet/provider/service/bsd.rb +1 -0
  747. data/lib/puppet/provider/service/daemontools.rb +9 -7
  748. data/lib/puppet/provider/service/debian.rb +4 -3
  749. data/lib/puppet/provider/service/freebsd.rb +5 -6
  750. data/lib/puppet/provider/service/gentoo.rb +5 -4
  751. data/lib/puppet/provider/service/init.rb +10 -11
  752. data/lib/puppet/provider/service/launchd.rb +10 -4
  753. data/lib/puppet/provider/service/openbsd.rb +4 -4
  754. data/lib/puppet/provider/service/openrc.rb +1 -1
  755. data/lib/puppet/provider/service/openwrt.rb +1 -1
  756. data/lib/puppet/provider/service/rcng.rb +1 -0
  757. data/lib/puppet/provider/service/redhat.rb +3 -2
  758. data/lib/puppet/provider/service/runit.rb +8 -7
  759. data/lib/puppet/provider/service/service.rb +1 -0
  760. data/lib/puppet/provider/service/smf.rb +5 -2
  761. data/lib/puppet/provider/service/src.rb +16 -16
  762. data/lib/puppet/provider/service/systemd.rb +8 -4
  763. data/lib/puppet/provider/service/upstart.rb +8 -7
  764. data/lib/puppet/provider/service/windows.rb +22 -26
  765. data/lib/puppet/provider/user/aix.rb +3 -2
  766. data/lib/puppet/provider/user/directoryservice.rb +52 -44
  767. data/lib/puppet/provider/user/hpux.rb +15 -14
  768. data/lib/puppet/provider/user/ldap.rb +8 -6
  769. data/lib/puppet/provider/user/openbsd.rb +21 -20
  770. data/lib/puppet/provider/user/pw.rb +3 -2
  771. data/lib/puppet/provider/user/user_role_add.rb +19 -14
  772. data/lib/puppet/provider/user/useradd.rb +51 -41
  773. data/lib/puppet/provider/user/windows_adsi.rb +4 -1
  774. data/lib/puppet/provider.rb +9 -9
  775. data/lib/puppet/reference/configuration.rb +43 -42
  776. data/lib/puppet/reference/function.rb +1 -0
  777. data/lib/puppet/reference/indirection.rb +42 -41
  778. data/lib/puppet/reference/metaparameter.rb +1 -0
  779. data/lib/puppet/reference/providers.rb +2 -0
  780. data/lib/puppet/reference/report.rb +1 -0
  781. data/lib/puppet/reference/type.rb +4 -3
  782. data/lib/puppet/relationship.rb +3 -2
  783. data/lib/puppet/reports/http.rb +1 -1
  784. data/lib/puppet/reports/log.rb +1 -0
  785. data/lib/puppet/reports/store.rb +3 -1
  786. data/lib/puppet/reports.rb +4 -3
  787. data/lib/puppet/resource/catalog.rb +14 -10
  788. data/lib/puppet/resource/status.rb +1 -1
  789. data/lib/puppet/resource/type.rb +28 -18
  790. data/lib/puppet/resource/type_collection.rb +4 -0
  791. data/lib/puppet/resource.rb +24 -16
  792. data/lib/puppet/runtime.rb +1 -0
  793. data/lib/puppet/scheduler/job.rb +1 -0
  794. data/lib/puppet/scheduler/scheduler.rb +1 -0
  795. data/lib/puppet/scheduler/splay_job.rb +1 -0
  796. data/lib/puppet/scheduler/timer.rb +1 -0
  797. data/lib/puppet/scheduler.rb +1 -0
  798. data/lib/puppet/settings/alias_setting.rb +1 -0
  799. data/lib/puppet/settings/array_setting.rb +1 -1
  800. data/lib/puppet/settings/autosign_setting.rb +1 -1
  801. data/lib/puppet/settings/base_setting.rb +9 -5
  802. data/lib/puppet/settings/boolean_setting.rb +1 -0
  803. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  804. data/lib/puppet/settings/config_file.rb +3 -3
  805. data/lib/puppet/settings/directory_setting.rb +1 -0
  806. data/lib/puppet/settings/duration_setting.rb +1 -0
  807. data/lib/puppet/settings/enum_setting.rb +2 -1
  808. data/lib/puppet/settings/environment_conf.rb +9 -8
  809. data/lib/puppet/settings/errors.rb +2 -0
  810. data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
  811. data/lib/puppet/settings/file_setting.rb +3 -13
  812. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
  813. data/lib/puppet/settings/ini_file.rb +1 -0
  814. data/lib/puppet/settings/integer_setting.rb +1 -0
  815. data/lib/puppet/settings/path_setting.rb +1 -0
  816. data/lib/puppet/settings/port_setting.rb +2 -1
  817. data/lib/puppet/settings/priority_setting.rb +9 -8
  818. data/lib/puppet/settings/server_list_setting.rb +2 -2
  819. data/lib/puppet/settings/string_setting.rb +1 -0
  820. data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
  821. data/lib/puppet/settings/terminus_setting.rb +1 -0
  822. data/lib/puppet/settings/ttl_setting.rb +2 -0
  823. data/lib/puppet/settings/value_translator.rb +8 -7
  824. data/lib/puppet/settings.rb +89 -66
  825. data/lib/puppet/ssl/base.rb +4 -0
  826. data/lib/puppet/ssl/certificate.rb +3 -2
  827. data/lib/puppet/ssl/certificate_request.rb +9 -7
  828. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -1
  829. data/lib/puppet/ssl/certificate_signer.rb +2 -3
  830. data/lib/puppet/ssl/digest.rb +1 -0
  831. data/lib/puppet/ssl/error.rb +2 -0
  832. data/lib/puppet/ssl/oids.rb +3 -3
  833. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  834. data/lib/puppet/ssl/ssl_context.rb +11 -15
  835. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  836. data/lib/puppet/ssl/state_machine.rb +1 -0
  837. data/lib/puppet/ssl/verifier.rb +2 -2
  838. data/lib/puppet/ssl.rb +1 -0
  839. data/lib/puppet/syntax_checkers/base64.rb +2 -1
  840. data/lib/puppet/syntax_checkers/epp.rb +1 -1
  841. data/lib/puppet/syntax_checkers/json.rb +1 -2
  842. data/lib/puppet/syntax_checkers/pp.rb +1 -1
  843. data/lib/puppet/syntax_checkers.rb +1 -0
  844. data/lib/puppet/test/test_helper.rb +16 -14
  845. data/lib/puppet/thread_local.rb +1 -0
  846. data/lib/puppet/transaction/additional_resource_generator.rb +5 -1
  847. data/lib/puppet/transaction/event.rb +5 -3
  848. data/lib/puppet/transaction/event_manager.rb +4 -3
  849. data/lib/puppet/transaction/persistence.rb +2 -1
  850. data/lib/puppet/transaction/report.rb +23 -15
  851. data/lib/puppet/transaction/resource_harness.rb +6 -3
  852. data/lib/puppet/transaction.rb +11 -6
  853. data/lib/puppet/trusted_external.rb +8 -4
  854. data/lib/puppet/type/component.rb +11 -5
  855. data/lib/puppet/type/exec.rb +26 -10
  856. data/lib/puppet/type/file/checksum.rb +1 -0
  857. data/lib/puppet/type/file/checksum_value.rb +3 -2
  858. data/lib/puppet/type/file/content.rb +16 -13
  859. data/lib/puppet/type/file/ctime.rb +2 -1
  860. data/lib/puppet/type/file/data_sync.rb +4 -2
  861. data/lib/puppet/type/file/ensure.rb +5 -5
  862. data/lib/puppet/type/file/group.rb +2 -1
  863. data/lib/puppet/type/file/mode.rb +4 -2
  864. data/lib/puppet/type/file/mtime.rb +2 -1
  865. data/lib/puppet/type/file/owner.rb +2 -1
  866. data/lib/puppet/type/file/selcontext.rb +2 -2
  867. data/lib/puppet/type/file/source.rb +12 -10
  868. data/lib/puppet/type/file/target.rb +2 -2
  869. data/lib/puppet/type/file/type.rb +2 -1
  870. data/lib/puppet/type/file.rb +22 -13
  871. data/lib/puppet/type/filebucket.rb +1 -0
  872. data/lib/puppet/type/group.rb +8 -8
  873. data/lib/puppet/type/notify.rb +1 -1
  874. data/lib/puppet/type/package.rb +21 -21
  875. data/lib/puppet/type/resources.rb +30 -25
  876. data/lib/puppet/type/schedule.rb +9 -10
  877. data/lib/puppet/type/service.rb +9 -7
  878. data/lib/puppet/type/stage.rb +1 -0
  879. data/lib/puppet/type/tidy.rb +9 -4
  880. data/lib/puppet/type/user.rb +28 -24
  881. data/lib/puppet/type/whit.rb +1 -1
  882. data/lib/puppet/type.rb +71 -61
  883. data/lib/puppet/util/at_fork/noop.rb +1 -0
  884. data/lib/puppet/util/at_fork/solaris.rb +2 -1
  885. data/lib/puppet/util/at_fork.rb +2 -1
  886. data/lib/puppet/util/autoload.rb +5 -0
  887. data/lib/puppet/util/backups.rb +3 -2
  888. data/lib/puppet/util/character_encoding.rb +1 -0
  889. data/lib/puppet/util/checksums.rb +11 -9
  890. data/lib/puppet/util/classgen.rb +8 -13
  891. data/lib/puppet/util/colors.rb +32 -31
  892. data/lib/puppet/util/command_line/puppet_option_parser.rb +12 -12
  893. data/lib/puppet/util/command_line/trollop.rb +693 -690
  894. data/lib/puppet/util/command_line.rb +1 -0
  895. data/lib/puppet/util/constant_inflector.rb +3 -3
  896. data/lib/puppet/util/diff.rb +13 -13
  897. data/lib/puppet/util/docs.rb +3 -0
  898. data/lib/puppet/util/errors.rb +1 -0
  899. data/lib/puppet/util/execution.rb +16 -18
  900. data/lib/puppet/util/execution_stub.rb +1 -0
  901. data/lib/puppet/util/feature.rb +1 -0
  902. data/lib/puppet/util/file_watcher.rb +2 -0
  903. data/lib/puppet/util/fileparsing.rb +2 -0
  904. data/lib/puppet/util/filetype.rb +3 -0
  905. data/lib/puppet/util/http_proxy.rb +1 -0
  906. data/lib/puppet/util/inifile.rb +3 -3
  907. data/lib/puppet/util/instance_loader.rb +2 -0
  908. data/lib/puppet/util/json.rb +1 -0
  909. data/lib/puppet/util/json_lockfile.rb +3 -1
  910. data/lib/puppet/util/ldap/connection.rb +19 -18
  911. data/lib/puppet/util/ldap/generator.rb +1 -0
  912. data/lib/puppet/util/ldap/manager.rb +3 -2
  913. data/lib/puppet/util/ldap.rb +1 -0
  914. data/lib/puppet/util/libuser.rb +1 -1
  915. data/lib/puppet/util/limits.rb +1 -0
  916. data/lib/puppet/util/lockfile.rb +1 -0
  917. data/lib/puppet/util/log/destination.rb +1 -0
  918. data/lib/puppet/util/log/destinations.rb +14 -13
  919. data/lib/puppet/util/log.rb +21 -17
  920. data/lib/puppet/util/logging.rb +18 -14
  921. data/lib/puppet/util/metaid.rb +1 -0
  922. data/lib/puppet/util/metric.rb +2 -0
  923. data/lib/puppet/util/monkey_patches.rb +1 -0
  924. data/lib/puppet/util/multi_match.rb +4 -1
  925. data/lib/puppet/util/network_device/base.rb +1 -1
  926. data/lib/puppet/util/network_device/config.rb +3 -4
  927. data/lib/puppet/util/network_device/transport/base.rb +0 -1
  928. data/lib/puppet/util/network_device/transport.rb +1 -0
  929. data/lib/puppet/util/network_device.rb +1 -0
  930. data/lib/puppet/util/package/version/debian.rb +5 -3
  931. data/lib/puppet/util/package/version/gem.rb +2 -0
  932. data/lib/puppet/util/package/version/pip.rb +7 -2
  933. data/lib/puppet/util/package/version/range/eq.rb +2 -0
  934. data/lib/puppet/util/package/version/range/gt.rb +2 -0
  935. data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
  936. data/lib/puppet/util/package/version/range/lt.rb +2 -0
  937. data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
  938. data/lib/puppet/util/package/version/range/min_max.rb +4 -0
  939. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  940. data/lib/puppet/util/package/version/range.rb +3 -0
  941. data/lib/puppet/util/package/version/rpm.rb +6 -4
  942. data/lib/puppet/util/package.rb +3 -0
  943. data/lib/puppet/util/pidlock.rb +7 -7
  944. data/lib/puppet/util/platform.rb +1 -0
  945. data/lib/puppet/util/plist.rb +1 -1
  946. data/lib/puppet/util/posix.rb +8 -5
  947. data/lib/puppet/util/profiler/aggregate.rb +2 -5
  948. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  949. data/lib/puppet/util/profiler/logging.rb +1 -0
  950. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  951. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  952. data/lib/puppet/util/profiler.rb +1 -0
  953. data/lib/puppet/util/provider_features.rb +4 -0
  954. data/lib/puppet/util/psych_support.rb +1 -0
  955. data/lib/puppet/util/rdoc/code_objects.rb +3 -7
  956. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -50
  957. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
  958. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +5 -5
  959. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser.rb +1 -0
  961. data/lib/puppet/util/rdoc.rb +1 -1
  962. data/lib/puppet/util/reference.rb +1 -1
  963. data/lib/puppet/util/resource_template.rb +2 -0
  964. data/lib/puppet/util/retry_action.rb +3 -3
  965. data/lib/puppet/util/rpm_compare.rb +6 -3
  966. data/lib/puppet/util/rubygems.rb +1 -1
  967. data/lib/puppet/util/run_mode.rb +2 -1
  968. data/lib/puppet/util/selinux.rb +22 -11
  969. data/lib/puppet/util/skip_tags.rb +1 -0
  970. data/lib/puppet/util/splayer.rb +1 -0
  971. data/lib/puppet/util/storage.rb +2 -1
  972. data/lib/puppet/util/suidmanager.rb +8 -5
  973. data/lib/puppet/util/symbolic_file_mode.rb +3 -1
  974. data/lib/puppet/util/tag_set.rb +1 -0
  975. data/lib/puppet/util/tagging.rb +2 -1
  976. data/lib/puppet/util/terminal.rb +1 -0
  977. data/lib/puppet/util/user_attr.rb +1 -0
  978. data/lib/puppet/util/warnings.rb +3 -0
  979. data/lib/puppet/util/watched_file.rb +1 -0
  980. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  981. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  982. data/lib/puppet/util/watcher/timer.rb +1 -0
  983. data/lib/puppet/util/watcher.rb +1 -0
  984. data/lib/puppet/util/windows/access_control_entry.rb +1 -0
  985. data/lib/puppet/util/windows/access_control_list.rb +3 -2
  986. data/lib/puppet/util/windows/adsi.rb +32 -25
  987. data/lib/puppet/util/windows/com.rb +5 -3
  988. data/lib/puppet/util/windows/daemon.rb +33 -33
  989. data/lib/puppet/util/windows/error.rb +3 -2
  990. data/lib/puppet/util/windows/eventlog.rb +8 -5
  991. data/lib/puppet/util/windows/file.rb +30 -24
  992. data/lib/puppet/util/windows/monkey_patches/process.rb +0 -1
  993. data/lib/puppet/util/windows/principal.rb +27 -27
  994. data/lib/puppet/util/windows/process.rb +7 -6
  995. data/lib/puppet/util/windows/registry.rb +43 -41
  996. data/lib/puppet/util/windows/root_certs.rb +1 -0
  997. data/lib/puppet/util/windows/security.rb +43 -44
  998. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  999. data/lib/puppet/util/windows/service.rb +12 -1
  1000. data/lib/puppet/util/windows/sid.rb +6 -6
  1001. data/lib/puppet/util/windows/string.rb +1 -0
  1002. data/lib/puppet/util/windows/user.rb +33 -33
  1003. data/lib/puppet/util/windows.rb +6 -0
  1004. data/lib/puppet/util/yaml.rb +1 -0
  1005. data/lib/puppet/util.rb +18 -20
  1006. data/lib/puppet/vendor.rb +2 -1
  1007. data/lib/puppet/version.rb +3 -1
  1008. data/lib/puppet/x509/cert_provider.rb +7 -1
  1009. data/lib/puppet/x509/pem_store.rb +1 -0
  1010. data/lib/puppet/x509.rb +1 -0
  1011. data/lib/puppet.rb +1 -0
  1012. data/lib/puppet_pal.rb +1 -0
  1013. data/lib/puppet_x.rb +1 -0
  1014. data/locales/puppet.pot +195 -199
  1015. data/man/man5/puppet.conf.5 +2 -2
  1016. data/man/man8/puppet-agent.8 +1 -1
  1017. data/man/man8/puppet-apply.8 +1 -1
  1018. data/man/man8/puppet-catalog.8 +1 -1
  1019. data/man/man8/puppet-config.8 +1 -1
  1020. data/man/man8/puppet-describe.8 +1 -1
  1021. data/man/man8/puppet-device.8 +1 -1
  1022. data/man/man8/puppet-doc.8 +1 -1
  1023. data/man/man8/puppet-epp.8 +1 -1
  1024. data/man/man8/puppet-facts.8 +1 -1
  1025. data/man/man8/puppet-filebucket.8 +1 -1
  1026. data/man/man8/puppet-generate.8 +1 -1
  1027. data/man/man8/puppet-help.8 +1 -1
  1028. data/man/man8/puppet-lookup.8 +1 -1
  1029. data/man/man8/puppet-module.8 +1 -1
  1030. data/man/man8/puppet-node.8 +1 -1
  1031. data/man/man8/puppet-parser.8 +1 -1
  1032. data/man/man8/puppet-plugin.8 +1 -1
  1033. data/man/man8/puppet-report.8 +1 -1
  1034. data/man/man8/puppet-resource.8 +1 -1
  1035. data/man/man8/puppet-script.8 +1 -1
  1036. data/man/man8/puppet-ssl.8 +1 -1
  1037. data/man/man8/puppet.8 +2 -2
  1038. data/spec/integration/application/agent_spec.rb +13 -0
  1039. data/spec/lib/puppet_spec/puppetserver.rb +1 -0
  1040. data/spec/lib/puppet_spec/verbose.rb +5 -3
  1041. data/spec/unit/agent_spec.rb +2 -7
  1042. data/spec/unit/daemon_spec.rb +3 -20
  1043. data/spec/unit/indirector/catalog/compiler_spec.rb +17 -0
  1044. data/spec/unit/indirector/catalog/rest_spec.rb +17 -0
  1045. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1046. data/spec/unit/provider/package/dnf_spec.rb +7 -0
  1047. data/spec/unit/provider/package/dnfmodule_spec.rb +22 -2
  1048. data/spec/unit/provider/service/systemd_spec.rb +8 -6
  1049. data/spec/unit/type/exec_spec.rb +14 -9
  1050. data/spec/unit/util/rpm_compare_spec.rb +8 -8
  1051. metadata +2 -3
  1052. data/CONTRIBUTING.md +0 -161
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Functions in the puppet language can be written in Ruby and distributed in
3
4
  # puppet modules. The function is written by creating a file in the module's
4
5
  # `lib/puppet/functions/<modulename>` directory, where `<modulename>` is
@@ -272,6 +273,7 @@ module Puppet::Functions
272
273
  unless the_class.method_defined?(func_name)
273
274
  raise ArgumentError, _("Function Creation Error, cannot create a default dispatcher for function '%{func_name}', no method with this name found") % { func_name: func_name }
274
275
  end
276
+
275
277
  any_signature(*min_max_param(the_class.instance_method(func_name)))
276
278
  end
277
279
 
@@ -303,7 +305,6 @@ module Puppet::Functions
303
305
  #
304
306
  # @api public
305
307
  class Function < Puppet::Pops::Functions::Function
306
-
307
308
  # @api private
308
309
  def self.builder
309
310
  DispatcherBuilder.new(dispatcher, Puppet::Pops::Types::PCallableType::DEFAULT, loader)
@@ -350,6 +351,7 @@ module Puppet::Functions
350
351
  if loader.nil?
351
352
  raise ArgumentError, _("No loader present. Call create_loaded_function(:myname, loader,...), instead of 'create_function' if running tests")
352
353
  end
354
+
353
355
  aliases = LocalTypeAliasesBuilder.new(loader, name)
354
356
  aliases.instance_eval(&block)
355
357
  # Add the loaded types to the builder
@@ -386,7 +388,6 @@ module Puppet::Functions
386
388
  end
387
389
  end
388
390
 
389
-
390
391
  # Public api methods of the DispatcherBuilder are available within dispatch()
391
392
  # blocks declared in a Puppet::Function.create_function() call.
392
393
  #
@@ -413,6 +414,7 @@ module Puppet::Functions
413
414
  def param(type, name)
414
415
  internal_param(type, name)
415
416
  raise ArgumentError, _('A required parameter cannot be added after an optional parameter') if @min != @max
417
+
416
418
  @min += 1
417
419
  @max += 1
418
420
  end
@@ -462,6 +464,7 @@ module Puppet::Functions
462
464
  def required_repeated_param(type, name)
463
465
  internal_param(type, name, true)
464
466
  raise ArgumentError, _('A required repeated parameter cannot be added after an optional parameter') if @min != @max
467
+
465
468
  @min += 1
466
469
  @max = :default
467
470
  end
@@ -522,6 +525,7 @@ module Puppet::Functions
522
525
  unless type.is_a?(String) || type.is_a?(Puppet::Pops::Types::PAnyType)
523
526
  raise ArgumentError, _("Argument to 'return_type' must be a String reference to a Puppet Data Type. Got %{type_class}") % { type_class: type.class }
524
527
  end
528
+
525
529
  @return_type = type
526
530
  end
527
531
 
@@ -591,15 +595,14 @@ module Puppet::Functions
591
595
  Puppet::Pops::Types::TypeParser.singleton.parse(type_string, loader)
592
596
  rescue StandardError => e
593
597
  raise ArgumentError, _("Parsing of type string '\"%{type_string}\"' failed with message: <%{message}>.\n") % {
594
- type_string: type_string,
595
- message: e.message
598
+ type_string: type_string,
599
+ message: e.message
596
600
  }
597
601
  end
598
602
  end
599
603
  private :internal_type_parse
600
604
  end
601
605
 
602
-
603
606
  # The LocalTypeAliasBuilder is used by the 'local_types' method to collect the individual
604
607
  # type aliases given by the function's author.
605
608
  #
@@ -637,7 +640,7 @@ module Puppet::Functions
637
640
  assignment_string: assignment_string,
638
641
  message: e.message,
639
642
  ruby_file_location: rb_location
640
- }
643
+ }
641
644
  end
642
645
  unless result.body.kind_of?(Puppet::Pops::Model::TypeAlias)
643
646
  rb_location = rb_location.gsub(/:in.*$/, '')
@@ -681,7 +684,6 @@ module Puppet::Functions
681
684
  end
682
685
 
683
686
  class Function3x < InternalFunction
684
-
685
687
  # Table of optimized parameter names - 0 to 5 parameters
686
688
  PARAM_NAMES = [
687
689
  [],
@@ -739,7 +741,6 @@ module Puppet::Functions
739
741
  # When function is not an rvalue function, make sure it produces nil
740
742
  #
741
743
  the_class.class_eval do
742
-
743
744
  # Bypasses making the call via the dispatcher to make sure errors
744
745
  # are reported exactly the same way as in 3x. The dispatcher is still needed as it is
745
746
  # used to support other features than calling.
@@ -801,7 +802,6 @@ module Puppet::Functions
801
802
  end
802
803
  end
803
804
 
804
-
805
805
  # Injection and Weaving of parameters
806
806
  # ---
807
807
  # It is possible to inject and weave a set of well known parameters into a call.
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Puppet
3
4
  module Generate
4
5
  module Models
@@ -62,6 +63,7 @@ module Puppet
62
63
  boolean = strings.include?('\'true\'') || strings.include?('\'false\'') ? 'Boolean' : nil
63
64
  variant = [boolean, enum, pattern].reject { |t| t.nil? }
64
65
  return variant[0] if variant.size == 1
66
+
65
67
  "Variant[#{variant.join(', ')}]"
66
68
  end
67
69
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../../../puppet/generate/models/type/property'
3
4
 
4
5
  module Puppet
@@ -45,6 +46,7 @@ module Puppet
45
46
  sc.convert(mapping[1].map do |names|
46
47
  next if names.empty?
47
48
  raise Puppet::Error, _('title patterns that use procs are not supported.') unless names.size == 1
49
+
48
50
  names[0].to_s
49
51
  end, '%p')
50
52
  ]
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'erb'
3
4
  require 'fileutils'
4
5
  require_relative '../../puppet/util/autoload'
@@ -39,6 +40,7 @@ module Puppet
39
40
  def format=(format)
40
41
  format = format.to_sym
41
42
  raise _("unsupported format '%{format}'.") % { format: format } unless self.class.supported_format?(format)
43
+
42
44
  @format = format
43
45
  end
44
46
 
@@ -126,6 +128,7 @@ module Puppet
126
128
  Puppet.debug "Searching '#{mod.name}' module for custom types."
127
129
  Dir.glob("#{directory}/*.rb") do |file|
128
130
  next unless Puppet::FileSystem.file?(file)
131
+
129
132
  Puppet.debug "Found custom type source file '#{file}'."
130
133
  inputs << Input.new(mod.path, file, format)
131
134
  end
@@ -138,6 +141,7 @@ module Puppet
138
141
  def self.bad_input?
139
142
  @bad_input
140
143
  end
144
+
141
145
  # Generates files for the given inputs.
142
146
  # If a file is up to date (newer than input) it is kept.
143
147
  # If a file is out of date it is regenerated.
@@ -166,8 +170,9 @@ module Puppet
166
170
  end
167
171
 
168
172
  templates = {}
169
- templates.default_proc = lambda { |hash, key|
173
+ templates.default_proc = lambda { |_hash, key|
170
174
  raise _("template was not found at '%{key}'.") % { key: key } unless Puppet::FileSystem.file?(key)
175
+
171
176
  template = Puppet::Util.create_erb(File.read(key))
172
177
  template.filename = key
173
178
  template
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/util/platform'
3
4
  require_relative '../../puppet/file_system'
4
5
 
@@ -64,6 +65,7 @@ module Puppet::GettextConfig
64
65
  # @param [String, Symbol] domain_name the name of the domain to create
65
66
  def self.reset_text_domain(domain_name)
66
67
  return if @gettext_disabled || !gettext_loaded?
68
+
67
69
  domain_name = domain_name.to_sym
68
70
 
69
71
  Puppet.debug { "Reset text domain to #{domain_name.inspect}" }
@@ -84,6 +86,7 @@ module Puppet::GettextConfig
84
86
  # non-default text domain.
85
87
  def self.clear_text_domain
86
88
  return if @gettext_disabled || !gettext_loaded?
89
+
87
90
  FastGettext.text_domain = nil
88
91
  end
89
92
 
@@ -113,6 +116,7 @@ module Puppet::GettextConfig
113
116
  # @param [String, Symbol] domain_name the name of the domain to switch to
114
117
  def self.use_text_domain(domain_name)
115
118
  return if @gettext_disabled || !gettext_loaded?
119
+
116
120
  domain_name = domain_name.to_sym
117
121
 
118
122
  if FastGettext.translation_repositories.include?(domain_name)
@@ -136,6 +140,7 @@ module Puppet::GettextConfig
136
140
  # @param [String, Symbol] domain_name the name of the domain to delete
137
141
  def self.delete_text_domain(domain_name)
138
142
  return if @gettext_disabled || !gettext_loaded?
143
+
139
144
  domain_name = domain_name.to_sym
140
145
 
141
146
  deleted = FastGettext.translation_repositories.delete(domain_name)
@@ -268,6 +273,7 @@ module Puppet::GettextConfig
268
273
  # @param [String] locale the language portion of a locale string (e.g. "ja")
269
274
  def self.set_locale(locale)
270
275
  return if @gettext_disabled || !gettext_loaded?
276
+
271
277
  # make sure we're not using the `available_locales` machinery
272
278
  FastGettext.default_available_locales = nil
273
279
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/gettext/config'
3
4
 
4
5
  module Puppet::ModuleTranslations
5
-
6
6
  # @api private
7
7
  # Loads translation files for each of the specified modules,
8
8
  # if present. Requires the modules to have `forge_name` specified.
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # These stub the translation methods normally brought in
3
4
  # by FastGettext. Used when Gettext could not be properly
4
5
  # initialized.
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Sequential, nestable keys for tracking order of insertion in "the graph"
3
4
  # @api private
4
5
  class Puppet::Graph::Key
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Base, template method, class for Prioritizers. This provides the basic
3
4
  # tracking facilities used.
4
5
  #
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Algorithms and Containers project is Copyright (c) 2009 Kanwei Li
3
4
  #
4
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -123,6 +124,7 @@ class Puppet::Graph::RbTreeMap
123
124
  result = nil
124
125
  if @root
125
126
  return unless has_key? key
127
+
126
128
  @root, result = delete_recursive(@root, key)
127
129
  @root.color = :black if @root
128
130
  @size -= 1
@@ -182,12 +184,14 @@ class Puppet::Graph::RbTreeMap
182
184
 
183
185
  def first
184
186
  return nil unless @root
187
+
185
188
  node = min_recursive(@root)
186
189
  [node.key, node.value]
187
190
  end
188
191
 
189
192
  def last
190
193
  return nil unless @root
194
+
191
195
  node = max_recursive(@root)
192
196
  [node.key, node.value]
193
197
  end
@@ -198,6 +202,7 @@ class Puppet::Graph::RbTreeMap
198
202
 
199
203
  class Node # :nodoc: all
200
204
  attr_accessor :color, :key, :value, :left, :right
205
+
201
206
  def initialize(key, value)
202
207
  @key = key
203
208
  @value = value
@@ -287,6 +292,7 @@ class Puppet::Graph::RbTreeMap
287
292
 
288
293
  def recursive_yield(node, &blk)
289
294
  return unless node
295
+
290
296
  recursive_yield(node.left, &blk)
291
297
  yield node.key, node.value
292
298
  recursive_yield(node.right, &blk)
@@ -301,6 +307,7 @@ class Puppet::Graph::RbTreeMap
301
307
  if ( ( (key <=> node.key) == 0) && node.right.nil? )
302
308
  return nil, node.value
303
309
  end
310
+
304
311
  if ( !isred(node.right) && !isred(node.right.left) )
305
312
  node.move_red_right
306
313
  end
@@ -321,6 +328,7 @@ class Puppet::Graph::RbTreeMap
321
328
  if node.left.nil?
322
329
  return nil, node.value
323
330
  end
331
+
324
332
  if ( !isred(node.left) && !isred(node.left.left) )
325
333
  node.move_red_left
326
334
  end
@@ -334,6 +342,7 @@ class Puppet::Graph::RbTreeMap
334
342
  node = node.rotate_right
335
343
  end
336
344
  return nil, node.value if node.right.nil?
345
+
337
346
  if ( !isred(node.right) && !isred(node.right.left) )
338
347
  node.move_red_right
339
348
  end
@@ -344,8 +353,9 @@ class Puppet::Graph::RbTreeMap
344
353
 
345
354
  def get_recursive(node, key)
346
355
  return nil if node.nil?
356
+
347
357
  case key <=> node.key
348
- when 0 then return node
358
+ when 0 then return node
349
359
  when -1 then return get_recursive(node.left, key)
350
360
  when 1 then return get_recursive(node.right, key)
351
361
  end
@@ -370,7 +380,7 @@ class Puppet::Graph::RbTreeMap
370
380
  end
371
381
 
372
382
  case key <=> node.key
373
- when 0 then node.value = value
383
+ when 0 then node.value = value
374
384
  when -1 then node.left = insert(node.left, key, value)
375
385
  when 1 then node.right = insert(node.right, key, value)
376
386
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # The relationship graph is the final form of a puppet catalog in
3
4
  # which all dependency edges are explicitly in the graph. This form of the
4
5
  # catalog is used to traverse the graph in the order in which resources are
@@ -244,8 +245,8 @@ class Puppet::Graph::RelationshipGraph < Puppet::Graph::SimpleGraph
244
245
  # can "do the right thing" for references to other vertices that may or
245
246
  # may not be containers.
246
247
  #
247
- admissible = Hash.new { |h,k| k }
248
- completed = Hash.new { |h,k| k }
248
+ admissible = Hash.new { |_h,k| k }
249
+ completed = Hash.new { |_h,k| k }
249
250
  containers.each { |x|
250
251
  admissible[x] = whit_class.new(:name => "admissible_#{x.ref}", :catalog => catalog)
251
252
  completed[x] = whit_class.new(:name => "completed_#{x.ref}", :catalog => catalog)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # This implements a priority in which keys are given values that will keep them
3
4
  # in the same priority in which they priorities are requested. Nested
4
5
  # structures (those in which a key is contained within another key) are
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/external/dot'
3
4
  require_relative '../../puppet/relationship'
4
5
  require 'set'
@@ -143,7 +144,7 @@ class Puppet::Graph::SimpleGraph
143
144
  end
144
145
  s[:scc] << this_scc
145
146
  end
146
- recur.pop # done with this node, finally.
147
+ recur.pop # done with this node, finally.
147
148
  end
148
149
 
149
150
  when :after_recursion then
@@ -198,7 +199,7 @@ class Puppet::Graph::SimpleGraph
198
199
  # through the graph first, which are more likely to be interesting to the
199
200
  # user. I think; it would be interesting to verify that. --daniel 2011-01-23
200
201
  def paths_in_cycle(cycle, max_paths = 1)
201
- #TRANSLATORS "negative or zero" refers to the count of paths
202
+ # TRANSLATORS "negative or zero" refers to the count of paths
202
203
  raise ArgumentError, _("negative or zero max_paths") if max_paths < 1
203
204
 
204
205
  # Calculate our filtered outbound vertex lists...
@@ -211,7 +212,7 @@ class Puppet::Graph::SimpleGraph
211
212
 
212
213
  # frame struct is vertex, [path]
213
214
  stack = [[cycle.first, []]]
214
- while frame = stack.shift do #rubocop:disable Lint/AssignmentInCondition
215
+ while frame = stack.shift do # rubocop:disable Lint/AssignmentInCondition
215
216
  if frame[1].member?(frame[0]) then
216
217
  found << frame[1] + [frame[0]]
217
218
  break if found.length >= max_paths
@@ -242,7 +243,7 @@ class Puppet::Graph::SimpleGraph
242
243
  filename = write_cycles_to_graph(cycles)
243
244
  message += _("Cycle graph written to %{filename}.") % { filename: filename }
244
245
  else
245
- #TRANSLATORS '--graph' refers to a command line option and OmniGraffle and GraphViz are program names and should not be translated
246
+ # TRANSLATORS '--graph' refers to a command line option and OmniGraffle and GraphViz are program names and should not be translated
246
247
  message += _("Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz")
247
248
  end
248
249
  Puppet.err(message)
@@ -279,6 +280,7 @@ class Puppet::Graph::SimpleGraph
279
280
  # Remove a vertex from the graph.
280
281
  def remove_vertex!(v)
281
282
  return unless vertex?(v)
283
+
282
284
  @upstream_from.clear
283
285
  @downstream_from.clear
284
286
  (@in_to[v].values+@out_from[v].values).flatten.each { |e| remove_edge!(e) }
@@ -300,6 +302,7 @@ class Puppet::Graph::SimpleGraph
300
302
  # since they have to specify what kind of edge it is.
301
303
  def add_edge(e,*a)
302
304
  return add_relationship(e,*a) unless a.empty?
305
+
303
306
  e = Puppet::Relationship.from_data_hash(e) if e.is_a?(Hash)
304
307
  @upstream_from.clear
305
308
  @downstream_from.clear
@@ -331,7 +334,7 @@ class Puppet::Graph::SimpleGraph
331
334
  end
332
335
 
333
336
  def each_edge
334
- @in_to.each { |t,ns| ns.each { |s,es| es.each { |e| yield e }}}
337
+ @in_to.each { |_t,ns| ns.each { |_s,es| es.each { |e| yield e }}}
335
338
  end
336
339
 
337
340
  # Remove an edge from our graph.
@@ -348,6 +351,7 @@ class Puppet::Graph::SimpleGraph
348
351
  def adjacent(v, options = {})
349
352
  ns = (options[:direction] == :in) ? @in_to[v] : @out_from[v]
350
353
  return [] unless ns
354
+
351
355
  (options[:type] == :edges) ? ns.values.flatten : ns.keys
352
356
  end
353
357
 
@@ -361,6 +365,7 @@ class Puppet::Graph::SimpleGraph
361
365
  until stack.empty?
362
366
  node = stack.shift
363
367
  next if seen.member? node
368
+
364
369
  connected = adjacent(node, :direction => direction)
365
370
  connected.each do |target|
366
371
  yield node, target
@@ -382,6 +387,7 @@ class Puppet::Graph::SimpleGraph
382
387
 
383
388
  def downstream_from_vertex(v)
384
389
  return @downstream_from[v] if @downstream_from[v]
390
+
385
391
  result = @downstream_from[v] = {}
386
392
  @out_from[v].keys.each do |node|
387
393
  result[node] = 1
@@ -396,6 +402,7 @@ class Puppet::Graph::SimpleGraph
396
402
 
397
403
  def upstream_from_vertex(v)
398
404
  return @upstream_from[v] if @upstream_from[v]
405
+
399
406
  result = @upstream_from[v] = {}
400
407
  @in_to[v].keys.each do |node|
401
408
  result[node] = 1
@@ -447,17 +454,17 @@ class Puppet::Graph::SimpleGraph
447
454
  edge_klass = directed? ? DOT::DOTDirectedEdge : DOT::DOTEdge
448
455
  vertices.each do |v|
449
456
  name = v.ref
450
- params = {'name' => stringify(name),
451
- 'fontsize' => fontsize,
452
- 'label' => name}
457
+ params = {'name' => stringify(name),
458
+ 'fontsize' => fontsize,
459
+ 'label' => name}
453
460
  v_label = v.ref
454
461
  params.merge!(v_label) if v_label and v_label.kind_of? Hash
455
462
  graph << DOT::DOTNode.new(params)
456
463
  end
457
464
  edges.each do |e|
458
- params = {'from' => stringify(e.source.ref),
459
- 'to' => stringify(e.target.ref),
460
- 'fontsize' => fontsize }
465
+ params = {'from' => stringify(e.source.ref),
466
+ 'to' => stringify(e.target.ref),
467
+ 'fontsize' => fontsize }
461
468
  e_label = e.ref
462
469
  params.merge!(e_label) if e_label and e_label.kind_of? Hash
463
470
  graph << edge_klass.new(params)
@@ -507,26 +514,26 @@ class Puppet::Graph::SimpleGraph
507
514
  def to_data_hash
508
515
  hash = { 'edges' => edges.map(&:to_data_hash) }
509
516
  hash['vertices'] = if self.class.use_new_yaml_format
510
- vertices
511
- else
512
- # Represented in YAML using the old (version 2.6) format.
513
- result = {}
514
- vertices.each do |vertex|
515
- adjacencies = {}
516
- [:in, :out].each do |direction|
517
- direction_hash = {}
518
- adjacencies[direction.to_s] = direction_hash
519
- adjacent(vertex, :direction => direction, :type => :edges).each do |edge|
520
- other_vertex = direction == :in ? edge.source : edge.target
521
- (direction_hash[other_vertex.to_s] ||= []) << edge
522
- end
523
- direction_hash.each_pair { |key, edges| direction_hash[key] = edges.uniq.map(&:to_data_hash) }
524
- end
525
- vname = vertex.to_s
526
- result[vname] = { 'adjacencies' => adjacencies, 'vertex' => vname }
527
- end
528
- result
529
- end
517
+ vertices
518
+ else
519
+ # Represented in YAML using the old (version 2.6) format.
520
+ result = {}
521
+ vertices.each do |vertex|
522
+ adjacencies = {}
523
+ [:in, :out].each do |direction|
524
+ direction_hash = {}
525
+ adjacencies[direction.to_s] = direction_hash
526
+ adjacent(vertex, :direction => direction, :type => :edges).each do |edge|
527
+ other_vertex = direction == :in ? edge.source : edge.target
528
+ (direction_hash[other_vertex.to_s] ||= []) << edge
529
+ end
530
+ direction_hash.each_pair { |key, edges| direction_hash[key] = edges.uniq.map(&:to_data_hash) }
531
+ end
532
+ vname = vertex.to_s
533
+ result[vname] = { 'adjacencies' => adjacencies, 'vertex' => vname }
534
+ end
535
+ result
536
+ end
530
537
  hash
531
538
  end
532
539
 
data/lib/puppet/graph.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Puppet::Graph
3
4
  require_relative 'graph/prioritizer'
4
5
  require_relative 'graph/sequential_prioritizer'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # The HTTP client provides methods for making `GET`, `POST`, etc requests to
3
4
  # HTTP(S) servers. It also provides methods for resolving Puppetserver REST
4
5
  # service endpoints using SRV records and settings (such as `server_list`,
@@ -85,7 +86,6 @@
85
86
  #
86
87
  # @api public
87
88
  class Puppet::HTTP::Client
88
-
89
89
  attr_reader :pool
90
90
 
91
91
  # Create a new http client instance. Use `Puppet.runtime[:http]` to get
@@ -237,6 +237,7 @@ class Puppet::HTTP::Client
237
237
  # @api public
238
238
  def put(url, body, headers: {}, params: {}, options: {})
239
239
  raise ArgumentError, "'put' requires a string 'body' argument" unless body.is_a?(String)
240
+
240
241
  url = encode_query(url, params)
241
242
 
242
243
  request = Net::HTTP::Put.new(url, @default_headers.merge(headers))
@@ -265,6 +266,7 @@ class Puppet::HTTP::Client
265
266
  # @api public
266
267
  def post(url, body, headers: {}, params: {}, options: {}, &block)
267
268
  raise ArgumentError, "'post' requires a string 'body' argument" unless body.is_a?(String)
269
+
268
270
  url = encode_query(url, params)
269
271
 
270
272
  request = Net::HTTP::Post.new(url, @default_headers.merge(headers))
@@ -469,6 +471,7 @@ class Puppet::HTTP::Client
469
471
  def resolve_ssl_context(ssl_context, include_system_store)
470
472
  if ssl_context
471
473
  raise Puppet::HTTP::HTTPError, "The ssl_context and include_system_store parameters are mutually exclusive" if include_system_store
474
+
472
475
  ssl_context
473
476
  elsif include_system_store
474
477
  system_ssl_context
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'resolv'
3
4
 
4
5
  module Puppet::HTTP
5
6
  class DNS
6
-
7
7
  class CacheEntry
8
8
  attr_reader :records, :ttl, :resolution_time
9
9
 
@@ -49,9 +49,9 @@ module Puppet::HTTP
49
49
  Puppet.debug "Searching for SRV records for domain: #{domain}"
50
50
 
51
51
  case service_name
52
- when :puppet then service = '_x-puppet'
53
- when :file then service = '_x-puppet-fileserver'
54
- else service = "_x-puppet-#{service_name}"
52
+ when :puppet then service = '_x-puppet'
53
+ when :file then service = '_x-puppet-fileserver'
54
+ else service = "_x-puppet-#{service_name}"
55
55
  end
56
56
  record_name = "#{service}._tcp.#{domain}"
57
57
 
@@ -72,7 +72,7 @@ module Puppet::HTTP
72
72
  each_srv_record(domain, :puppet, &block)
73
73
  else
74
74
  each_priority(records) do |recs|
75
- while next_rr = recs.delete(find_weighted_server(recs)) #rubocop:disable Lint/AssignmentInCondition
75
+ while next_rr = recs.delete(find_weighted_server(recs)) # rubocop:disable Lint/AssignmentInCondition
76
76
  Puppet.debug "Yielding next server of #{next_rr.target}:#{next_rr.port}"
77
77
  yield next_rr.target.to_s, next_rr.port
78
78
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Puppet::HTTP
3
4
  # A base class for puppet http errors
4
5
  # @api public
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Adapts an external http_client_class to the HTTP client API. The former
3
4
  # is typically registered by puppetserver and only implements a subset of
4
5
  # the Puppet::Network::HTTP::Connection methods. As a result, only the
@@ -7,7 +8,6 @@
7
8
  #
8
9
  # @api private
9
10
  class Puppet::HTTP::ExternalClient < Puppet::HTTP::Client
10
-
11
11
  # Create an external http client.
12
12
  #
13
13
  # @param [Class] http_client_class The class to create to handle the request
@@ -40,6 +40,7 @@ class Puppet::HTTP::ExternalClient < Puppet::HTTP::Client
40
40
  # @api private
41
41
  def post(url, body, headers: {}, params: {}, options: {}, &block)
42
42
  raise ArgumentError.new("'post' requires a string 'body' argument") unless body.is_a?(String)
43
+
43
44
  url = encode_query(url, params)
44
45
 
45
46
  options[:use_ssl] = url.scheme == 'https'
@@ -85,5 +86,4 @@ class Puppet::HTTP::ExternalClient < Puppet::HTTP::Client
85
86
  def delete(url, headers: {}, params: {}, options: {})
86
87
  raise NotImplementedError
87
88
  end
88
-
89
89
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/ssl/openssl_loader'
3
4
  require 'net/http'
4
5
  require_relative '../../puppet/http'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # A pool for persistent `Net::HTTP` connections. Connections are
3
4
  # stored in the pool indexed by their {Site}.
4
5
  # Connections are borrowed from the pool, yielded to the caller, and
@@ -71,13 +72,13 @@ class Puppet::HTTP::Pool
71
72
  end
72
73
  end
73
74
 
74
-
75
75
  # Safely close a persistent connection.
76
76
  # Don't try to close a connection that's already closed.
77
77
  #
78
78
  # @api private
79
79
  def close_connection(site, http)
80
80
  return false unless http.started?
81
+
81
82
  Puppet.debug("Closing connection for #{site}")
82
83
  http.finish
83
84
  true
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # An entry in the peristent HTTP pool that references the connection and
3
4
  # an expiration time for the connection.
4
5
  #