chef 14.2.0-universal-mingw32 → 14.3.37-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 (845) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +13 -12
  3. data/Gemfile +15 -0
  4. data/README.md +36 -40
  5. data/Rakefile +1 -1
  6. data/VERSION +1 -1
  7. data/bin/chef-apply +0 -1
  8. data/bin/chef-client +1 -2
  9. data/bin/chef-service-manager +7 -8
  10. data/bin/chef-shell +1 -6
  11. data/bin/chef-solo +1 -2
  12. data/bin/chef-windows-service +1 -2
  13. data/bin/knife +1 -2
  14. data/chef-universal-mingw32.gemspec +2 -2
  15. data/chef.gemspec +1 -1
  16. data/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll +0 -0
  17. data/distro/ruby_bin_folder/Chef.PowerShell.dll +0 -0
  18. data/distro/{powershell/chef → ruby_bin_folder}/Newtonsoft.Json.dll +0 -0
  19. data/ext/win32-eventlog/Rakefile +14 -14
  20. data/lib/chef/api_client.rb +10 -10
  21. data/lib/chef/api_client/registration.rb +5 -5
  22. data/lib/chef/api_client_v1.rb +15 -15
  23. data/lib/chef/application.rb +1 -1
  24. data/lib/chef/application/apply.rb +56 -56
  25. data/lib/chef/application/client.rb +169 -170
  26. data/lib/chef/application/exit_code.rb +2 -2
  27. data/lib/chef/application/knife.rb +79 -78
  28. data/lib/chef/application/solo.rb +120 -120
  29. data/lib/chef/application/windows_service.rb +21 -21
  30. data/lib/chef/application/windows_service_manager.rb +39 -39
  31. data/lib/chef/audit/audit_event_proxy.rb +6 -6
  32. data/lib/chef/audit/audit_reporter.rb +2 -2
  33. data/lib/chef/audit/control_group_data.rb +15 -15
  34. data/lib/chef/audit/runner.rb +1 -1
  35. data/lib/chef/chef_class.rb +16 -8
  36. data/lib/chef/chef_fs/chef_fs_data_store.rb +8 -8
  37. data/lib/chef/chef_fs/config.rb +2 -2
  38. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +2 -2
  41. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  42. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +1 -1
  44. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
  45. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  46. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
  47. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -1
  48. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +3 -3
  49. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -2
  50. data/lib/chef/chef_fs/file_system/repository/directory.rb +3 -3
  51. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +3 -3
  52. data/lib/chef/chef_fs/knife.rb +6 -6
  53. data/lib/chef/chef_fs/parallelizer.rb +1 -1
  54. data/lib/chef/client.rb +3 -0
  55. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  56. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  57. data/lib/chef/cookbook/manifest_v0.rb +1 -1
  58. data/lib/chef/cookbook/metadata.rb +61 -61
  59. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  60. data/lib/chef/cookbook/synchronizer.rb +2 -2
  61. data/lib/chef/cookbook_loader.rb +3 -3
  62. data/lib/chef/cookbook_manifest.rb +5 -5
  63. data/lib/chef/cookbook_site_streaming_uploader.rb +5 -5
  64. data/lib/chef/cookbook_uploader.rb +2 -2
  65. data/lib/chef/cookbook_version.rb +2 -2
  66. data/lib/chef/data_bag.rb +3 -3
  67. data/lib/chef/data_bag_item.rb +2 -2
  68. data/lib/chef/deprecated.rb +110 -176
  69. data/lib/chef/dsl/audit.rb +1 -1
  70. data/lib/chef/dsl/definitions.rb +1 -1
  71. data/lib/chef/dsl/platform_introspection.rb +5 -0
  72. data/lib/chef/dsl/reboot_pending.rb +1 -1
  73. data/lib/chef/encrypted_data_bag_item.rb +2 -2
  74. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  75. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  76. data/lib/chef/environment.rb +10 -10
  77. data/lib/chef/event_loggers/windows_eventlog.rb +21 -21
  78. data/lib/chef/exceptions.rb +3 -3
  79. data/lib/chef/file_cache.rb +18 -16
  80. data/lib/chef/formatters/base.rb +9 -10
  81. data/lib/chef/formatters/doc.rb +12 -16
  82. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +51 -51
  83. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +10 -10
  84. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +13 -13
  85. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +39 -39
  86. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
  87. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +16 -16
  88. data/lib/chef/formatters/indentable_output_stream.rb +4 -4
  89. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -3
  90. data/lib/chef/handler/json_file.rb +1 -1
  91. data/lib/chef/http/auth_credentials.rb +2 -2
  92. data/lib/chef/http/authenticator.rb +6 -6
  93. data/lib/chef/http/cookie_manager.rb +1 -1
  94. data/lib/chef/http/http_request.rb +3 -3
  95. data/lib/chef/http/json_input.rb +1 -1
  96. data/lib/chef/http/json_to_model_output.rb +1 -1
  97. data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
  98. data/lib/chef/json_compat.rb +1 -1
  99. data/lib/chef/key.rb +9 -9
  100. data/lib/chef/knife.rb +5 -5
  101. data/lib/chef/knife/bootstrap.rb +116 -116
  102. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  103. data/lib/chef/knife/client_bulk_delete.rb +3 -3
  104. data/lib/chef/knife/client_create.rb +17 -17
  105. data/lib/chef/knife/client_delete.rb +3 -3
  106. data/lib/chef/knife/client_list.rb +3 -3
  107. data/lib/chef/knife/client_reregister.rb +3 -3
  108. data/lib/chef/knife/config_get.rb +126 -0
  109. data/lib/chef/knife/configure.rb +25 -25
  110. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  111. data/lib/chef/knife/cookbook_delete.rb +2 -2
  112. data/lib/chef/knife/cookbook_download.rb +11 -11
  113. data/lib/chef/knife/cookbook_list.rb +6 -6
  114. data/lib/chef/knife/cookbook_metadata.rb +7 -8
  115. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -1
  116. data/lib/chef/knife/cookbook_show.rb +16 -16
  117. data/lib/chef/knife/cookbook_site_download.rb +11 -10
  118. data/lib/chef/knife/cookbook_site_install.rb +24 -24
  119. data/lib/chef/knife/cookbook_site_list.rb +8 -8
  120. data/lib/chef/knife/cookbook_site_search.rb +6 -5
  121. data/lib/chef/knife/cookbook_site_share.rb +20 -19
  122. data/lib/chef/knife/cookbook_site_show.rb +6 -5
  123. data/lib/chef/knife/cookbook_site_unshare.rb +5 -5
  124. data/lib/chef/knife/cookbook_test.rb +8 -8
  125. data/lib/chef/knife/cookbook_upload.rb +32 -32
  126. data/lib/chef/knife/core/bootstrap_context.rb +7 -7
  127. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  128. data/lib/chef/knife/core/generic_presenter.rb +7 -7
  129. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  130. data/lib/chef/knife/core/node_presenter.rb +37 -37
  131. data/lib/chef/knife/core/status_presenter.rb +11 -11
  132. data/lib/chef/knife/data_bag_from_file.rb +4 -4
  133. data/lib/chef/knife/data_bag_list.rb +3 -3
  134. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  135. data/lib/chef/knife/delete.rb +29 -13
  136. data/lib/chef/knife/deps.rb +25 -9
  137. data/lib/chef/knife/diff.rb +30 -14
  138. data/lib/chef/knife/download.rb +39 -23
  139. data/lib/chef/knife/edit.rb +19 -3
  140. data/lib/chef/knife/environment_compare.rb +8 -8
  141. data/lib/chef/knife/environment_create.rb +3 -3
  142. data/lib/chef/knife/environment_from_file.rb +5 -3
  143. data/lib/chef/knife/environment_list.rb +3 -3
  144. data/lib/chef/knife/exec.rb +7 -7
  145. data/lib/chef/knife/key_create.rb +4 -4
  146. data/lib/chef/knife/key_create_base.rb +12 -12
  147. data/lib/chef/knife/key_edit.rb +5 -5
  148. data/lib/chef/knife/key_edit_base.rb +15 -15
  149. data/lib/chef/knife/key_list.rb +3 -3
  150. data/lib/chef/knife/key_list_base.rb +9 -9
  151. data/lib/chef/knife/list.rb +35 -19
  152. data/lib/chef/knife/node_edit.rb +4 -4
  153. data/lib/chef/knife/node_list.rb +3 -3
  154. data/lib/chef/knife/node_run_list_add.rb +6 -6
  155. data/lib/chef/knife/node_show.rb +6 -6
  156. data/lib/chef/knife/osc_user_create.rb +13 -13
  157. data/lib/chef/knife/osc_user_list.rb +3 -3
  158. data/lib/chef/knife/osc_user_reregister.rb +3 -3
  159. data/lib/chef/knife/raw.rb +32 -16
  160. data/lib/chef/knife/role_create.rb +3 -3
  161. data/lib/chef/knife/role_env_run_list_add.rb +4 -3
  162. data/lib/chef/knife/role_env_run_list_remove.rb +2 -2
  163. data/lib/chef/knife/role_env_run_list_replace.rb +1 -0
  164. data/lib/chef/knife/role_list.rb +3 -3
  165. data/lib/chef/knife/role_run_list_add.rb +4 -3
  166. data/lib/chef/knife/role_run_list_remove.rb +2 -2
  167. data/lib/chef/knife/role_run_list_replace.rb +1 -0
  168. data/lib/chef/knife/search.rb +23 -23
  169. data/lib/chef/knife/serve.rb +22 -6
  170. data/lib/chef/knife/show.rb +19 -3
  171. data/lib/chef/knife/ssh.rb +68 -68
  172. data/lib/chef/knife/ssl_check.rb +31 -31
  173. data/lib/chef/knife/ssl_fetch.rb +5 -5
  174. data/lib/chef/knife/status.rb +11 -11
  175. data/lib/chef/knife/upload.rb +41 -25
  176. data/lib/chef/knife/user_create.rb +28 -28
  177. data/lib/chef/knife/user_delete.rb +9 -9
  178. data/lib/chef/knife/user_edit.rb +9 -9
  179. data/lib/chef/knife/user_list.rb +3 -3
  180. data/lib/chef/knife/user_reregister.rb +12 -12
  181. data/lib/chef/knife/user_show.rb +9 -9
  182. data/lib/chef/knife/xargs.rb +52 -36
  183. data/lib/chef/log.rb +10 -8
  184. data/lib/chef/log/winevt.rb +21 -21
  185. data/lib/chef/mixin/api_version_request_handling.rb +6 -6
  186. data/lib/chef/mixin/deep_merge.rb +1 -1
  187. data/lib/chef/mixin/deprecation.rb +2 -2
  188. data/lib/chef/mixin/params_validate.rb +9 -9
  189. data/lib/chef/mixin/properties.rb +2 -2
  190. data/lib/chef/mixin/securable.rb +11 -11
  191. data/lib/chef/mixin/shell_out.rb +138 -82
  192. data/lib/chef/mixin/wide_string.rb +5 -23
  193. data/lib/chef/mixin/windows_env_helper.rb +1 -1
  194. data/lib/chef/mixin/xml_escape.rb +3 -3
  195. data/lib/chef/node.rb +15 -15
  196. data/lib/chef/node/attribute.rb +6 -6
  197. data/lib/chef/node/attribute_collections.rb +2 -2
  198. data/lib/chef/node/mixin/deep_merge_cache.rb +1 -1
  199. data/lib/chef/node/mixin/immutablize_array.rb +2 -2
  200. data/lib/chef/node/mixin/immutablize_hash.rb +2 -2
  201. data/lib/chef/node_map.rb +77 -3
  202. data/lib/chef/org.rb +8 -8
  203. data/lib/chef/policy_builder/expand_node_object.rb +1 -1
  204. data/lib/chef/powershell.rb +9 -7
  205. data/lib/chef/property.rb +14 -14
  206. data/lib/chef/provider/apt_update.rb +2 -2
  207. data/lib/chef/provider/cron.rb +3 -3
  208. data/lib/chef/provider/cron/unix.rb +2 -2
  209. data/lib/chef/provider/dsc_resource.rb +1 -1
  210. data/lib/chef/provider/dsc_script.rb +8 -8
  211. data/lib/chef/provider/execute.rb +1 -1
  212. data/lib/chef/provider/group/aix.rb +6 -6
  213. data/lib/chef/provider/group/dscl.rb +1 -1
  214. data/lib/chef/provider/group/gpasswd.rb +4 -4
  215. data/lib/chef/provider/group/groupadd.rb +3 -3
  216. data/lib/chef/provider/group/groupmod.rb +6 -6
  217. data/lib/chef/provider/group/pw.rb +4 -4
  218. data/lib/chef/provider/group/suse.rb +2 -2
  219. data/lib/chef/provider/group/usermod.rb +1 -1
  220. data/lib/chef/provider/http_request.rb +6 -6
  221. data/lib/chef/provider/ifconfig.rb +4 -4
  222. data/lib/chef/provider/ifconfig/aix.rb +1 -1
  223. data/lib/chef/provider/mdadm.rb +1 -1
  224. data/lib/chef/provider/mount/mount.rb +1 -1
  225. data/lib/chef/provider/mount/windows.rb +7 -7
  226. data/lib/chef/provider/package.rb +3 -18
  227. data/lib/chef/provider/package/apt.rb +4 -4
  228. data/lib/chef/provider/package/bff.rb +9 -9
  229. data/lib/chef/provider/package/chocolatey.rb +7 -7
  230. data/lib/chef/provider/package/dnf.rb +2 -2
  231. data/lib/chef/provider/package/dpkg.rb +6 -6
  232. data/lib/chef/provider/package/freebsd/base.rb +2 -2
  233. data/lib/chef/provider/package/freebsd/pkg.rb +6 -6
  234. data/lib/chef/provider/package/freebsd/pkgng.rb +5 -5
  235. data/lib/chef/provider/package/freebsd/port.rb +4 -4
  236. data/lib/chef/provider/package/homebrew.rb +1 -1
  237. data/lib/chef/provider/package/ips.rb +6 -6
  238. data/lib/chef/provider/package/macports.rb +6 -6
  239. data/lib/chef/provider/package/msu.rb +1 -1
  240. data/lib/chef/provider/package/openbsd.rb +5 -5
  241. data/lib/chef/provider/package/pacman.rb +4 -4
  242. data/lib/chef/provider/package/paludis.rb +3 -3
  243. data/lib/chef/provider/package/portage.rb +5 -5
  244. data/lib/chef/provider/package/powershell.rb +6 -2
  245. data/lib/chef/provider/package/rpm.rb +10 -10
  246. data/lib/chef/provider/package/rubygems.rb +4 -4
  247. data/lib/chef/provider/package/smartos.rb +4 -4
  248. data/lib/chef/provider/package/solaris.rb +9 -9
  249. data/lib/chef/provider/package/windows.rb +4 -3
  250. data/lib/chef/provider/package/yum.rb +2 -2
  251. data/lib/chef/provider/package/zypper.rb +4 -4
  252. data/lib/chef/provider/powershell_script.rb +73 -73
  253. data/lib/chef/provider/reboot.rb +4 -4
  254. data/lib/chef/provider/registry_key.rb +4 -4
  255. data/lib/chef/provider/remote_file/cache_control_data.rb +2 -2
  256. data/lib/chef/provider/remote_file/sftp.rb +1 -1
  257. data/lib/chef/provider/resource_update.rb +1 -1
  258. data/lib/chef/provider/route.rb +2 -2
  259. data/lib/chef/provider/service/openbsd.rb +3 -3
  260. data/lib/chef/provider/service/redhat.rb +1 -1
  261. data/lib/chef/provider/service/simple.rb +1 -0
  262. data/lib/chef/provider/service/solaris.rb +1 -1
  263. data/lib/chef/provider/service/systemd.rb +2 -2
  264. data/lib/chef/provider/service/windows.rb +17 -17
  265. data/lib/chef/provider/subversion.rb +3 -3
  266. data/lib/chef/provider/systemd_unit.rb +2 -2
  267. data/lib/chef/provider/template/content.rb +1 -1
  268. data/lib/chef/provider/user/aix.rb +6 -6
  269. data/lib/chef/provider/user/dscl.rb +6 -6
  270. data/lib/chef/provider/user/linux.rb +6 -6
  271. data/lib/chef/provider/user/pw.rb +5 -5
  272. data/lib/chef/provider/user/solaris.rb +6 -6
  273. data/lib/chef/provider/user/useradd.rb +7 -7
  274. data/lib/chef/provider/windows_env.rb +6 -6
  275. data/lib/chef/provider/windows_task.rb +22 -24
  276. data/lib/chef/resource.rb +26 -4
  277. data/lib/chef/resource/chef_handler.rb +2 -0
  278. data/lib/chef/resource/chocolatey_config.rb +83 -0
  279. data/lib/chef/resource/chocolatey_source.rb +95 -0
  280. data/lib/chef/resource/cron.rb +5 -5
  281. data/lib/chef/resource/dsc_script.rb +12 -11
  282. data/lib/chef/resource/execute.rb +1 -1
  283. data/lib/chef/resource/file/verification.rb +1 -1
  284. data/lib/chef/resource/freebsd_package.rb +3 -1
  285. data/lib/chef/resource/group.rb +2 -2
  286. data/lib/chef/resource/homebrew_package.rb +2 -1
  287. data/lib/chef/resource/homebrew_tap.rb +1 -1
  288. data/lib/chef/resource/hostname.rb +23 -7
  289. data/lib/chef/resource/http_request.rb +6 -3
  290. data/lib/chef/resource/ifconfig.rb +57 -17
  291. data/lib/chef/resource/ips_package.rb +3 -1
  292. data/lib/chef/resource/kernel_module.rb +129 -0
  293. data/lib/chef/resource/launchd.rb +205 -98
  294. data/lib/chef/resource/log.rb +7 -2
  295. data/lib/chef/resource/mdadm.rb +29 -8
  296. data/lib/chef/resource/ohai.rb +2 -0
  297. data/lib/chef/resource/ohai_hint.rb +5 -3
  298. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  299. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  300. data/lib/chef/resource/paludis_package.rb +1 -1
  301. data/lib/chef/resource/portage_package.rb +2 -0
  302. data/lib/chef/resource/powershell_package.rb +2 -0
  303. data/lib/chef/resource/powershell_package_source.rb +165 -0
  304. data/lib/chef/resource/powershell_script.rb +2 -2
  305. data/lib/chef/resource/registry_key.rb +1 -1
  306. data/lib/chef/resource/remote_directory.rb +3 -3
  307. data/lib/chef/resource/remote_file.rb +2 -2
  308. data/lib/chef/resource/resource_notification.rb +16 -16
  309. data/lib/chef/resource/rhsm_errata.rb +1 -1
  310. data/lib/chef/resource/rhsm_errata_level.rb +1 -1
  311. data/lib/chef/resource/rhsm_register.rb +4 -4
  312. data/lib/chef/resource/rhsm_repo.rb +2 -2
  313. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  314. data/lib/chef/resource/script.rb +1 -1
  315. data/lib/chef/resource/service.rb +18 -18
  316. data/lib/chef/resource/ssh_known_hosts_entry.rb +146 -0
  317. data/lib/chef/resource/sudo.rb +4 -4
  318. data/lib/chef/resource/support/ssh_known_hosts.erb +3 -0
  319. data/lib/chef/resource/sysctl.rb +9 -5
  320. data/lib/chef/resource/template.rb +1 -1
  321. data/lib/chef/resource/user.rb +15 -15
  322. data/lib/chef/resource/windows_feature_dism.rb +10 -9
  323. data/lib/chef/resource/windows_feature_powershell.rb +24 -13
  324. data/lib/chef/resource/windows_script.rb +1 -1
  325. data/lib/chef/resource/windows_service.rb +2 -2
  326. data/lib/chef/resource/windows_task.rb +3 -3
  327. data/lib/chef/resource_definition.rb +1 -1
  328. data/lib/chef/resource_inspector.rb +1 -0
  329. data/lib/chef/resource_reporter.rb +4 -4
  330. data/lib/chef/resources.rb +5 -0
  331. data/lib/chef/role.rb +8 -8
  332. data/lib/chef/run_context.rb +8 -8
  333. data/lib/chef/run_list/run_list_expansion.rb +6 -6
  334. data/lib/chef/run_list/run_list_item.rb +1 -1
  335. data/lib/chef/run_list/versioned_recipe_list.rb +3 -3
  336. data/lib/chef/run_status.rb +10 -10
  337. data/lib/chef/shell.rb +60 -60
  338. data/lib/chef/shell/ext.rb +151 -151
  339. data/lib/chef/shell/shell_session.rb +2 -2
  340. data/lib/chef/user.rb +11 -11
  341. data/lib/chef/user_v1.rb +26 -26
  342. data/lib/chef/util/backup.rb +2 -2
  343. data/lib/chef/util/diff.rb +1 -1
  344. data/lib/chef/util/dsc/configuration_generator.rb +11 -11
  345. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  346. data/lib/chef/util/file_edit.rb +14 -14
  347. data/lib/chef/util/powershell/cmdlet.rb +4 -4
  348. data/lib/chef/util/selinux.rb +2 -2
  349. data/lib/chef/util/windows/net_group.rb +1 -1
  350. data/lib/chef/util/windows/net_use.rb +3 -3
  351. data/lib/chef/util/windows/net_user.rb +12 -12
  352. data/lib/chef/util/windows/volume.rb +2 -2
  353. data/lib/chef/version.rb +3 -3
  354. data/lib/chef/version_constraint.rb +3 -3
  355. data/lib/chef/win32/api.rb +6 -6
  356. data/lib/chef/win32/api/error.rb +2 -2
  357. data/lib/chef/win32/api/file.rb +12 -12
  358. data/lib/chef/win32/api/net.rb +58 -58
  359. data/lib/chef/win32/registry.rb +8 -8
  360. data/lib/chef/win32/security.rb +6 -6
  361. data/lib/chef/win32/security/securable_object.rb +10 -10
  362. data/lib/chef/win32/unicode.rb +6 -0
  363. data/lib/chef/win32/version.rb +16 -16
  364. data/spec/functional/audit/rspec_formatter_spec.rb +1 -1
  365. data/spec/functional/audit/runner_spec.rb +1 -1
  366. data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
  367. data/spec/functional/dsl/registry_helper_spec.rb +3 -3
  368. data/spec/functional/http/simple_spec.rb +1 -1
  369. data/spec/functional/knife/exec_spec.rb +1 -1
  370. data/spec/functional/knife/ssh_spec.rb +2 -2
  371. data/spec/functional/mixin/shell_out_spec.rb +8 -4
  372. data/spec/functional/rebooter_spec.rb +6 -6
  373. data/spec/functional/resource/aixinit_service_spec.rb +2 -2
  374. data/spec/functional/resource/apt_package_spec.rb +17 -17
  375. data/spec/functional/resource/bash_spec.rb +1 -1
  376. data/spec/functional/resource/bff_spec.rb +1 -1
  377. data/spec/functional/resource/cron_spec.rb +1 -1
  378. data/spec/functional/resource/dnf_package_spec.rb +7 -7
  379. data/spec/functional/resource/dsc_script_spec.rb +94 -94
  380. data/spec/functional/resource/execute_spec.rb +4 -4
  381. data/spec/functional/resource/file_spec.rb +1 -1
  382. data/spec/functional/resource/git_spec.rb +19 -19
  383. data/spec/functional/resource/ifconfig_spec.rb +5 -5
  384. data/spec/functional/resource/link_spec.rb +1 -1
  385. data/spec/functional/resource/mount_spec.rb +2 -2
  386. data/spec/functional/resource/powershell_script_spec.rb +13 -13
  387. data/spec/functional/resource/reboot_spec.rb +3 -3
  388. data/spec/functional/resource/registry_spec.rb +82 -82
  389. data/spec/functional/resource/remote_file_spec.rb +2 -2
  390. data/spec/functional/resource/rpm_spec.rb +1 -1
  391. data/spec/functional/resource/template_spec.rb +5 -5
  392. data/spec/functional/resource/user/dscl_spec.rb +3 -3
  393. data/spec/functional/resource/windows_env_spec.rb +1 -1
  394. data/spec/functional/resource/windows_service_spec.rb +1 -1
  395. data/spec/functional/resource/windows_task_spec.rb +92 -38
  396. data/spec/functional/resource/yum_package_spec.rb +8 -8
  397. data/spec/functional/run_lock_spec.rb +4 -4
  398. data/spec/functional/shell_spec.rb +1 -1
  399. data/spec/functional/util/powershell/cmdlet_spec.rb +7 -7
  400. data/spec/functional/version_spec.rb +1 -1
  401. data/spec/functional/win32/crypto_spec.rb +9 -9
  402. data/spec/functional/win32/registry_spec.rb +66 -66
  403. data/spec/integration/client/client_spec.rb +219 -219
  404. data/spec/integration/client/exit_code_spec.rb +19 -19
  405. data/spec/integration/client/ipv6_spec.rb +36 -36
  406. data/spec/integration/knife/chef_fs_data_store_spec.rb +130 -130
  407. data/spec/integration/knife/chef_repo_path_spec.rb +418 -418
  408. data/spec/integration/knife/chef_repository_file_system_spec.rb +35 -35
  409. data/spec/integration/knife/chefignore_spec.rb +88 -88
  410. data/spec/integration/knife/client_bulk_delete_spec.rb +49 -49
  411. data/spec/integration/knife/client_create_spec.rb +5 -5
  412. data/spec/integration/knife/client_delete_spec.rb +13 -13
  413. data/spec/integration/knife/client_key_delete_spec.rb +2 -2
  414. data/spec/integration/knife/client_key_list_spec.rb +4 -4
  415. data/spec/integration/knife/client_list_spec.rb +8 -8
  416. data/spec/integration/knife/common_options_spec.rb +31 -31
  417. data/spec/integration/knife/config_get_spec.rb +183 -0
  418. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +38 -38
  419. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +14 -14
  420. data/spec/integration/knife/cookbook_download_spec.rb +12 -12
  421. data/spec/integration/knife/cookbook_list_spec.rb +8 -8
  422. data/spec/integration/knife/cookbook_show_spec.rb +81 -81
  423. data/spec/integration/knife/cookbook_upload_spec.rb +24 -24
  424. data/spec/integration/knife/data_bag_delete_spec.rb +8 -8
  425. data/spec/integration/knife/data_bag_from_file_spec.rb +47 -47
  426. data/spec/integration/knife/data_bag_list_spec.rb +4 -4
  427. data/spec/integration/knife/data_bag_show_spec.rb +7 -7
  428. data/spec/integration/knife/delete_spec.rb +593 -593
  429. data/spec/integration/knife/deps_spec.rb +185 -185
  430. data/spec/integration/knife/diff_spec.rb +116 -116
  431. data/spec/integration/knife/download_spec.rb +510 -510
  432. data/spec/integration/knife/environment_compare_spec.rb +15 -15
  433. data/spec/integration/knife/environment_from_file_spec.rb +59 -59
  434. data/spec/integration/knife/environment_list_spec.rb +4 -4
  435. data/spec/integration/knife/environment_show_spec.rb +25 -25
  436. data/spec/integration/knife/list_spec.rb +731 -731
  437. data/spec/integration/knife/node_bulk_delete_spec.rb +8 -8
  438. data/spec/integration/knife/node_delete_spec.rb +6 -6
  439. data/spec/integration/knife/node_environment_set_spec.rb +3 -3
  440. data/spec/integration/knife/node_from_file_spec.rb +16 -16
  441. data/spec/integration/knife/node_list_spec.rb +5 -5
  442. data/spec/integration/knife/raw_spec.rb +117 -117
  443. data/spec/integration/knife/role_bulk_delete_spec.rb +8 -8
  444. data/spec/integration/knife/role_delete_spec.rb +6 -6
  445. data/spec/integration/knife/role_from_file_spec.rb +42 -42
  446. data/spec/integration/knife/role_list_spec.rb +5 -5
  447. data/spec/integration/knife/role_show_spec.rb +9 -9
  448. data/spec/integration/knife/show_spec.rb +57 -57
  449. data/spec/integration/knife/upload_spec.rb +396 -396
  450. data/spec/integration/recipes/accumulator_spec.rb +2 -2
  451. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +8 -8
  452. data/spec/integration/recipes/lwrp_spec.rb +12 -12
  453. data/spec/integration/recipes/notifies_spec.rb +167 -167
  454. data/spec/integration/recipes/notifying_block_spec.rb +2 -2
  455. data/spec/integration/recipes/remote_directory.rb +1 -1
  456. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +99 -99
  457. data/spec/integration/recipes/resource_load_spec.rb +8 -8
  458. data/spec/integration/solo/solo_spec.rb +40 -40
  459. data/spec/scripts/ssl-serve.rb +12 -12
  460. data/spec/spec_helper.rb +73 -73
  461. data/spec/stress/win32/file_spec.rb +2 -2
  462. data/spec/stress/win32/security_spec.rb +2 -2
  463. data/spec/support/platform_helpers.rb +1 -1
  464. data/spec/support/shared/context/client.rb +25 -25
  465. data/spec/support/shared/functional/securable_resource.rb +13 -13
  466. data/spec/support/shared/functional/securable_resource_with_reporting.rb +6 -6
  467. data/spec/support/shared/functional/win32_service.rb +5 -5
  468. data/spec/support/shared/functional/windows_script.rb +3 -3
  469. data/spec/support/shared/integration/app_server_support.rb +3 -3
  470. data/spec/support/shared/integration/integration_helper.rb +2 -2
  471. data/spec/support/shared/integration/knife_support.rb +9 -3
  472. data/spec/support/shared/unit/api_error_inspector.rb +6 -6
  473. data/spec/support/shared/unit/api_versioning.rb +2 -2
  474. data/spec/support/shared/unit/execute_resource.rb +2 -2
  475. data/spec/support/shared/unit/provider/file.rb +12 -12
  476. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +34 -34
  477. data/spec/support/shared/unit/user_and_client_shared.rb +3 -3
  478. data/spec/tiny_server.rb +8 -8
  479. data/spec/unit/api_client/registration_spec.rb +30 -30
  480. data/spec/unit/api_client_spec.rb +6 -6
  481. data/spec/unit/api_client_v1_spec.rb +6 -6
  482. data/spec/unit/application/apply_spec.rb +4 -4
  483. data/spec/unit/application/client_spec.rb +11 -11
  484. data/spec/unit/application/knife_spec.rb +3 -3
  485. data/spec/unit/application/solo_spec.rb +5 -5
  486. data/spec/unit/application_spec.rb +11 -11
  487. data/spec/unit/audit/audit_event_proxy_spec.rb +48 -48
  488. data/spec/unit/audit/audit_reporter_spec.rb +51 -55
  489. data/spec/unit/audit/control_group_data_spec.rb +20 -20
  490. data/spec/unit/audit/runner_spec.rb +2 -2
  491. data/spec/unit/chef_class_spec.rb +120 -0
  492. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  493. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +3 -3
  494. data/spec/unit/chef_fs/diff_spec.rb +45 -45
  495. data/spec/unit/chef_fs/file_pattern_spec.rb +2 -2
  496. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +2 -2
  497. data/spec/unit/chef_fs/file_system_spec.rb +8 -8
  498. data/spec/unit/chef_fs/parallelizer.rb +12 -12
  499. data/spec/unit/client_spec.rb +15 -15
  500. data/spec/unit/config_fetcher_spec.rb +23 -23
  501. data/spec/unit/config_spec.rb +2 -2
  502. data/spec/unit/cookbook/metadata_spec.rb +81 -81
  503. data/spec/unit/cookbook/synchronizer_spec.rb +171 -171
  504. data/spec/unit/cookbook_loader_spec.rb +10 -5
  505. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +6 -6
  506. data/spec/unit/cookbook_uploader_spec.rb +8 -8
  507. data/spec/unit/cookbook_version_file_specificity_spec.rb +135 -135
  508. data/spec/unit/daemon_spec.rb +4 -4
  509. data/spec/unit/data_bag_item_spec.rb +3 -3
  510. data/spec/unit/data_bag_spec.rb +1 -1
  511. data/spec/unit/data_collector/resource_report_spec.rb +1 -1
  512. data/spec/unit/data_collector_spec.rb +4 -3
  513. data/spec/unit/deprecated_spec.rb +18 -12
  514. data/spec/unit/dsl/audit_spec.rb +1 -1
  515. data/spec/unit/dsl/platform_introspection_spec.rb +16 -16
  516. data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
  517. data/spec/unit/environment_spec.rb +16 -16
  518. data/spec/unit/file_access_control_spec.rb +8 -8
  519. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  520. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +26 -26
  521. data/spec/unit/formatters/error_description_spec.rb +39 -39
  522. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +16 -16
  523. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  524. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +1 -1
  525. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +1 -1
  526. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +1 -1
  527. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +5 -5
  528. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +4 -4
  529. data/spec/unit/handler/json_file_spec.rb +1 -1
  530. data/spec/unit/http/api_versions_spec.rb +1 -1
  531. data/spec/unit/http/authenticator_spec.rb +17 -17
  532. data/spec/unit/http/ssl_policies_spec.rb +1 -1
  533. data/spec/unit/http/validate_content_length_spec.rb +2 -2
  534. data/spec/unit/key_spec.rb +12 -12
  535. data/spec/unit/knife/bootstrap/client_builder_spec.rb +3 -3
  536. data/spec/unit/knife/client_bulk_delete_spec.rb +1 -1
  537. data/spec/unit/knife/client_delete_spec.rb +1 -1
  538. data/spec/unit/knife/client_reregister_spec.rb +1 -1
  539. data/spec/unit/knife/configure_client_spec.rb +4 -4
  540. data/spec/unit/knife/configure_spec.rb +1 -1
  541. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  542. data/spec/unit/knife/cookbook_delete_spec.rb +4 -4
  543. data/spec/unit/knife/cookbook_download_spec.rb +21 -21
  544. data/spec/unit/knife/cookbook_list_spec.rb +7 -7
  545. data/spec/unit/knife/cookbook_show_spec.rb +24 -24
  546. data/spec/unit/knife/cookbook_site_download_spec.rb +23 -23
  547. data/spec/unit/knife/cookbook_site_install_spec.rb +4 -4
  548. data/spec/unit/knife/cookbook_site_share_spec.rb +10 -10
  549. data/spec/unit/knife/cookbook_site_unshare_spec.rb +2 -2
  550. data/spec/unit/knife/cookbook_upload_spec.rb +19 -19
  551. data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -37
  552. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +20 -20
  553. data/spec/unit/knife/core/object_loader_spec.rb +1 -1
  554. data/spec/unit/knife/core/ui_spec.rb +55 -55
  555. data/spec/unit/knife/data_bag_create_spec.rb +2 -2
  556. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  557. data/spec/unit/knife/data_bag_secret_options_spec.rb +5 -5
  558. data/spec/unit/knife/environment_from_file_spec.rb +1 -1
  559. data/spec/unit/knife/key_create_spec.rb +4 -4
  560. data/spec/unit/knife/key_delete_spec.rb +3 -3
  561. data/spec/unit/knife/key_edit_spec.rb +3 -3
  562. data/spec/unit/knife/key_list_spec.rb +3 -3
  563. data/spec/unit/knife/key_show_spec.rb +3 -3
  564. data/spec/unit/knife/node_delete_spec.rb +1 -1
  565. data/spec/unit/knife/node_edit_spec.rb +7 -7
  566. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  567. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  568. data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
  569. data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
  570. data/spec/unit/knife/role_bulk_delete_spec.rb +1 -1
  571. data/spec/unit/knife/role_create_spec.rb +1 -1
  572. data/spec/unit/knife/role_delete_spec.rb +1 -1
  573. data/spec/unit/knife/role_env_run_list_add_spec.rb +4 -4
  574. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  575. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  576. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  577. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  578. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  579. data/spec/unit/knife/role_run_list_add_spec.rb +4 -4
  580. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  581. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  582. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  583. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  584. data/spec/unit/knife/ssh_spec.rb +25 -25
  585. data/spec/unit/knife/ssl_check_spec.rb +23 -23
  586. data/spec/unit/knife/ssl_fetch_spec.rb +11 -11
  587. data/spec/unit/knife/user_delete_spec.rb +1 -1
  588. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  589. data/spec/unit/knife_spec.rb +26 -26
  590. data/spec/unit/log/syslog_spec.rb +1 -1
  591. data/spec/unit/lwrp_spec.rb +4 -4
  592. data/spec/unit/mash_spec.rb +3 -3
  593. data/spec/unit/mixin/api_version_request_handling_spec.rb +16 -16
  594. data/spec/unit/mixin/checksum_spec.rb +1 -1
  595. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +8 -8
  596. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  597. data/spec/unit/mixin/params_validate_spec.rb +96 -96
  598. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  599. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  600. data/spec/unit/mixin/securable_spec.rb +27 -27
  601. data/spec/unit/mixin/shell_out_spec.rb +286 -132
  602. data/spec/unit/mixin/user_context_spec.rb +1 -1
  603. data/spec/unit/mixin/xml_escape_spec.rb +1 -1
  604. data/spec/unit/node/attribute_spec.rb +10 -10
  605. data/spec/unit/node/vivid_mash_spec.rb +3 -3
  606. data/spec/unit/node_map_spec.rb +71 -3
  607. data/spec/unit/node_spec.rb +15 -15
  608. data/spec/unit/org_spec.rb +2 -2
  609. data/spec/unit/platform/query_helpers_spec.rb +26 -26
  610. data/spec/unit/policy_builder/expand_node_object_spec.rb +4 -4
  611. data/spec/unit/policy_builder/policyfile_spec.rb +29 -29
  612. data/spec/unit/property_spec.rb +5 -5
  613. data/spec/unit/provider/apt_repository_spec.rb +19 -19
  614. data/spec/unit/provider/cookbook_file/content_spec.rb +1 -1
  615. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  616. data/spec/unit/provider/cron/unix_spec.rb +12 -12
  617. data/spec/unit/provider/cron_spec.rb +279 -279
  618. data/spec/unit/provider/dsc_resource_spec.rb +6 -6
  619. data/spec/unit/provider/execute_spec.rb +2 -2
  620. data/spec/unit/provider/file/content_spec.rb +1 -1
  621. data/spec/unit/provider/file_spec.rb +1 -1
  622. data/spec/unit/provider/git_spec.rb +123 -123
  623. data/spec/unit/provider/group/dscl_spec.rb +18 -18
  624. data/spec/unit/provider/group/gpasswd_spec.rb +7 -7
  625. data/spec/unit/provider/group/groupadd_spec.rb +7 -7
  626. data/spec/unit/provider/group/groupmod_spec.rb +13 -13
  627. data/spec/unit/provider/group/pw_spec.rb +4 -4
  628. data/spec/unit/provider/group/suse_spec.rb +2 -2
  629. data/spec/unit/provider/group/usermod_spec.rb +4 -4
  630. data/spec/unit/provider/group_spec.rb +3 -3
  631. data/spec/unit/provider/ifconfig/aix_spec.rb +17 -17
  632. data/spec/unit/provider/ifconfig/debian_spec.rb +16 -16
  633. data/spec/unit/provider/ifconfig_spec.rb +16 -16
  634. data/spec/unit/provider/launchd_spec.rb +52 -52
  635. data/spec/unit/provider/link_spec.rb +7 -7
  636. data/spec/unit/provider/mdadm_spec.rb +3 -3
  637. data/spec/unit/provider/mount/aix_spec.rb +39 -39
  638. data/spec/unit/provider/mount/mount_spec.rb +26 -26
  639. data/spec/unit/provider/mount/solaris_spec.rb +2 -2
  640. data/spec/unit/provider/mount/windows_spec.rb +6 -6
  641. data/spec/unit/provider/ohai_spec.rb +9 -9
  642. data/spec/unit/provider/osx_profile_spec.rb +1 -1
  643. data/spec/unit/provider/package/apt_spec.rb +186 -186
  644. data/spec/unit/provider/package/bff_spec.rb +36 -36
  645. data/spec/unit/provider/package/cab_spec.rb +58 -58
  646. data/spec/unit/provider/package/chocolatey_spec.rb +34 -34
  647. data/spec/unit/provider/package/dpkg_spec.rb +33 -33
  648. data/spec/unit/provider/package/freebsd/pkg_spec.rb +35 -35
  649. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +22 -22
  650. data/spec/unit/provider/package/freebsd/port_spec.rb +21 -21
  651. data/spec/unit/provider/package/homebrew_spec.rb +4 -4
  652. data/spec/unit/provider/package/ips_spec.rb +94 -94
  653. data/spec/unit/provider/package/macports_spec.rb +23 -23
  654. data/spec/unit/provider/package/msu_spec.rb +44 -44
  655. data/spec/unit/provider/package/openbsd_spec.rb +19 -19
  656. data/spec/unit/provider/package/pacman_spec.rb +50 -50
  657. data/spec/unit/provider/package/paludis_spec.rb +33 -33
  658. data/spec/unit/provider/package/portage_spec.rb +25 -25
  659. data/spec/unit/provider/package/powershell_spec.rb +98 -85
  660. data/spec/unit/provider/package/rpm_spec.rb +21 -21
  661. data/spec/unit/provider/package/rubygems_spec.rb +71 -71
  662. data/spec/unit/provider/package/smartos_spec.rb +21 -21
  663. data/spec/unit/provider/package/solaris_spec.rb +38 -38
  664. data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
  665. data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
  666. data/spec/unit/provider/package/windows_spec.rb +11 -4
  667. data/spec/unit/provider/package/zypper_spec.rb +42 -46
  668. data/spec/unit/provider/package_spec.rb +2 -2
  669. data/spec/unit/provider/powershell_script_spec.rb +1 -1
  670. data/spec/unit/provider/registry_key_spec.rb +22 -22
  671. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +7 -7
  672. data/spec/unit/provider/remote_file/content_spec.rb +4 -4
  673. data/spec/unit/provider/remote_file/fetcher_spec.rb +5 -5
  674. data/spec/unit/provider/remote_file/ftp_spec.rb +1 -1
  675. data/spec/unit/provider/remote_file/http_spec.rb +1 -1
  676. data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
  677. data/spec/unit/provider/remote_file/network_file_spec.rb +3 -3
  678. data/spec/unit/provider/remote_file/sftp_spec.rb +2 -2
  679. data/spec/unit/provider/remote_file_spec.rb +1 -1
  680. data/spec/unit/provider/script_spec.rb +1 -1
  681. data/spec/unit/provider/service/aix_service_spec.rb +8 -8
  682. data/spec/unit/provider/service/aixinit_service_spec.rb +3 -3
  683. data/spec/unit/provider/service/arch_service_spec.rb +21 -21
  684. data/spec/unit/provider/service/debian_service_spec.rb +2 -2
  685. data/spec/unit/provider/service/freebsd_service_spec.rb +30 -30
  686. data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
  687. data/spec/unit/provider/service/init_service_spec.rb +14 -14
  688. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  689. data/spec/unit/provider/service/invokercd_service_spec.rb +17 -17
  690. data/spec/unit/provider/service/macosx_spec.rb +59 -59
  691. data/spec/unit/provider/service/openbsd_service_spec.rb +6 -6
  692. data/spec/unit/provider/service/redhat_spec.rb +27 -27
  693. data/spec/unit/provider/service/simple_service_spec.rb +14 -14
  694. data/spec/unit/provider/service/solaris_smf_service_spec.rb +19 -19
  695. data/spec/unit/provider/service/systemd_service_spec.rb +13 -13
  696. data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
  697. data/spec/unit/provider/service/windows_spec.rb +38 -38
  698. data/spec/unit/provider/service_spec.rb +3 -3
  699. data/spec/unit/provider/subversion_spec.rb +13 -13
  700. data/spec/unit/provider/systemd_unit_spec.rb +10 -10
  701. data/spec/unit/provider/template/content_spec.rb +44 -44
  702. data/spec/unit/provider/template_spec.rb +2 -2
  703. data/spec/unit/provider/user/aix_spec.rb +5 -5
  704. data/spec/unit/provider/user/dscl_spec.rb +12 -12
  705. data/spec/unit/provider/user/pw_spec.rb +12 -12
  706. data/spec/unit/provider/user/solaris_spec.rb +6 -6
  707. data/spec/unit/provider/windows_env_spec.rb +2 -2
  708. data/spec/unit/provider/windows_task_spec.rb +16 -16
  709. data/spec/unit/provider/zypper_repository_spec.rb +7 -7
  710. data/spec/unit/provider_resolver_spec.rb +3 -3
  711. data/spec/unit/recipe_spec.rb +13 -13
  712. data/spec/unit/resource/chocolatey_config_spec.rb +98 -0
  713. data/spec/unit/resource/chocolatey_source_spec.rb +102 -0
  714. data/spec/unit/resource/conditional_spec.rb +1 -1
  715. data/spec/unit/resource/cookbook_file_spec.rb +3 -3
  716. data/spec/unit/resource/dnf_package_spec.rb +3 -3
  717. data/spec/unit/resource/dsc_script_spec.rb +10 -10
  718. data/spec/unit/resource/execute_spec.rb +2 -2
  719. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +1 -1
  720. data/spec/unit/resource/file/verification_spec.rb +1 -1
  721. data/spec/unit/resource/file_spec.rb +3 -3
  722. data/spec/unit/resource/freebsd_package_spec.rb +5 -4
  723. data/spec/unit/resource/group_spec.rb +4 -4
  724. data/spec/unit/resource/kernel_module_spec.rb +48 -0
  725. data/spec/unit/resource/mount_spec.rb +13 -3
  726. data/spec/unit/resource/package_spec.rb +2 -2
  727. data/spec/unit/resource/powershell_package_source_spec.rb +219 -0
  728. data/spec/unit/resource/powershell_package_spec.rb +10 -1
  729. data/spec/unit/resource/powershell_script_spec.rb +8 -8
  730. data/spec/unit/resource/registry_key_spec.rb +19 -19
  731. data/spec/unit/resource/remote_file_spec.rb +2 -2
  732. data/spec/unit/resource/resource_notification_spec.rb +8 -8
  733. data/spec/unit/resource/service_spec.rb +3 -3
  734. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +55 -0
  735. data/spec/unit/resource/template_spec.rb +2 -2
  736. data/spec/unit/resource/user_spec.rb +2 -2
  737. data/spec/unit/resource/windows_feature_dism.rb +5 -5
  738. data/spec/unit/resource/windows_feature_powershell.rb +27 -6
  739. data/spec/unit/resource/yum_package_spec.rb +3 -3
  740. data/spec/unit/resource_collection/resource_set_spec.rb +6 -6
  741. data/spec/unit/resource_collection_spec.rb +5 -5
  742. data/spec/unit/resource_definition_spec.rb +2 -2
  743. data/spec/unit/resource_inspector_spec.rb +3 -3
  744. data/spec/unit/resource_reporter_spec.rb +24 -24
  745. data/spec/unit/resource_spec.rb +65 -31
  746. data/spec/unit/role_spec.rb +22 -22
  747. data/spec/unit/run_context_spec.rb +1 -1
  748. data/spec/unit/run_list/run_list_item_spec.rb +3 -3
  749. data/spec/unit/run_list/versioned_recipe_list_spec.rb +12 -12
  750. data/spec/unit/run_list_spec.rb +6 -6
  751. data/spec/unit/runner_spec.rb +4 -4
  752. data/spec/unit/scan_access_control_spec.rb +3 -3
  753. data/spec/unit/shell/model_wrapper_spec.rb +4 -4
  754. data/spec/unit/shell/shell_ext_spec.rb +4 -4
  755. data/spec/unit/shell/shell_session_spec.rb +28 -28
  756. data/spec/unit/user_spec.rb +2 -2
  757. data/spec/unit/user_v1_spec.rb +25 -25
  758. data/spec/unit/util/diff_spec.rb +1 -1
  759. data/spec/unit/util/dsc/configuration_generator_spec.rb +4 -4
  760. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +105 -105
  761. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +16 -16
  762. data/spec/unit/util/file_edit_spec.rb +38 -38
  763. data/spec/unit/util/powershell/cmdlet_spec.rb +1 -1
  764. data/spec/unit/util/selinux_spec.rb +10 -10
  765. data/spec/unit/win32/registry_spec.rb +3 -3
  766. data/spec/unit/windows_service_spec.rb +2 -2
  767. data/tasks/cbgb.rb +3 -3
  768. data/tasks/dependencies.rb +6 -8
  769. data/tasks/maintainers.rb +7 -7
  770. data/tasks/rspec.rb +2 -2
  771. metadata +24 -83
  772. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +0 -33
  773. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +0 -272
  774. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +0 -57
  775. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +0 -68
  776. data/acceptance/.shared/kitchen_acceptance/metadata.rb +0 -1
  777. data/acceptance/Gemfile +0 -19
  778. data/acceptance/Gemfile.lock +0 -266
  779. data/acceptance/README.md +0 -137
  780. data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +0 -2
  781. data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  782. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  783. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  784. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  785. data/acceptance/basics/.kitchen.yml +0 -4
  786. data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +0 -19
  787. data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +0 -6
  788. data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +0 -8
  789. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +0 -2
  790. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  791. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -2
  792. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -2
  793. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -2
  794. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +0 -16
  795. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +0 -3
  796. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +0 -101
  797. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +0 -3
  798. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +0 -4
  799. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +0 -4
  800. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +0 -2
  801. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +0 -4
  802. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +0 -2
  803. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +0 -7
  804. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +0 -44
  805. data/acceptance/data-collector/.kitchen.yml +0 -9
  806. data/acceptance/data-collector/Berksfile +0 -3
  807. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +0 -208
  808. data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +0 -8
  809. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +0 -2
  810. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +0 -1
  811. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  812. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  813. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -61
  814. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +0 -2
  815. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +0 -43
  816. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +0 -41
  817. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  818. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  819. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  820. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  821. data/acceptance/top-cookbooks/.gitignore +0 -1
  822. data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +0 -6
  823. data/acceptance/top-cookbooks/.kitchen.iis.yml +0 -4
  824. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +0 -7
  825. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +0 -7
  826. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +0 -7
  827. data/acceptance/top-cookbooks/.kitchen.powershell.yml +0 -4
  828. data/acceptance/top-cookbooks/.kitchen.sql_server.yml +0 -5
  829. data/acceptance/top-cookbooks/.kitchen.winbox.yml +0 -8
  830. data/acceptance/top-cookbooks/.kitchen.windows.yml +0 -38
  831. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +0 -2
  832. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  833. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  834. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  835. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  836. data/acceptance/trivial/.kitchen.yml +0 -7
  837. data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +0 -5
  838. data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +0 -2
  839. data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  840. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  841. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  842. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  843. data/acceptance/windows-service/.kitchen.yml +0 -7
  844. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +0 -58
  845. data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
