chef 18.11.11 → 19.1.164

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 (717) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +25 -27
  3. data/README.md +7 -2
  4. data/Rakefile +1 -12
  5. data/chef-universal-mingw-ucrt.gemspec +3 -5
  6. data/chef.gemspec +22 -27
  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 +20 -20
  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 +17 -64
  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 +2 -9
  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 +13 -26
  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 +3 -25
  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 +3 -4
  297. data/lib/chef/provider/file.rb +44 -31
  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 +20 -79
  326. data/lib/chef/provider/package/deb.rb +1 -1
  327. data/lib/chef/provider/package/dnf/dnf_helper.py +65 -355
  328. data/lib/chef/provider/package/dnf/python_helper.rb +5 -8
  329. data/lib/chef/provider/package/dnf/version.rb +1 -1
  330. data/lib/chef/provider/package/dnf.rb +5 -24
  331. data/lib/chef/provider/package/dpkg.rb +6 -6
  332. data/lib/chef/provider/package/freebsd/base.rb +1 -1
  333. data/lib/chef/provider/package/habitat.rb +6 -6
  334. data/lib/chef/provider/package/homebrew.rb +1 -1
  335. data/lib/chef/provider/package/ips.rb +3 -3
  336. data/lib/chef/provider/package/msu.rb +1 -1
  337. data/lib/chef/provider/package/openbsd.rb +3 -2
  338. data/lib/chef/provider/package/pacman.rb +4 -4
  339. data/lib/chef/provider/package/paludis.rb +3 -3
  340. data/lib/chef/provider/package/portage.rb +3 -3
  341. data/lib/chef/provider/package/powershell.rb +1 -1
  342. data/lib/chef/provider/package/rpm.rb +3 -3
  343. data/lib/chef/provider/package/rubygems.rb +21 -28
  344. data/lib/chef/provider/package/smartos.rb +2 -2
  345. data/lib/chef/provider/package/snap.rb +19 -7
  346. data/lib/chef/provider/package/snap_tm.rb +79 -0
  347. data/lib/chef/provider/package/solaris.rb +5 -5
  348. data/lib/chef/provider/package/windows/exe.rb +1 -1
  349. data/lib/chef/provider/package/windows/msi.rb +1 -1
  350. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  351. data/lib/chef/provider/package/windows.rb +1 -1
  352. data/lib/chef/provider/package/yum/python_helper.rb +1 -1
  353. data/lib/chef/provider/package/yum/rpm_utils.rb +1 -1
  354. data/lib/chef/provider/package/yum/version.rb +1 -1
  355. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  356. data/lib/chef/provider/package/yum.rb +2 -2
  357. data/lib/chef/provider/package/yum_tm.rb +132 -0
  358. data/lib/chef/provider/package/zypper/version.rb +1 -1
  359. data/lib/chef/provider/package/zypper.rb +5 -5
  360. data/lib/chef/provider/package.rb +2 -2
  361. data/lib/chef/provider/powershell_script.rb +85 -85
  362. data/lib/chef/provider/registry_key.rb +2 -1
  363. data/lib/chef/provider/remote_directory.rb +6 -6
  364. data/lib/chef/provider/remote_file/cache_control_data.rb +1 -1
  365. data/lib/chef/provider/remote_file/content.rb +1 -1
  366. data/lib/chef/provider/remote_file/fetcher.rb +1 -1
  367. data/lib/chef/provider/remote_file/http.rb +2 -3
  368. data/lib/chef/provider/remote_file.rb +2 -2
  369. data/lib/chef/provider/route.rb +10 -10
  370. data/lib/chef/provider/ruby_block.rb +1 -1
  371. data/lib/chef/provider/script.rb +8 -8
  372. data/lib/chef/provider/service/aix.rb +2 -2
  373. data/lib/chef/provider/service/aixinit.rb +6 -6
  374. data/lib/chef/provider/service/arch.rb +6 -6
  375. data/lib/chef/provider/service/debian.rb +8 -8
  376. data/lib/chef/provider/service/freebsd.rb +7 -7
  377. data/lib/chef/provider/service/gentoo.rb +6 -6
  378. data/lib/chef/provider/service/init.rb +3 -3
  379. data/lib/chef/provider/service/insserv.rb +3 -3
  380. data/lib/chef/provider/service/invokercd.rb +2 -2
  381. data/lib/chef/provider/service/macosx.rb +1 -1
  382. data/lib/chef/provider/service/openbsd.rb +7 -7
  383. data/lib/chef/provider/service/redhat.rb +6 -6
  384. data/lib/chef/provider/service/solaris.rb +3 -3
  385. data/lib/chef/provider/service/systemd.rb +3 -3
  386. data/lib/chef/provider/service/upstart.rb +3 -3
  387. data/lib/chef/provider/service/windows.rb +1 -1
  388. data/lib/chef/provider/service.rb +1 -1
  389. data/lib/chef/provider/subversion.rb +10 -10
  390. data/lib/chef/provider/systemd_unit.rb +3 -3
  391. data/lib/chef/provider/template/content.rb +1 -1
  392. data/lib/chef/provider/template.rb +2 -2
  393. data/lib/chef/provider/template_finder.rb +1 -1
  394. data/lib/chef/provider/user/aix.rb +4 -4
  395. data/lib/chef/provider/user/dscl.rb +1 -1
  396. data/lib/chef/provider/user/linux.rb +8 -3
  397. data/lib/chef/provider/user/mac.rb +2 -2
  398. data/lib/chef/provider/user/pw.rb +4 -4
  399. data/lib/chef/provider/user/solaris.rb +8 -8
  400. data/lib/chef/provider/user.rb +7 -4
  401. data/lib/chef/provider/windows_script.rb +2 -2
  402. data/lib/chef/provider/yum_repository.rb +2 -4
  403. data/lib/chef/provider/zypper_repository.rb +2 -2
  404. data/lib/chef/provider.rb +1 -1
  405. data/lib/chef/providers.rb +3 -1
  406. data/lib/chef/pwsh.rb +1 -1
  407. data/lib/chef/recipe.rb +9 -6
  408. data/lib/chef/request_id.rb +1 -1
  409. data/lib/chef/resource/_rest_resource.rb +158 -15
  410. data/lib/chef/resource/action_class.rb +1 -1
  411. data/lib/chef/resource/alternatives.rb +44 -43
  412. data/lib/chef/resource/apt_package.rb +38 -33
  413. data/lib/chef/resource/apt_preference.rb +25 -24
  414. data/lib/chef/resource/apt_repository.rb +16 -11
  415. data/lib/chef/resource/apt_update.rb +5 -4
  416. data/lib/chef/resource/archive_file.rb +6 -40
  417. data/lib/chef/resource/bash.rb +132 -131
  418. data/lib/chef/resource/batch.rb +1 -1
  419. data/lib/chef/resource/bff_package.rb +18 -17
  420. data/lib/chef/resource/breakpoint.rb +46 -45
  421. data/lib/chef/resource/build_essential.rb +1 -1
  422. data/lib/chef/resource/cab_package.rb +23 -23
  423. data/lib/chef/resource/chef_client_config.rb +88 -253
  424. data/lib/chef/resource/chef_client_cron.rb +21 -19
  425. data/lib/chef/resource/chef_client_hab_ca_cert.rb +141 -0
  426. data/lib/chef/resource/chef_client_launchd.rb +6 -2
  427. data/lib/chef/resource/chef_client_scheduled_task.rb +35 -32
  428. data/lib/chef/resource/chef_client_systemd_timer.rb +21 -18
  429. data/lib/chef/resource/chef_client_trusted_certificate.rb +29 -29
  430. data/lib/chef/resource/chef_gem.rb +1 -1
  431. data/lib/chef/resource/chef_handler.rb +108 -108
  432. data/lib/chef/resource/chef_sleep.rb +3 -2
  433. data/lib/chef/resource/chef_vault_secret.rb +2 -2
  434. data/lib/chef/resource/chocolatey_config.rb +15 -15
  435. data/lib/chef/resource/chocolatey_feature.rb +2 -2
  436. data/lib/chef/resource/chocolatey_installer.rb +39 -72
  437. data/lib/chef/resource/chocolatey_package.rb +2 -2
  438. data/lib/chef/resource/chocolatey_source.rb +16 -16
  439. data/lib/chef/resource/conditional.rb +1 -1
  440. data/lib/chef/resource/cookbook_file.rb +3 -2
  441. data/lib/chef/resource/cron/_cron_shared.rb +1 -1
  442. data/lib/chef/resource/cron/cron.rb +72 -71
  443. data/lib/chef/resource/cron/cron_d.rb +3 -2
  444. data/lib/chef/resource/cron_access.rb +3 -2
  445. data/lib/chef/resource/csh.rb +3 -2
  446. data/lib/chef/resource/directory.rb +4 -3
  447. data/lib/chef/resource/dmg_package.rb +1 -1
  448. data/lib/chef/resource/dnf_package.rb +2 -2
  449. data/lib/chef/resource/dpkg_package.rb +9 -6
  450. data/lib/chef/resource/dsc_resource.rb +1 -1
  451. data/lib/chef/resource/dsc_script.rb +1 -1
  452. data/lib/chef/resource/execute.rb +8 -1
  453. data/lib/chef/resource/file/verification/json.rb +1 -1
  454. data/lib/chef/resource/file/verification/systemd_unit.rb +5 -2
  455. data/lib/chef/resource/file/verification/yaml.rb +2 -2
  456. data/lib/chef/resource/file/verification.rb +4 -1
  457. data/lib/chef/resource/file.rb +3 -2
  458. data/lib/chef/resource/freebsd_package.rb +4 -3
  459. data/lib/chef/resource/gem_package.rb +1 -1
  460. data/lib/chef/resource/group.rb +33 -30
  461. data/lib/chef/resource/habitat/_habitat_shared.rb +1 -1
  462. data/lib/chef/resource/habitat/habitat_package.rb +84 -82
  463. data/lib/chef/resource/habitat/habitat_sup.rb +98 -97
  464. data/lib/chef/resource/habitat/habitat_sup_systemd.rb +14 -13
  465. data/lib/chef/resource/habitat/habitat_sup_windows.rb +5 -4
  466. data/lib/chef/resource/habitat_config.rb +38 -24
  467. data/lib/chef/resource/habitat_install.rb +22 -22
  468. data/lib/chef/resource/habitat_service.rb +10 -6
  469. data/lib/chef/resource/habitat_user_toml.rb +12 -12
  470. data/lib/chef/resource/helpers/cron_validations.rb +1 -1
  471. data/lib/chef/resource/helpers/path_helpers.rb +52 -0
  472. data/lib/chef/resource/homebrew_cask.rb +1 -1
  473. data/lib/chef/resource/homebrew_package.rb +21 -21
  474. data/lib/chef/resource/homebrew_tap.rb +10 -2
  475. data/lib/chef/resource/homebrew_update.rb +1 -1
  476. data/lib/chef/resource/hostname.rb +14 -11
  477. data/lib/chef/resource/http_request.rb +5 -4
  478. data/lib/chef/resource/ifconfig.rb +36 -35
  479. data/lib/chef/resource/inspec_input.rb +42 -39
  480. data/lib/chef/resource/inspec_waiver.rb +66 -65
  481. data/lib/chef/resource/inspec_waiver_file_entry.rb +28 -27
  482. data/lib/chef/resource/ips_package.rb +4 -3
  483. data/lib/chef/resource/kernel_module.rb +4 -3
  484. data/lib/chef/resource/ksh.rb +3 -2
  485. data/lib/chef/resource/launchd.rb +1 -1
  486. data/lib/chef/resource/link.rb +4 -3
  487. data/lib/chef/resource/locale.rb +11 -10
  488. data/lib/chef/resource/log.rb +3 -1
  489. data/lib/chef/resource/lwrp_base.rb +1 -1
  490. data/lib/chef/resource/macos_pkg.rb +1 -1
  491. data/lib/chef/resource/macos_userdefaults.rb +1 -1
  492. data/lib/chef/resource/macports_package.rb +1 -1
  493. data/lib/chef/resource/mdadm.rb +33 -33
  494. data/lib/chef/resource/mount.rb +7 -5
  495. data/lib/chef/resource/msu_package.rb +2 -2
  496. data/lib/chef/resource/notify_group.rb +3 -2
  497. data/lib/chef/resource/ohai.rb +37 -36
  498. data/lib/chef/resource/ohai_hint.rb +27 -26
  499. data/lib/chef/resource/openbsd_package.rb +4 -3
  500. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  501. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  502. data/lib/chef/resource/openssl_ec_public_key.rb +3 -3
  503. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -2
  504. data/lib/chef/resource/openssl_rsa_public_key.rb +3 -3
  505. data/lib/chef/resource/openssl_x509_certificate.rb +7 -3
  506. data/lib/chef/resource/openssl_x509_crl.rb +16 -16
  507. data/lib/chef/resource/openssl_x509_request.rb +3 -3
  508. data/lib/chef/resource/package.rb +4 -3
  509. data/lib/chef/resource/pacman_package.rb +2 -1
  510. data/lib/chef/resource/paludis_package.rb +3 -2
  511. data/lib/chef/resource/perl.rb +3 -2
  512. data/lib/chef/resource/plist.rb +4 -4
  513. data/lib/chef/resource/portage_package.rb +3 -2
  514. data/lib/chef/resource/powershell_package.rb +1 -1
  515. data/lib/chef/resource/powershell_package_source.rb +12 -12
  516. data/lib/chef/resource/powershell_script.rb +1 -1
  517. data/lib/chef/resource/python.rb +3 -2
  518. data/lib/chef/resource/reboot.rb +3 -2
  519. data/lib/chef/resource/registry_key.rb +78 -83
  520. data/lib/chef/resource/remote_directory.rb +3 -2
  521. data/lib/chef/resource/remote_file.rb +74 -73
  522. data/lib/chef/resource/resource_notification.rb +1 -1
  523. data/lib/chef/resource/rhsm_errata.rb +3 -2
  524. data/lib/chef/resource/rhsm_errata_level.rb +3 -2
  525. data/lib/chef/resource/rhsm_register.rb +14 -5
  526. data/lib/chef/resource/rhsm_repo.rb +5 -5
  527. data/lib/chef/resource/rhsm_subscription.rb +10 -10
  528. data/lib/chef/resource/route.rb +2 -1
  529. data/lib/chef/resource/rpm_package.rb +3 -2
  530. data/lib/chef/resource/ruby.rb +4 -2
  531. data/lib/chef/resource/ruby_block.rb +3 -1
  532. data/lib/chef/resource/scm/_scm.rb +1 -1
  533. data/lib/chef/resource/scm/git.rb +82 -81
  534. data/lib/chef/resource/scm/subversion.rb +12 -11
  535. data/lib/chef/resource/script.rb +4 -2
  536. data/lib/chef/resource/selinux/common_helpers.rb +1 -1
  537. data/lib/chef/resource/selinux/selinux_debian.erb +1 -1
  538. data/lib/chef/resource/selinux/selinux_default.erb +1 -1
  539. data/lib/chef/resource/selinux_boolean.rb +14 -13
  540. data/lib/chef/resource/selinux_fcontext.rb +23 -22
  541. data/lib/chef/resource/selinux_install.rb +20 -19
  542. data/lib/chef/resource/selinux_login.rb +13 -12
  543. data/lib/chef/resource/selinux_module.rb +20 -19
  544. data/lib/chef/resource/selinux_permissive.rb +10 -9
  545. data/lib/chef/resource/selinux_port.rb +17 -16
  546. data/lib/chef/resource/selinux_state.rb +29 -28
  547. data/lib/chef/resource/selinux_user.rb +16 -15
  548. data/lib/chef/resource/service.rb +9 -6
  549. data/lib/chef/resource/smartos_package.rb +4 -3
  550. data/lib/chef/resource/snap_package.rb +32 -23
  551. data/lib/chef/resource/solaris_package.rb +3 -2
  552. data/lib/chef/resource/ssh_known_hosts_entry.rb +13 -12
  553. data/lib/chef/resource/sudo.rb +71 -70
  554. data/lib/chef/resource/swap_file.rb +20 -19
  555. data/lib/chef/resource/sysctl.rb +49 -48
  556. data/lib/chef/resource/systemd_unit.rb +42 -39
  557. data/lib/chef/resource/template.rb +3 -2
  558. data/lib/chef/resource/timezone.rb +23 -22
  559. data/lib/chef/resource/user/aix_user.rb +4 -3
  560. data/lib/chef/resource/user/linux_user.rb +4 -4
  561. data/lib/chef/resource/user/mac_user.rb +5 -4
  562. data/lib/chef/resource/user/pw_user.rb +4 -3
  563. data/lib/chef/resource/user/solaris_user.rb +4 -3
  564. data/lib/chef/resource/user/windows_user.rb +2 -1
  565. data/lib/chef/resource/user.rb +8 -7
  566. data/lib/chef/resource/user_ulimit.rb +25 -24
  567. data/lib/chef/resource/windows_ad_join.rb +23 -23
  568. data/lib/chef/resource/windows_audit_policy.rb +35 -35
  569. data/lib/chef/resource/windows_auto_run.rb +9 -9
  570. data/lib/chef/resource/windows_certificate.rb +21 -21
  571. data/lib/chef/resource/windows_defender.rb +23 -23
  572. data/lib/chef/resource/windows_defender_exclusion.rb +18 -18
  573. data/lib/chef/resource/windows_dfs_folder.rb +1 -1
  574. data/lib/chef/resource/windows_dfs_namespace.rb +1 -1
  575. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  576. data/lib/chef/resource/windows_dns_record.rb +1 -1
  577. data/lib/chef/resource/windows_dns_zone.rb +1 -1
  578. data/lib/chef/resource/windows_env.rb +6 -6
  579. data/lib/chef/resource/windows_feature.rb +43 -43
  580. data/lib/chef/resource/windows_feature_dism.rb +9 -9
  581. data/lib/chef/resource/windows_feature_powershell.rb +21 -21
  582. data/lib/chef/resource/windows_firewall_profile.rb +29 -29
  583. data/lib/chef/resource/windows_firewall_rule.rb +48 -48
  584. data/lib/chef/resource/windows_font.rb +7 -7
  585. data/lib/chef/resource/windows_package.rb +59 -59
  586. data/lib/chef/resource/windows_pagefile.rb +30 -30
  587. data/lib/chef/resource/windows_path.rb +13 -13
  588. data/lib/chef/resource/windows_printer.rb +29 -29
  589. data/lib/chef/resource/windows_printer_port.rb +22 -22
  590. data/lib/chef/resource/windows_script.rb +1 -1
  591. data/lib/chef/resource/windows_security_policy.rb +24 -24
  592. data/lib/chef/resource/windows_service.rb +108 -108
  593. data/lib/chef/resource/windows_share.rb +17 -17
  594. data/lib/chef/resource/windows_shortcut.rb +8 -8
  595. data/lib/chef/resource/windows_task.rb +104 -106
  596. data/lib/chef/resource/windows_uac.rb +15 -15
  597. data/lib/chef/resource/windows_update_settings.rb +27 -27
  598. data/lib/chef/resource/windows_user_privilege.rb +59 -59
  599. data/lib/chef/resource/windows_workgroup.rb +11 -11
  600. data/lib/chef/resource/yum_package.rb +6 -5
  601. data/lib/chef/resource/yum_repository.rb +39 -38
  602. data/lib/chef/resource/zypper_package.rb +3 -2
  603. data/lib/chef/resource/zypper_repository.rb +4 -3
  604. data/lib/chef/resource.rb +11 -3
  605. data/lib/chef/resource_builder.rb +1 -1
  606. data/lib/chef/resource_collection/resource_collection_serialization.rb +1 -1
  607. data/lib/chef/resource_collection/resource_list.rb +1 -1
  608. data/lib/chef/resource_collection/resource_set.rb +10 -4
  609. data/lib/chef/resource_collection.rb +1 -1
  610. data/lib/chef/resource_definition.rb +1 -1
  611. data/lib/chef/resource_definition_list.rb +1 -1
  612. data/lib/chef/resource_inspector.rb +3 -1
  613. data/lib/chef/resource_reporter.rb +2 -1
  614. data/lib/chef/resource_resolver.rb +1 -1
  615. data/lib/chef/resources.rb +2 -2
  616. data/lib/chef/role.rb +1 -1
  617. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  618. data/lib/chef/run_context.rb +2 -2
  619. data/lib/chef/run_list/run_list_expansion.rb +1 -1
  620. data/lib/chef/run_list/run_list_item.rb +5 -5
  621. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  622. data/lib/chef/run_list.rb +1 -1
  623. data/lib/chef/run_lock.rb +4 -1
  624. data/lib/chef/run_status.rb +1 -1
  625. data/lib/chef/runner.rb +1 -1
  626. data/lib/chef/scan_access_control.rb +9 -7
  627. data/lib/chef/search/query.rb +1 -1
  628. data/lib/chef/secret_fetcher/akeyless_vault.rb +1 -1
  629. data/lib/chef/secret_fetcher/aws_secrets_manager.rb +1 -1
  630. data/lib/chef/secret_fetcher/base.rb +1 -1
  631. data/lib/chef/secret_fetcher/example.rb +1 -1
  632. data/lib/chef/secret_fetcher/hashi_vault.rb +10 -1
  633. data/lib/chef/secret_fetcher.rb +1 -1
  634. data/lib/chef/server_api.rb +1 -1
  635. data/lib/chef/server_api_versions.rb +1 -1
  636. data/lib/chef/shell/ext.rb +20 -20
  637. data/lib/chef/shell/model_wrapper.rb +1 -1
  638. data/lib/chef/shell/shell_session.rb +2 -2
  639. data/lib/chef/shell.rb +30 -15
  640. data/lib/chef/target_io/dir.rb +12 -0
  641. data/lib/chef/target_io/etc.rb +16 -0
  642. data/lib/chef/target_io/file.rb +12 -0
  643. data/lib/chef/target_io/fileutils.rb +12 -0
  644. data/lib/chef/target_io/http.rb +35 -0
  645. data/lib/chef/target_io/io.rb +12 -0
  646. data/lib/chef/target_io/shadow.rb +44 -0
  647. data/lib/chef/target_io/support.rb +73 -0
  648. data/lib/chef/target_io/train/dir.rb +86 -0
  649. data/lib/chef/target_io/train/etc.rb +108 -0
  650. data/lib/chef/target_io/train/file.rb +219 -0
  651. data/lib/chef/target_io/train/fileutils.rb +201 -0
  652. data/lib/chef/target_io/train/http.rb +117 -0
  653. data/lib/chef/target_io/train/io.rb +13 -0
  654. data/lib/chef/target_io/train/shadow.rb +54 -0
  655. data/lib/chef/target_io/train_compat.rb +7 -0
  656. data/lib/chef/target_io.rb +11 -0
  657. data/lib/chef/train_transport.rb +1 -1
  658. data/lib/chef/user.rb +1 -1
  659. data/lib/chef/user_v1.rb +1 -1
  660. data/lib/chef/util/backup.rb +2 -2
  661. data/lib/chef/util/diff.rb +15 -2
  662. data/lib/chef/util/dsc/configuration_generator.rb +1 -1
  663. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  664. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  665. data/lib/chef/util/dsc/resource_store.rb +1 -1
  666. data/lib/chef/util/editor.rb +1 -1
  667. data/lib/chef/util/file_edit.rb +5 -5
  668. data/lib/chef/util/path_helper.rb +1 -1
  669. data/lib/chef/util/powershell/ps_credential.rb +1 -1
  670. data/lib/chef/util/selinux.rb +1 -1
  671. data/lib/chef/util/threaded_job_queue.rb +1 -1
  672. data/lib/chef/util/windows/logon_session.rb +1 -1
  673. data/lib/chef/version.rb +2 -2
  674. data/lib/chef/version_class.rb +1 -1
  675. data/lib/chef/version_constraint.rb +2 -2
  676. data/lib/chef/win32/api/command_line_helper.rb +1 -1
  677. data/lib/chef/win32/api/crypto.rb +1 -1
  678. data/lib/chef/win32/api/error.rb +1 -1
  679. data/lib/chef/win32/api/file.rb +3 -2
  680. data/lib/chef/win32/api/installer.rb +1 -1
  681. data/lib/chef/win32/api/memory.rb +1 -1
  682. data/lib/chef/win32/api/net.rb +1 -1
  683. data/lib/chef/win32/api/process.rb +1 -1
  684. data/lib/chef/win32/api/psapi.rb +1 -1
  685. data/lib/chef/win32/api/registry.rb +1 -1
  686. data/lib/chef/win32/api/security.rb +1 -1
  687. data/lib/chef/win32/api/synchronization.rb +1 -1
  688. data/lib/chef/win32/api/system.rb +1 -1
  689. data/lib/chef/win32/api/unicode.rb +1 -1
  690. data/lib/chef/win32/api.rb +1 -1
  691. data/lib/chef/win32/crypto.rb +1 -1
  692. data/lib/chef/win32/error.rb +3 -2
  693. data/lib/chef/win32/eventlog.rb +1 -1
  694. data/lib/chef/win32/file/info.rb +1 -1
  695. data/lib/chef/win32/file/version_info.rb +1 -1
  696. data/lib/chef/win32/file.rb +1 -1
  697. data/lib/chef/win32/handle.rb +1 -1
  698. data/lib/chef/win32/memory.rb +1 -1
  699. data/lib/chef/win32/mutex.rb +1 -1
  700. data/lib/chef/win32/net.rb +1 -1
  701. data/lib/chef/win32/process.rb +1 -1
  702. data/lib/chef/win32/registry.rb +4 -2
  703. data/lib/chef/win32/security/ace.rb +1 -1
  704. data/lib/chef/win32/security/acl.rb +1 -1
  705. data/lib/chef/win32/security/securable_object.rb +1 -1
  706. data/lib/chef/win32/security/security_descriptor.rb +1 -1
  707. data/lib/chef/win32/security/sid.rb +1 -1
  708. data/lib/chef/win32/security/token.rb +1 -1
  709. data/lib/chef/win32/security.rb +1 -1
  710. data/lib/chef/win32/system.rb +1 -1
  711. data/lib/chef/win32/unicode.rb +1 -1
  712. data/lib/chef/win32/version.rb +2 -3
  713. data/lib/chef/workstation_config_loader.rb +1 -1
  714. data/lib/chef.rb +3 -1
  715. metadata +136 -120
  716. data/lib/chef/monkey_patches/reline-windows.rb +0 -116
  717. data/lib/chef/resource/osx_profile.rb +0 -334
