chef 16.14.1 → 17.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -13
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +6 -8
  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 +4 -3
  13. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  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 +65 -27
  20. data/lib/chef/cookbook/gem_installer.rb +1 -5
  21. data/lib/chef/cookbook/synchronizer.rb +3 -5
  22. data/lib/chef/cookbook_loader.rb +2 -4
  23. data/lib/chef/cookbook_uploader.rb +0 -1
  24. data/lib/chef/data_bag_item.rb +11 -2
  25. data/lib/chef/delayed_evaluator.rb +4 -0
  26. data/lib/chef/deprecated.rb +4 -0
  27. data/lib/chef/dsl/chef_vault.rb +6 -6
  28. data/lib/chef/dsl/reboot_pending.rb +1 -2
  29. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  30. data/lib/chef/group.rb +75 -0
  31. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  32. data/lib/chef/node/attribute.rb +6 -4
  33. data/lib/chef/node/immutable_collections.rb +13 -0
  34. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  35. data/lib/chef/org.rb +3 -2
  36. data/lib/chef/property.rb +18 -0
  37. data/lib/chef/provider.rb +1 -1
  38. data/lib/chef/provider/cron.rb +1 -1
  39. data/lib/chef/provider/execute.rb +2 -1
  40. data/lib/chef/provider/file.rb +1 -1
  41. data/lib/chef/provider/git.rb +5 -7
  42. data/lib/chef/provider/group/groupadd.rb +3 -3
  43. data/lib/chef/provider/group/groupmod.rb +3 -3
  44. data/lib/chef/provider/group/pw.rb +3 -3
  45. data/lib/chef/provider/ifconfig.rb +2 -2
  46. data/lib/chef/provider/link.rb +2 -2
  47. data/lib/chef/provider/mount.rb +5 -5
  48. data/lib/chef/provider/mount/aix.rb +3 -3
  49. data/lib/chef/provider/mount/mount.rb +5 -5
  50. data/lib/chef/provider/mount/windows.rb +1 -1
  51. data/lib/chef/provider/package.rb +17 -21
  52. data/lib/chef/provider/package/apt.rb +27 -1
  53. data/lib/chef/provider/package/deb.rb +3 -3
  54. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  55. data/lib/chef/provider/package/portage.rb +2 -2
  56. data/lib/chef/provider/package/rubygems.rb +9 -15
  57. data/lib/chef/provider/package/windows.rb +2 -4
  58. data/lib/chef/provider/package/yum/yum_helper.py +1 -1
  59. data/lib/chef/provider/route.rb +2 -2
  60. data/lib/chef/provider/service.rb +6 -6
  61. data/lib/chef/provider/service/aixinit.rb +1 -1
  62. data/lib/chef/provider/service/debian.rb +1 -1
  63. data/lib/chef/provider/service/freebsd.rb +15 -21
  64. data/lib/chef/provider/service/macosx.rb +4 -4
  65. data/lib/chef/provider/service/systemd.rb +43 -14
  66. data/lib/chef/provider/service/upstart.rb +2 -13
  67. data/lib/chef/provider/service/windows.rb +12 -12
  68. data/lib/chef/provider/subversion.rb +10 -12
  69. data/lib/chef/provider/systemd_unit.rb +36 -10
  70. data/lib/chef/provider/template/content.rb +2 -6
  71. data/lib/chef/provider/user.rb +2 -2
  72. data/lib/chef/provider/user/dscl.rb +1 -1
  73. data/lib/chef/provider/user/mac.rb +17 -20
  74. data/lib/chef/provider/user/pw.rb +1 -1
  75. data/lib/chef/provider/user/windows.rb +1 -1
  76. data/lib/chef/provider/zypper_repository.rb +2 -2
  77. data/lib/chef/providers.rb +0 -1
  78. data/lib/chef/resource/alternatives.rb +6 -6
  79. data/lib/chef/resource/apt_package.rb +1 -1
  80. data/lib/chef/resource/apt_preference.rb +2 -2
  81. data/lib/chef/resource/apt_repository.rb +6 -6
  82. data/lib/chef/resource/apt_update.rb +3 -2
  83. data/lib/chef/resource/archive_file.rb +2 -3
  84. data/lib/chef/resource/breakpoint.rb +1 -1
  85. data/lib/chef/resource/build_essential.rb +2 -6
  86. data/lib/chef/resource/chef_client_config.rb +2 -2
  87. data/lib/chef/resource/chef_client_cron.rb +4 -4
  88. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  89. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  90. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  91. data/lib/chef/resource/chef_handler.rb +3 -7
  92. data/lib/chef/resource/chef_sleep.rb +1 -1
  93. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  94. data/lib/chef/resource/chocolatey_config.rb +2 -6
  95. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  96. data/lib/chef/resource/chocolatey_source.rb +4 -10
  97. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  98. data/lib/chef/resource/cron_access.rb +2 -4
  99. data/lib/chef/resource/dmg_package.rb +6 -10
  100. data/lib/chef/resource/dpkg_package.rb +1 -1
  101. data/lib/chef/resource/execute.rb +6 -1
  102. data/lib/chef/resource/file.rb +1 -1
  103. data/lib/chef/resource/group.rb +2 -2
  104. data/lib/chef/resource/homebrew_cask.rb +2 -6
  105. data/lib/chef/resource/homebrew_tap.rb +2 -6
  106. data/lib/chef/resource/hostname.rb +21 -17
  107. data/lib/chef/resource/http_request.rb +1 -1
  108. data/lib/chef/resource/kernel_module.rb +6 -17
  109. data/lib/chef/resource/locale.rb +2 -3
  110. data/lib/chef/resource/lwrp_base.rb +4 -0
  111. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  112. data/lib/chef/resource/mdadm.rb +53 -7
  113. data/lib/chef/resource/mount.rb +2 -1
  114. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  115. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  116. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  117. data/lib/chef/resource/plist.rb +7 -7
  118. data/lib/chef/resource/powershell_script.rb +1 -1
  119. data/lib/chef/resource/remote_file.rb +1 -1
  120. data/lib/chef/resource/rhsm_errata.rb +16 -1
  121. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  122. data/lib/chef/resource/rhsm_register.rb +12 -6
  123. data/lib/chef/resource/rhsm_repo.rb +2 -6
  124. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  125. data/lib/chef/resource/scm/git.rb +1 -1
  126. data/lib/chef/resource/sudo.rb +6 -6
  127. data/lib/chef/resource/sysctl.rb +2 -6
  128. data/lib/chef/resource/systemd_unit.rb +2 -2
  129. data/lib/chef/resource/template.rb +1 -1
  130. data/lib/chef/resource/timezone.rb +1 -3
  131. data/lib/chef/resource/user/mac_user.rb +1 -1
  132. data/lib/chef/resource/user_ulimit.rb +2 -2
  133. data/lib/chef/resource/windows_ad_join.rb +2 -6
  134. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  135. data/lib/chef/resource/windows_auto_run.rb +2 -5
  136. data/lib/chef/resource/windows_certificate.rb +207 -73
  137. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  138. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  139. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  140. data/lib/chef/resource/windows_dns_record.rb +2 -6
  141. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  142. data/lib/chef/resource/windows_env.rb +5 -4
  143. data/lib/chef/resource/windows_feature.rb +3 -9
  144. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  145. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  146. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  147. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  148. data/lib/chef/resource/windows_font.rb +2 -4
  149. data/lib/chef/resource/windows_pagefile.rb +2 -6
  150. data/lib/chef/resource/windows_path.rb +2 -2
  151. data/lib/chef/resource/windows_printer.rb +4 -4
  152. data/lib/chef/resource/windows_printer_port.rb +6 -6
  153. data/lib/chef/resource/windows_security_policy.rb +53 -40
  154. data/lib/chef/resource/windows_share.rb +14 -21
  155. data/lib/chef/resource/windows_shortcut.rb +4 -6
  156. data/lib/chef/resource/windows_task.rb +17 -5
  157. data/lib/chef/resource/windows_uac.rb +1 -1
  158. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  159. data/lib/chef/resource/windows_workgroup.rb +1 -2
  160. data/lib/chef/resources.rb +0 -1
  161. data/lib/chef/user.rb +0 -1
  162. data/lib/chef/user_v1.rb +3 -4
  163. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  164. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  165. data/lib/chef/version.rb +1 -1
  166. data/lib/chef/win32/registry.rb +4 -2
  167. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  168. data/spec/data/lwrp/resources/bar.rb +2 -0
  169. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  170. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  171. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  172. data/spec/data/lwrp/resources/foo.rb +2 -0
  173. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  174. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  175. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  176. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  177. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  178. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  179. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  180. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  181. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  182. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  183. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  184. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  185. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  186. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  187. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  188. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  189. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  190. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  191. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  192. data/spec/functional/resource/apt_package_spec.rb +1 -1
  193. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  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 +1 -1
  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 +10 -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 +1 -8
  220. data/spec/support/shared/integration/integration_helper.rb +0 -1
  221. data/spec/support/shared/unit/script_resource.rb +2 -2
  222. data/spec/unit/application/solo_spec.rb +2 -2
  223. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  224. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  225. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  226. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  227. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  228. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  229. data/spec/unit/compliance/runner_spec.rb +30 -4
  230. data/spec/unit/data_bag_item_spec.rb +1 -6
  231. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  232. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  233. data/spec/unit/lwrp_spec.rb +1 -1
  234. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  235. data/spec/unit/node/attribute_spec.rb +1 -1
  236. data/spec/unit/node_spec.rb +78 -0
  237. data/spec/unit/org_group_spec.rb +45 -0
  238. data/spec/unit/property_spec.rb +23 -22
  239. data/spec/unit/provider/cron_spec.rb +1 -1
  240. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  241. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  242. data/spec/unit/provider/group/pw_spec.rb +2 -2
  243. data/spec/unit/provider/group_spec.rb +1 -1
  244. data/spec/unit/provider/package/apt_spec.rb +84 -18
  245. data/spec/unit/provider/package/deb_spec.rb +3 -3
  246. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  247. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  248. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  249. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  250. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  251. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  252. data/spec/unit/provider/service/windows_spec.rb +2 -2
  253. data/spec/unit/provider/subversion_spec.rb +2 -2
  254. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  255. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  256. data/spec/unit/provider_spec.rb +0 -8
  257. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  258. data/spec/unit/resource/windows_task_spec.rb +1 -1
  259. data/spec/unit/user_spec.rb +1 -1
  260. data/spec/unit/user_v1_spec.rb +6 -4
  261. data/tasks/rspec.rb +15 -7
  262. metadata +17 -380
  263. data/bin/knife +0 -24
  264. data/lib/chef/application/knife.rb +0 -234
  265. data/lib/chef/application/windows_service.rb +0 -338
  266. data/lib/chef/application/windows_service_manager.rb +0 -205
  267. data/lib/chef/chef_fs/knife.rb +0 -160
  268. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  269. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  270. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  271. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  272. data/lib/chef/knife.rb +0 -665
  273. data/lib/chef/knife/acl_add.rb +0 -57
  274. data/lib/chef/knife/acl_base.rb +0 -183
  275. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  276. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  277. data/lib/chef/knife/acl_remove.rb +0 -62
  278. data/lib/chef/knife/acl_show.rb +0 -56
  279. data/lib/chef/knife/bootstrap.rb +0 -1192
  280. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  281. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  282. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  283. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  284. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  285. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  286. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  287. data/lib/chef/knife/client_create.rb +0 -101
  288. data/lib/chef/knife/client_delete.rb +0 -62
  289. data/lib/chef/knife/client_edit.rb +0 -52
  290. data/lib/chef/knife/client_key_create.rb +0 -73
  291. data/lib/chef/knife/client_key_delete.rb +0 -80
  292. data/lib/chef/knife/client_key_edit.rb +0 -83
  293. data/lib/chef/knife/client_key_list.rb +0 -73
  294. data/lib/chef/knife/client_key_show.rb +0 -80
  295. data/lib/chef/knife/client_list.rb +0 -41
  296. data/lib/chef/knife/client_reregister.rb +0 -58
  297. data/lib/chef/knife/client_show.rb +0 -48
  298. data/lib/chef/knife/config_get.rb +0 -39
  299. data/lib/chef/knife/config_get_profile.rb +0 -37
  300. data/lib/chef/knife/config_list.rb +0 -139
  301. data/lib/chef/knife/config_list_profiles.rb +0 -37
  302. data/lib/chef/knife/config_show.rb +0 -127
  303. data/lib/chef/knife/config_use.rb +0 -61
  304. data/lib/chef/knife/config_use_profile.rb +0 -47
  305. data/lib/chef/knife/configure.rb +0 -150
  306. data/lib/chef/knife/configure_client.rb +0 -48
  307. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  308. data/lib/chef/knife/cookbook_delete.rb +0 -151
  309. data/lib/chef/knife/cookbook_download.rb +0 -142
  310. data/lib/chef/knife/cookbook_list.rb +0 -47
  311. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  312. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  313. data/lib/chef/knife/cookbook_show.rb +0 -98
  314. data/lib/chef/knife/cookbook_upload.rb +0 -292
  315. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  316. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  317. data/lib/chef/knife/core/formatting_options.rb +0 -49
  318. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  319. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  320. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  321. data/lib/chef/knife/core/node_editor.rb +0 -130
  322. data/lib/chef/knife/core/node_presenter.rb +0 -133
  323. data/lib/chef/knife/core/object_loader.rb +0 -115
  324. data/lib/chef/knife/core/status_presenter.rb +0 -147
  325. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  326. data/lib/chef/knife/core/text_formatter.rb +0 -85
  327. data/lib/chef/knife/core/ui.rb +0 -338
  328. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  329. data/lib/chef/knife/data_bag_create.rb +0 -81
  330. data/lib/chef/knife/data_bag_delete.rb +0 -49
  331. data/lib/chef/knife/data_bag_edit.rb +0 -74
  332. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  333. data/lib/chef/knife/data_bag_list.rb +0 -42
  334. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  335. data/lib/chef/knife/data_bag_show.rb +0 -69
  336. data/lib/chef/knife/delete.rb +0 -125
  337. data/lib/chef/knife/deps.rb +0 -156
  338. data/lib/chef/knife/diff.rb +0 -83
  339. data/lib/chef/knife/download.rb +0 -84
  340. data/lib/chef/knife/edit.rb +0 -88
  341. data/lib/chef/knife/environment_compare.rb +0 -128
  342. data/lib/chef/knife/environment_create.rb +0 -52
  343. data/lib/chef/knife/environment_delete.rb +0 -44
  344. data/lib/chef/knife/environment_edit.rb +0 -44
  345. data/lib/chef/knife/environment_from_file.rb +0 -84
  346. data/lib/chef/knife/environment_list.rb +0 -41
  347. data/lib/chef/knife/environment_show.rb +0 -47
  348. data/lib/chef/knife/exec.rb +0 -99
  349. data/lib/chef/knife/group_add.rb +0 -55
  350. data/lib/chef/knife/group_create.rb +0 -49
  351. data/lib/chef/knife/group_destroy.rb +0 -53
  352. data/lib/chef/knife/group_list.rb +0 -43
  353. data/lib/chef/knife/group_remove.rb +0 -56
  354. data/lib/chef/knife/group_show.rb +0 -49
  355. data/lib/chef/knife/key_create.rb +0 -112
  356. data/lib/chef/knife/key_create_base.rb +0 -50
  357. data/lib/chef/knife/key_delete.rb +0 -55
  358. data/lib/chef/knife/key_edit.rb +0 -118
  359. data/lib/chef/knife/key_edit_base.rb +0 -55
  360. data/lib/chef/knife/key_list.rb +0 -90
  361. data/lib/chef/knife/key_list_base.rb +0 -45
  362. data/lib/chef/knife/key_show.rb +0 -53
  363. data/lib/chef/knife/list.rb +0 -177
  364. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  365. data/lib/chef/knife/node_create.rb +0 -47
  366. data/lib/chef/knife/node_delete.rb +0 -46
  367. data/lib/chef/knife/node_edit.rb +0 -70
  368. data/lib/chef/knife/node_environment_set.rb +0 -53
  369. data/lib/chef/knife/node_from_file.rb +0 -51
  370. data/lib/chef/knife/node_list.rb +0 -44
  371. data/lib/chef/knife/node_policy_set.rb +0 -79
  372. data/lib/chef/knife/node_run_list_add.rb +0 -104
  373. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  374. data/lib/chef/knife/node_run_list_set.rb +0 -66
  375. data/lib/chef/knife/node_show.rb +0 -63
  376. data/lib/chef/knife/null.rb +0 -12
  377. data/lib/chef/knife/raw.rb +0 -123
  378. data/lib/chef/knife/recipe_list.rb +0 -32
  379. data/lib/chef/knife/rehash.rb +0 -50
  380. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  381. data/lib/chef/knife/role_create.rb +0 -53
  382. data/lib/chef/knife/role_delete.rb +0 -46
  383. data/lib/chef/knife/role_edit.rb +0 -45
  384. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  385. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  386. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  387. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  388. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  389. data/lib/chef/knife/role_from_file.rb +0 -51
  390. data/lib/chef/knife/role_list.rb +0 -42
  391. data/lib/chef/knife/role_run_list_add.rb +0 -87
  392. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  393. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  394. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  395. data/lib/chef/knife/role_run_list_set.rb +0 -69
  396. data/lib/chef/knife/role_show.rb +0 -48
  397. data/lib/chef/knife/search.rb +0 -194
  398. data/lib/chef/knife/serve.rb +0 -65
  399. data/lib/chef/knife/show.rb +0 -72
  400. data/lib/chef/knife/ssh.rb +0 -645
  401. data/lib/chef/knife/ssl_check.rb +0 -284
  402. data/lib/chef/knife/ssl_fetch.rb +0 -161
  403. data/lib/chef/knife/status.rb +0 -95
  404. data/lib/chef/knife/supermarket_download.rb +0 -121
  405. data/lib/chef/knife/supermarket_install.rb +0 -192
  406. data/lib/chef/knife/supermarket_list.rb +0 -76
  407. data/lib/chef/knife/supermarket_search.rb +0 -53
  408. data/lib/chef/knife/supermarket_share.rb +0 -166
  409. data/lib/chef/knife/supermarket_show.rb +0 -66
  410. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  411. data/lib/chef/knife/tag_create.rb +0 -52
  412. data/lib/chef/knife/tag_delete.rb +0 -60
  413. data/lib/chef/knife/tag_list.rb +0 -47
  414. data/lib/chef/knife/upload.rb +0 -86
  415. data/lib/chef/knife/user_create.rb +0 -107
  416. data/lib/chef/knife/user_delete.rb +0 -44
  417. data/lib/chef/knife/user_dissociate.rb +0 -42
  418. data/lib/chef/knife/user_edit.rb +0 -52
  419. data/lib/chef/knife/user_invite_add.rb +0 -43
  420. data/lib/chef/knife/user_invite_list.rb +0 -34
  421. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  422. data/lib/chef/knife/user_key_create.rb +0 -73
  423. data/lib/chef/knife/user_key_delete.rb +0 -80
  424. data/lib/chef/knife/user_key_edit.rb +0 -83
  425. data/lib/chef/knife/user_key_list.rb +0 -73
  426. data/lib/chef/knife/user_key_show.rb +0 -80
  427. data/lib/chef/knife/user_list.rb +0 -42
  428. data/lib/chef/knife/user_reregister.rb +0 -59
  429. data/lib/chef/knife/user_show.rb +0 -48
  430. data/lib/chef/knife/xargs.rb +0 -282
  431. data/lib/chef/knife/yaml_convert.rb +0 -91
  432. data/lib/chef/resource/user/dscl_user.rb +0 -35
  433. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  434. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  435. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  436. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  437. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  438. data/spec/functional/knife/configure_spec.rb +0 -33
  439. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  440. data/spec/functional/knife/exec_spec.rb +0 -55
  441. data/spec/functional/knife/rehash_spec.rb +0 -39
  442. data/spec/functional/knife/smoke_test.rb +0 -42
  443. data/spec/functional/knife/ssh_spec.rb +0 -352
  444. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  445. data/spec/functional/resource/windows_service_spec.rb +0 -105
  446. data/spec/functional/win32/service_manager_spec.rb +0 -220
  447. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  448. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  449. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  450. data/spec/integration/knife/chefignore_spec.rb +0 -301
  451. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  452. data/spec/integration/knife/client_create_spec.rb +0 -70
  453. data/spec/integration/knife/client_delete_spec.rb +0 -64
  454. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  455. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  456. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  457. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  458. data/spec/integration/knife/client_list_spec.rb +0 -49
  459. data/spec/integration/knife/client_show_spec.rb +0 -37
  460. data/spec/integration/knife/common_options_spec.rb +0 -174
  461. data/spec/integration/knife/config_list_spec.rb +0 -220
  462. data/spec/integration/knife/config_show_spec.rb +0 -192
  463. data/spec/integration/knife/config_use_spec.rb +0 -198
  464. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  465. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  466. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  467. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  468. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  469. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  470. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  471. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  472. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  473. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  474. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  475. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  476. data/spec/integration/knife/delete_spec.rb +0 -1018
  477. data/spec/integration/knife/deps_spec.rb +0 -703
  478. data/spec/integration/knife/diff_spec.rb +0 -605
  479. data/spec/integration/knife/download_spec.rb +0 -1336
  480. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  481. data/spec/integration/knife/environment_create_spec.rb +0 -41
  482. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  483. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  484. data/spec/integration/knife/environment_list_spec.rb +0 -42
  485. data/spec/integration/knife/environment_show_spec.rb +0 -77
  486. data/spec/integration/knife/list_spec.rb +0 -1060
  487. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  488. data/spec/integration/knife/node_create_spec.rb +0 -47
  489. data/spec/integration/knife/node_delete_spec.rb +0 -48
  490. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  491. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  492. data/spec/integration/knife/node_list_spec.rb +0 -45
  493. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  494. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  495. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  496. data/spec/integration/knife/node_show_spec.rb +0 -36
  497. data/spec/integration/knife/raw_spec.rb +0 -297
  498. data/spec/integration/knife/redirection_spec.rb +0 -64
  499. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  500. data/spec/integration/knife/role_create_spec.rb +0 -41
  501. data/spec/integration/knife/role_delete_spec.rb +0 -48
  502. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  503. data/spec/integration/knife/role_list_spec.rb +0 -45
  504. data/spec/integration/knife/role_show_spec.rb +0 -51
  505. data/spec/integration/knife/search_node_spec.rb +0 -40
  506. data/spec/integration/knife/serve_spec.rb +0 -92
  507. data/spec/integration/knife/show_spec.rb +0 -197
  508. data/spec/integration/knife/upload_spec.rb +0 -1617
  509. data/spec/support/shared/functional/knife.rb +0 -37
  510. data/spec/support/shared/functional/win32_service.rb +0 -57
  511. data/spec/support/shared/integration/knife_support.rb +0 -192
  512. data/spec/support/shared/unit/knife_shared.rb +0 -39
  513. data/spec/unit/application/knife_spec.rb +0 -241
  514. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  515. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  516. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  517. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  518. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  519. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  520. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  521. data/spec/unit/knife/client_create_spec.rb +0 -169
  522. data/spec/unit/knife/client_delete_spec.rb +0 -99
  523. data/spec/unit/knife/client_edit_spec.rb +0 -53
  524. data/spec/unit/knife/client_list_spec.rb +0 -34
  525. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  526. data/spec/unit/knife/client_show_spec.rb +0 -52
  527. data/spec/unit/knife/configure_client_spec.rb +0 -81
  528. data/spec/unit/knife/configure_spec.rb +0 -190
  529. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  530. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  531. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  532. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  533. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  534. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  535. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  536. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  537. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  538. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  539. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  540. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  541. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  542. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  543. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  544. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  545. data/spec/unit/knife/core/ui_spec.rb +0 -656
  546. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  547. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  548. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  549. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  550. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  551. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  552. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  553. data/spec/unit/knife/environment_create_spec.rb +0 -91
  554. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  555. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  556. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  557. data/spec/unit/knife/environment_list_spec.rb +0 -54
  558. data/spec/unit/knife/environment_show_spec.rb +0 -52
  559. data/spec/unit/knife/key_create_spec.rb +0 -223
  560. data/spec/unit/knife/key_delete_spec.rb +0 -133
  561. data/spec/unit/knife/key_edit_spec.rb +0 -264
  562. data/spec/unit/knife/key_helper.rb +0 -74
  563. data/spec/unit/knife/key_list_spec.rb +0 -216
  564. data/spec/unit/knife/key_show_spec.rb +0 -126
  565. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  566. data/spec/unit/knife/node_delete_spec.rb +0 -77
  567. data/spec/unit/knife/node_edit_spec.rb +0 -116
  568. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  569. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  570. data/spec/unit/knife/node_list_spec.rb +0 -62
  571. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  572. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  573. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  574. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  575. data/spec/unit/knife/node_show_spec.rb +0 -65
  576. data/spec/unit/knife/raw_spec.rb +0 -43
  577. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  578. data/spec/unit/knife/role_create_spec.rb +0 -80
  579. data/spec/unit/knife/role_delete_spec.rb +0 -67
  580. data/spec/unit/knife/role_edit_spec.rb +0 -77
  581. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  582. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  583. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  584. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  585. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  586. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  587. data/spec/unit/knife/role_list_spec.rb +0 -54
  588. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  589. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  590. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  591. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  592. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  593. data/spec/unit/knife/role_show_spec.rb +0 -59
  594. data/spec/unit/knife/ssh_spec.rb +0 -403
  595. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  596. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  597. data/spec/unit/knife/status_spec.rb +0 -112
  598. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  599. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  600. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  601. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  602. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  603. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  604. data/spec/unit/knife/tag_create_spec.rb +0 -23
  605. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  606. data/spec/unit/knife/tag_list_spec.rb +0 -23
  607. data/spec/unit/knife/user_create_spec.rb +0 -184
  608. data/spec/unit/knife/user_delete_spec.rb +0 -46
  609. data/spec/unit/knife/user_edit_spec.rb +0 -48
  610. data/spec/unit/knife/user_list_spec.rb +0 -36
  611. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  612. data/spec/unit/knife/user_show_spec.rb +0 -46
  613. data/spec/unit/knife_spec.rb +0 -634
  614. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  615. data/spec/unit/windows_service_spec.rb +0 -118
