puppet 8.2.0-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 (1063) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +45 -43
  4. data/README.md +4 -4
  5. data/Rakefile +0 -27
  6. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  7. data/ext/project_data.yaml +2 -2
  8. data/ext/windows/service/daemon.rb +4 -5
  9. data/lib/hiera/puppet_function.rb +3 -2
  10. data/lib/hiera/scope.rb +2 -2
  11. data/lib/hiera_puppet.rb +1 -3
  12. data/lib/puppet/agent/disabler.rb +2 -1
  13. data/lib/puppet/agent/locker.rb +1 -2
  14. data/lib/puppet/agent.rb +2 -1
  15. data/lib/puppet/application/agent.rb +292 -291
  16. data/lib/puppet/application/apply.rb +143 -139
  17. data/lib/puppet/application/catalog.rb +1 -0
  18. data/lib/puppet/application/config.rb +1 -0
  19. data/lib/puppet/application/describe.rb +53 -55
  20. data/lib/puppet/application/device.rb +150 -150
  21. data/lib/puppet/application/doc.rb +61 -60
  22. data/lib/puppet/application/epp.rb +1 -0
  23. data/lib/puppet/application/face_base.rb +8 -7
  24. data/lib/puppet/application/facts.rb +1 -0
  25. data/lib/puppet/application/filebucket.rb +186 -184
  26. data/lib/puppet/application/generate.rb +1 -0
  27. data/lib/puppet/application/help.rb +1 -0
  28. data/lib/puppet/application/indirection_base.rb +1 -0
  29. data/lib/puppet/application/lookup.rb +168 -171
  30. data/lib/puppet/application/module.rb +1 -0
  31. data/lib/puppet/application/node.rb +1 -0
  32. data/lib/puppet/application/parser.rb +1 -0
  33. data/lib/puppet/application/plugin.rb +1 -0
  34. data/lib/puppet/application/report.rb +1 -0
  35. data/lib/puppet/application/resource.rb +111 -108
  36. data/lib/puppet/application/script.rb +92 -93
  37. data/lib/puppet/application/ssl.rb +119 -83
  38. data/lib/puppet/application.rb +13 -8
  39. data/lib/puppet/application_support.rb +1 -1
  40. data/lib/puppet/coercion.rb +3 -2
  41. data/lib/puppet/compilable_resource_type.rb +1 -0
  42. data/lib/puppet/concurrent/lock.rb +1 -2
  43. data/lib/puppet/concurrent/synchronized.rb +1 -2
  44. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  45. data/lib/puppet/concurrent.rb +1 -0
  46. data/lib/puppet/configurer/downloader.rb +1 -1
  47. data/lib/puppet/configurer/fact_handler.rb +2 -1
  48. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  49. data/lib/puppet/configurer.rb +17 -13
  50. data/lib/puppet/confine/any.rb +1 -0
  51. data/lib/puppet/confine/boolean.rb +1 -0
  52. data/lib/puppet/confine/exists.rb +1 -0
  53. data/lib/puppet/confine/false.rb +1 -0
  54. data/lib/puppet/confine/feature.rb +1 -0
  55. data/lib/puppet/confine/true.rb +1 -0
  56. data/lib/puppet/confine/variable.rb +1 -0
  57. data/lib/puppet/confine.rb +2 -0
  58. data/lib/puppet/confine_collection.rb +3 -1
  59. data/lib/puppet/confiner.rb +1 -0
  60. data/lib/puppet/context/trusted_information.rb +1 -0
  61. data/lib/puppet/context.rb +1 -0
  62. data/lib/puppet/daemon.rb +4 -1
  63. data/lib/puppet/data_binding.rb +2 -1
  64. data/lib/puppet/datatypes/error.rb +2 -1
  65. data/lib/puppet/datatypes/impl/error.rb +1 -0
  66. data/lib/puppet/datatypes.rb +5 -1
  67. data/lib/puppet/defaults.rb +24 -23
  68. data/lib/puppet/environments.rb +3 -2
  69. data/lib/puppet/error.rb +9 -7
  70. data/lib/puppet/etc.rb +6 -3
  71. data/lib/puppet/external/dot.rb +12 -31
  72. data/lib/puppet/face/catalog/select.rb +2 -1
  73. data/lib/puppet/face/catalog.rb +3 -2
  74. data/lib/puppet/face/config.rb +19 -21
  75. data/lib/puppet/face/epp.rb +8 -8
  76. data/lib/puppet/face/facts.rb +4 -3
  77. data/lib/puppet/face/generate.rb +2 -0
  78. data/lib/puppet/face/help.rb +8 -7
  79. data/lib/puppet/face/module/changes.rb +2 -0
  80. data/lib/puppet/face/module/install.rb +2 -1
  81. data/lib/puppet/face/module/list.rb +9 -10
  82. data/lib/puppet/face/module/uninstall.rb +1 -0
  83. data/lib/puppet/face/module.rb +1 -0
  84. data/lib/puppet/face/node/clean.rb +2 -1
  85. data/lib/puppet/face/node.rb +2 -1
  86. data/lib/puppet/face/parser.rb +3 -3
  87. data/lib/puppet/face/plugin.rb +2 -1
  88. data/lib/puppet/face/report.rb +2 -1
  89. data/lib/puppet/face/resource.rb +1 -0
  90. data/lib/puppet/face.rb +1 -0
  91. data/lib/puppet/feature/base.rb +2 -1
  92. data/lib/puppet/feature/bolt.rb +1 -0
  93. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  94. data/lib/puppet/feature/eventlog.rb +1 -0
  95. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  96. data/lib/puppet/feature/hocon.rb +1 -0
  97. data/lib/puppet/feature/libuser.rb +4 -3
  98. data/lib/puppet/feature/msgpack.rb +1 -0
  99. data/lib/puppet/feature/pe_license.rb +2 -1
  100. data/lib/puppet/feature/pson.rb +1 -0
  101. data/lib/puppet/feature/selinux.rb +1 -0
  102. data/lib/puppet/feature/ssh.rb +1 -0
  103. data/lib/puppet/feature/telnet.rb +1 -0
  104. data/lib/puppet/feature/zlib.rb +1 -0
  105. data/lib/puppet/ffi/posix/constants.rb +1 -0
  106. data/lib/puppet/ffi/posix/functions.rb +1 -1
  107. data/lib/puppet/ffi/posix.rb +1 -0
  108. data/lib/puppet/ffi/windows/api_types.rb +1 -0
  109. data/lib/puppet/ffi/windows/constants.rb +78 -77
  110. data/lib/puppet/ffi/windows/functions.rb +73 -73
  111. data/lib/puppet/ffi/windows/structs.rb +3 -3
  112. data/lib/puppet/ffi/windows.rb +1 -0
  113. data/lib/puppet/file_bucket/dipper.rb +7 -1
  114. data/lib/puppet/file_bucket/file.rb +1 -0
  115. data/lib/puppet/file_bucket.rb +1 -0
  116. data/lib/puppet/file_serving/base.rb +13 -6
  117. data/lib/puppet/file_serving/configuration/parser.rb +3 -1
  118. data/lib/puppet/file_serving/configuration.rb +5 -3
  119. data/lib/puppet/file_serving/content.rb +1 -0
  120. data/lib/puppet/file_serving/fileset.rb +9 -6
  121. data/lib/puppet/file_serving/http_metadata.rb +1 -3
  122. data/lib/puppet/file_serving/metadata.rb +9 -10
  123. data/lib/puppet/file_serving/mount/file.rb +6 -3
  124. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  125. data/lib/puppet/file_serving/mount/modules.rb +2 -0
  126. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  127. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  128. data/lib/puppet/file_serving/mount/scripts.rb +2 -0
  129. data/lib/puppet/file_serving/mount/tasks.rb +2 -0
  130. data/lib/puppet/file_serving/mount.rb +2 -0
  131. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  132. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  133. data/lib/puppet/file_serving.rb +1 -0
  134. data/lib/puppet/file_system/file_impl.rb +2 -2
  135. data/lib/puppet/file_system/jruby.rb +1 -0
  136. data/lib/puppet/file_system/memory_file.rb +2 -0
  137. data/lib/puppet/file_system/memory_impl.rb +3 -0
  138. data/lib/puppet/file_system/path_pattern.rb +1 -0
  139. data/lib/puppet/file_system/posix.rb +5 -1
  140. data/lib/puppet/file_system/uniquefile.rb +11 -11
  141. data/lib/puppet/file_system/windows.rb +4 -2
  142. data/lib/puppet/file_system.rb +3 -2
  143. data/lib/puppet/forge/cache.rb +1 -1
  144. data/lib/puppet/forge/errors.rb +1 -3
  145. data/lib/puppet/forge/repository.rb +2 -0
  146. data/lib/puppet/forge.rb +3 -0
  147. data/lib/puppet/functions/abs.rb +2 -1
  148. data/lib/puppet/functions/alert.rb +1 -0
  149. data/lib/puppet/functions/all.rb +1 -0
  150. data/lib/puppet/functions/annotate.rb +1 -0
  151. data/lib/puppet/functions/any.rb +1 -0
  152. data/lib/puppet/functions/assert_type.rb +1 -0
  153. data/lib/puppet/functions/binary_file.rb +3 -1
  154. data/lib/puppet/functions/break.rb +2 -1
  155. data/lib/puppet/functions/call.rb +1 -1
  156. data/lib/puppet/functions/camelcase.rb +1 -1
  157. data/lib/puppet/functions/capitalize.rb +1 -1
  158. data/lib/puppet/functions/ceiling.rb +2 -2
  159. data/lib/puppet/functions/chomp.rb +1 -1
  160. data/lib/puppet/functions/chop.rb +1 -1
  161. data/lib/puppet/functions/compare.rb +1 -0
  162. data/lib/puppet/functions/contain.rb +1 -0
  163. data/lib/puppet/functions/convert_to.rb +1 -0
  164. data/lib/puppet/functions/crit.rb +1 -0
  165. data/lib/puppet/functions/debug.rb +1 -0
  166. data/lib/puppet/functions/defined.rb +7 -4
  167. data/lib/puppet/functions/dig.rb +10 -8
  168. data/lib/puppet/functions/downcase.rb +1 -0
  169. data/lib/puppet/functions/each.rb +1 -0
  170. data/lib/puppet/functions/emerg.rb +1 -0
  171. data/lib/puppet/functions/empty.rb +1 -0
  172. data/lib/puppet/functions/epp.rb +1 -1
  173. data/lib/puppet/functions/err.rb +1 -0
  174. data/lib/puppet/functions/eyaml_lookup_key.rb +6 -4
  175. data/lib/puppet/functions/filter.rb +1 -0
  176. data/lib/puppet/functions/find_file.rb +1 -0
  177. data/lib/puppet/functions/find_template.rb +1 -0
  178. data/lib/puppet/functions/flatten.rb +1 -0
  179. data/lib/puppet/functions/floor.rb +2 -2
  180. data/lib/puppet/functions/get.rb +2 -1
  181. data/lib/puppet/functions/getvar.rb +2 -1
  182. data/lib/puppet/functions/hiera.rb +1 -0
  183. data/lib/puppet/functions/hiera_array.rb +1 -0
  184. data/lib/puppet/functions/hiera_hash.rb +1 -0
  185. data/lib/puppet/functions/hiera_include.rb +2 -0
  186. data/lib/puppet/functions/hocon_data.rb +1 -0
  187. data/lib/puppet/functions/import.rb +1 -0
  188. data/lib/puppet/functions/include.rb +1 -0
  189. data/lib/puppet/functions/index.rb +2 -2
  190. data/lib/puppet/functions/info.rb +1 -0
  191. data/lib/puppet/functions/inline_epp.rb +1 -1
  192. data/lib/puppet/functions/join.rb +2 -1
  193. data/lib/puppet/functions/json_data.rb +1 -0
  194. data/lib/puppet/functions/keys.rb +1 -0
  195. data/lib/puppet/functions/length.rb +1 -1
  196. data/lib/puppet/functions/lest.rb +1 -0
  197. data/lib/puppet/functions/lookup.rb +8 -9
  198. data/lib/puppet/functions/lstrip.rb +1 -1
  199. data/lib/puppet/functions/map.rb +1 -0
  200. data/lib/puppet/functions/match.rb +3 -1
  201. data/lib/puppet/functions/max.rb +4 -4
  202. data/lib/puppet/functions/min.rb +4 -4
  203. data/lib/puppet/functions/module_directory.rb +1 -0
  204. data/lib/puppet/functions/new.rb +2 -1
  205. data/lib/puppet/functions/next.rb +1 -0
  206. data/lib/puppet/functions/notice.rb +1 -0
  207. data/lib/puppet/functions/reduce.rb +1 -1
  208. data/lib/puppet/functions/regsubst.rb +1 -0
  209. data/lib/puppet/functions/require.rb +2 -0
  210. data/lib/puppet/functions/return.rb +1 -0
  211. data/lib/puppet/functions/reverse_each.rb +1 -0
  212. data/lib/puppet/functions/round.rb +1 -0
  213. data/lib/puppet/functions/rstrip.rb +1 -1
  214. data/lib/puppet/functions/scanf.rb +1 -0
  215. data/lib/puppet/functions/size.rb +1 -2
  216. data/lib/puppet/functions/slice.rb +2 -0
  217. data/lib/puppet/functions/sort.rb +1 -0
  218. data/lib/puppet/functions/split.rb +29 -1
  219. data/lib/puppet/functions/step.rb +1 -0
  220. data/lib/puppet/functions/strftime.rb +3 -2
  221. data/lib/puppet/functions/strip.rb +1 -1
  222. data/lib/puppet/functions/then.rb +2 -0
  223. data/lib/puppet/functions/tree_each.rb +1 -1
  224. data/lib/puppet/functions/type.rb +1 -0
  225. data/lib/puppet/functions/unique.rb +2 -1
  226. data/lib/puppet/functions/unwrap.rb +1 -0
  227. data/lib/puppet/functions/upcase.rb +1 -0
  228. data/lib/puppet/functions/values.rb +1 -0
  229. data/lib/puppet/functions/versioncmp.rb +2 -2
  230. data/lib/puppet/functions/warning.rb +1 -0
  231. data/lib/puppet/functions/with.rb +1 -0
  232. data/lib/puppet/functions/yaml_data.rb +1 -0
  233. data/lib/puppet/functions.rb +9 -9
  234. data/lib/puppet/generate/models/type/property.rb +2 -0
  235. data/lib/puppet/generate/models/type/type.rb +2 -0
  236. data/lib/puppet/generate/type.rb +6 -1
  237. data/lib/puppet/gettext/config.rb +6 -0
  238. data/lib/puppet/gettext/module_translations.rb +1 -1
  239. data/lib/puppet/gettext/stubs.rb +1 -0
  240. data/lib/puppet/graph/key.rb +1 -0
  241. data/lib/puppet/graph/prioritizer.rb +1 -0
  242. data/lib/puppet/graph/rb_tree_map.rb +12 -2
  243. data/lib/puppet/graph/relationship_graph.rb +3 -2
  244. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  245. data/lib/puppet/graph/simple_graph.rb +38 -31
  246. data/lib/puppet/graph.rb +1 -0
  247. data/lib/puppet/http/client.rb +4 -1
  248. data/lib/puppet/http/dns.rb +5 -5
  249. data/lib/puppet/http/errors.rb +1 -0
  250. data/lib/puppet/http/external_client.rb +2 -2
  251. data/lib/puppet/http/factory.rb +1 -0
  252. data/lib/puppet/http/pool.rb +2 -1
  253. data/lib/puppet/http/pool_entry.rb +1 -0
  254. data/lib/puppet/http/proxy.rb +3 -2
  255. data/lib/puppet/http/redirector.rb +1 -0
  256. data/lib/puppet/http/resolver/server_list.rb +1 -1
  257. data/lib/puppet/http/resolver/settings.rb +1 -1
  258. data/lib/puppet/http/resolver/srv.rb +1 -1
  259. data/lib/puppet/http/resolver.rb +1 -0
  260. data/lib/puppet/http/response.rb +1 -0
  261. data/lib/puppet/http/response_converter.rb +1 -0
  262. data/lib/puppet/http/response_net_http.rb +1 -1
  263. data/lib/puppet/http/retry_after_handler.rb +1 -1
  264. data/lib/puppet/http/service/ca.rb +1 -0
  265. data/lib/puppet/http/service/compiler.rb +9 -3
  266. data/lib/puppet/http/service/file_server.rb +2 -1
  267. data/lib/puppet/http/service/puppetserver.rb +1 -1
  268. data/lib/puppet/http/service/report.rb +1 -1
  269. data/lib/puppet/http/service.rb +1 -0
  270. data/lib/puppet/http/session.rb +2 -1
  271. data/lib/puppet/http/site.rb +1 -0
  272. data/lib/puppet/http.rb +1 -0
  273. data/lib/puppet/indirector/catalog/compiler.rb +50 -40
  274. data/lib/puppet/indirector/catalog/json.rb +1 -0
  275. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  276. data/lib/puppet/indirector/catalog/rest.rb +9 -0
  277. data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
  278. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  279. data/lib/puppet/indirector/code.rb +1 -0
  280. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  281. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  282. data/lib/puppet/indirector/direct_file_server.rb +3 -1
  283. data/lib/puppet/indirector/envelope.rb +1 -0
  284. data/lib/puppet/indirector/errors.rb +1 -0
  285. data/lib/puppet/indirector/exec.rb +1 -0
  286. data/lib/puppet/indirector/face.rb +7 -6
  287. data/lib/puppet/indirector/fact_search.rb +1 -0
  288. data/lib/puppet/indirector/facts/facter.rb +3 -1
  289. data/lib/puppet/indirector/facts/json.rb +1 -0
  290. data/lib/puppet/indirector/facts/memory.rb +1 -0
  291. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  292. data/lib/puppet/indirector/facts/rest.rb +1 -0
  293. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  294. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  295. data/lib/puppet/indirector/file_bucket_file/file.rb +11 -6
  296. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
  297. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  298. data/lib/puppet/indirector/file_content/file.rb +1 -0
  299. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  300. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  301. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  302. data/lib/puppet/indirector/file_content.rb +1 -0
  303. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  304. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  305. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  307. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata.rb +1 -0
  309. data/lib/puppet/indirector/file_server.rb +2 -0
  310. data/lib/puppet/indirector/generic_http.rb +1 -0
  311. data/lib/puppet/indirector/hiera.rb +5 -4
  312. data/lib/puppet/indirector/indirection.rb +12 -2
  313. data/lib/puppet/indirector/json.rb +3 -1
  314. data/lib/puppet/indirector/memory.rb +2 -0
  315. data/lib/puppet/indirector/msgpack.rb +5 -2
  316. data/lib/puppet/indirector/node/exec.rb +3 -2
  317. data/lib/puppet/indirector/node/json.rb +1 -1
  318. data/lib/puppet/indirector/node/memory.rb +1 -0
  319. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  320. data/lib/puppet/indirector/node/plain.rb +1 -0
  321. data/lib/puppet/indirector/node/rest.rb +1 -0
  322. data/lib/puppet/indirector/node/store_configs.rb +1 -2
  323. data/lib/puppet/indirector/node/yaml.rb +1 -0
  324. data/lib/puppet/indirector/none.rb +1 -0
  325. data/lib/puppet/indirector/plain.rb +1 -0
  326. data/lib/puppet/indirector/report/json.rb +1 -0
  327. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  328. data/lib/puppet/indirector/report/processor.rb +2 -0
  329. data/lib/puppet/indirector/report/rest.rb +1 -0
  330. data/lib/puppet/indirector/report/yaml.rb +1 -0
  331. data/lib/puppet/indirector/request.rb +7 -5
  332. data/lib/puppet/indirector/resource/ral.rb +1 -0
  333. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  334. data/lib/puppet/indirector/resource/validator.rb +1 -0
  335. data/lib/puppet/indirector/rest.rb +1 -0
  336. data/lib/puppet/indirector/store_configs.rb +1 -0
  337. data/lib/puppet/indirector/terminus.rb +4 -1
  338. data/lib/puppet/indirector/yaml.rb +1 -0
  339. data/lib/puppet/indirector.rb +2 -0
  340. data/lib/puppet/info_service/class_information_service.rb +5 -3
  341. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  342. data/lib/puppet/info_service/task_information_service.rb +2 -1
  343. data/lib/puppet/interface/action.rb +32 -27
  344. data/lib/puppet/interface/action_builder.rb +14 -14
  345. data/lib/puppet/interface/action_manager.rb +2 -0
  346. data/lib/puppet/interface/documentation.rb +21 -15
  347. data/lib/puppet/interface/face_collection.rb +5 -2
  348. data/lib/puppet/interface/option.rb +15 -4
  349. data/lib/puppet/interface/option_builder.rb +13 -9
  350. data/lib/puppet/interface/option_manager.rb +3 -2
  351. data/lib/puppet/interface.rb +3 -3
  352. data/lib/puppet/loaders.rb +1 -1
  353. data/lib/puppet/metatype/manager.rb +9 -8
  354. data/lib/puppet/module/plan.rb +10 -4
  355. data/lib/puppet/module/task.rb +8 -2
  356. data/lib/puppet/module.rb +13 -3
  357. data/lib/puppet/module_tool/applications/application.rb +6 -4
  358. data/lib/puppet/module_tool/applications/checksummer.rb +1 -2
  359. data/lib/puppet/module_tool/applications/installer.rb +32 -45
  360. data/lib/puppet/module_tool/applications/uninstaller.rb +22 -21
  361. data/lib/puppet/module_tool/applications/unpacker.rb +3 -0
  362. data/lib/puppet/module_tool/applications/upgrader.rb +28 -26
  363. data/lib/puppet/module_tool/applications.rb +1 -0
  364. data/lib/puppet/module_tool/checksums.rb +1 -1
  365. data/lib/puppet/module_tool/contents_description.rb +1 -2
  366. data/lib/puppet/module_tool/dependency.rb +1 -1
  367. data/lib/puppet/module_tool/errors/base.rb +1 -0
  368. data/lib/puppet/module_tool/errors/installer.rb +4 -4
  369. data/lib/puppet/module_tool/errors/shared.rb +12 -12
  370. data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
  371. data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
  372. data/lib/puppet/module_tool/errors.rb +1 -0
  373. data/lib/puppet/module_tool/install_directory.rb +6 -4
  374. data/lib/puppet/module_tool/installed_modules.rb +2 -0
  375. data/lib/puppet/module_tool/local_tarball.rb +3 -0
  376. data/lib/puppet/module_tool/metadata.rb +21 -20
  377. data/lib/puppet/module_tool/shared_behaviors.rb +23 -21
  378. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  379. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  380. data/lib/puppet/module_tool/tar.rb +2 -1
  381. data/lib/puppet/module_tool.rb +2 -2
  382. data/lib/puppet/network/authconfig.rb +1 -0
  383. data/lib/puppet/network/authorization.rb +1 -0
  384. data/lib/puppet/network/client_request.rb +1 -0
  385. data/lib/puppet/network/format.rb +5 -0
  386. data/lib/puppet/network/format_handler.rb +2 -1
  387. data/lib/puppet/network/format_support.rb +6 -5
  388. data/lib/puppet/network/formats.rb +18 -14
  389. data/lib/puppet/network/http/api/indirected_routes.rb +8 -8
  390. data/lib/puppet/network/http/api/indirection_type.rb +1 -1
  391. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  392. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  393. data/lib/puppet/network/http/api/master.rb +1 -0
  394. data/lib/puppet/network/http/api/server/v3/environments.rb +20 -14
  395. data/lib/puppet/network/http/api/server/v3.rb +13 -13
  396. data/lib/puppet/network/http/api/server.rb +1 -0
  397. data/lib/puppet/network/http/api.rb +11 -10
  398. data/lib/puppet/network/http/connection.rb +1 -0
  399. data/lib/puppet/network/http/error.rb +2 -1
  400. data/lib/puppet/network/http/handler.rb +3 -2
  401. data/lib/puppet/network/http/issues.rb +1 -0
  402. data/lib/puppet/network/http/memory_response.rb +2 -1
  403. data/lib/puppet/network/http/request.rb +13 -6
  404. data/lib/puppet/network/http/response.rb +1 -0
  405. data/lib/puppet/network/http/route.rb +4 -2
  406. data/lib/puppet/network/http.rb +1 -0
  407. data/lib/puppet/network/http_pool.rb +2 -1
  408. data/lib/puppet/network/uri.rb +1 -0
  409. data/lib/puppet/network.rb +1 -0
  410. data/lib/puppet/node/environment.rb +12 -9
  411. data/lib/puppet/node/facts.rb +2 -1
  412. data/lib/puppet/node.rb +3 -2
  413. data/lib/puppet/pal/catalog_compiler.rb +1 -3
  414. data/lib/puppet/pal/compiler.rb +6 -2
  415. data/lib/puppet/pal/function_signature.rb +2 -1
  416. data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
  417. data/lib/puppet/pal/pal_api.rb +1 -0
  418. data/lib/puppet/pal/pal_impl.rb +20 -19
  419. data/lib/puppet/pal/plan_signature.rb +2 -1
  420. data/lib/puppet/pal/script_compiler.rb +3 -2
  421. data/lib/puppet/pal/task_signature.rb +14 -9
  422. data/lib/puppet/parameter/boolean.rb +1 -0
  423. data/lib/puppet/parameter/package_options.rb +1 -0
  424. data/lib/puppet/parameter/path.rb +3 -0
  425. data/lib/puppet/parameter/value.rb +1 -0
  426. data/lib/puppet/parameter/value_collection.rb +6 -6
  427. data/lib/puppet/parameter.rb +4 -3
  428. data/lib/puppet/parser/abstract_compiler.rb +0 -2
  429. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  430. data/lib/puppet/parser/ast/branch.rb +1 -0
  431. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  432. data/lib/puppet/parser/ast/leaf.rb +2 -0
  433. data/lib/puppet/parser/ast/node.rb +1 -0
  434. data/lib/puppet/parser/ast/pops_bridge.rb +6 -6
  435. data/lib/puppet/parser/ast/resource.rb +2 -3
  436. data/lib/puppet/parser/ast/resource_instance.rb +2 -0
  437. data/lib/puppet/parser/ast/resourceparam.rb +6 -5
  438. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  439. data/lib/puppet/parser/ast.rb +4 -3
  440. data/lib/puppet/parser/catalog_compiler.rb +1 -2
  441. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -0
  442. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  443. data/lib/puppet/parser/compiler.rb +10 -8
  444. data/lib/puppet/parser/e4_parser_adapter.rb +15 -15
  445. data/lib/puppet/parser/files.rb +5 -4
  446. data/lib/puppet/parser/functions/assert_type.rb +55 -54
  447. data/lib/puppet/parser/functions/binary_file.rb +19 -18
  448. data/lib/puppet/parser/functions/break.rb +35 -34
  449. data/lib/puppet/parser/functions/contain.rb +1 -0
  450. data/lib/puppet/parser/functions/create_resources.rb +8 -6
  451. data/lib/puppet/parser/functions/defined.rb +102 -101
  452. data/lib/puppet/parser/functions/dig.rb +33 -32
  453. data/lib/puppet/parser/functions/digest.rb +1 -0
  454. data/lib/puppet/parser/functions/each.rb +99 -98
  455. data/lib/puppet/parser/functions/epp.rb +2 -2
  456. data/lib/puppet/parser/functions/fail.rb +9 -8
  457. data/lib/puppet/parser/functions/file.rb +14 -13
  458. data/lib/puppet/parser/functions/filter.rb +74 -73
  459. data/lib/puppet/parser/functions/find_file.rb +22 -21
  460. data/lib/puppet/parser/functions/fqdn_rand.rb +23 -22
  461. data/lib/puppet/parser/functions/generate.rb +20 -20
  462. data/lib/puppet/parser/functions/hiera.rb +94 -93
  463. data/lib/puppet/parser/functions/hiera_array.rb +82 -81
  464. data/lib/puppet/parser/functions/hiera_hash.rb +92 -91
  465. data/lib/puppet/parser/functions/hiera_include.rb +92 -91
  466. data/lib/puppet/parser/functions/include.rb +2 -1
  467. data/lib/puppet/parser/functions/inline_epp.rb +2 -2
  468. data/lib/puppet/parser/functions/inline_template.rb +11 -11
  469. data/lib/puppet/parser/functions/lest.rb +44 -43
  470. data/lib/puppet/parser/functions/lookup.rb +131 -130
  471. data/lib/puppet/parser/functions/map.rb +71 -70
  472. data/lib/puppet/parser/functions/match.rb +39 -38
  473. data/lib/puppet/parser/functions/md5.rb +2 -1
  474. data/lib/puppet/parser/functions/new.rb +985 -984
  475. data/lib/puppet/parser/functions/next.rb +34 -33
  476. data/lib/puppet/parser/functions/realize.rb +9 -9
  477. data/lib/puppet/parser/functions/reduce.rb +132 -131
  478. data/lib/puppet/parser/functions/regsubst.rb +6 -5
  479. data/lib/puppet/parser/functions/require.rb +5 -4
  480. data/lib/puppet/parser/functions/return.rb +88 -87
  481. data/lib/puppet/parser/functions/reverse_each.rb +78 -77
  482. data/lib/puppet/parser/functions/scanf.rb +28 -27
  483. data/lib/puppet/parser/functions/sha1.rb +2 -1
  484. data/lib/puppet/parser/functions/sha256.rb +1 -0
  485. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  486. data/lib/puppet/parser/functions/slice.rb +34 -33
  487. data/lib/puppet/parser/functions/split.rb +5 -6
  488. data/lib/puppet/parser/functions/sprintf.rb +3 -3
  489. data/lib/puppet/parser/functions/step.rb +79 -78
  490. data/lib/puppet/parser/functions/strftime.rb +180 -179
  491. data/lib/puppet/parser/functions/tag.rb +7 -6
  492. data/lib/puppet/parser/functions/tagged.rb +13 -12
  493. data/lib/puppet/parser/functions/template.rb +24 -23
  494. data/lib/puppet/parser/functions/then.rb +68 -67
  495. data/lib/puppet/parser/functions/type.rb +48 -47
  496. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  497. data/lib/puppet/parser/functions/with.rb +23 -22
  498. data/lib/puppet/parser/functions.rb +3 -1
  499. data/lib/puppet/parser/parser_factory.rb +1 -0
  500. data/lib/puppet/parser/relationship.rb +3 -0
  501. data/lib/puppet/parser/resource/param.rb +1 -0
  502. data/lib/puppet/parser/resource.rb +10 -4
  503. data/lib/puppet/parser/scope.rb +40 -32
  504. data/lib/puppet/parser/script_compiler.rb +5 -6
  505. data/lib/puppet/parser/templatewrapper.rb +1 -0
  506. data/lib/puppet/parser/type_loader.rb +19 -17
  507. data/lib/puppet/parser.rb +1 -0
  508. data/lib/puppet/plugins/configuration.rb +1 -0
  509. data/lib/puppet/plugins/syntax_checkers.rb +1 -1
  510. data/lib/puppet/plugins.rb +1 -0
  511. data/lib/puppet/pops/adaptable.rb +3 -1
  512. data/lib/puppet/pops/adapters.rb +3 -1
  513. data/lib/puppet/pops/evaluator/access_operator.rb +79 -65
  514. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
  515. data/lib/puppet/pops/evaluator/closure.rb +273 -277
  516. data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -9
  517. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  518. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
  519. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -4
  520. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -1
  521. data/lib/puppet/pops/evaluator/compare_operator.rb +15 -3
  522. data/lib/puppet/pops/evaluator/deferred_resolver.rb +2 -2
  523. data/lib/puppet/pops/evaluator/epp_evaluator.rb +10 -10
  524. data/lib/puppet/pops/evaluator/evaluator_impl.rb +140 -138
  525. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  526. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  527. data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
  528. data/lib/puppet/pops/evaluator/puppet_proc.rb +2 -0
  529. data/lib/puppet/pops/evaluator/relationship_operator.rb +5 -3
  530. data/lib/puppet/pops/evaluator/runtime3_converter.rb +21 -19
  531. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
  532. data/lib/puppet/pops/evaluator/runtime3_support.rb +16 -19
  533. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  534. data/lib/puppet/pops/functions/dispatcher.rb +1 -1
  535. data/lib/puppet/pops/functions/function.rb +1 -2
  536. data/lib/puppet/pops/issue_reporter.rb +19 -17
  537. data/lib/puppet/pops/issues.rb +8 -4
  538. data/lib/puppet/pops/label_provider.rb +1 -0
  539. data/lib/puppet/pops/loader/base_loader.rb +2 -2
  540. data/lib/puppet/pops/loader/dependency_loader.rb +3 -0
  541. data/lib/puppet/pops/loader/gem_support.rb +3 -1
  542. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  543. data/lib/puppet/pops/loader/loader.rb +1 -2
  544. data/lib/puppet/pops/loader/loader_paths.rb +24 -23
  545. data/lib/puppet/pops/loader/module_loaders.rb +28 -28
  546. data/lib/puppet/pops/loader/predefined_loader.rb +1 -2
  547. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +4 -2
  548. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +4 -2
  549. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -1
  550. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
  551. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
  552. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -2
  553. data/lib/puppet/pops/loader/runtime3_type_loader.rb +2 -2
  554. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -2
  555. data/lib/puppet/pops/loader/static_loader.rb +22 -21
  556. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  557. data/lib/puppet/pops/loader/type_definition_instantiator.rb +6 -4
  558. data/lib/puppet/pops/loader/typed_name.rb +1 -0
  559. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  560. data/lib/puppet/pops/loaders.rb +21 -18
  561. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  562. data/lib/puppet/pops/lookup/context.rb +24 -23
  563. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  564. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
  565. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
  566. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  567. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  568. data/lib/puppet/pops/lookup/explainer.rb +35 -34
  569. data/lib/puppet/pops/lookup/function_provider.rb +7 -6
  570. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  571. data/lib/puppet/pops/lookup/hiera_config.rb +137 -101
  572. data/lib/puppet/pops/lookup/interpolation.rb +5 -1
  573. data/lib/puppet/pops/lookup/invocation.rb +3 -0
  574. data/lib/puppet/pops/lookup/key_recorder.rb +3 -1
  575. data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
  576. data/lib/puppet/pops/lookup/lookup_adapter.rb +22 -20
  577. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  578. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
  579. data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
  580. data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
  581. data/lib/puppet/pops/lookup.rb +13 -8
  582. data/lib/puppet/pops/merge_strategy.rb +5 -2
  583. data/lib/puppet/pops/migration/migration_checker.rb +3 -1
  584. data/lib/puppet/pops/model/ast.rb +786 -685
  585. data/lib/puppet/pops/model/ast_transformer.rb +4 -3
  586. data/lib/puppet/pops/model/factory.rb +18 -14
  587. data/lib/puppet/pops/model/model_label_provider.rb +1 -1
  588. data/lib/puppet/pops/model/model_tree_dumper.rb +10 -9
  589. data/lib/puppet/pops/model/pn_transformer.rb +4 -6
  590. data/lib/puppet/pops/model/tree_dumper.rb +3 -1
  591. data/lib/puppet/pops/parser/code_merger.rb +0 -1
  592. data/lib/puppet/pops/parser/epp_parser.rb +1 -1
  593. data/lib/puppet/pops/parser/epp_support.rb +3 -3
  594. data/lib/puppet/pops/parser/evaluating_parser.rb +6 -3
  595. data/lib/puppet/pops/parser/heredoc_support.rb +6 -7
  596. data/lib/puppet/pops/parser/interpolation_support.rb +2 -3
  597. data/lib/puppet/pops/parser/lexer2.rb +32 -29
  598. data/lib/puppet/pops/parser/lexer_support.rb +38 -41
  599. data/lib/puppet/pops/parser/locatable.rb +1 -2
  600. data/lib/puppet/pops/parser/locator.rb +31 -28
  601. data/lib/puppet/pops/parser/parser_support.rb +2 -0
  602. data/lib/puppet/pops/parser/pn_parser.rb +2 -2
  603. data/lib/puppet/pops/parser/slurp_support.rb +33 -32
  604. data/lib/puppet/pops/patterns.rb +2 -3
  605. data/lib/puppet/pops/pcore.rb +2 -2
  606. data/lib/puppet/pops/pn.rb +4 -1
  607. data/lib/puppet/pops/puppet_stack.rb +1 -0
  608. data/lib/puppet/pops/resource/param.rb +11 -10
  609. data/lib/puppet/pops/resource/resource_type_impl.rb +37 -36
  610. data/lib/puppet/pops/semantic_error.rb +1 -0
  611. data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
  612. data/lib/puppet/pops/serialization/abstract_writer.rb +5 -4
  613. data/lib/puppet/pops/serialization/deserializer.rb +2 -0
  614. data/lib/puppet/pops/serialization/extension.rb +7 -0
  615. data/lib/puppet/pops/serialization/from_data_converter.rb +3 -0
  616. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  617. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  618. data/lib/puppet/pops/serialization/json.rb +6 -3
  619. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  620. data/lib/puppet/pops/serialization/object.rb +4 -1
  621. data/lib/puppet/pops/serialization/serializer.rb +6 -2
  622. data/lib/puppet/pops/serialization/time_factory.rb +1 -1
  623. data/lib/puppet/pops/serialization/to_data_converter.rb +4 -2
  624. data/lib/puppet/pops/serialization/to_stringified_converter.rb +2 -2
  625. data/lib/puppet/pops/serialization.rb +1 -0
  626. data/lib/puppet/pops/time/timespan.rb +16 -6
  627. data/lib/puppet/pops/time/timestamp.rb +4 -0
  628. data/lib/puppet/pops/types/annotatable.rb +1 -1
  629. data/lib/puppet/pops/types/annotation.rb +1 -0
  630. data/lib/puppet/pops/types/class_loader.rb +8 -6
  631. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  632. data/lib/puppet/pops/types/iterable.rb +18 -9
  633. data/lib/puppet/pops/types/p_binary_type.rb +2 -3
  634. data/lib/puppet/pops/types/p_init_type.rb +12 -9
  635. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  636. data/lib/puppet/pops/types/p_object_type.rb +65 -42
  637. data/lib/puppet/pops/types/p_object_type_extension.rb +10 -7
  638. data/lib/puppet/pops/types/p_runtime_type.rb +11 -9
  639. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  640. data/lib/puppet/pops/types/p_sem_ver_type.rb +5 -5
  641. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -4
  642. data/lib/puppet/pops/types/p_timespan_type.rb +4 -2
  643. data/lib/puppet/pops/types/p_timestamp_type.rb +3 -2
  644. data/lib/puppet/pops/types/p_type_set_type.rb +36 -28
  645. data/lib/puppet/pops/types/p_uri_type.rb +25 -18
  646. data/lib/puppet/pops/types/puppet_object.rb +1 -1
  647. data/lib/puppet/pops/types/recursion_guard.rb +7 -2
  648. data/lib/puppet/pops/types/ruby_generator.rb +9 -6
  649. data/lib/puppet/pops/types/ruby_method.rb +6 -5
  650. data/lib/puppet/pops/types/string_converter.rb +71 -63
  651. data/lib/puppet/pops/types/tree_iterators.rb +6 -7
  652. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  653. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  654. data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
  655. data/lib/puppet/pops/types/type_calculator.rb +10 -4
  656. data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
  657. data/lib/puppet/pops/types/type_factory.rb +7 -4
  658. data/lib/puppet/pops/types/type_formatter.rb +14 -13
  659. data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -8
  660. data/lib/puppet/pops/types/type_parser.rb +111 -107
  661. data/lib/puppet/pops/types/type_set_reference.rb +2 -0
  662. data/lib/puppet/pops/types/type_with_members.rb +1 -1
  663. data/lib/puppet/pops/types/types.rb +178 -153
  664. data/lib/puppet/pops/utils.rb +1 -0
  665. data/lib/puppet/pops/validation/checker4_0.rb +17 -11
  666. data/lib/puppet/pops/validation/tasks_checker.rb +2 -1
  667. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  668. data/lib/puppet/pops/validation.rb +8 -6
  669. data/lib/puppet/pops/visitable.rb +1 -0
  670. data/lib/puppet/pops/visitor.rb +14 -1
  671. data/lib/puppet/pops.rb +2 -0
  672. data/lib/puppet/property/boolean.rb +1 -0
  673. data/lib/puppet/property/ensure.rb +4 -1
  674. data/lib/puppet/property/keyvalue.rb +5 -4
  675. data/lib/puppet/property/list.rb +5 -5
  676. data/lib/puppet/property/ordered_list.rb +4 -4
  677. data/lib/puppet/property.rb +13 -11
  678. data/lib/puppet/provider/aix_object.rb +5 -0
  679. data/lib/puppet/provider/command.rb +1 -0
  680. data/lib/puppet/provider/confine.rb +1 -0
  681. data/lib/puppet/provider/exec/posix.rb +2 -0
  682. data/lib/puppet/provider/exec/shell.rb +1 -0
  683. data/lib/puppet/provider/exec/windows.rb +2 -1
  684. data/lib/puppet/provider/exec.rb +1 -0
  685. data/lib/puppet/provider/file/posix.rb +1 -0
  686. data/lib/puppet/provider/file/windows.rb +10 -6
  687. data/lib/puppet/provider/group/aix.rb +1 -0
  688. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  689. data/lib/puppet/provider/group/groupadd.rb +9 -4
  690. data/lib/puppet/provider/group/ldap.rb +2 -0
  691. data/lib/puppet/provider/group/pw.rb +1 -0
  692. data/lib/puppet/provider/group/windows_adsi.rb +2 -0
  693. data/lib/puppet/provider/ldap.rb +2 -0
  694. data/lib/puppet/provider/nameservice/directoryservice.rb +30 -21
  695. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  696. data/lib/puppet/provider/nameservice/pw.rb +6 -5
  697. data/lib/puppet/provider/nameservice.rb +8 -4
  698. data/lib/puppet/provider/network_device.rb +1 -2
  699. data/lib/puppet/provider/package/aix.rb +5 -4
  700. data/lib/puppet/provider/package/appdmg.rb +20 -19
  701. data/lib/puppet/provider/package/apple.rb +3 -2
  702. data/lib/puppet/provider/package/apt.rb +5 -5
  703. data/lib/puppet/provider/package/aptitude.rb +1 -0
  704. data/lib/puppet/provider/package/aptrpm.rb +2 -1
  705. data/lib/puppet/provider/package/blastwave.rb +6 -6
  706. data/lib/puppet/provider/package/dnf.rb +3 -1
  707. data/lib/puppet/provider/package/dnfmodule.rb +8 -7
  708. data/lib/puppet/provider/package/dpkg.rb +4 -4
  709. data/lib/puppet/provider/package/fink.rb +2 -1
  710. data/lib/puppet/provider/package/freebsd.rb +3 -2
  711. data/lib/puppet/provider/package/gem.rb +9 -5
  712. data/lib/puppet/provider/package/hpux.rb +4 -3
  713. data/lib/puppet/provider/package/macports.rb +2 -1
  714. data/lib/puppet/provider/package/nim.rb +13 -15
  715. data/lib/puppet/provider/package/openbsd.rb +6 -4
  716. data/lib/puppet/provider/package/opkg.rb +2 -0
  717. data/lib/puppet/provider/package/pacman.rb +12 -12
  718. data/lib/puppet/provider/package/pip.rb +3 -1
  719. data/lib/puppet/provider/package/pip2.rb +2 -2
  720. data/lib/puppet/provider/package/pip3.rb +2 -2
  721. data/lib/puppet/provider/package/pkg.rb +17 -13
  722. data/lib/puppet/provider/package/pkgdmg.rb +7 -2
  723. data/lib/puppet/provider/package/pkgin.rb +5 -5
  724. data/lib/puppet/provider/package/pkgng.rb +11 -7
  725. data/lib/puppet/provider/package/pkgutil.rb +7 -6
  726. data/lib/puppet/provider/package/portage.rb +11 -6
  727. data/lib/puppet/provider/package/ports.rb +6 -5
  728. data/lib/puppet/provider/package/portupgrade.rb +6 -12
  729. data/lib/puppet/provider/package/puppet_gem.rb +1 -0
  730. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  731. data/lib/puppet/provider/package/rpm.rb +10 -6
  732. data/lib/puppet/provider/package/rug.rb +2 -1
  733. data/lib/puppet/provider/package/sun.rb +20 -17
  734. data/lib/puppet/provider/package/sunfreeware.rb +1 -0
  735. data/lib/puppet/provider/package/tdnf.rb +1 -0
  736. data/lib/puppet/provider/package/up2date.rb +2 -1
  737. data/lib/puppet/provider/package/urpmi.rb +1 -0
  738. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  739. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  740. data/lib/puppet/provider/package/windows/package.rb +5 -3
  741. data/lib/puppet/provider/package/windows.rb +4 -2
  742. data/lib/puppet/provider/package/yum.rb +17 -14
  743. data/lib/puppet/provider/package/zypper.rb +15 -14
  744. data/lib/puppet/provider/package.rb +7 -6
  745. data/lib/puppet/provider/package_targetable.rb +1 -0
  746. data/lib/puppet/provider/parsedfile.rb +7 -2
  747. data/lib/puppet/provider/service/base.rb +2 -1
  748. data/lib/puppet/provider/service/bsd.rb +1 -0
  749. data/lib/puppet/provider/service/daemontools.rb +9 -7
  750. data/lib/puppet/provider/service/debian.rb +4 -3
  751. data/lib/puppet/provider/service/freebsd.rb +5 -6
  752. data/lib/puppet/provider/service/gentoo.rb +5 -4
  753. data/lib/puppet/provider/service/init.rb +10 -11
  754. data/lib/puppet/provider/service/launchd.rb +10 -4
  755. data/lib/puppet/provider/service/openbsd.rb +4 -4
  756. data/lib/puppet/provider/service/openrc.rb +1 -1
  757. data/lib/puppet/provider/service/openwrt.rb +1 -1
  758. data/lib/puppet/provider/service/rcng.rb +1 -0
  759. data/lib/puppet/provider/service/redhat.rb +3 -2
  760. data/lib/puppet/provider/service/runit.rb +8 -7
  761. data/lib/puppet/provider/service/service.rb +1 -0
  762. data/lib/puppet/provider/service/smf.rb +5 -2
  763. data/lib/puppet/provider/service/src.rb +16 -16
  764. data/lib/puppet/provider/service/systemd.rb +8 -4
  765. data/lib/puppet/provider/service/upstart.rb +8 -7
  766. data/lib/puppet/provider/service/windows.rb +22 -26
  767. data/lib/puppet/provider/user/aix.rb +3 -2
  768. data/lib/puppet/provider/user/directoryservice.rb +53 -45
  769. data/lib/puppet/provider/user/hpux.rb +15 -14
  770. data/lib/puppet/provider/user/ldap.rb +8 -6
  771. data/lib/puppet/provider/user/openbsd.rb +21 -20
  772. data/lib/puppet/provider/user/pw.rb +3 -2
  773. data/lib/puppet/provider/user/user_role_add.rb +19 -14
  774. data/lib/puppet/provider/user/useradd.rb +51 -41
  775. data/lib/puppet/provider/user/windows_adsi.rb +4 -1
  776. data/lib/puppet/provider.rb +9 -9
  777. data/lib/puppet/reference/configuration.rb +44 -43
  778. data/lib/puppet/reference/function.rb +1 -0
  779. data/lib/puppet/reference/indirection.rb +43 -42
  780. data/lib/puppet/reference/metaparameter.rb +1 -0
  781. data/lib/puppet/reference/providers.rb +2 -0
  782. data/lib/puppet/reference/report.rb +1 -0
  783. data/lib/puppet/reference/type.rb +4 -3
  784. data/lib/puppet/relationship.rb +3 -2
  785. data/lib/puppet/reports/http.rb +1 -1
  786. data/lib/puppet/reports/log.rb +1 -0
  787. data/lib/puppet/reports/store.rb +3 -1
  788. data/lib/puppet/reports.rb +5 -4
  789. data/lib/puppet/resource/catalog.rb +14 -10
  790. data/lib/puppet/resource/status.rb +1 -1
  791. data/lib/puppet/resource/type.rb +28 -18
  792. data/lib/puppet/resource/type_collection.rb +4 -0
  793. data/lib/puppet/resource.rb +24 -16
  794. data/lib/puppet/runtime.rb +1 -0
  795. data/lib/puppet/scheduler/job.rb +1 -0
  796. data/lib/puppet/scheduler/scheduler.rb +1 -0
  797. data/lib/puppet/scheduler/splay_job.rb +1 -0
  798. data/lib/puppet/scheduler/timer.rb +1 -0
  799. data/lib/puppet/scheduler.rb +1 -0
  800. data/lib/puppet/settings/alias_setting.rb +1 -0
  801. data/lib/puppet/settings/array_setting.rb +1 -1
  802. data/lib/puppet/settings/autosign_setting.rb +1 -1
  803. data/lib/puppet/settings/base_setting.rb +9 -5
  804. data/lib/puppet/settings/boolean_setting.rb +1 -0
  805. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  806. data/lib/puppet/settings/config_file.rb +3 -3
  807. data/lib/puppet/settings/directory_setting.rb +1 -0
  808. data/lib/puppet/settings/duration_setting.rb +1 -0
  809. data/lib/puppet/settings/enum_setting.rb +2 -1
  810. data/lib/puppet/settings/environment_conf.rb +9 -8
  811. data/lib/puppet/settings/errors.rb +2 -0
  812. data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
  813. data/lib/puppet/settings/file_setting.rb +3 -13
  814. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
  815. data/lib/puppet/settings/ini_file.rb +1 -0
  816. data/lib/puppet/settings/integer_setting.rb +1 -0
  817. data/lib/puppet/settings/path_setting.rb +1 -0
  818. data/lib/puppet/settings/port_setting.rb +2 -1
  819. data/lib/puppet/settings/priority_setting.rb +9 -8
  820. data/lib/puppet/settings/server_list_setting.rb +2 -2
  821. data/lib/puppet/settings/string_setting.rb +1 -0
  822. data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
  823. data/lib/puppet/settings/terminus_setting.rb +1 -0
  824. data/lib/puppet/settings/ttl_setting.rb +2 -0
  825. data/lib/puppet/settings/value_translator.rb +8 -7
  826. data/lib/puppet/settings.rb +89 -66
  827. data/lib/puppet/ssl/base.rb +4 -0
  828. data/lib/puppet/ssl/certificate.rb +3 -2
  829. data/lib/puppet/ssl/certificate_request.rb +9 -7
  830. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -1
  831. data/lib/puppet/ssl/certificate_signer.rb +2 -3
  832. data/lib/puppet/ssl/digest.rb +1 -0
  833. data/lib/puppet/ssl/error.rb +2 -0
  834. data/lib/puppet/ssl/oids.rb +3 -3
  835. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  836. data/lib/puppet/ssl/ssl_context.rb +11 -15
  837. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  838. data/lib/puppet/ssl/state_machine.rb +1 -0
  839. data/lib/puppet/ssl/verifier.rb +2 -2
  840. data/lib/puppet/ssl.rb +1 -0
  841. data/lib/puppet/syntax_checkers/base64.rb +2 -1
  842. data/lib/puppet/syntax_checkers/epp.rb +1 -1
  843. data/lib/puppet/syntax_checkers/json.rb +1 -2
  844. data/lib/puppet/syntax_checkers/pp.rb +1 -1
  845. data/lib/puppet/syntax_checkers.rb +1 -0
  846. data/lib/puppet/test/test_helper.rb +16 -14
  847. data/lib/puppet/thread_local.rb +1 -0
  848. data/lib/puppet/transaction/additional_resource_generator.rb +5 -1
  849. data/lib/puppet/transaction/event.rb +5 -3
  850. data/lib/puppet/transaction/event_manager.rb +4 -3
  851. data/lib/puppet/transaction/persistence.rb +2 -1
  852. data/lib/puppet/transaction/report.rb +24 -16
  853. data/lib/puppet/transaction/resource_harness.rb +6 -3
  854. data/lib/puppet/transaction.rb +11 -6
  855. data/lib/puppet/trusted_external.rb +8 -4
  856. data/lib/puppet/type/component.rb +11 -5
  857. data/lib/puppet/type/exec.rb +26 -10
  858. data/lib/puppet/type/file/checksum.rb +1 -0
  859. data/lib/puppet/type/file/checksum_value.rb +3 -2
  860. data/lib/puppet/type/file/content.rb +16 -13
  861. data/lib/puppet/type/file/ctime.rb +2 -1
  862. data/lib/puppet/type/file/data_sync.rb +4 -2
  863. data/lib/puppet/type/file/ensure.rb +5 -5
  864. data/lib/puppet/type/file/group.rb +2 -1
  865. data/lib/puppet/type/file/mode.rb +4 -2
  866. data/lib/puppet/type/file/mtime.rb +2 -1
  867. data/lib/puppet/type/file/owner.rb +2 -1
  868. data/lib/puppet/type/file/selcontext.rb +2 -2
  869. data/lib/puppet/type/file/source.rb +12 -10
  870. data/lib/puppet/type/file/target.rb +2 -2
  871. data/lib/puppet/type/file/type.rb +2 -1
  872. data/lib/puppet/type/file.rb +22 -13
  873. data/lib/puppet/type/filebucket.rb +2 -1
  874. data/lib/puppet/type/group.rb +8 -8
  875. data/lib/puppet/type/notify.rb +1 -1
  876. data/lib/puppet/type/package.rb +21 -21
  877. data/lib/puppet/type/resources.rb +30 -25
  878. data/lib/puppet/type/schedule.rb +9 -10
  879. data/lib/puppet/type/service.rb +9 -7
  880. data/lib/puppet/type/stage.rb +1 -0
  881. data/lib/puppet/type/tidy.rb +9 -4
  882. data/lib/puppet/type/user.rb +28 -24
  883. data/lib/puppet/type/whit.rb +1 -1
  884. data/lib/puppet/type.rb +71 -61
  885. data/lib/puppet/util/at_fork/noop.rb +1 -0
  886. data/lib/puppet/util/at_fork/solaris.rb +2 -1
  887. data/lib/puppet/util/at_fork.rb +2 -1
  888. data/lib/puppet/util/autoload.rb +5 -0
  889. data/lib/puppet/util/backups.rb +3 -2
  890. data/lib/puppet/util/character_encoding.rb +1 -0
  891. data/lib/puppet/util/checksums.rb +11 -9
  892. data/lib/puppet/util/classgen.rb +8 -13
  893. data/lib/puppet/util/colors.rb +32 -31
  894. data/lib/puppet/util/command_line/puppet_option_parser.rb +12 -12
  895. data/lib/puppet/util/command_line/trollop.rb +693 -690
  896. data/lib/puppet/util/command_line.rb +1 -0
  897. data/lib/puppet/util/constant_inflector.rb +3 -3
  898. data/lib/puppet/util/diff.rb +14 -14
  899. data/lib/puppet/util/docs.rb +3 -0
  900. data/lib/puppet/util/errors.rb +1 -0
  901. data/lib/puppet/util/execution.rb +24 -21
  902. data/lib/puppet/util/execution_stub.rb +1 -0
  903. data/lib/puppet/util/feature.rb +1 -0
  904. data/lib/puppet/util/file_watcher.rb +2 -0
  905. data/lib/puppet/util/fileparsing.rb +2 -0
  906. data/lib/puppet/util/filetype.rb +3 -0
  907. data/lib/puppet/util/http_proxy.rb +1 -0
  908. data/lib/puppet/util/inifile.rb +5 -5
  909. data/lib/puppet/util/instance_loader.rb +2 -0
  910. data/lib/puppet/util/json.rb +1 -0
  911. data/lib/puppet/util/json_lockfile.rb +3 -1
  912. data/lib/puppet/util/ldap/connection.rb +19 -18
  913. data/lib/puppet/util/ldap/generator.rb +1 -0
  914. data/lib/puppet/util/ldap/manager.rb +3 -2
  915. data/lib/puppet/util/ldap.rb +1 -0
  916. data/lib/puppet/util/libuser.rb +1 -1
  917. data/lib/puppet/util/limits.rb +1 -0
  918. data/lib/puppet/util/lockfile.rb +1 -0
  919. data/lib/puppet/util/log/destination.rb +1 -0
  920. data/lib/puppet/util/log/destinations.rb +14 -13
  921. data/lib/puppet/util/log.rb +21 -17
  922. data/lib/puppet/util/logging.rb +18 -14
  923. data/lib/puppet/util/metaid.rb +1 -0
  924. data/lib/puppet/util/metric.rb +2 -0
  925. data/lib/puppet/util/monkey_patches.rb +19 -0
  926. data/lib/puppet/util/multi_match.rb +4 -1
  927. data/lib/puppet/util/network_device/base.rb +1 -1
  928. data/lib/puppet/util/network_device/config.rb +3 -4
  929. data/lib/puppet/util/network_device/transport/base.rb +0 -1
  930. data/lib/puppet/util/network_device/transport.rb +1 -0
  931. data/lib/puppet/util/network_device.rb +1 -0
  932. data/lib/puppet/util/package/version/debian.rb +5 -3
  933. data/lib/puppet/util/package/version/gem.rb +2 -0
  934. data/lib/puppet/util/package/version/pip.rb +7 -2
  935. data/lib/puppet/util/package/version/range/eq.rb +2 -0
  936. data/lib/puppet/util/package/version/range/gt.rb +2 -0
  937. data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
  938. data/lib/puppet/util/package/version/range/lt.rb +2 -0
  939. data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
  940. data/lib/puppet/util/package/version/range/min_max.rb +4 -0
  941. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  942. data/lib/puppet/util/package/version/range.rb +3 -0
  943. data/lib/puppet/util/package/version/rpm.rb +7 -5
  944. data/lib/puppet/util/package.rb +3 -0
  945. data/lib/puppet/util/pidlock.rb +7 -7
  946. data/lib/puppet/util/platform.rb +1 -0
  947. data/lib/puppet/util/plist.rb +1 -1
  948. data/lib/puppet/util/posix.rb +8 -5
  949. data/lib/puppet/util/profiler/aggregate.rb +2 -5
  950. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  951. data/lib/puppet/util/profiler/logging.rb +1 -0
  952. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  953. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  954. data/lib/puppet/util/profiler.rb +1 -0
  955. data/lib/puppet/util/provider_features.rb +5 -1
  956. data/lib/puppet/util/psych_support.rb +1 -0
  957. data/lib/puppet/util/rdoc/code_objects.rb +3 -7
  958. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -50
  959. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
  960. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +5 -5
  961. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  962. data/lib/puppet/util/rdoc/parser.rb +1 -0
  963. data/lib/puppet/util/rdoc.rb +1 -1
  964. data/lib/puppet/util/reference.rb +1 -1
  965. data/lib/puppet/util/resource_template.rb +2 -0
  966. data/lib/puppet/util/retry_action.rb +3 -3
  967. data/lib/puppet/util/rpm_compare.rb +6 -3
  968. data/lib/puppet/util/rubygems.rb +1 -1
  969. data/lib/puppet/util/run_mode.rb +2 -1
  970. data/lib/puppet/util/selinux.rb +23 -12
  971. data/lib/puppet/util/skip_tags.rb +1 -0
  972. data/lib/puppet/util/splayer.rb +1 -0
  973. data/lib/puppet/util/storage.rb +2 -1
  974. data/lib/puppet/util/suidmanager.rb +8 -5
  975. data/lib/puppet/util/symbolic_file_mode.rb +3 -1
  976. data/lib/puppet/util/tag_set.rb +1 -0
  977. data/lib/puppet/util/tagging.rb +2 -1
  978. data/lib/puppet/util/terminal.rb +1 -0
  979. data/lib/puppet/util/user_attr.rb +1 -0
  980. data/lib/puppet/util/warnings.rb +3 -0
  981. data/lib/puppet/util/watched_file.rb +1 -0
  982. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  983. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  984. data/lib/puppet/util/watcher/timer.rb +1 -0
  985. data/lib/puppet/util/watcher.rb +1 -0
  986. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  987. data/lib/puppet/util/windows/access_control_list.rb +4 -3
  988. data/lib/puppet/util/windows/adsi.rb +41 -27
  989. data/lib/puppet/util/windows/com.rb +5 -3
  990. data/lib/puppet/util/windows/daemon.rb +33 -33
  991. data/lib/puppet/util/windows/error.rb +4 -3
  992. data/lib/puppet/util/windows/eventlog.rb +8 -5
  993. data/lib/puppet/util/windows/file.rb +32 -26
  994. data/lib/puppet/util/windows/monkey_patches/process.rb +0 -1
  995. data/lib/puppet/util/windows/principal.rb +27 -27
  996. data/lib/puppet/util/windows/process.rb +8 -7
  997. data/lib/puppet/util/windows/registry.rb +43 -41
  998. data/lib/puppet/util/windows/root_certs.rb +1 -0
  999. data/lib/puppet/util/windows/security.rb +43 -44
  1000. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  1001. data/lib/puppet/util/windows/service.rb +12 -1
  1002. data/lib/puppet/util/windows/sid.rb +10 -8
  1003. data/lib/puppet/util/windows/string.rb +1 -0
  1004. data/lib/puppet/util/windows/user.rb +33 -33
  1005. data/lib/puppet/util/windows.rb +6 -0
  1006. data/lib/puppet/util/yaml.rb +1 -0
  1007. data/lib/puppet/util.rb +20 -23
  1008. data/lib/puppet/vendor.rb +2 -1
  1009. data/lib/puppet/version.rb +3 -1
  1010. data/lib/puppet/x509/cert_provider.rb +13 -3
  1011. data/lib/puppet/x509/pem_store.rb +1 -0
  1012. data/lib/puppet/x509.rb +1 -0
  1013. data/lib/puppet.rb +1 -0
  1014. data/lib/puppet_pal.rb +1 -0
  1015. data/lib/puppet_x.rb +1 -0
  1016. data/locales/puppet.pot +214 -210
  1017. data/man/man5/puppet.conf.5 +3 -3
  1018. data/man/man8/puppet-agent.8 +1 -1
  1019. data/man/man8/puppet-apply.8 +1 -1
  1020. data/man/man8/puppet-catalog.8 +1 -1
  1021. data/man/man8/puppet-config.8 +1 -1
  1022. data/man/man8/puppet-describe.8 +1 -1
  1023. data/man/man8/puppet-device.8 +1 -1
  1024. data/man/man8/puppet-doc.8 +1 -1
  1025. data/man/man8/puppet-epp.8 +1 -1
  1026. data/man/man8/puppet-facts.8 +1 -1
  1027. data/man/man8/puppet-filebucket.8 +1 -1
  1028. data/man/man8/puppet-generate.8 +1 -1
  1029. data/man/man8/puppet-help.8 +1 -1
  1030. data/man/man8/puppet-lookup.8 +1 -1
  1031. data/man/man8/puppet-module.8 +1 -1
  1032. data/man/man8/puppet-node.8 +1 -1
  1033. data/man/man8/puppet-parser.8 +1 -1
  1034. data/man/man8/puppet-plugin.8 +1 -1
  1035. data/man/man8/puppet-report.8 +1 -1
  1036. data/man/man8/puppet-resource.8 +1 -1
  1037. data/man/man8/puppet-script.8 +1 -1
  1038. data/man/man8/puppet-ssl.8 +5 -1
  1039. data/man/man8/puppet.8 +2 -2
  1040. data/spec/integration/application/agent_spec.rb +13 -0
  1041. data/spec/integration/type/exec_spec.rb +13 -0
  1042. data/spec/lib/puppet_spec/puppetserver.rb +1 -0
  1043. data/spec/lib/puppet_spec/verbose.rb +15 -4
  1044. data/spec/unit/agent_spec.rb +2 -14
  1045. data/spec/unit/application/ssl_spec.rb +49 -0
  1046. data/spec/unit/daemon_spec.rb +3 -20
  1047. data/spec/unit/functions/split_spec.rb +6 -0
  1048. data/spec/unit/indirector/catalog/compiler_spec.rb +17 -0
  1049. data/spec/unit/indirector/catalog/rest_spec.rb +17 -0
  1050. data/spec/unit/info_service_spec.rb +1 -1
  1051. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1052. data/spec/unit/provider/package/dnf_spec.rb +7 -0
  1053. data/spec/unit/provider/package/dnfmodule_spec.rb +22 -2
  1054. data/spec/unit/provider/service/systemd_spec.rb +8 -6
  1055. data/spec/unit/ssl/certificate_signer_spec.rb +17 -0
  1056. data/spec/unit/ssl/ssl_provider_spec.rb +1 -1
  1057. data/spec/unit/type/exec_spec.rb +14 -9
  1058. data/spec/unit/util/execution_spec.rb +1 -0
  1059. data/spec/unit/util/monkey_patches_spec.rb +42 -0
  1060. data/spec/unit/util/rpm_compare_spec.rb +8 -8
  1061. data/spec/unit/util/windows/adsi_spec.rb +25 -0
  1062. metadata +5 -4
  1063. data/CONTRIBUTING.md +0 -161
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../../puppet/ffi/windows'
3
4
 