@@ -1,6 +1,3 @@
1
- require "cgi" unless defined?(CGI)
2
- require "uri" unless defined?(URI)
3
-
4
1
  class Chef
5
2
  class Resource
6
3
  class ChocolateyInstaller < Chef::Resource
@@ -9,54 +6,54 @@ class Chef
9
6
  description "Use the chocolatey_installer resource to ensure that Chocolatey itself is installed to your specification. Use the Chocolatey Feature resource to customize your install. Then use the Chocolatey Package resource to install packages on Windows via Chocolatey."
10
7
  introduced "18.3"
11
8
  examples <<~DOC
12
- **Install Chocolatey**
9
+ **Install Chocolatey**
13
10
 
14
- ```ruby
15
- chocolatey_installer 'latest' do
16
- action :install
17
- end
18
- ```
11
+ ```ruby
12
+ chocolatey_installer 'latest' do
13
+ action :install
14
+ end
15
+ ```
19
16
 
20
- **Uninstall Chocolatey**
17
+ **Uninstall Chocolatey**
21
18
 
22
- ```ruby
23
- chocolatey_installer 'Some random verbiage' do
24
- action :uninstall
25
- end
26
- ```
19
+ ```ruby
20
+ chocolatey_installer 'Some random verbiage' do
21
+ action :uninstall
22
+ end
23
+ ```
27
24
 
