chef 16.10.8 → 17.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (618) 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/lib/chef/application/base.rb +1 -1
  8. data/lib/chef/applications.rb +0 -1
  9. data/lib/chef/chef_fs/command_line.rb +5 -2
  10. data/lib/chef/chef_fs/file_system.rb +9 -10
  11. data/lib/chef/client.rb +2 -2
  12. data/lib/chef/compliance/default_attributes.rb +10 -5
  13. data/lib/chef/compliance/fetcher/automate.rb +15 -11
  14. data/lib/chef/compliance/reporter/automate.rb +17 -7
  15. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  16. data/lib/chef/compliance/reporter/cli.rb +77 -0
  17. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  18. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  19. data/lib/chef/compliance/runner.rb +71 -28
  20. data/lib/chef/cookbook/synchronizer.rb +3 -5
  21. data/lib/chef/cookbook_loader.rb +2 -4
  22. data/lib/chef/cookbook_uploader.rb +0 -1
  23. data/lib/chef/data_bag_item.rb +11 -2
  24. data/lib/chef/delayed_evaluator.rb +4 -0
  25. data/lib/chef/deprecated.rb +4 -0
  26. data/lib/chef/dsl/chef_vault.rb +6 -6
  27. data/lib/chef/dsl/reboot_pending.rb +1 -2
  28. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  29. data/lib/chef/group.rb +75 -0
  30. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  31. data/lib/chef/node/attribute.rb +6 -4
  32. data/lib/chef/node/immutable_collections.rb +13 -0
  33. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  34. data/lib/chef/org.rb +3 -2
  35. data/lib/chef/property.rb +18 -0
  36. data/lib/chef/provider.rb +1 -1
  37. data/lib/chef/provider/cron.rb +1 -1
  38. data/lib/chef/provider/execute.rb +2 -1
  39. data/lib/chef/provider/file.rb +2 -2
  40. data/lib/chef/provider/git.rb +5 -7
  41. data/lib/chef/provider/group/groupadd.rb +3 -3
  42. data/lib/chef/provider/group/groupmod.rb +3 -3
  43. data/lib/chef/provider/group/pw.rb +3 -3
  44. data/lib/chef/provider/ifconfig.rb +2 -2
  45. data/lib/chef/provider/link.rb +2 -2
  46. data/lib/chef/provider/mount.rb +12 -7
  47. data/lib/chef/provider/mount/aix.rb +3 -3
  48. data/lib/chef/provider/mount/mount.rb +6 -6
  49. data/lib/chef/provider/mount/windows.rb +1 -1
  50. data/lib/chef/provider/package.rb +17 -21
  51. data/lib/chef/provider/package/apt.rb +27 -1
  52. data/lib/chef/provider/package/deb.rb +3 -3
  53. data/lib/chef/provider/package/dnf/dnf_helper.py +5 -1
  54. data/lib/chef/provider/package/portage.rb +2 -2
  55. data/lib/chef/provider/package/rubygems.rb +11 -17
  56. data/lib/chef/provider/package/windows.rb +2 -4
  57. data/lib/chef/provider/package/yum/yum_helper.py +5 -1
  58. data/lib/chef/provider/route.rb +2 -2
  59. data/lib/chef/provider/service.rb +6 -6
  60. data/lib/chef/provider/service/aixinit.rb +1 -1
  61. data/lib/chef/provider/service/debian.rb +1 -1
  62. data/lib/chef/provider/service/freebsd.rb +15 -21
  63. data/lib/chef/provider/service/macosx.rb +7 -7
  64. data/lib/chef/provider/service/systemd.rb +43 -14
  65. data/lib/chef/provider/service/upstart.rb +2 -13
  66. data/lib/chef/provider/service/windows.rb +12 -12
  67. data/lib/chef/provider/subversion.rb +10 -12
  68. data/lib/chef/provider/systemd_unit.rb +36 -10
  69. data/lib/chef/provider/template/content.rb +2 -6
  70. data/lib/chef/provider/user.rb +2 -2
  71. data/lib/chef/provider/user/dscl.rb +1 -1
  72. data/lib/chef/provider/user/mac.rb +17 -20
  73. data/lib/chef/provider/user/pw.rb +1 -1
  74. data/lib/chef/provider/user/windows.rb +1 -1
  75. data/lib/chef/provider/zypper_repository.rb +2 -2
  76. data/lib/chef/providers.rb +0 -1
  77. data/lib/chef/resource/alternatives.rb +6 -6
  78. data/lib/chef/resource/apt_package.rb +1 -1
  79. data/lib/chef/resource/apt_preference.rb +2 -2
  80. data/lib/chef/resource/apt_repository.rb +6 -6
  81. data/lib/chef/resource/apt_update.rb +3 -2
  82. data/lib/chef/resource/archive_file.rb +2 -3
  83. data/lib/chef/resource/breakpoint.rb +1 -1
  84. data/lib/chef/resource/build_essential.rb +2 -6
  85. data/lib/chef/resource/chef_client_config.rb +2 -2
  86. data/lib/chef/resource/chef_client_cron.rb +5 -5
  87. data/lib/chef/resource/chef_client_launchd.rb +4 -4
  88. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  89. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  90. data/lib/chef/resource/chef_handler.rb +3 -7
  91. data/lib/chef/resource/chef_sleep.rb +1 -1
  92. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  93. data/lib/chef/resource/chocolatey_config.rb +2 -6
  94. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  95. data/lib/chef/resource/chocolatey_source.rb +4 -10
  96. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  97. data/lib/chef/resource/cron_access.rb +2 -4
  98. data/lib/chef/resource/dmg_package.rb +6 -10
  99. data/lib/chef/resource/dpkg_package.rb +1 -1
  100. data/lib/chef/resource/execute.rb +6 -1
  101. data/lib/chef/resource/file.rb +1 -1
  102. data/lib/chef/resource/group.rb +2 -2
  103. data/lib/chef/resource/homebrew_cask.rb +2 -6
  104. data/lib/chef/resource/homebrew_tap.rb +2 -6
  105. data/lib/chef/resource/hostname.rb +21 -17
  106. data/lib/chef/resource/http_request.rb +1 -1
  107. data/lib/chef/resource/kernel_module.rb +6 -17
  108. data/lib/chef/resource/locale.rb +2 -3
  109. data/lib/chef/resource/lwrp_base.rb +4 -0
  110. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  111. data/lib/chef/resource/mdadm.rb +53 -7
  112. data/lib/chef/resource/mount.rb +2 -1
  113. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  114. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  115. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  116. data/lib/chef/resource/plist.rb +7 -7
  117. data/lib/chef/resource/powershell_script.rb +1 -1
  118. data/lib/chef/resource/remote_file.rb +1 -1
  119. data/lib/chef/resource/rhsm_errata.rb +16 -1
  120. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  121. data/lib/chef/resource/rhsm_register.rb +12 -6
  122. data/lib/chef/resource/rhsm_repo.rb +2 -6
  123. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  124. data/lib/chef/resource/scm/git.rb +1 -1
  125. data/lib/chef/resource/sudo.rb +6 -6
  126. data/lib/chef/resource/sysctl.rb +2 -6
  127. data/lib/chef/resource/systemd_unit.rb +2 -2
  128. data/lib/chef/resource/template.rb +1 -1
  129. data/lib/chef/resource/timezone.rb +1 -3
  130. data/lib/chef/resource/user/mac_user.rb +1 -1
  131. data/lib/chef/resource/user_ulimit.rb +2 -2
  132. data/lib/chef/resource/windows_ad_join.rb +2 -6
  133. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  134. data/lib/chef/resource/windows_auto_run.rb +2 -5
  135. data/lib/chef/resource/windows_certificate.rb +207 -73
  136. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  137. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  138. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  139. data/lib/chef/resource/windows_dns_record.rb +2 -6
  140. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  141. data/lib/chef/resource/windows_env.rb +5 -4
  142. data/lib/chef/resource/windows_feature.rb +3 -9
  143. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  144. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  145. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  146. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  147. data/lib/chef/resource/windows_font.rb +2 -4
  148. data/lib/chef/resource/windows_pagefile.rb +2 -6
  149. data/lib/chef/resource/windows_path.rb +2 -2
  150. data/lib/chef/resource/windows_printer.rb +4 -4
  151. data/lib/chef/resource/windows_printer_port.rb +6 -6
  152. data/lib/chef/resource/windows_security_policy.rb +53 -40
  153. data/lib/chef/resource/windows_share.rb +14 -21
  154. data/lib/chef/resource/windows_shortcut.rb +4 -6
  155. data/lib/chef/resource/windows_task.rb +17 -5
  156. data/lib/chef/resource/windows_uac.rb +1 -1
  157. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  158. data/lib/chef/resource/windows_workgroup.rb +1 -2
  159. data/lib/chef/resources.rb +0 -1
  160. data/lib/chef/user.rb +0 -1
  161. data/lib/chef/user_v1.rb +3 -4
  162. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  163. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  164. data/lib/chef/version.rb +1 -1
  165. data/lib/chef/win32/registry.rb +4 -2
  166. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  167. data/spec/data/lwrp/resources/bar.rb +2 -0
  168. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  169. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  170. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  171. data/spec/data/lwrp/resources/foo.rb +2 -0
  172. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  173. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  174. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  175. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  176. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  177. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  178. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  179. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  180. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  181. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  182. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  183. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  184. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  185. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  186. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  187. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  188. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  189. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  190. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  191. data/spec/functional/resource/apt_package_spec.rb +1 -1
  192. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  193. data/spec/functional/resource/cron_spec.rb +1 -1
  194. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  195. data/spec/functional/resource/registry_spec.rb +8 -8
  196. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  197. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  198. data/spec/functional/version_spec.rb +1 -1
  199. data/spec/functional/win32/registry_spec.rb +1 -1
  200. data/spec/integration/client/client_spec.rb +5 -2
  201. data/spec/integration/client/exit_code_spec.rb +1 -1
  202. data/spec/integration/client/ipv6_spec.rb +1 -1
  203. data/spec/integration/compliance/compliance_spec.rb +3 -2
  204. data/spec/integration/ohai/ohai_spec.rb +7 -6
  205. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  206. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  207. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  208. data/spec/integration/recipes/notifies_spec.rb +15 -1
  209. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  210. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  211. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  212. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  213. data/spec/spec_helper.rb +11 -13
  214. data/spec/support/chef_helpers.rb +0 -16
  215. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  216. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  217. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  218. data/spec/support/matchers/leak.rb +7 -9
  219. data/spec/support/platform_helpers.rb +5 -8
  220. data/spec/support/shared/integration/integration_helper.rb +0 -1
  221. data/spec/support/shared/unit/provider/file.rb +14 -0
  222. data/spec/support/shared/unit/script_resource.rb +2 -2
  223. data/spec/unit/application/solo_spec.rb +2 -2
  224. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  225. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  226. data/spec/unit/compliance/fetcher/automate_spec.rb +5 -13
  227. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  228. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  229. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  230. data/spec/unit/compliance/runner_spec.rb +84 -9
  231. data/spec/unit/data_bag_item_spec.rb +1 -6
  232. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  233. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  234. data/spec/unit/lwrp_spec.rb +1 -1
  235. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  236. data/spec/unit/node/attribute_spec.rb +1 -1
  237. data/spec/unit/node_spec.rb +78 -0
  238. data/spec/unit/org_group_spec.rb +45 -0
  239. data/spec/unit/property_spec.rb +23 -22
  240. data/spec/unit/provider/cron_spec.rb +1 -1
  241. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  242. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  243. data/spec/unit/provider/group/pw_spec.rb +2 -2
  244. data/spec/unit/provider/group_spec.rb +1 -1
  245. data/spec/unit/provider/mount/mount_spec.rb +52 -0
  246. data/spec/unit/provider/package/apt_spec.rb +84 -18
  247. data/spec/unit/provider/package/deb_spec.rb +3 -3
  248. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  249. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  250. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  251. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  252. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  253. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  254. data/spec/unit/provider/service/windows_spec.rb +2 -2
  255. data/spec/unit/provider/subversion_spec.rb +2 -2
  256. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  257. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  258. data/spec/unit/provider_spec.rb +0 -8
  259. data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
  260. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  261. data/spec/unit/resource/windows_task_spec.rb +1 -1
  262. data/spec/unit/user_spec.rb +1 -1
  263. data/spec/unit/user_v1_spec.rb +6 -4
  264. data/tasks/rspec.rb +16 -8
  265. metadata +21 -384
  266. data/bin/knife +0 -24
  267. data/lib/chef/application/knife.rb +0 -234
  268. data/lib/chef/application/windows_service.rb +0 -338
  269. data/lib/chef/application/windows_service_manager.rb +0 -205
  270. data/lib/chef/chef_fs/knife.rb +0 -160
  271. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  272. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  273. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  274. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  275. data/lib/chef/knife.rb +0 -665
  276. data/lib/chef/knife/acl_add.rb +0 -57
  277. data/lib/chef/knife/acl_base.rb +0 -183
  278. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  279. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  280. data/lib/chef/knife/acl_remove.rb +0 -62
  281. data/lib/chef/knife/acl_show.rb +0 -56
  282. data/lib/chef/knife/bootstrap.rb +0 -1192
  283. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  284. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  285. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  286. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  287. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  288. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  289. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  290. data/lib/chef/knife/client_create.rb +0 -101
  291. data/lib/chef/knife/client_delete.rb +0 -62
  292. data/lib/chef/knife/client_edit.rb +0 -52
  293. data/lib/chef/knife/client_key_create.rb +0 -73
  294. data/lib/chef/knife/client_key_delete.rb +0 -80
  295. data/lib/chef/knife/client_key_edit.rb +0 -83
  296. data/lib/chef/knife/client_key_list.rb +0 -73
  297. data/lib/chef/knife/client_key_show.rb +0 -80
  298. data/lib/chef/knife/client_list.rb +0 -41
  299. data/lib/chef/knife/client_reregister.rb +0 -58
  300. data/lib/chef/knife/client_show.rb +0 -48
  301. data/lib/chef/knife/config_get.rb +0 -39
  302. data/lib/chef/knife/config_get_profile.rb +0 -37
  303. data/lib/chef/knife/config_list.rb +0 -139
  304. data/lib/chef/knife/config_list_profiles.rb +0 -37
  305. data/lib/chef/knife/config_show.rb +0 -127
  306. data/lib/chef/knife/config_use.rb +0 -61
  307. data/lib/chef/knife/config_use_profile.rb +0 -47
  308. data/lib/chef/knife/configure.rb +0 -150
  309. data/lib/chef/knife/configure_client.rb +0 -48
  310. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  311. data/lib/chef/knife/cookbook_delete.rb +0 -151
  312. data/lib/chef/knife/cookbook_download.rb +0 -142
  313. data/lib/chef/knife/cookbook_list.rb +0 -47
  314. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  315. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  316. data/lib/chef/knife/cookbook_show.rb +0 -98
  317. data/lib/chef/knife/cookbook_upload.rb +0 -292
  318. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  319. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  320. data/lib/chef/knife/core/formatting_options.rb +0 -49
  321. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  322. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  323. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  324. data/lib/chef/knife/core/node_editor.rb +0 -130
  325. data/lib/chef/knife/core/node_presenter.rb +0 -133
  326. data/lib/chef/knife/core/object_loader.rb +0 -115
  327. data/lib/chef/knife/core/status_presenter.rb +0 -147
  328. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  329. data/lib/chef/knife/core/text_formatter.rb +0 -85
  330. data/lib/chef/knife/core/ui.rb +0 -338
  331. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  332. data/lib/chef/knife/data_bag_create.rb +0 -81
  333. data/lib/chef/knife/data_bag_delete.rb +0 -49
  334. data/lib/chef/knife/data_bag_edit.rb +0 -74
  335. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  336. data/lib/chef/knife/data_bag_list.rb +0 -42
  337. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  338. data/lib/chef/knife/data_bag_show.rb +0 -69
  339. data/lib/chef/knife/delete.rb +0 -125
  340. data/lib/chef/knife/deps.rb +0 -156
  341. data/lib/chef/knife/diff.rb +0 -83
  342. data/lib/chef/knife/download.rb +0 -84
  343. data/lib/chef/knife/edit.rb +0 -88
  344. data/lib/chef/knife/environment_compare.rb +0 -128
  345. data/lib/chef/knife/environment_create.rb +0 -52
  346. data/lib/chef/knife/environment_delete.rb +0 -44
  347. data/lib/chef/knife/environment_edit.rb +0 -44
  348. data/lib/chef/knife/environment_from_file.rb +0 -84
  349. data/lib/chef/knife/environment_list.rb +0 -41
  350. data/lib/chef/knife/environment_show.rb +0 -47
  351. data/lib/chef/knife/exec.rb +0 -99
  352. data/lib/chef/knife/group_add.rb +0 -55
  353. data/lib/chef/knife/group_create.rb +0 -49
  354. data/lib/chef/knife/group_destroy.rb +0 -53
  355. data/lib/chef/knife/group_list.rb +0 -43
  356. data/lib/chef/knife/group_remove.rb +0 -56
  357. data/lib/chef/knife/group_show.rb +0 -49
  358. data/lib/chef/knife/key_create.rb +0 -112
  359. data/lib/chef/knife/key_create_base.rb +0 -50
  360. data/lib/chef/knife/key_delete.rb +0 -55
  361. data/lib/chef/knife/key_edit.rb +0 -118
  362. data/lib/chef/knife/key_edit_base.rb +0 -55
  363. data/lib/chef/knife/key_list.rb +0 -90
  364. data/lib/chef/knife/key_list_base.rb +0 -45
  365. data/lib/chef/knife/key_show.rb +0 -53
  366. data/lib/chef/knife/list.rb +0 -177
  367. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  368. data/lib/chef/knife/node_create.rb +0 -47
  369. data/lib/chef/knife/node_delete.rb +0 -46
  370. data/lib/chef/knife/node_edit.rb +0 -70
  371. data/lib/chef/knife/node_environment_set.rb +0 -53
  372. data/lib/chef/knife/node_from_file.rb +0 -51
  373. data/lib/chef/knife/node_list.rb +0 -44
  374. data/lib/chef/knife/node_policy_set.rb +0 -79
  375. data/lib/chef/knife/node_run_list_add.rb +0 -104
  376. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  377. data/lib/chef/knife/node_run_list_set.rb +0 -66
  378. data/lib/chef/knife/node_show.rb +0 -63
  379. data/lib/chef/knife/null.rb +0 -12
  380. data/lib/chef/knife/raw.rb +0 -123
  381. data/lib/chef/knife/recipe_list.rb +0 -32
  382. data/lib/chef/knife/rehash.rb +0 -50
  383. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  384. data/lib/chef/knife/role_create.rb +0 -53
  385. data/lib/chef/knife/role_delete.rb +0 -46
  386. data/lib/chef/knife/role_edit.rb +0 -45
  387. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  388. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  389. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  390. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  391. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  392. data/lib/chef/knife/role_from_file.rb +0 -51
  393. data/lib/chef/knife/role_list.rb +0 -42
  394. data/lib/chef/knife/role_run_list_add.rb +0 -87
  395. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  396. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  397. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  398. data/lib/chef/knife/role_run_list_set.rb +0 -69
  399. data/lib/chef/knife/role_show.rb +0 -48
  400. data/lib/chef/knife/search.rb +0 -194
  401. data/lib/chef/knife/serve.rb +0 -65
  402. data/lib/chef/knife/show.rb +0 -72
  403. data/lib/chef/knife/ssh.rb +0 -645
  404. data/lib/chef/knife/ssl_check.rb +0 -284
  405. data/lib/chef/knife/ssl_fetch.rb +0 -161
  406. data/lib/chef/knife/status.rb +0 -95
  407. data/lib/chef/knife/supermarket_download.rb +0 -121
  408. data/lib/chef/knife/supermarket_install.rb +0 -192
  409. data/lib/chef/knife/supermarket_list.rb +0 -76
  410. data/lib/chef/knife/supermarket_search.rb +0 -53
  411. data/lib/chef/knife/supermarket_share.rb +0 -166
  412. data/lib/chef/knife/supermarket_show.rb +0 -66
  413. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  414. data/lib/chef/knife/tag_create.rb +0 -52
  415. data/lib/chef/knife/tag_delete.rb +0 -60
  416. data/lib/chef/knife/tag_list.rb +0 -47
  417. data/lib/chef/knife/upload.rb +0 -86
  418. data/lib/chef/knife/user_create.rb +0 -107
  419. data/lib/chef/knife/user_delete.rb +0 -44
  420. data/lib/chef/knife/user_dissociate.rb +0 -42
  421. data/lib/chef/knife/user_edit.rb +0 -52
  422. data/lib/chef/knife/user_invite_add.rb +0 -43
  423. data/lib/chef/knife/user_invite_list.rb +0 -34
  424. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  425. data/lib/chef/knife/user_key_create.rb +0 -73
  426. data/lib/chef/knife/user_key_delete.rb +0 -80
  427. data/lib/chef/knife/user_key_edit.rb +0 -83
  428. data/lib/chef/knife/user_key_list.rb +0 -73
  429. data/lib/chef/knife/user_key_show.rb +0 -80
  430. data/lib/chef/knife/user_list.rb +0 -42
  431. data/lib/chef/knife/user_reregister.rb +0 -59
  432. data/lib/chef/knife/user_show.rb +0 -48
  433. data/lib/chef/knife/xargs.rb +0 -282
  434. data/lib/chef/knife/yaml_convert.rb +0 -91
  435. data/lib/chef/resource/user/dscl_user.rb +0 -35
  436. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  437. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  438. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  439. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  440. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  441. data/spec/functional/knife/configure_spec.rb +0 -33
  442. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  443. data/spec/functional/knife/exec_spec.rb +0 -55
  444. data/spec/functional/knife/rehash_spec.rb +0 -39
  445. data/spec/functional/knife/smoke_test.rb +0 -42
  446. data/spec/functional/knife/ssh_spec.rb +0 -352
  447. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  448. data/spec/functional/resource/windows_service_spec.rb +0 -105
  449. data/spec/functional/win32/service_manager_spec.rb +0 -220
  450. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  451. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  452. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  453. data/spec/integration/knife/chefignore_spec.rb +0 -301
  454. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  455. data/spec/integration/knife/client_create_spec.rb +0 -70
  456. data/spec/integration/knife/client_delete_spec.rb +0 -64
  457. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  458. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  459. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  460. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  461. data/spec/integration/knife/client_list_spec.rb +0 -49
  462. data/spec/integration/knife/client_show_spec.rb +0 -37
  463. data/spec/integration/knife/common_options_spec.rb +0 -174
  464. data/spec/integration/knife/config_list_spec.rb +0 -220
  465. data/spec/integration/knife/config_show_spec.rb +0 -192
  466. data/spec/integration/knife/config_use_spec.rb +0 -198
  467. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  468. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  469. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  470. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  471. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  472. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  473. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  474. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  475. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  476. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  477. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  478. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  479. data/spec/integration/knife/delete_spec.rb +0 -1018
  480. data/spec/integration/knife/deps_spec.rb +0 -703
  481. data/spec/integration/knife/diff_spec.rb +0 -605
  482. data/spec/integration/knife/download_spec.rb +0 -1336
  483. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  484. data/spec/integration/knife/environment_create_spec.rb +0 -41
  485. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  486. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  487. data/spec/integration/knife/environment_list_spec.rb +0 -42
  488. data/spec/integration/knife/environment_show_spec.rb +0 -77
  489. data/spec/integration/knife/list_spec.rb +0 -1060
  490. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  491. data/spec/integration/knife/node_create_spec.rb +0 -47
  492. data/spec/integration/knife/node_delete_spec.rb +0 -48
  493. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  494. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  495. data/spec/integration/knife/node_list_spec.rb +0 -45
  496. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  497. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  498. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  499. data/spec/integration/knife/node_show_spec.rb +0 -36
  500. data/spec/integration/knife/raw_spec.rb +0 -297
  501. data/spec/integration/knife/redirection_spec.rb +0 -64
  502. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  503. data/spec/integration/knife/role_create_spec.rb +0 -41
  504. data/spec/integration/knife/role_delete_spec.rb +0 -48
  505. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  506. data/spec/integration/knife/role_list_spec.rb +0 -45
  507. data/spec/integration/knife/role_show_spec.rb +0 -51
  508. data/spec/integration/knife/search_node_spec.rb +0 -40
  509. data/spec/integration/knife/serve_spec.rb +0 -92
  510. data/spec/integration/knife/show_spec.rb +0 -197
  511. data/spec/integration/knife/upload_spec.rb +0 -1617
  512. data/spec/support/shared/functional/knife.rb +0 -37
  513. data/spec/support/shared/functional/win32_service.rb +0 -57
  514. data/spec/support/shared/integration/knife_support.rb +0 -192
  515. data/spec/support/shared/unit/knife_shared.rb +0 -39
  516. data/spec/unit/application/knife_spec.rb +0 -241
  517. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  518. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  519. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  520. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  521. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  522. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  523. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  524. data/spec/unit/knife/client_create_spec.rb +0 -169
  525. data/spec/unit/knife/client_delete_spec.rb +0 -99
  526. data/spec/unit/knife/client_edit_spec.rb +0 -53
  527. data/spec/unit/knife/client_list_spec.rb +0 -34
  528. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  529. data/spec/unit/knife/client_show_spec.rb +0 -52
  530. data/spec/unit/knife/configure_client_spec.rb +0 -81
  531. data/spec/unit/knife/configure_spec.rb +0 -190
  532. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  533. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  534. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  535. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  536. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  537. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  538. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  539. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  540. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  541. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  542. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  543. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  544. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  545. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  546. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  547. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  548. data/spec/unit/knife/core/ui_spec.rb +0 -656
  549. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  550. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  551. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  552. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  553. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  554. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  555. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  556. data/spec/unit/knife/environment_create_spec.rb +0 -91
  557. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  558. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  559. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  560. data/spec/unit/knife/environment_list_spec.rb +0 -54
  561. data/spec/unit/knife/environment_show_spec.rb +0 -52
  562. data/spec/unit/knife/key_create_spec.rb +0 -223
  563. data/spec/unit/knife/key_delete_spec.rb +0 -133
  564. data/spec/unit/knife/key_edit_spec.rb +0 -264
  565. data/spec/unit/knife/key_helper.rb +0 -74
  566. data/spec/unit/knife/key_list_spec.rb +0 -216
  567. data/spec/unit/knife/key_show_spec.rb +0 -126
  568. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  569. data/spec/unit/knife/node_delete_spec.rb +0 -77
  570. data/spec/unit/knife/node_edit_spec.rb +0 -116
  571. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  572. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  573. data/spec/unit/knife/node_list_spec.rb +0 -62
  574. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  575. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  576. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  577. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  578. data/spec/unit/knife/node_show_spec.rb +0 -65
  579. data/spec/unit/knife/raw_spec.rb +0 -43
  580. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  581. data/spec/unit/knife/role_create_spec.rb +0 -80
  582. data/spec/unit/knife/role_delete_spec.rb +0 -67
  583. data/spec/unit/knife/role_edit_spec.rb +0 -77
  584. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  585. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  586. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  587. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  588. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  589. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  590. data/spec/unit/knife/role_list_spec.rb +0 -54
  591. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  592. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  593. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  594. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  595. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  596. data/spec/unit/knife/role_show_spec.rb +0 -59
  597. data/spec/unit/knife/ssh_spec.rb +0 -403
  598. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  599. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  600. data/spec/unit/knife/status_spec.rb +0 -112
  601. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  602. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  603. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  604. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  605. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  606. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  607. data/spec/unit/knife/tag_create_spec.rb +0 -23
  608. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  609. data/spec/unit/knife/tag_list_spec.rb +0 -23
  610. data/spec/unit/knife/user_create_spec.rb +0 -184
  611. data/spec/unit/knife/user_delete_spec.rb +0 -46
  612. data/spec/unit/knife/user_edit_spec.rb +0 -48
  613. data/spec/unit/knife/user_list_spec.rb +0 -36
  614. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  615. data/spec/unit/knife/user_show_spec.rb +0 -46
  616. data/spec/unit/knife_spec.rb +0 -634
  617. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  618. data/spec/unit/windows_service_spec.rb +0 -118