4
5
  module Puppet::FFI::Windows
5
6
  module Functions
6
-
7
7
  extend FFI::Library
8
8
  include Puppet::FFI::Windows::Constants
9
9
 
@@ -40,8 +40,8 @@ module Puppet::FFI::Windows
40
40
  # );
41
41
  ffi_lib :kernel32
42
42
  attach_function_private :CreateProcessW,
43
- [:lpcwstr, :lpwstr, :pointer, :pointer, :win32_bool,
44
- :dword, :lpvoid, :lpcwstr, :pointer, :pointer], :bool
43
+ [:lpcwstr, :lpwstr, :pointer, :pointer, :win32_bool,
44
+ :dword, :lpvoid, :lpcwstr, :pointer, :pointer], :bool
45
45
 
46
46
  # https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess
47
47
  # HANDLE OpenProcess(
@@ -76,8 +76,8 @@ module Puppet::FFI::Windows
76
76
  # );
77
77
  ffi_lib :advapi32
78
78
  attach_function_private :CreateProcessWithLogonW,
79
- [:lpcwstr, :lpcwstr, :lpcwstr, :dword, :lpcwstr, :lpwstr,
80
- :dword, :lpvoid, :lpcwstr, :pointer, :pointer], :bool
79
+ [:lpcwstr, :lpcwstr, :lpcwstr, :dword, :lpcwstr, :lpwstr,
80
+ :dword, :lpvoid, :lpcwstr, :pointer, :pointer], :bool
81
81
 
