chef 18.10.17 → 19.2.12

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 (715) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +24 -18
  3. data/README.md +6 -2
  4. data/Rakefile +1 -2
  5. data/chef-universal-mingw-ucrt.gemspec +1 -1
  6. data/chef.gemspec +17 -19
  7. data/lib/chef/action_collection.rb +3 -1
  8. data/lib/chef/api_client/registration.rb +1 -1
  9. data/lib/chef/api_client.rb +1 -1
  10. data/lib/chef/api_client_v1.rb +1 -1
  11. data/lib/chef/application/apply.rb +30 -3
  12. data/lib/chef/application/base.rb +34 -3
  13. data/lib/chef/application/client.rb +15 -1
  14. data/lib/chef/application/exit_code.rb +3 -1
  15. data/lib/chef/application/solo.rb +1 -1
  16. data/lib/chef/application.rb +6 -1
  17. data/lib/chef/chef_class.rb +1 -1
  18. data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
  19. data/lib/chef/chef_fs/command_line.rb +7 -6
  20. data/lib/chef/chef_fs/config.rb +1 -1
  21. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  22. data/lib/chef/chef_fs/file_pattern.rb +1 -1
  23. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +1 -1
  24. data/lib/chef/chef_fs/file_system/base_fs_object.rb +1 -1
  25. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +1 -1
  26. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +1 -1
  27. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  28. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
  29. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
  31. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +2 -2
  32. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  33. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +1 -1
  35. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  36. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +1 -1
  37. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +1 -1
  38. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -1
  42. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +1 -1
  44. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -1
  45. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
  46. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +2 -2
  47. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  48. data/lib/chef/chef_fs/file_system/exceptions.rb +1 -1
  49. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +1 -1
  50. data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
  51. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
  52. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +1 -1
  53. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -1
  54. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +1 -1
  55. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -1
  56. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +7 -6
  57. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +1 -1
  58. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -1
  59. data/lib/chef/chef_fs/file_system/repository/client.rb +1 -1
  60. data/lib/chef/chef_fs/file_system/repository/client_key.rb +1 -1
  61. data/lib/chef/chef_fs/file_system/repository/client_keys_dir.rb +1 -1
  62. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +1 -1
  63. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +1 -1
  64. data/lib/chef/chef_fs/file_system/repository/container.rb +1 -1
  65. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +1 -1
  66. data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +1 -1
  67. data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +1 -1
  68. data/lib/chef/chef_fs/file_system/repository/data_bag.rb +1 -1
  69. data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +1 -1
  70. data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +1 -1
  71. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  72. data/lib/chef/chef_fs/file_system/repository/environment.rb +1 -1
  73. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +1 -1
  74. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  75. data/lib/chef/chef_fs/file_system/repository/group.rb +1 -1
  76. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +1 -1
  77. data/lib/chef/chef_fs/file_system/repository/node.rb +1 -1
  78. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +1 -1
  79. data/lib/chef/chef_fs/file_system/repository/policies_dir.rb +1 -1
  80. data/lib/chef/chef_fs/file_system/repository/policy.rb +1 -1
  81. data/lib/chef/chef_fs/file_system/repository/policy_group.rb +1 -1
  82. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +1 -1
  83. data/lib/chef/chef_fs/file_system/repository/role.rb +1 -1
  84. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +1 -1
  85. data/lib/chef/chef_fs/file_system/repository/user.rb +1 -1
  86. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +1 -1
  87. data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +1 -1
  88. data/lib/chef/chef_fs/file_system.rb +1 -1
  89. data/lib/chef/chef_fs/file_system_cache.rb +1 -1
  90. data/lib/chef/chef_fs/path_utils.rb +1 -1
  91. data/lib/chef/client.rb +13 -3
  92. data/lib/chef/compliance/default_attributes.rb +1 -1
  93. data/lib/chef/compliance/fetcher/chef_server.rb +1 -1
  94. data/lib/chef/compliance/input.rb +1 -1
  95. data/lib/chef/compliance/input_collection.rb +1 -1
  96. data/lib/chef/compliance/profile.rb +1 -1
  97. data/lib/chef/compliance/profile_collection.rb +1 -1
  98. data/lib/chef/compliance/runner.rb +19 -1
  99. data/lib/chef/compliance/waiver.rb +1 -1
  100. data/lib/chef/compliance/waiver_collection.rb +1 -1
  101. data/lib/chef/config.rb +1 -1
  102. data/lib/chef/constants.rb +1 -1
  103. data/lib/chef/context.rb +53 -0
  104. data/lib/chef/cookbook/chefignore.rb +2 -2
  105. data/lib/chef/cookbook/cookbook_collection.rb +1 -1
  106. data/lib/chef/cookbook/cookbook_version_loader.rb +2 -1
  107. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  108. data/lib/chef/cookbook/file_vendor.rb +1 -1
  109. data/lib/chef/cookbook/gem_installer.rb +1 -1
  110. data/lib/chef/cookbook/manifest_v0.rb +1 -1
  111. data/lib/chef/cookbook/manifest_v2.rb +1 -1
  112. data/lib/chef/cookbook/metadata.rb +1 -1
  113. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  114. data/lib/chef/cookbook/synchronizer.rb +5 -0
  115. data/lib/chef/cookbook/syntax_check.rb +1 -1
  116. data/lib/chef/cookbook_loader.rb +1 -1
  117. data/lib/chef/cookbook_manifest.rb +1 -1
  118. data/lib/chef/cookbook_version.rb +3 -3
  119. data/lib/chef/daemon.rb +1 -1
  120. data/lib/chef/data_bag.rb +3 -3
  121. data/lib/chef/data_bag_item.rb +2 -2
  122. data/lib/chef/data_collector/config_validation.rb +1 -1
  123. data/lib/chef/data_collector/error_handlers.rb +1 -1
  124. data/lib/chef/data_collector/message_helpers.rb +1 -1
  125. data/lib/chef/data_collector/run_end_message.rb +1 -1
  126. data/lib/chef/data_collector/run_start_message.rb +2 -2
  127. data/lib/chef/data_collector.rb +2 -2
  128. data/lib/chef/decorator/lazy.rb +1 -1
  129. data/lib/chef/decorator/lazy_array.rb +1 -1
  130. data/lib/chef/decorator.rb +1 -1
  131. data/lib/chef/delayed_evaluator.rb +1 -1
  132. data/lib/chef/deprecated.rb +1 -1
  133. data/lib/chef/deprecation/warnings.rb +1 -1
  134. data/lib/chef/digester.rb +1 -1
  135. data/lib/chef/dsl/chef_vault.rb +2 -2
  136. data/lib/chef/dsl/cheffish.rb +1 -1
  137. data/lib/chef/dsl/compliance.rb +1 -1
  138. data/lib/chef/dsl/data_query.rb +1 -1
  139. data/lib/chef/dsl/declare_resource.rb +1 -1
  140. data/lib/chef/dsl/include_attribute.rb +1 -1
  141. data/lib/chef/dsl/include_recipe.rb +1 -1
  142. data/lib/chef/dsl/platform_introspection.rb +1 -1
  143. data/lib/chef/dsl/powershell.rb +1 -1
  144. data/lib/chef/dsl/reader_helpers.rb +3 -1
  145. data/lib/chef/dsl/reboot_pending.rb +1 -1
  146. data/lib/chef/dsl/recipe.rb +1 -1
  147. data/lib/chef/dsl/registry_helper.rb +1 -1
  148. data/lib/chef/dsl/render_helpers.rb +1 -1
  149. data/lib/chef/dsl/resources.rb +1 -1
  150. data/lib/chef/dsl/rest_resource.rb +165 -5
  151. data/lib/chef/dsl/secret.rb +1 -1
  152. data/lib/chef/dsl/universal.rb +1 -1
  153. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  154. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +1 -1
  155. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  156. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  157. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +1 -1
  158. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +1 -1
  159. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +1 -1
  160. data/lib/chef/encrypted_data_bag_item.rb +1 -1
  161. data/lib/chef/environment.rb +2 -2
  162. data/lib/chef/event_loggers/base.rb +1 -1
  163. data/lib/chef/event_loggers/windows_eventlog.rb +1 -1
  164. data/lib/chef/exceptions.rb +2 -12
  165. data/lib/chef/file_access_control/unix.rb +10 -10
  166. data/lib/chef/file_access_control/windows.rb +1 -1
  167. data/lib/chef/file_access_control.rb +1 -1
  168. data/lib/chef/file_cache.rb +1 -1
  169. data/lib/chef/file_content_management/content_base.rb +1 -1
  170. data/lib/chef/file_content_management/deploy/cp.rb +1 -1
  171. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  172. data/lib/chef/file_content_management/deploy/mv_windows.rb +1 -1
  173. data/lib/chef/file_content_management/deploy/target_io.rb +27 -0
  174. data/lib/chef/file_content_management/deploy.rb +5 -2
  175. data/lib/chef/file_content_management/tempfile.rb +1 -1
  176. data/lib/chef/formatters/base.rb +1 -1
  177. data/lib/chef/formatters/error_description.rb +1 -1
  178. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +1 -1
  179. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  180. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -2
  181. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +3 -2
  182. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +1 -1
  183. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
  184. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +1 -1
  185. data/lib/chef/formatters/error_mapper.rb +1 -1
  186. data/lib/chef/group.rb +1 -1
  187. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +1 -1
  188. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
  189. data/lib/chef/guard_interpreter.rb +1 -1
  190. data/lib/chef/handler/error_report.rb +1 -1
  191. data/lib/chef/handler/json_file.rb +1 -1
  192. data/lib/chef/handler/slow_report.rb +1 -1
  193. data/lib/chef/handler.rb +1 -1
  194. data/lib/chef/http/api_versions.rb +1 -1
  195. data/lib/chef/http/auth_credentials.rb +1 -1
  196. data/lib/chef/http/authenticator.rb +10 -10
  197. data/lib/chef/http/basic_client.rb +1 -2
  198. data/lib/chef/http/cookie_jar.rb +1 -1
  199. data/lib/chef/http/cookie_manager.rb +1 -1
  200. data/lib/chef/http/decompressor.rb +1 -1
  201. data/lib/chef/http/http_request.rb +17 -16
  202. data/lib/chef/http/json_input.rb +1 -1
  203. data/lib/chef/http/json_output.rb +1 -1
  204. data/lib/chef/http/json_to_model_output.rb +1 -1
  205. data/lib/chef/http/remote_request_id.rb +1 -1
  206. data/lib/chef/http/simple.rb +1 -1
  207. data/lib/chef/http/simple_json.rb +1 -1
  208. data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
  209. data/lib/chef/http/ssl_policies.rb +1 -1
  210. data/lib/chef/http/validate_content_length.rb +1 -1
  211. data/lib/chef/http.rb +1 -2
  212. data/lib/chef/json_compat.rb +1 -1
  213. data/lib/chef/key.rb +1 -1
  214. data/lib/chef/licensing.rb +105 -0
  215. data/lib/chef/licensing_config.rb +20 -0
  216. data/lib/chef/local_mode.rb +1 -1
  217. data/lib/chef/log/syslog.rb +1 -1
  218. data/lib/chef/log/winevt.rb +1 -1
  219. data/lib/chef/log.rb +1 -1
  220. data/lib/chef/mash.rb +1 -1
  221. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  222. data/lib/chef/mixin/checksum.rb +1 -1
  223. data/lib/chef/mixin/chef_utils_wiring.rb +1 -1
  224. data/lib/chef/mixin/convert_to_class_name.rb +1 -1
  225. data/lib/chef/mixin/create_path.rb +1 -1
  226. data/lib/chef/mixin/deep_merge.rb +1 -1
  227. data/lib/chef/mixin/default_paths.rb +1 -1
  228. data/lib/chef/mixin/deprecation.rb +1 -1
  229. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +1 -1
  230. data/lib/chef/mixin/file_class.rb +4 -2
  231. data/lib/chef/mixin/from_file.rb +1 -1
  232. data/lib/chef/mixin/get_source_from_package.rb +2 -2
  233. data/lib/chef/mixin/homebrew.rb +3 -4
  234. data/lib/chef/mixin/lazy_module_include.rb +1 -1
  235. data/lib/chef/mixin/notifying_block.rb +1 -1
  236. data/lib/chef/mixin/openssl_helper.rb +1 -1
  237. data/lib/chef/mixin/params_validate.rb +1 -1
  238. data/lib/chef/mixin/path_sanity.rb +1 -1
  239. data/lib/chef/mixin/powershell_exec.rb +1 -1
  240. data/lib/chef/mixin/powershell_out.rb +1 -1
  241. data/lib/chef/mixin/powershell_type_coercions.rb +1 -1
  242. data/lib/chef/mixin/proxified_socket.rb +1 -1
  243. data/lib/chef/mixin/securable.rb +1 -1
  244. data/lib/chef/mixin/shell_out.rb +1 -1
  245. data/lib/chef/mixin/subclass_directive.rb +1 -1
  246. data/lib/chef/mixin/template.rb +1 -1
  247. data/lib/chef/mixin/unformatter.rb +1 -1
  248. data/lib/chef/mixin/uris.rb +1 -1
  249. data/lib/chef/mixin/user_context.rb +1 -1
  250. data/lib/chef/mixin/versioned_api.rb +1 -1
  251. data/lib/chef/mixin/which.rb +1 -1
  252. data/lib/chef/mixin/why_run.rb +1 -1
  253. data/lib/chef/mixin/wide_string.rb +1 -1
  254. data/lib/chef/mixin/windows_architecture_helper.rb +1 -1
  255. data/lib/chef/mixin/windows_env_helper.rb +1 -1
  256. data/lib/chef/mixin/xml_escape.rb +1 -1
  257. data/lib/chef/monkey_patches/net-http.rb +10 -11
  258. data/lib/chef/monkey_patches/win32/registry.rb +1 -1
  259. data/lib/chef/node/attribute.rb +1 -1
  260. data/lib/chef/node/attribute_collections.rb +1 -1
  261. data/lib/chef/node/common_api.rb +1 -1
  262. data/lib/chef/node/immutable_collections.rb +1 -1
  263. data/lib/chef/node/mixin/deep_merge_cache.rb +1 -1
  264. data/lib/chef/node/mixin/immutablize_array.rb +27 -1
  265. data/lib/chef/node/mixin/immutablize_hash.rb +36 -1
  266. data/lib/chef/node/mixin/mashy_array.rb +1 -1
  267. data/lib/chef/node/mixin/state_tracking.rb +1 -1
  268. data/lib/chef/node/mixin/state_tracking_array.rb +1 -1
  269. data/lib/chef/node.rb +1 -1
  270. data/lib/chef/node_map.rb +15 -3
  271. data/lib/chef/null_logger.rb +1 -1
  272. data/lib/chef/org.rb +1 -1
  273. data/lib/chef/platform/priority_map.rb +1 -1
  274. data/lib/chef/platform/provider_handler_map.rb +1 -1
  275. data/lib/chef/platform/provider_mapping.rb +1 -1
  276. data/lib/chef/platform/query_helpers.rb +1 -1
  277. data/lib/chef/platform/rebooter.rb +1 -1
  278. data/lib/chef/platform/resource_handler_map.rb +1 -1
  279. data/lib/chef/platform/service_helpers.rb +1 -1
  280. data/lib/chef/platform.rb +1 -1
  281. data/lib/chef/policy_builder/dynamic.rb +1 -1
  282. data/lib/chef/policy_builder/expand_node_object.rb +1 -1
  283. data/lib/chef/policy_builder/policyfile.rb +1 -1
  284. data/lib/chef/policy_builder.rb +1 -1
  285. data/lib/chef/property.rb +3 -3
  286. data/lib/chef/provider/batch.rb +1 -1
  287. data/lib/chef/provider/cookbook_file/content.rb +1 -1
  288. data/lib/chef/provider/cookbook_file.rb +2 -2
  289. data/lib/chef/provider/cron/aix.rb +1 -1
  290. data/lib/chef/provider/cron/solaris.rb +1 -1
  291. data/lib/chef/provider/cron.rb +15 -5
  292. data/lib/chef/provider/directory.rb +18 -18
  293. data/lib/chef/provider/dsc_resource.rb +1 -1
  294. data/lib/chef/provider/dsc_script.rb +1 -1
  295. data/lib/chef/provider/execute.rb +3 -2
  296. data/lib/chef/provider/file/content.rb +1 -1
  297. data/lib/chef/provider/file.rb +43 -30
  298. data/lib/chef/provider/git.rb +10 -10
  299. data/lib/chef/provider/group/aix.rb +1 -1
  300. data/lib/chef/provider/group/dscl.rb +2 -2
  301. data/lib/chef/provider/group/gpasswd.rb +3 -3
  302. data/lib/chef/provider/group/groupadd.rb +2 -2
  303. data/lib/chef/provider/group/groupmod.rb +3 -3
  304. data/lib/chef/provider/group/pw.rb +3 -3
  305. data/lib/chef/provider/group/solaris.rb +3 -3
  306. data/lib/chef/provider/group/usermod.rb +3 -3
  307. data/lib/chef/provider/group.rb +2 -2
  308. data/lib/chef/provider/http_request.rb +3 -4
  309. data/lib/chef/provider/ifconfig/aix.rb +2 -2
  310. data/lib/chef/provider/ifconfig/debian.rb +3 -3
  311. data/lib/chef/provider/ifconfig/redhat.rb +1 -1
  312. data/lib/chef/provider/ifconfig.rb +1 -1
  313. data/lib/chef/provider/link.rb +22 -11
  314. data/lib/chef/provider/lwrp_base.rb +1 -1
  315. data/lib/chef/provider/mount/aix.rb +5 -5
  316. data/lib/chef/provider/mount/linux.rb +4 -4
  317. data/lib/chef/provider/mount/mount.rb +12 -12
  318. data/lib/chef/provider/mount/solaris.rb +1 -1
  319. data/lib/chef/provider/mount/windows.rb +3 -3
  320. data/lib/chef/provider/mount.rb +1 -1
  321. data/lib/chef/provider/noop.rb +1 -1
  322. data/lib/chef/provider/package/apt.rb +1 -1
  323. data/lib/chef/provider/package/bff.rb +4 -4
  324. data/lib/chef/provider/package/cab.rb +1 -1
  325. data/lib/chef/provider/package/chocolatey.rb +1 -1
  326. data/lib/chef/provider/package/deb.rb +1 -1
  327. data/lib/chef/provider/package/dnf/python_helper.rb +3 -3
  328. data/lib/chef/provider/package/dnf/version.rb +1 -1
  329. data/lib/chef/provider/package/dnf.rb +1 -1
  330. data/lib/chef/provider/package/dpkg.rb +6 -6
  331. data/lib/chef/provider/package/freebsd/base.rb +1 -1
  332. data/lib/chef/provider/package/habitat.rb +6 -6
  333. data/lib/chef/provider/package/homebrew.rb +1 -1
  334. data/lib/chef/provider/package/ips.rb +3 -3
  335. data/lib/chef/provider/package/msu.rb +1 -1
  336. data/lib/chef/provider/package/openbsd.rb +3 -2
  337. data/lib/chef/provider/package/pacman.rb +4 -4
  338. data/lib/chef/provider/package/paludis.rb +3 -3
  339. data/lib/chef/provider/package/portage.rb +3 -3
  340. data/lib/chef/provider/package/powershell.rb +1 -1
  341. data/lib/chef/provider/package/rpm.rb +3 -3
  342. data/lib/chef/provider/package/rubygems.rb +19 -3
  343. data/lib/chef/provider/package/smartos.rb +2 -2
  344. data/lib/chef/provider/package/snap.rb +19 -7
  345. data/lib/chef/provider/package/snap_tm.rb +79 -0
  346. data/lib/chef/provider/package/solaris.rb +5 -5
  347. data/lib/chef/provider/package/windows/exe.rb +1 -1
  348. data/lib/chef/provider/package/windows/msi.rb +1 -1
  349. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  350. data/lib/chef/provider/package/windows.rb +1 -1
  351. data/lib/chef/provider/package/yum/python_helper.rb +1 -1
  352. data/lib/chef/provider/package/yum/rpm_utils.rb +1 -1
  353. data/lib/chef/provider/package/yum/version.rb +1 -1
  354. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  355. data/lib/chef/provider/package/yum.rb +1 -1
  356. data/lib/chef/provider/package/yum_tm.rb +132 -0
  357. data/lib/chef/provider/package/zypper/version.rb +1 -1
  358. data/lib/chef/provider/package/zypper.rb +5 -5
  359. data/lib/chef/provider/package.rb +2 -2
  360. data/lib/chef/provider/powershell_script.rb +85 -85
  361. data/lib/chef/provider/registry_key.rb +2 -1
  362. data/lib/chef/provider/remote_directory.rb +6 -6
  363. data/lib/chef/provider/remote_file/cache_control_data.rb +1 -1
  364. data/lib/chef/provider/remote_file/content.rb +1 -1
  365. data/lib/chef/provider/remote_file/fetcher.rb +1 -1
  366. data/lib/chef/provider/remote_file/http.rb +2 -3
  367. data/lib/chef/provider/remote_file.rb +2 -2
  368. data/lib/chef/provider/route.rb +10 -10
  369. data/lib/chef/provider/ruby_block.rb +1 -1
  370. data/lib/chef/provider/script.rb +8 -8
  371. data/lib/chef/provider/service/aix.rb +2 -2
  372. data/lib/chef/provider/service/aixinit.rb +6 -6
  373. data/lib/chef/provider/service/arch.rb +6 -6
  374. data/lib/chef/provider/service/debian.rb +8 -8
  375. data/lib/chef/provider/service/freebsd.rb +7 -7
  376. data/lib/chef/provider/service/gentoo.rb +6 -6
  377. data/lib/chef/provider/service/init.rb +3 -3
  378. data/lib/chef/provider/service/insserv.rb +3 -3
  379. data/lib/chef/provider/service/invokercd.rb +2 -2
  380. data/lib/chef/provider/service/macosx.rb +1 -1
  381. data/lib/chef/provider/service/openbsd.rb +7 -7
  382. data/lib/chef/provider/service/redhat.rb +6 -6
  383. data/lib/chef/provider/service/solaris.rb +3 -3
  384. data/lib/chef/provider/service/systemd.rb +3 -3
  385. data/lib/chef/provider/service/upstart.rb +3 -3
  386. data/lib/chef/provider/service/windows.rb +1 -1
  387. data/lib/chef/provider/service.rb +1 -1
  388. data/lib/chef/provider/subversion.rb +10 -10
  389. data/lib/chef/provider/systemd_unit.rb +3 -3
  390. data/lib/chef/provider/template/content.rb +1 -1
  391. data/lib/chef/provider/template.rb +2 -2
  392. data/lib/chef/provider/template_finder.rb +1 -1
  393. data/lib/chef/provider/user/aix.rb +4 -4
  394. data/lib/chef/provider/user/dscl.rb +1 -1
  395. data/lib/chef/provider/user/linux.rb +8 -3
  396. data/lib/chef/provider/user/mac.rb +2 -2
  397. data/lib/chef/provider/user/pw.rb +4 -4
  398. data/lib/chef/provider/user/solaris.rb +8 -8
  399. data/lib/chef/provider/user.rb +7 -4
  400. data/lib/chef/provider/windows_script.rb +2 -2
  401. data/lib/chef/provider/yum_repository.rb +2 -4
  402. data/lib/chef/provider/zypper_repository.rb +2 -2
  403. data/lib/chef/provider.rb +1 -1
  404. data/lib/chef/providers.rb +3 -1
  405. data/lib/chef/pwsh.rb +1 -1
  406. data/lib/chef/recipe.rb +9 -6
  407. data/lib/chef/request_id.rb +1 -1
  408. data/lib/chef/resource/_rest_resource.rb +156 -11
  409. data/lib/chef/resource/action_class.rb +1 -1
  410. data/lib/chef/resource/alternatives.rb +44 -43
  411. data/lib/chef/resource/apt_package.rb +38 -33
  412. data/lib/chef/resource/apt_preference.rb +25 -24
  413. data/lib/chef/resource/apt_repository.rb +16 -11
  414. data/lib/chef/resource/apt_update.rb +5 -4
  415. data/lib/chef/resource/archive_file.rb +21 -21
  416. data/lib/chef/resource/bash.rb +132 -131
  417. data/lib/chef/resource/batch.rb +1 -1
  418. data/lib/chef/resource/bff_package.rb +18 -17
  419. data/lib/chef/resource/breakpoint.rb +46 -45
  420. data/lib/chef/resource/build_essential.rb +1 -1
  421. data/lib/chef/resource/cab_package.rb +23 -23
  422. data/lib/chef/resource/chef_client_config.rb +73 -72
  423. data/lib/chef/resource/chef_client_cron.rb +21 -19
  424. data/lib/chef/resource/chef_client_hab_ca_cert.rb +141 -0
  425. data/lib/chef/resource/chef_client_launchd.rb +6 -2
  426. data/lib/chef/resource/chef_client_scheduled_task.rb +35 -32
  427. data/lib/chef/resource/chef_client_systemd_timer.rb +21 -18
  428. data/lib/chef/resource/chef_client_trusted_certificate.rb +29 -29
  429. data/lib/chef/resource/chef_gem.rb +1 -1
  430. data/lib/chef/resource/chef_handler.rb +108 -108
  431. data/lib/chef/resource/chef_sleep.rb +3 -2
  432. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  433. data/lib/chef/resource/chocolatey_config.rb +15 -15
  434. data/lib/chef/resource/chocolatey_feature.rb +2 -2
  435. data/lib/chef/resource/chocolatey_installer.rb +31 -46
  436. data/lib/chef/resource/chocolatey_package.rb +1 -1
  437. data/lib/chef/resource/chocolatey_source.rb +16 -16
  438. data/lib/chef/resource/conditional.rb +1 -1
  439. data/lib/chef/resource/cookbook_file.rb +3 -2
  440. data/lib/chef/resource/cron/_cron_shared.rb +1 -1
  441. data/lib/chef/resource/cron/cron.rb +72 -71
  442. data/lib/chef/resource/cron/cron_d.rb +3 -2
  443. data/lib/chef/resource/cron_access.rb +3 -2
  444. data/lib/chef/resource/csh.rb +3 -2
  445. data/lib/chef/resource/directory.rb +4 -3
  446. data/lib/chef/resource/dmg_package.rb +1 -1
  447. data/lib/chef/resource/dnf_package.rb +2 -2
  448. data/lib/chef/resource/dpkg_package.rb +9 -6
  449. data/lib/chef/resource/dsc_resource.rb +1 -1
  450. data/lib/chef/resource/dsc_script.rb +1 -1
  451. data/lib/chef/resource/execute.rb +8 -1
  452. data/lib/chef/resource/file/verification/json.rb +1 -1
  453. data/lib/chef/resource/file/verification/systemd_unit.rb +5 -2
  454. data/lib/chef/resource/file/verification/yaml.rb +2 -2
  455. data/lib/chef/resource/file/verification.rb +4 -1
  456. data/lib/chef/resource/file.rb +3 -2
  457. data/lib/chef/resource/freebsd_package.rb +4 -3
  458. data/lib/chef/resource/gem_package.rb +1 -1
  459. data/lib/chef/resource/group.rb +33 -30
  460. data/lib/chef/resource/habitat/_habitat_shared.rb +1 -1
  461. data/lib/chef/resource/habitat/habitat_package.rb +83 -81
  462. data/lib/chef/resource/habitat/habitat_sup.rb +96 -95
  463. data/lib/chef/resource/habitat/habitat_sup_systemd.rb +14 -13
  464. data/lib/chef/resource/habitat/habitat_sup_windows.rb +5 -4
  465. data/lib/chef/resource/habitat_config.rb +37 -23
  466. data/lib/chef/resource/habitat_install.rb +22 -22
  467. data/lib/chef/resource/habitat_service.rb +9 -5
  468. data/lib/chef/resource/habitat_user_toml.rb +12 -12
  469. data/lib/chef/resource/helpers/cron_validations.rb +1 -1
  470. data/lib/chef/resource/helpers/path_helpers.rb +54 -0
  471. data/lib/chef/resource/homebrew_cask.rb +1 -1
  472. data/lib/chef/resource/homebrew_package.rb +21 -21
  473. data/lib/chef/resource/homebrew_tap.rb +10 -2
  474. data/lib/chef/resource/homebrew_update.rb +1 -1
  475. data/lib/chef/resource/hostname.rb +14 -11
  476. data/lib/chef/resource/http_request.rb +5 -4
  477. data/lib/chef/resource/ifconfig.rb +36 -35
  478. data/lib/chef/resource/inspec_input.rb +42 -39
  479. data/lib/chef/resource/inspec_waiver.rb +66 -65
  480. data/lib/chef/resource/inspec_waiver_file_entry.rb +28 -27
  481. data/lib/chef/resource/ips_package.rb +4 -3
  482. data/lib/chef/resource/kernel_module.rb +4 -3
  483. data/lib/chef/resource/ksh.rb +3 -2
  484. data/lib/chef/resource/launchd.rb +1 -1
  485. data/lib/chef/resource/link.rb +4 -3
  486. data/lib/chef/resource/locale.rb +11 -10
  487. data/lib/chef/resource/log.rb +3 -1
  488. data/lib/chef/resource/lwrp_base.rb +1 -1
  489. data/lib/chef/resource/macos_pkg.rb +1 -1
  490. data/lib/chef/resource/macos_userdefaults.rb +1 -1
  491. data/lib/chef/resource/macports_package.rb +1 -1
  492. data/lib/chef/resource/mdadm.rb +33 -33
  493. data/lib/chef/resource/mount.rb +7 -5
  494. data/lib/chef/resource/msu_package.rb +2 -2
  495. data/lib/chef/resource/notify_group.rb +3 -2
  496. data/lib/chef/resource/ohai.rb +37 -36
  497. data/lib/chef/resource/ohai_hint.rb +27 -26
  498. data/lib/chef/resource/openbsd_package.rb +4 -3
  499. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  500. data/lib/chef/resource/openssl_ec_private_key.rb +1 -1
  501. data/lib/chef/resource/openssl_ec_public_key.rb +1 -1
  502. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  503. data/lib/chef/resource/openssl_rsa_public_key.rb +1 -1
  504. data/lib/chef/resource/openssl_x509_certificate.rb +6 -2
  505. data/lib/chef/resource/openssl_x509_crl.rb +16 -16
  506. data/lib/chef/resource/openssl_x509_request.rb +2 -2
  507. data/lib/chef/resource/package.rb +4 -3
  508. data/lib/chef/resource/pacman_package.rb +2 -1
  509. data/lib/chef/resource/paludis_package.rb +3 -2
  510. data/lib/chef/resource/perl.rb +3 -2
  511. data/lib/chef/resource/plist.rb +4 -4
  512. data/lib/chef/resource/portage_package.rb +3 -2
  513. data/lib/chef/resource/powershell_package.rb +1 -1
  514. data/lib/chef/resource/powershell_package_source.rb +11 -11
  515. data/lib/chef/resource/powershell_script.rb +1 -1
  516. data/lib/chef/resource/python.rb +3 -2
  517. data/lib/chef/resource/reboot.rb +3 -2
  518. data/lib/chef/resource/registry_key.rb +78 -83
  519. data/lib/chef/resource/remote_directory.rb +3 -2
  520. data/lib/chef/resource/remote_file.rb +74 -73
  521. data/lib/chef/resource/resource_notification.rb +1 -1
  522. data/lib/chef/resource/rhsm_errata.rb +3 -2
  523. data/lib/chef/resource/rhsm_errata_level.rb +3 -2
  524. data/lib/chef/resource/rhsm_register.rb +13 -4
  525. data/lib/chef/resource/rhsm_repo.rb +5 -5
  526. data/lib/chef/resource/rhsm_subscription.rb +10 -10
  527. data/lib/chef/resource/route.rb +2 -1
  528. data/lib/chef/resource/rpm_package.rb +3 -2
  529. data/lib/chef/resource/ruby.rb +4 -2
  530. data/lib/chef/resource/ruby_block.rb +3 -1
  531. data/lib/chef/resource/scm/_scm.rb +1 -1
  532. data/lib/chef/resource/scm/git.rb +82 -81
  533. data/lib/chef/resource/scm/subversion.rb +12 -11
  534. data/lib/chef/resource/script.rb +4 -2
  535. data/lib/chef/resource/selinux/common_helpers.rb +1 -1
  536. data/lib/chef/resource/selinux/selinux_debian.erb +1 -1
  537. data/lib/chef/resource/selinux/selinux_default.erb +1 -1
  538. data/lib/chef/resource/selinux_boolean.rb +14 -13
  539. data/lib/chef/resource/selinux_fcontext.rb +23 -22
  540. data/lib/chef/resource/selinux_install.rb +20 -19
  541. data/lib/chef/resource/selinux_login.rb +13 -12
  542. data/lib/chef/resource/selinux_module.rb +20 -19
  543. data/lib/chef/resource/selinux_permissive.rb +10 -9
  544. data/lib/chef/resource/selinux_port.rb +17 -16
  545. data/lib/chef/resource/selinux_state.rb +29 -28
  546. data/lib/chef/resource/selinux_user.rb +16 -15
  547. data/lib/chef/resource/service.rb +9 -6
  548. data/lib/chef/resource/smartos_package.rb +4 -3
  549. data/lib/chef/resource/snap_package.rb +32 -23
  550. data/lib/chef/resource/solaris_package.rb +3 -2
  551. data/lib/chef/resource/ssh_known_hosts_entry.rb +13 -12
  552. data/lib/chef/resource/sudo.rb +71 -70
  553. data/lib/chef/resource/swap_file.rb +20 -19
  554. data/lib/chef/resource/sysctl.rb +49 -48
  555. data/lib/chef/resource/systemd_unit.rb +42 -39
  556. data/lib/chef/resource/template.rb +3 -2
  557. data/lib/chef/resource/timezone.rb +23 -22
  558. data/lib/chef/resource/user/aix_user.rb +4 -3
  559. data/lib/chef/resource/user/linux_user.rb +4 -4
  560. data/lib/chef/resource/user/mac_user.rb +5 -4
  561. data/lib/chef/resource/user/pw_user.rb +4 -3
  562. data/lib/chef/resource/user/solaris_user.rb +4 -3
  563. data/lib/chef/resource/user/windows_user.rb +2 -1
  564. data/lib/chef/resource/user.rb +8 -7
  565. data/lib/chef/resource/user_ulimit.rb +25 -24
  566. data/lib/chef/resource/windows_ad_join.rb +22 -22
  567. data/lib/chef/resource/windows_audit_policy.rb +35 -35
  568. data/lib/chef/resource/windows_auto_run.rb +9 -9
  569. data/lib/chef/resource/windows_certificate.rb +20 -20
  570. data/lib/chef/resource/windows_defender.rb +23 -23
  571. data/lib/chef/resource/windows_defender_exclusion.rb +18 -18
  572. data/lib/chef/resource/windows_dfs_folder.rb +1 -1
  573. data/lib/chef/resource/windows_dfs_namespace.rb +1 -1
  574. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  575. data/lib/chef/resource/windows_dns_record.rb +1 -1
  576. data/lib/chef/resource/windows_dns_zone.rb +1 -1
  577. data/lib/chef/resource/windows_env.rb +6 -6
  578. data/lib/chef/resource/windows_feature.rb +43 -43
  579. data/lib/chef/resource/windows_feature_dism.rb +9 -9
  580. data/lib/chef/resource/windows_feature_powershell.rb +21 -21
  581. data/lib/chef/resource/windows_firewall_profile.rb +29 -29
  582. data/lib/chef/resource/windows_firewall_rule.rb +48 -48
  583. data/lib/chef/resource/windows_font.rb +7 -7
  584. data/lib/chef/resource/windows_package.rb +59 -59
  585. data/lib/chef/resource/windows_pagefile.rb +30 -30
  586. data/lib/chef/resource/windows_path.rb +13 -13
  587. data/lib/chef/resource/windows_printer.rb +29 -29
  588. data/lib/chef/resource/windows_printer_port.rb +22 -22
  589. data/lib/chef/resource/windows_script.rb +1 -1
  590. data/lib/chef/resource/windows_security_policy.rb +24 -24
  591. data/lib/chef/resource/windows_service.rb +107 -107
  592. data/lib/chef/resource/windows_share.rb +17 -17
  593. data/lib/chef/resource/windows_shortcut.rb +8 -8
  594. data/lib/chef/resource/windows_task.rb +103 -105
  595. data/lib/chef/resource/windows_uac.rb +15 -15
  596. data/lib/chef/resource/windows_update_settings.rb +27 -27
  597. data/lib/chef/resource/windows_user_privilege.rb +59 -59
  598. data/lib/chef/resource/windows_workgroup.rb +11 -11
  599. data/lib/chef/resource/yum_package.rb +5 -4
  600. data/lib/chef/resource/yum_repository.rb +37 -36
  601. data/lib/chef/resource/zypper_package.rb +3 -2
  602. data/lib/chef/resource/zypper_repository.rb +4 -3
  603. data/lib/chef/resource.rb +11 -3
  604. data/lib/chef/resource_builder.rb +1 -1
  605. data/lib/chef/resource_collection/resource_collection_serialization.rb +1 -1
  606. data/lib/chef/resource_collection/resource_list.rb +1 -1
  607. data/lib/chef/resource_collection/resource_set.rb +10 -4
  608. data/lib/chef/resource_collection.rb +1 -1
  609. data/lib/chef/resource_definition.rb +1 -1
  610. data/lib/chef/resource_definition_list.rb +1 -1
  611. data/lib/chef/resource_inspector.rb +3 -1
  612. data/lib/chef/resource_reporter.rb +2 -1
  613. data/lib/chef/resource_resolver.rb +1 -1
  614. data/lib/chef/resources.rb +2 -2
  615. data/lib/chef/role.rb +1 -1
  616. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  617. data/lib/chef/run_context.rb +2 -2
  618. data/lib/chef/run_list/run_list_expansion.rb +1 -1
  619. data/lib/chef/run_list/run_list_item.rb +5 -5
  620. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  621. data/lib/chef/run_list.rb +1 -1
  622. data/lib/chef/run_lock.rb +4 -1
  623. data/lib/chef/run_status.rb +1 -1
  624. data/lib/chef/runner.rb +1 -1
  625. data/lib/chef/scan_access_control.rb +9 -7
  626. data/lib/chef/search/query.rb +1 -1
  627. data/lib/chef/secret_fetcher/akeyless_vault.rb +1 -1
  628. data/lib/chef/secret_fetcher/aws_secrets_manager.rb +1 -1
  629. data/lib/chef/secret_fetcher/base.rb +1 -1
  630. data/lib/chef/secret_fetcher/example.rb +1 -1
  631. data/lib/chef/secret_fetcher/hashi_vault.rb +10 -1
  632. data/lib/chef/secret_fetcher.rb +1 -1
  633. data/lib/chef/server_api.rb +1 -1
  634. data/lib/chef/server_api_versions.rb +1 -1
  635. data/lib/chef/shell/ext.rb +20 -20
  636. data/lib/chef/shell/model_wrapper.rb +1 -1
  637. data/lib/chef/shell/shell_session.rb +2 -2
  638. data/lib/chef/shell.rb +30 -8
  639. data/lib/chef/target_io/dir.rb +12 -0
  640. data/lib/chef/target_io/etc.rb +16 -0
  641. data/lib/chef/target_io/file.rb +12 -0
  642. data/lib/chef/target_io/fileutils.rb +12 -0
  643. data/lib/chef/target_io/http.rb +35 -0
  644. data/lib/chef/target_io/io.rb +12 -0
  645. data/lib/chef/target_io/shadow.rb +44 -0
  646. data/lib/chef/target_io/support.rb +73 -0
  647. data/lib/chef/target_io/train/dir.rb +86 -0
  648. data/lib/chef/target_io/train/etc.rb +108 -0
  649. data/lib/chef/target_io/train/file.rb +219 -0
  650. data/lib/chef/target_io/train/fileutils.rb +201 -0
  651. data/lib/chef/target_io/train/http.rb +117 -0
  652. data/lib/chef/target_io/train/io.rb +13 -0
  653. data/lib/chef/target_io/train/shadow.rb +54 -0
  654. data/lib/chef/target_io/train_compat.rb +7 -0
  655. data/lib/chef/target_io.rb +11 -0
  656. data/lib/chef/train_transport.rb +1 -1
  657. data/lib/chef/user.rb +1 -1
  658. data/lib/chef/user_v1.rb +1 -1
  659. data/lib/chef/util/backup.rb +2 -2
  660. data/lib/chef/util/diff.rb +15 -2
  661. data/lib/chef/util/dsc/configuration_generator.rb +1 -1
  662. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  663. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  664. data/lib/chef/util/dsc/resource_store.rb +1 -1
  665. data/lib/chef/util/editor.rb +1 -1
  666. data/lib/chef/util/file_edit.rb +5 -5
  667. data/lib/chef/util/path_helper.rb +1 -1
  668. data/lib/chef/util/powershell/ps_credential.rb +1 -1
  669. data/lib/chef/util/selinux.rb +1 -1
  670. data/lib/chef/util/threaded_job_queue.rb +1 -1
  671. data/lib/chef/util/windows/logon_session.rb +1 -1
  672. data/lib/chef/version.rb +2 -2
  673. data/lib/chef/version_class.rb +1 -1
  674. data/lib/chef/version_constraint.rb +2 -2
  675. data/lib/chef/win32/api/command_line_helper.rb +1 -1
  676. data/lib/chef/win32/api/crypto.rb +1 -1
  677. data/lib/chef/win32/api/error.rb +1 -1
  678. data/lib/chef/win32/api/file.rb +3 -2
  679. data/lib/chef/win32/api/installer.rb +1 -1
  680. data/lib/chef/win32/api/memory.rb +1 -1
  681. data/lib/chef/win32/api/net.rb +1 -1
  682. data/lib/chef/win32/api/process.rb +1 -1
  683. data/lib/chef/win32/api/psapi.rb +1 -1
  684. data/lib/chef/win32/api/registry.rb +1 -1
  685. data/lib/chef/win32/api/security.rb +1 -1
  686. data/lib/chef/win32/api/synchronization.rb +1 -1
  687. data/lib/chef/win32/api/system.rb +1 -1
  688. data/lib/chef/win32/api/unicode.rb +1 -1
  689. data/lib/chef/win32/api.rb +1 -1
  690. data/lib/chef/win32/crypto.rb +1 -1
  691. data/lib/chef/win32/error.rb +3 -2
  692. data/lib/chef/win32/eventlog.rb +1 -1
  693. data/lib/chef/win32/file/info.rb +1 -1
  694. data/lib/chef/win32/file/version_info.rb +1 -1
  695. data/lib/chef/win32/file.rb +1 -1
  696. data/lib/chef/win32/handle.rb +1 -1
  697. data/lib/chef/win32/memory.rb +1 -1
  698. data/lib/chef/win32/mutex.rb +1 -1
  699. data/lib/chef/win32/net.rb +1 -1
  700. data/lib/chef/win32/process.rb +1 -1
  701. data/lib/chef/win32/registry.rb +4 -2
  702. data/lib/chef/win32/security/ace.rb +1 -1
  703. data/lib/chef/win32/security/acl.rb +1 -1
  704. data/lib/chef/win32/security/securable_object.rb +1 -1
  705. data/lib/chef/win32/security/security_descriptor.rb +1 -1
  706. data/lib/chef/win32/security/sid.rb +1 -1
  707. data/lib/chef/win32/security/token.rb +1 -1
  708. data/lib/chef/win32/security.rb +1 -1
  709. data/lib/chef/win32/system.rb +1 -1
  710. data/lib/chef/win32/unicode.rb +1 -1
  711. data/lib/chef/win32/version.rb +2 -3
  712. data/lib/chef/workstation_config_loader.rb +1 -1
  713. data/lib/chef.rb +3 -1
  714. metadata +125 -84
  715. data/lib/chef/resource/osx_profile.rb +0 -334
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) Chef Software Inc.
2
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -19,92 +19,93 @@ require_relative "../resource"
19
19
  class Chef
