chef 15.1.36-universal-mingw32 → 15.2.20-universal-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 (808) hide show
  1. checksums.yaml +4 -4
  2. data/bin/knife +0 -0
  3. data/ext/win32-eventlog/Rakefile +1 -1
  4. data/lib/chef.rb +1 -2
  5. data/lib/chef/action_collection.rb +8 -0
  6. data/lib/chef/api_client.rb +2 -2
  7. data/lib/chef/api_client/registration.rb +8 -7
  8. data/lib/chef/api_client_v1.rb +2 -1
  9. data/lib/chef/application.rb +1 -0
  10. data/lib/chef/application/apply.rb +1 -1
  11. data/lib/chef/application/base.rb +440 -0
  12. data/lib/chef/application/client.rb +6 -389
  13. data/lib/chef/application/solo.rb +11 -258
  14. data/lib/chef/application/windows_service.rb +3 -3
  15. data/lib/chef/application/windows_service_manager.rb +3 -3
  16. data/lib/chef/blacklist.rb +1 -1
  17. data/lib/chef/chef_fs/chef_fs_data_store.rb +15 -7
  18. data/lib/chef/chef_fs/command_line.rb +6 -1
  19. data/lib/chef/chef_fs/config.rb +3 -2
  20. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
  21. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  22. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +1 -1
  23. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
  24. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +2 -2
  25. data/lib/chef/chef_fs/file_pattern.rb +13 -7
  26. data/lib/chef/chef_fs/file_system.rb +3 -2
  27. data/lib/chef/chef_fs/file_system/base_fs_object.rb +13 -6
  28. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
  29. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +8 -5
  31. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  32. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  33. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +3 -2
  35. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +4 -2
  36. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -0
  37. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -0
  38. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -1
  42. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +6 -2
  43. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +6 -4
  44. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +6 -4
  45. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -0
  46. data/lib/chef/chef_fs/file_system/repository/directory.rb +5 -1
  47. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +4 -2
  48. data/lib/chef/chef_fs/file_system_cache.rb +1 -0
  49. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +2 -1
  50. data/lib/chef/chef_fs/path_utils.rb +3 -0
  51. data/lib/chef/client.rb +4 -2
  52. data/lib/chef/config.rb +1 -1
  53. data/lib/chef/cookbook/cookbook_version_loader.rb +6 -3
  54. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -0
  55. data/lib/chef/cookbook/file_vendor.rb +1 -0
  56. data/lib/chef/cookbook/gem_installer.rb +1 -0
  57. data/lib/chef/cookbook/manifest_v0.rb +1 -0
  58. data/lib/chef/cookbook/metadata.rb +11 -9
  59. data/lib/chef/cookbook/remote_file_vendor.rb +3 -2
  60. data/lib/chef/cookbook/synchronizer.rb +6 -4
  61. data/lib/chef/cookbook/syntax_check.rb +4 -0
  62. data/lib/chef/cookbook_loader.rb +1 -0
  63. data/lib/chef/cookbook_manifest.rb +4 -2
  64. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  65. data/lib/chef/cookbook_uploader.rb +2 -2
  66. data/lib/chef/cookbook_version.rb +10 -9
  67. data/lib/chef/data_bag.rb +2 -1
  68. data/lib/chef/data_bag_item.rb +6 -3
  69. data/lib/chef/data_collector.rb +16 -8
  70. data/lib/chef/data_collector/run_end_message.rb +2 -0
  71. data/lib/chef/decorator.rb +5 -6
  72. data/lib/chef/deprecated.rb +1 -0
  73. data/lib/chef/dsl/data_query.rb +1 -1
  74. data/lib/chef/dsl/declare_resource.rb +2 -0
  75. data/lib/chef/dsl/platform_introspection.rb +3 -1
  76. data/lib/chef/encrypted_data_bag_item.rb +7 -4
  77. data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
  78. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -0
  79. data/lib/chef/encrypted_data_bag_item/decryptor.rb +4 -2
  80. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -0
  81. data/lib/chef/environment.rb +7 -5
  82. data/lib/chef/event_dispatch/base.rb +86 -172
  83. data/lib/chef/event_dispatch/dispatcher.rb +2 -1
  84. data/lib/chef/event_loggers/base.rb +2 -1
  85. data/lib/chef/exceptions.rb +6 -7
  86. data/lib/chef/file_access_control/unix.rb +7 -4
  87. data/lib/chef/file_access_control/windows.rb +17 -8
  88. data/lib/chef/file_cache.rb +2 -1
  89. data/lib/chef/file_content_management/deploy.rb +2 -2
  90. data/lib/chef/formatters/base.rb +3 -4
  91. data/lib/chef/formatters/doc.rb +21 -33
  92. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -2
  93. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -1
  94. data/lib/chef/formatters/indentable_output_stream.rb +3 -3
  95. data/lib/chef/formatters/minimal.rb +21 -42
  96. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
  97. data/lib/chef/handler.rb +1 -2
  98. data/lib/chef/http.rb +23 -18
  99. data/lib/chef/http/api_versions.rb +1 -2
  100. data/lib/chef/http/auth_credentials.rb +1 -0
  101. data/lib/chef/http/basic_client.rb +1 -1
  102. data/lib/chef/http/decompressor.rb +1 -0
  103. data/lib/chef/http/json_output.rb +2 -1
  104. data/lib/chef/http/json_to_model_output.rb +1 -1
  105. data/lib/chef/http/remote_request_id.rb +1 -2
  106. data/lib/chef/http/socketless_chef_zero_client.rb +3 -2
  107. data/lib/chef/http/ssl_policies.rb +3 -0
  108. data/lib/chef/http/validate_content_length.rb +2 -2
  109. data/lib/chef/json_compat.rb +1 -1
  110. data/lib/chef/key.rb +8 -6
  111. data/lib/chef/knife.rb +6 -5
  112. data/lib/chef/knife/bootstrap.rb +19 -12
  113. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -0
  114. data/lib/chef/knife/bootstrap/client_builder.rb +1 -0
  115. data/lib/chef/knife/bootstrap/train_connector.rb +23 -17
  116. data/lib/chef/knife/client_bulk_delete.rb +4 -3
  117. data/lib/chef/knife/client_create.rb +13 -13
  118. data/lib/chef/knife/client_delete.rb +3 -3
  119. data/lib/chef/knife/config_get.rb +8 -8
  120. data/lib/chef/knife/config_list_profiles.rb +4 -4
  121. data/lib/chef/knife/cookbook_delete.rb +1 -1
  122. data/lib/chef/knife/cookbook_download.rb +12 -12
  123. data/lib/chef/knife/cookbook_show.rb +10 -10
  124. data/lib/chef/knife/cookbook_upload.rb +5 -5
  125. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  126. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  127. data/lib/chef/knife/core/gem_glob_loader.rb +2 -2
  128. data/lib/chef/knife/core/generic_presenter.rb +4 -4
  129. data/lib/chef/knife/core/node_presenter.rb +17 -17
  130. data/lib/chef/knife/core/object_loader.rb +1 -1
  131. data/lib/chef/knife/core/status_presenter.rb +5 -5
  132. data/lib/chef/knife/core/subcommand_loader.rb +3 -2
  133. data/lib/chef/knife/core/text_formatter.rb +4 -4
  134. data/lib/chef/knife/core/ui.rb +9 -5
  135. data/lib/chef/knife/data_bag_create.rb +1 -0
  136. data/lib/chef/knife/data_bag_from_file.rb +1 -1
  137. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  138. data/lib/chef/knife/data_bag_show.rb +2 -2
  139. data/lib/chef/knife/deps.rb +6 -6
  140. data/lib/chef/knife/edit.rb +2 -2
  141. data/lib/chef/knife/environment_compare.rb +1 -0
  142. data/lib/chef/knife/environment_from_file.rb +3 -3
  143. data/lib/chef/knife/key_create_base.rb +12 -12
  144. data/lib/chef/knife/key_edit_base.rb +15 -15
  145. data/lib/chef/knife/key_list.rb +3 -1
  146. data/lib/chef/knife/key_list_base.rb +9 -9
  147. data/lib/chef/knife/list.rb +5 -5
  148. data/lib/chef/knife/node_bulk_delete.rb +1 -0
  149. data/lib/chef/knife/node_edit.rb +1 -1
  150. data/lib/chef/knife/node_environment_set.rb +1 -2
  151. data/lib/chef/knife/node_run_list_add.rb +2 -2
  152. data/lib/chef/knife/node_run_list_remove.rb +2 -2
  153. data/lib/chef/knife/node_run_list_set.rb +2 -2
  154. data/lib/chef/knife/null.rb +1 -2
  155. data/lib/chef/knife/role_bulk_delete.rb +1 -0
  156. data/lib/chef/knife/role_env_run_list_add.rb +2 -2
  157. data/lib/chef/knife/role_env_run_list_set.rb +2 -2
  158. data/lib/chef/knife/role_run_list_add.rb +2 -2
  159. data/lib/chef/knife/role_run_list_set.rb +2 -2
  160. data/lib/chef/knife/search.rb +4 -4
  161. data/lib/chef/knife/ssh.rb +13 -9
  162. data/lib/chef/knife/supermarket_download.rb +1 -1
  163. data/lib/chef/knife/supermarket_install.rb +5 -5
  164. data/lib/chef/knife/supermarket_list.rb +1 -1
  165. data/lib/chef/knife/supermarket_share.rb +3 -2
  166. data/lib/chef/knife/supermarket_show.rb +1 -1
  167. data/lib/chef/knife/supermarket_unshare.rb +1 -0
  168. data/lib/chef/knife/tag_delete.rb +1 -1
  169. data/lib/chef/knife/xargs.rb +2 -2
  170. data/lib/chef/log/syslog.rb +2 -2
  171. data/lib/chef/log/winevt.rb +1 -2
  172. data/lib/chef/mash.rb +2 -2
  173. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  174. data/lib/chef/mixin/checksum.rb +1 -0
  175. data/lib/chef/mixin/convert_to_class_name.rb +2 -1
  176. data/lib/chef/mixin/create_path.rb +2 -2
  177. data/lib/chef/mixin/deep_merge.rb +5 -5
  178. data/lib/chef/mixin/get_source_from_package.rb +1 -0
  179. data/lib/chef/mixin/homebrew_user.rb +2 -1
  180. data/lib/chef/mixin/openssl_helper.rb +10 -6
  181. data/lib/chef/mixin/params_validate.rb +21 -13
  182. data/lib/chef/mixin/powershell_out.rb +1 -1
  183. data/lib/chef/mixin/powershell_type_coercions.rb +2 -2
  184. data/lib/chef/mixin/properties.rb +13 -10
  185. data/lib/chef/mixin/securable.rb +3 -3
  186. data/lib/chef/mixin/shell_out.rb +1 -0
  187. data/lib/chef/mixin/template.rb +2 -1
  188. data/lib/chef/mixin/user_context.rb +1 -1
  189. data/lib/chef/mixin/which.rb +1 -0
  190. data/lib/chef/mixin/windows_architecture_helper.rb +4 -4
  191. data/lib/chef/mixin/windows_env_helper.rb +2 -2
  192. data/lib/chef/monkey_patches/net_http.rb +1 -1
  193. data/lib/chef/monkey_patches/webrick-utils.rb +6 -4
  194. data/lib/chef/node.rb +24 -17
  195. data/lib/chef/node/attribute.rb +122 -113
  196. data/lib/chef/node/attribute_collections.rb +1 -1
  197. data/lib/chef/node/common_api.rb +8 -2
  198. data/lib/chef/node/immutable_collections.rb +1 -1
  199. data/lib/chef/node/mixin/immutablize_array.rb +142 -142
  200. data/lib/chef/node/mixin/immutablize_hash.rb +131 -131
  201. data/lib/chef/node_map.rb +18 -3
  202. data/lib/chef/null_logger.rb +8 -16
  203. data/lib/chef/org.rb +4 -4
  204. data/lib/chef/platform/query_helpers.rb +3 -0
  205. data/lib/chef/platform/rebooter.rb +1 -1
  206. data/lib/chef/platform/service_helpers.rb +2 -2
  207. data/lib/chef/policy_builder/expand_node_object.rb +4 -4
  208. data/lib/chef/policy_builder/policyfile.rb +4 -4
  209. data/lib/chef/powershell.rb +2 -0
  210. data/lib/chef/property.rb +7 -4
  211. data/lib/chef/provider.rb +9 -12
  212. data/lib/chef/provider/apt_preference.rb +1 -2
  213. data/lib/chef/provider/apt_repository.rb +1 -2
  214. data/lib/chef/provider/apt_update.rb +2 -3
  215. data/lib/chef/provider/cookbook_file.rb +1 -0
  216. data/lib/chef/provider/cron.rb +6 -5
  217. data/lib/chef/provider/cron/unix.rb +1 -0
  218. data/lib/chef/provider/dsc_resource.rb +2 -3
  219. data/lib/chef/provider/dsc_script.rb +2 -2
  220. data/lib/chef/provider/execute.rb +1 -1
  221. data/lib/chef/provider/file.rb +5 -3
  222. data/lib/chef/provider/git.rb +4 -3
  223. data/lib/chef/provider/group.rb +7 -3
  224. data/lib/chef/provider/group/aix.rb +2 -0
  225. data/lib/chef/provider/group/dscl.rb +6 -3
  226. data/lib/chef/provider/group/groupadd.rb +1 -0
  227. data/lib/chef/provider/group/groupmod.rb +1 -1
  228. data/lib/chef/provider/group/pw.rb +3 -3
  229. data/lib/chef/provider/group/suse.rb +2 -2
  230. data/lib/chef/provider/group/usermod.rb +1 -0
  231. data/lib/chef/provider/group/windows.rb +1 -1
  232. data/lib/chef/provider/http_request.rb +1 -1
  233. data/lib/chef/provider/ifconfig.rb +12 -6
  234. data/lib/chef/provider/ifconfig/aix.rb +1 -0
  235. data/lib/chef/provider/ifconfig/debian.rb +1 -0
  236. data/lib/chef/provider/launchd.rb +16 -13
  237. data/lib/chef/provider/lwrp_base.rb +1 -2
  238. data/lib/chef/provider/mount.rb +1 -0
  239. data/lib/chef/provider/mount/aix.rb +6 -6
  240. data/lib/chef/provider/mount/mount.rb +5 -4
  241. data/lib/chef/provider/mount/solaris.rb +4 -4
  242. data/lib/chef/provider/package.rb +9 -6
  243. data/lib/chef/provider/package/apt.rb +4 -3
  244. data/lib/chef/provider/package/bff.rb +1 -0
  245. data/lib/chef/provider/package/cab.rb +4 -2
  246. data/lib/chef/provider/package/chocolatey.rb +5 -2
  247. data/lib/chef/provider/package/dnf.rb +1 -1
  248. data/lib/chef/provider/package/dnf/dnf_helper.py +15 -1
  249. data/lib/chef/provider/package/dnf/python_helper.rb +1 -0
  250. data/lib/chef/provider/package/dpkg.rb +4 -4
  251. data/lib/chef/provider/package/freebsd/base.rb +3 -2
  252. data/lib/chef/provider/package/freebsd/pkgng.rb +2 -2
  253. data/lib/chef/provider/package/homebrew.rb +1 -1
  254. data/lib/chef/provider/package/macports.rb +1 -0
  255. data/lib/chef/provider/package/msu.rb +3 -1
  256. data/lib/chef/provider/package/openbsd.rb +1 -1
  257. data/lib/chef/provider/package/paludis.rb +1 -0
  258. data/lib/chef/provider/package/portage.rb +2 -2
  259. data/lib/chef/provider/package/powershell.rb +3 -2
  260. data/lib/chef/provider/package/rpm.rb +1 -0
  261. data/lib/chef/provider/package/rubygems.rb +5 -3
  262. data/lib/chef/provider/package/smartos.rb +1 -0
  263. data/lib/chef/provider/package/snap.rb +5 -1
  264. data/lib/chef/provider/package/solaris.rb +2 -0
  265. data/lib/chef/provider/package/windows/exe.rb +5 -5
  266. data/lib/chef/provider/package/windows/msi.rb +8 -7
  267. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -0
  268. data/lib/chef/provider/package/yum.rb +5 -2
  269. data/lib/chef/provider/package/yum/python_helper.rb +2 -1
  270. data/lib/chef/provider/package/zypper.rb +1 -1
  271. data/lib/chef/provider/reboot.rb +1 -1
  272. data/lib/chef/provider/registry_key.rb +2 -2
  273. data/lib/chef/provider/remote_directory.rb +1 -1
  274. data/lib/chef/provider/remote_file.rb +10 -9
  275. data/lib/chef/provider/remote_file/fetcher.rb +3 -2
  276. data/lib/chef/provider/remote_file/local_file.rb +1 -1
  277. data/lib/chef/provider/route.rb +4 -2
  278. data/lib/chef/provider/service/aixinit.rb +1 -1
  279. data/lib/chef/provider/service/arch.rb +2 -1
  280. data/lib/chef/provider/service/debian.rb +12 -11
  281. data/lib/chef/provider/service/freebsd.rb +1 -1
  282. data/lib/chef/provider/service/openbsd.rb +7 -7
  283. data/lib/chef/provider/service/redhat.rb +2 -2
  284. data/lib/chef/provider/service/simple.rb +2 -1
  285. data/lib/chef/provider/service/systemd.rb +2 -2
  286. data/lib/chef/provider/service/upstart.rb +3 -2
  287. data/lib/chef/provider/service/windows.rb +7 -6
  288. data/lib/chef/provider/subversion.rb +4 -1
  289. data/lib/chef/provider/template.rb +1 -0
  290. data/lib/chef/provider/user.rb +5 -1
  291. data/lib/chef/provider/user/aix.rb +3 -0
  292. data/lib/chef/provider/user/dscl.rb +8 -3
  293. data/lib/chef/provider/user/linux.rb +1 -0
  294. data/lib/chef/provider/user/pw.rb +1 -0
  295. data/lib/chef/provider/user/solaris.rb +2 -0
  296. data/lib/chef/provider/user/windows.rb +2 -1
  297. data/lib/chef/provider/windows_env.rb +3 -0
  298. data/lib/chef/provider/windows_script.rb +1 -1
  299. data/lib/chef/provider/windows_task.rb +4 -3
  300. data/lib/chef/provider/yum_repository.rb +1 -2
  301. data/lib/chef/provider/zypper_repository.rb +2 -3
  302. data/lib/chef/recipe.rb +2 -1
  303. data/lib/chef/resource.rb +24 -15
  304. data/lib/chef/resource/apt_package.rb +9 -9
  305. data/lib/chef/resource/apt_preference.rb +9 -9
  306. data/lib/chef/resource/apt_repository.rb +86 -23
  307. data/lib/chef/resource/apt_update.rb +2 -2
  308. data/lib/chef/resource/archive_file.rb +13 -13
  309. data/lib/chef/resource/build_essential.rb +5 -4
  310. data/lib/chef/resource/cab_package.rb +9 -9
  311. data/lib/chef/resource/chef_gem.rb +4 -4
  312. data/lib/chef/resource/chef_handler.rb +8 -7
  313. data/lib/chef/resource/chocolatey_config.rb +3 -3
  314. data/lib/chef/resource/chocolatey_feature.rb +2 -2
  315. data/lib/chef/resource/chocolatey_package.rb +8 -8
  316. data/lib/chef/resource/chocolatey_source.rb +3 -3
  317. data/lib/chef/resource/cookbook_file.rb +4 -4
  318. data/lib/chef/resource/cron.rb +12 -12
  319. data/lib/chef/resource/cron_access.rb +2 -2
  320. data/lib/chef/resource/cron_d.rb +45 -38
  321. data/lib/chef/resource/directory.rb +2 -2
  322. data/lib/chef/resource/dmg_package.rb +26 -26
  323. data/lib/chef/resource/dnf_package.rb +20 -20
  324. data/lib/chef/resource/dpkg_package.rb +5 -5
  325. data/lib/chef/resource/dsc_resource.rb +7 -7
  326. data/lib/chef/resource/dsc_script.rb +9 -4
  327. data/lib/chef/resource/execute.rb +14 -14
  328. data/lib/chef/resource/file.rb +4 -4
  329. data/lib/chef/resource/file/verification.rb +2 -0
  330. data/lib/chef/resource/file/verification/systemd_unit.rb +1 -0
  331. data/lib/chef/resource/gem_package.rb +7 -7
  332. data/lib/chef/resource/git.rb +2 -2
  333. data/lib/chef/resource/group.rb +5 -5
  334. data/lib/chef/resource/homebrew_cask.rb +17 -17
  335. data/lib/chef/resource/homebrew_package.rb +1 -1
  336. data/lib/chef/resource/homebrew_tap.rb +18 -18
  337. data/lib/chef/resource/hostname.rb +11 -11
  338. data/lib/chef/resource/http_request.rb +1 -1
  339. data/lib/chef/resource/ifconfig.rb +26 -26
  340. data/lib/chef/resource/ips_package.rb +2 -2
  341. data/lib/chef/resource/kernel_module.rb +25 -7
  342. data/lib/chef/resource/launchd.rb +105 -105
  343. data/lib/chef/resource/link.rb +10 -10
  344. data/lib/chef/resource/locale.rb +20 -20
  345. data/lib/chef/resource/log.rb +4 -4
  346. data/lib/chef/resource/lwrp_base.rb +1 -0
  347. data/lib/chef/resource/macos_userdefaults.rb +17 -16
  348. data/lib/chef/resource/macosx_service.rb +1 -1
  349. data/lib/chef/resource/mdadm.rb +14 -14
  350. data/lib/chef/resource/mount.rb +24 -24
  351. data/lib/chef/resource/msu_package.rb +8 -8
  352. data/lib/chef/resource/ohai.rb +1 -1
  353. data/lib/chef/resource/ohai_hint.rb +7 -5
  354. data/lib/chef/resource/openssl_dhparam.rb +14 -14
  355. data/lib/chef/resource/openssl_ec_private_key.rb +16 -16
  356. data/lib/chef/resource/openssl_ec_public_key.rb +9 -9
  357. data/lib/chef/resource/openssl_rsa_private_key.rb +17 -17
  358. data/lib/chef/resource/openssl_rsa_public_key.rb +9 -9
  359. data/lib/chef/resource/openssl_x509_certificate.rb +34 -34
  360. data/lib/chef/resource/openssl_x509_crl.rb +17 -17
  361. data/lib/chef/resource/openssl_x509_request.rb +20 -20
  362. data/lib/chef/resource/osx_profile.rb +5 -5
  363. data/lib/chef/resource/package.rb +9 -9
  364. data/lib/chef/resource/paludis_package.rb +2 -2
  365. data/lib/chef/resource/powershell_package.rb +8 -8
  366. data/lib/chef/resource/powershell_package_source.rb +13 -13
  367. data/lib/chef/resource/reboot.rb +4 -4
  368. data/lib/chef/resource/registry_key.rb +5 -3
  369. data/lib/chef/resource/remote_directory.rb +20 -20
  370. data/lib/chef/resource/remote_file.rb +8 -7
  371. data/lib/chef/resource/resource_notification.rb +4 -3
  372. data/lib/chef/resource/rhsm_errata.rb +2 -2
  373. data/lib/chef/resource/rhsm_errata_level.rb +4 -4
  374. data/lib/chef/resource/rhsm_register.rb +14 -14
  375. data/lib/chef/resource/rhsm_repo.rb +3 -3
  376. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  377. data/lib/chef/resource/route.rb +11 -11
  378. data/lib/chef/resource/scm.rb +18 -18
  379. data/lib/chef/resource/service.rb +27 -27
  380. data/lib/chef/resource/snap_package.rb +4 -4
  381. data/lib/chef/resource/ssh_known_hosts_entry.rb +19 -19
  382. data/lib/chef/resource/subversion.rb +10 -10
  383. data/lib/chef/resource/sudo.rb +38 -37
  384. data/lib/chef/resource/swap_file.rb +9 -9
  385. data/lib/chef/resource/sysctl.rb +20 -17
  386. data/lib/chef/resource/systemd_unit.rb +12 -12
  387. data/lib/chef/resource/template.rb +8 -8
  388. data/lib/chef/resource/timezone.rb +3 -2
  389. data/lib/chef/resource/user.rb +19 -19
  390. data/lib/chef/resource/user/dscl_user.rb +2 -2
  391. data/lib/chef/resource/user/windows_user.rb +2 -2
  392. data/lib/chef/resource/windows_ad_join.rb +17 -16
  393. data/lib/chef/resource/windows_auto_run.rb +8 -8
  394. data/lib/chef/resource/windows_certificate.rb +13 -13
  395. data/lib/chef/resource/windows_dfs_folder.rb +13 -12
  396. data/lib/chef/resource/windows_dfs_namespace.rb +18 -18
  397. data/lib/chef/resource/windows_dfs_server.rb +12 -12
  398. data/lib/chef/resource/windows_dns_record.rb +8 -8
  399. data/lib/chef/resource/windows_dns_zone.rb +6 -6
  400. data/lib/chef/resource/windows_env.rb +6 -6
  401. data/lib/chef/resource/windows_feature.rb +12 -12
  402. data/lib/chef/resource/windows_feature_dism.rb +20 -19
  403. data/lib/chef/resource/windows_feature_powershell.rb +24 -22
  404. data/lib/chef/resource/windows_firewall_rule.rb +34 -34
  405. data/lib/chef/resource/windows_font.rb +4 -4
  406. data/lib/chef/resource/windows_package.rb +5 -5
  407. data/lib/chef/resource/windows_pagefile.rb +9 -8
  408. data/lib/chef/resource/windows_path.rb +2 -2
  409. data/lib/chef/resource/windows_printer.rb +15 -15
  410. data/lib/chef/resource/windows_printer_port.rb +14 -14
  411. data/lib/chef/resource/windows_script.rb +1 -1
  412. data/lib/chef/resource/windows_service.rb +16 -16
  413. data/lib/chef/resource/windows_share.rb +27 -24
  414. data/lib/chef/resource/windows_shortcut.rb +7 -7
  415. data/lib/chef/resource/windows_task.rb +53 -51
  416. data/lib/chef/resource/windows_uac.rb +15 -15
  417. data/lib/chef/resource/windows_workgroup.rb +15 -14
  418. data/lib/chef/resource/yum_package.rb +24 -24
  419. data/lib/chef/resource/yum_repository.rb +44 -44
  420. data/lib/chef/resource/zypper_package.rb +9 -9
  421. data/lib/chef/resource/zypper_repository.rb +30 -30
  422. data/lib/chef/resource_builder.rb +1 -0
  423. data/lib/chef/resource_collection.rb +6 -4
  424. data/lib/chef/resource_collection/resource_collection_serialization.rb +4 -3
  425. data/lib/chef/resource_collection/resource_list.rb +5 -3
  426. data/lib/chef/resource_collection/resource_set.rb +12 -8
  427. data/lib/chef/resource_collection/stepable_iterator.rb +1 -0
  428. data/lib/chef/resource_definition.rb +5 -3
  429. data/lib/chef/resource_definition_list.rb +1 -1
  430. data/lib/chef/resource_inspector.rb +1 -1
  431. data/lib/chef/resource_reporter.rb +1 -1
  432. data/lib/chef/role.rb +9 -7
  433. data/lib/chef/run_context.rb +5 -5
  434. data/lib/chef/run_context/cookbook_compiler.rb +5 -1
  435. data/lib/chef/run_list.rb +5 -4
  436. data/lib/chef/run_list/run_list_expansion.rb +3 -2
  437. data/lib/chef/run_list/run_list_item.rb +5 -5
  438. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  439. data/lib/chef/run_status.rb +1 -1
  440. data/lib/chef/runner.rb +2 -4
  441. data/lib/chef/search/query.rb +3 -3
  442. data/lib/chef/shell/ext.rb +2 -2
  443. data/lib/chef/shell/model_wrapper.rb +2 -1
  444. data/lib/chef/shell/shell_session.rb +1 -1
  445. data/lib/chef/train_transport.rb +3 -3
  446. data/lib/chef/user.rb +6 -6
  447. data/lib/chef/user_v1.rb +13 -11
  448. data/lib/chef/util/diff.rb +5 -2
  449. data/lib/chef/util/dsc/configuration_generator.rb +6 -6
  450. data/lib/chef/util/dsc/lcm_output_parser.rb +2 -2
  451. data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
  452. data/lib/chef/util/dsc/resource_store.rb +2 -2
  453. data/lib/chef/util/file_edit.rb +1 -0
  454. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  455. data/lib/chef/util/threaded_job_queue.rb +1 -1
  456. data/lib/chef/util/windows/logon_session.rb +5 -5
  457. data/lib/chef/util/windows/net_use.rb +2 -2
  458. data/lib/chef/util/windows/net_user.rb +3 -2
  459. data/lib/chef/version.rb +1 -1
  460. data/lib/chef/version_class.rb +1 -1
  461. data/lib/chef/version_constraint.rb +1 -1
  462. data/lib/chef/whitelist.rb +1 -1
  463. data/lib/chef/win32/api/crypto.rb +11 -11
  464. data/lib/chef/win32/api/error.rb +4 -4
  465. data/lib/chef/win32/api/file.rb +38 -38
  466. data/lib/chef/win32/api/installer.rb +3 -3
  467. data/lib/chef/win32/api/memory.rb +4 -4
  468. data/lib/chef/win32/api/net.rb +38 -38
  469. data/lib/chef/win32/api/process.rb +2 -2
  470. data/lib/chef/win32/api/psapi.rb +1 -1
  471. data/lib/chef/win32/api/registry.rb +3 -3
  472. data/lib/chef/win32/api/security.rb +87 -87
  473. data/lib/chef/win32/api/synchronization.rb +5 -5
  474. data/lib/chef/win32/api/system.rb +7 -7
  475. data/lib/chef/win32/api/unicode.rb +3 -3
  476. data/lib/chef/win32/eventlog.rb +2 -2
  477. data/lib/chef/win32/file.rb +5 -2
  478. data/lib/chef/win32/file/info.rb +1 -0
  479. data/lib/chef/win32/file/version_info.rb +15 -14
  480. data/lib/chef/win32/memory.rb +1 -1
  481. data/lib/chef/win32/net.rb +8 -4
  482. data/lib/chef/win32/registry.rb +6 -1
  483. data/lib/chef/win32/security.rb +7 -2
  484. data/lib/chef/win32/security/acl.rb +2 -1
  485. data/lib/chef/win32/security/security_descriptor.rb +4 -2
  486. data/lib/chef/win32/security/sid.rb +11 -10
  487. data/lib/chef/win32/security/token.rb +3 -1
  488. data/lib/chef/win32/version.rb +3 -3
  489. data/spec/data/apt/chef-integration-test-1.0/debian/rules +0 -0
  490. data/spec/data/apt/chef-integration-test-1.1/debian/rules +0 -0
  491. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -0
  492. data/spec/functional/assets/chefinittest +0 -0
  493. data/spec/functional/assets/testchefsubsys +0 -0
  494. data/spec/functional/dsl/reboot_pending_spec.rb +2 -2
  495. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
  496. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  497. data/spec/functional/knife/exec_spec.rb +1 -1
  498. data/spec/functional/knife/ssh_spec.rb +3 -3
  499. data/spec/functional/mixin/user_context_spec.rb +3 -1
  500. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -0
  501. data/spec/functional/rebooter_spec.rb +1 -1
  502. data/spec/functional/resource/aix_service_spec.rb +1 -1
  503. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  504. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  505. data/spec/functional/resource/cookbook_file_spec.rb +1 -3
  506. data/spec/functional/resource/cron_spec.rb +1 -0
  507. data/spec/functional/resource/dnf_package_spec.rb +5 -5
  508. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  509. data/spec/functional/resource/dsc_resource_spec.rb +2 -1
  510. data/spec/functional/resource/dsc_script_spec.rb +7 -11
  511. data/spec/functional/resource/git_spec.rb +5 -5
  512. data/spec/functional/resource/group_spec.rb +15 -13
  513. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  514. data/spec/functional/resource/link_spec.rb +2 -2
  515. data/spec/functional/resource/locale_spec.rb +4 -4
  516. data/spec/functional/resource/mount_spec.rb +3 -3
  517. data/spec/functional/resource/powershell_script_spec.rb +9 -8
  518. data/spec/functional/resource/reboot_spec.rb +1 -1
  519. data/spec/functional/resource/remote_file_spec.rb +2 -2
  520. data/spec/functional/resource/template_spec.rb +1 -1
  521. data/spec/functional/resource/user/windows_spec.rb +2 -2
  522. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  523. data/spec/functional/resource/windows_service_spec.rb +3 -3
  524. data/spec/functional/run_lock_spec.rb +3 -2
  525. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  526. data/spec/functional/win32/security_spec.rb +12 -7
  527. data/spec/functional/win32/service_manager_spec.rb +1 -1
  528. data/spec/integration/client/client_spec.rb +79 -81
  529. data/spec/integration/client/exit_code_spec.rb +2 -2
  530. data/spec/integration/client/ipv6_spec.rb +2 -2
  531. data/spec/integration/knife/chef_fs_data_store_spec.rb +25 -25
  532. data/spec/integration/knife/chef_repo_path_spec.rb +4 -4
  533. data/spec/integration/knife/config_get_spec.rb +1 -1
  534. data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
  535. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  536. data/spec/integration/knife/cookbook_download_spec.rb +1 -1
  537. data/spec/integration/knife/diff_spec.rb +2 -2
  538. data/spec/integration/knife/download_spec.rb +1 -1
  539. data/spec/integration/knife/redirection_spec.rb +1 -1
  540. data/spec/integration/knife/upload_spec.rb +2 -2
  541. data/spec/integration/recipes/accumulator_spec.rb +4 -4
  542. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -5
  543. data/spec/integration/recipes/lwrp_spec.rb +2 -2
  544. data/spec/integration/recipes/notifies_spec.rb +20 -20
  545. data/spec/integration/recipes/notifying_block_spec.rb +4 -4
  546. data/spec/integration/recipes/provider_choice.rb +1 -2
  547. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  548. data/spec/integration/recipes/remote_directory.rb +2 -2
  549. data/spec/integration/solo/solo_spec.rb +20 -20
  550. data/spec/spec_helper.rb +9 -11
  551. data/spec/stress/win32/security_spec.rb +1 -1
  552. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  553. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  554. data/spec/support/mock/platform.rb +2 -2
  555. data/spec/support/platform_helpers.rb +14 -0
  556. data/spec/support/platforms/win32/spec_service.rb +6 -10
  557. data/spec/support/shared/functional/execute_resource.rb +4 -4
  558. data/spec/support/shared/functional/file_resource.rb +1 -3
  559. data/spec/support/shared/functional/http.rb +15 -39
  560. data/spec/support/shared/functional/securable_resource.rb +4 -8
  561. data/spec/support/shared/functional/win32_service.rb +1 -1
  562. data/spec/support/shared/functional/windows_script.rb +2 -1
  563. data/spec/support/shared/integration/app_server_support.rb +3 -4
  564. data/spec/support/shared/integration/integration_helper.rb +1 -0
  565. data/spec/support/shared/integration/knife_support.rb +5 -5
  566. data/spec/support/shared/unit/application_dot_d.rb +10 -4
  567. data/spec/support/shared/unit/file_system_support.rb +3 -2
  568. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  569. data/spec/support/shared/unit/provider/file.rb +1 -1
  570. data/spec/support/shared/unit/script_resource.rb +1 -1
  571. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  572. data/spec/tiny_server.rb +1 -1
  573. data/spec/unit/api_client/registration_spec.rb +1 -1
  574. data/spec/unit/api_client_spec.rb +5 -5
  575. data/spec/unit/api_client_v1_spec.rb +6 -6
  576. data/spec/unit/application/client_spec.rb +8 -8
  577. data/spec/unit/application/exit_code_spec.rb +3 -2
  578. data/spec/unit/application/knife_spec.rb +1 -2
  579. data/spec/unit/chef_fs/config_spec.rb +3 -3
  580. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  581. data/spec/unit/chef_fs/parallelizer.rb +1 -1
  582. data/spec/unit/client_spec.rb +1 -1
  583. data/spec/unit/config_fetcher_spec.rb +1 -1
  584. data/spec/unit/cookbook/metadata_spec.rb +4 -4
  585. data/spec/unit/cookbook/synchronizer_spec.rb +4 -4
  586. data/spec/unit/cookbook_loader_spec.rb +10 -10
  587. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
  588. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  589. data/spec/unit/data_bag_item_spec.rb +8 -8
  590. data/spec/unit/data_bag_spec.rb +1 -1
  591. data/spec/unit/data_collector_spec.rb +82 -0
  592. data/spec/unit/decorator_spec.rb +2 -2
  593. data/spec/unit/deprecated_spec.rb +2 -2
  594. data/spec/unit/dsl/data_query_spec.rb +3 -2
  595. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  596. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  597. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
  598. data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
  599. data/spec/unit/environment_spec.rb +9 -9
  600. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  601. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  602. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  603. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  604. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  605. data/spec/unit/http/authenticator_spec.rb +3 -2
  606. data/spec/unit/http/json_input_spec.rb +1 -1
  607. data/spec/unit/key_spec.rb +7 -7
  608. data/spec/unit/knife/bootstrap/train_connector_spec.rb +13 -8
  609. data/spec/unit/knife/bootstrap_spec.rb +22 -16
  610. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  611. data/spec/unit/knife/configure_client_spec.rb +1 -1
  612. data/spec/unit/knife/configure_spec.rb +1 -1
  613. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  614. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  615. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  616. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  617. data/spec/unit/knife/cookbook_upload_spec.rb +4 -2
  618. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  619. data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
  620. data/spec/unit/knife/core/node_editor_spec.rb +8 -8
  621. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +1 -2
  622. data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
  623. data/spec/unit/knife/data_bag_show_spec.rb +2 -1
  624. data/spec/unit/knife/key_create_spec.rb +1 -1
  625. data/spec/unit/knife/key_delete_spec.rb +3 -3
  626. data/spec/unit/knife/key_edit_spec.rb +4 -4
  627. data/spec/unit/knife/key_list_spec.rb +1 -1
  628. data/spec/unit/knife/key_show_spec.rb +3 -3
  629. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  630. data/spec/unit/knife/node_delete_spec.rb +2 -2
  631. data/spec/unit/knife/node_edit_spec.rb +1 -1
  632. data/spec/unit/knife/node_environment_set_spec.rb +6 -1
  633. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  634. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  635. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  636. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  637. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  638. data/spec/unit/knife/node_show_spec.rb +1 -1
  639. data/spec/unit/knife/raw_spec.rb +2 -2
  640. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  641. data/spec/unit/knife/role_create_spec.rb +1 -1
  642. data/spec/unit/knife/role_delete_spec.rb +1 -1
  643. data/spec/unit/knife/role_edit_spec.rb +1 -1
  644. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  645. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  646. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  647. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  648. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  649. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  650. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  651. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  652. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  653. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  654. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  655. data/spec/unit/knife/status_spec.rb +2 -1
  656. data/spec/unit/knife/supermarket_install_spec.rb +5 -4
  657. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  658. data/spec/unit/knife_spec.rb +35 -34
  659. data/spec/unit/lwrp_spec.rb +19 -19
  660. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  661. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  662. data/spec/unit/mixin/properties_spec.rb +4 -4
  663. data/spec/unit/mixin/shell_out_spec.rb +3 -3
  664. data/spec/unit/mixin/template_spec.rb +4 -8
  665. data/spec/unit/mixin/unformatter_spec.rb +1 -2
  666. data/spec/unit/mixin/user_context_spec.rb +1 -2
  667. data/spec/unit/mixin/which.rb +2 -0
  668. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  669. data/spec/unit/node/attribute_spec.rb +12 -12
  670. data/spec/unit/node/immutable_collections_spec.rb +50 -50
  671. data/spec/unit/node/vivid_mash_spec.rb +4 -4
  672. data/spec/unit/node_spec.rb +12 -12
  673. data/spec/unit/org_spec.rb +3 -3
  674. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  675. data/spec/unit/property/state_spec.rb +26 -25
  676. data/spec/unit/property/validation_spec.rb +14 -13
  677. data/spec/unit/property_spec.rb +11 -10
  678. data/spec/unit/provider/apt_update_spec.rb +6 -6
  679. data/spec/unit/provider/cron_spec.rb +1 -1
  680. data/spec/unit/provider/dsc_resource_spec.rb +6 -3
  681. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  682. data/spec/unit/provider/git_spec.rb +38 -38
  683. data/spec/unit/provider/group/dscl_spec.rb +1 -1
  684. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  685. data/spec/unit/provider/group_spec.rb +2 -3
  686. data/spec/unit/provider/launchd_spec.rb +16 -8
  687. data/spec/unit/provider/link_spec.rb +22 -11
  688. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  689. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  690. data/spec/unit/provider/ohai_spec.rb +1 -1
  691. data/spec/unit/provider/osx_profile_spec.rb +5 -7
  692. data/spec/unit/provider/package/apt_spec.rb +5 -5
  693. data/spec/unit/provider/package/bff_spec.rb +1 -1
  694. data/spec/unit/provider/package/cab_spec.rb +1 -1
  695. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  696. data/spec/unit/provider/package/msu_spec.rb +1 -1
  697. data/spec/unit/provider/package/openbsd_spec.rb +14 -10
  698. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  699. data/spec/unit/provider/package/smartos_spec.rb +2 -2
  700. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  701. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  702. data/spec/unit/provider/package/windows_spec.rb +2 -1
  703. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  704. data/spec/unit/provider/package/zypper_spec.rb +13 -4
  705. data/spec/unit/provider/powershell_script_spec.rb +12 -12
  706. data/spec/unit/provider/registry_key_spec.rb +1 -1
  707. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  708. data/spec/unit/provider/route_spec.rb +11 -11
  709. data/spec/unit/provider/service/arch_service_spec.rb +11 -11
  710. data/spec/unit/provider/service/debian_service_spec.rb +2 -1
  711. data/spec/unit/provider/service/freebsd_service_spec.rb +23 -19
  712. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  713. data/spec/unit/provider/service/init_service_spec.rb +9 -9
  714. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  715. data/spec/unit/provider/service/macosx_spec.rb +1 -1
  716. data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
  717. data/spec/unit/provider/service/simple_service_spec.rb +5 -5
  718. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  719. data/spec/unit/provider/service/windows_spec.rb +53 -35
  720. data/spec/unit/provider/subversion_spec.rb +8 -4
  721. data/spec/unit/provider/systemd_unit_spec.rb +146 -146
  722. data/spec/unit/provider/template/content_spec.rb +28 -28
  723. data/spec/unit/provider/windows_task_spec.rb +7 -2
  724. data/spec/unit/provider_resolver_spec.rb +2 -2
  725. data/spec/unit/provider_spec.rb +2 -4
  726. data/spec/unit/recipe_spec.rb +3 -3
  727. data/spec/unit/resource/batch_spec.rb +1 -1
  728. data/spec/unit/resource/cab_package_spec.rb +1 -1
  729. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  730. data/spec/unit/resource/directory_spec.rb +1 -1
  731. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  732. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  733. data/spec/unit/resource/file/verification_spec.rb +1 -2
  734. data/spec/unit/resource/file_spec.rb +1 -1
  735. data/spec/unit/resource/group_spec.rb +1 -1
  736. data/spec/unit/resource/kernel_module_spec.rb +1 -0
  737. data/spec/unit/resource/link_spec.rb +1 -1
  738. data/spec/unit/resource/locale_spec.rb +12 -12
  739. data/spec/unit/resource/osx_profile_spec.rb +2 -1
  740. data/spec/unit/resource/powershell_script_spec.rb +12 -7
  741. data/spec/unit/resource/registry_key_spec.rb +3 -3
  742. data/spec/unit/resource/rhsm_repo_spec.rb +6 -0
  743. data/spec/unit/resource/service_spec.rb +1 -1
  744. data/spec/unit/resource/template_spec.rb +2 -2
  745. data/spec/unit/resource/windows_env_spec.rb +1 -1
  746. data/spec/unit/resource/windows_service_spec.rb +7 -7
  747. data/spec/unit/resource/windows_task_spec.rb +2 -2
  748. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  749. data/spec/unit/resource/yum_package_spec.rb +1 -1
  750. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  751. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  752. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  753. data/spec/unit/resource_collection_spec.rb +4 -4
  754. data/spec/unit/resource_definition_spec.rb +2 -2
  755. data/spec/unit/resource_inspector_spec.rb +1 -1
  756. data/spec/unit/resource_reporter_spec.rb +6 -4
  757. data/spec/unit/resource_spec.rb +21 -21
  758. data/spec/unit/role_spec.rb +2 -2
  759. data/spec/unit/run_context/cookbook_compiler_spec.rb +24 -24
  760. data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
  761. data/spec/unit/run_list_spec.rb +1 -1
  762. data/spec/unit/runner_spec.rb +3 -3
  763. data/spec/unit/search/query_spec.rb +3 -2
  764. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  765. data/spec/unit/shell/shell_session_spec.rb +8 -11
  766. data/spec/unit/shell_spec.rb +1 -2
  767. data/spec/unit/user_spec.rb +4 -4
  768. data/spec/unit/user_v1_spec.rb +3 -3
  769. data/spec/unit/util/backup_spec.rb +1 -1
  770. data/spec/unit/util/editor_spec.rb +1 -1
  771. data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
  772. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  773. data/spec/unit/version_class_spec.rb +4 -4
  774. data/spec/unit/win32/registry_spec.rb +5 -5
  775. data/spec/unit/win32/security_spec.rb +2 -1
  776. data/tasks/bin/run_external_test +1 -1
  777. data/tasks/docs.rb +78 -61
  778. data/tasks/rspec.rb +1 -1
  779. metadata +5 -33
  780. data/lib/.DS_Store +0 -0
  781. data/lib/chef/.DS_Store +0 -0
  782. data/lib/chef/dsl/.DS_Store +0 -0
  783. data/lib/chef/knife/.DS_Store +0 -0
  784. data/lib/chef/mixin/.DS_Store +0 -0
  785. data/lib/chef/nil_argument.rb +0 -3
  786. data/lib/chef/provider/.DS_Store +0 -0
  787. data/lib/chef/provider/package/.DS_Store +0 -0
  788. data/lib/chef/provider/package/freebsd/.DS_Store +0 -0
  789. data/lib/chef/resource/.DS_Store +0 -0
  790. data/lib/chef/resource/file/.DS_Store +0 -0
  791. data/spec/.DS_Store +0 -0
  792. data/spec/data/.DS_Store +0 -0
  793. data/spec/data/cookbooks/.DS_Store +0 -0
  794. data/spec/data/cookbooks/java/.DS_Store +0 -0
  795. data/spec/data/cookbooks/java/files/.DS_Store +0 -0
  796. data/spec/data/mac_users/.DS_Store +0 -0
  797. data/spec/data/nodes/Tim.local.json +0 -3
  798. data/spec/data/nodes/Tims-MBP.local.json +0 -3
  799. data/spec/data/run_context/.DS_Store +0 -0
  800. data/spec/data/run_context/cookbooks/.DS_Store +0 -0
  801. data/spec/functional/.DS_Store +0 -0
  802. data/spec/functional/resource/.DS_Store +0 -0
  803. data/spec/functional/util/.DS_Store +0 -0
  804. data/spec/integration/.DS_Store +0 -0
  805. data/spec/stress/.DS_Store +0 -0
  806. data/spec/support/.DS_Store +0 -0
  807. data/spec/unit/.DS_Store +0 -0
  808. data/tasks/.DS_Store +0 -0