28
- **Install Chocolatey with Parameters**
25
+ **Install Chocolatey with Parameters**
29
26
 
30
- ```ruby
31
- chocolatey_installer 'latest' do
32
- action :install
33
- download_url "https://www.contoso.com/foo"
34
- chocolatey_version '2.12.24'
35
- end
36
- ```
27
+ ```ruby
28
+ chocolatey_installer 'latest' do
29
+ action :install
30
+ download_url "https://www.contoso.com/foo"
31
+ chocolatey_version '2.12.24'
32
+ end
33
+ ```
37
34
 
38
35
  ```ruby
39
36
  chocolatey_installer 'latest' do
40
37
  action :install
41
- download_url "c:\\foo\\foo.nupkg"
38
+ download_url "c:\\foo\foo.nupkg"
42
39
  chocolatey_version '2.12.24'
43
40
  end
44
41
  ```
45
42
 
46
- **Upgrade Chocolatey with Parameters**
43
+ **Upgrade Chocolatey with Parameters**
47
44
 
48
- ```ruby
49
- chocolatey_installer 'latest' do
50
- action :upgrade
51
- chocolatey_version '2.12.24'
52
- end
53
- ```
45
+ ```ruby
46
+ chocolatey_installer 'latest' do
47
+ action :upgrade
48
+ chocolatey_version '2.12.24'
49
+ end
50
+ ```
54
51
  DOC