@@ -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
@@ -31,9 +31,7 @@ class Chef
31
31
  description: "An optional property for specifying the repository name if it differs from the resource block's name.",
32
32
  name_property: true
33
33
 
34
- action :enable do
35
- description "Enable a RHSM repository."
36
-
34
+ action :enable, description: "Enable a RHSM repository." do
37
35
  execute "Enable repository #{new_resource.repo_name}" do
38
36
  command "subscription-manager repos --enable=#{new_resource.repo_name}"
39
37
  default_env true
@@ -42,9 +40,7 @@ class Chef
42
40
  end
43
41
  end
44
42
 
45
- action :disable do
46
- description "Disable a RHSM repository."
47
-
43
+ action :disable, description: "Disable a RHSM repository." do
48
44
  execute "Enable repository #{new_resource.repo_name}" do
49
45
  command "subscription-manager repos --disable=#{new_resource.repo_name}"
50
46
  default_env true
@@ -31,9 +31,7 @@ class Chef
31
31
  description: "An optional property for specifying the Pool ID if it differs from the resource block's name.",
32
32
  name_property: true
33
33
 
34
- action :attach do
35
- description "Attach the node to a subscription pool."
36
-
34
+ action :attach, description: "Attach the node to a subscription pool." do
37
35
  execute "Attach subscription pool #{new_resource.pool_id}" do