@@ -34,7 +34,7 @@ class Chef
34
34
  property :url, String, identity: true,
35
35
  description: "The URL to which an HTTP request is sent."
36
36
 
37
- property :headers, Hash, default: lazy { {} },
37
+ property :headers, Hash, default: {},
38
38
  description: "A Hash of custom headers."
39
39
 
40
40
  def initialize(name, run_context = nil)
@@ -93,9 +93,7 @@ class Chef
93
93
  description: "The modprobe.d directory.",
94
94
  default: "/etc/modprobe.d"
95
95
 
96
- action :install do
97
- description "Load kernel module, and ensure it loads on reboot."
98
-
96
+ action :install, description: "Load kernel module, and ensure it loads on reboot" do
99
97
  with_run_context :root do
100
98
  find_resource(:execute, "update initramfs") do
101
99
  command initramfs_command
@@ -123,8 +121,7 @@ class Chef
123
121
  end
124
122
  end
125
123
 
126
- action :uninstall do
127
- description "Unload a kernel module and remove module config, so it doesn't load on reboot."
124
+ action :uninstall, description: "Unload a kernel module and remove module config, so it doesn't load on reboot" do
128
125
  with_run_context :root do
129
126
  find_resource(:execute, "update initramfs") do
130
127
  command initramfs_command