55
52
 
56
53
  allowed_actions :install, :uninstall, :upgrade
57
54
 
58
55
  property :download_url, String,
59
- description: "The URL to download Chocolatey from. This sets the value of $env:ChocolateyDownloadUrl and causes the installer to choose an alternate download location. If this is not set, Chocolatey installs fall back to the official Chocolatey community repository to download Chocolatey from. It can also be used for offline installation by providing a path to a Chocolatey.nupkg. If the provided URL is a PowerShell script (ending in .ps1), that script will be downloaded and executed directly. If it is any other file type, it will be downloaded to the Chef client directory. ChefConfig::Config.etc_chef_dir(windows: true) is used to find that location."
56
+ description: "The URL to download Chocolatey from. This sets the value of $env:ChocolateyDownloadUrl and causes the installer to choose an alternate download location. If this is not set, Chocolatey installs fall back to the official Chocolatey community repository to download Chocolatey from. It can also be used for offline installation by providing a path to a Chocolatey.nupkg."
60
57
 
61
58
  property :chocolatey_version, String,
62
59
  description: "Specifies a target version of Chocolatey to install. By default, the latest stable version is installed. This will use the value in $env:ChocolateyVersion by default, if that environment variable is present. This parameter is ignored if download_url is set."
@@ -73,7 +70,7 @@ class Chef
73
70
  property :proxy_user, String,