82
82
  # https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/get-osfhandle?view=vs-2019
83
83
  # intptr_t _get_osfhandle(
@@ -103,7 +103,7 @@ module Puppet::FFI::Windows
103
103
  # );
104
104
  ffi_lib :kernel32
105
105
  attach_function_private :WaitForSingleObject,
106
- [:handle, :dword], :dword, :blocking => true
106
+ [:handle, :dword], :dword, :blocking => true
107
107
 
108
108
  # https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitformultipleobjects
109
109
  # DWORD WaitForMultipleObjects(
@@ -114,7 +114,7 @@ module Puppet::FFI::Windows
114
114
  # );
115
115
  ffi_lib :kernel32
116
116
  attach_function_private :WaitForMultipleObjects,
117
- [:dword, :phandle, :win32_bool, :dword], :dword
117
+ [:dword, :phandle, :win32_bool, :dword], :dword
118
118
 
119
119
  # https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createeventw
120
120
  # HANDLE CreateEventW(
@@ -125,7 +125,7 @@ module Puppet::FFI::Windows
125
125
  # );
126
126
  ffi_lib :kernel32
127
127
  attach_function_private :CreateEventW,
128
- [:pointer, :win32_bool, :win32_bool, :lpcwstr], :handle
128
+ [:pointer, :win32_bool, :win32_bool, :lpcwstr], :handle
129
129
 