@@ -149,9 +146,7 @@ class Chef
149
146
  action_unload
150
147
  end
151
148
 
152
- action :blacklist do
153
- description "Blacklist a kernel module."
154
-
149
+ action :blacklist, description: "Blacklist a kernel module" do
155
150
  with_run_context :root do
156
151
  find_resource(:execute, "update initramfs") do
157
152
  command initramfs_command
@@ -167,9 +162,7 @@ class Chef
167
162
  action_unload
168
163
  end
169
164
 
170
- action :disable do
171
- description "Disable a kernel module."
172
-
165
+ action :disable, description: "Disable a kernel module" do
173
166
  with_run_context :root do
174
167
  find_resource(:execute, "update initramfs") do
175
168
  command initramfs_command
@@ -185,9 +178,7 @@ class Chef
185
178
  action_unload
186
179
  end
187
180
 
188
- action :load do
189
- description "Load a kernel module."
190
-
181
+ action :load, description: "Load a kernel module" do
191
182
  unless module_loaded?
192
183
  converge_by("load kernel module #{new_resource.modname}") do
193
184
  shell_out!("modprobe #{new_resource.modname}")
@@ -195,9 +186,7 @@ class Chef
195
186
  end
196
187
  end
197
188
 
198
- action :unload do
199
- description "Unload kernel module."
200
-
189
+ action :unload, description: "Unload kernel module" do
201
190
  if module_loaded?
