chef 16.13.16-universal-mingw32 → 17.3.48-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 (730) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +11 -22
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +12 -24
  7. data/lib/chef/action_collection.rb +6 -26
  8. data/lib/chef/application.rb +1 -1
  9. data/lib/chef/application/base.rb +16 -1
  10. data/lib/chef/applications.rb +0 -1
  11. data/lib/chef/chef_fs/command_line.rb +5 -2
  12. data/lib/chef/chef_fs/file_pattern.rb +2 -2
  13. data/lib/chef/chef_fs/file_system.rb +9 -10
  14. data/lib/chef/client.rb +9 -3
  15. data/lib/chef/compliance/default_attributes.rb +5 -4
  16. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  17. data/lib/chef/compliance/reporter/automate.rb +17 -7
  18. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  19. data/lib/chef/compliance/reporter/cli.rb +77 -0
  20. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  21. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  22. data/lib/chef/compliance/runner.rb +65 -27
  23. data/lib/chef/cookbook/cookbook_version_loader.rb +3 -3
  24. data/lib/chef/cookbook/gem_installer.rb +5 -1
  25. data/lib/chef/cookbook/synchronizer.rb +3 -5
  26. data/lib/chef/cookbook_loader.rb +2 -4
  27. data/lib/chef/cookbook_uploader.rb +0 -1
  28. data/lib/chef/cookbook_version.rb +26 -4
  29. data/lib/chef/data_bag_item.rb +11 -2
  30. data/lib/chef/data_collector.rb +0 -1
  31. data/lib/chef/data_collector/run_end_message.rb +1 -1
  32. data/lib/chef/delayed_evaluator.rb +4 -0
  33. data/lib/chef/deprecated.rb +18 -4
  34. data/lib/chef/dsl.rb +1 -0
  35. data/lib/chef/dsl/chef_vault.rb +6 -6
  36. data/lib/chef/dsl/declare_resource.rb +5 -10
  37. data/lib/chef/dsl/reboot_pending.rb +1 -2
  38. data/lib/chef/{knife/group_list.rb → dsl/render_helpers.rb} +18 -17
  39. data/lib/chef/dsl/secret.rb +64 -0
  40. data/lib/chef/dsl/toml.rb +116 -0
  41. data/lib/chef/dsl/universal.rb +5 -0
  42. data/lib/chef/event_dispatch/base.rb +2 -1
  43. data/lib/chef/exceptions.rb +25 -0
  44. data/lib/chef/formatters/doc.rb +2 -1
  45. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  46. data/lib/chef/group.rb +75 -0
  47. data/lib/chef/handler.rb +46 -8
  48. data/lib/chef/handler/slow_report.rb +66 -0
  49. data/lib/chef/json_compat.rb +1 -1
  50. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  51. data/lib/chef/node.rb +21 -20
  52. data/lib/chef/node/attribute.rb +6 -4
  53. data/lib/chef/node/immutable_collections.rb +13 -0
  54. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  55. data/lib/chef/org.rb +3 -2
  56. data/lib/chef/policy_builder/policyfile.rb +88 -45
  57. data/lib/chef/property.rb +18 -0
  58. data/lib/chef/provider.rb +1 -1
  59. data/lib/chef/provider/cron.rb +1 -1
  60. data/lib/chef/provider/directory.rb +6 -6
  61. data/lib/chef/provider/execute.rb +2 -1
  62. data/lib/chef/provider/file.rb +3 -3
  63. data/lib/chef/provider/git.rb +5 -7
  64. data/lib/chef/provider/group/groupadd.rb +3 -3
  65. data/lib/chef/provider/group/groupmod.rb +3 -3
  66. data/lib/chef/provider/group/pw.rb +3 -3
  67. data/lib/chef/provider/ifconfig.rb +2 -2
  68. data/lib/chef/provider/link.rb +3 -3
  69. data/lib/chef/provider/lwrp_base.rb +1 -1
  70. data/lib/chef/provider/mount.rb +5 -5
  71. data/lib/chef/provider/mount/aix.rb +3 -3
  72. data/lib/chef/provider/mount/mount.rb +5 -5
  73. data/lib/chef/provider/mount/windows.rb +1 -1
  74. data/lib/chef/provider/package.rb +17 -21
  75. data/lib/chef/provider/package/apt.rb +27 -1
  76. data/lib/chef/provider/package/deb.rb +3 -3
  77. data/lib/chef/provider/package/dnf/dnf_helper.py +12 -11
  78. data/lib/chef/provider/package/dnf/python_helper.rb +9 -8
  79. data/lib/chef/provider/package/habitat.rb +168 -0
  80. data/lib/chef/provider/package/portage.rb +2 -2
  81. data/lib/chef/provider/package/powershell.rb +5 -0
  82. data/lib/chef/provider/package/rubygems.rb +11 -17
  83. data/lib/chef/provider/package/windows.rb +2 -4
  84. data/lib/chef/provider/package/yum.rb +1 -4
  85. data/lib/chef/provider/package/yum/python_helper.rb +15 -10
  86. data/lib/chef/provider/package/yum/yum_helper.py +47 -63
  87. data/lib/chef/provider/registry_key.rb +1 -1
  88. data/lib/chef/provider/route.rb +2 -2
  89. data/lib/chef/provider/service.rb +6 -6
  90. data/lib/chef/provider/service/aixinit.rb +1 -1
  91. data/lib/chef/provider/service/debian.rb +1 -1
  92. data/lib/chef/provider/service/freebsd.rb +15 -21
  93. data/lib/chef/provider/service/macosx.rb +4 -4
  94. data/lib/chef/provider/service/systemd.rb +43 -14
  95. data/lib/chef/provider/service/upstart.rb +2 -13
  96. data/lib/chef/provider/service/windows.rb +12 -12
  97. data/lib/chef/provider/subversion.rb +10 -12
  98. data/lib/chef/provider/support/zypper_repo.erb +4 -2
  99. data/lib/chef/provider/systemd_unit.rb +36 -10
  100. data/lib/chef/provider/template/content.rb +3 -7
  101. data/lib/chef/provider/user.rb +2 -2
  102. data/lib/chef/provider/user/dscl.rb +1 -1
  103. data/lib/chef/provider/user/mac.rb +17 -20
  104. data/lib/chef/provider/user/pw.rb +1 -1
  105. data/lib/chef/provider/user/windows.rb +1 -1
  106. data/lib/chef/provider/windows_script.rb +1 -1
  107. data/lib/chef/provider/zypper_repository.rb +28 -32
  108. data/lib/chef/providers.rb +1 -1
  109. data/lib/chef/resource.rb +6 -7
  110. data/lib/chef/resource/alternatives.rb +6 -6
  111. data/lib/chef/resource/apt_package.rb +1 -1
  112. data/lib/chef/resource/apt_preference.rb +2 -2
  113. data/lib/chef/resource/apt_repository.rb +6 -6
  114. data/lib/chef/resource/apt_update.rb +5 -4
  115. data/lib/chef/resource/archive_file.rb +2 -3
  116. data/lib/chef/resource/breakpoint.rb +1 -1
  117. data/lib/chef/resource/build_essential.rb +2 -6
  118. data/lib/chef/resource/chef_client_config.rb +10 -5
  119. data/lib/chef/resource/chef_client_cron.rb +5 -5
  120. data/lib/chef/resource/chef_client_launchd.rb +6 -6
  121. data/lib/chef/resource/chef_client_scheduled_task.rb +16 -16
  122. data/lib/chef/resource/chef_client_systemd_timer.rb +5 -5
  123. data/lib/chef/resource/chef_client_trusted_certificate.rb +2 -2
  124. data/lib/chef/resource/chef_handler.rb +3 -7
  125. data/lib/chef/resource/chef_sleep.rb +1 -1
  126. data/lib/chef/resource/chef_vault_secret.rb +5 -10
  127. data/lib/chef/resource/chocolatey_config.rb +2 -6
  128. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  129. data/lib/chef/resource/chocolatey_source.rb +4 -10
  130. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  131. data/lib/chef/resource/cron/cron_d.rb +4 -6
  132. data/lib/chef/resource/cron_access.rb +2 -4
  133. data/lib/chef/resource/dmg_package.rb +6 -10
  134. data/lib/chef/resource/dpkg_package.rb +1 -1
  135. data/lib/chef/resource/dsc_resource.rb +1 -1
  136. data/lib/chef/resource/execute.rb +11 -6
  137. data/lib/chef/resource/file.rb +1 -1
  138. data/lib/chef/resource/gem_package.rb +2 -1
  139. data/lib/chef/resource/group.rb +6 -6
  140. data/lib/chef/{knife/recipe_list.rb → resource/habitat/_habitat_shared.rb} +13 -17
  141. data/lib/chef/resource/habitat/habitat_package.rb +129 -0
  142. data/lib/chef/resource/habitat/habitat_sup.rb +329 -0
  143. data/lib/chef/resource/habitat/habitat_sup_systemd.rb +67 -0
  144. data/lib/chef/resource/habitat/habitat_sup_windows.rb +90 -0
  145. data/lib/chef/resource/habitat_config.rb +107 -0
  146. data/lib/chef/resource/habitat_install.rb +247 -0
  147. data/lib/chef/resource/habitat_service.rb +451 -0
  148. data/lib/chef/resource/habitat_user_toml.rb +92 -0
  149. data/lib/chef/resource/homebrew_cask.rb +17 -10
  150. data/lib/chef/resource/homebrew_package.rb +1 -1
  151. data/lib/chef/resource/homebrew_tap.rb +4 -7
  152. data/lib/chef/resource/homebrew_update.rb +2 -2
  153. data/lib/chef/resource/hostname.rb +68 -22
  154. data/lib/chef/resource/http_request.rb +1 -1
  155. data/lib/chef/resource/inspec_waiver_file_entry.rb +156 -0
  156. data/lib/chef/resource/kernel_module.rb +6 -17
  157. data/lib/chef/resource/locale.rb +2 -3
  158. data/lib/chef/resource/lwrp_base.rb +20 -1
  159. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  160. data/lib/chef/resource/mdadm.rb +53 -7
  161. data/lib/chef/resource/mount.rb +2 -1
  162. data/lib/chef/resource/ohai_hint.rb +2 -6
  163. data/lib/chef/resource/openbsd_package.rb +17 -0
  164. data/lib/chef/resource/openssl_dhparam.rb +1 -2
  165. data/lib/chef/resource/openssl_ec_private_key.rb +3 -5
  166. data/lib/chef/resource/openssl_ec_public_key.rb +1 -3
  167. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -4
  168. data/lib/chef/resource/openssl_rsa_public_key.rb +1 -3
  169. data/lib/chef/resource/openssl_x509_certificate.rb +3 -6
  170. data/lib/chef/resource/openssl_x509_crl.rb +1 -3
  171. data/lib/chef/resource/openssl_x509_request.rb +1 -3
  172. data/lib/chef/resource/osx_profile.rb +3 -3
  173. data/lib/chef/resource/plist.rb +8 -8
  174. data/lib/chef/resource/powershell_package_source.rb +2 -4
  175. data/lib/chef/resource/powershell_script.rb +1 -1
  176. data/lib/chef/resource/reboot.rb +38 -9
  177. data/lib/chef/resource/remote_directory.rb +2 -2
  178. data/lib/chef/resource/remote_file.rb +3 -3
  179. data/lib/chef/resource/rhsm_errata.rb +16 -3
  180. data/lib/chef/resource/rhsm_errata_level.rb +11 -6
  181. data/lib/chef/resource/rhsm_register.rb +12 -6
  182. data/lib/chef/resource/rhsm_repo.rb +17 -6
  183. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  184. data/lib/chef/resource/scm/git.rb +1 -1
  185. data/lib/chef/resource/ssh_known_hosts_entry.rb +4 -7
  186. data/lib/chef/resource/sudo.rb +8 -12
  187. data/lib/chef/resource/support/HabService.dll.config.erb +19 -0
  188. data/lib/chef/resource/support/client.erb +8 -1
  189. data/lib/chef/resource/support/sup.toml.erb +179 -0
  190. data/lib/chef/resource/swap_file.rb +2 -6
  191. data/lib/chef/resource/sysctl.rb +2 -6
  192. data/lib/chef/resource/systemd_unit.rb +2 -2
  193. data/lib/chef/resource/template.rb +1 -1
  194. data/lib/chef/resource/timezone.rb +1 -3
  195. data/lib/chef/resource/user/mac_user.rb +1 -1
  196. data/lib/chef/resource/user_ulimit.rb +2 -2
  197. data/lib/chef/resource/windows_ad_join.rb +2 -6
  198. data/lib/chef/resource/windows_audit_policy.rb +2 -2
  199. data/lib/chef/resource/windows_auto_run.rb +2 -5
  200. data/lib/chef/resource/windows_certificate.rb +207 -73
  201. data/lib/chef/resource/windows_defender.rb +163 -0
  202. data/lib/chef/resource/windows_defender_exclusion.rb +125 -0
  203. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  204. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  205. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  206. data/lib/chef/resource/windows_dns_record.rb +2 -6
  207. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  208. data/lib/chef/resource/windows_env.rb +6 -5
  209. data/lib/chef/resource/windows_feature.rb +3 -9
  210. data/lib/chef/resource/windows_feature_dism.rb +3 -9
  211. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  212. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  213. data/lib/chef/resource/windows_firewall_rule.rb +20 -9
  214. data/lib/chef/resource/windows_font.rb +3 -5
  215. data/lib/chef/resource/windows_pagefile.rb +104 -69
  216. data/lib/chef/resource/windows_path.rb +4 -4
  217. data/lib/chef/resource/windows_printer.rb +80 -61
  218. data/lib/chef/resource/windows_printer_port.rb +49 -66
  219. data/lib/chef/resource/windows_security_policy.rb +56 -40
  220. data/lib/chef/resource/windows_share.rb +14 -21
  221. data/lib/chef/resource/windows_shortcut.rb +4 -6
  222. data/lib/chef/resource/windows_task.rb +19 -7
  223. data/lib/chef/resource/windows_uac.rb +3 -5
  224. data/lib/chef/resource/windows_update_settings.rb +259 -0
  225. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  226. data/lib/chef/resource/windows_workgroup.rb +3 -4
  227. data/lib/chef/resource/yum_package.rb +10 -10
  228. data/lib/chef/resource/zypper_package.rb +4 -4
  229. data/lib/chef/resource/zypper_repository.rb +28 -8
  230. data/lib/chef/resource_builder.rb +8 -2
  231. data/lib/chef/resource_reporter.rb +0 -1
  232. data/lib/chef/resources.rb +13 -2
  233. data/lib/chef/run_lock.rb +1 -1
  234. data/lib/chef/runner.rb +1 -1
  235. data/lib/chef/secret_fetcher.rb +54 -0
  236. data/lib/chef/secret_fetcher/aws_secrets_manager.rb +53 -0
  237. data/lib/chef/secret_fetcher/azure_key_vault.rb +56 -0
  238. data/lib/chef/secret_fetcher/base.rb +72 -0
  239. data/lib/chef/secret_fetcher/example.rb +46 -0
  240. data/lib/chef/shell/ext.rb +3 -3
  241. data/lib/chef/user.rb +0 -1
  242. data/lib/chef/user_v1.rb +3 -4
  243. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  244. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  245. data/lib/chef/version.rb +1 -1
  246. data/lib/chef/win32/api.rb +9 -2
  247. data/lib/chef/win32/registry.rb +4 -2
  248. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  249. data/spec/data/lwrp/resources/bar.rb +2 -0
  250. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  251. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  252. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  253. data/spec/data/lwrp/resources/foo.rb +2 -0
  254. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  255. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  256. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  257. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  258. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  259. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  260. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  261. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  262. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  263. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  264. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  265. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  266. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  267. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  268. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  269. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  270. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  271. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  272. data/spec/functional/mixin/from_file_spec.rb +1 -1
  273. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  274. data/spec/functional/resource/apt_package_spec.rb +1 -1
  275. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  276. data/spec/functional/resource/dnf_package_spec.rb +857 -534
  277. data/spec/functional/resource/group_spec.rb +1 -1
  278. data/spec/functional/resource/link_spec.rb +1 -1
  279. data/spec/functional/resource/registry_spec.rb +8 -8
  280. data/spec/functional/resource/remote_file_spec.rb +1 -1
  281. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  282. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  283. data/spec/functional/resource/windows_env_spec.rb +2 -2
  284. data/spec/functional/resource/windows_hostname_spec.rb +91 -0
  285. data/spec/functional/resource/windows_pagefile_spec.rb +98 -0
  286. data/spec/functional/resource/yum_package_spec.rb +495 -428
  287. data/spec/functional/version_spec.rb +1 -1
  288. data/spec/functional/win32/registry_spec.rb +1 -1
  289. data/spec/integration/client/client_spec.rb +5 -22
  290. data/spec/integration/client/exit_code_spec.rb +1 -1
  291. data/spec/integration/client/ipv6_spec.rb +1 -1
  292. data/spec/integration/compliance/compliance_spec.rb +1 -1
  293. data/spec/integration/ohai/ohai_spec.rb +7 -6
  294. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  295. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  296. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  297. data/spec/integration/recipes/notifies_spec.rb +15 -1
  298. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  299. data/spec/integration/recipes/recipe_dsl_spec.rb +10 -10
  300. data/spec/integration/recipes/resource_action_spec.rb +4 -4
  301. data/spec/integration/recipes/unified_mode_spec.rb +71 -1
  302. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  303. data/spec/spec_helper.rb +13 -13
  304. data/spec/support/chef_helpers.rb +1 -17
  305. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  306. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  307. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  308. data/spec/support/matchers/leak.rb +7 -9
  309. data/spec/support/platform_helpers.rb +1 -8
  310. data/spec/support/shared/functional/execute_resource.rb +1 -1
  311. data/spec/support/shared/integration/integration_helper.rb +0 -1
  312. data/spec/support/shared/unit/provider/file.rb +3 -9
  313. data/spec/support/shared/unit/script_resource.rb +2 -2
  314. data/spec/unit/application/solo_spec.rb +2 -2
  315. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  316. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  317. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  318. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  319. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  320. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  321. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  322. data/spec/unit/compliance/runner_spec.rb +31 -5
  323. data/spec/unit/cookbook_version_spec.rb +52 -0
  324. data/spec/unit/data_bag_item_spec.rb +1 -6
  325. data/spec/unit/data_collector_spec.rb +47 -1
  326. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  327. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  328. data/spec/unit/dsl/render_helpers_spec.rb +102 -0
  329. data/spec/unit/dsl/secret_spec.rb +65 -0
  330. data/spec/unit/handler_spec.rb +8 -2
  331. data/spec/unit/lwrp_spec.rb +1 -1
  332. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  333. data/spec/unit/node/attribute_spec.rb +1 -1
  334. data/spec/unit/node_spec.rb +78 -0
  335. data/spec/unit/org_group_spec.rb +45 -0
  336. data/spec/unit/policy_builder/dynamic_spec.rb +0 -5
  337. data/spec/unit/policy_builder/policyfile_spec.rb +144 -56
  338. data/spec/unit/property_spec.rb +23 -22
  339. data/spec/unit/provider/apt_update_spec.rb +3 -1
  340. data/spec/unit/provider/cron_spec.rb +1 -1
  341. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  342. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  343. data/spec/unit/provider/group/pw_spec.rb +2 -2
  344. data/spec/unit/provider/group_spec.rb +1 -1
  345. data/spec/unit/provider/link_spec.rb +1 -1
  346. data/spec/unit/provider/mount/aix_spec.rb +1 -1
  347. data/spec/unit/provider/package/apt_spec.rb +84 -18
  348. data/spec/unit/provider/package/deb_spec.rb +3 -3
  349. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -0
  350. data/spec/unit/provider/package/powershell_spec.rb +74 -12
  351. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  352. data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -0
  353. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  354. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  355. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  356. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  357. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  358. data/spec/unit/provider/service/windows_spec.rb +2 -2
  359. data/spec/unit/provider/subversion_spec.rb +2 -2
  360. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  361. data/spec/unit/provider/zypper_repository_spec.rb +5 -12
  362. data/spec/unit/provider_spec.rb +0 -8
  363. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
  364. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  365. data/spec/unit/resource/windows_defender_exclusion_spec.rb +62 -0
  366. data/spec/unit/resource/windows_defender_spec.rb +71 -0
  367. data/spec/unit/resource/windows_firewall_rule_spec.rb +12 -7
  368. data/spec/unit/resource/windows_pagefile_spec.rb +4 -9
  369. data/spec/unit/resource/windows_task_spec.rb +1 -1
  370. data/spec/unit/resource/windows_update_settings_spec.rb +64 -0
  371. data/spec/unit/resource/zypper_repository_spec.rb +1 -1
  372. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +63 -0
  373. data/spec/unit/secret_fetcher_spec.rb +82 -0
  374. data/spec/unit/user_spec.rb +1 -1
  375. data/spec/unit/user_v1_spec.rb +6 -4
  376. data/tasks/rspec.rb +9 -6
  377. metadata +59 -519
  378. data/bin/knife +0 -24
  379. data/lib/chef/application/knife.rb +0 -234
  380. data/lib/chef/application/windows_service.rb +0 -338
  381. data/lib/chef/application/windows_service_manager.rb +0 -205
  382. data/lib/chef/chef_fs/knife.rb +0 -160
  383. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  384. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  385. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  386. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  387. data/lib/chef/knife.rb +0 -665
  388. data/lib/chef/knife/acl_add.rb +0 -57
  389. data/lib/chef/knife/acl_base.rb +0 -183
  390. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  391. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  392. data/lib/chef/knife/acl_remove.rb +0 -62
  393. data/lib/chef/knife/acl_show.rb +0 -56
  394. data/lib/chef/knife/bootstrap.rb +0 -1192
  395. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  396. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  397. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  398. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  399. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  400. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  401. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  402. data/lib/chef/knife/client_create.rb +0 -101
  403. data/lib/chef/knife/client_delete.rb +0 -62
  404. data/lib/chef/knife/client_edit.rb +0 -52
  405. data/lib/chef/knife/client_key_create.rb +0 -73
  406. data/lib/chef/knife/client_key_delete.rb +0 -80
  407. data/lib/chef/knife/client_key_edit.rb +0 -83
  408. data/lib/chef/knife/client_key_list.rb +0 -73
  409. data/lib/chef/knife/client_key_show.rb +0 -80
  410. data/lib/chef/knife/client_list.rb +0 -41
  411. data/lib/chef/knife/client_reregister.rb +0 -58
  412. data/lib/chef/knife/client_show.rb +0 -48
  413. data/lib/chef/knife/config_get.rb +0 -39
  414. data/lib/chef/knife/config_get_profile.rb +0 -37
  415. data/lib/chef/knife/config_list.rb +0 -139
  416. data/lib/chef/knife/config_list_profiles.rb +0 -37
  417. data/lib/chef/knife/config_show.rb +0 -127
  418. data/lib/chef/knife/config_use.rb +0 -61
  419. data/lib/chef/knife/config_use_profile.rb +0 -47
  420. data/lib/chef/knife/configure.rb +0 -150
  421. data/lib/chef/knife/configure_client.rb +0 -48
  422. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  423. data/lib/chef/knife/cookbook_delete.rb +0 -151
  424. data/lib/chef/knife/cookbook_download.rb +0 -142
  425. data/lib/chef/knife/cookbook_list.rb +0 -47
  426. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  427. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  428. data/lib/chef/knife/cookbook_show.rb +0 -98
  429. data/lib/chef/knife/cookbook_upload.rb +0 -292
  430. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  431. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  432. data/lib/chef/knife/core/formatting_options.rb +0 -49
  433. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  434. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  435. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  436. data/lib/chef/knife/core/node_editor.rb +0 -130
  437. data/lib/chef/knife/core/node_presenter.rb +0 -133
  438. data/lib/chef/knife/core/object_loader.rb +0 -115
  439. data/lib/chef/knife/core/status_presenter.rb +0 -147
  440. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  441. data/lib/chef/knife/core/text_formatter.rb +0 -85
  442. data/lib/chef/knife/core/ui.rb +0 -338
  443. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  444. data/lib/chef/knife/data_bag_create.rb +0 -81
  445. data/lib/chef/knife/data_bag_delete.rb +0 -49
  446. data/lib/chef/knife/data_bag_edit.rb +0 -74
  447. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  448. data/lib/chef/knife/data_bag_list.rb +0 -42
  449. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  450. data/lib/chef/knife/data_bag_show.rb +0 -69
  451. data/lib/chef/knife/delete.rb +0 -125
  452. data/lib/chef/knife/deps.rb +0 -156
  453. data/lib/chef/knife/diff.rb +0 -83
  454. data/lib/chef/knife/download.rb +0 -84
  455. data/lib/chef/knife/edit.rb +0 -88
  456. data/lib/chef/knife/environment_compare.rb +0 -128
  457. data/lib/chef/knife/environment_create.rb +0 -52
  458. data/lib/chef/knife/environment_delete.rb +0 -44
  459. data/lib/chef/knife/environment_edit.rb +0 -44
  460. data/lib/chef/knife/environment_from_file.rb +0 -84
  461. data/lib/chef/knife/environment_list.rb +0 -41
  462. data/lib/chef/knife/environment_show.rb +0 -47
  463. data/lib/chef/knife/exec.rb +0 -99
  464. data/lib/chef/knife/group_add.rb +0 -55
  465. data/lib/chef/knife/group_create.rb +0 -49
  466. data/lib/chef/knife/group_destroy.rb +0 -53
  467. data/lib/chef/knife/group_remove.rb +0 -56
  468. data/lib/chef/knife/group_show.rb +0 -49
  469. data/lib/chef/knife/key_create.rb +0 -112
  470. data/lib/chef/knife/key_create_base.rb +0 -50
  471. data/lib/chef/knife/key_delete.rb +0 -55
  472. data/lib/chef/knife/key_edit.rb +0 -118
  473. data/lib/chef/knife/key_edit_base.rb +0 -55
  474. data/lib/chef/knife/key_list.rb +0 -90
  475. data/lib/chef/knife/key_list_base.rb +0 -45
  476. data/lib/chef/knife/key_show.rb +0 -53
  477. data/lib/chef/knife/list.rb +0 -177
  478. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  479. data/lib/chef/knife/node_create.rb +0 -47
  480. data/lib/chef/knife/node_delete.rb +0 -46
  481. data/lib/chef/knife/node_edit.rb +0 -70
  482. data/lib/chef/knife/node_environment_set.rb +0 -53
  483. data/lib/chef/knife/node_from_file.rb +0 -51
  484. data/lib/chef/knife/node_list.rb +0 -44
  485. data/lib/chef/knife/node_policy_set.rb +0 -79
  486. data/lib/chef/knife/node_run_list_add.rb +0 -104
  487. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  488. data/lib/chef/knife/node_run_list_set.rb +0 -66
  489. data/lib/chef/knife/node_show.rb +0 -63
  490. data/lib/chef/knife/null.rb +0 -12
  491. data/lib/chef/knife/raw.rb +0 -123
  492. data/lib/chef/knife/rehash.rb +0 -50
  493. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  494. data/lib/chef/knife/role_create.rb +0 -53
  495. data/lib/chef/knife/role_delete.rb +0 -46
  496. data/lib/chef/knife/role_edit.rb +0 -45
  497. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  498. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  499. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  500. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  501. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  502. data/lib/chef/knife/role_from_file.rb +0 -51
  503. data/lib/chef/knife/role_list.rb +0 -42
  504. data/lib/chef/knife/role_run_list_add.rb +0 -87
  505. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  506. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  507. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  508. data/lib/chef/knife/role_run_list_set.rb +0 -69
  509. data/lib/chef/knife/role_show.rb +0 -48
  510. data/lib/chef/knife/search.rb +0 -194
  511. data/lib/chef/knife/serve.rb +0 -65
  512. data/lib/chef/knife/show.rb +0 -72
  513. data/lib/chef/knife/ssh.rb +0 -645
  514. data/lib/chef/knife/ssl_check.rb +0 -284
  515. data/lib/chef/knife/ssl_fetch.rb +0 -161
  516. data/lib/chef/knife/status.rb +0 -95
  517. data/lib/chef/knife/supermarket_download.rb +0 -121
  518. data/lib/chef/knife/supermarket_install.rb +0 -192
  519. data/lib/chef/knife/supermarket_list.rb +0 -76
  520. data/lib/chef/knife/supermarket_search.rb +0 -53
  521. data/lib/chef/knife/supermarket_share.rb +0 -166
  522. data/lib/chef/knife/supermarket_show.rb +0 -66
  523. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  524. data/lib/chef/knife/tag_create.rb +0 -52
  525. data/lib/chef/knife/tag_delete.rb +0 -60
  526. data/lib/chef/knife/tag_list.rb +0 -47
  527. data/lib/chef/knife/upload.rb +0 -86
  528. data/lib/chef/knife/user_create.rb +0 -107
  529. data/lib/chef/knife/user_delete.rb +0 -44
  530. data/lib/chef/knife/user_dissociate.rb +0 -42
  531. data/lib/chef/knife/user_edit.rb +0 -52
  532. data/lib/chef/knife/user_invite_add.rb +0 -43
  533. data/lib/chef/knife/user_invite_list.rb +0 -34
  534. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  535. data/lib/chef/knife/user_key_create.rb +0 -73
  536. data/lib/chef/knife/user_key_delete.rb +0 -80
  537. data/lib/chef/knife/user_key_edit.rb +0 -83
  538. data/lib/chef/knife/user_key_list.rb +0 -73
  539. data/lib/chef/knife/user_key_show.rb +0 -80
  540. data/lib/chef/knife/user_list.rb +0 -42
  541. data/lib/chef/knife/user_reregister.rb +0 -59
  542. data/lib/chef/knife/user_show.rb +0 -48
  543. data/lib/chef/knife/xargs.rb +0 -282
  544. data/lib/chef/knife/yaml_convert.rb +0 -91
  545. data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -79
  546. data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -318
  547. data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
  548. data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -354
  549. data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
  550. data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -440
  551. data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
  552. data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -65
  553. data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
  554. data/lib/chef/provider/package/yum/simplejson/tool.py +0 -37
  555. data/lib/chef/resource/user/dscl_user.rb +0 -35
  556. data/spec/functional/knife/configure_spec.rb +0 -33
  557. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  558. data/spec/functional/knife/exec_spec.rb +0 -55
  559. data/spec/functional/knife/rehash_spec.rb +0 -39
  560. data/spec/functional/knife/smoke_test.rb +0 -42
  561. data/spec/functional/knife/ssh_spec.rb +0 -352
  562. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  563. data/spec/functional/resource/windows_service_spec.rb +0 -105
  564. data/spec/functional/win32/service_manager_spec.rb +0 -220
  565. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  566. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  567. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  568. data/spec/integration/knife/chefignore_spec.rb +0 -301
  569. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  570. data/spec/integration/knife/client_create_spec.rb +0 -70
  571. data/spec/integration/knife/client_delete_spec.rb +0 -64
  572. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  573. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  574. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  575. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  576. data/spec/integration/knife/client_list_spec.rb +0 -49
  577. data/spec/integration/knife/client_show_spec.rb +0 -37
  578. data/spec/integration/knife/common_options_spec.rb +0 -174
  579. data/spec/integration/knife/config_list_spec.rb +0 -220
  580. data/spec/integration/knife/config_show_spec.rb +0 -192
  581. data/spec/integration/knife/config_use_spec.rb +0 -198
  582. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  583. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  584. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  585. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  586. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  587. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  588. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  589. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  590. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  591. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  592. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  593. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  594. data/spec/integration/knife/delete_spec.rb +0 -1018
  595. data/spec/integration/knife/deps_spec.rb +0 -703
  596. data/spec/integration/knife/diff_spec.rb +0 -605
  597. data/spec/integration/knife/download_spec.rb +0 -1336
  598. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  599. data/spec/integration/knife/environment_create_spec.rb +0 -41
  600. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  601. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  602. data/spec/integration/knife/environment_list_spec.rb +0 -42
  603. data/spec/integration/knife/environment_show_spec.rb +0 -77
  604. data/spec/integration/knife/list_spec.rb +0 -1060
  605. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  606. data/spec/integration/knife/node_create_spec.rb +0 -47
  607. data/spec/integration/knife/node_delete_spec.rb +0 -48
  608. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  609. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  610. data/spec/integration/knife/node_list_spec.rb +0 -45
  611. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  612. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  613. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  614. data/spec/integration/knife/node_show_spec.rb +0 -36
  615. data/spec/integration/knife/raw_spec.rb +0 -297
  616. data/spec/integration/knife/redirection_spec.rb +0 -64
  617. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  618. data/spec/integration/knife/role_create_spec.rb +0 -41
  619. data/spec/integration/knife/role_delete_spec.rb +0 -48
  620. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  621. data/spec/integration/knife/role_list_spec.rb +0 -45
  622. data/spec/integration/knife/role_show_spec.rb +0 -51
  623. data/spec/integration/knife/search_node_spec.rb +0 -40
  624. data/spec/integration/knife/serve_spec.rb +0 -92
  625. data/spec/integration/knife/show_spec.rb +0 -197
  626. data/spec/integration/knife/upload_spec.rb +0 -1617
  627. data/spec/support/shared/functional/win32_service.rb +0 -57
  628. data/spec/unit/application/knife_spec.rb +0 -241
  629. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  630. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  631. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  632. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  633. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  634. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  635. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  636. data/spec/unit/knife/client_create_spec.rb +0 -169
  637. data/spec/unit/knife/client_delete_spec.rb +0 -99
  638. data/spec/unit/knife/client_edit_spec.rb +0 -53
  639. data/spec/unit/knife/client_list_spec.rb +0 -34
  640. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  641. data/spec/unit/knife/client_show_spec.rb +0 -52
  642. data/spec/unit/knife/configure_client_spec.rb +0 -81
  643. data/spec/unit/knife/configure_spec.rb +0 -190
  644. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  645. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  646. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  647. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  648. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  649. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  650. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  651. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  652. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  653. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  654. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  655. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  656. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  657. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  658. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  659. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  660. data/spec/unit/knife/core/ui_spec.rb +0 -656
  661. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  662. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  663. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  664. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  665. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  666. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  667. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  668. data/spec/unit/knife/environment_create_spec.rb +0 -91
  669. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  670. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  671. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  672. data/spec/unit/knife/environment_list_spec.rb +0 -54
  673. data/spec/unit/knife/environment_show_spec.rb +0 -52
  674. data/spec/unit/knife/key_create_spec.rb +0 -223
  675. data/spec/unit/knife/key_delete_spec.rb +0 -133
  676. data/spec/unit/knife/key_edit_spec.rb +0 -264
  677. data/spec/unit/knife/key_helper.rb +0 -74
  678. data/spec/unit/knife/key_list_spec.rb +0 -216
  679. data/spec/unit/knife/key_show_spec.rb +0 -126
  680. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  681. data/spec/unit/knife/node_delete_spec.rb +0 -77
  682. data/spec/unit/knife/node_edit_spec.rb +0 -116
  683. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  684. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  685. data/spec/unit/knife/node_list_spec.rb +0 -62
  686. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  687. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  688. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  689. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  690. data/spec/unit/knife/node_show_spec.rb +0 -65
  691. data/spec/unit/knife/raw_spec.rb +0 -43
  692. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  693. data/spec/unit/knife/role_create_spec.rb +0 -80
  694. data/spec/unit/knife/role_delete_spec.rb +0 -67
  695. data/spec/unit/knife/role_edit_spec.rb +0 -77
  696. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  697. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  698. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  699. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  700. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  701. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  702. data/spec/unit/knife/role_list_spec.rb +0 -54
  703. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  704. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  705. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  706. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  707. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  708. data/spec/unit/knife/role_show_spec.rb +0 -59
  709. data/spec/unit/knife/ssh_spec.rb +0 -403
  710. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  711. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  712. data/spec/unit/knife/status_spec.rb +0 -112
  713. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  714. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  715. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  716. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  717. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  718. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  719. data/spec/unit/knife/tag_create_spec.rb +0 -23
  720. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  721. data/spec/unit/knife/tag_list_spec.rb +0 -23
  722. data/spec/unit/knife/user_create_spec.rb +0 -184
  723. data/spec/unit/knife/user_delete_spec.rb +0 -46
  724. data/spec/unit/knife/user_edit_spec.rb +0 -48
  725. data/spec/unit/knife/user_list_spec.rb +0 -36
  726. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  727. data/spec/unit/knife/user_show_spec.rb +0 -46
  728. data/spec/unit/knife_spec.rb +0 -634
  729. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  730. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,66 +0,0 @@
