chef 17.10.95 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +16 -8
  3. data/README.md +7 -7
  4. data/Rakefile +3 -22
  5. data/{chef-universal-mingw32.gemspec → chef-universal-mingw-ucrt.gemspec} +8 -7
  6. data/chef.gemspec +12 -5
  7. data/lib/chef/api_client_v1.rb +9 -1
  8. data/lib/chef/application/exit_code.rb +3 -3
  9. data/lib/chef/chef_fs/file_system.rb +21 -7
  10. data/lib/chef/client.rb +169 -17
  11. data/lib/chef/compliance/input.rb +1 -1
  12. data/lib/chef/compliance/profile.rb +1 -1
  13. data/lib/chef/compliance/profile_collection.rb +0 -1
  14. data/lib/chef/compliance/waiver.rb +1 -1
  15. data/lib/chef/cookbook/syntax_check.rb +2 -2
  16. data/lib/chef/dsl/reader_helpers.rb +1 -1
  17. data/lib/chef/dsl/rest_resource.rb +77 -0
  18. data/lib/chef/event_dispatch/base.rb +3 -0
  19. data/lib/chef/exceptions.rb +8 -0
  20. data/lib/chef/http/authenticator.rb +170 -3
  21. data/lib/chef/http/ssl_policies.rb +3 -3
  22. data/lib/chef/mixin/powershell_exec.rb +5 -28
  23. data/lib/chef/node/mixin/immutablize_array.rb +1 -0
  24. data/lib/chef/property.rb +13 -6
  25. data/lib/chef/provider/cron.rb +5 -1
  26. data/lib/chef/provider/group/windows.rb +1 -1
  27. data/lib/chef/provider/http_request.rb +11 -9
  28. data/lib/chef/provider/launchd.rb +1 -0
  29. data/lib/chef/provider/mount/linux.rb +5 -0
  30. data/lib/chef/provider/mount/mount.rb +8 -0
  31. data/lib/chef/provider/mount/windows.rb +1 -1
  32. data/lib/chef/provider/package/chocolatey.rb +1 -18
  33. data/lib/chef/provider/package/rubygems.rb +1 -1
  34. data/lib/chef/provider/package/snap.rb +1 -1
  35. data/lib/chef/provider/package/windows/msi.rb +2 -2
  36. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  37. data/lib/chef/provider/package/yum/yum_helper.py +5 -17
  38. data/lib/chef/provider/package/zypper/version.rb +60 -0
  39. data/lib/chef/provider/package/zypper.rb +47 -3
  40. data/lib/chef/provider/service/windows.rb +1 -1
  41. data/lib/chef/provider/user/aix.rb +5 -0
  42. data/lib/chef/provider/user/linux.rb +29 -0
  43. data/lib/chef/provider/user/mac.rb +1 -1
  44. data/lib/chef/provider/user.rb +46 -14
  45. data/lib/chef/provider/yum_repository.rb +13 -1
  46. data/lib/chef/provider.rb +1 -1
  47. data/lib/chef/recipe.rb +1 -1
  48. data/lib/chef/resource/_rest_resource.rb +389 -0
  49. data/lib/chef/resource/alternatives.rb +0 -1
  50. data/lib/chef/resource/apt_package.rb +2 -1
  51. data/lib/chef/resource/apt_preference.rb +0 -1
  52. data/lib/chef/resource/apt_repository.rb +0 -1
  53. data/lib/chef/resource/apt_update.rb +0 -1
  54. data/lib/chef/resource/archive_file.rb +0 -1
  55. data/lib/chef/resource/bash.rb +0 -1
  56. data/lib/chef/resource/batch.rb +0 -1
  57. data/lib/chef/resource/bff_package.rb +0 -1
  58. data/lib/chef/resource/breakpoint.rb +0 -1
  59. data/lib/chef/resource/build_essential.rb +0 -1
  60. data/lib/chef/resource/cab_package.rb +0 -1
  61. data/lib/chef/resource/chef_client_config.rb +12 -14
  62. data/lib/chef/resource/chef_client_cron.rb +1 -2
  63. data/lib/chef/resource/chef_client_launchd.rb +2 -2
  64. data/lib/chef/resource/chef_client_scheduled_task.rb +3 -3
  65. data/lib/chef/resource/chef_client_systemd_timer.rb +0 -1
  66. data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
  67. data/lib/chef/resource/chef_gem.rb +0 -1
  68. data/lib/chef/resource/chef_handler.rb +0 -1
  69. data/lib/chef/resource/chef_sleep.rb +1 -3
  70. data/lib/chef/resource/chef_vault_secret.rb +0 -1
  71. data/lib/chef/resource/chocolatey_config.rb +0 -1
  72. data/lib/chef/resource/chocolatey_feature.rb +0 -1
  73. data/lib/chef/resource/chocolatey_package.rb +0 -1
  74. data/lib/chef/resource/chocolatey_source.rb +0 -1
  75. data/lib/chef/resource/cookbook_file.rb +0 -1
  76. data/lib/chef/resource/cron/_cron_shared.rb +0 -1
  77. data/lib/chef/resource/cron/cron.rb +0 -1
  78. data/lib/chef/resource/cron/cron_d.rb +15 -1
  79. data/lib/chef/resource/cron_access.rb +0 -1
  80. data/lib/chef/resource/csh.rb +0 -1
  81. data/lib/chef/resource/directory.rb +0 -1
  82. data/lib/chef/resource/dmg_package.rb +2 -1
  83. data/lib/chef/resource/dnf_package.rb +0 -1
  84. data/lib/chef/resource/dpkg_package.rb +0 -1
  85. data/lib/chef/resource/dsc_resource.rb +0 -1
  86. data/lib/chef/resource/dsc_script.rb +0 -1
  87. data/lib/chef/resource/execute.rb +0 -1
  88. data/lib/chef/resource/file.rb +0 -1
  89. data/lib/chef/resource/freebsd_package.rb +2 -1
  90. data/lib/chef/resource/gem_package.rb +2 -1
  91. data/lib/chef/resource/group.rb +25 -2
  92. data/lib/chef/resource/habitat/habitat_package.rb +0 -1
  93. data/lib/chef/resource/habitat/habitat_sup.rb +6 -7
  94. data/lib/chef/resource/habitat/habitat_sup_windows.rb +1 -1
  95. data/lib/chef/resource/habitat_config.rb +0 -1
  96. data/lib/chef/resource/habitat_install.rb +0 -1
  97. data/lib/chef/resource/habitat_service.rb +0 -1
  98. data/lib/chef/resource/habitat_user_toml.rb +0 -1
  99. data/lib/chef/resource/homebrew_cask.rb +0 -1
  100. data/lib/chef/resource/homebrew_package.rb +2 -1
  101. data/lib/chef/resource/homebrew_tap.rb +0 -1
  102. data/lib/chef/resource/homebrew_update.rb +0 -2
  103. data/lib/chef/resource/hostname.rb +0 -1
  104. data/lib/chef/resource/http_request.rb +0 -1
  105. data/lib/chef/resource/ifconfig.rb +0 -1
  106. data/lib/chef/resource/inspec_input.rb +0 -1
  107. data/lib/chef/resource/inspec_waiver.rb +0 -1
  108. data/lib/chef/resource/inspec_waiver_file_entry.rb +2 -3
  109. data/lib/chef/resource/ips_package.rb +0 -1
  110. data/lib/chef/resource/kernel_module.rb +0 -1
  111. data/lib/chef/resource/ksh.rb +0 -1
  112. data/lib/chef/resource/launchd.rb +3 -1
  113. data/lib/chef/resource/link.rb +0 -1
  114. data/lib/chef/resource/locale.rb +2 -6
  115. data/lib/chef/resource/log.rb +0 -1
  116. data/lib/chef/resource/lwrp_base.rb +0 -4
  117. data/lib/chef/resource/macos_userdefaults.rb +8 -13
  118. data/lib/chef/resource/macosx_service.rb +0 -1
  119. data/lib/chef/resource/macports_package.rb +2 -1
  120. data/lib/chef/resource/mdadm.rb +0 -1
  121. data/lib/chef/resource/mount.rb +0 -1
  122. data/lib/chef/resource/msu_package.rb +0 -1
  123. data/lib/chef/resource/notify_group.rb +0 -2
  124. data/lib/chef/resource/ohai.rb +0 -1
  125. data/lib/chef/resource/ohai_hint.rb +0 -1
  126. data/lib/chef/resource/openbsd_package.rb +2 -1
  127. data/lib/chef/resource/openssl_dhparam.rb +0 -2
  128. data/lib/chef/resource/openssl_ec_private_key.rb +0 -2
  129. data/lib/chef/resource/openssl_ec_public_key.rb +0 -2
  130. data/lib/chef/resource/openssl_rsa_private_key.rb +0 -2
  131. data/lib/chef/resource/openssl_rsa_public_key.rb +0 -2
  132. data/lib/chef/resource/openssl_x509_certificate.rb +0 -2
  133. data/lib/chef/resource/openssl_x509_crl.rb +0 -2
  134. data/lib/chef/resource/openssl_x509_request.rb +0 -2
  135. data/lib/chef/resource/osx_profile.rb +0 -1
  136. data/lib/chef/resource/package.rb +0 -1
  137. data/lib/chef/resource/pacman_package.rb +2 -1
  138. data/lib/chef/resource/paludis_package.rb +0 -1
  139. data/lib/chef/resource/perl.rb +0 -1
  140. data/lib/chef/resource/plist.rb +7 -3
  141. data/lib/chef/resource/portage_package.rb +2 -1
  142. data/lib/chef/resource/powershell_package.rb +0 -1
  143. data/lib/chef/resource/powershell_package_source.rb +0 -1
  144. data/lib/chef/resource/powershell_script.rb +0 -1
  145. data/lib/chef/resource/python.rb +0 -1
  146. data/lib/chef/resource/reboot.rb +0 -1
  147. data/lib/chef/resource/registry_key.rb +0 -1
  148. data/lib/chef/resource/remote_directory.rb +0 -1
  149. data/lib/chef/resource/remote_file.rb +0 -1
  150. data/lib/chef/resource/rhsm_errata.rb +0 -1
  151. data/lib/chef/resource/rhsm_errata_level.rb +0 -1
  152. data/lib/chef/resource/rhsm_register.rb +2 -4
  153. data/lib/chef/resource/rhsm_repo.rb +0 -1
  154. data/lib/chef/resource/rhsm_subscription.rb +0 -1
  155. data/lib/chef/resource/route.rb +0 -1
  156. data/lib/chef/resource/rpm_package.rb +2 -1
  157. data/lib/chef/resource/ruby.rb +0 -1
  158. data/lib/chef/resource/ruby_block.rb +0 -1
  159. data/lib/chef/resource/scm/_scm.rb +0 -2
  160. data/lib/chef/resource/scm/git.rb +0 -2
  161. data/lib/chef/resource/scm/subversion.rb +0 -2
  162. data/lib/chef/resource/script.rb +0 -1
  163. data/lib/chef/resource/selinux/common_helpers.rb +47 -0
  164. data/lib/chef/resource/selinux/selinux_debian.erb +18 -0
  165. data/lib/chef/resource/selinux/selinux_default.erb +15 -0
  166. data/lib/chef/resource/selinux_boolean.rb +101 -0
  167. data/lib/chef/resource/selinux_fcontext.rb +160 -0
  168. data/lib/chef/resource/selinux_install.rb +107 -0
  169. data/lib/chef/resource/selinux_module.rb +143 -0
  170. data/lib/chef/resource/selinux_permissive.rb +64 -0
  171. data/lib/chef/resource/selinux_port.rb +118 -0
  172. data/lib/chef/resource/selinux_state.rb +166 -0
  173. data/lib/chef/resource/service.rb +0 -1
  174. data/lib/chef/resource/smartos_package.rb +2 -1
  175. data/lib/chef/resource/snap_package.rb +2 -1
  176. data/lib/chef/resource/solaris_package.rb +2 -1
  177. data/lib/chef/resource/ssh_known_hosts_entry.rb +0 -1
  178. data/lib/chef/resource/sudo.rb +0 -1
  179. data/lib/chef/resource/support/client.erb +2 -2
  180. data/lib/chef/resource/swap_file.rb +0 -1
  181. data/lib/chef/resource/sysctl.rb +1 -2
  182. data/lib/chef/resource/systemd_unit.rb +0 -1
  183. data/lib/chef/resource/template.rb +0 -1
  184. data/lib/chef/resource/timezone.rb +0 -1
  185. data/lib/chef/resource/user/aix_user.rb +0 -1
  186. data/lib/chef/resource/user/linux_user.rb +0 -1
  187. data/lib/chef/resource/user/mac_user.rb +0 -1
  188. data/lib/chef/resource/user/pw_user.rb +0 -1
  189. data/lib/chef/resource/user/solaris_user.rb +0 -1
  190. data/lib/chef/resource/user/windows_user.rb +0 -1
  191. data/lib/chef/resource/user.rb +10 -1
  192. data/lib/chef/resource/user_ulimit.rb +0 -1
  193. data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
  194. data/lib/chef/resource/windows_ad_join.rb +0 -2
  195. data/lib/chef/resource/windows_audit_policy.rb +0 -2
  196. data/lib/chef/resource/windows_auto_run.rb +0 -1
  197. data/lib/chef/resource/windows_defender.rb +0 -1
  198. data/lib/chef/resource/windows_defender_exclusion.rb +0 -1
  199. data/lib/chef/resource/windows_dfs_folder.rb +0 -1
  200. data/lib/chef/resource/windows_dfs_namespace.rb +0 -1
  201. data/lib/chef/resource/windows_dfs_server.rb +0 -1
  202. data/lib/chef/resource/windows_dns_record.rb +0 -1
  203. data/lib/chef/resource/windows_dns_zone.rb +0 -1
  204. data/lib/chef/resource/windows_env.rb +0 -1
  205. data/lib/chef/resource/windows_feature.rb +0 -1
  206. data/lib/chef/resource/windows_feature_dism.rb +0 -1
  207. data/lib/chef/resource/windows_feature_powershell.rb +0 -1
  208. data/lib/chef/resource/windows_firewall_profile.rb +0 -2
  209. data/lib/chef/resource/windows_firewall_rule.rb +0 -1
  210. data/lib/chef/resource/windows_font.rb +2 -3
  211. data/lib/chef/resource/windows_package.rb +3 -4
  212. data/lib/chef/resource/windows_pagefile.rb +0 -2
  213. data/lib/chef/resource/windows_path.rb +0 -1
  214. data/lib/chef/resource/windows_printer.rb +0 -1
  215. data/lib/chef/resource/windows_printer_port.rb +0 -1
  216. data/lib/chef/resource/windows_script.rb +0 -2
  217. data/lib/chef/resource/windows_security_policy.rb +0 -1
  218. data/lib/chef/resource/windows_service.rb +0 -1
  219. data/lib/chef/resource/windows_share.rb +0 -1
  220. data/lib/chef/resource/windows_shortcut.rb +1 -2
  221. data/lib/chef/resource/windows_task.rb +0 -1
  222. data/lib/chef/resource/windows_uac.rb +0 -1
  223. data/lib/chef/resource/windows_update_settings.rb +0 -1
  224. data/lib/chef/resource/windows_user_privilege.rb +0 -1
  225. data/lib/chef/resource/windows_workgroup.rb +0 -1
  226. data/lib/chef/resource/yum_package.rb +2 -1
  227. data/lib/chef/resource/yum_repository.rb +4 -1
  228. data/lib/chef/resource/zypper_package.rb +2 -1
  229. data/lib/chef/resource/zypper_repository.rb +0 -1
  230. data/lib/chef/resource.rb +12 -5
  231. data/lib/chef/resources.rb +7 -0
  232. data/lib/chef/run_context.rb +3 -3
  233. data/lib/chef/secret_fetcher/azure_key_vault.rb +3 -3
  234. data/lib/chef/version.rb +1 -1
  235. data/lib/chef/win32/handle.rb +6 -7
  236. data/lib/chef/win32/registry.rb +7 -3
  237. data/spec/data/chef_guid +1 -0
  238. data/spec/data/nodes/mcwfhpowell.json +3 -0
  239. data/spec/data/rubygems.org/sexp_processor-info +2 -1
  240. data/spec/data/trusted_certs/example.crt +20 -29
  241. data/spec/data/trusted_certs/example_no_cn.crt +34 -30
  242. data/spec/data/trusted_certs/opscode.pem +54 -33
  243. data/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 +0 -0
  244. data/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz +0 -0
  245. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 +0 -0
  246. data/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz +0 -0
  247. data/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 +0 -0
  248. data/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz +0 -0
  249. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +55 -0
  250. data/spec/functional/resource/chocolatey_package_spec.rb +20 -32
  251. data/spec/functional/resource/dsc_script_spec.rb +1 -1
  252. data/spec/functional/resource/group_spec.rb +10 -6
  253. data/spec/functional/resource/link_spec.rb +8 -8
  254. data/spec/functional/resource/macos_userdefaults_spec.rb +4 -4
  255. data/spec/functional/resource/plist_spec.rb +25 -0
  256. data/spec/functional/resource/user/linux_user_spec.rb +127 -0
  257. data/spec/functional/resource/windows_certificate_spec.rb +1 -26
  258. data/spec/functional/resource/windows_font_spec.rb +12 -9
  259. data/spec/functional/resource/yum_package_spec.rb +17 -1
  260. data/spec/functional/resource/zypper_package_spec.rb +12 -0
  261. data/spec/functional/shell_spec.rb +1 -2
  262. data/spec/functional/version_spec.rb +1 -1
  263. data/spec/integration/client/client_spec.rb +82 -3
  264. data/spec/integration/client/exit_code_spec.rb +1 -1
  265. data/spec/integration/client/fips_spec.rb +20 -0
  266. data/spec/integration/client/ipv6_spec.rb +1 -1
  267. data/spec/integration/compliance/compliance_spec.rb +1 -1
  268. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  269. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  270. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  271. data/spec/integration/recipes/notifies_spec.rb +1 -1
  272. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  273. data/spec/integration/recipes/remote_directory.rb +1 -1
  274. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  275. data/spec/integration/recipes/use_partial_spec.rb +2 -1
  276. data/spec/integration/solo/solo_spec.rb +2 -2
  277. data/spec/spec_helper.rb +5 -0
  278. data/spec/support/platform_helpers.rb +8 -0
  279. data/spec/support/ruby_installer.rb +1 -1
  280. data/spec/support/shared/functional/windows_script.rb +2 -2
  281. data/spec/unit/application/client_spec.rb +0 -10
  282. data/spec/unit/chef_fs/file_system_spec.rb +2 -0
  283. data/spec/unit/client_spec.rb +57 -8
  284. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +1 -1
  285. data/spec/unit/cookbook/syntax_check_spec.rb +3 -0
  286. data/spec/unit/http/authenticator_spec.rb +68 -0
  287. data/spec/unit/mixin/powershell_exec_spec.rb +5 -5
  288. data/spec/unit/platform/query_helpers_spec.rb +2 -17
  289. data/spec/unit/property/validation_spec.rb +30 -0
  290. data/spec/unit/provider/cron_spec.rb +36 -0
  291. data/spec/unit/provider/http_request_spec.rb +60 -72
  292. data/spec/unit/provider/mount/linux_spec.rb +10 -0
  293. data/spec/unit/provider/package/chocolatey_spec.rb +3 -19
  294. data/spec/unit/provider/package/rubygems_spec.rb +1 -1
  295. data/spec/unit/provider/package/zypper_spec.rb +32 -0
  296. data/spec/unit/provider/user/linux_spec.rb +51 -11
  297. data/spec/unit/provider/user_spec.rb +24 -6
  298. data/spec/unit/resource/archive_file_spec.rb +1 -1
  299. data/spec/unit/resource/chef_client_cron_spec.rb +5 -0
  300. data/spec/unit/resource/chef_client_launchd_spec.rb +5 -0
  301. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +5 -0
  302. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
  303. data/spec/unit/resource/cron_d_spec.rb +37 -1
  304. data/spec/unit/resource/macos_user_defaults_spec.rb +4 -4
  305. data/spec/unit/resource/rest_resource_spec.rb +381 -0
  306. data/spec/unit/resource/selinux_boolean_spec.rb +92 -0
  307. data/spec/unit/resource/selinux_fcontext_spec.rb +65 -0
  308. data/spec/unit/resource/selinux_install_spec.rb +60 -0
  309. data/spec/unit/resource/selinux_module_spec.rb +55 -0
  310. data/spec/unit/resource/selinux_permissive_spec.rb +39 -0
  311. data/spec/unit/resource/selinux_port_spec.rb +42 -0
  312. data/spec/unit/resource/selinux_state_spec.rb +46 -0
  313. data/spec/unit/resource/sysctl_spec.rb +2 -2
  314. data/spec/unit/resource/user/linux_user_spec.rb +42 -0
  315. data/spec/unit/resource/yum_repository_spec.rb +4 -0
  316. data/spec/unit/resource_spec.rb +0 -1
  317. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +1 -1
  318. data/tasks/rspec.rb +1 -1
  319. metadata +107 -31
  320. /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.0.nupkg → test-A.1.0.nupkg} +0 -0
  321. /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.0.nupkg → test-A.1.5.nupkg} +0 -0
  322. /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.0.nupkg → test-A.2.0.nupkg} +0 -0
  323. /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.0.nupkg → test-B.1.0.nupkg} +0 -0
  324. /data/spec/functional/assets/yumrepo/repodata/{01a3b-filelists.sqlite.bz2 → 4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2} +0 -0
  325. /data/spec/functional/assets/yumrepo/repodata/{6bf96-other.xml.gz → 74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz} +0 -0
  326. /data/spec/functional/assets/yumrepo/repodata/{5dc1e-primary.sqlite.bz2 → a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2} +0 -0
  327. /data/spec/functional/assets/yumrepo/repodata/{7c365-other.sqlite.bz2 → af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2} +0 -0
  328. /data/spec/functional/assets/yumrepo/repodata/{401dc-filelists.xml.gz → bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz} +0 -0
  329. /data/spec/functional/assets/yumrepo/repodata/{dabe2-primary.xml.gz → c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz} +0 -0