@@ -31,10 +31,10 @@ class Chef
31
31
  ffi_lib "kernel32"
32
32
 
33
33
  safe_attach_function :GetCurrentProcess, [], :HANDLE
34
- safe_attach_function :GetProcessHandleCount, [ :HANDLE, :LPDWORD ], :BOOL
34
+ safe_attach_function :GetProcessHandleCount, %i{HANDLE LPDWORD}, :BOOL
35
35
  safe_attach_function :GetProcessId, [ :HANDLE ], :DWORD
36
36
  safe_attach_function :CloseHandle, [ :HANDLE ], :BOOL
37
- safe_attach_function :IsWow64Process, [ :HANDLE, :PBOOL ], :BOOL
37
+ safe_attach_function :IsWow64Process, %i{HANDLE PBOOL}, :BOOL
38
38
 
39
39
  end
40
40
  end
@@ -43,7 +43,7 @@ class Chef
43
43
 
44
44
  ffi_lib "psapi"
45
45
 
46
- safe_attach_function :GetProcessMemoryInfo, [ :HANDLE, :pointer, :DWORD ], :BOOL
46
+ safe_attach_function :GetProcessMemoryInfo, %i{HANDLE pointer DWORD}, :BOOL
47
47
 
48
48
  end
49
49
  end