1
- #
2
- # Author:: Mike Fiedler (<miketheman@gmail.com>)
3
- # Copyright:: Copyright 2013-2016, Mike Fiedler
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 NodeRunListSet < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node run_list set NODE ENTRIES (options)"
31
-
32
- def run
33
- if @name_args.size < 2
34
- ui.fatal "You must supply both a node name and a run list."
35
- show_usage
36
- exit 1
37
- elsif @name_args.size > 2
38
- # Check for nested lists and create a single plain one
39
- entries = @name_args[1..].map do |entry|
40
- entry.split(",").map(&:strip)
41
- end.flatten
42
- else
43
- # Convert to array and remove the extra spaces
44
- entries = @name_args[1].split(",").map(&:strip)
45
- end
46
- node = Chef::Node.load(@name_args[0])
47
-
48
- set_run_list(node, entries)
49
-
50
- node.save
51
-
52
- config[:run_list] = true
53
-
54
- output(format_for_display(node))
55
- end
56
-
57
- # Clears out any existing run_list_items and sets them to the
58
- # specified entries
59
- def set_run_list(node, entries)
60
- node.run_list.run_list_items.clear
61
- entries.each { |e| node.run_list << e }
62
- end
63
-
64
- end
65
- end
66
- end
@@ -1,63 +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
- require_relative "core/node_presenter"
21
- require_relative "core/formatting_options"
22
- require "chef-utils/dist" unless defined?(ChefUtils::Dist)
23
-
24
- class Chef
25
- class Knife
26
- class NodeShow < Knife
27
-
28
- include Knife::Core::FormattingOptions
29
- include Knife::Core::MultiAttributeReturnOption
30
-
31
- deps do
32
- require_relative "../node"
33
- require_relative "../json_compat"
34
- end
35
-
36
- banner "knife node show NODE (options)"
37
-
38
- option :run_list,
39
- short: "-r",
40
- long: "--run-list",
41
- description: "Show only the run list."
42
-
43
- option :environment,
44
- short: "-E",
45
- long: "--environment",
46
- description: "Show only the #{ChefUtils::Dist::Infra::PRODUCT} environment."
47
-
48
- def run
49
- ui.use_presenter Knife::Core::NodePresenter
50
- @node_name = @name_args[0]
51
-
52
- if @node_name.nil?
53
- show_usage
54
- ui.fatal("You must specify a node name")
55
- exit 1
56
- end
57
-
58
- node = Chef::Node.load(@node_name)
59
- output(format_for_display(node))
60
- end
61
- end
62
- end
63
- end
@@ -1,12 +0,0 @@
1
- class Chef
2
- class Knife
3
- class Null < Chef::Knife
4
- banner "knife null"
5
-
6
- # setting the category to deprecated keeps it out of help
7
- category "deprecated"
8
-
9
- def run; end
10
- end
11
- end
12
- end
@@ -1,123 +0,0 @@
1
- #
2
- # License:: Apache License, Version 2.0
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
-
17
- require_relative "../knife"
18
-
19
- class Chef
20
- class Knife
21
- class Raw < Chef::Knife
22
- banner "knife raw REQUEST_PATH (options)"
23
-
24
- deps do
25
- require_relative "../json_compat"
26
- require_relative "../config"
27
- require_relative "../http"
28
- require_relative "../http/authenticator"
29
- require_relative "../http/cookie_manager"
30
- require_relative "../http/decompressor"
31
- require_relative "../http/json_output"
32
- end
33
-
34
- option :method,
35
- long: "--method METHOD",
36
- short: "-m METHOD",
37
- default: "GET",
38
- description: "Request method (GET, POST, PUT or DELETE). Default: GET."
39
-
40
- option :pretty,
41
- long: "--[no-]pretty",
42
- boolean: true,
43
- default: true,
44
- description: "Pretty-print JSON output. Default: true."
45
-
46
- option :input,
47
- long: "--input FILE",
48
- short: "-i FILE",
49
- description: "Name of file to use for PUT or POST."
50
-
51
- option :proxy_auth,
52
- long: "--proxy-auth",
53
- boolean: true,
54
- default: false,
55
- description: "Use webui proxy authentication. Client key must be the webui key."
56
-
57
- # We need a custom HTTP client class here because we don't want to even
58
- # try to decode the body, in case we get back corrupted JSON or whatnot.
59
- class RawInputServerAPI < Chef::HTTP
60
- def initialize(options = {})
61
- # If making a change here, also update Chef::ServerAPI.
62
- options[:client_name] ||= Chef::Config[:node_name]
63
- options[:raw_key] ||= Chef::Config[:client_key_contents]
64
- options[:signing_key_filename] ||= Chef::Config[:client_key] unless options[:raw_key]
65
- options[:ssh_agent_signing] ||= Chef::Config[:ssh_agent_signing]
66
- super(Chef::Config[:chef_server_url], options)
67
- end
68
- use Chef::HTTP::JSONOutput
69
- use Chef::HTTP::CookieManager
70
- use Chef::HTTP::Decompressor
71
- use Chef::HTTP::Authenticator
72
- use Chef::HTTP::RemoteRequestID
73
- end
74
-
75
- def run
76
- if name_args.length == 0
77
- show_usage
78
- ui.fatal("You must provide the path you want to hit on the server")
79
- exit(1)
80
- elsif name_args.length > 1
81
- show_usage
82
- ui.fatal("You must specify only a single path")
83
- exit(1)
84
- end
85
-
86
- path = name_args[0]
87
- data = false
88
- if config[:input]
89
- data = IO.read(config[:input])
90
- end
91
- begin
92
- method = config[:method].to_sym
93
-
94
- headers = { "Content-Type" => "application/json" }
95
-
96
- if config[:proxy_auth]
97
- headers["x-ops-request-source"] = "web"
98
- end
99
-
100
- if config[:pretty]
101
- chef_rest = RawInputServerAPI.new
102
- result = chef_rest.request(method, name_args[0], headers, data)
103
- unless result.is_a?(String)
104
- result = Chef::JSONCompat.to_json_pretty(result)
105
- end
106
- else
107
- chef_rest = RawInputServerAPI.new(raw_output: true)
108
- result = chef_rest.request(method, name_args[0], headers, data)
109
- end
110
- output result
111
- rescue Timeout::Error => e
112
- ui.error "Server timeout"
113
- exit 1
114
- rescue Net::HTTPClientException => e
115
- ui.error "Server responded with error #{e.response.code} \"#{e.response.message}\""
116
- ui.error "Error Body: #{e.response.body}" if e.response.body && e.response.body != ""
117
- exit 1
118
- end
119
- end
120
-
121
- end # class Raw
122
- end
123
- end
@@ -1,50 +0,0 @@
1
- #
2
- # Author:: Steven Danna <steve@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 Rehash < Chef::Knife
24
- banner "knife rehash"
25
-
26
- deps do
27
- require_relative "core/subcommand_loader"
28
- end
29
-
30
- def run
31
- if ! Chef::Knife::SubcommandLoader.autogenerated_manifest?
32
- ui.msg "Using knife-rehash will speed up knife's load time by caching the location of subcommands on disk."
33
- ui.msg "However, you will need to update the cache by running `knife rehash` anytime you install a new knife plugin."
34
- else
35
- reload_plugins
36
- end
37
-
38
- ui.msg "Knife subcommands are cached in #{Chef::Knife::SubcommandLoader.plugin_manifest_path}. Delete this file to disable the caching."
39
- Chef::Knife::SubcommandLoader.write_hash(Chef::Knife::SubcommandLoader.generate_hash)
40
- end
41
-
42
- def reload_plugins
43
- # The subcommand_loader for this knife command should _always_ be the GemGlobLoader. The GemGlobLoader loads
44
- # plugins from disc and ensures the hash we write is always correct. By this point it should also already have
45
- # loaded plugins and `load_commands` shouldn't have an effect.
46
- Chef::Knife.subcommand_loader.load_commands
47
- end
48
- end
49
- end
50
- end
@@ -1,66 +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 RoleBulkDelete < Knife
24
-
25
- deps do
26
- require_relative "../role"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife role bulk delete REGEX (options)"
31
-
32
- def run
33
- if @name_args.length < 1
34
- ui.error("You must supply a regular expression to match the results against")
35
- exit 1
36
- end
37
-
38
- all_roles = Chef::Role.list(true)
39
-
40
- matcher = /#{@name_args[0]}/
41
- roles_to_delete = {}
42
- all_roles.each do |name, role|
43
- next unless name&.match?(matcher)
44
-
45
- roles_to_delete[role.name] = role
46
- end
47
-
48
- if roles_to_delete.empty?
49
- ui.info "No roles match the expression /#{@name_args[0]}/"
50
- exit 0
51
- end
52
-
53
- ui.msg("The following roles will be deleted:")
54
- ui.msg("")
55
- ui.msg(ui.list(roles_to_delete.keys.sort, :columns_down))
56
- ui.msg("")
57
- ui.confirm("Are you sure you want to delete these roles")
58
-
59
- roles_to_delete.sort.each do |name, role|
60
- role.destroy
61
- ui.msg("Deleted role #{name}")
62
- end
63
- end
64
- end
65
- end
66
- end
@@ -1,53 +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 RoleCreate < Knife
24
-
25
- deps do
26
- require_relative "../role"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife role create ROLE (options)"
31
-
32
- option :description,
33
- short: "-d DESC",
34
- long: "--description DESC",
35
- description: "The role description."
36
-
37
- def run
38
- @role_name = @name_args[0]
39
-
40
- if @role_name.nil?
41
- show_usage
42
- ui.fatal("You must specify a role name")
43
- exit 1
44
- end
45
-
46
- role = Chef::Role.new
47
- role.name(@role_name)
48
- role.description(config[:description]) if config[:description]
49
- create_object(role, object_class: Chef::Role)
50
- end
51
- end
52
- end
53
- end
@@ -1,46 +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 RoleDelete < Knife
24
-
25
- deps do
26
- require_relative "../role"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife role delete ROLE (options)"
31
-
32
- def run
33
- @role_name = @name_args[0]
34
-
35
- if @role_name.nil?
36
- show_usage
37
- ui.fatal("You must specify a role name")
38
- exit 1
39
- end
40
-
41
- delete_object(Chef::Role, @role_name)
42
- end
43
-
44
- end
45
- end
46
- end