38
36
  command "subscription-manager attach --pool=#{new_resource.pool_id}"
39
37
  default_env true
@@ -42,9 +40,7 @@ class Chef
42
40
  end
43
41
  end
44
42
 
45
- action :remove do
46
- description "Remove the node from a subscription pool."
47
-
43
+ action :remove, description: "Remove the node from a subscription pool." do
48
44
  execute "Remove subscription pool #{new_resource.pool_id}" do
49
45
  command "subscription-manager remove --serial=#{pool_serial(new_resource.pool_id)}"
50
46
  default_env true
@@ -112,7 +112,7 @@ class Chef
112
112
 
113
113
  property :additional_remotes, Hash,
114
114
  description: "A Hash of additional remotes that are added to the git repository configuration.",
115
- default: lazy { {} }
115
+ default: {}
116
116
 
117
117
  property :depth, Integer,
118
118
  description: "The number of past revisions to be included in the git shallow clone. Unless specified the default behavior will do a full clone."
@@ -71,12 +71,12 @@ class Chef
71
71
 
72
72
  property :users, [String, Array],
73
73
  description: "User(s) to provide sudo privileges to. This property accepts either an array or a comma separated list.",
74
- default: lazy { [] },
74
+ default: [],
75
75
  coerce: proc { |x| x.is_a?(Array) ? x : x.split(/\s*,\s*/) }