@@ -93,7 +93,7 @@ class Chef
93
93
  def load_cookbook(cookbook_name)
94
94
  preload_cookbooks
95
95
 
96
- return @cookbooks_by_name[cookbook_name] if @cookbooks_by_name.has_key?(cookbook_name)
96
+ return @cookbooks_by_name[cookbook_name] if @cookbooks_by_name.key?(cookbook_name)
97
97
 
98
98
  return nil unless @loaders_by_name.key?(cookbook_name.to_s)
99
99
 
@@ -112,7 +112,7 @@ class Chef
112
112
  end
113
113
  end
114
114
 
115
- if @loaded_cookbooks.has_key?(cookbook_name)
115
+ if @loaded_cookbooks.key?(cookbook_name)
116
116
  cookbook_version = @loaded_cookbooks[cookbook_name].cookbook_version
117
117
  @cookbooks_by_name[cookbook_name] = cookbook_version
118
118
  @metadata[cookbook_name] = cookbook_version.metadata
@@ -121,7 +121,7 @@ class Chef
121
121
  end
122
122
 
123
123
  def [](cookbook)
124
- if @cookbooks_by_name.has_key?(cookbook.to_sym) || load_cookbook(cookbook.to_sym)
124
+ if @cookbooks_by_name.key?(cookbook.to_sym) || load_cookbook(cookbook.to_sym)
125
125
  @cookbooks_by_name[cookbook.to_sym]