130
130
  # https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread
131
131
  # HANDLE CreateThread(
@@ -138,7 +138,7 @@ module Puppet::FFI::Windows
138
138
  # );
139
139
  ffi_lib :kernel32
140
140
  attach_function_private :CreateThread,
141
- [:pointer, :size_t, :pointer, :lpvoid, :dword, :lpdword], :handle, :blocking => true
141
+ [:pointer, :size_t, :pointer, :lpvoid, :dword, :lpdword], :handle, :blocking => true
142
142
 
143
143
  # https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-setevent
144
144
  # BOOL SetEvent(
@@ -146,7 +146,7 @@ module Puppet::FFI::Windows
146
146
  # );
147
147
  ffi_lib :kernel32
148
148
  attach_function_private :SetEvent,
149
- [:handle], :win32_bool
149
+ [:handle], :win32_bool
150
150
 
151
151
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms683189(v=vs.85).aspx
152
152
  # BOOL WINAPI GetExitCodeProcess(
@@ -155,7 +155,7 @@ module Puppet::FFI::Windows
155
155
  # );
156
156
  ffi_lib :kernel32
157
157
  attach_function_private :GetExitCodeProcess,
158
- [:handle, :lpdword], :win32_bool
158
+ [:handle, :lpdword], :win32_bool
159
159
 