20
20
  class Resource
21
21
  class InspecWaiver < Chef::Resource
22
- provides :inspec_waiver
22
+ provides :inspec_waiver, target_mode: true
23
+ target_mode support: :full
23
24
 
24
25
  description "Use the **inspec_waiver** resource to add a waiver to the Compliance Phase."
25
26
  introduced "17.5"
26
27
  examples <<~DOC
27
- **Activate the default waiver in the openssh cookbook's compliance segment**:
28
+ **Activate the default waiver in the openssh cookbook's compliance segment**:
28
29
 
29
- ```ruby
30
- inspec_waiver 'openssh' do
31
- action :add
32
- end
33
- ```
30
+ ```ruby
31
+ inspec_waiver 'openssh' do
32
+ action :add
33
+ end
34
+ ```
34
35
 
35
- **Activate all waivers in the openssh cookbook's compliance segment**:
36
+ **Activate all waivers in the openssh cookbook's compliance segment**:
36
37
 
37
- ```ruby
38
- inspec_waiver 'openssh::.*' do
39
- action :add
40
- end
41
- ```
38
+ ```ruby
39
+ inspec_waiver 'openssh::.*' do
40
+ action :add
41
+ end
42
+ ```
42
43
 
43
- **Add an InSpec waiver to the Compliance Phase**:
44
+ **Add an InSpec waiver to the Compliance Phase**:
44
45
 
