puppet 8.3.1-x86-mingw32 → 8.4.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  require_relative '../../../puppet/ffi/windows'
3
4
 
4
5
  module Puppet::FFI::Windows
@@ -47,31 +48,31 @@ module Puppet::FFI::Windows
47
48
  FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF
48
49
 
49
50
  FILE_GENERIC_READ =
50
- STANDARD_RIGHTS_READ |
51
- FILE_READ_DATA |
52
- FILE_READ_ATTRIBUTES |
53
- FILE_READ_EA |
54
- SYNCHRONIZE
51
+ STANDARD_RIGHTS_READ |
52
+ FILE_READ_DATA |
53
+ FILE_READ_ATTRIBUTES |
54
+ FILE_READ_EA |
55
+ SYNCHRONIZE
55
56
 
56
57
  FILE_GENERIC_WRITE =
57
- STANDARD_RIGHTS_WRITE |
58
- FILE_WRITE_DATA |
59
- FILE_WRITE_ATTRIBUTES |
60
- FILE_WRITE_EA |
61
- FILE_APPEND_DATA |
62
- SYNCHRONIZE
58
+ STANDARD_RIGHTS_WRITE |
59
+ FILE_WRITE_DATA |
60
+ FILE_WRITE_ATTRIBUTES |
61
+ FILE_WRITE_EA |
62
+ FILE_APPEND_DATA |
63
+ SYNCHRONIZE
63
64
 
64
65
  FILE_GENERIC_EXECUTE =
65
- STANDARD_RIGHTS_EXECUTE |
66
- FILE_READ_ATTRIBUTES |
67
- FILE_EXECUTE |
68
- SYNCHRONIZE
66
+ STANDARD_RIGHTS_EXECUTE |
67
+ FILE_READ_ATTRIBUTES |
68
+ FILE_EXECUTE |
69
+ SYNCHRONIZE
69
70
 
70
71
  REPLACEFILE_WRITE_THROUGH = 0x1
71
72
  REPLACEFILE_IGNORE_MERGE_ERRORS = 0x2
72
73
  REPLACEFILE_IGNORE_ACL_ERRORS = 0x3
73
74
 
74
- INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF #define INVALID_FILE_ATTRIBUTES (DWORD (-1))
75
+ INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF # define INVALID_FILE_ATTRIBUTES (DWORD (-1))
75
76
 
76
77
  IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003
77
78
  IO_REPARSE_TAG_HSM = 0xC0000004
@@ -162,47 +163,47 @@ module Puppet::FFI::Windows
162
163
 