126
126
  else
127
127
  raise Exceptions::CookbookNotFoundInRepo, "Cannot find a cookbook named #{cookbook}; did you forget to add metadata to a cookbook? (https://docs.chef.io/config_rb_metadata.html)"
@@ -236,13 +236,13 @@ class Chef
236
236
  csum = checksum_cookbook_file(file)
237
237
  @checksums[csum] = file
238
238
  rs = Mash.new({
239
- :name => name,
240
- :path => path,
241
- :checksum => csum,
242
- :specificity => specificity,
239
+ name: name,
240
+ path: path,
241
+ checksum: csum,
242
+ specificity: specificity,
243
243
  # full_path is not a part of the normal manifest, but is very useful to keep around.
244
244
  # uploaders should strip this out.
245
- :full_path => file,
245
+ full_path: file,
246
246
  })
247
247
 
248
248
  manifest[:all_files] << rs
@@ -31,7 +31,7 @@ class Chef
31
31
  # inspired by http://stanislavvitvitskiy.blogspot.com/2008/12/multipart-post-in-ruby.html
32
32
  class CookbookSiteStreamingUploader
33
33
 
34
- DefaultHeaders = { "accept" => "application/json", "x-chef-version" => ::Chef::VERSION } # rubocop:disable Naming/ConstantName
34
+ DefaultHeaders = { "accept" => "application/json", "x-chef-version" => ::Chef::VERSION }.freeze # rubocop:disable Naming/ConstantName
35
35
 