160
160
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms683179(v=vs.85).aspx
161
161
  # HANDLE WINAPI GetCurrentProcess(void);
@@ -173,7 +173,7 @@ module Puppet::FFI::Windows
173
173
  # );
174
174
  ffi_lib :kernel32
175
175
  attach_function_private :FreeEnvironmentStringsW,
176
- [:pointer], :win32_bool
176
+ [:pointer], :win32_bool
177
177
 
178
178
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms686206(v=vs.85).aspx
179
179
  # BOOL WINAPI SetEnvironmentVariableW(
@@ -182,7 +182,7 @@ module Puppet::FFI::Windows
182
182
  # );
183
183
  ffi_lib :kernel32
184
184
  attach_function_private :SetEnvironmentVariableW,
185
- [:lpcwstr, :lpcwstr], :win32_bool
185
+ [:lpcwstr, :lpcwstr], :win32_bool
186
186
 
187
187
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx
188
188
  # HANDLE WINAPI OpenProcess(
@@ -192,7 +192,7 @@ module Puppet::FFI::Windows
192
192
  # );
193
193
  ffi_lib :kernel32
194
194
  attach_function_private :OpenProcess,
195
- [:dword, :win32_bool, :dword], :handle
195
+ [:dword, :win32_bool, :dword], :handle
196
196
 