45
- ```ruby
46
- inspec_waiver 'Add waiver entry for control' do
47
- control 'my_inspec_control_01'
48
- run_test false
49
- justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
50
- expiration '2022-01-01'
51
- action :add
52
- end
53
- ```
46
+ ```ruby
47
+ inspec_waiver 'Add waiver entry for control' do
48
+ control 'my_inspec_control_01'
49
+ run_test false
50
+ justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
51
+ expiration '2022-01-01'
52
+ action :add
53
+ end
54
+ ```
54
55
 
55
- **Add an InSpec waiver to the Compliance Phase using the 'name' property to identify the control**:
56
+ **Add an InSpec waiver to the Compliance Phase using the 'name' property to identify the control**:
56
57
 
57
- ```ruby
58
- inspec_waiver 'my_inspec_control_01' do
59
- justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
60
- action :add
61
- end
62
- ```
58
+ ```ruby
59
+ inspec_waiver 'my_inspec_control_01' do
60
+ justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
61
+ action :add
62
+ end
63
+ ```
63
64
 
64
- **Add an InSpec waiver to the Compliance Phase using an arbitrary YAML, JSON, or TOML file**:
65
+ **Add an InSpec waiver to the Compliance Phase using an arbitrary YAML, JSON, or TOML file**:
65
66
 