36
36
  class << self
37
37
 
@@ -115,10 +115,10 @@ class Chef
115
115
  content_file.rewind if content_file # we consumed the file for the above operation, so rewind it.
116
116
 
117
117
  signing_options = {
118
- :http_method => http_verb,
119
- :path => url.path,
120
- :user_id => user_id,
121
- :timestamp => timestamp }
118
+ http_method: http_verb,
119
+ path: url.path,
120
+ user_id: user_id,
121
+ timestamp: timestamp }
122
122
  (content_file && signing_options[:file] = content_file) || (signing_options[:body] = (content_body || ""))
123
123
 
124
124
  headers.merge!(Mixlib::Authentication::SignedHeaderAuth.signing_object(signing_options).sign(secret_key))
@@ -56,7 +56,7 @@ class Chef
56
56
  end
57
57
 
58
58
  checksums = checksum_files.inject({}) { |memo, elt| memo[elt.first] = nil; memo }
59
- new_sandbox = rest.post("sandboxes", { :checksums => checksums })
59
+ new_sandbox = rest.post("sandboxes", { checksums: checksums })
60
60
 
61
61
  Chef::Log.info("Uploading files")
62
62
 
@@ -83,7 +83,7 @@ class Chef
83
83
  # in eventual consistency)
84
84
  retries = 0