@@ -17,7 +17,6 @@
17
17
  class Chef
18
18
  class Resource
19
19
  class ChocolateyConfig < Chef::Resource
20
- unified_mode true
21
20
 
22
21
  provides :chocolatey_config
23
22
 
@@ -17,7 +17,6 @@
17
17
  class Chef
18
18
  class Resource
19
19
  class ChocolateyFeature < Chef::Resource
20
- unified_mode true
21
20
  provides :chocolatey_feature
22
21
 
23
22
  description "Use the **chocolatey_feature** resource to enable and disable Chocolatey features. Note: The Chocolatey package manager is not installed on Windows by default. You will need to install it prior to using this resource by adding the [Chocolatey cookbook](https://supermarket.chef.io/cookbooks/chocolatey/) to your node's run list."
@@ -21,7 +21,6 @@ require_relative "package"
21
21
  class Chef
22
22
  class Resource
23
23
  class ChocolateyPackage < Chef::Resource::Package
24
- unified_mode true
25
24
 
26
25
  provides :chocolatey_package
27
26
 
@@ -17,7 +17,6 @@
17
17
  class Chef
18
18
  class Resource
19
19
  class ChocolateySource < Chef::Resource
20
- unified_mode true
21
20
  provides :chocolatey_source
22
21
 