@@ -36,14 +36,14 @@ class Chef
36
36
  # _In_ REGSAM samDesired,
37
37
  # _Reserved_ DWORD Reserved
38
38
  # );
39
- safe_attach_function :RegDeleteKeyExW, [ :HKEY, :LPCTSTR, :LONG, :DWORD ], :LONG
40
- safe_attach_function :RegDeleteKeyExA, [ :HKEY, :LPCTSTR, :LONG, :DWORD ], :LONG
39
+ safe_attach_function :RegDeleteKeyExW, %i{HKEY LPCTSTR LONG DWORD}, :LONG
40
+ safe_attach_function :RegDeleteKeyExA, %i{HKEY LPCTSTR LONG DWORD}, :LONG
41
41
 
42
42
  # LONG WINAPI RegDeleteValue(
43
43
  # _In_ HKEY hKey,
44
44
  # _In_opt_ LPCTSTR lpValueName
45
45
  # );
46
- safe_attach_function :RegDeleteValueW, [ :HKEY, :LPCTSTR ], :LONG
46
+ safe_attach_function :RegDeleteValueW, %i{HKEY LPCTSTR}, :LONG
47
47
 
48
48
  end
49
49
  end
@@ -216,21 +216,21 @@ class Chef
216
216
  # Win32 API Bindings