66
- ```ruby
67
- # files ending in .yml or .yaml that exist are parsed as YAML
68
- inspec_waiver "/path/to/my/waiver.yml"
67
+ ```ruby
68
+ # files ending in .yml or .yaml that exist are parsed as YAML
69
+ inspec_waiver "/path/to/my/waiver.yml"
69
70
 
70
- inspec_waiver "my-waiver-name" do
71
- source "/path/to/my/waiver.yml"
72
- end
71
+ inspec_waiver "my-waiver-name" do
72
+ source "/path/to/my/waiver.yml"
73
+ end
73
74
 
74
- # files ending in .json that exist are parsed as JSON
75
- inspec_waiver "/path/to/my/waiver.json"
75
+ # files ending in .json that exist are parsed as JSON
76
+ inspec_waiver "/path/to/my/waiver.json"
76
77
 
77
- inspec_waiver "my-waiver-name" do
78
- source "/path/to/my/waiver.json"
79
- end
78
+ inspec_waiver "my-waiver-name" do
79
+ source "/path/to/my/waiver.json"
80
+ end
80
81
 
81
- # files ending in .toml that exist are parsed as TOML
82
- inspec_waiver "/path/to/my/waiver.toml"
82
+ # files ending in .toml that exist are parsed as TOML
83
+ inspec_waiver "/path/to/my/waiver.toml"
83
84
 