85
85
  begin
86
- rest.put(sandbox_url, { :is_completed => true })
86
+ rest.put(sandbox_url, { is_completed: true })
87
87
  rescue Net::HTTPServerException => e
88
88
  if e.message =~ /^400/ && (retries += 1) <= 5
89
89
  sleep 2
@@ -42,7 +42,7 @@ class Chef
42
42
  def_delegator :@cookbook_manifest, :files_for
43
43
  def_delegator :@cookbook_manifest, :each_file
44
44
 
45
- COOKBOOK_SEGMENTS = [ :resources, :providers, :recipes, :definitions, :libraries, :attributes, :files, :templates, :root_files ]
45
+ COOKBOOK_SEGMENTS = [ :resources, :providers, :recipes, :definitions, :libraries, :attributes, :files, :templates, :root_files ].freeze
46
46
 
47
47
  attr_reader :all_files
48
48
 
@@ -184,7 +184,7 @@ class Chef
184
184
 
185
185
  # called from DSL
186
186
  def load_recipe(recipe_name, run_context)
187
- unless recipe_filenames_by_name.has_key?(recipe_name)
187
+ unless recipe_filenames_by_name.key?(recipe_name)
188
188
  raise Chef::Exceptions::RecipeNotFound, "could not find recipe #{recipe_name} for cookbook #{name}"