197
197
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379295(v=vs.85).aspx
198
198
  # BOOL WINAPI OpenProcessToken(
@@ -202,7 +202,7 @@ module Puppet::FFI::Windows
202
202
  # );
203
203
  ffi_lib :advapi32
204
204
  attach_function_private :OpenProcessToken,
205
- [:handle, :dword, :phandle], :win32_bool
205
+ [:handle, :dword, :phandle], :win32_bool
206
206
 
207
207
  # https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-queryfullprocessimagenamew
208
208
  # BOOL WINAPI QueryFullProcessImageName(
@@ -213,7 +213,7 @@ module Puppet::FFI::Windows
213
213
  # );
214
214
  ffi_lib :kernel32
215
215
  attach_function_private :QueryFullProcessImageNameW,
216
- [:handle, :dword, :lpwstr, :pdword], :win32_bool
216
+ [:handle, :dword, :lpwstr, :pdword], :win32_bool
217
217
 
218
218
  # https://msdn.microsoft.com/en-us/library/Windows/desktop/aa379180(v=vs.85).aspx
219
219
  # BOOL WINAPI LookupPrivilegeValue(
@@ -223,7 +223,7 @@ module Puppet::FFI::Windows
223
223
  # );
224
224
  ffi_lib :advapi32
225
225
  attach_function_private :LookupPrivilegeValueW,