23
22
  description "Use the **chocolatey_source** resource to add, remove, enable, or disable Chocolatey sources. Note: The Chocolatey package manager is not installed on Windows by default. You will need to install it prior to using this resource by adding the [Chocolatey cookbook](https://supermarket.chef.io/cookbooks/chocolatey/) to your node's run list."
@@ -27,7 +27,6 @@ class Chef
27
27
  class Resource
28
28
  class CookbookFile < Chef::Resource::File
29
29
  include Chef::Mixin::Securable
30
- unified_mode true
31
30
 
32
31
  provides :cookbook_file
33
32
 
@@ -1,4 +1,3 @@
1
- unified_mode true
2
1
 
3
2
  TIMEOUT_OPTS = %w{duration preserve-status foreground kill-after signal}.freeze
4
3
  TIMEOUT_REGEX = /\A\S+/.freeze
@@ -25,7 +25,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
25
25
  class Chef
26
26
  class Resource
27
27
  class Cron < Chef::Resource
28
- unified_mode true
29
28
 
30
29
  use "cron_shared"
31
30
 
@@ -23,7 +23,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
23
23
  class Chef
24
24
  class Resource
25
25
  class CronD < Chef::Resource
26
- unified_mode true
27
26
 
28
27
  use "cron_shared"
29
28
 