74
71
  description: "The username to use to build a proxy credential with. Will be consumed by the proxy_credential property if both this property and proxy_password are set"
75
72
 
76
- property :proxy_password, String, sensitive: true,
73
+ property :proxy_password, String,
77
74
  description: "The password to use to build a proxy credential with. Will be consumed by the proxy_credential property if both this property and proxy_user are set"
78
75
 
79
76
  load_current_value do
@@ -94,25 +91,6 @@ class Chef
94
91
  Gem::Version.new(get_choco_version)
95
92
  end
96
93
 
97
- def download_url_path
98
- return download_url if download_url.match?(%r{^[a-zA-Z]:[\\/]}) || download_url.start_with?("\\\\")
99
-
100
- ::URI.parse(download_url).path
101
- rescue URI::InvalidURIError
102
- download_url
103
- end
104
-
105
- def download_url_script?
106
- ::File.extname(download_url_path).casecmp(".ps1") == 0
107
- end
108
-
109
- def download_destination
110
- filename = ::File.basename(::CGI.unescape(download_url_path.to_s))
111
- filename = "chocolatey.nupkg" if filename.empty? || ["/", "\\", "."].include?(filename)
112
-
113
- Chef::Util::PathHelper.join(ChefConfig::Config.etc_chef_dir(windows: true), filename)
114
- end
115
-
116
94
  def define_resource_requirements
