chef 15.1.36-universal-mingw32 → 15.2.20-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -29,12 +29,12 @@ class Chef
29
29
  introduced "14.0"
30
30
 
31
31
  property :font_name, String,
32
- description: "An optional property to set the name of the font to install if it differs from the resource block's name.",
33
- name_property: true
32
+ description: "An optional property to set the name of the font to install if it differs from the resource block's name.",
33
+ name_property: true
34
34
 
35
35
  property :source, String,
36
- description: "A local filesystem path or URI that is used to source the font file.",
37
- coerce: proc { |x| x =~ /^.:.*/ ? x.tr('\\', "/").gsub("//", "/") : x }
36
+ description: "A local filesystem path or URI that is used to source the font file.",
37
+ coerce: proc { |x| x =~ /^.:.*/ ? x.tr('\\', "/").gsub("//", "/") : x }
38
38
 
39
39
  action :install do
40
40
  description "Install a font to the system fonts directory."
@@ -49,11 +49,11 @@ class Chef
49
49
  # In the past we accepted return code 127 for an unknown reason and 42 because of a bug
50
50
  property :returns, [ String, Integer, Array ], default: [ 0 ], desired_state: false
51
51
  property :source, String,
52
- coerce: (proc do |s|
53
- unless s.nil?
54
- uri_scheme?(s) ? s : Chef::Util::PathHelper.canonical_path(s, false)
55
- end
56
- end)
52
+ coerce: (proc do |s|
53
+ unless s.nil?
54
+ uri_scheme?(s) ? s : Chef::Util::PathHelper.canonical_path(s, false)
55
+ end
56
+ end)
57
57
  property :checksum, String, desired_state: false
58
58
  property :remote_file_attributes, Hash, desired_state: false
59
59
  end
@@ -27,22 +27,22 @@ class Chef
27
27
  introduced "14.0"
28
28
 
29
29
  property :path, String,
30
- coerce: proc { |x| x.tr("/", '\\') },
31
- description: "An optional property to set the pagefile name if it differs from the resource block's name.",
32
- name_property: true
30
+ coerce: proc { |x| x.tr("/", '\\') },
31
+ description: "An optional property to set the pagefile name if it differs from the resource block's name.",
32
+ name_property: true
33
33
 
34
34
  property :system_managed, [TrueClass, FalseClass],
35
- description: "Configures whether the system manages the pagefile size."
35
+ description: "Configures whether the system manages the pagefile size."
36
36
 
37
37
  property :automatic_managed, [TrueClass, FalseClass],
38
- description: "Enable automatic management of pagefile initial and maximum size. Setting this to true ignores 'initial_size' and 'maximum_size' properties.",
39
- default: false
38
+ description: "Enable automatic management of pagefile initial and maximum size. Setting this to true ignores 'initial_size' and 'maximum_size' properties.",
39
+ default: false
40
40
 
41
41
  property :initial_size, Integer,
42
- description: "Initial size of the pagefile in megabytes."
42
+ description: "Initial size of the pagefile in megabytes."
43
43
 
44
44
  property :maximum_size, Integer,
45
- description: "Maximum size of the pagefile in megabytes."
45
+ description: "Maximum size of the pagefile in megabytes."
46
46
 
47
47
  action :set do
48
48
  description "Configures the default pagefile, creating if it doesn't exist."
@@ -87,6 +87,7 @@ class Chef
87
87
  # is set then this validation is not necessary / doesn't make sense at all
88
88
  def validate_name
89
89
  return if /^.:.*.sys/ =~ new_resource.path
90
+
90
91
  raise "#{new_resource.path} does not match the format DRIVE:\\path\\file.sys for pagefiles. Example: C:\\pagefile.sys"
91
92
  end
92
93
 
@@ -31,8 +31,8 @@ class Chef
31
31
  default_action :add
32
32
 
33
33
  property :path, String,