@@ -146,6 +145,21 @@ class Chef
146
145
  new_resource.cron_name.tr(".", "-")
147
146
  end
148
147
 
148
+ def define_resource_requirements
149
+ requirements.assert(:create, :create_if_missing) do |a|
150
+ a.assertion do
151
+ # ensure valid cron job names for linux, otherwise the jobs won't be executed
152
+ if linux?
153
+ new_resource.cron_name =~ /^[a-zA-Z0-9_-]+$/
154
+ else
155
+ true
156
+ end
157
+ end
158
+ a.failure_message("The cron job name should contain letters, numbers, hyphens and underscores only.")
159
+ a.block_action!
160
+ end
161
+ end
162
+
149
163
  def create_template(create_action)
150
164
  # cleanup the legacy named job if it exists
151
165
  file "#{new_resource.cron_name} legacy named cron.d file" do
@@ -23,7 +23,6 @@ require_relative "../resource"
23
23
  class Chef
24
24
  class Resource
25
25
  class CronAccess < Chef::Resource
26
- unified_mode true
27
26
  provides :cron_access
28
27
  provides(:cron_manage) # legacy name @todo in Chef 15 we should { true } this so it wins over the cookbook
29
28
 
@@ -21,7 +21,6 @@ require_relative "script"
21
21
  class Chef