84
- inspec_waiver "my-waiver-name" do
85
- source "/path/to/my/waiver.toml"
86
- end
87
- ```
85
+ inspec_waiver "my-waiver-name" do
86
+ source "/path/to/my/waiver.toml"
87
+ end
88
+ ```
88
89
 
89
- **Add an InSpec waiver to the Compliance Phase using a hash**:
90
+ **Add an InSpec waiver to the Compliance Phase using a hash**:
90
91
 
91
- ```ruby
92
- my_hash = { "ssh-01" => {
93
- "expiration_date" => "2033-07-31",
94
- "run" => false,
95
- "justification" => "because"
96
- } }
92
+ ```ruby
93
+ my_hash = { "ssh-01" => {
94
+ "expiration_date" => "2033-07-31",
95
+ "run" => false,
96
+ "justification" => "because"
97
+ } }
97
98
 
98
- inspec_waiver "my-waiver-name" do
99
- source my_hash
100
- end
101
- ```
99
+ inspec_waiver "my-waiver-name" do
100
+ source my_hash
101
+ end
102
+ ```
102
103
 
103
- Note that the **inspec_waiver** resource does not update and will not fire notifications (similar to the log resource). This is done to preserve the ability to use
104
- the resource while not causing the updated resource count to be larger than zero. Since the resource does not update the state of the managed node, this behavior
105
- is still consistent with the configuration management model. Instead, you should use events to observe configuration changes for the compliance phase. It is
106
- possible to use the `notify_group` resource to chain notifications of the two resources, but notifications are the wrong model to use, and you should use pure ruby
107
- conditionals instead. Compliance configuration should be independent of other resources and should only be conditional based on state/attributes, not other resources.
104
+ Note that the **inspec_waiver** resource does not update and will not fire notifications (similar to the log resource). This is done to preserve the ability to use
105
+ the resource while not causing the updated resource count to be larger than zero. Since the resource does not update the state of the managed node, this behavior
106
+ is still consistent with the configuration management model. Instead, you should use events to observe configuration changes for the compliance phase. It is
107
+ possible to use the `notify_group` resource to chain notifications of the two resources, but notifications are the wrong model to use, and you should use pure ruby
108
+ conditionals instead. Compliance configuration should be independent of other resources and should only be conditional based on state/attributes, not other resources.
108
109
  DOC