76
76
 
77
77
  property :groups, [String, Array],
78
78
  description: "Group(s) to provide sudo privileges to. This property accepts either an array or a comma separated list. Leading % on group names is optional.",
79
- default: lazy { [] },
79
+ default: [],
80
80
  coerce: proc { |x| coerce_groups(x) }
81
81
 
82
82
  property :commands, Array,
@@ -108,11 +108,11 @@ class Chef
108
108
 
109
109
  property :defaults, Array,
110
110
  description: "An array of defaults for the user/group.",
111
- default: lazy { [] }
111
+ default: []
112
112
 
113
113
  property :command_aliases, Array,
114
114
  description: "Command aliases that can be used as allowed commands later in the configuration.",
115
- default: lazy { [] }
115
+ default: []
116
116
 
117
117
  property :setenv, [TrueClass, FalseClass],
118
118
  description: "Determines whether or not to permit preservation of the environment with `sudo -E`.",
@@ -120,11 +120,11 @@ class Chef
120
120
 
121
121
  property :env_keep_add, Array,
122
122
  description: "An array of strings to add to `env_keep`.",
123
- default: lazy { [] }
123
+ default: []
124
124
 
125
125
  property :env_keep_subtract, Array,
126
126
  description: "An array of strings to remove from `env_keep`.",
127
- default: lazy { [] }
127
+ default: []
128
128
 
129
129
  property :visudo_path, String,
130
130
  deprecated: true