chef 16.10.8-universal-mingw32 → 17.0.242-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 (662) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -10
  3. data/README.md +1 -1
  4. data/Rakefile +13 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +7 -9
  7. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  8. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/Newtonsoft.Json.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  13. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
  14. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  29. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  30. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  31. data/distro/ruby_bin_folder/x86/Newtonsoft.Json.dll +0 -0
  32. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  33. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  34. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  35. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
  36. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  37. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  38. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  39. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  40. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  41. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  42. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  43. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  44. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  45. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  46. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  47. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  48. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  49. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  50. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  51. data/lib/chef/application/base.rb +1 -1
  52. data/lib/chef/applications.rb +0 -1
  53. data/lib/chef/chef_fs/command_line.rb +5 -2
  54. data/lib/chef/chef_fs/file_system.rb +9 -10
  55. data/lib/chef/client.rb +2 -2
  56. data/lib/chef/compliance/default_attributes.rb +10 -5
  57. data/lib/chef/compliance/fetcher/automate.rb +15 -11
  58. data/lib/chef/compliance/reporter/automate.rb +17 -7
  59. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  60. data/lib/chef/compliance/reporter/cli.rb +77 -0
  61. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  62. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  63. data/lib/chef/compliance/runner.rb +71 -28
  64. data/lib/chef/cookbook/synchronizer.rb +3 -5
  65. data/lib/chef/cookbook_loader.rb +2 -4
  66. data/lib/chef/cookbook_uploader.rb +0 -1
  67. data/lib/chef/data_bag_item.rb +11 -2
  68. data/lib/chef/delayed_evaluator.rb +4 -0
  69. data/lib/chef/deprecated.rb +4 -0
  70. data/lib/chef/dsl/chef_vault.rb +6 -6
  71. data/lib/chef/dsl/reboot_pending.rb +1 -2
  72. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  73. data/lib/chef/group.rb +75 -0
  74. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  75. data/lib/chef/node/attribute.rb +6 -4
  76. data/lib/chef/node/immutable_collections.rb +13 -0
  77. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  78. data/lib/chef/org.rb +3 -2
  79. data/lib/chef/property.rb +18 -0
  80. data/lib/chef/provider.rb +1 -1
  81. data/lib/chef/provider/cron.rb +1 -1
  82. data/lib/chef/provider/execute.rb +2 -1
  83. data/lib/chef/provider/file.rb +2 -2
  84. data/lib/chef/provider/git.rb +5 -7
  85. data/lib/chef/provider/group/groupadd.rb +3 -3
  86. data/lib/chef/provider/group/groupmod.rb +3 -3
  87. data/lib/chef/provider/group/pw.rb +3 -3
  88. data/lib/chef/provider/ifconfig.rb +2 -2
  89. data/lib/chef/provider/link.rb +2 -2
  90. data/lib/chef/provider/mount.rb +12 -7
  91. data/lib/chef/provider/mount/aix.rb +3 -3
  92. data/lib/chef/provider/mount/mount.rb +6 -6
  93. data/lib/chef/provider/mount/windows.rb +1 -1
  94. data/lib/chef/provider/package.rb +17 -21
  95. data/lib/chef/provider/package/apt.rb +27 -1
  96. data/lib/chef/provider/package/deb.rb +3 -3
  97. data/lib/chef/provider/package/dnf/dnf_helper.py +5 -1
  98. data/lib/chef/provider/package/portage.rb +2 -2
  99. data/lib/chef/provider/package/rubygems.rb +11 -17
  100. data/lib/chef/provider/package/windows.rb +2 -4
  101. data/lib/chef/provider/package/yum/yum_helper.py +5 -1
  102. data/lib/chef/provider/route.rb +2 -2
  103. data/lib/chef/provider/service.rb +6 -6
  104. data/lib/chef/provider/service/aixinit.rb +1 -1
  105. data/lib/chef/provider/service/debian.rb +1 -1
  106. data/lib/chef/provider/service/freebsd.rb +15 -21
  107. data/lib/chef/provider/service/macosx.rb +7 -7
  108. data/lib/chef/provider/service/systemd.rb +43 -14
  109. data/lib/chef/provider/service/upstart.rb +2 -13
  110. data/lib/chef/provider/service/windows.rb +12 -12
  111. data/lib/chef/provider/subversion.rb +10 -12
  112. data/lib/chef/provider/systemd_unit.rb +36 -10
  113. data/lib/chef/provider/template/content.rb +2 -6
  114. data/lib/chef/provider/user.rb +2 -2
  115. data/lib/chef/provider/user/dscl.rb +1 -1
  116. data/lib/chef/provider/user/mac.rb +17 -20
  117. data/lib/chef/provider/user/pw.rb +1 -1
  118. data/lib/chef/provider/user/windows.rb +1 -1
  119. data/lib/chef/provider/zypper_repository.rb +2 -2
  120. data/lib/chef/providers.rb +0 -1
  121. data/lib/chef/resource/alternatives.rb +6 -6
  122. data/lib/chef/resource/apt_package.rb +1 -1
  123. data/lib/chef/resource/apt_preference.rb +2 -2
  124. data/lib/chef/resource/apt_repository.rb +6 -6
  125. data/lib/chef/resource/apt_update.rb +3 -2
  126. data/lib/chef/resource/archive_file.rb +2 -3
  127. data/lib/chef/resource/breakpoint.rb +1 -1
  128. data/lib/chef/resource/build_essential.rb +2 -6
  129. data/lib/chef/resource/chef_client_config.rb +2 -2
  130. data/lib/chef/resource/chef_client_cron.rb +5 -5
  131. data/lib/chef/resource/chef_client_launchd.rb +4 -4
  132. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  133. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  134. data/lib/chef/resource/chef_handler.rb +3 -7
  135. data/lib/chef/resource/chef_sleep.rb +1 -1
  136. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  137. data/lib/chef/resource/chocolatey_config.rb +2 -6
  138. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  139. data/lib/chef/resource/chocolatey_source.rb +4 -10
  140. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  141. data/lib/chef/resource/cron_access.rb +2 -4
  142. data/lib/chef/resource/dmg_package.rb +6 -10
  143. data/lib/chef/resource/dpkg_package.rb +1 -1
  144. data/lib/chef/resource/execute.rb +6 -1
  145. data/lib/chef/resource/file.rb +1 -1
  146. data/lib/chef/resource/group.rb +2 -2
  147. data/lib/chef/resource/homebrew_cask.rb +2 -6
  148. data/lib/chef/resource/homebrew_tap.rb +2 -6
  149. data/lib/chef/resource/hostname.rb +21 -17
  150. data/lib/chef/resource/http_request.rb +1 -1
  151. data/lib/chef/resource/kernel_module.rb +6 -17
  152. data/lib/chef/resource/locale.rb +2 -3
  153. data/lib/chef/resource/lwrp_base.rb +4 -0
  154. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  155. data/lib/chef/resource/mdadm.rb +53 -7
  156. data/lib/chef/resource/mount.rb +2 -1
  157. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  158. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  159. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  160. data/lib/chef/resource/plist.rb +7 -7
  161. data/lib/chef/resource/powershell_script.rb +1 -1
  162. data/lib/chef/resource/remote_file.rb +1 -1
  163. data/lib/chef/resource/rhsm_errata.rb +16 -1
  164. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  165. data/lib/chef/resource/rhsm_register.rb +12 -6
  166. data/lib/chef/resource/rhsm_repo.rb +2 -6
  167. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  168. data/lib/chef/resource/scm/git.rb +1 -1
  169. data/lib/chef/resource/sudo.rb +6 -6
  170. data/lib/chef/resource/sysctl.rb +2 -6
  171. data/lib/chef/resource/systemd_unit.rb +2 -2
  172. data/lib/chef/resource/template.rb +1 -1
  173. data/lib/chef/resource/timezone.rb +1 -3
  174. data/lib/chef/resource/user/mac_user.rb +1 -1
  175. data/lib/chef/resource/user_ulimit.rb +2 -2
  176. data/lib/chef/resource/windows_ad_join.rb +2 -6
  177. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  178. data/lib/chef/resource/windows_auto_run.rb +2 -5
  179. data/lib/chef/resource/windows_certificate.rb +207 -73
  180. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  181. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  182. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  183. data/lib/chef/resource/windows_dns_record.rb +2 -6
  184. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  185. data/lib/chef/resource/windows_env.rb +5 -4
  186. data/lib/chef/resource/windows_feature.rb +3 -9
  187. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  188. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  189. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  190. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  191. data/lib/chef/resource/windows_font.rb +2 -4
  192. data/lib/chef/resource/windows_pagefile.rb +2 -6
  193. data/lib/chef/resource/windows_path.rb +2 -2
  194. data/lib/chef/resource/windows_printer.rb +4 -4
  195. data/lib/chef/resource/windows_printer_port.rb +6 -6
  196. data/lib/chef/resource/windows_security_policy.rb +53 -40
  197. data/lib/chef/resource/windows_share.rb +14 -21
  198. data/lib/chef/resource/windows_shortcut.rb +4 -6
  199. data/lib/chef/resource/windows_task.rb +17 -5
  200. data/lib/chef/resource/windows_uac.rb +1 -1
  201. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  202. data/lib/chef/resource/windows_workgroup.rb +1 -2
  203. data/lib/chef/resources.rb +0 -1
  204. data/lib/chef/user.rb +0 -1
  205. data/lib/chef/user_v1.rb +3 -4
  206. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  207. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  208. data/lib/chef/version.rb +1 -1
  209. data/lib/chef/win32/registry.rb +4 -2
  210. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  211. data/spec/data/lwrp/resources/bar.rb +2 -0
  212. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  213. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  214. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  215. data/spec/data/lwrp/resources/foo.rb +2 -0
  216. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  217. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  218. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  219. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  220. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  221. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  222. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  223. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  224. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  225. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  226. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  227. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  228. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  229. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  230. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  231. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  232. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  233. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  234. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  235. data/spec/functional/resource/apt_package_spec.rb +1 -1
  236. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  237. data/spec/functional/resource/cron_spec.rb +1 -1
  238. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  239. data/spec/functional/resource/registry_spec.rb +8 -8
  240. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  241. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  242. data/spec/functional/version_spec.rb +1 -1
  243. data/spec/functional/win32/registry_spec.rb +1 -1
  244. data/spec/integration/client/client_spec.rb +5 -2
  245. data/spec/integration/client/exit_code_spec.rb +1 -1
  246. data/spec/integration/client/ipv6_spec.rb +1 -1
  247. data/spec/integration/compliance/compliance_spec.rb +3 -2
  248. data/spec/integration/ohai/ohai_spec.rb +7 -6
  249. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  250. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  251. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  252. data/spec/integration/recipes/notifies_spec.rb +15 -1
  253. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  254. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  255. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  256. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  257. data/spec/spec_helper.rb +11 -13
  258. data/spec/support/chef_helpers.rb +0 -16
  259. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  260. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  261. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  262. data/spec/support/matchers/leak.rb +7 -9
  263. data/spec/support/platform_helpers.rb +5 -8
  264. data/spec/support/shared/integration/integration_helper.rb +0 -1
  265. data/spec/support/shared/unit/provider/file.rb +14 -0
  266. data/spec/support/shared/unit/script_resource.rb +2 -2
  267. data/spec/unit/application/solo_spec.rb +2 -2
  268. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  269. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  270. data/spec/unit/compliance/fetcher/automate_spec.rb +5 -13
  271. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  272. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  273. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  274. data/spec/unit/compliance/runner_spec.rb +84 -9
  275. data/spec/unit/data_bag_item_spec.rb +1 -6
  276. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  277. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  278. data/spec/unit/lwrp_spec.rb +1 -1
  279. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  280. data/spec/unit/node/attribute_spec.rb +1 -1
  281. data/spec/unit/node_spec.rb +78 -0
  282. data/spec/unit/org_group_spec.rb +45 -0
  283. data/spec/unit/property_spec.rb +23 -22
  284. data/spec/unit/provider/cron_spec.rb +1 -1
  285. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  286. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  287. data/spec/unit/provider/group/pw_spec.rb +2 -2
  288. data/spec/unit/provider/group_spec.rb +1 -1
  289. data/spec/unit/provider/mount/mount_spec.rb +52 -0
  290. data/spec/unit/provider/package/apt_spec.rb +84 -18
  291. data/spec/unit/provider/package/deb_spec.rb +3 -3
  292. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  293. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  294. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  295. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  296. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  297. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  298. data/spec/unit/provider/service/windows_spec.rb +2 -2
  299. data/spec/unit/provider/subversion_spec.rb +2 -2
  300. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  301. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  302. data/spec/unit/provider_spec.rb +0 -8
  303. data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
  304. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  305. data/spec/unit/resource/windows_task_spec.rb +1 -1
  306. data/spec/unit/user_spec.rb +1 -1
  307. data/spec/unit/user_v1_spec.rb +6 -4
  308. data/tasks/rspec.rb +16 -8
  309. metadata +25 -386
  310. data/bin/knife +0 -24
  311. data/lib/chef/application/knife.rb +0 -234
  312. data/lib/chef/application/windows_service.rb +0 -338
  313. data/lib/chef/application/windows_service_manager.rb +0 -205
  314. data/lib/chef/chef_fs/knife.rb +0 -160
  315. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  316. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  317. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  318. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  319. data/lib/chef/knife.rb +0 -665
  320. data/lib/chef/knife/acl_add.rb +0 -57
  321. data/lib/chef/knife/acl_base.rb +0 -183
  322. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  323. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  324. data/lib/chef/knife/acl_remove.rb +0 -62
  325. data/lib/chef/knife/acl_show.rb +0 -56
  326. data/lib/chef/knife/bootstrap.rb +0 -1192
  327. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  328. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  329. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  330. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  331. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  332. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  333. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  334. data/lib/chef/knife/client_create.rb +0 -101
  335. data/lib/chef/knife/client_delete.rb +0 -62
  336. data/lib/chef/knife/client_edit.rb +0 -52
  337. data/lib/chef/knife/client_key_create.rb +0 -73
  338. data/lib/chef/knife/client_key_delete.rb +0 -80
  339. data/lib/chef/knife/client_key_edit.rb +0 -83
  340. data/lib/chef/knife/client_key_list.rb +0 -73
  341. data/lib/chef/knife/client_key_show.rb +0 -80
  342. data/lib/chef/knife/client_list.rb +0 -41
  343. data/lib/chef/knife/client_reregister.rb +0 -58
  344. data/lib/chef/knife/client_show.rb +0 -48
  345. data/lib/chef/knife/config_get.rb +0 -39
  346. data/lib/chef/knife/config_get_profile.rb +0 -37
  347. data/lib/chef/knife/config_list.rb +0 -139
  348. data/lib/chef/knife/config_list_profiles.rb +0 -37
  349. data/lib/chef/knife/config_show.rb +0 -127
  350. data/lib/chef/knife/config_use.rb +0 -61
  351. data/lib/chef/knife/config_use_profile.rb +0 -47
  352. data/lib/chef/knife/configure.rb +0 -150
  353. data/lib/chef/knife/configure_client.rb +0 -48
  354. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  355. data/lib/chef/knife/cookbook_delete.rb +0 -151
  356. data/lib/chef/knife/cookbook_download.rb +0 -142
  357. data/lib/chef/knife/cookbook_list.rb +0 -47
  358. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  359. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  360. data/lib/chef/knife/cookbook_show.rb +0 -98
  361. data/lib/chef/knife/cookbook_upload.rb +0 -292
  362. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  363. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  364. data/lib/chef/knife/core/formatting_options.rb +0 -49
  365. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  366. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  367. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  368. data/lib/chef/knife/core/node_editor.rb +0 -130
  369. data/lib/chef/knife/core/node_presenter.rb +0 -133
  370. data/lib/chef/knife/core/object_loader.rb +0 -115
  371. data/lib/chef/knife/core/status_presenter.rb +0 -147
  372. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  373. data/lib/chef/knife/core/text_formatter.rb +0 -85
  374. data/lib/chef/knife/core/ui.rb +0 -338
  375. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  376. data/lib/chef/knife/data_bag_create.rb +0 -81
  377. data/lib/chef/knife/data_bag_delete.rb +0 -49
  378. data/lib/chef/knife/data_bag_edit.rb +0 -74
  379. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  380. data/lib/chef/knife/data_bag_list.rb +0 -42
  381. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  382. data/lib/chef/knife/data_bag_show.rb +0 -69
  383. data/lib/chef/knife/delete.rb +0 -125
  384. data/lib/chef/knife/deps.rb +0 -156
  385. data/lib/chef/knife/diff.rb +0 -83
  386. data/lib/chef/knife/download.rb +0 -84
  387. data/lib/chef/knife/edit.rb +0 -88
  388. data/lib/chef/knife/environment_compare.rb +0 -128
  389. data/lib/chef/knife/environment_create.rb +0 -52
  390. data/lib/chef/knife/environment_delete.rb +0 -44
  391. data/lib/chef/knife/environment_edit.rb +0 -44
  392. data/lib/chef/knife/environment_from_file.rb +0 -84
  393. data/lib/chef/knife/environment_list.rb +0 -41
  394. data/lib/chef/knife/environment_show.rb +0 -47
  395. data/lib/chef/knife/exec.rb +0 -99
  396. data/lib/chef/knife/group_add.rb +0 -55
  397. data/lib/chef/knife/group_create.rb +0 -49
  398. data/lib/chef/knife/group_destroy.rb +0 -53
  399. data/lib/chef/knife/group_list.rb +0 -43
  400. data/lib/chef/knife/group_remove.rb +0 -56
  401. data/lib/chef/knife/group_show.rb +0 -49
  402. data/lib/chef/knife/key_create.rb +0 -112
  403. data/lib/chef/knife/key_create_base.rb +0 -50
  404. data/lib/chef/knife/key_delete.rb +0 -55
  405. data/lib/chef/knife/key_edit.rb +0 -118
  406. data/lib/chef/knife/key_edit_base.rb +0 -55
  407. data/lib/chef/knife/key_list.rb +0 -90
  408. data/lib/chef/knife/key_list_base.rb +0 -45
  409. data/lib/chef/knife/key_show.rb +0 -53
  410. data/lib/chef/knife/list.rb +0 -177
  411. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  412. data/lib/chef/knife/node_create.rb +0 -47
  413. data/lib/chef/knife/node_delete.rb +0 -46
  414. data/lib/chef/knife/node_edit.rb +0 -70
  415. data/lib/chef/knife/node_environment_set.rb +0 -53
  416. data/lib/chef/knife/node_from_file.rb +0 -51
  417. data/lib/chef/knife/node_list.rb +0 -44
  418. data/lib/chef/knife/node_policy_set.rb +0 -79
  419. data/lib/chef/knife/node_run_list_add.rb +0 -104
  420. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  421. data/lib/chef/knife/node_run_list_set.rb +0 -66
  422. data/lib/chef/knife/node_show.rb +0 -63
  423. data/lib/chef/knife/null.rb +0 -12
  424. data/lib/chef/knife/raw.rb +0 -123
  425. data/lib/chef/knife/recipe_list.rb +0 -32
  426. data/lib/chef/knife/rehash.rb +0 -50
  427. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  428. data/lib/chef/knife/role_create.rb +0 -53
  429. data/lib/chef/knife/role_delete.rb +0 -46
  430. data/lib/chef/knife/role_edit.rb +0 -45
  431. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  432. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  433. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  434. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  435. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  436. data/lib/chef/knife/role_from_file.rb +0 -51
  437. data/lib/chef/knife/role_list.rb +0 -42
  438. data/lib/chef/knife/role_run_list_add.rb +0 -87
  439. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  440. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  441. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  442. data/lib/chef/knife/role_run_list_set.rb +0 -69
  443. data/lib/chef/knife/role_show.rb +0 -48
  444. data/lib/chef/knife/search.rb +0 -194
  445. data/lib/chef/knife/serve.rb +0 -65
  446. data/lib/chef/knife/show.rb +0 -72
  447. data/lib/chef/knife/ssh.rb +0 -645
  448. data/lib/chef/knife/ssl_check.rb +0 -284
  449. data/lib/chef/knife/ssl_fetch.rb +0 -161
  450. data/lib/chef/knife/status.rb +0 -95
  451. data/lib/chef/knife/supermarket_download.rb +0 -121
  452. data/lib/chef/knife/supermarket_install.rb +0 -192
  453. data/lib/chef/knife/supermarket_list.rb +0 -76
  454. data/lib/chef/knife/supermarket_search.rb +0 -53
  455. data/lib/chef/knife/supermarket_share.rb +0 -166
  456. data/lib/chef/knife/supermarket_show.rb +0 -66
  457. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  458. data/lib/chef/knife/tag_create.rb +0 -52
  459. data/lib/chef/knife/tag_delete.rb +0 -60
  460. data/lib/chef/knife/tag_list.rb +0 -47
  461. data/lib/chef/knife/upload.rb +0 -86
  462. data/lib/chef/knife/user_create.rb +0 -107
  463. data/lib/chef/knife/user_delete.rb +0 -44
  464. data/lib/chef/knife/user_dissociate.rb +0 -42
  465. data/lib/chef/knife/user_edit.rb +0 -52
  466. data/lib/chef/knife/user_invite_add.rb +0 -43
  467. data/lib/chef/knife/user_invite_list.rb +0 -34
  468. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  469. data/lib/chef/knife/user_key_create.rb +0 -73
  470. data/lib/chef/knife/user_key_delete.rb +0 -80
  471. data/lib/chef/knife/user_key_edit.rb +0 -83
  472. data/lib/chef/knife/user_key_list.rb +0 -73
  473. data/lib/chef/knife/user_key_show.rb +0 -80
  474. data/lib/chef/knife/user_list.rb +0 -42
  475. data/lib/chef/knife/user_reregister.rb +0 -59
  476. data/lib/chef/knife/user_show.rb +0 -48
  477. data/lib/chef/knife/xargs.rb +0 -282
  478. data/lib/chef/knife/yaml_convert.rb +0 -91
  479. data/lib/chef/resource/user/dscl_user.rb +0 -35
  480. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  481. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  482. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  483. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  484. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  485. data/spec/functional/knife/configure_spec.rb +0 -33
  486. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  487. data/spec/functional/knife/exec_spec.rb +0 -55
  488. data/spec/functional/knife/rehash_spec.rb +0 -39
  489. data/spec/functional/knife/smoke_test.rb +0 -42
  490. data/spec/functional/knife/ssh_spec.rb +0 -352
  491. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  492. data/spec/functional/resource/windows_service_spec.rb +0 -105
  493. data/spec/functional/win32/service_manager_spec.rb +0 -220
  494. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  495. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  496. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  497. data/spec/integration/knife/chefignore_spec.rb +0 -301
  498. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  499. data/spec/integration/knife/client_create_spec.rb +0 -70
  500. data/spec/integration/knife/client_delete_spec.rb +0 -64
  501. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  502. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  503. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  504. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  505. data/spec/integration/knife/client_list_spec.rb +0 -49
  506. data/spec/integration/knife/client_show_spec.rb +0 -37
  507. data/spec/integration/knife/common_options_spec.rb +0 -174
  508. data/spec/integration/knife/config_list_spec.rb +0 -220
  509. data/spec/integration/knife/config_show_spec.rb +0 -192
  510. data/spec/integration/knife/config_use_spec.rb +0 -198
  511. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  512. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  513. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  514. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  515. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  516. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  517. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  518. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  519. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  520. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  521. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  522. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  523. data/spec/integration/knife/delete_spec.rb +0 -1018
  524. data/spec/integration/knife/deps_spec.rb +0 -703
  525. data/spec/integration/knife/diff_spec.rb +0 -605
  526. data/spec/integration/knife/download_spec.rb +0 -1336
  527. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  528. data/spec/integration/knife/environment_create_spec.rb +0 -41
  529. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  530. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  531. data/spec/integration/knife/environment_list_spec.rb +0 -42
  532. data/spec/integration/knife/environment_show_spec.rb +0 -77
  533. data/spec/integration/knife/list_spec.rb +0 -1060
  534. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  535. data/spec/integration/knife/node_create_spec.rb +0 -47
  536. data/spec/integration/knife/node_delete_spec.rb +0 -48
  537. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  538. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  539. data/spec/integration/knife/node_list_spec.rb +0 -45
  540. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  541. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  542. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  543. data/spec/integration/knife/node_show_spec.rb +0 -36
  544. data/spec/integration/knife/raw_spec.rb +0 -297
  545. data/spec/integration/knife/redirection_spec.rb +0 -64
  546. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  547. data/spec/integration/knife/role_create_spec.rb +0 -41
  548. data/spec/integration/knife/role_delete_spec.rb +0 -48
  549. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  550. data/spec/integration/knife/role_list_spec.rb +0 -45
  551. data/spec/integration/knife/role_show_spec.rb +0 -51
  552. data/spec/integration/knife/search_node_spec.rb +0 -40
  553. data/spec/integration/knife/serve_spec.rb +0 -92
  554. data/spec/integration/knife/show_spec.rb +0 -197
  555. data/spec/integration/knife/upload_spec.rb +0 -1617
  556. data/spec/support/shared/functional/knife.rb +0 -37
  557. data/spec/support/shared/functional/win32_service.rb +0 -57
  558. data/spec/support/shared/integration/knife_support.rb +0 -192
  559. data/spec/support/shared/unit/knife_shared.rb +0 -39
  560. data/spec/unit/application/knife_spec.rb +0 -241
  561. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  562. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  563. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  564. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  565. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  566. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  567. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  568. data/spec/unit/knife/client_create_spec.rb +0 -169
  569. data/spec/unit/knife/client_delete_spec.rb +0 -99
  570. data/spec/unit/knife/client_edit_spec.rb +0 -53
  571. data/spec/unit/knife/client_list_spec.rb +0 -34
  572. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  573. data/spec/unit/knife/client_show_spec.rb +0 -52
  574. data/spec/unit/knife/configure_client_spec.rb +0 -81
  575. data/spec/unit/knife/configure_spec.rb +0 -190
  576. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  577. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  578. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  579. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  580. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  581. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  582. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  583. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  584. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  585. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  586. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  587. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  588. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  589. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  590. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  591. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  592. data/spec/unit/knife/core/ui_spec.rb +0 -656
  593. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  594. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  595. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  596. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  597. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  598. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  599. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  600. data/spec/unit/knife/environment_create_spec.rb +0 -91
  601. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  602. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  603. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  604. data/spec/unit/knife/environment_list_spec.rb +0 -54
  605. data/spec/unit/knife/environment_show_spec.rb +0 -52
  606. data/spec/unit/knife/key_create_spec.rb +0 -223
  607. data/spec/unit/knife/key_delete_spec.rb +0 -133
  608. data/spec/unit/knife/key_edit_spec.rb +0 -264
  609. data/spec/unit/knife/key_helper.rb +0 -74
  610. data/spec/unit/knife/key_list_spec.rb +0 -216
  611. data/spec/unit/knife/key_show_spec.rb +0 -126
  612. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  613. data/spec/unit/knife/node_delete_spec.rb +0 -77
  614. data/spec/unit/knife/node_edit_spec.rb +0 -116
  615. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  616. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  617. data/spec/unit/knife/node_list_spec.rb +0 -62
  618. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  619. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  620. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  621. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  622. data/spec/unit/knife/node_show_spec.rb +0 -65
  623. data/spec/unit/knife/raw_spec.rb +0 -43
  624. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  625. data/spec/unit/knife/role_create_spec.rb +0 -80
  626. data/spec/unit/knife/role_delete_spec.rb +0 -67
  627. data/spec/unit/knife/role_edit_spec.rb +0 -77
  628. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  629. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  630. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  631. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  632. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  633. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  634. data/spec/unit/knife/role_list_spec.rb +0 -54
  635. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  636. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  637. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  638. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  639. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  640. data/spec/unit/knife/role_show_spec.rb +0 -59
  641. data/spec/unit/knife/ssh_spec.rb +0 -403
  642. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  643. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  644. data/spec/unit/knife/status_spec.rb +0 -112
  645. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  646. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  647. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  648. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  649. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  650. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  651. data/spec/unit/knife/tag_create_spec.rb +0 -23
  652. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  653. data/spec/unit/knife/tag_list_spec.rb +0 -23
  654. data/spec/unit/knife/user_create_spec.rb +0 -184
  655. data/spec/unit/knife/user_delete_spec.rb +0 -46
  656. data/spec/unit/knife/user_edit_spec.rb +0 -48
  657. data/spec/unit/knife/user_list_spec.rb +0 -36
  658. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  659. data/spec/unit/knife/user_show_spec.rb +0 -46
  660. data/spec/unit/knife_spec.rb +0 -634
  661. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  662. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,49 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class DataBagDelete < Knife