202
191
  converge_by("unload kernel module #{new_resource.modname}") do
203
192
  shell_out!("modprobe -r #{new_resource.modname}")
@@ -49,7 +49,7 @@ class Chef
49
49
 
50
50
  property :lc_env, Hash,
51
51
  description: "A Hash of LC_* env variables in the form of `({ 'LC_ENV_VARIABLE' => 'VALUE' })`.",
52
- default: lazy { {} },
52
+ default: {},
53
53
  coerce: proc { |h|
54
54
  if h.respond_to?(:keys)
55
55
  invalid_keys = h.keys - LC_VARIABLES
@@ -97,8 +97,7 @@ class Chef
97
97
  powershell_exec("Get-WinSystemLocale").result["Name"]
98
98
  end
99
99
 
100
- action :update do
101
- description "Update the system's locale."
100
+ action :update, description: "Update the system's locale" do
102
101
  converge_if_changed do
103
102
  set_system_locale
104
103
  end
@@ -53,6 +53,10 @@ class Chef
53
53
  resource_class.run_context = run_context
54
54
  resource_class.class_from_file(filename)
55
55
 
56
+ unless resource_class.unified_mode
57
+ Chef.deprecated :unified_mode, "The #{resource_name} resource in the #{cookbook_name} cookbook should declare `unified_mode true`"
58
+ end
59
+
56
60
  # Make a useful string for the class (rather than <Class:312894723894>)
57
61
  resource_class.instance_eval do
58
62
  define_singleton_method(:to_s) do
@@ -97,29 +97,29 @@ class Chef
97
97
  desired_state: false
98
98
 
99
99
  property :sudo, [TrueClass, FalseClass],
100
- description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the '/usr/bin/defaults' command to be setup for the user running #{ChefUtils::Dist::Infra::PRODUCT}.",
100
+ description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the `/usr/bin/defaults` command to be setup for the user running #{ChefUtils::Dist::Infra::PRODUCT}.",
101
101
  default: false,
102
102
  desired_state: false
103
103
 
104
- load_current_value do |desired|
105
- Chef::Log.debug "#load_current_value: shelling out \"#{defaults_export_cmd(desired).join(" ")}\" to determine state"
106
- state = shell_out(defaults_export_cmd(desired), user: desired.user)
104
+ load_current_value do |new_resource|
105
+ Chef::Log.debug "#load_current_value: shelling out \"#{defaults_export_cmd(new_resource).join(" ")}\" to determine state"
106
+ state = shell_out(defaults_export_cmd(new_resource), user: new_resource.user)
107
107
 
108
108
  if state.error? || state.stdout.empty?
109
- Chef::Log.debug "#load_current_value: #{defaults_export_cmd(desired).join(" ")} returned stdout: #{state.stdout} and stderr: #{state.stderr}"
109
+ Chef::Log.debug "#load_current_value: #{defaults_export_cmd(new_resource).join(" ")} returned stdout: #{state.stdout} and stderr: #{state.stderr}"
110
110
  current_value_does_not_exist!
111
111
  end
112
112
 
113
113
  plist_data = ::Plist.parse_xml(state.stdout)
114
114
 
115
115
  # handle the situation where the key doesn't exist in the domain
116
- if plist_data.key?(desired.key)
117
- key desired.key
116
+ if plist_data.key?(new_resource.key)
117
+ key new_resource.key
118
118
  else
119
119
  current_value_does_not_exist!
120
120
  end
121
121
 
122
- value plist_data[desired.key]
122
+ value plist_data[new_resource.key]
123
123
  end
124
124
 
125
125
  #
@@ -140,9 +140,7 @@ class Chef
140
140
  state_cmd
141
141
  end
142
142
 
143
- action :write do
144
- description "Write the value to the specified domain/key."
145
-
143
+ action :write, description: "Write the value to the specified domain/key" do
146
144
  converge_if_changed do
147
145
  cmd = defaults_modify_cmd
148
146
  Chef::Log.debug("Updating defaults value by shelling out: #{cmd.join(" ")}")
@@ -151,9 +149,7 @@ class Chef
151
149
  end
152
150
  end
153
151
 
154
- action :delete do
155
- description "Delete a key from a domain."
156
-
152
+ action :delete, description: "Delete a key from a domain" do
157
153
  # if it's not there there's nothing to remove
158
154
  return unless current_resource
159
155
 
@@ -31,6 +31,52 @@ class Chef
31
31
  " reboot. If the config file is required, it must be done by specifying a template with the correct array layout,"\
32
32
  " and then by using the mount provider to create a file systems table (fstab) entry."
33
33
 
34
+ examples <<~DOC
35
+ **Create and assemble a RAID 0 array**
36
+
37
+ The mdadm command can be used to create RAID arrays. For example, a RAID 0 array named /dev/md0 with 10 devices would have a command similar to the following:
38
+
39
+ ```
40
+ mdadm --create /dev/md0 --level=0 --raid-devices=10 /dev/s01.../dev/s10
41
+ ```
42
+
43
+ where /dev/s01 .. /dev/s10 represents 10 devices (01, 02, 03, and so on). This same command, when expressed as a recipe using the mdadm resource, would be similar to:
44
+
45
+ ```ruby
46
+ mdadm '/dev/md0' do
47
+ devices [ '/dev/s01', ... '/dev/s10' ]
48
+ level 0
49
+ action :create
50
+ end
51
+ ```
52
+
53
+ (again, where /dev/s01 .. /dev/s10 represents devices /dev/s01, /dev/s02, /dev/s03, and so on).
54
+
55
+ **Create and assemble a RAID 1 array**
56
+
57
+ ```ruby
58
+ mdadm '/dev/md0' do
59
+ devices [ '/dev/sda', '/dev/sdb' ]
60
+ level 1
61
+ action [ :create, :assemble ]
62
+ end
63
+ ```
64
+
65
+ **Create and assemble a RAID 5 array**
66
+
67
+ The mdadm command can be used to create RAID arrays. For example, a RAID 5 array named /dev/sd0 with 4, and a superblock type of 0.90 would be similar to:
68
+
69
+ ```ruby
70
+ mdadm '/dev/sd0' do
71
+ devices [ '/dev/s1', '/dev/s2', '/dev/s3', '/dev/s4' ]
72
+ level 5
73
+ metadata '0.90'
74
+ chunk 32
75
+ action :create
76
+ end
77
+ ```
78
+ DOC
79
+
34
80
  default_action :create
35
81
  allowed_actions :create, :assemble, :stop
36
82
 
@@ -39,7 +85,7 @@ class Chef
39
85
  description: "The chunk size. This property should not be used for a RAID 1 mirrored pair (i.e. when the `level` property is set to `1`)."
40
86
 
41
87
  property :devices, Array,
42
- default: lazy { [] },
88
+ default: [],
43
89
  description: "The devices to be part of a RAID array."
44
90
 
45
91
  # @todo this should get refactored away
@@ -78,7 +124,7 @@ class Chef
78
124
  end
79
125
  end
80
126
 
81
- action :create do
127
+ action :create, description: "Create an array with per-device superblocks. If an array already exists (but does not match), update that array to match." do
82
128
  unless current_resource.exists
83
129
  converge_by("create RAID device #{new_resource.raid_device}") do
84
130
  command = "yes | mdadm --create #{new_resource.raid_device} --level #{new_resource.level}"
@@ -92,11 +138,11 @@ class Chef
92
138
  logger.info("#{new_resource} created raid device (#{new_resource.raid_device})")
93
139
  end
94
140
  else
95
- logger.trace("#{new_resource} raid device already exists, skipping create (#{new_resource.raid_device})")
141
+ logger.debug("#{new_resource} raid device already exists, skipping create (#{new_resource.raid_device})")
96
142
  end
97
143
  end
98
144
 
99
- action :assemble do
145
+ action :assemble, description: "Assemble a previously created array into an active array." do
100
146
  unless current_resource.exists
101
147
  converge_by("assemble RAID device #{new_resource.raid_device}") do
102
148
  command = "yes | mdadm --assemble #{new_resource.raid_device} #{new_resource.devices.join(" ")}"
@@ -105,11 +151,11 @@ class Chef
105
151
  logger.info("#{new_resource} assembled raid device (#{new_resource.raid_device})")
106
152
  end
107
153
  else
108
- logger.trace("#{new_resource} raid device already exists, skipping assemble (#{new_resource.raid_device})")
154
+ logger.debug("#{new_resource} raid device already exists, skipping assemble (#{new_resource.raid_device})")
109
155
  end
110
156
  end
111
157
 
112
- action :stop do
158
+ action :stop, description: "Stop an active array." do
113
159
  if current_resource.exists
114
160
  converge_by("stop RAID device #{new_resource.raid_device}") do
115
161
  command = "yes | mdadm --stop #{new_resource.raid_device}"
@@ -118,7 +164,7 @@ class Chef
118
164
  logger.info("#{new_resource} stopped raid device (#{new_resource.raid_device})")
119
165
  end
120
166
  else
121
- logger.trace("#{new_resource} raid device doesn't exist (#{new_resource.raid_device}) - not stopping")
167
+ logger.debug("#{new_resource} raid device doesn't exist (#{new_resource.raid_device}) - not stopping")
122
168
  end
123
169
  end
124
170
 
@@ -34,6 +34,7 @@ class Chef
34
34
  property :supports, [Array, Hash],
35
35
  description: "Specify a Hash of supported mount features.",
36
36
  default: lazy { { remount: false } },
37
+ default_description: "{ remount: false }",
37
38
  coerce: proc { |x| x.is_a?(Array) ? x.each_with_object({}) { |i, m| m[i] = true } : x }
38
39
 
39
40
  property :password, String,
@@ -45,7 +46,7 @@ class Chef
45
46
  description: "The directory (or path) in which the device is to be mounted. Defaults to the name of the resource block if not provided."
46
47
 
47
48
  property :device, String, identity: true,
48
- description: "Required for :umount and :remount actions (for the purpose of checking the mount command output for presence). The special block device or remote node, a label, or a uuid to be mounted."
49
+ description: "Required for `:umount` and `:remount` actions (for the purpose of checking the mount command output for presence). The special block device or remote node, a label, or a uuid to be mounted."
49
50
 
50
51
  property :device_type, [String, Symbol],
51
52
  description: "The type of device: :device, :label, or :uuid",
@@ -31,7 +31,7 @@ class Chef
31
31
  description "Use the **openssl_ec_private_key** resource to generate an elliptic curve (EC) private key file. If a valid EC key file can be opened at the specified location, no new file will be created. If the EC key file cannot be opened, either because it does not exist or because the password to the EC key file does not match the password in the recipe, then it will be overwritten."
32
32
  introduced "14.4"
33
33
  examples <<~DOC
34
- Generate a new ec privatekey with prime256v1 key curve and default des3 cipher
34
+ **Generate a new ec privatekey with prime256v1 key curve and default des3 cipher**
35
35
 
36
36
  ```ruby
37
37
  openssl_ec_private_key '/etc/ssl_files/eckey_prime256v1_des3.pem' do
@@ -41,7 +41,7 @@ class Chef
41
41
  end
42
42
  ```
43
43
 
44
- Generate a new ec private key with prime256v1 key curve and aes-128-cbc cipher
44
+ **Generate a new ec private key with prime256v1 key curve and aes-128-cbc cipher**
45
45
 
46
46
  ```ruby
47
47
  openssl_ec_private_key '/etc/ssl_files/eckey_prime256v1_des3.pem' do
@@ -43,7 +43,7 @@ class Chef
43
43
  Generate new 1024bit key with the aes-128-cbc cipher
44
44
 
45
45
  ```ruby
46
- openssl_rsa_key '/etc/ssl_files/rsakey_aes128cbc.pem' do
46
+ openssl_rsa_private_key '/etc/ssl_files/rsakey_aes128cbc.pem' do
47
47
  key_length 1024
48
48
  key_cipher 'aes-128-cbc'
49
49
  action :create
@@ -108,11 +108,11 @@ class Chef
108
108
 
109
109
  property :extensions, Hash,
110
110
  description: "Hash of X509 Extensions entries, in format `{ 'keyUsage' => { 'values' => %w( keyEncipherment digitalSignature), 'critical' => true } }`.",
111
- default: lazy { {} }
111
+ default: {}
112
112
 
113
113
  property :subject_alt_name, Array,
114
114
  description: "Array of Subject Alternative Name entries, in format `DNS:example.com` or `IP:1.2.3.4`.",
115
- default: lazy { [] }
115
+ default: []
116
116
 
117
117
  property :key_file, String,
118
118
  description: "The path to a certificate key file on the filesystem. If the key_file property is specified, the resource will attempt to source a key from this location. If no key file is found, the resource will generate a new key file at this location. If the key_file property is not specified, the resource will generate a key file in the same directory as the generated certificate, with the same name as the generated certificate."
@@ -64,20 +64,20 @@ class Chef
64
64
  "utf-8" => "xml1",
65
65
  "binary" => "binary1" }.freeze