226
- [:lpcwstr, :lpcwstr, :pointer], :win32_bool
226
+ [:lpcwstr, :lpcwstr, :pointer], :win32_bool
227
227
 
228
228
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa446671(v=vs.85).aspx
229
229
  # BOOL WINAPI GetTokenInformation(
@@ -235,7 +235,7 @@ module Puppet::FFI::Windows
235
235
  # );
236
236
  ffi_lib :advapi32
237
237
  attach_function_private :GetTokenInformation,
238
- [:handle, TOKEN_INFORMATION_CLASS, :lpvoid, :dword, :pdword ], :win32_bool
238
+ [:handle, TOKEN_INFORMATION_CLASS, :lpvoid, :dword, :pdword ], :win32_bool
239
239
 
240
240
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx
241
241
  # BOOL WINAPI GetVersionEx(
@@ -243,7 +243,7 @@ module Puppet::FFI::Windows
243
243
  # );
244
244
  ffi_lib :kernel32
245
245
  attach_function_private :GetVersionExW,
246
- [:pointer], :win32_bool
246
+ [:pointer], :win32_bool
247
247
 
248
248
  # https://msdn.microsoft.com/en-us/library/windows/desktop/dd318123(v=vs.85).aspx
249
249
  # LANGID GetSystemDefaultUILanguage(void);
@@ -258,7 +258,7 @@ module Puppet::FFI::Windows
258
258
  # );
259
259
  ffi_lib :advapi32
260
260
  attach_function_private :OpenSCManagerW,
261
- [:lpcwstr, :lpcwstr, :dword], :handle
261
+ [:lpcwstr, :lpcwstr, :dword], :handle
262
262
 
263
263
  # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-openservicew
264
264
  # SC_HANDLE OpenServiceW(
@@ -268,7 +268,7 @@ module Puppet::FFI::Windows
268
268
  # );
269
269
  ffi_lib :advapi32
270
270
  attach_function_private :OpenServiceW,
271
- [:handle, :lpcwstr, :dword], :handle
271
+ [:handle, :lpcwstr, :dword], :handle
272
272
 
273
273
  # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-closeservicehandle
274
274
  # BOOL CloseServiceHandle(
@@ -276,7 +276,7 @@ module Puppet::FFI::Windows
276
276
  # );
277
277
  ffi_lib :advapi32
278
278
  attach_function_private :CloseServiceHandle,
279
- [:handle], :win32_bool
279
+ [:handle], :win32_bool
280
280
 
281
281
  # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-queryservicestatusex
282
282
  # BOOL QueryServiceStatusEx(
@@ -291,7 +291,7 @@ module Puppet::FFI::Windows
291
291
  )
292
292
  ffi_lib :advapi32
293
293
  attach_function_private :QueryServiceStatusEx,
294
- [:handle, SC_STATUS_TYPE, :lpbyte, :dword, :lpdword], :win32_bool
294
+ [:handle, SC_STATUS_TYPE, :lpbyte, :dword, :lpdword], :win32_bool
295
295
 
296
296
  # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-queryserviceconfigw
297
297
  # BOOL QueryServiceConfigW(
@@ -302,7 +302,7 @@ module Puppet::FFI::Windows
302
302
  # );
303
303
  ffi_lib :advapi32
304
304
  attach_function_private :QueryServiceConfigW,
305
- [:handle, :lpbyte, :dword, :lpdword], :win32_bool
305
+ [:handle, :lpbyte, :dword, :lpdword], :win32_bool
306
306
 
307
307
  # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-queryserviceconfig2w
308
308
  # BOOL QueryServiceConfig2W(
@@ -314,7 +314,7 @@ module Puppet::FFI::Windows
314
314
  # );
315
315
  ffi_lib :advapi32
316
316
  attach_function_private :QueryServiceConfig2W,
317
- [:handle, :dword, :lpbyte, :dword, :lpdword], :win32_bool
317
+ [:handle, :dword, :lpbyte, :dword, :lpdword], :win32_bool
318
318
 
319
319
  # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-startservicew
320
320
  # BOOL StartServiceW(
@@ -324,7 +324,7 @@ module Puppet::FFI::Windows
324
324
  # );
325
325
  ffi_lib :advapi32
326
326
  attach_function_private :StartServiceW,
327
- [:handle, :dword, :pointer], :win32_bool
327
+ [:handle, :dword, :pointer], :win32_bool
328
328
 
329
329
  # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-startservicectrldispatcherw
330
330
  # BOOL StartServiceCtrlDispatcherW(
@@ -332,7 +332,7 @@ module Puppet::FFI::Windows
332
332
  # );
333
333
  ffi_lib :advapi32
334
334
  attach_function_private :StartServiceCtrlDispatcherW,
335
- [:pointer], :win32_bool, :blocking => true
335
+ [:pointer], :win32_bool, :blocking => true
336
336
 
337
337
  # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-setservicestatus
338
338
  # BOOL SetServiceStatus(
@@ -341,7 +341,7 @@ module Puppet::FFI::Windows
341
341
  # );
342
342
  ffi_lib :advapi32
343
343
  attach_function_private :SetServiceStatus,
344
- [:handle, :pointer], :win32_bool
344
+ [:handle, :pointer], :win32_bool
345
345
 
346
346
  # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-controlservice
347
347
  # BOOL ControlService(
@@ -351,7 +351,7 @@ module Puppet::FFI::Windows
351
351
  # );
352
352
  ffi_lib :advapi32
353
353
  attach_function_private :ControlService,
354
- [:handle, :dword, :pointer], :win32_bool
354
+ [:handle, :dword, :pointer], :win32_bool
355
355
 
356
356
  # DWORD LphandlerFunctionEx(
357
357
  # DWORD dwControl,
@@ -369,7 +369,7 @@ module Puppet::FFI::Windows
369
369
  # );
370
370
  ffi_lib :advapi32
371
371
  attach_function_private :RegisterServiceCtrlHandlerExW,
372
- [:lpcwstr, :handler_ex, :lpvoid], :handle
372
+ [:lpcwstr, :handler_ex, :lpvoid], :handle
373
373
 
374
374
  # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-changeserviceconfigw
375
375
  # BOOL ChangeServiceConfigW(
@@ -387,19 +387,19 @@ module Puppet::FFI::Windows
387
387
  # );
388
388
  ffi_lib :advapi32
389
389
  attach_function_private :ChangeServiceConfigW,
390
- [
391
- :handle,
392
- :dword,
393
- :dword,
394
- :dword,
395
- :lpcwstr,
396
- :lpcwstr,
397
- :lpdword,
398
- :lpcwstr,
399
- :lpcwstr,
400
- :lpcwstr,
401
- :lpcwstr
402
- ], :win32_bool
390
+ [
391
+ :handle,
392
+ :dword,
393
+ :dword,
394
+ :dword,
395
+ :lpcwstr,
396
+ :lpcwstr,
397
+ :lpdword,
398
+ :lpcwstr,
399
+ :lpcwstr,
400
+ :lpcwstr,
401
+ :lpcwstr
402
+ ], :win32_bool
403
403
 
404
404
  # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-changeserviceconfig2w
405
405
  # BOOL ChangeServiceConfig2W(
@@ -409,7 +409,7 @@ module Puppet::FFI::Windows
409
409
  # );
410
410
  ffi_lib :advapi32
411
411
  attach_function_private :ChangeServiceConfig2W,
412
- [:handle, :dword, :lpvoid], :win32_bool
412
+ [:handle, :dword, :lpvoid], :win32_bool
413
413
 
414
414
  # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-enumservicesstatusexw
415
415
  # BOOL EnumServicesStatusExW(
@@ -429,18 +429,18 @@ module Puppet::FFI::Windows
429
429
  )
430
430
  ffi_lib :advapi32
431
431
  attach_function_private :EnumServicesStatusExW,
432
- [
433
- :handle,
434
- SC_ENUM_TYPE,
435
- :dword,
436
- :dword,
437
- :lpbyte,
438
- :dword,
439
- :lpdword,
440
- :lpdword,
441
- :lpdword,
442
- :lpcwstr
443
- ], :win32_bool
432
+ [
433
+ :handle,
434
+ SC_ENUM_TYPE,
435
+ :dword,
436
+ :dword,
437
+ :lpbyte,
438
+ :dword,
439
+ :lpdword,
440
+ :lpdword,
441
+ :lpdword,
442
+ :lpcwstr
443
+ ], :win32_bool
444
444
 
445
445
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa365512(v=vs.85).aspx
446
446
  # BOOL WINAPI ReplaceFile(
@@ -455,7 +455,7 @@ module Puppet::FFI::Windows
455
455
  # );
456
456
  ffi_lib :kernel32
457
457
  attach_function_private :ReplaceFileW,
458
- [:lpcwstr, :lpcwstr, :lpcwstr, :dword, :lpvoid, :lpvoid], :win32_bool
458
+ [:lpcwstr, :lpcwstr, :lpcwstr, :dword, :lpvoid, :lpvoid], :win32_bool
459
459
 
460
460
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240(v=vs.85).aspx
461
461
  # BOOL WINAPI MoveFileEx(
@@ -465,7 +465,7 @@ module Puppet::FFI::Windows
465
465
  # );
466
466
  ffi_lib :kernel32
467
467
  attach_function_private :MoveFileExW,
468
- [:lpcwstr, :lpcwstr, :dword], :win32_bool
468
+ [:lpcwstr, :lpcwstr, :dword], :win32_bool
469
469
 
470
470
  # BOOLEAN WINAPI CreateSymbolicLink(
471
471
  # _In_ LPTSTR lpSymlinkFileName, - symbolic link to be created
@@ -476,7 +476,7 @@ module Puppet::FFI::Windows
476
476
  begin
477
477
  ffi_lib :kernel32
478
478
  attach_function_private :CreateSymbolicLinkW,
479
- [:lpwstr, :lpwstr, :dword], :boolean
479
+ [:lpwstr, :lpwstr, :dword], :boolean
480
480
  rescue LoadError
481
481
  end
482
482
 
@@ -487,7 +487,7 @@ module Puppet::FFI::Windows
487
487
  # );
488
488
  ffi_lib :kernel32
489
489
  attach_function_private :GetCurrentDirectoryW,
490
- [:dword, :lpwstr], :dword
490
+ [:dword, :lpwstr], :dword
491
491
 
492
492
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa364944(v=vs.85).aspx
493
493
  # DWORD WINAPI GetFileAttributes(
@@ -495,7 +495,7 @@ module Puppet::FFI::Windows
495
495
  # );
496
496
  ffi_lib :kernel32
497
497
  attach_function_private :GetFileAttributesW,
498
- [:lpcwstr], :dword
498
+ [:lpcwstr], :dword
499
499
 
500
500
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa365535(v=vs.85).aspx
501
501
  # BOOL WINAPI SetFileAttributes(
@@ -504,7 +504,7 @@ module Puppet::FFI::Windows
504
504
  # );
505
505
  ffi_lib :kernel32
506
506
  attach_function_private :SetFileAttributesW,
507
- [:lpcwstr, :dword], :win32_bool
507
+ [:lpcwstr, :dword], :win32_bool
508
508
 