217
217
  ###############################################
218
218
 
219
- SE_OBJECT_TYPE = enum :SE_OBJECT_TYPE, [
220
- :SE_UNKNOWN_OBJECT_TYPE,
221
- :SE_FILE_OBJECT,
222
- :SE_SERVICE,
223
- :SE_PRINTER,
224
- :SE_REGISTRY_KEY,
225
- :SE_LMSHARE,
226
- :SE_KERNEL_OBJECT,
227
- :SE_WINDOW_OBJECT,
228
- :SE_DS_OBJECT,
229
- :SE_DS_OBJECT_ALL,
230
- :SE_PROVIDER_DEFINED_OBJECT,
231
- :SE_WMIGUID_OBJECT,
232
- :SE_REGISTRY_WOW64_32KEY,
233
- ]
219
+ SE_OBJECT_TYPE = enum :SE_OBJECT_TYPE, %i{
220
+ SE_UNKNOWN_OBJECT_TYPE
221
+ SE_FILE_OBJECT
222
+ SE_SERVICE
223
+ SE_PRINTER
224
+ SE_REGISTRY_KEY
225
+ SE_LMSHARE
226
+ SE_KERNEL_OBJECT
227
+ SE_WINDOW_OBJECT
228
+ SE_DS_OBJECT
229
+ SE_DS_OBJECT_ALL
230
+ SE_PROVIDER_DEFINED_OBJECT
231
+ SE_WMIGUID_OBJECT
232
+ SE_REGISTRY_WOW64_32KEY
233
+ }
234
234
 