66
66
 
67
- load_current_value do |desired|
68
- current_value_does_not_exist! unless ::File.exist? desired.path
69
- entry desired.entry if entry_in_plist? desired.entry, desired.path
67
+ load_current_value do |new_resource|
68
+ current_value_does_not_exist! unless ::File.exist? new_resource.path
69
+ entry new_resource.entry if entry_in_plist? new_resource.entry, new_resource.path
70
70
 
71
- setting = setting_from_plist desired.entry, desired.path
71
+ setting = setting_from_plist new_resource.entry, new_resource.path
72
72
  value convert_to_data_type_from_string(setting[:key_type], setting[:key_value])
73
73
 
74
- file_type_cmd = shell_out "/usr/bin/file", "--brief", "--mime-encoding", "--preserve-date", desired.path
74
+ file_type_cmd = shell_out "/usr/bin/file", "--brief", "--mime-encoding", "--preserve-date", new_resource.path
75
75
  encoding file_type_cmd.stdout.chomp
76
76
 
77
- file_owner_cmd = shell_out("/usr/bin/stat", "-f", "%Su", desired.path)
77
+ file_owner_cmd = shell_out("/usr/bin/stat", "-f", "%Su", new_resource.path)
78
78
  owner file_owner_cmd.stdout.chomp