163
164
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379626(v=vs.85).aspx
164
165
  TOKEN_INFORMATION_CLASS = enum(
165
- :TokenUser, 1,
166
- :TokenGroups,
167
- :TokenPrivileges,
168
- :TokenOwner,
169
- :TokenPrimaryGroup,
170
- :TokenDefaultDacl,
171
- :TokenSource,
172
- :TokenType,
173
- :TokenImpersonationLevel,
174
- :TokenStatistics,
175
- :TokenRestrictedSids,
176
- :TokenSessionId,
177
- :TokenGroupsAndPrivileges,
178
- :TokenSessionReference,
179
- :TokenSandBoxInert,
180
- :TokenAuditPolicy,
181
- :TokenOrigin,
182
- :TokenElevationType,
183
- :TokenLinkedToken,
184
- :TokenElevation,
185
- :TokenHasRestrictions,
186
- :TokenAccessInformation,
187
- :TokenVirtualizationAllowed,
188
- :TokenVirtualizationEnabled,
189
- :TokenIntegrityLevel,
190
- :TokenUIAccess,
191
- :TokenMandatoryPolicy,
192
- :TokenLogonSid,
193
- :TokenIsAppContainer,
194
- :TokenCapabilities,
195
- :TokenAppContainerSid,
196
- :TokenAppContainerNumber,
197
- :TokenUserClaimAttributes,
198
- :TokenDeviceClaimAttributes,
199
- :TokenRestrictedUserClaimAttributes,
200
- :TokenRestrictedDeviceClaimAttributes,
201
- :TokenDeviceGroups,
202
- :TokenRestrictedDeviceGroups,
203
- :TokenSecurityAttributes,
204
- :TokenIsRestricted,
205
- :MaxTokenInfoClass
166
+ :TokenUser, 1,
167
+ :TokenGroups,
168
+ :TokenPrivileges,
169
+ :TokenOwner,
170
+ :TokenPrimaryGroup,
171
+ :TokenDefaultDacl,
172
+ :TokenSource,
173
+ :TokenType,
174
+ :TokenImpersonationLevel,
175
+ :TokenStatistics,
176
+ :TokenRestrictedSids,
177
+ :TokenSessionId,
178
+ :TokenGroupsAndPrivileges,
179
+ :TokenSessionReference,
180
+ :TokenSandBoxInert,
181
+ :TokenAuditPolicy,
182
+ :TokenOrigin,
183
+ :TokenElevationType,
184
+ :TokenLinkedToken,
185
+ :TokenElevation,
186
+ :TokenHasRestrictions,
187
+ :TokenAccessInformation,
188
+ :TokenVirtualizationAllowed,
189
+ :TokenVirtualizationEnabled,
190
+ :TokenIntegrityLevel,
191
+ :TokenUIAccess,
192
+ :TokenMandatoryPolicy,
193
+ :TokenLogonSid,
194
+ :TokenIsAppContainer,
195
+ :TokenCapabilities,
196
+ :TokenAppContainerSid,
197
+ :TokenAppContainerNumber,
198
+ :TokenUserClaimAttributes,
199
+ :TokenDeviceClaimAttributes,
200
+ :TokenRestrictedUserClaimAttributes,
201
+ :TokenRestrictedDeviceClaimAttributes,
202
+ :TokenDeviceGroups,
203
+ :TokenRestrictedDeviceGroups,
204
+ :TokenSecurityAttributes,
205
+ :TokenIsRestricted,
206
+ :MaxTokenInfoClass
206
207
  )
207
208
 
208
209
  # Service error codes
@@ -229,23 +230,23 @@ module Puppet::FFI::Windows
229
230
  SERVICE_CONTROL_TIMECHANGE = 0x00000010
230
231
  SERVICE_CONTROL_TRIGGEREVENT = 0x00000020