117
95
  requirements.assert(:install, :upgrade).each do |a|
118
96
  a.assertion do
@@ -150,30 +128,19 @@ class Chef
150
128
  powershell_exec("Set-Item -path env:ChocolateyProxyUser -Value #{new_resource.proxy_user}; Set-Item -path env:ChocolateyProxyPassword -Value #{new_resource.proxy_password}")
151
129
  end
152
130
 
153
- # Handle custom download URLs appropriately based on file type
131
+ # note that Invoke-Expression is being called on the downloaded script (outer parens),
132
+ # not triggering the script download (inner parens)
154
133
  converge_if_changed do
155
- if new_resource.download_url
156
- Chef::Log.info("Using custom download URL for Chocolatey installation: #{new_resource.download_url}")
157
- # If it's a PowerShell script, execute it directly (original behavior)
158
- if download_url_script?
159
- powershell_exec("Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('#{new_resource.download_url}'))").error!
160
- else
161
- # Assume it's a direct link to a nupkg or other file and handle accordingly
162
- destination = download_destination
163
-
164
- powershell_exec("Invoke-WebRequest '#{new_resource.download_url}' -OutFile '#{destination}'").error!
165
- Chef::Log.info("Downloaded file from #{new_resource.download_url} to #{destination}")
166
- end
167
- else
168
- powershell_exec("Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))").error!
169
- end
134
+ powershell_exec("Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))").error!
170
135
  end
171
136
  end
172
137
 
173
138
  action :upgrade, description: "Upgrades the Chocolatey package manager" do
174
- proposed_version = if new_resource.chocolatey_version
175
- Gem::Version.new(new_resource.chocolatey_version)
176
- end
139
+ if new_resource.chocolatey_version
140
+ proposed_version = Gem::Version.new(new_resource.chocolatey_version)
141
+ else
142
+ proposed_version = nil
143
+ end
177
144
 
178
145
  if new_resource.download_url
179
146
  powershell_exec("Set-Item -path env:ChocolateyDownloadUrl -Value #{new_resource.download_url}")
@@ -211,7 +178,7 @@ class Chef
211
178
  end
212
179
 
213
180
  action :uninstall, description: "Uninstall Chocolatey package manager" do
214
- path = 'c:\\programdata\\chocolatey\\bin'
181
+ path = "c:\\programdata\\chocolatey\\bin"
215
182
  if File.exists?(path)
216
183
  converge_by("Uninstall Choco") do
217
184
  powershell_code = <<~CODE
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@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
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -59,7 +59,7 @@ class Chef
59
59
  introduced: "15.3",
60
60
  description: "The username to authenticate feeds."
61
61
 
62
- property :password, String, sensitive: true,
62
+ property :password, String,
63
63
  introduced: "15.3",
64
64
  description: "The password to authenticate to the source."
65
65
 
@@ -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.
@@ -41,42 +41,42 @@ class Chef
41
41
  DOC
42
42
 
43
43
  property :source_name, String, name_property: true,
44
- description: "An optional property to set the source name if it differs from the resource block's name."
44
+ description: "An optional property to set the source name if it differs from the resource block's name."
45
45
 
46
46
  property :source, String,
47
47
  description: "The source URL."
48
48
 
49
49
  property :bypass_proxy, [TrueClass, FalseClass], default: false,
50
- description: "Whether or not to bypass the system's proxy settings to access the source."
50
+ description: "Whether or not to bypass the system's proxy settings to access the source."
51
51
 
52
52
  property :admin_only, [TrueClass, FalseClass], default: false,
53
- description: "Whether or not to set the source to be accessible to only admins.",
54
- introduced: "15.1"
53
+ description: "Whether or not to set the source to be accessible to only admins.",
54
+ introduced: "15.1"
55
55
 
56
56
  property :allow_self_service, [TrueClass, FalseClass], default: false,
57
- description: "Whether or not to set the source to be used for self service.",
58
- introduced: "15.1"
57
+ description: "Whether or not to set the source to be used for self service.",
58
+ introduced: "15.1"
59
59
 
60
60
  property :priority, Integer, default: 0,
61
- description: "The priority level of the source."
61
+ description: "The priority level of the source."
62
62
 
63
63
  property :disabled, [TrueClass, FalseClass], default: false, desired_state: false, skip_docs: true
64
64
 
65
65
  property :username, String,
66
- description: "The username to use when authenticating against the source",
67
- introduced: "17.7"
66
+ description: "The username to use when authenticating against the source",
67
+ introduced: "17.7"
68
68
 
69
69
  property :password, String, sensitive: true, desired_state: false,
70
- description: "The password to use when authenticating against the source",
71
- introduced: "17.7"
70
+ description: "The password to use when authenticating against the source",
71
+ introduced: "17.7"
72
72
 
73
73
  property :cert, String,
74
- description: "The certificate to use when authenticating against the source",
75
- introduced: "17.7"
74
+ description: "The certificate to use when authenticating against the source",
75
+ introduced: "17.7"
76
76
 
77
77
  property :cert_password, String, sensitive: true, desired_state: false,
78
- description: "The password for the certificate to use when authenticating against the source",
79
- introduced: "17.7"
78
+ description: "The password for the certificate to use when authenticating against the source",
79
+ introduced: "17.7"
80
80
 
81
81
  load_current_value do