79
79
 
80
- file_group_cmd = shell_out("/usr/bin/stat", "-f", "%Sg", desired.path)
80
+ file_group_cmd = shell_out("/usr/bin/stat", "-f", "%Sg", new_resource.path)
81
81
  group file_group_cmd.stdout.chomp
82
82
  end
83
83
 
@@ -27,7 +27,7 @@ class Chef
27
27
  provides :powershell_script, os: "windows"
28
28
 
29
29
  description <<~DESC
30
- Use the **powershell_script** resource to execute a script using the Windows PowerShell interpreter, much like how the script and script-based resources **bash**, **csh**, **perl**, **python**, and **ruby** are used. The **powershell_script** resource is specific to the Microsoft Windows platform, but may use both the the Windows PowerShell interpreter or the PowerShell Core (pwsh) interpreter as of Chef Infra Client 16.6 and later.
30
+ Use the **powershell_script** resource to execute a script using the Windows PowerShell interpreter, much like how the script and script-based resources **bash**, **csh**, **perl**, **python**, and **ruby** are used. The **powershell_script** resource is specific to the Microsoft Windows platform, but may use both the Windows PowerShell interpreter or the PowerShell Core (pwsh) interpreter as of Chef Infra Client 16.6 and later.
31
31
 
32
32
  The **powershell_script** resource creates and executes a temporary file rather than running the command inline. Commands that are executed with this resource are (by their nature) not idempotent, as they are typically unique to the environment in which they are run. Use `not_if` and `only_if` conditionals to guard this resource for idempotence.