22
22
  class Resource
23
23
  class Csh < Chef::Resource::Script
24
- unified_mode true
25
24
 
26
25
  provides :csh
27
26
 
@@ -24,7 +24,6 @@ require_relative "../mixin/securable"
24
24
  class Chef
25
25
  class Resource
26
26
  class Directory < Chef::Resource
27
- unified_mode true
28
27
 
29
28
  provides :directory
30
29
 
@@ -20,7 +20,6 @@ require_relative "../resource"
20
20
  class Chef
21
21
  class Resource
22
22
  class DmgPackage < Chef::Resource
23
- unified_mode true
24
23
 
25
24
  provides(:dmg_package) { true }
26
25
 
@@ -58,6 +57,8 @@ class Chef
58
57
  ```
59
58
  DOC
60
59
 
60
+ allowed_actions :install
61
+
61
62
  property :app, String,
62
63
  description: "The name of the application as it appears in the `/Volumes` directory if it differs from the resource block's name.",
63
64
  name_property: true
@@ -26,7 +26,6 @@ class Chef
26
26
  extend Chef::Mixin::Which
27
27
  extend Chef::Mixin::ShellOut
28
28
 
29
- unified_mode true
30
29
  provides :dnf_package
31
30
 
32
31
  # all rhel variants >= 8 will use DNF
@@ -21,7 +21,6 @@ require_relative "package"
21
21
  class Chef
22
22
  class Resource
23
23
  class DpkgPackage < Chef::Resource::Package
24
- unified_mode true
25
24
 
26
25
  provides :dpkg_package
27
26
 
@@ -20,7 +20,6 @@ require_relative "../dsl/powershell"
20
20
  class Chef
21
21
  class Resource
22
22
  class DscResource < Chef::Resource
23
- unified_mode true
24
23
 
25
24
  provides :dsc_resource
26
25
 
@@ -26,7 +26,6 @@ class Chef
26
26
  class DscScript < Chef::Resource
27
27
  include Chef::DSL::Powershell
28
28
 
29
- unified_mode true
30
29
  provides :dsc_script
31
30
 
32
31
  description <<~DESC
@@ -23,7 +23,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
23
23
  class Chef
24
24
  class Resource
25
25
  class Execute < Chef::Resource
26
- unified_mode true
27
26
 
28
27
  provides :execute, target_mode: true
29
28
 
@@ -28,7 +28,6 @@ class Chef
28
28
  class Resource
29
29
  class File < Chef::Resource
30
30
  include Chef::Mixin::Securable
31
- unified_mode true
32
31
 
33
32
  provides :file
34
33
 
@@ -25,12 +25,13 @@ require_relative "../provider/package/freebsd/pkgng"
25
25
  class Chef
26
26
  class Resource
27
27
  class FreebsdPackage < Chef::Resource::Package
28
- unified_mode true
29
28
  provides :freebsd_package
30
29
  provides :package, platform: "freebsd"
31
30
 
32
31
  description "Use the **freebsd_package** resource to manage packages for the FreeBSD platform."
33
32
 
33
+ allowed_actions :install, :remove
34
+
34
35
  # make sure we assign the appropriate underlying providers based on what
35
36
  # package managers exist on this FreeBSD system or the source of the package
36
37
  #
@@ -22,7 +22,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
22
22
  class Chef
23
23
  class Resource
24
24
  class GemPackage < Chef::Resource::Package
25
- unified_mode true
26
25
  provides :gem_package
27
26
 
28
27
  description <<~DESC
@@ -60,6 +59,8 @@ class Chef
60
59
  ```