34
- description: "An optional property to set the path value if it differs from the resource block's name.",
35
- name_property: true
34
+ description: "An optional property to set the path value if it differs from the resource block's name.",
35
+ name_property: true
36
36
  end
37
37
  end
38
38
  end
@@ -31,37 +31,37 @@ class Chef
31
31
  introduced "14.0"
32
32
 
33
33
  property :device_id, String,
34
- description: "An optional property to set the printer queue name if it differs from the resource block's name. Example: 'HP LJ 5200 in fifth floor copy room'.",
35
- name_property: true
34
+ description: "An optional property to set the printer queue name if it differs from the resource block's name. Example: 'HP LJ 5200 in fifth floor copy room'.",
35
+ name_property: true
36
36
 
37
37
  property :comment, String,
38
- description: "Optional descriptor for the printer queue."
38
+ description: "Optional descriptor for the printer queue."
39
39
 
40
40
  property :default, [TrueClass, FalseClass],
41
- description: "Determines whether or not this should be the system's default printer.",
42
- default: false
41
+ description: "Determines whether or not this should be the system's default printer.",
42
+ default: false
43
43
 
44
44
  property :driver_name, String,
45
- description: "The exact name of printer driver installed on the system.",
46
- required: true
45
+ description: "The exact name of printer driver installed on the system.",
46
+ required: true
47
47
 
48
48
  property :location, String,
49
- description: "Printer location, such as 'Fifth floor copy room'."
49
+ description: "Printer location, such as 'Fifth floor copy room'."
50
50
 
51
51
  property :shared, [TrueClass, FalseClass],
52
- description: "Determines whether or not the printer is shared.",
53
- default: false
52
+ description: "Determines whether or not the printer is shared.",
53
+ default: false
54
54
 
55
55
  property :share_name, String,
56
- description: "The name used to identify the shared printer."
56
+ description: "The name used to identify the shared printer."
57
57
 
58
58
  property :ipv4_address, String,
59
- description: "The IPv4 address of the printer, such as '10.4.64.23'",
60
- validation_message: "The ipv4_address property must be in the IPv4 format of WWW.XXX.YYY.ZZZ",
61
- regex: Resolv::IPv4::Regex
59
+ description: "The IPv4 address of the printer, such as '10.4.64.23'",
60
+ validation_message: "The ipv4_address property must be in the IPv4 format of WWW.XXX.YYY.ZZZ",
61
+ regex: Resolv::IPv4::Regex
62
62
 
63
63
  property :exists, [TrueClass, FalseClass],
64
- skip_docs: true
64
+ skip_docs: true
65
65
 
66
66
  PRINTERS_REG_KEY = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\'.freeze unless defined?(PRINTERS_REG_KEY)
67
67
 
@@ -31,32 +31,32 @@ class Chef
31
31
  introduced "14.0"
32
32
 
33
33
  property :ipv4_address, String,
34
- name_property: true,
35
- regex: Resolv::IPv4::Regex,
36
- validation_message: "The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!",
37
- description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name."
34
+ name_property: true,
35
+ regex: Resolv::IPv4::Regex,
36
+ validation_message: "The ipv4_address property must be in the format of WWW.XXX.YYY.ZZZ!",
37
+ description: "An optional property for the IPv4 address of the printer if it differs from the resource block's name."
38
38
 
39
39
  property :port_name, String,
40
- description: "The port name."
40
+ description: "The port name."
41
41
 
42
42
  property :port_number, Integer,
43
- description: "The port number.",
44
- default: 9100
43
+ description: "The port number.",
44
+ default: 9100
45
45
 
46
46
  property :port_description, String,
47
- description: "The description of the port."
47
+ description: "The description of the port."
48
48
 
49
49
  property :snmp_enabled, [TrueClass, FalseClass],
50
- description: "Determines if SNMP is enabled on the port.",
51
- default: false
50
+ description: "Determines if SNMP is enabled on the port.",
51
+ default: false
52
52
 