33
33
  DESC
@@ -95,7 +95,7 @@ class Chef
95
95
  property :ftp_active_mode, [ TrueClass, FalseClass ], default: false,
96
96
  description: "Whether #{ChefUtils::Dist::Infra::PRODUCT} uses active or passive FTP. Set to `true` to use active FTP."
97
97
 
98
- property :headers, Hash, default: lazy { {} },
98
+ property :headers, Hash, default: {},
99
99
  description: "A Hash of custom HTTP headers."
100
100
 
101
101
  property :show_progress, [ TrueClass, FalseClass ], default: false
@@ -25,12 +25,27 @@ class Chef
25
25
 
26
26
  description "Use the **rhsm_errata** resource to install packages associated with a given Red Hat Subscription Manager Errata ID. This is helpful if packages to mitigate a single vulnerability must be installed on your hosts."
27
27
  introduced "14.0"
28
+ examples <<~DOC
29
+ **Install a package from an Errata ID**
30
+
31
+ ```ruby
32
+ rhsm_errata 'RHSA:2018-1234'
33
+ ```
34
+
35
+ **Specify an Errata ID that differs from the resource name**
36
+
37
+ ```ruby
38
+ rhsm_errata 'errata-install'
39
+ errata_id 'RHSA:2018-1234'
40
+ end
41
+ ```
42
+ DOC
28
43
 