24
-
25
- deps do
26
- require_relative "../data_bag"
27
- end
28
-
29
- banner "knife data bag delete BAG [ITEM] (options)"
30
- category "data bag"
31
-
32
- def run
33
- if @name_args.length == 2
34
- delete_object(Chef::DataBagItem, @name_args[1], "data_bag_item") do
35
- rest.delete("data/#{@name_args[0]}/#{@name_args[1]}")
36
- end
37
- elsif @name_args.length == 1
38
- delete_object(Chef::DataBag, @name_args[0], "data_bag") do
39
- rest.delete("data/#{@name_args[0]}")
40
- end
41
- else
42
- show_usage
43
- ui.fatal("You must specify at least a data bag name")
44
- exit 1
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,74 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Seth Falcon (<seth@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
- require_relative "data_bag_secret_options"
22
-
23
- class Chef
24
- class Knife
25
- class DataBagEdit < Knife
26
- include DataBagSecretOptions
27
-
28
- deps do
29
- require_relative "../data_bag_item"
30
- require_relative "../encrypted_data_bag_item"
31
- end
32
-
33
- banner "knife data bag edit BAG ITEM (options)"
34
- category "data bag"
35
-
36
- def load_item(bag, item_name)
37
- item = Chef::DataBagItem.load(bag, item_name)
38
- if encrypted?(item.raw_data)
39
- if encryption_secret_provided_ignore_encrypt_flag?
40
- [Chef::EncryptedDataBagItem.new(item, read_secret).to_hash, true]
41
- else
42
- ui.fatal("You cannot edit an encrypted data bag without providing the secret.")
43
- exit(1)
44
- end
45
- else
46
- [item.raw_data, false]
47
- end
48
- end
49
-
50
- def run
51
- if @name_args.length != 2
52
- stdout.puts "You must supply the data bag and an item to edit"
53
- stdout.puts opt_parser
54
- exit 1
55
- end
56
-
57
- item, was_encrypted = load_item(@name_args[0], @name_args[1])
58
- edited_item = edit_hash(item)
59
-
60
- if was_encrypted || encryption_secret_provided?
61
- ui.info("Encrypting data bag using provided secret.")
62
- item_to_save = Chef::EncryptedDataBagItem.encrypt_data_bag_item(edited_item, read_secret)
63
- else
64
- ui.info("Saving data bag unencrypted. To encrypt it, provide an appropriate secret.")
65
- item_to_save = edited_item
66
- end
67
-
68
- rest.put("data/#{@name_args[0]}/#{@name_args[1]}", item_to_save)
69
- stdout.puts("Saved data_bag_item[#{@name_args[1]}]")
70
- ui.output(edited_item) if config[:print_after]
71
- end
72
- end
73
- end
74
- end
@@ -1,113 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Seth Falcon (<seth@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
- require_relative "data_bag_secret_options"
22
-
23
- class Chef
24
- class Knife
25
- class DataBagFromFile < Knife
26
- include DataBagSecretOptions
27
-
28
- deps do
29
- require_relative "../util/path_helper"
30
- require_relative "../data_bag"
31
- require_relative "../data_bag_item"
32
- require_relative "core/object_loader"
33
- require_relative "../encrypted_data_bag_item"
34
- end
35
-
36
- banner "knife data bag from file BAG FILE|FOLDER [FILE|FOLDER..] (options)"
37
- category "data bag"
38
-
39
- option :all,
40
- short: "-a",
41
- long: "--all",
42
- description: "Upload all data bags or all items for specified data bags."
43
-
44
- def loader
45
- @loader ||= Knife::Core::ObjectLoader.new(DataBagItem, ui)
46
- end
47
-
48
- def run
49
- if config[:all] == true
50
- load_all_data_bags(@name_args)
51
- else
52
- if @name_args.size < 2
53
- ui.msg(opt_parser)
54
- exit(1)
55
- end
56
- @data_bag = @name_args.shift
57
- load_data_bag_items(@data_bag, @name_args)
58
- end
59
- end
60
-
61
- private
62
-
63
- def data_bags_path
64
- @data_bag_path ||= "data_bags"
65
- end
66
-
67
- def find_all_data_bags
68
- loader.find_all_object_dirs("./#{data_bags_path}")
69
- end
70
-
71
- def find_all_data_bag_items(data_bag)
72
- loader.find_all_objects("./#{data_bags_path}/#{data_bag}")
73
- end
74
-
75
- def load_all_data_bags(args)
76
- data_bags = args.empty? ? find_all_data_bags : [args.shift]
77
- data_bags.each do |data_bag|
78
- load_data_bag_items(data_bag)
79
- end
80
- end
81
-
82
- def load_data_bag_items(data_bag, items = nil)
83
- items ||= find_all_data_bag_items(data_bag)
84
- item_paths = normalize_item_paths(items)
85
- item_paths.each do |item_path|
86
- item = loader.load_from((data_bags_path).to_s, data_bag, item_path)
87
- item = if encryption_secret_provided?
88
- Chef::EncryptedDataBagItem.encrypt_data_bag_item(item, read_secret)
89
- else
90
- item
91
- end
92
- dbag = Chef::DataBagItem.new
93
- dbag.data_bag(data_bag)
94
- dbag.raw_data = item
95
- dbag.save
96
- ui.info("Updated data_bag_item[#{dbag.data_bag}::#{dbag.id}]")
97
- end
98
- end
99
-
100
- def normalize_item_paths(args)
101
- paths = []
102
- args.each do |path|
103
- if File.directory?(path)
104
- paths.concat(Dir.glob(File.join(Chef::Util::PathHelper.escape_glob_dir(path), "*.json")))
105
- else
106
- paths << path
107
- end
108
- end
109
- paths
110
- end
111
- end
112
- end
113
- end
@@ -1,42 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class DataBagList < Knife
24
-
25
- deps do
26
- require_relative "../data_bag"
27
- end
28
-
29
- banner "knife data bag list (options)"
30
- category "data bag"
31
-
32
- option :with_uri,
33
- short: "-w",
34
- long: "--with-uri",
35
- description: "Show corresponding URIs."
36
-
37
- def run
38
- output(format_list_for_display(Chef::DataBag.list))
39
- end
40
- end
41
- end
42
- end
@@ -1,122 +0,0 @@
1
- #
2
- # Author:: Tyler Ball (<tball@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require "mixlib/cli" unless defined?(Mixlib::CLI)
20
- require_relative "../config"
21
- require_relative "../encrypted_data_bag_item/check_encrypted"
22
-
23
- class Chef
24
- class Knife
25
- module DataBagSecretOptions
26
- include Mixlib::CLI
27
- include Chef::EncryptedDataBagItem::CheckEncrypted
28
-
29
- # The config object is populated by knife#merge_configs with knife.rb `knife[:*]` config values, but they do
30
- # not overwrite the command line properties. It does mean, however, that `knife[:secret]` and `--secret-file`
31
- # passed at the same time populate both `config[:secret]` and `config[:secret_file]`. We cannot differentiate
32
- # the valid case (`knife[:secret]` in config file and `--secret-file` on CL) and the invalid case (`--secret`
33
- # and `--secret-file` on the CL) - thats why I'm storing the CL options in a different config key if they
34
- # are provided.
35
-
36
- def self.included(base)
37
- base.option :cl_secret,
38
- long: "--secret SECRET",
39
- description: "The secret key to use to encrypt data bag item values. Can also be defaulted in your config with the key 'secret'."
40
-
41
- base.option :cl_secret_file,
42
- long: "--secret-file SECRET_FILE",
43
- description: "A file containing the secret key to use to encrypt data bag item values. Can also be defaulted in your config with the key 'secret_file'."
44
-
45
- base.option :encrypt,
46
- long: "--encrypt",
47
- description: "If 'secret' or 'secret_file' is present in your config, then encrypt data bags using it.",
48
- boolean: true,
49
- default: false
50
- end
51
-
52
- def encryption_secret_provided?
53
- base_encryption_secret_provided?
54
- end
55
-
56
- def encryption_secret_provided_ignore_encrypt_flag?
57
- base_encryption_secret_provided?(false)
58
- end
59
-
60
- def read_secret
61
- # Moving the non 'compile-time' requires into here to speed up knife command loading
62
- # IE, if we are not running 'knife data bag *' we don't need to load 'chef/encrypted_data_bag_item'
63
- require_relative "../encrypted_data_bag_item"
64
-
65
- if config[:cl_secret]
66
- config[:cl_secret]
67
- elsif config[:cl_secret_file]
68
- Chef::EncryptedDataBagItem.load_secret(config[:cl_secret_file])
69
- elsif secret = config[:secret]
70
- secret
71
- else
72
- secret_file = config[:secret_file]
73
- Chef::EncryptedDataBagItem.load_secret(secret_file)
74
- end
75
- end
76
-
77
- def validate_secrets
78
- if config[:cl_secret] && config[:cl_secret_file]
79
- ui.fatal("Please specify only one of --secret, --secret-file")
80
- exit(1)
81
- end
82
-
83
- if config[:secret] && config[:secret_file]
84
- ui.fatal("Please specify only one of 'secret' or 'secret_file' in your config file")
85
- exit(1)
86
- end
87
- end
88
-
89
- private
90
-
91
- ##
92
- # Determine if the user has specified an appropriate secret for encrypting data bag items.
93
- # @return boolean
94
- def base_encryption_secret_provided?(need_encrypt_flag = true)
95
- validate_secrets
96
-
97
- return true if config[:cl_secret] || config[:cl_secret_file]
98
-
99
- if need_encrypt_flag
100
- if config[:encrypt]
101
- unless config[:secret] || config[:secret_file]
102
- ui.fatal("No secret or secret_file specified in config, unable to encrypt item.")
103
- exit(1)
104
- end
105
- return true
106
- end
107
- return false
108
- elsif config[:secret] || config[:secret_file]
109
- # Certain situations (show and bootstrap) don't need a --encrypt flag to use the config file secret
110
- return true
111
- end
112
- false
113
- end
114
-
115
- def knife_config
116
- Chef.deprecated(:knife_bootstrap_apis, "The `knife_config` bootstrap helper has been deprecated, use the properly merged `config` helper instead")
117
- Chef::Config.key?(:knife) ? Chef::Config[:knife] : {}
118
- end
119
-
120
- end
121
- end
122
- end
@@ -1,69 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Seth Falcon (<seth@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
- require_relative "data_bag_secret_options"
22
-
23
- class Chef
24
- class Knife
25
- class DataBagShow < Knife
26
- include DataBagSecretOptions
27
-
28
- deps do
29
- require_relative "../data_bag"
30
- require_relative "../encrypted_data_bag_item"
31
- end
32
-
33
- banner "knife data bag show BAG [ITEM] (options)"
34
- category "data bag"
35
-
36
- def run
37
- display = case @name_args.length
38
- when 2 # Bag and Item names provided
39
- secret = encryption_secret_provided_ignore_encrypt_flag? ? read_secret : nil
40
- raw_data = Chef::DataBagItem.load(@name_args[0], @name_args[1]).raw_data
41
- encrypted = encrypted?(raw_data)
42
-
43
- if encrypted && secret
44
- # Users do not need to pass --encrypt to read data, we simply try to use the provided secret
45
- ui.info("Encrypted data bag detected, decrypting with provided secret.")
46
- raw = Chef::EncryptedDataBagItem.load(@name_args[0],
47
- @name_args[1],
48
- secret)
49
- format_for_display(raw.to_h)
50
- elsif encrypted && !secret
51
- ui.warn("Encrypted data bag detected, but no secret provided for decoding. Displaying encrypted data.")
52
- format_for_display(raw_data)
53
- else
54
- ui.warn("Unencrypted data bag detected, ignoring any provided secret options.") if secret
55
- format_for_display(raw_data)
56
- end
57
-
58
- when 1 # Only Bag name provided
59
- format_list_for_display(Chef::DataBag.load(@name_args[0]))
60
- else
61
- stdout.puts opt_parser
62
- exit(1)
63
- end
64
- output(display)
65
- end
66
-
67
- end
68
- end
69
- end