189
189
  end
190
190
 
data/lib/chef/data_bag.rb CHANGED
@@ -54,7 +54,7 @@ class Chef
54
54
  set_or_return(
55
55
  :name,
56
56
  arg,
57
- :regex => VALID_NAME
57
+ regex: VALID_NAME
58
58
  )
59
59
  end
60
60
 
@@ -126,7 +126,7 @@ class Chef
126
126
  item = Chef::JSONCompat.parse(IO.read(f))
127
127
 
128
128
  # Check if we have multiple items with similar names (ids) and raise if their content differs
129
- if data_bag.has_key?(item["id"]) && data_bag[item["id"]] != item
129
+ if data_bag.key?(item["id"]) && data_bag[item["id"]] != item
130
130
  raise Chef::Exceptions::DuplicateDataBagItem, "Data bag '#{name}' has items with the same name '#{item["id"]}' but different content."
131
131
  else
132
132
  data_bag[item["id"]] = item
@@ -157,7 +157,7 @@ class Chef
157
157
  self
158
158
  end
159
159
 
160
- #create a data bag via RESTful API
160
+ # create a data bag via RESTful API
161
161
  def create
162
162
  chef_server_rest.post("data", self)
163
163
  self
@@ -81,7 +81,7 @@ class Chef
81
81
  set_or_return(
82
82
  :data_bag,
83
83
  arg,
84
- :regex => /^[\-[:alnum:]_]+$/
84
+ regex: /^[\-[:alnum:]_]+$/
85
85
  )