29
44
  property :errata_id, String,
30
45
  description: "An optional property for specifying the errata ID if it differs from the resource block's name.",
31
46
  name_property: true
32
47
 
33
- action :install do
48
+ action :install, description: "Install a package for a specific errata ID." do
34
49
  description "Installs a package for a specific errata ID."
35
50
 
36
51
  execute "Install errata packages for #{new_resource.errata_id}" do
@@ -25,6 +25,15 @@ class Chef
25
25
 
26
26
  description "Use the **rhsm_errata_level** resource to install all packages of a specified errata level from the Red Hat Subscription Manager. For example, you can ensure that all packages associated with errata marked at a 'Critical' security level are installed."
27
27
  introduced "14.0"
28
+ examples <<~DOC
29
+ **Specify an errata level that differs from the resource name**
30
+
31
+ ```ruby
32
+ rhsm_errata_level 'example_install_moderate' do
33
+ errata_level 'moderate'
34
+ end
35
+ ```
36
+ DOC
28
37
 
29
38
  property :errata_level, String,
30
39
  coerce: proc { |x| x.downcase },
@@ -32,7 +41,7 @@ class Chef
32
41
  description: "An optional property for specifying the errata level of packages to install if it differs from the resource block's name.",
33
42
  name_property: true
34
43
 
35
- action :install do
44
+ action :install, description: "Install all packages of the specified errata level." do
36
45
  description "Install all packages of the specified errata level."
37
46
 
38
47
  if rhel6?
@@ -27,6 +27,16 @@ class Chef
27
27
 
28
28
  description "Use the **rhsm_register** resource to register a node with the Red Hat Subscription Manager or a local Red Hat Satellite server."
29
29
  introduced "14.0"
30
+ examples <<~DOC
31
+ **Register a node with RHSM*
32
+
33
+ ```ruby
34
+ rhsm_register 'my-host' do
35
+ activation_key 'ABCD1234'
36
+ organization 'my_org'
37
+ end
38
+ ```
39
+ DOC
30
40
 
31
41
  property :activation_key, [String, Array],
32
42
  coerce: proc { |x| Array(x) },
@@ -69,9 +79,7 @@ class Chef
69
79
  default: false, desired_state: false,
70
80
  introduced: "15.9"
71
81
 
72
- action :register do
73
- description "Register the node with RHSM."
74
-
82
+ action :register, description: "Register the node with RHSM." do
75
83
  package "subscription-manager"
76
84
 
77
85
  unless new_resource.satellite_host.nil? || registered_with_rhsm?
@@ -106,9 +114,7 @@ class Chef
106
114
  end
107
115
  end
108
116
 
109
- action :unregister do
110
- description "Unregister the node from RHSM."
111
-
117
+ action :unregister, description: "Unregister the node from RHSM." do
112
118
  execute "Unregister from RHSM" do
113
119
  command "subscription-manager unregister"
114
120
  default_env true