509
509
  # HANDLE WINAPI CreateFile(
510
510
  # _In_ LPCTSTR lpFileName,
@@ -517,7 +517,7 @@ module Puppet::FFI::Windows
517
517
  # );
518
518
  ffi_lib :kernel32
519
519
  attach_function_private :CreateFileW,
520
- [:lpcwstr, :dword, :dword, :pointer, :dword, :dword, :handle], :handle
520
+ [:lpcwstr, :dword, :dword, :pointer, :dword, :dword, :handle], :handle
521
521
 
522
522
  # https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createdirectoryw
523
523
  # BOOL CreateDirectoryW(
@@ -526,7 +526,7 @@ module Puppet::FFI::Windows
526
526
  # );
527
527
  ffi_lib :kernel32
528
528
  attach_function_private :CreateDirectoryW,
529
- [:lpcwstr, :pointer], :win32_bool
529
+ [:lpcwstr, :pointer], :win32_bool
530
530
 
531
531
  # https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-removedirectoryw
532
532
  # BOOL RemoveDirectoryW(
@@ -534,7 +534,7 @@ module Puppet::FFI::Windows
534
534
  # );
535
535
  ffi_lib :kernel32
536
536
  attach_function_private :RemoveDirectoryW,
537
- [:lpcwstr], :win32_bool
537
+ [:lpcwstr], :win32_bool
538
538
 
539
539
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216(v=vs.85).aspx
540
540
  # BOOL WINAPI DeviceIoControl(
@@ -549,7 +549,7 @@ module Puppet::FFI::Windows
549
549
  # );
550
550
  ffi_lib :kernel32
551
551
  attach_function_private :DeviceIoControl,
552
- [:handle, :dword, :lpvoid, :dword, :lpvoid, :dword, :lpdword, :pointer], :win32_bool
552
+ [:handle, :dword, :lpvoid, :dword, :lpvoid, :dword, :lpdword, :pointer], :win32_bool
553
553
 
554
554
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa364980(v=vs.85).aspx
555
555
  # DWORD WINAPI GetLongPathName(
@@ -559,7 +559,7 @@ module Puppet::FFI::Windows
559
559
  # );
560
560
  ffi_lib :kernel32
561
561
  attach_function_private :GetLongPathNameW,
562
- [:lpcwstr, :lpwstr, :dword], :dword
562
+ [:lpcwstr, :lpwstr, :dword], :dword
563
563
 
564
564
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa364989(v=vs.85).aspx
565
565
  # DWORD WINAPI GetShortPathName(
@@ -569,7 +569,7 @@ module Puppet::FFI::Windows
569
569
  # );
570
570
  ffi_lib :kernel32
571
571
  attach_function_private :GetShortPathNameW,
572
- [:lpcwstr, :lpwstr, :dword], :dword
572
+ [:lpcwstr, :lpwstr, :dword], :dword
573
573
 
574
574
  # https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfullpathnamew
575
575
  # DWORD GetFullPathNameW(
@@ -580,7 +580,7 @@ module Puppet::FFI::Windows
580
580
  # );
581
581
  ffi_lib :kernel32
582
582
  attach_function_private :GetFullPathNameW,
583
- [:lpcwstr, :dword, :lpwstr, :pointer], :dword
583
+ [:lpcwstr, :dword, :lpwstr, :pointer], :dword
584
584
 
585
585
  # https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpathw
586
586
  # SHFOLDERAPI SHGetFolderPathW(
@@ -592,7 +592,7 @@ module Puppet::FFI::Windows
592
592
  # );
593
593
  ffi_lib :shell32
594
594
  attach_function_private :SHGetFolderPathW,
595
- [:hwnd, :int, :handle, :dword, :lpwstr], :dword
595
+ [:hwnd, :int, :handle, :dword, :lpwstr], :dword
596
596
 
597
597
  # https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderlocation
598
598
  # SHSTDAPI SHGetFolderLocation(
@@ -604,7 +604,7 @@ module Puppet::FFI::Windows
604
604
  # );
605
605
  ffi_lib :shell32
606
606
  attach_function_private :SHGetFolderLocation,
607
- [:hwnd, :int, :handle, :dword, :pointer], :dword
607
+ [:hwnd, :int, :handle, :dword, :pointer], :dword
608
608
 
609
609
  # https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetfileinfoa
610
610
  # DWORD_PTR SHGetFileInfoA(
@@ -616,7 +616,7 @@ module Puppet::FFI::Windows
616
616
  # );
617
617
  ffi_lib :shell32
618
618
  attach_function_private :SHGetFileInfo,
619
- [:dword, :dword, :pointer, :uint, :uint], :dword
619
+ [:dword, :dword, :pointer, :uint, :uint], :dword
620
620
 
621
621
  # https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-pathisdirectoryemptyw
622
622
  # BOOL PathIsDirectoryEmptyW(
@@ -624,6 +624,6 @@ module Puppet::FFI::Windows
624
624
  # );
625
625
  ffi_lib :shlwapi
626
626
  attach_function_private :PathIsDirectoryEmptyW,
627
- [:lpcwstr], :win32_bool
627
+ [:lpcwstr], :win32_bool
628
628
  end
629
629
  end
@@ -1,10 +1,10 @@
1
1
  # coding: utf-8
2
2
  # frozen_string_literal: true
3
+
3
4
  require_relative '../../../puppet/ffi/windows'
4
5
 
5
6
  module Puppet::FFI::Windows
6
7
  module Structs
7
-
8
8
  extend FFI::Library
9
9
  extend Puppet::FFI::Windows::APITypes
10
10
 
@@ -116,7 +116,7 @@ module Puppet::FFI::Windows
116
116
  # } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
117
117
  class TOKEN_PRIVILEGES < FFI::Struct
118
118
  layout :PrivilegeCount, :dword,
119
- :Privileges, [LUID_AND_ATTRIBUTES, 1] # placeholder for offset
119
+ :Privileges, [LUID_AND_ATTRIBUTES, 1] # placeholder for offset
120
120
  end
121
121
 
122
122
  # https://msdn.microsoft.com/en-us/library/windows/desktop/bb530717(v=vs.85).aspx
@@ -258,7 +258,7 @@ module Puppet::FFI::Windows
258
258
  )
259
259
  end
260
260
 
261
- MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384
261
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384
262
262
 
263
263
  # SYMLINK_REPARSE_DATA_BUFFER
264
264
  # https://msdn.microsoft.com/en-us/library/cc232006.aspx
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'ffi'
3
4
 
4
5
  module Puppet
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'pathname'
3
4
  require_relative '../../puppet/file_bucket'
4
5
  require_relative '../../puppet/file_bucket/file'
@@ -38,6 +39,7 @@ class Puppet::FileBucket::Dipper
38
39
  def backup(file)
39
40
  file_handle = Puppet::FileSystem.pathname(file)
40
41
  raise(ArgumentError, _("File %{file} does not exist") % { file: file }) unless Puppet::FileSystem.exist?(file_handle)
42
+
41
43
  begin
42
44
  file_bucket_file = Puppet::FileBucket::File.new(file_handle, :bucket_path => @local_path)
43
45
  files_original_path = absolutize_path(file)
@@ -61,6 +63,7 @@ class Puppet::FileBucket::Dipper
61
63
  # Diffs two filebucket files identified by their sums
62
64
  def diff(checksum_a, checksum_b, file_a, file_b)
63
65
  raise RuntimeError, _("Diff is not supported on this platform") if Puppet[:diff] == ""
66
+
64
67
  if checksum_a
65
68
  source_path = "#{@rest_path}#{@checksum_type}/#{checksum_a}"
66
69
  if checksum_b
@@ -95,6 +98,7 @@ class Puppet::FileBucket::Dipper
95
98
  end
96
99
  end
97
100
  raise Puppet::Error, _("Failed to diff files") unless file_diff
101
+
98
102
  file_diff.to_s
99
103
  end
100
104
 
@@ -109,6 +113,7 @@ class Puppet::FileBucket::Dipper
109
113
  file_bucket_file = Puppet::FileBucket::File.indirection.find(source_path, :bucket_path => @local_path)
110
114
 
111
115
  raise Puppet::Error, _("File not found") unless file_bucket_file
116
+
112
117
  file_bucket_file
113
118
  end
114
119
 
@@ -164,12 +169,13 @@ class Puppet::FileBucket::Dipper
164
169
  :fromdate => fromdate,
165
170
  :todate => todate)
166
171
  raise Puppet::Error, _("File not found") unless file_bucket_list
172
+
167
173
  file_bucket_list.to_s
168
174
  end
169
175
 
170
176
  private
177
+
171
178
  def absolutize_path( path )
172
179
  Pathname.new(path).realpath
173
180
  end
174
-
175
181
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/file_bucket'
3
4
  require_relative '../../puppet/indirector'
4
5
  require_relative '../../puppet/util/checksums'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # stub
3
4
  module Puppet::FileBucket
4
5
  class BucketError < RuntimeError; end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../puppet/file_serving'
3
4
  require_relative '../../puppet/util'
4
5
 
@@ -11,10 +12,10 @@ class Puppet::FileServing::Base
11
12
 
12
13
  # Does our file exist?
13
14
  def exist?
14
- stat
15
- return true
15
+ stat
16
+ return true
16
17
  rescue
17
- return false
18
+ return false
18
19
  end
19
20
 
20
21
  # Return the full path to our file. Fails if there's no path set.
@@ -44,26 +45,32 @@ class Puppet::FileServing::Base
44
45
 
45
46
  # Determine how we deal with links.
46
47
  attr_reader :links
48
+
47
49
  def links=(value)
48
50
  value = value.to_sym
49
51
  value = :manage if value == :ignore
50
- #TRANSLATORS ':link', ':manage', ':follow' should not be translated
52
+ # TRANSLATORS ':link', ':manage', ':follow' should not be translated
51
53
  raise(ArgumentError, _(":links can only be set to :manage or :follow")) unless [:manage, :follow].include?(value)
54
+
52
55
  @links = value
53
56
  end
54
57
 
55
58
  # Set our base path.
56
59
  attr_reader :path
60
+
57
61
  def path=(path)
58
62
  raise ArgumentError.new(_("Paths must be fully qualified")) unless Puppet::FileServing::Base.absolute?(path)
63
+
59
64
  @path = path
60
65
  end
61
66
 
62
67
  # Set a relative path; this is used for recursion, and sets
63
68
  # the file's path relative to the initial recursion point.
64
69
  attr_reader :relative_path
70
+
65
71
  def relative_path=(path)
66
72
  raise ArgumentError.new(_("Relative paths must not be fully qualified")) if Puppet::FileServing::Base.absolute?(path)
73
+
67
74
  @relative_path = path
68
75
  end
69
76
 
@@ -75,9 +82,9 @@ class Puppet::FileServing::Base
75
82
 
76
83
  def to_data_hash
77
84
  {
78
- 'path' => @path,
85
+ 'path' => @path,
79
86
  'relative_path' => @relative_path,
80
- 'links' => @links.to_s
87
+ 'links' => @links.to_s
81
88
  }
82
89
  end
83
90
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../../../puppet/file_serving/configuration'
3
4
  require_relative '../../../puppet/util/watched_file'
4
5
 
@@ -30,6 +31,7 @@ class Puppet::FileServing::Configuration::Parser
30
31
  value = $2
31
32
  value.strip!
32
33
  raise(ArgumentError, _("Fileserver configuration file does not use '=' as a separator")) if value =~ /^=/
34
+
33
35
  case var
34
36
  when "path"
35
37
  path(mount, value)
@@ -109,6 +111,6 @@ class Puppet::FileServing::Configuration::Parser
109
111
  # Make sure all of our mounts are valid. We have to do this after the fact
110
112
  # because details are added over time as the file is parsed.
111
113
  def validate
112
- @mounts.each { |name, mount| mount.validate }
114
+ @mounts.each { |_name, mount| mount.validate }
113
115
  end
114
116
  end