86
86
  end
87
87
 
@@ -90,7 +90,7 @@ class Chef
90
90
  end
91
91
 
92
92
  def object_name
93
- raise Exceptions::ValidationFailed, "You must have an 'id' or :id key in the raw data" unless raw_data.has_key?("id")
93
+ raise Exceptions::ValidationFailed, "You must have an 'id' or :id key in the raw data" unless raw_data.key?("id")
94
94
  raise Exceptions::ValidationFailed, "You must have declared what bag this item belongs to!" unless data_bag
95
95
 
96
96
  id = raw_data["id"]
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright:: Copyright 2016-2017, Chef Software Inc.
2
+ # Copyright:: Copyright 2016-2018, Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,276 +24,210 @@ class Chef
24
24
  class << self
25
25
  include Chef::Mixin::ConvertToClassName
26
26
 
27
- def create(type, message = nil, location = nil)
28
- Chef::Deprecated.const_get(convert_to_class_name(type.to_s)).send(:new, message, location)
27
+ def create(type, message, location)
28
+ Chef::Deprecated.const_get(convert_to_class_name(type.to_s)).new(message, location)
29
29
  end
30
30
  end
31
31
 
32
32
  class Base
33
- BASE_URL = "https://docs.chef.io/deprecations_"
33
+ BASE_URL = "https://docs.chef.io/deprecations_".freeze
34
34
 
35
- attr_accessor :message, :location
35
+ attr_reader :message, :location
36
36
 
37
37
  def initialize(msg = nil, location = nil)
38
- @message = msg if msg
39
- @location = location if location
38
+ @message = msg
39
+ @location = location
40
40
  end
41
41
 
42
42
  def link
43
43
  "Please see #{url} for further details and information on how to correct this problem."
44
44
  end
45
45
 
46
+ # Render the URL for the deprecation documentation page.
47
+ #
48
+ # @return [String]
46
49
  def url