61
60
  EXAMPLES
62
61
 
62
+ allowed_actions :install, :upgrade, :remove, :purge
63
+
63
64
  property :package_name, String,
64
65
  description: "An optional property to set the package name if it differs from the resource block's name.",
65
66
  identity: true
@@ -20,11 +20,34 @@
20
20
  class Chef
21
21
  class Resource
22
22
  class Group < Chef::Resource
23
- unified_mode true
24
23
  state_attrs :members
25
24
 
26
25
  description "Use the **group** resource to manage a local group."
27
26
 
27
+ examples <<~EXAMPLES
28
+ The following examples demonstrate various approaches for using the **group** resource in recipes:
29
+
30
+ Append users to groups:
31
+
32
+ ```ruby
33
+ group 'www-data' do
34
+ action :modify
35
+ members 'maintenance'
36
+ append true
37
+ end
38
+ ```
39
+
40
+ Add a user to group on the Windows platform:
41
+
42
+ ```ruby
43
+ group 'Administrators' do
44
+ members ['domain\\foo']
45
+ append true
46
+ action :modify
47
+ end
48
+ ```
49
+ EXAMPLES
50
+
28
51
  provides :group
29
52
 
30
53
  allowed_actions :create, :remove, :modify, :manage
@@ -39,7 +62,7 @@ class Chef
39
62
 
40
63
  property :members, [String, Array], default: [],
41
64
  coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
42
- description: "Which users should be set or appended to a group. When more than one group member is identified, the list of members should be an array: members ['user1', 'user2']."
65
+ description: "Which users should be set or appended to a group. When more than one group member is identified, the list of members should be an array: `members ['user1', 'user2']`."
43
66
 
44
67
  property :excluded_members, [String, Array], default: [],
45
68
  coerce: proc { |arg| arg.is_a?(String) ? arg.split(/\s*,\s*/) : arg },
@@ -21,7 +21,6 @@ require_relative "../package"
21
21
  class Chef
22
22
  class Resource
23
23
  class HabitatPackage < Chef::Resource::Package
24
- unified_mode true
25
24
 
26
25
  provides :habitat_package
27
26
  use "habitat_shared"
@@ -20,7 +20,6 @@ require_relative "../../resource"
20
20
  class Chef
21
21
  class Resource
22
22
  class HabitatSup < Chef::Resource
23
- unified_mode true
24
23
 
25
24
  provides :habitat_sup do |_node|
26
25
  false
@@ -49,7 +48,7 @@ class Chef
49
48
 
50
49
  ```ruby
51
50
  habitat_sup 'default' do
52
- bldr_url 'https://bldr.private.net'
51
+ bldr_url 'https://bldr.example.com'
53
52
  end
54
53
  ```
55
54
 
@@ -57,13 +56,13 @@ class Chef
57
56
 
58
57
  ```ruby
59
58
  habitat_sup 'default' do
60
- bldr_url 'https://bldr.private.net'
59
+ bldr_url 'https://bldr.example.com'
61
60
  habitat_channel 'dev'
62
61
  update_condition 'track-channel'
63
62
  end
64
63
  ```
65
64
 
66
- **Provide event_stream_* information**
65
+ **Provide event stream information**
67
66
 
68
67
  ```ruby
69
68
  habitat_sup 'default' do
@@ -71,7 +70,7 @@ class Chef
71
70
  event_stream_application 'myapp'
72
71
  event_stream_environment 'production'
73
72
  event_stream_site 'MySite'
74
- event_stream_url 'automate.private.net:4222'
73
+ event_stream_url 'automate.example.com:4222'
75
74
  event_stream_token 'myawesomea2clitoken='
76
75
  event_stream_cert '/hab/cache/ssl/mycert.crt'
77
76
  end
@@ -81,7 +80,7 @@ class Chef
81
80
 
82
81
  ```ruby