53
53
  property :port_protocol, Integer,
54
- description: "The printer port protocol: 1 (RAW) or 2 (LPR).",
55
- validation_message: "port_protocol must be either 1 for RAW or 2 for LPR!",
56
- default: 1, equal_to: [1, 2]
54
+ description: "The printer port protocol: 1 (RAW) or 2 (LPR).",
55
+ validation_message: "port_protocol must be either 1 for RAW or 2 for LPR!",
56
+ default: 1, equal_to: [1, 2]
57
57
 
58
58
  property :exists, [TrueClass, FalseClass],
59
- skip_docs: true
59
+ skip_docs: true
60
60
 
61
61
  PORTS_REG_KEY = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\\'.freeze unless defined?(PORTS_REG_KEY)
62
62
 
@@ -41,7 +41,7 @@ class Chef
41
41
  public
42
42
 
43
43
  def architecture(arg = nil)
44
- assert_architecture_compatible!(arg) if ! arg.nil?
44
+ assert_architecture_compatible!(arg) unless arg.nil?
45
45
  result = set_or_return(
46
46
  :architecture,
47
47
  arg,
@@ -58,7 +58,7 @@ class Chef
58
58
  # - :manual
59
59
  # - :disabled
60
60
  # Reference: https://github.com/chef/win32-service/blob/ffi/lib/win32/windows/constants.rb#L49-L54
61
- property :startup_type, [Symbol], equal_to: [:automatic, :manual, :disabled], default: :automatic, coerce: proc { |x|
61
+ property :startup_type, [Symbol], equal_to: %i{automatic manual disabled}, default: :automatic, coerce: proc { |x|
62
62
  if x.is_a?(Integer)
63
63
  ALLOWED_START_TYPES.invert.fetch(x) do
64
64
  Chef::Log.warn("Unsupported startup_type #{x}, falling back to :automatic")
@@ -75,25 +75,25 @@ class Chef
75
75
  # 1 == delayed start is enabled
76
76
  # 0 == NO delayed start
77
77
  property :delayed_start, [TrueClass, FalseClass],
78
- introduced: "14.0",
79
- default: false, coerce: proc { |x|
80
- if x.is_a?(Integer)
81
- x == 0 ? false : true
82
- else
83
- x
84
- end
85
- }
78
+ introduced: "14.0",
79
+ default: false, coerce: proc { |x|
80
+ if x.is_a?(Integer)
81
+ x == 0 ? false : true
82
+ else
83
+ x
84
+ end
85
+ }
86
86
 
87
87
  # https://github.com/chef/win32-service/blob/ffi/lib/win32/windows/constants.rb#L43-L47
88
88
  property :error_control, Integer, default: SERVICE_ERROR_NORMAL
89
89
 
90
90
  property :binary_path_name, String,
91
- introduced: "14.0",
92
- description: "The fully qualified path to the service binary file. The path can also include arguments for an auto-start service. This is required for ':create' and ':configure' actions"
91
+ introduced: "14.0",
92
+ description: "The fully qualified path to the service binary file. The path can also include arguments for an auto-start service. This is required for ':create' and ':configure' actions"
93
93
 
94
94
  property :load_order_group, String,
95
- introduced: "14.0",
96
- description: "The names of the load ordering group of which this service is a member. Don't set this property if the service does not belong to a group."
95
+ introduced: "14.0",
96
+ description: "The names of the load ordering group of which this service is a member. Don't set this property if the service does not belong to a group."
97
97
 
98
98
  # A pointer to a double null-terminated array of null-separated names of
99
99
  # services or load ordering groups that the system must start before this
@@ -102,11 +102,11 @@ class Chef
102
102
  # at least one member of the group is running after an attempt to start
103
103
  # all members of the group.
104
104
  property :dependencies, [String, Array],
105
- introduced: "14.0"
105
+ introduced: "14.0"
106
106
 
107
107
  property :description, String,
108
- description: "Description of the service.",
109
- introduced: "14.0"
108
+ description: "Description of the service.",
109
+ introduced: "14.0"
110
110
 
111
111
  property :run_as_user, String, default: "LocalSystem"
112
112
  property :run_as_password, String, default: ""
@@ -33,65 +33,65 @@ class Chef
33
33
 
34
34
  # Specifies a name for the SMB share. The name may be composed of any valid file name characters, but must be less than 80 characters long. The names pipe and mailslot are reserved for use by the computer.
35
35
  property :share_name, String,
36
- description: "An optional property to set the share name if it differs from the resource block's name.",
37
- name_property: true
36
+ description: "An optional property to set the share name if it differs from the resource block's name.",
37
+ name_property: true
38
38
 
39
39
  # Specifies the path of the location of the folder to share. The path must be fully qualified. Relative paths or paths that contain wildcard characters are not permitted.
40
40
  property :path, String,
41
- description: "The path of the folder to share. Required when creating. If the share already exists on a different path then it is deleted and re-created."
41
+ description: "The path of the folder to share. Required when creating. If the share already exists on a different path then it is deleted and re-created."
42
42
 
43
43
  # Specifies an optional description of the SMB share. A description of the share is displayed by running the Get-SmbShare cmdlet. The description may not contain more than 256 characters.
44
44
  property :description, String,
45
- description: "The description to be applied to the share.",
46
- default: ""
45
+ description: "The description to be applied to the share.",
46
+ default: ""
47
47
 
48
48
  # Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess, ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
49
49
  property :full_users, Array,
50
- description: "The users that should have 'Full control' permissions on the share in domain\\username format.",
51
- default: lazy { [] }, coerce: proc { |u| u.sort }
50
+ description: "The users that should have 'Full control' permissions on the share in domain\\username format.",
51
+ default: lazy { [] }, coerce: proc { |u| u.sort }
52
52
 
53
53
  # Specifies which users are granted modify permission to access the share
54
54
  property :change_users, Array,
55
- description: "The users that should have 'modify' permission on the share in domain\\username format.",
56
- default: lazy { [] }, coerce: proc { |u| u.sort }
55
+ description: "The users that should have 'modify' permission on the share in domain\\username format.",
56
+ default: lazy { [] }, coerce: proc { |u| u.sort }
57
57
 
58
58
  # Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
59
59
  property :read_users, Array,
60
- description: "The users that should have 'read' permission on the share in domain\\username format.",
61
- default: lazy { [] }, coerce: proc { |u| u.sort }
60
+ description: "The users that should have 'read' permission on the share in domain\\username format.",
61
+ default: lazy { [] }, coerce: proc { |u| u.sort }
62
62
 
63
63
  # Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares are persistent, and non-temporary.
64
64
  property :temporary, [TrueClass, FalseClass],
65
- description: "The lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer.",
66
- default: false
65
+ description: "The lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer.",
66
+ default: false
67
67
 
68
68
  # Specifies the scope name of the share.
69
69
  property :scope_name, String,
70
- description: "The scope name of the share.",
71
- default: "*"
70
+ description: "The scope name of the share.",
71
+ default: "*"
72
72
 
73
73
  # Specifies the continuous availability time-out for the share.
74
74
  property :ca_timeout, Integer,
75
- description: "The continuous availability time-out for the share.",
76
- default: 0
75
+ description: "The continuous availability time-out for the share.",
76
+ default: 0
77
77
 
78
78
  # Indicates that the share is continuously available.
79
79
  property :continuously_available, [TrueClass, FalseClass],
80
- description: "Indicates that the share is continuously available.",
81
- default: false
80
+ description: "Indicates that the share is continuously available.",
81
+ default: false
82
82
 
83
83
  # Specifies the caching mode of the offline files for the SMB share.
84
84
  # property :caching_mode, String, equal_to: %w(None Manual Documents Programs BranchCache)
85
85
 
86
86
  # Specifies the maximum number of concurrently connected users that the new SMB share may accommodate. If this parameter is set to zero (0), then the number of users is unlimited.
87
87
  property :concurrent_user_limit, Integer,
88
- description: "The maximum number of concurrently connected users the share can accommodate.",
89
- default: 0
88
+ description: "The maximum number of concurrently connected users the share can accommodate.",
89
+ default: 0
90
90
 
91
91
  # Indicates that the share is encrypted.
92
92
  property :encrypt_data, [TrueClass, FalseClass],
93
- description: "Indicates that the share is encrypted.",
94
- default: false
93
+ description: "Indicates that the share is encrypted.",
94
+ default: false
95
95
 
96
96
  # Specifies which files and folders in the SMB share are visible to users. AccessBased: SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By default, access-based enumeration is disabled for new SMB shares. Unrestricted: SMB displays files and folders to a user even when the user does not have permission to access the items.
97
97
  # property :folder_enumeration_mode, String, equal_to: %(AccessBased Unrestricted)
@@ -160,6 +160,7 @@ class Chef
160
160
 
161
161
  json_results.each do |perm|
162
162
  next unless perm["AccessControlType"] == 0 # allow
163
+
163
164
  case perm["AccessRight"]
164
165
  when 0 then f_users << stripped_account(perm["AccountName"]) # 0 full control
165
166
  when 1 then c_users << stripped_account(perm["AccountName"]) # 1 == change
@@ -172,7 +173,7 @@ class Chef
172
173
  # local names are returned from Get-SmbShareAccess in the full format MACHINE\\NAME
173
174
  # but users of this resource would simply say NAME so we need to strip the values for comparison
174
175
  def stripped_account(name)
175
- name.slice!("#{node['hostname']}\\")
176
+ name.slice!("#{node["hostname"]}\\")
176
177
  name
177
178
  end
178
179
 
@@ -218,6 +219,7 @@ class Chef
218
219
  def different_path?
219
220
  return false if current_resource.nil? # going from nil to something isn't different for our concerns
220
221
  return false if current_resource.path == Chef::Util::PathHelper.cleanpath(new_resource.path)
222
+
221
223
  true
222
224
  end
223
225
 
@@ -274,6 +276,7 @@ class Chef
274
276
  # set permissions for a brand new share OR
275
277
  # update permissions if the current state and desired state differ
276
278
  next unless permissions_need_update?(perm_type)
279
+
277
280
  grant_command = "Grant-SmbShareAccess -Name '#{new_resource.share_name}' -AccountName \"#{new_resource.send("#{perm_type}_users").join('","')}\" -Force -AccessRight #{perm_type}"
278
281
 
279
282
  Chef::Log.debug("Running '#{grant_command}' to update the share permissions")
@@ -28,23 +28,23 @@ class Chef
28
28
  introduced "14.0"
29
29
 
30
30
  property :shortcut_name, String,
31
- description: "An optional property to set the shortcut name if it differs from the resource block's name.",
32
- name_property: true
31
+ description: "An optional property to set the shortcut name if it differs from the resource block's name.",
32
+ name_property: true
33
33
 
34
34
  property :target, String,
35
- description: "The destination that the shortcut links to."
35
+ description: "The destination that the shortcut links to."
36
36
 
37
37
  property :arguments, String,
38
- description: "Arguments to pass to the target when the shortcut is executed."
38
+ description: "Arguments to pass to the target when the shortcut is executed."
39
39
 
40
40
  property :description, String,
41
- description: "The description of the shortcut"
41
+ description: "The description of the shortcut"
42
42
 
43
43
  property :cwd, String,
44
- description: "Working directory to use when the target is executed."
44
+ description: "Working directory to use when the target is executed."
45
45
 
46
46
  property :iconlocation, String,
47
- description: "Icon to use for the shortcut. Accepts the format of 'path, index', where index is the icon file to use. See https://msdn.microsoft.com/en-us/library/3s9bx7at.aspx for details"
47
+ description: "Icon to use for the shortcut. Accepts the format of 'path, index', where index is the icon file to use. See https://msdn.microsoft.com/en-us/library/3s9bx7at.aspx for details"
48
48
 
49
49
  load_current_value do |desired|
50
50
  require "win32ole" if RUBY_PLATFORM =~ /mswin|mingw32|windows/
@@ -31,98 +31,98 @@ class Chef
31
31
  allowed_actions :create, :delete, :run, :end, :enable, :disable, :change
32
32
  default_action :create
33
33
 
34
- property :task_name, String, regex: [/\A[^\/\:\*\?\<\>\|]+\z/],
34
+ property :task_name, String, regex: [%r{\A[^/\:\*\?\<\>\|]+\z}],
35
35
  description: "An optional property to set the task name if it differs from the resource block's name. Example: 'Task Name' or '/Task Name'",
36
36
  name_property: true
37
37
 
38
38
  property :command, String,
39
- description: "The command to be executed by the windows scheduled task."
39
+ description: "The command to be executed by the windows scheduled task."
40
40
 
41
41
  property :cwd, String,
42
- description: "The directory the task will be run from."
42
+ description: "The directory the task will be run from."
43
43
 
44
44
  property :user, String,
45
- description: "The user to run the task as.",
46
- default: lazy { Chef::ReservedNames::Win32::Security::SID.LocalSystem.account_simple_name if Chef::Platform.windows? },
47
- default_description: "The localized SYSTEM user for the node."
45
+ description: "The user to run the task as.",
46
+ default: lazy { Chef::ReservedNames::Win32::Security::SID.LocalSystem.account_simple_name if Chef::Platform.windows? },
47
+ default_description: "The localized SYSTEM user for the node."
48
48
 
49
49
  property :password, String,
50
- description: "The user’s password. The user property must be set if using this property."
50
+ description: "The user’s password. The user property must be set if using this property."
51
51
 
52
- property :run_level, Symbol, equal_to: [:highest, :limited],
52
+ property :run_level, Symbol, equal_to: %i{highest limited},
53
53
  description: "Run with ':limited' or ':highest' privileges.",
54
54
  default: :limited
55
55
 
56
56
  property :force, [TrueClass, FalseClass],
57
- description: "When used with create, will update the task.",
58
- default: false
57
+ description: "When used with create, will update the task.",
58
+ default: false
59
59
 
60
60
  property :interactive_enabled, [TrueClass, FalseClass],
61
- description: "Allow task to run interactively or non-interactively. Requires user and password to also be set.",
62
- default: false
61
+ description: "Allow task to run interactively or non-interactively. Requires user and password to also be set.",
62
+ default: false
63
63
 
64
64
  property :frequency_modifier, [Integer, String],
65
- default: 1
66
-
67
- property :frequency, Symbol, equal_to: [:minute,
68
- :hourly,
69
- :daily,
70
- :weekly,
71
- :monthly,
72
- :once,
73
- :on_logon,
74
- :onstart,
75
- :on_idle,
76
- :none],
65
+ default: 1
66
+
67
+ property :frequency, Symbol, equal_to: %i{minute
68
+ hourly
69
+ daily
70
+ weekly
71
+ monthly
72
+ once
73
+ on_logon
74
+ onstart
75
+ on_idle
76
+ none},
77
77
  description: "The frequency with which to run the task."
78
78
 
79
79
  property :start_day, String,
80
- description: "Specifies the first date on which the task runs in MM/DD/YYYY format."
80
+ description: "Specifies the first date on which the task runs in MM/DD/YYYY format."
81
81
 
82
82
  property :start_time, String,
83
- description: "Specifies the start time to run the task, in HH:mm format."
83
+ description: "Specifies the start time to run the task, in HH:mm format."
84
84
 
85
85
  property :day, [String, Integer],
86
- description: "The day(s) on which the task runs."
86
+ description: "The day(s) on which the task runs."
87
87
 
88
88
  property :months, String,
89
- description: "The Months of the year on which the task runs, such as: 'JAN, FEB' or '\*'. Multiple months should be comma delimited. e.g. 'Jan, Feb, Mar, Dec'."
89
+ description: "The Months of the year on which the task runs, such as: 'JAN, FEB' or '\*'. Multiple months should be comma delimited. e.g. 'Jan, Feb, Mar, Dec'."
90
90
 
91
91
  property :idle_time, Integer,
92
- description: "For :on_idle frequency, the time (in minutes) without user activity that must pass to trigger the task, from 1 - 999."
92
+ description: "For :on_idle frequency, the time (in minutes) without user activity that must pass to trigger the task, from 1 - 999."
93
93
 
94
94
  property :random_delay, [String, Integer],
95
- description: "Delays the task up to a given time (in seconds)."
95
+ description: "Delays the task up to a given time (in seconds)."
96
96
 
97
97
  property :execution_time_limit, [String, Integer],
98
- description: "The maximum time (in seconds) the task will run.",
99
- default: "PT72H" # 72 hours in ISO8601 duration format
98
+ description: "The maximum time (in seconds) the task will run.",
99
+ default: "PT72H" # 72 hours in ISO8601 duration format
100
100
 
101
101
  property :minutes_duration, [String, Integer],
102
- description: ""
102
+ description: ""
103
103
 
104
104
  property :minutes_interval, [String, Integer],
105
- description: ""
105
+ description: ""
106
106
 
107
107
  property :priority, Integer,
108
- description: "Use to set Priority Levels range from 0 to 10.",
109
- default: 7, callbacks: { "should be in range of 0 to 10" => proc { |v| v >= 0 && v <= 10 } }
108
+ description: "Use to set Priority Levels range from 0 to 10.",
109
+ default: 7, callbacks: { "should be in range of 0 to 10" => proc { |v| v >= 0 && v <= 10 } }
110
110
 
111
111
  property :disallow_start_if_on_batteries, [TrueClass, FalseClass],
112
- introduced: "14.4", default: false,
113
- description: "Disallow start of the task if the system is running on battery power."
112
+ introduced: "14.4", default: false,
113
+ description: "Disallow start of the task if the system is running on battery power."
114
114
 
115
115
  property :stop_if_going_on_batteries, [TrueClass, FalseClass],
116
- introduced: "14.4", default: false,
117
- description: "Scheduled task option when system is switching on battery."
116
+ introduced: "14.4", default: false,
117
+ description: "Scheduled task option when system is switching on battery."
118
118
 
119
119
  property :description, String,
120
- introduced: "14.7",
121
- description: "The task description."
120
+ introduced: "14.7",
121
+ description: "The task description."
122
122
 
123
123
  property :start_when_available, [TrueClass, FalseClass],
124
- introduced: "15.0", default: false,
125
- description: "To start the task at any time after its scheduled time has passed."
124
+ introduced: "15.0", default: false,
125
+ description: "To start the task at any time after its scheduled time has passed."
126
126
 
127
127
  attr_accessor :exists, :task, :command_arguments
128
128
 
@@ -140,6 +140,7 @@ class Chef
140
140
  if execution_time_limit
141
141
  execution_time_limit(259200) if execution_time_limit == "PT72H"
142
142
  raise ArgumentError, "Invalid value passed for `execution_time_limit`. Please pass seconds as an Integer (e.g. 60) or a String with numeric values only (e.g. '60')." unless numeric_value_in_string?(execution_time_limit)
143
+
143
144
  execution_time_limit(sec_to_min(execution_time_limit))
144
145
  end
145
146
 
@@ -174,7 +175,7 @@ class Chef
174
175
  end
175
176
 
176
177
  def validate_frequency(frequency)
177
- if frequency.nil? || !([:minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :on_idle, :none].include?(frequency))
178
+ if frequency.nil? || !(%i{minute hourly daily weekly monthly once on_logon onstart on_idle none}.include?(frequency))
178
179
  raise ArgumentError, "Frequency needs to be provided. Valid frequencies are :minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :on_idle, :none."
179
180
  end
180
181
  end
@@ -200,7 +201,7 @@ class Chef
200
201
  end
201
202
 
202
203
  def validate_random_delay(random_delay, frequency)
203
- if [:on_logon, :onstart, :on_idle, :none].include? frequency
204
+ if %i{on_logon onstart on_idle none}.include? frequency
204
205
  raise ArgumentError, "`random_delay` property is supported only for frequency :once, :minute, :hourly, :daily, :weekly and :monthly"
205
206
  end
206
207
 
@@ -215,7 +216,7 @@ class Chef
215
216
 
216
217
  # make sure the start_day is in MM/DD/YYYY format: http://rubular.com/r/cgjHemtWl5
217
218
  if start_day
218
- raise ArgumentError, "`start_day` property must be in the MM/DD/YYYY format." unless /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$/ =~ start_day
219
+ raise ArgumentError, "`start_day` property must be in the MM/DD/YYYY format." unless %r{^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$} =~ start_day
219
220
  end
220
221
  end
221
222
 
@@ -255,7 +256,7 @@ class Chef
255
256
  alias non_system_user? password_required?
256
257
 
257
258
  def validate_create_frequency_modifier(frequency, frequency_modifier)
258
- if ([:on_logon, :onstart, :on_idle, :none].include?(frequency)) && ( frequency_modifier != 1)
259
+ if (%i{on_logon onstart on_idle none}.include?(frequency)) && ( frequency_modifier != 1)
259
260
  raise ArgumentError, "frequency_modifier property not supported with frequency :#{frequency}"
260
261
  end
261
262
 
@@ -287,7 +288,7 @@ class Chef
287
288
  end
288
289
 
289
290
  def validate_create_day(day, frequency, frequency_modifier)
290
- raise ArgumentError, "day property is only valid for tasks that run monthly or weekly" unless [:weekly, :monthly].include?(frequency)
291
+ raise ArgumentError, "day property is only valid for tasks that run monthly or weekly" unless %i{weekly monthly}.include?(frequency)
291
292
 
292
293
  # This has been verified with schtask.exe https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks#d-dayday--
293
294
  # verified with earlier code if day "*" is given with frequency it raised exception Invalid value for /D option
@@ -301,7 +302,7 @@ class Chef
301
302
  else
302
303
  days.map! { |day| day.to_s.strip.downcase }
303
304
  unless (days - VALID_WEEK_DAYS).empty?
304
- raise ArgumentError, "day property invalid. Only valid values are: #{VALID_WEEK_DAYS.map(&:upcase).join(', ')}. Multiple values must be separated by a comma."
305
+ raise ArgumentError, "day property invalid. Only valid values are: #{VALID_WEEK_DAYS.map(&:upcase).join(", ")}. Multiple values must be separated by a comma."
305
306
  end
306
307
  end
307
308
  end
@@ -309,11 +310,12 @@ class Chef
309
310
 
310
311
  def validate_create_months(months, frequency)
311
312
  raise ArgumentError, "months property is only valid for tasks that run monthly" if frequency != :monthly
313
+
312
314
  if months.is_a?(String)
313
315
  months = months.split(",")
314
316
  months.map! { |month| month.strip.upcase }
315
317
  unless (months - VALID_MONTHS).empty?
316
- raise ArgumentError, "months property invalid. Only valid values are: #{VALID_MONTHS.join(', ')}. Multiple values must be separated by a comma."
318
+ raise ArgumentError, "months property invalid. Only valid values are: #{VALID_MONTHS.join(", ")}. Multiple values must be separated by a comma."
317
319
  end
318
320
  end
319
321
  end