82
82
  element = fetch_source_element(source_name)
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Daniel DeLeo (<dan@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
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -2,7 +2,7 @@
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Tyler Cloke (<tyler@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");
@@ -28,7 +28,8 @@ class Chef
28
28
  class CookbookFile < Chef::Resource::File
29
29
  include Chef::Mixin::Securable
30
30
 
31
- provides :cookbook_file
31
+ provides :cookbook_file, target_mode: true
32
+ target_mode support: :full
32
33
 
33
34
  description "Use the **cookbook_file** resource to transfer files from a sub-directory of COOKBOOK_NAME/files/ to a specified path located on a host that is running the #{ChefUtils::Dist::Infra::PRODUCT}. The file is selected according to file specificity, which allows different source files to be used based on the hostname, host platform (operating system, distro, or as appropriate), or platform version. Files that are located in the COOKBOOK_NAME/files/default sub-directory may be used on any platform.\n\nDuring a #{ChefUtils::Dist::Infra::PRODUCT} run, the checksum for each local file is calculated and then compared against the checksum for the same file as it currently exists in the cookbook on the #{ChefUtils::Dist::Server::PRODUCT}. A file is not transferred when the checksums match. Only files that require an update are transferred from the #{ChefUtils::Dist::Server::PRODUCT} to a node."
34
35
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  TIMEOUT_OPTS = %w{duration preserve-status foreground kill-after signal}.freeze
3
- TIMEOUT_REGEX = /\A\S+/.freeze
3
+ TIMEOUT_REGEX = /\A\S+/
4
4
  WEEKDAYS = {
5
5
  sunday: "0", monday: "1", tuesday: "2", wednesday: "3", thursday: "4", friday: "5", saturday: "6",
6
6
  sun: "0", mon: "1", tue: "2", wed: "3", thu: "4", fri: "5", sat: "6"
@@ -28,81 +28,82 @@ class Chef
28
28
 
29
29
  use "cron_shared"
30
30
 
31
- provides :cron
31
+ provides :cron, target_mode: true
32
+ target_mode support: :full
32
33
 
33
34
  description "Use the **cron** resource to manage cron entries for time-based job scheduling. Properties for a schedule will default to * if not provided. The cron resource requires access to a crontab program, typically cron. Warning: The cron resource should only be used to modify an entry in a crontab file. The `cron_d` resource directly manages `cron.d` files. This resource ships in #{ChefUtils::Dist::Infra::PRODUCT} 14.4 or later and can also be found in the [cron](https://github.com/chef-cookbooks/cron) cookbook) for previous #{ChefUtils::Dist::Infra::PRODUCT} releases."
34
35
 
35
36
  examples <<~'DOC'
36
- **Run a program at a specified interval**
37
-
38
- ```ruby
39
- cron 'noop' do
40
- hour '5'
41
- minute '0'
42
- command '/bin/true'
43
- end
44
- ```
45
-
46
- **Run an entry if a folder exists**
47
-
48
- ```ruby
49
- cron 'ganglia_tomcat_thread_max' do
50
- command "/usr/bin/gmetric
51
- -n 'tomcat threads max'
52
- -t uint32
53
- -v '/usr/local/bin/tomcat-stat --thread-max'"
54
- only_if { ::File.exist?('/home/jboss') }
55
- end
56
- ```
57
-
58
- **Run every Saturday, 8:00 AM**
59
-
60
- The following example shows a schedule that will run every hour at 8:00 each Saturday morning, and will then send an email to “admin@example.com” after each run.
61
-
62
- ```ruby
63
- cron 'name_of_cron_entry' do
64
- minute '0'
65
- hour '8'
66
- weekday '6'
67
- mailto 'admin@example.com'
68
- action :create
69
- end
70
- ```
71
-
72
- **Run once a week**
73
-
74
- ```ruby
75
- cron 'cookbooks_report' do
76
- minute '0'
77
- hour '0'
78
- weekday '1'
79
- user 'chefio'
80
- mailto 'sysadmin@example.com'
81
- home '/srv/supermarket/shared/system'
82
- command %W{
83
- cd /srv/supermarket/current &&
84
- env RUBYLIB="/srv/supermarket/current/lib"
85
- RAILS_ASSET_ID=`git rev-parse HEAD` RAILS_ENV="#{rails_env}"
86
- bundle exec rake cookbooks_report
87
- }.join(' ')
88
- action :create
89
- end
90
- ```
91
-
92
- **Run only in November**
93
-
94
- The following example shows a schedule that will run at 8:00 PM, every weekday (Monday through Friday), but only in November:
95
-
96
- ```ruby
97
- cron 'name_of_cron_entry' do
98
- minute '0'
99
- hour '20'
100
- day '*'
101
- month '11'
102
- weekday '1-5'
103
- action :create
104
- end
105
- ```
37
+ **Run a program at a specified interval**
38
+
39
+ ```ruby
40
+ cron 'noop' do
41
+ hour '5'
42
+ minute '0'
43
+ command '/bin/true'
44
+ end
45
+ ```
46
+
47
+ **Run an entry if a folder exists**
48
+
49
+ ```ruby
50
+ cron 'ganglia_tomcat_thread_max' do
51
+ command "/usr/bin/gmetric
52
+ -n 'tomcat threads max'
53
+ -t uint32
54
+ -v '/usr/local/bin/tomcat-stat --thread-max'"
55
+ only_if { ::File.exist?('/home/jboss') }
56
+ end
57
+ ```
58
+
59
+ **Run every Saturday, 8:00 AM**
60
+
61
+ The following example shows a schedule that will run every hour at 8:00 each Saturday morning, and will then send an email to “admin@example.com” after each run.
62
+
63
+ ```ruby
64
+ cron 'name_of_cron_entry' do
65
+ minute '0'
66
+ hour '8'
67
+ weekday '6'
68
+ mailto 'admin@example.com'
69
+ action :create
70
+ end
71
+ ```
72
+
73
+ **Run once a week**
74
+
75
+ ```ruby
76
+ cron 'cookbooks_report' do
77
+ minute '0'
78
+ hour '0'
79
+ weekday '1'
80
+ user 'chefio'
81
+ mailto 'sysadmin@example.com'
82
+ home '/srv/supermarket/shared/system'
83
+ command %W{
84
+ cd /srv/supermarket/current &&
85
+ env RUBYLIB="/srv/supermarket/current/lib"
86
+ RAILS_ASSET_ID=`git rev-parse HEAD` RAILS_ENV="#{rails_env}"
87
+ bundle exec rake cookbooks_report
88
+ }.join(' ')
89
+ action :create
90
+ end
91
+ ```
92
+
93
+ **Run only in November**
94
+
95
+ The following example shows a schedule that will run at 8:00 PM, every weekday (Monday through Friday), but only in November:
96
+
97
+ ```ruby
98
+ cron 'name_of_cron_entry' do
99
+ minute '0'
100
+ hour '20'
101
+ day '*'
102
+ month '11'
103
+ weekday '1-5'
104
+ action :create
105
+ end
106
+ ```
106
107
  DOC
107
108
 
108
109
  state_attrs :minute, :hour, :day, :month, :weekday, :user
@@ -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
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +26,8 @@ class Chef
26
26
 
27
27
  use "cron_shared"
28
28
 
29
- provides :cron_d
29
+ provides :cron_d, target_mode: true
30
+ target_mode support: :full
30
31
 
31
32
  introduced "14.4"
32
33
  description "Use the **cron_d** resource to manage cron job files in the `/etc/cron.d` directory. Warning: #{ChefUtils::Dist::Infra::PRODUCT} also ships with the **cron** resource for managing the monolithic `/etc/crontab` file on platforms that lack cron.d support. See the [cron resource](/resources/cron/) for information on using that resource."
@@ -3,7 +3,7 @@
3
3
  # Author:: Tim Smith <tsmith@chef.io>
4
4
  #
5
5
  # Copyright:: 2014-2018, Sander Botman
6
- # Copyright:: Copyright (c) Chef Software Inc.
6
+ # Copyright:: Copyright (c) 2009-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
9
9
  # you may not use this file except in compliance with the License.
@@ -23,8 +23,9 @@ require_relative "../resource"
23
23
  class Chef
24
24
  class Resource
25
25
  class CronAccess < Chef::Resource
26
- provides :cron_access
26
+ provides :cron_access, target_mode: true
27
27
  provides(:cron_manage) # legacy name @todo in Chef 15 we should { true } this so it wins over the cookbook
28
+ target_mode support: :full
28
29
 
29
30
  introduced "14.4"
30
31
  description "Use the **cron_access** resource to manage cron's cron.allow and cron.deny files. Note: This resource previously shipped in the `cron` cookbook as `cron_manage`, which it can still be used as for backwards compatibility with existing Chef Infra Client releases."
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@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
  # 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 Csh < Chef::Resource::Script
24
24
 
25
- provides :csh
25
+ provides :csh, target_mode: true
26
+ target_mode support: :full
26
27
 
27
28
  description "Use the **csh** resource to execute scripts using the csh interpreter." \
28
29
  " This resource may also use any of the actions and properties that are" \
@@ -2,7 +2,7 @@
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Tyler Cloke (<tyler@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");
@@ -25,7 +25,8 @@ class Chef
25
25
  class Resource
26
26
  class Directory < Chef::Resource
27
27
 
28
- provides :directory
28
+ provides :directory, target_mode: true
29
+ target_mode support: :full
29
30
 
30
31
  description "Use the **directory** resource to manage a directory, which is a hierarchy" \
31
32
  " of folders that comprises all of the information stored on a computer." \
@@ -42,7 +43,7 @@ class Chef
42
43
  allowed_actions :create, :delete
43
44
 
44
45
  property :path, String, name_property: true,
45
- description: "The path to the directory. Using a fully qualified path is recommended, but is not always required."
46
+ description: "The path to the directory. Using a fully qualified path is recommended, but is not always required."
46
47
 
47
48
  property :recursive, [ TrueClass, FalseClass ],
48
49
  description: "Create parent directories recursively, or delete directory and all children recursively. For the owner, group, and mode properties, the value of this property applies only to the leaf directory.",
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Joshua Timberman (<jtimberman@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.
@@ -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
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -73,7 +73,7 @@ class Chef
73
73
  desired_state: false
74
74
 
75
75
  property :environment, Hash,
76
- introduced: "18.8",
76
+ introduced: "19.0",
77
77
  description: "A Hash of environment variables in the form of {'ENV_VARIABLE' => 'VALUE'} to be set before running the command.",
78
78
  default: {}, desired_state: false
79
79
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@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
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +22,10 @@ class Chef
22
22
  class Resource
23
23
  class DpkgPackage < Chef::Resource::Package
24
24
 
25
- provides :dpkg_package
25
+ provides :dpkg_package, target_mode: true
26
+ target_mode support: :full,
27
+ introduced: "19.0",
28
+ description: "Does not support the `response_file` property in Target Mode."
26
29
 
27
30
  description "Use the **dpkg_package** resource to manage packages for the dpkg platform. When a package is installed from a local file, it must be added to the node using the **remote_file** or **cookbook_file** resources."
28
31
 
@@ -38,12 +41,12 @@ class Chef
38
41
  default: {}, desired_state: false
39
42
 
40
43
  property :allow_downgrade, [ TrueClass, FalseClass ],
41
- description: "Allow downgrading a package to satisfy requested version requirements.",
42
- default: true,
43
- desired_state: false
44
+ description: "Allow downgrading a package to satisfy requested version requirements.",
45
+ default: true,
46
+ desired_state: false
44
47
 
45
48
  property :environment, Hash,
46
- introduced: "18.8",
49
+ introduced: "19.0",
47
50
  description: "A Hash of environment variables in the form of {'ENV_VARIABLE' => 'VALUE'} to be set before running the command.",
48
51
  default: {}, desired_state: false
49
52
  end
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Adam Edwards (<adamed@chef.io>)
3
3
  #
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
  # Author:: Adam Edwards (<adamed@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
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -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,6 +25,9 @@ class Chef
25
25
  class Execute < Chef::Resource
26
26
 
27
27
  provides :execute, target_mode: true
28
+ target_mode support: :full,
29
+ introduced: "15.1",
30
+ updated: "19.0"
28
31
 
29
32
  description "Use the **execute** resource to execute a single command. Commands that are executed with this resource are (by their nature) not idempotent, as they are typically unique to the environment in which they are run. Use `not_if` and `only_if` to guard this resource for idempotence. Note: Use the **script** resource to execute a script using a specific interpreter (Ruby, Python, Perl, csh, or Bash)."
30
33
 
@@ -574,6 +577,10 @@ class Chef
574
577
  introduced: "17.0",
575
578
  description: "Use a login shell to run the commands instead of inheriting the existing execution environment."
576
579
 
580
+ property :cgroup, [String],
581
+ introduced: "19.0",
582
+ description: "Linux only: Run the command within a specific cgroup, creating it if it doesn't exist."
583
+
577
584
  alias :env :environment
578
585
 
579
586
  def self.set_guard_inherited_attributes(*inherited_attributes)