109
110
 
110
111
  property :control, String,
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Davin Taddeo (<davin@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -23,40 +23,41 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
23
23
  class Chef
24
24
  class Resource
25
25
  class InspecWaiverFileEntry < Chef::Resource
26
- provides :inspec_waiver_file_entry
26
+ provides :inspec_waiver_file_entry, target_mode: true
27
+ target_mode support: :full
27
28
 
28
29
  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."
29
30
  introduced "17.1"
30
31
  examples <<~DOC
31
- **Add an InSpec waiver entry to a given waiver file**:
32
-
33
- ```ruby
34
- inspec_waiver_file_entry 'Add waiver entry for control' do
35
- file_path 'C:\\chef\\inspec_waiver_file.yml'
36
- control 'my_inspec_control_01'
37
- run_test false
38
- justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
39
- expiration '2022-01-01'
40
- action :add
41
- end
42
- ```
32
+ **Add an InSpec waiver entry to a given waiver file**:
33
+
34
+ ```ruby
35
+ inspec_waiver_file_entry 'Add waiver entry for control' do
36
+ file_path 'C:\\chef\\inspec_waiver_file.yml'
37
+ control 'my_inspec_control_01'
38
+ run_test false
39
+ justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
40
+ expiration '2022-01-01'
41
+ action :add
42
+ end
43
+ ```
43
44
 
44
- **Add an InSpec waiver entry to a given waiver file using the 'name' property to identify the control**:
45
+ **Add an InSpec waiver entry to a given waiver file using the 'name' property to identify the control**:
45
46
 
46
- ```ruby
47
- inspec_waiver_file_entry 'my_inspec_control_01' do
48
- justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
49
- action :add
50
- end
51
- ```
47
+ ```ruby
48
+ inspec_waiver_file_entry 'my_inspec_control_01' do
49
+ justification "The subject of this control is not managed by #{ChefUtils::Dist::Infra::PRODUCT} on the systems in policy group \#{node['policy_group']}"
50
+ action :add
51
+ end
52
+ ```
52
53
 
53
- **Remove an InSpec waiver entry to a given waiver file**:
54
+ **Remove an InSpec waiver entry to a given waiver file**:
54
55
 
55
- ```ruby
56
- inspec_waiver_file_entry "my_inspec_control_01" do
57
- action :remove
58
- end
59
- ```
56
+ ```ruby
57
+ inspec_waiver_file_entry "my_inspec_control_01" do
58
+ action :remove
59
+ end
60
+ ```
60
61
  DOC
61
62
 
62
63
  property :control, String,
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Jason Williams (<williamsjj@digitar.com>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,8 +23,9 @@ class Chef
23
23
  class Resource
24
24
  class IpsPackage < ::Chef::Resource::Package
25
25
 
26
- provides :ips_package
27
- provides :package, os: "solaris2"
26
+ provides :ips_package, target_mode: true
27
+ provides :package, os: "solaris2", target_mode: true
28
+ target_mode support: :full
28
29
 
29
30
  description "Use the **ips_package** resource to manage packages (using Image Packaging System (IPS)) on the Solaris 11 platform."
30
31
 
@@ -4,7 +4,7 @@
4
4
  # The MIT License (MIT)
5
5
  #
6
6
  # Copyright:: 2016-2018, Shopify Inc.
7
- # Copyright:: Copyright (c) Chef Software Inc.
7
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
8
8
 
9
9
  require_relative "../resource"
10
10
 
@@ -12,7 +12,8 @@ class Chef
12
12
  class Resource
13
13
  class KernelModule < Chef::Resource
14
14
 
15
- provides :kernel_module
15
+ provides :kernel_module, target_mode: true
16
+ target_mode support: :full
16
17
 
17
18
  description "Use the **kernel_module** resource to manage kernel modules on Linux systems. This resource can load, unload, blacklist, disable, enable, install, and uninstall modules."
18
19
  introduced "14.3"
@@ -232,7 +233,7 @@ class Chef
232
233
  # see if the module is listed in /proc/modules or not
233
234
  # @return [Boolean]
234
235
  def module_loaded?
235
- /^#{new_resource.modname}/.match?(::File.read("/proc/modules"))
236
+ /^#{new_resource.modname}/.match?(::TargetIO::File.read("/proc/modules"))
236
237
  end
237
238
  end
238
239
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Nolan Davidson (<nolan.davidson@gmail.com>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +22,8 @@ class Chef
22
22
  class Resource
23
23
  class Ksh < Chef::Resource::Script
24
24
 
25
- provides :ksh
25
+ provides :ksh, target_mode: true
26
+ target_mode support: :full
26
27
 
27
28
  description "Use the **ksh** resource to execute scripts using the Korn shell (ksh)" \
28
29
  " interpreter. This resource may also use any of the actions and properties" \
@@ -136,7 +136,7 @@ class Chef
136
136
  description: "Sets the log mask to `LOG_DEBUG` for this job."
137
137
 
138
138
  property :disabled, [ TrueClass, FalseClass ], default: false,
139
- description: "Hints to `launchctl` to not submit this job to launchd."
139
+ description: "Hints to `launchctl` to not submit this job to launchd."
140
140
 
141
141
  property :enable_globbing, [ TrueClass, FalseClass ],
142
142
  description: "Update program arguments before invocation."
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
3
  # Author:: Tyler Cloke (<tyler@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
4
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,7 +25,8 @@ class Chef
25
25
  class Link < Chef::Resource
26
26
  include Chef::Mixin::Securable
27
27
 
28
- provides :link
28
+ provides :link, target_mode: true
29
+ target_mode support: :full
29
30
 
30
31
  description "Use the **link** resource to create symbolic or hard links.\n\n" \
31
32
  "A symbolic link—sometimes referred to as a soft link—is a directory entry" \
@@ -46,7 +47,7 @@ class Chef
46
47
  description: "An optional property to set the target file if it differs from the resource block's name.",
47
48
  name_property: true
48
49
 
49
- property :to, String,
50
+ property :to, [String, nil],
50
51
  description: "The actual file to which the link is to be created."
51
52
 
52
53
  property :link_type, [String, Symbol],
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Copyright:: 2011-2016, Heavy Water Software Inc.
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -21,24 +21,25 @@ require "chef-utils/dist" unless defined?(ChefUtils::Dist)
21
21
  class Chef
22
22
  class Resource
23
23
  class Locale < Chef::Resource
24
- provides :locale
24
+ provides :locale, target_mode: true
25
+ target_mode support: :full
25
26
 
26
27
  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"
27
28
  introduced "14.5"
28
29
 
29
30
  examples <<~DOC
30
- Set the lang to 'en_US.UTF-8'
31
+ Set the lang to 'en_US.UTF-8'
31
32
 
32
- ```ruby
33
- locale 'set system locale' do
34
- lang 'en_US.UTF-8'
35
- end
36
- ```
33
+ ```ruby
34
+ locale 'set system locale' do
35
+ lang 'en_US.UTF-8'
36
+ end
37
+ ```
37
38
  DOC
38
39
 
39
40
  LC_VARIABLES ||= %w{LC_ADDRESS LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME}.freeze
40
41
  LOCALE_CONF ||= "/etc/locale.conf".freeze
41
- LOCALE_REGEX ||= /\A\S+/.freeze
42
+ LOCALE_REGEX ||= /\A\S+/
42
43
  LOCALE_PLATFORM_FAMILIES ||= %w{debian windows}.freeze
43
44
 
44
45
  property :lang, String,
@@ -79,7 +80,7 @@ class Chef
79
80
  lang get_system_locale_windows
80
81
  else
81
82
  begin
82
- old_content = ::File.read(LOCALE_CONF)
83
+ old_content = ::TargetIO::File.read(LOCALE_CONF)
83
84
  locale_values = Hash[old_content.split("\n").map { |v| v.split("=") }]
84
85
  lang locale_values["LANG"]
85
86
  rescue Errno::ENOENT => e
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Cary Penniman (<cary@rightscale.com>)
3
3
  # Author:: Tyler Cloke (<tyler@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
4
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,6 +31,8 @@ class Chef
31
31
  class Log < Chef::Resource
32
32
 
33
33
  provides :log, target_mode: true
34
+ target_mode support: :full,
35
+ introduced: "15.1"
34
36
 
35
37
  description "Use the **log** resource to create log entries. The log resource behaves" \
36
38
  " like any other resource: built into the resource collection during the" \
@@ -2,7 +2,7 @@
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
3
  # Author:: Christopher Walters (<cw@chef.io>)
4
4
  # Author:: Daniel DeLeo (<dan@chef.io>)
5
- # Copyright:: Copyright (c) Chef Software Inc.
5
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Joshua Timberman (<jtimberman@chef.io>)
3
3
  # Author:: William Theaker (<william.theaker+chef@gusto.com>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
4
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Copyright:: 2011-2018, Joshua Timberman
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: David Balatero (<dbalatero@gmail.com>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,49 +31,49 @@ class Chef
31
31
  " and then by using the mount provider to create a file systems table (fstab) entry."
32
32
 
33
33
  examples <<~DOC
34
- **Create and assemble a RAID 0 array**
34
+ **Create and assemble a RAID 0 array**
35
35
 
36
- 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:
36
+ 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:
37
37
 
38
- ```
39
- mdadm --create /dev/md0 --level=0 --raid-devices=10 /dev/s01.../dev/s10
40
- ```
38
+ ```
39
+ mdadm --create /dev/md0 --level=0 --raid-devices=10 /dev/s01.../dev/s10
40
+ ```
41
41
 
42
- 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:
42
+ 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:
43
43
 
44
- ```ruby
45
- mdadm '/dev/md0' do
46
- devices [ '/dev/s01', ... '/dev/s10' ]
47
- level 0
48
- action :create
49
- end
50
- ```
44
+ ```ruby
45
+ mdadm '/dev/md0' do
46
+ devices [ '/dev/s01', ... '/dev/s10' ]
47
+ level 0
48
+ action :create
49
+ end
50
+ ```
51
51
 
52
- (again, where /dev/s01 .. /dev/s10 represents devices /dev/s01, /dev/s02, /dev/s03, and so on).
52
+ (again, where /dev/s01 .. /dev/s10 represents devices /dev/s01, /dev/s02, /dev/s03, and so on).
53
53
 
54
- **Create and assemble a RAID 1 array**
54
+ **Create and assemble a RAID 1 array**
55
55
 
56
- ```ruby
57
- mdadm '/dev/md0' do
58
- devices [ '/dev/sda', '/dev/sdb' ]
59
- level 1
60
- action [ :create, :assemble ]
61
- end
62
- ```
56
+ ```ruby
57
+ mdadm '/dev/md0' do
58
+ devices [ '/dev/sda', '/dev/sdb' ]
59
+ level 1
60
+ action [ :create, :assemble ]
61
+ end
62
+ ```
63
63
 
64
- **Create and assemble a RAID 5 array**
64
+ **Create and assemble a RAID 5 array**
65
65
 
66
- 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:
66
+ 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:
67
67
 
68
- ```ruby
69
- mdadm '/dev/sd0' do
70
- devices [ '/dev/s1', '/dev/s2', '/dev/s3', '/dev/s4' ]
71
- level 5
72
- metadata '0.90'
73
- chunk 32
74
- action :create
75
- end
76
- ```
68
+ ```ruby
69
+ mdadm '/dev/sd0' do
70
+ devices [ '/dev/s1', '/dev/s2', '/dev/s3', '/dev/s4' ]
71
+ level 5
72
+ metadata '0.90'
73
+ chunk 32
74
+ action :create
75
+ end
76
+ ```
77
77
  DOC
78
78
 
79
79
  default_action :create
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Joshua Timberman (<joshua@chef.io>)
3
3
  # Author:: Tyler Cloke (<tyler@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
4
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,9 @@ class Chef
24
24
  class Mount < Chef::Resource
25
25
  description "Use the **mount** resource to manage a mounted file system."
26
26
 
27
- provides :mount
27
+ provides :mount, target_mode: true
28
+ target_mode support: :full,
29
+ platforms: %i{aix bsd linux}
28
30
 
29
31
  default_action :mount
30
32
  allowed_actions :mount, :umount, :unmount, :remount, :enable, :disable
@@ -41,11 +43,11 @@ class Chef
41
43
  sensitive: true
42
44
 
43
45
  property :mount_point, String, name_property: true,
44
- coerce: proc { |arg| (arg == "/" || arg.match?(":/$")) ? arg : arg.chomp("/") }, # Removed "/" from the end of str, because it was causing idempotency issue.
45
- 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
+ coerce: proc { |arg| (arg == "/" || arg.match?(":/$")) ? arg : arg.chomp("/") }, # Removed "/" from the end of str, because it was causing idempotency issue.
47
+ 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
48
 
47
49
  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."
50
+ 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
51
 
50
52
  property :device_type, [String, Symbol],
51
53
  description: "The type of device: :device, :label, or :uuid",
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Nimisha Sharad (<nimisha.sharad@msystechnologies.com>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
3
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -54,7 +54,7 @@ class Chef
54
54
  default: lazy { package_name }
55
55
 
56
56
  property :checksum, String, desired_state: false,
57
- description: "SHA-256 digest used to verify the checksum of the downloaded MSU package."
57
+ description: "SHA-256 digest used to verify the checksum of the downloaded MSU package."
58
58
 
59
59
  property :timeout, [String, Integer],
60
60
  default: 3600,
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) Chef Software Inc.
2
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -19,7 +19,8 @@ require_relative "../resource"
19
19
  class Chef
20
20
  class Resource
21
21
  class NotifyGroup < Chef::Resource
22
- provides :notify_group
22
+ provides :notify_group, target_mode: true
23
+ target_mode support: :full
23
24
 
24
25
  description "The notify_group resource does nothing, and always fires notifications which are set on it. Use it to DRY blocks of notifications that are common to multiple resources, and provide a single target for other resources to notify. Unlike most resources, its default action is :nothing."
25
26
  introduced "15.8"