83
82
  habitat_sup 'default' do
84
- bldr_url 'https://bldr.private.net'
83
+ bldr_url 'https://bldr.example.com'
85
84
  sup_version '1.5.50'
86
85
  launcher_version '13458'
87
86
  service_version '0.6.0' # WINDOWS ONLY
@@ -91,7 +90,7 @@ class Chef
91
90
  **Set latest version of packages to retain**
92
91
 
93
92
  habitat_sup 'default' do
94
- bldr_url 'https://bldr.private.net'
93
+ bldr_url 'https://bldr.example.com'
95
94
  sup_version '1.5.86'
96
95
  launcher_version '13458'
97
96
  service_version '0.6.0' # WINDOWS ONLY
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require "win32/service" if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
18
+ require "win32/service" if RUBY_PLATFORM.match?(/mswin|mingw|windows/)
19
19
  require_relative "habitat_sup"
20
20
 
21
21
  class Chef
@@ -20,7 +20,6 @@ require_relative "../resource"
20
20
  class Chef
21
21
  class Resource
22
22
  class HabitatConfig < Chef::Resource
23
- unified_mode true
24
23
 
25
24
  provides :habitat_config
26
25
 
@@ -19,7 +19,6 @@ require_relative "../resource"
19
19
  class Chef
20
20
  class Resource
21
21
  class HabitatInstall < Chef::Resource
22
- unified_mode true
23
22
  provides :habitat_install
24
23
 
25
24
  description "Use the **habitat_install** resource to install Chef Habitat."
@@ -20,7 +20,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
20
20
  class Chef
21
21
  class Resource
22
22
  class HabitatService < Chef::Resource
23
- unified_mode true
24
23
  provides :habitat_service
25
24
 
26
25
  description "Use the **habitat_service** resource to manage Chef Habitat services. This requires that `core/hab-sup` be running as a service. See the `habitat_sup` resource documentation for more information. Note: Applications may run as a specific user. Often with Habitat, the default is `hab`, or `root`. If the application requires another user, then it should be created with Chef's `user` resource."
@@ -16,7 +16,6 @@ require_relative "../resource"
16
16
  class Chef
17
17
  class Resource
18
18
  class HabitatUserToml < Chef::Resource
19
- unified_mode true
20
19
  provides :habitat_user_toml
21
20
 
22
21
  description "Use the **habitat_user_toml** to template a `user.toml` for Chef Habitat services. Configurations set in the `user.toml` override the `default.toml` for a given package, which makes it an alternative to applying service group level configuration."
@@ -23,7 +23,6 @@ require_relative "../mixin/homebrew_user"
23
23
  class Chef
24
24
  class Resource
25
25
  class HomebrewCask < Chef::Resource
26
- unified_mode true
27
26
 
28
27
  provides(:homebrew_cask) { true }
29
28
 
@@ -24,7 +24,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
24
24
  class Chef
25
25
  class Resource
26
26
  class HomebrewPackage < Chef::Resource::Package
27
- unified_mode true
28
27
 
29
28
  provides :homebrew_package
30
29
  provides :package, os: "darwin"