47
- "#{BASE_URL}#{target}"
48
- end
49
-
50
- # We know that the only time this gets called is by Chef::Log.deprecation,
51
- # so special case
52
- def <<(location)
53
- @location = location
54
- end
55
-
56
- def inspect
57
- "#{message} (CHEF-#{id})#{location}.\n#{link}"
58
- end
59
-
60
- def id
61
- raise NotImplementedError, "subclasses of Chef::Deprecated::Base should define #id with a unique number"
62
- end
63
-
64
- def target
65
- raise NotImplementedError, "subclasses of Chef::Deprecated::Base should define #target"
50
+ "#{BASE_URL}#{self.class.doc_page}"
51
+ end
52
+
53
+ # Render the user-visible message for this deprecation.
54
+ #
55
+ # @return [String]
56
+ def to_s
57
+ "Deprecation CHEF-#{self.class.deprecation_id} from #{location}\n\n #{message}\n\n#{link}"
58
+ end
59
+
60
+ # Check if this deprecation has been silenced.
61
+ #
62
+ # @return [Boolean]
63
+ def silenced?
64
+ # Check if all warnings have been silenced.
65
+ return true if Chef::Config[:silence_deprecation_warnings] == true
66
+ # Check if this warning has been silenced by the config.
67
+ return true if Chef::Config[:silence_deprecation_warnings].any? do |silence_spec|
68
+ # Just in case someone uses a symbol in the config by mistake.
69
+ silence_spec = silence_spec.to_s
70
+ # Check for a silence by deprecation name, or by location.
71
+ self.class.deprecation_key == silence_spec || self.class.deprecation_id.to_s == silence_spec || "chef-#{self.class.deprecation_id}" == silence_spec.downcase || location.include?(silence_spec)
72
+ end
73
+ # check if this warning has been silenced by inline comment.
74
+ return true if location =~ /^(.*?):(\d+):in/ && begin
75
+ # Don't buffer the whole file in memory, so read it one line at a time.
76
+ line_no = $2.to_i
77
+ location_file = ::File.open($1)
78
+ (line_no - 1).times { location_file.readline } # Read all the lines we don't care about.
79
+ relevant_line = location_file.readline
80
+ relevant_line.match?(/#.*chef:silence_deprecation($|[^:]|:#{self.class.deprecation_key})/)
81
+ end
82
+ false
83
+ end
84
+
85
+ class << self
86
+ attr_reader :deprecation_id, :doc_page
87
+
88
+ # Return the deprecation key as would be used with {Chef::Deprecated.create}.
89
+ #
90
+ # @return [String]
91
+ def deprecation_key
92
+ Chef::Mixin::ConvertToClassName.convert_to_snake_case(name, "Chef::Deprecated")
93
+ end
94
+
95
+ # Set the ID and documentation page path for this deprecation.
96
+ #
97
+ # Used in subclasses to set the data for each type of deprecation.
98
+ #
99
+ # @example
100
+ # class MyDeprecation < Base
101
+ # target 123, "my_deprecation.html"
102
+ # end
103
+ # @param id [Integer] Deprecation ID number. This must be unique among
104
+ # all deprecations.
105
+ # @param page [String, nil] Optional documentation page path. If not
106
+ # specified, the deprecation key is used.
107
+ # @return [void]
108
+ def target(id, page = nil)
109
+ @deprecation_id = id
110
+ @doc_page = page || "#{deprecation_key}.html"
111
+ end
66
112
  end
67
113
  end
68
114
 
69
115
  class InternalApi < Base
70
- def id
71
- 0
72
- end
73
-
74
- def target
75
- "internal_api.html"
76
- end
116
+ target 0
77
117
  end
78
118
 
79
119
  class JsonAutoInflate < Base
80
- def id
81
- 1
82
- end
83
-
84
- def target
85
- "json_auto_inflate.html"
86
- end
120
+ target 1
87
121
  end
88
122
 
89
123
  class ExitCode < Base
90
- def id
91
- 2
92
- end
93
-
94
- def target
95
- "exit_code.html"
96
- end
124
+ target 2
97
125
  end
98
126
 
99
127
  # id 3 has been deleted
100
128
 
101
129
  class Attributes < Base
102
- def id
103
- 4
104
- end
105
-
106
- def target
107
- "attributes.html"
108
- end
130
+ target 4
109
131
  end
110
132
 
111
133
  class CustomResource < Base
112
- def id
113
- 5
114
- end
115
-
116
- def target
117
- "custom_resource_cleanups.html"
118
- end
134
+ target 5, "custom_resource_cleanups.html"
119
135
  end
120
136
 
121
137
  class EasyInstall < Base
122
- def id
123
- 6
124
- end
125
-
126
- def target
127
- "easy_install.html"
128
- end
138
+ target 6
129
139
  end
130
140
 
131
141
  class VerifyFile < Base
132
- def id
133
- 7
134
- end
135
-
136
- def target
137
- "verify_file.html"
138
- end
142
+ target 7
139
143
  end
140
144
 
141
145
  class SupportsProperty < Base
142
- def id
143
- 8
144
- end
145
-
146
- def target
147
- "supports_property.html"
148
- end
146
+ target 8
149
147
  end
150
148
 
151
149
  class ChefRest < Base
152
- def id
153
- 9
154
- end
155
-
156
- def target
157
- "chef_rest.html"
158
- end
150
+ target 9
159
151
  end
160
152
 
161
153
  class DnfPackageAllowDowngrade < Base
162
- def id
163
- 10
164
- end
165
-
166
- def target
167
- "dnf_package_allow_downgrade.html"
168
- end
154
+ target 10
169
155
  end
170
156
 
171
157
  class PropertyNameCollision < Base
172
- def id
173
- 11
174
- end
175
-
176
- def target
177
- "property_name_collision.html"
178
- end
158
+ target 11
179
159
  end
180
160
 
181
161
  class LaunchdHashProperty < Base
182
- def id
183
- 12
184
- end
185
-
186
- def target
187
- "launchd_hash_property.html"
188
- end
162
+ target 12
189
163
  end
190
164
 
191
165
  class ChefPlatformMethods < Base
192
- def id
193
- 13
194
- end
195
-
196
- def target
197
- "chef_platform_methods.html"
198
- end
166
+ target 13
199
167
  end
200
168
 
201
169
  class RunCommand < Base
202
- def id
203
- 14
204
- end
205
-
206
- def target
207
- "run_command.html"
208
- end
170
+ target 14
209
171
  end
210
172
 
211
173
  class PackageMisc < Base
212
- def id
213
- 15
214
- end
215
-
216
- def target
217
- "package_misc.html"
218
- end
174
+ target 15
219
175
  end
220
176
 
221
177
  class MultiresourceMatch < Base
222
- def id
223
- 16
224
- end
225
-
226
- def target
227
- "multiresource_match.html"
228
- end
178
+ target 16
229
179
  end
230
180
 
231
181
  class UseInlineResources < Base
232
- def id
233
- 17
234
- end
235
-
236
- def target
237
- "use_inline_resources.html"
238
- end
182
+ target 17
239
183
  end
240
184
 
241
185
  class LocalListen < Base
242
- def id
243
- 18
244
- end
245
-
246
- def target
247
- "local_listen.html"
248
- end
186
+ target 18
249
187
  end
250
188
 
251
189
  class NamespaceCollisions < Base
252
- def id
253
- 19
254
- end
255
-
256
- def target
257
- "namespace_collisions.html"
258
- end
190
+ target 19
259
191
  end
260
192
 
261
193
  class DeployResource < Base
262
- def id
263
- 21
264
- end
265
-
266
- def target
267
- "deploy_resource.html"
268
- end
194
+ target 21
269
195
  end
270
196
 
271
197
  class ErlResource < Base
272
- def id
273
- 22
274
- end
198
+ target 22
199
+ end
275
200
 
276
- def target
277
- "erl_resource.html"
278
- end
201
+ class FreebsdPkgProvider < Base
202
+ target 23
203
+ end
204
+
205
+ class MapCollision < Base
206
+ target 25
279
207
  end
280
208
 
281
209
  # id 3694 was deleted
282
210
 
283
211
  # Returned when using the deprecated option on a property
284
212
  class Property < Base
285
- def inspect
286
- "#{message}\n#{location}"
213
+ target 24
214
+
215
+ def to_s
216
+ "Deprecated resource property used from #{location}\n\n #{message}\n\nPlease consult the resource documentation for more information."
287
217
  end
288
218
  end
289
219
 
220
+ class ShellOut < Base
221
+ target 26
222
+ end
223
+
290
224
  class Generic < Base
291
225
  def url
292
226
  "https://docs.chef.io/chef_deprecations_client.html"
293
227
  end
294
228
 
295
- def inspect
296
- "#{message}\nThis is a generic error message and should be updated to have a proper deprecation class. #{location}\nPlease see #{url} for an overview of Chef deprecations."
229
+ def to_s
230
+ "Deprecation from #{location}\n\n #{message}\n\n#{link}"
297
231
  end
298
232
  end
299
233