235
235
  SID_NAME_USE = enum :SID_NAME_USE, [
236
236
  :SidTypeUser, 1,
@@ -298,12 +298,12 @@ class Chef
298
298
  end
299
299
 
300
300
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379572%28v=vs.85%29.aspx
301
- SECURITY_IMPERSONATION_LEVEL = enum :SECURITY_IMPERSONATION_LEVEL, [
302
- :SecurityAnonymous,
303
- :SecurityIdentification,
304
- :SecurityImpersonation,
305
- :SecurityDelegation,
306
- ]
301
+ SECURITY_IMPERSONATION_LEVEL = enum :SECURITY_IMPERSONATION_LEVEL, %i{
302
+ SecurityAnonymous
303
+ SecurityIdentification
304
+ SecurityImpersonation
305
+ SecurityDelegation
306
+ }
307
307
 
308
308
  # https://msdn.microsoft.com/en-us/library/windows/desktop/bb530718%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
309
309
  ELEVATION_TYPE = enum :ELEVATION_TYPE, [
@@ -326,24 +326,24 @@ class Chef
326
326
  # http://msdn.microsoft.com/en-us/library/windows/desktop/aa374931(v=VS.85).aspx
327
327
  class ACLStruct < FFI::Struct
328
328
  layout :AclRevision, :uchar,
329
- :Sbzl, :uchar,
330
- :AclSize, :ushort,
331
- :AceCount, :ushort,
332
- :Sbz2, :ushort
329
+ :Sbzl, :uchar,
330
+ :AclSize, :ushort,
331
+ :AceCount, :ushort,
332
+ :Sbz2, :ushort
333
333
  end
334
334
 
335
335
  class ACE_HEADER < FFI::Struct
336
336
  layout :AceType, :uchar,
337
- :AceFlags, :uchar,
338
- :AceSize, :ushort
337
+ :AceFlags, :uchar,
338
+ :AceSize, :ushort
339
339
  end
340
340
 
341
341
  class ACE_WITH_MASK_AND_SID < FFI::Struct
342
342
  layout :AceType, :uchar,
343
- :AceFlags, :uchar,
344
- :AceSize, :ushort,
345
- :Mask, :uint32,
346
- :SidStart, :uint32
343
+ :AceFlags, :uchar,
344
+ :AceSize, :ushort,
345
+ :Mask, :uint32,
346
+ :SidStart, :uint32
347
347
 
348
348
  # The AceTypes this structure supports
349
349
  def self.supports?(ace_type)
@@ -358,12 +358,12 @@ class Chef
358
358
 
359
359
  class LUID < FFI::Struct
360
360
  layout :LowPart, :DWORD,
361
- :HighPart, :LONG
361
+ :HighPart, :LONG
362
362
  end
363
363
 
364
364
  class LUID_AND_ATTRIBUTES < FFI::Struct
365
365
  layout :Luid, LUID,
366
- :Attributes, :DWORD
366
+ :Attributes, :DWORD
367
367
  end
368
368
 
369
369
  class GENERIC_MAPPING < FFI::Struct
@@ -375,13 +375,13 @@ class Chef
375
375
 
376
376
  class PRIVILEGE_SET < FFI::Struct
377
377
  layout :PrivilegeCount, :DWORD,
378
- :Control, :DWORD,
379
- :Privilege, [LUID_AND_ATTRIBUTES, 1]
378
+ :Control, :DWORD,
379
+ :Privilege, [LUID_AND_ATTRIBUTES, 1]
380
380
  end
381
381
 
382
382
  class TOKEN_PRIVILEGES < FFI::Struct
383
383
  layout :PrivilegeCount, :DWORD,
384
- :Privileges, LUID_AND_ATTRIBUTES
384
+ :Privileges, LUID_AND_ATTRIBUTES
385
385
 
386
386
  def self.size_with_privileges(num_privileges)
387
387
  offset_of(:Privileges) + LUID_AND_ATTRIBUTES.size * num_privileges
@@ -399,74 +399,74 @@ class Chef
399
399
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms721829(v=vs.85).aspx
400
400
  class LSA_OBJECT_ATTRIBUTES < FFI::Struct
401
401
  layout :Length, :ULONG,
402
- :RootDirectory, :HANDLE,
403
- :ObjectName, :pointer,
404
- :Attributes, :ULONG,
405
- :SecurityDescriptor, :PVOID,
406
- :SecurityQualityOfService, :PVOID
402
+ :RootDirectory, :HANDLE,
403
+ :ObjectName, :pointer,
404
+ :Attributes, :ULONG,
405
+ :SecurityDescriptor, :PVOID,
406
+ :SecurityQualityOfService, :PVOID
407
407
  end
408
408
 
409
409
  # https://msdn.microsoft.com/en-us/library/windows/desktop/ms721841(v=vs.85).aspx
410
410
  class LSA_UNICODE_STRING < FFI::Struct
411
411
  layout :Length, :USHORT,
412
- :MaximumLength, :USHORT,
413
- :Buffer, :PWSTR
412
+ :MaximumLength, :USHORT,
413
+ :Buffer, :PWSTR
414
414
  end
415
415
 
416
416
  ffi_lib "advapi32"
417
417
 
418
- safe_attach_function :AccessCheck, [:pointer, :HANDLE, :DWORD, :pointer, :pointer, :pointer, :pointer, :pointer], :BOOL
419
- safe_attach_function :AddAce, [ :pointer, :DWORD, :DWORD, :LPVOID, :DWORD ], :BOOL
420
- safe_attach_function :AddAccessAllowedAce, [ :pointer, :DWORD, :DWORD, :pointer ], :BOOL
421
- safe_attach_function :AddAccessAllowedAceEx, [ :pointer, :DWORD, :DWORD, :DWORD, :pointer ], :BOOL
422
- safe_attach_function :AddAccessDeniedAce, [ :pointer, :DWORD, :DWORD, :pointer ], :BOOL
423
- safe_attach_function :AddAccessDeniedAceEx, [ :pointer, :DWORD, :DWORD, :DWORD, :pointer ], :BOOL
424
- safe_attach_function :AdjustTokenPrivileges, [ :HANDLE, :BOOL, :pointer, :DWORD, :pointer, :PDWORD ], :BOOL
425
- safe_attach_function :ConvertSidToStringSidA, [ :pointer, :pointer ], :BOOL
426
- safe_attach_function :ConvertStringSidToSidW, [ :pointer, :pointer ], :BOOL
427
- safe_attach_function :DeleteAce, [ :pointer, :DWORD ], :BOOL
428
- safe_attach_function :DuplicateToken, [:HANDLE, :SECURITY_IMPERSONATION_LEVEL, :PHANDLE], :BOOL
429
- safe_attach_function :EqualSid, [ :pointer, :pointer ], :BOOL
418
+ safe_attach_function :AccessCheck, %i{pointer HANDLE DWORD pointer pointer pointer pointer pointer}, :BOOL
419
+ safe_attach_function :AddAce, %i{pointer DWORD DWORD LPVOID DWORD}, :BOOL
420
+ safe_attach_function :AddAccessAllowedAce, %i{pointer DWORD DWORD pointer}, :BOOL
421
+ safe_attach_function :AddAccessAllowedAceEx, %i{pointer DWORD DWORD DWORD pointer}, :BOOL
422
+ safe_attach_function :AddAccessDeniedAce, %i{pointer DWORD DWORD pointer}, :BOOL
423
+ safe_attach_function :AddAccessDeniedAceEx, %i{pointer DWORD DWORD DWORD pointer}, :BOOL
424
+ safe_attach_function :AdjustTokenPrivileges, %i{HANDLE BOOL pointer DWORD pointer PDWORD}, :BOOL
425
+ safe_attach_function :ConvertSidToStringSidA, %i{pointer pointer}, :BOOL
426
+ safe_attach_function :ConvertStringSidToSidW, %i{pointer pointer}, :BOOL
427
+ safe_attach_function :DeleteAce, %i{pointer DWORD}, :BOOL
428
+ safe_attach_function :DuplicateToken, %i{HANDLE SECURITY_IMPERSONATION_LEVEL PHANDLE}, :BOOL
429
+ safe_attach_function :EqualSid, %i{pointer pointer}, :BOOL
430
430
  safe_attach_function :FreeSid, [ :pointer ], :pointer
431
- safe_attach_function :GetAce, [ :pointer, :DWORD, :pointer ], :BOOL
432
- safe_attach_function :GetFileSecurityW, [:LPCWSTR, :DWORD, :pointer, :DWORD, :pointer], :BOOL
431
+ safe_attach_function :GetAce, %i{pointer DWORD pointer}, :BOOL
432
+ safe_attach_function :GetFileSecurityW, %i{LPCWSTR DWORD pointer DWORD pointer}, :BOOL
433
433
  safe_attach_function :GetLengthSid, [ :pointer ], :DWORD
434
- safe_attach_function :GetNamedSecurityInfoW, [ :LPWSTR, :SE_OBJECT_TYPE, :DWORD, :pointer, :pointer, :pointer, :pointer, :pointer ], :DWORD
435
- safe_attach_function :GetSecurityDescriptorControl, [ :pointer, :PWORD, :LPDWORD], :BOOL
436
- safe_attach_function :GetSecurityDescriptorDacl, [ :pointer, :LPBOOL, :pointer, :LPBOOL ], :BOOL
437
- safe_attach_function :GetSecurityDescriptorGroup, [ :pointer, :pointer, :LPBOOL], :BOOL
438
- safe_attach_function :GetSecurityDescriptorOwner, [ :pointer, :pointer, :LPBOOL], :BOOL
439
- safe_attach_function :GetSecurityDescriptorSacl, [ :pointer, :LPBOOL, :pointer, :LPBOOL ], :BOOL
440
- safe_attach_function :InitializeAcl, [ :pointer, :DWORD, :DWORD ], :BOOL
441
- safe_attach_function :InitializeSecurityDescriptor, [ :pointer, :DWORD ], :BOOL
434
+ safe_attach_function :GetNamedSecurityInfoW, %i{LPWSTR SE_OBJECT_TYPE DWORD pointer pointer pointer pointer pointer}, :DWORD
435
+ safe_attach_function :GetSecurityDescriptorControl, %i{pointer PWORD LPDWORD}, :BOOL
436
+ safe_attach_function :GetSecurityDescriptorDacl, %i{pointer LPBOOL pointer LPBOOL}, :BOOL
437
+ safe_attach_function :GetSecurityDescriptorGroup, %i{pointer pointer LPBOOL}, :BOOL
438
+ safe_attach_function :GetSecurityDescriptorOwner, %i{pointer pointer LPBOOL}, :BOOL
439
+ safe_attach_function :GetSecurityDescriptorSacl, %i{pointer LPBOOL pointer LPBOOL}, :BOOL
440
+ safe_attach_function :InitializeAcl, %i{pointer DWORD DWORD}, :BOOL
441
+ safe_attach_function :InitializeSecurityDescriptor, %i{pointer DWORD}, :BOOL
442
442
  safe_attach_function :IsValidAcl, [ :pointer ], :BOOL
443
443
  safe_attach_function :IsValidSecurityDescriptor, [ :pointer ], :BOOL
444
444
  safe_attach_function :IsValidSid, [ :pointer ], :BOOL
445
- safe_attach_function :LookupAccountNameW, [ :LPCWSTR, :LPCWSTR, :pointer, :LPDWORD, :LPWSTR, :LPDWORD, :pointer ], :BOOL
446
- safe_attach_function :LookupAccountSidW, [ :LPCWSTR, :pointer, :LPWSTR, :LPDWORD, :LPWSTR, :LPDWORD, :pointer ], :BOOL
447
- safe_attach_function :LookupPrivilegeNameW, [ :LPCWSTR, :PLUID, :LPWSTR, :LPDWORD ], :BOOL
448
- safe_attach_function :LookupPrivilegeDisplayNameW, [ :LPCWSTR, :LPCWSTR, :LPWSTR, :LPDWORD, :LPDWORD ], :BOOL
449
- safe_attach_function :LookupPrivilegeValueW, [ :LPCWSTR, :LPCWSTR, :PLUID ], :BOOL
450
- safe_attach_function :LsaAddAccountRights, [ :pointer, :pointer, :pointer, :ULONG ], :NTSTATUS
451
- safe_attach_function :LsaRemoveAccountRights, [ :pointer, :pointer, :BOOL, :pointer, :ULONG ], :NTSTATUS
445
+ safe_attach_function :LookupAccountNameW, %i{LPCWSTR LPCWSTR pointer LPDWORD LPWSTR LPDWORD pointer}, :BOOL
446
+ safe_attach_function :LookupAccountSidW, %i{LPCWSTR pointer LPWSTR LPDWORD LPWSTR LPDWORD pointer}, :BOOL
447
+ safe_attach_function :LookupPrivilegeNameW, %i{LPCWSTR PLUID LPWSTR LPDWORD}, :BOOL
448
+ safe_attach_function :LookupPrivilegeDisplayNameW, %i{LPCWSTR LPCWSTR LPWSTR LPDWORD LPDWORD}, :BOOL
449
+ safe_attach_function :LookupPrivilegeValueW, %i{LPCWSTR LPCWSTR PLUID}, :BOOL
450
+ safe_attach_function :LsaAddAccountRights, %i{pointer pointer pointer ULONG}, :NTSTATUS
451
+ safe_attach_function :LsaRemoveAccountRights, %i{pointer pointer BOOL pointer ULONG}, :NTSTATUS
452
452
  safe_attach_function :LsaClose, [ :LSA_HANDLE ], :NTSTATUS
453
- safe_attach_function :LsaEnumerateAccountRights, [ :LSA_HANDLE, :PSID, :PLSA_UNICODE_STRING, :PULONG ], :NTSTATUS
453
+ safe_attach_function :LsaEnumerateAccountRights, %i{LSA_HANDLE PSID PLSA_UNICODE_STRING PULONG}, :NTSTATUS
454
454
  safe_attach_function :LsaFreeMemory, [ :PVOID ], :NTSTATUS
455
455
  safe_attach_function :LsaNtStatusToWinError, [ :NTSTATUS ], :ULONG
456
- safe_attach_function :LsaOpenPolicy, [ :PLSA_UNICODE_STRING, :PLSA_OBJECT_ATTRIBUTES, :DWORD, :PLSA_HANDLE ], :NTSTATUS
457
- safe_attach_function :MakeAbsoluteSD, [ :pointer, :pointer, :LPDWORD, :pointer, :LPDWORD, :pointer, :LPDWORD, :pointer, :LPDWORD, :pointer, :LPDWORD], :BOOL
458
- safe_attach_function :MapGenericMask, [ :PDWORD, :PGENERICMAPPING ], :void
459
- safe_attach_function :OpenProcessToken, [ :HANDLE, :DWORD, :PHANDLE ], :BOOL
460
- safe_attach_function :QuerySecurityAccessMask, [ :DWORD, :LPDWORD ], :void
461
- safe_attach_function :SetFileSecurityW, [ :LPWSTR, :DWORD, :pointer ], :BOOL
462
- safe_attach_function :SetNamedSecurityInfoW, [ :LPWSTR, :SE_OBJECT_TYPE, :DWORD, :pointer, :pointer, :pointer, :pointer ], :DWORD
463
- safe_attach_function :SetSecurityAccessMask, [ :DWORD, :LPDWORD ], :void
464
- safe_attach_function :SetSecurityDescriptorDacl, [ :pointer, :BOOL, :pointer, :BOOL ], :BOOL
465
- safe_attach_function :SetSecurityDescriptorGroup, [ :pointer, :pointer, :BOOL ], :BOOL
466
- safe_attach_function :SetSecurityDescriptorOwner, [ :pointer, :pointer, :BOOL ], :BOOL
467
- safe_attach_function :SetSecurityDescriptorSacl, [ :pointer, :BOOL, :pointer, :BOOL ], :BOOL
468
- safe_attach_function :GetTokenInformation, [ :HANDLE, :TOKEN_INFORMATION_CLASS, :pointer, :DWORD, :PDWORD ], :BOOL
469
- safe_attach_function :LogonUserW, [:LPTSTR, :LPTSTR, :LPTSTR, :DWORD, :DWORD, :PHANDLE], :BOOL
456
+ safe_attach_function :LsaOpenPolicy, %i{PLSA_UNICODE_STRING PLSA_OBJECT_ATTRIBUTES DWORD PLSA_HANDLE}, :NTSTATUS
457
+ safe_attach_function :MakeAbsoluteSD, %i{pointer pointer LPDWORD pointer LPDWORD pointer LPDWORD pointer LPDWORD pointer LPDWORD}, :BOOL
458
+ safe_attach_function :MapGenericMask, %i{PDWORD PGENERICMAPPING}, :void
459
+ safe_attach_function :OpenProcessToken, %i{HANDLE DWORD PHANDLE}, :BOOL
460
+ safe_attach_function :QuerySecurityAccessMask, %i{DWORD LPDWORD}, :void
461
+ safe_attach_function :SetFileSecurityW, %i{LPWSTR DWORD pointer}, :BOOL
462
+ safe_attach_function :SetNamedSecurityInfoW, %i{LPWSTR SE_OBJECT_TYPE DWORD pointer pointer pointer pointer}, :DWORD
463
+ safe_attach_function :SetSecurityAccessMask, %i{DWORD LPDWORD}, :void
464
+ safe_attach_function :SetSecurityDescriptorDacl, %i{pointer BOOL pointer BOOL}, :BOOL
465
+ safe_attach_function :SetSecurityDescriptorGroup, %i{pointer pointer BOOL}, :BOOL
466
+ safe_attach_function :SetSecurityDescriptorOwner, %i{pointer pointer BOOL}, :BOOL
467
+ safe_attach_function :SetSecurityDescriptorSacl, %i{pointer BOOL pointer BOOL}, :BOOL
468
+ safe_attach_function :GetTokenInformation, %i{HANDLE TOKEN_INFORMATION_CLASS pointer DWORD PDWORD}, :BOOL
469
+ safe_attach_function :LogonUserW, %i{LPTSTR LPTSTR LPTSTR DWORD DWORD PHANDLE}, :BOOL
470
470
  safe_attach_function :ImpersonateLoggedOnUser, [:HANDLE], :BOOL
471
471
  safe_attach_function :RevertToSelf, [], :BOOL
472
472
 
@@ -56,8 +56,8 @@ HANDLE WINAPI CreateMutex(
56
56
  _In_opt_ LPCTSTR lpName
57
57
  );
58
58
  =end
59
- safe_attach_function :CreateMutexW, [ :LPSECURITY_ATTRIBUTES, :BOOL, :LPCTSTR ], :HANDLE
60
- safe_attach_function :CreateMutexA, [ :LPSECURITY_ATTRIBUTES, :BOOL, :LPCTSTR ], :HANDLE
59
+ safe_attach_function :CreateMutexW, %i{LPSECURITY_ATTRIBUTES BOOL LPCTSTR}, :HANDLE
60
+ safe_attach_function :CreateMutexA, %i{LPSECURITY_ATTRIBUTES BOOL LPCTSTR}, :HANDLE
61
61
 
62
62
  =begin
63
63
  DWORD WINAPI WaitForSingleObject(
@@ -65,7 +65,7 @@ DWORD WINAPI WaitForSingleObject(
65
65
  _In_ DWORD dwMilliseconds
66
66
  );
67
67
  =end
68
- safe_attach_function :WaitForSingleObject, [ :HANDLE, :DWORD ], :DWORD
68
+ safe_attach_function :WaitForSingleObject, %i{HANDLE DWORD}, :DWORD
69
69
 
70
70
  =begin
71
71
  BOOL WINAPI ReleaseMutex(
@@ -81,8 +81,8 @@ HANDLE WINAPI OpenMutex(
81
81
  _In_ LPCTSTR lpName
82
82
  );
83
83
  =end
84
- safe_attach_function :OpenMutexW, [ :DWORD, :BOOL, :LPCTSTR ], :HANDLE
85
- safe_attach_function :OpenMutexA, [ :DWORD, :BOOL, :LPCTSTR ], :HANDLE
84
+ safe_attach_function :OpenMutexW, %i{DWORD BOOL LPCTSTR}, :HANDLE
85
+ safe_attach_function :OpenMutexA, %i{DWORD BOOL LPCTSTR}, :HANDLE
86
86
  end
87
87
  end
88
88
  end
@@ -177,7 +177,7 @@ BOOL WINAPI GetProductInfo(
177
177
  __out PDWORD pdwReturnedProductType
178
178
  );
179
179
  =end
180
- safe_attach_function :GetProductInfo, [:DWORD, :DWORD, :DWORD, :DWORD, :PDWORD], :BOOL
180
+ safe_attach_function :GetProductInfo, %i{DWORD DWORD DWORD DWORD PDWORD}, :BOOL
181
181
 
182
182
  =begin
183
183
  int WINAPI GetSystemMetrics(
@@ -192,8 +192,8 @@ UINT WINAPI GetSystemWow64Directory(
192
192
  _In_ UINT uSize
193
193
  );
194
194
  =end
195
- safe_attach_function :GetSystemWow64DirectoryW, [:LPTSTR, :UINT], :UINT
196
- safe_attach_function :GetSystemWow64DirectoryA, [:LPTSTR, :UINT], :UINT
195
+ safe_attach_function :GetSystemWow64DirectoryW, %i{LPTSTR UINT}, :UINT
196
+ safe_attach_function :GetSystemWow64DirectoryA, %i{LPTSTR UINT}, :UINT
197
197
 
198
198
  =begin
199
199
  BOOL WINAPI Wow64DisableWow64FsRedirection(
@@ -220,8 +220,8 @@ LRESULT WINAPI SendMessageTimeout(
220
220
  _Out_opt_ PDWORD_PTR lpdwResult
221
221
  );
222
222
  =end
223
- safe_attach_function :SendMessageTimeoutW, [:HWND, :UINT, :WPARAM, :LPARAM, :UINT, :UINT, :PDWORD_PTR], :LRESULT
224
- safe_attach_function :SendMessageTimeoutA, [:HWND, :UINT, :WPARAM, :LPARAM, :UINT, :UINT, :PDWORD_PTR], :LRESULT
223
+ safe_attach_function :SendMessageTimeoutW, %i{HWND UINT WPARAM LPARAM UINT UINT PDWORD_PTR}, :LRESULT
224
+ safe_attach_function :SendMessageTimeoutA, %i{HWND UINT WPARAM LPARAM UINT UINT PDWORD_PTR}, :LRESULT
225
225
 
226
226
  =begin
227
227
  DWORD WINAPI ExpandEnvironmentStrings(
@@ -230,8 +230,8 @@ DWORD WINAPI ExpandEnvironmentStrings(
230
230
  _In_ DWORD nSize
231
231
  );
232
232
  =end
233
- safe_attach_function :ExpandEnvironmentStringsW, [:pointer, :pointer, :DWORD], :DWORD
234
- safe_attach_function :ExpandEnvironmentStringsA, [:pointer, :pointer, :DWORD], :DWORD
233
+ safe_attach_function :ExpandEnvironmentStringsW, %i{pointer pointer DWORD}, :DWORD
234
+ safe_attach_function :ExpandEnvironmentStringsA, %i{pointer pointer DWORD}, :DWORD
235
235
  end
236
236
  end
237
237
  end
@@ -101,7 +101,7 @@ BOOL IsTextUnicode(
101
101
  __inout LPINT lpiResult
102
102
  );
103
103
  =end
104
- safe_attach_function :IsTextUnicode, [:pointer, :int, :LPINT], :BOOL
104
+ safe_attach_function :IsTextUnicode, %i{pointer int LPINT}, :BOOL
105
105
 
106
106
  =begin
107
107
  int MultiByteToWideChar(
@@ -113,7 +113,7 @@ int MultiByteToWideChar(
113
113
  __in int cchWideChar
114
114
  );
115
115
  =end
116
- safe_attach_function :MultiByteToWideChar, [:UINT, :DWORD, :LPCSTR, :int, :LPWSTR, :int], :int
116
+ safe_attach_function :MultiByteToWideChar, %i{UINT DWORD LPCSTR int LPWSTR int}, :int
117
117
 
118
118
  =begin
119
119
  int WideCharToMultiByte(
@@ -127,7 +127,7 @@ int WideCharToMultiByte(
127
127
  __out LPBOOL lpUsedDefaultChar
128
128
  );
129
129
  =end
130
- safe_attach_function :WideCharToMultiByte, [:UINT, :DWORD, :LPCWSTR, :int, :LPSTR, :int, :LPCSTR, :LPBOOL], :int
130
+ safe_attach_function :WideCharToMultiByte, %i{UINT DWORD LPCWSTR int LPSTR int LPCSTR LPBOOL}, :int
131
131
 
132
132
  end
133
133
  end
@@ -17,9 +17,9 @@
17
17
  #
18
18
 
19
19
  if Chef::Platform.windows?
20
- if !defined? Chef::Win32EventLogLoaded
20
+ unless defined? Chef::Win32EventLogLoaded
21
21
  if defined? Windows::Constants
22
- [:INFINITE, :WAIT_FAILED, :FORMAT_MESSAGE_IGNORE_INSERTS, :ERROR_INSUFFICIENT_BUFFER].each do |c|
22
+ %i{INFINITE WAIT_FAILED FORMAT_MESSAGE_IGNORE_INSERTS ERROR_INSUFFICIENT_BUFFER}.each do |c|
23
23
  # These are redefined in 'win32/eventlog'
24
24
  Windows::Constants.send(:remove_const, c) if Windows::Constants.const_defined? c
25
25
  end
@@ -41,6 +41,7 @@ class Chef
41
41
  #
42
42
  def self.link(old_name, new_name)
43
43
  raise Errno::ENOENT, "(#{old_name}, #{new_name})" unless ::File.exist?(old_name) || ::File.symlink?(old_name)
44
+
44
45
  # TODO do a check for CreateHardLinkW and
45
46
  # raise NotImplemented exception on older Windows
46
47
  old_name = encode_path(old_name)
@@ -104,6 +105,7 @@ class Chef
104
105
  #
105
106
  def self.readlink(link_name)
106
107
  raise Errno::ENOENT, link_name unless ::File.exists?(link_name) || ::File.symlink?(link_name)
108
+
107
109
  symlink_file_handle(link_name) do |handle|
108
110
  # Go to DeviceIoControl to get the symlink information
109
111
  # http://msdn.microsoft.com/en-us/library/windows/desktop/aa364571(v=vs.85).aspx
@@ -180,7 +182,8 @@ class Chef
180
182
  Chef::ReservedNames::Win32::Security::STANDARD_RIGHTS_READ
181
183
  token = Chef::ReservedNames::Win32::Security.open_process_token(
182
184
  Chef::ReservedNames::Win32::Process.get_current_process,
183
- token_rights)
185
+ token_rights
186
+ )
184
187
  duplicate_token = token.duplicate_token(:SecurityImpersonation)
185
188
 
186
189
  mapping = Chef::ReservedNames::Win32::Security::GENERIC_MAPPING.new
@@ -190,7 +193,7 @@ class Chef
190
193
  mapping[:GenericAll] = Chef::ReservedNames::Win32::Security::FILE_ALL_ACCESS
191
194
 
192
195
  Chef::ReservedNames::Win32::Security.access_check(security_descriptor, duplicate_token,
193
- desired_access, mapping)
196
+ desired_access, mapping)
194
197
  end
195
198
 
196
199
  def self.delete_volume_mount_point(mount_point)
@@ -34,6 +34,7 @@ class Chef
34
34
  # http://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx
35
35
  def initialize(file_name)
36
36
  raise Errno::ENOENT, file_name unless ::File.exist?(file_name)
37
+
37
38
  @file_info = retrieve_file_info(file_name)
38
39
  end
39
40
 
@@ -28,25 +28,26 @@ class Chef
28
28
 
29
29
  def initialize(file_name)
30
30
  raise Errno::ENOENT, file_name unless ::File.exist?(file_name)
31
+
31
32
  @file_version_info = retrieve_file_version_info(file_name)
32
33
  end
33
34
 
34
35
  # defining method for each predefined version resource string
35
36
  # see https://msdn.microsoft.com/en-us/library/windows/desktop/ms647464(v=vs.85).aspx
36
- [
37
- :Comments,
38
- :CompanyName,
39
- :FileDescription,
40
- :FileVersion,
41
- :InternalName,
42
- :LegalCopyright,
43
- :LegalTrademarks,
44
- :OriginalFilename,
45
- :ProductName,
46
- :ProductVersion,
47
- :PrivateBuild,
48
- :SpecialBuild,
49
- ].each do |method|
37
+ %i{
38
+ Comments
39
+ CompanyName
40
+ FileDescription
41
+ FileVersion
42
+ InternalName
43
+ LegalCopyright
44
+ LegalTrademarks
45
+ OriginalFilename
46
+ ProductName
47
+ ProductVersion
48
+ PrivateBuild
49
+ SpecialBuild
50
+ }.each do |method|
50
51
  define_method method do
51
52
  begin
52
53
  get_version_info_string(method.to_s)