@@ -61,6 +60,8 @@ class Chef
61
60
  ```
62
61
  DOC
63
62
 
63
+ allowed_actions :install, :upgrade, :remove, :purge
64
+
64
65
  property :homebrew_user, [ String, Integer ],
65
66
  description: "The name or uid of the Homebrew owner to be used by #{ChefUtils::Dist::Infra::PRODUCT} when executing a command.\n\n#{ChefUtils::Dist::Infra::PRODUCT}, by default, will attempt to execute a Homebrew command as the owner of the `/usr/local/bin/brew` executable. If that executable does not exist, #{ChefUtils::Dist::Infra::PRODUCT} will attempt to find the user by executing `which brew`. If that executable cannot be found, #{ChefUtils::Dist::Infra::PRODUCT} will print an error message: `Could not find the 'brew' executable in /usr/local/bin or anywhere on the path.`.\n\nSet this property to specify the Homebrew owner for situations where Chef Infra Client cannot automatically detect the correct owner.'"
66
67
 
@@ -23,7 +23,6 @@ require_relative "../mixin/homebrew_user"
23
23
  class Chef
24
24
  class Resource
25
25
  class HomebrewTap < Chef::Resource
26
- unified_mode true
27
26
 
28
27
  provides(:homebrew_tap) { true }
29
28
 
@@ -27,8 +27,6 @@ class Chef
27
27
  class HomebrewUpdate < Chef::Resource
28
28
  include Chef::Mixin::HomebrewUser
29
29
 
30
- unified_mode true
31
-
32
30
  provides(:homebrew_update) { true }
33
31
 
34
32
  description "Use the **homebrew_update** resource to manage Homebrew repository updates on macOS."
@@ -23,7 +23,6 @@ class Chef
23
23
  # Sets the hostname and updates /etc/hosts on *nix systems
24
24
  # @since 14.0.0
25
25
  class Hostname < Chef::Resource
26
- unified_mode true
27
26
 
28
27
  provides :hostname
29
28
 
@@ -22,7 +22,6 @@ require_relative "../resource"
22
22
  class Chef
23
23
  class Resource
24
24
  class HttpRequest < Chef::Resource
25
- unified_mode true
26
25
 
27
26
  provides :http_request
28
27
 
@@ -22,7 +22,6 @@ require_relative "../resource"
22
22
  class Chef
23
23
  class Resource
24
24
  class Ifconfig < Chef::Resource
25
- unified_mode true
26
25
 
27
26
  provides :ifconfig
28
27
 
@@ -20,7 +20,6 @@ class Chef
20
20
  class Resource
21
21
  class InspecInput < Chef::Resource
22
22
  provides :inspec_input
23
- unified_mode true
24
23
 
25
24
  description "Use the **inspec_input** resource to add an input to the Compliance Phase."
26
25
  introduced "17.5"
@@ -20,7 +20,6 @@ class Chef
20
20
  class Resource
21
21
  class InspecWaiver < Chef::Resource
22
22
  provides :inspec_waiver
23
- unified_mode true
24
23
 
25
24
  description "Use the **inspec_waiver** resource to add a waiver to the Compliance Phase."
26
25
  introduced "17.5"
@@ -24,7 +24,6 @@ class Chef
24
24
  class Resource
25
25
  class InspecWaiverFileEntry < Chef::Resource
26
26
  provides :inspec_waiver_file_entry
27
- unified_mode true
28
27
 
29
28
  description "Use the **inspec_waiver_file_entry** resource to add or remove entries from an InSpec waiver file. This can be used in conjunction with the Compliance Phase."
30
29
  introduced "17.1"
@@ -137,11 +136,11 @@ class Chef
137
136
  def load_waiver_file_to_hash(file_name)
138
137
  if %r{(/|C:\\).*(.yaml|.yml)}i.match?(file_name)
139
138
  if ::File.exist?(file_name)
140
- hash = ::YAML.load_file(file_name)
139
+ hash = ::YAML.safe_load_file(file_name, permitted_classes: [Date])
141
140
  if hash == false || hash.nil? || hash == ""
142
141
  {}
143
142
  else
144
- ::YAML.load_file(file_name)
143
+ ::YAML.safe_load_file(file_name, permitted_classes: [Date])
145
144
  end
146
145
  else
147
146
  {}
@@ -22,7 +22,6 @@ require_relative "../provider/package/ips"
22
22
  class Chef
23
23
  class Resource
24
24
  class IpsPackage < ::Chef::Resource::Package
25
- unified_mode true
26
25
 
27
26
  provides :ips_package
28
27
  provides :package, os: "solaris2"
@@ -11,7 +11,6 @@ require_relative "../resource"
11
11
  class Chef
12
12
  class Resource
13
13
  class KernelModule < Chef::Resource
14
- unified_mode true
15
14
 
16
15
  provides :kernel_module
17
16
 
@@ -21,7 +21,6 @@ require_relative "script"
21
21
  class Chef
22
22
  class Resource
23
23
  class Ksh < Chef::Resource::Script
24
- unified_mode true
25
24
 
26
25
  provides :ksh
27
26
 
@@ -21,7 +21,6 @@ require_relative "../resource"
21
21
  class Chef
22
22
  class Resource
23
23
  class Launchd < Chef::Resource
24
- unified_mode true
25
24
  provides :launchd
26
25
 
27
26
  description "Use the **launchd** resource to manage system-wide services (daemons) and per-user services (agents) on the macOS platform."
@@ -130,6 +129,9 @@ class Chef
130
129
  property :abandon_process_group, [ TrueClass, FalseClass ],
131
130
  description: "If a job dies, all remaining processes with the same process ID may be kept running. Set to true to kill all remaining processes."
132
131
 
132
+ property :associated_bundle_identifiers, Hash,
133
+ description: "This optional key indicates which bundles the Login Items Added by Apps panel associates with the helper executable."
134
+
133
135
  property :debug, [ TrueClass, FalseClass ],
134
136
  description: "Sets the log mask to `LOG_DEBUG` for this job."
135
137
 
@@ -24,7 +24,6 @@ class Chef
24
24
  class Resource
25
25
  class Link < Chef::Resource
26
26
  include Chef::Mixin::Securable
27
- unified_mode true
28
27
 
29
28
  provides :link
30
29
 
@@ -21,7 +21,6 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
21
21
  class Chef
22
22
  class Resource
23
23
  class Locale < Chef::Resource
24
- unified_mode true
25
24
  provides :locale
26
25
 
27
26
  description "Use the **locale** resource to set the system's locale on Debian and Windows systems. Windows support was added in Chef Infra Client 16.0"
@@ -113,11 +112,8 @@ class Chef
113
112
  end
114
113
 
115
114
  requirements.assert(:all_actions) do |a|
116
- a.assertion do
117
- # RHEL/CentOS type platforms don't have locale-gen
118
- # Windows has locale-gen as part of the install, but not in the path
119
- which("locale-gen") || windows?
120
- end
115
+ # RHEL/CentOS type platforms don't have locale-gen
116
+ a.assertion { which("locale-gen") }
121
117
  a.failure_message(Chef::Exceptions::ProviderNotFound, "The locale resource requires the locale-gen tool")
122
118
  end
123
119
  end
@@ -29,7 +29,6 @@ class Chef
29
29
  # level :debug
30
30
  # end
31
31
  class Log < Chef::Resource
32
- unified_mode true
33
32
 
34
33
  provides :log, target_mode: true
35
34
 
@@ -54,10 +54,6 @@ class Chef
54
54
  resource_class.run_context = run_context
55
55
  resource_class.class_from_file(filename)
56
56
 
57
- if !resource_class.unified_mode && !deprecated_class(resource_class) && cookbook_name.to_s != "chef_client_updater"
58
- Chef.deprecated :unified_mode, "The #{resource_class.resource_name} resource in the #{cookbook_name} cookbook should declare `unified_mode true`", filename
59
- end
60
-
61
57
  # Make a useful string for the class (rather than <Class:312894723894>)
62
58
  resource_class.instance_eval do
63
59
  define_singleton_method(:to_s) do