231
232
  SERVICE_CONTROL_SIGNALS = {
232
- SERVICE_CONTROL_STOP => :SERVICE_CONTROL_STOP,
233
- SERVICE_CONTROL_PAUSE => :SERVICE_CONTROL_PAUSE,
234
- SERVICE_CONTROL_CONTINUE => :SERVICE_CONTROL_CONTINUE,
235
- SERVICE_CONTROL_INTERROGATE => :SERVICE_CONTROL_INTERROGATE,
236
- SERVICE_CONTROL_SHUTDOWN => :SERVICE_CONTROL_SHUTDOWN,
237
- SERVICE_CONTROL_PARAMCHANGE => :SERVICE_CONTROL_PARAMCHANGE,
238
- SERVICE_CONTROL_NETBINDADD => :SERVICE_CONTROL_NETBINDADD,
239
- SERVICE_CONTROL_NETBINDREMOVE => :SERVICE_CONTROL_NETBINDREMOVE,
240
- SERVICE_CONTROL_NETBINDENABLE => :SERVICE_CONTROL_NETBINDENABLE,
241
- SERVICE_CONTROL_NETBINDDISABLE => :SERVICE_CONTROL_NETBINDDISABLE,
242
- SERVICE_CONTROL_DEVICEEVENT => :SERVICE_CONTROL_DEVICEEVENT,
233
+ SERVICE_CONTROL_STOP => :SERVICE_CONTROL_STOP,
234
+ SERVICE_CONTROL_PAUSE => :SERVICE_CONTROL_PAUSE,
235
+ SERVICE_CONTROL_CONTINUE => :SERVICE_CONTROL_CONTINUE,
236
+ SERVICE_CONTROL_INTERROGATE => :SERVICE_CONTROL_INTERROGATE,
237
+ SERVICE_CONTROL_SHUTDOWN => :SERVICE_CONTROL_SHUTDOWN,
238
+ SERVICE_CONTROL_PARAMCHANGE => :SERVICE_CONTROL_PARAMCHANGE,
239
+ SERVICE_CONTROL_NETBINDADD => :SERVICE_CONTROL_NETBINDADD,
240
+ SERVICE_CONTROL_NETBINDREMOVE => :SERVICE_CONTROL_NETBINDREMOVE,
241
+ SERVICE_CONTROL_NETBINDENABLE => :SERVICE_CONTROL_NETBINDENABLE,
242
+ SERVICE_CONTROL_NETBINDDISABLE => :SERVICE_CONTROL_NETBINDDISABLE,
243
+ SERVICE_CONTROL_DEVICEEVENT => :SERVICE_CONTROL_DEVICEEVENT,
243
244
  SERVICE_CONTROL_HARDWAREPROFILECHANGE => :SERVICE_CONTROL_HARDWAREPROFILECHANGE,
244
- SERVICE_CONTROL_POWEREVENT => :SERVICE_CONTROL_POWEREVENT,
245
- SERVICE_CONTROL_SESSIONCHANGE => :SERVICE_CONTROL_SESSIONCHANGE,
246
- SERVICE_CONTROL_PRESHUTDOWN => :SERVICE_CONTROL_PRESHUTDOWN,
247
- SERVICE_CONTROL_TIMECHANGE => :SERVICE_CONTROL_TIMECHANGE,
248
- SERVICE_CONTROL_TRIGGEREVENT => :SERVICE_CONTROL_TRIGGEREVENT
245
+ SERVICE_CONTROL_POWEREVENT => :SERVICE_CONTROL_POWEREVENT,
246
+ SERVICE_CONTROL_SESSIONCHANGE => :SERVICE_CONTROL_SESSIONCHANGE,
247
+ SERVICE_CONTROL_PRESHUTDOWN => :SERVICE_CONTROL_PRESHUTDOWN,
248
+ SERVICE_CONTROL_TIMECHANGE => :SERVICE_CONTROL_TIMECHANGE,
249
+ SERVICE_CONTROL_TRIGGEREVENT => :SERVICE_CONTROL_TRIGGEREVENT
249
250
  }
250
251
 
251
252
  # Service start type codes
@@ -291,11 +292,11 @@ module Puppet::FFI::Windows
291
292
  UNSAFE_PENDING_STATES = [SERVICE_START_PENDING, SERVICE_STOP_PENDING]
292
293
  FINAL_STATES = {
293
294
  SERVICE_CONTINUE_PENDING => SERVICE_RUNNING,
294
- SERVICE_PAUSE_PENDING => SERVICE_PAUSED,
295
- SERVICE_START_PENDING => SERVICE_RUNNING,
296
- SERVICE_STOP_PENDING => SERVICE_STOPPED
295
+ SERVICE_PAUSE_PENDING => SERVICE_PAUSED,
296
+ SERVICE_START_PENDING => SERVICE_RUNNING,
297
+ SERVICE_STOP_PENDING => SERVICE_STOPPED
297
298
  }
298
- SERVICE_STATES = {
299
+ SERVICE_STATES = {
299
300
  SERVICE_CONTINUE_PENDING => :SERVICE_CONTINUE_PENDING,
300
301
  SERVICE_PAUSE_PENDING => :SERVICE_PAUSE_PENDING,
301
302
  SERVICE_PAUSED => :SERVICE_PAUSED,
@@ -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