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
@@ -2,7 +2,7 @@
2
2
  # Author:: Ashwini Nehate (<anehate@chef.io>)
3
3
  # Author:: Davin Taddeo (<davin@chef.io>)
4
4
  # Author:: Jeff Brimager (<jbrimager@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
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
8
8
  # you may not use this file except in compliance with the License.
@@ -51,39 +51,39 @@ class Chef
51
51
  introduced "16.0"
52
52
 
53
53
  examples <<~DOC
54
- **Set Administrator Account to Enabled**:
54
+ **Set Administrator Account to Enabled**:
55
55
 
56
- ```ruby
57
- windows_security_policy 'EnableAdminAccount' do
58
- secvalue '1'
59
- action :set
60
- end
61
- ```
56
+ ```ruby
57
+ windows_security_policy 'EnableAdminAccount' do
58
+ secvalue '1'
59
+ action :set
60
+ end
61
+ ```
62
62
 
63
- **Rename Administrator Account**:
63
+ **Rename Administrator Account**:
64
64
 
65
- ```ruby
66
- windows_security_policy 'NewAdministratorName' do
67
- secvalue 'AwesomeChefGuy'
68
- action :set
69
- end
70
- ```
65
+ ```ruby
66
+ windows_security_policy 'NewAdministratorName' do
67
+ secvalue 'AwesomeChefGuy'
68
+ action :set
69
+ end
70
+ ```
71
71
 
72
- **Set Guest Account to Disabled**:
72
+ **Set Guest Account to Disabled**:
73
73
 
74
- ```ruby
75
- windows_security_policy 'EnableGuestAccount' do
76
- secvalue '0'
77
- action :set
78
- end
79
- ```
74
+ ```ruby
75
+ windows_security_policy 'EnableGuestAccount' do
76
+ secvalue '0'
77
+ action :set
78
+ end
79
+ ```
80
80
  DOC
81
81
 
82
82
  property :secoption, String, name_property: true, required: true, equal_to: policy_names,
83
- description: "The name of the policy to be set on windows platform to maintain its security."
83
+ description: "The name of the policy to be set on windows platform to maintain its security."
84
84
 
85
85
  property :secvalue, String, required: true,
86
- description: "Policy value to be set for policy name."
86
+ description: "Policy value to be set for policy name."
87
87
 
88
88
  load_current_value do |new_resource|
89
89
  current_state = load_security_options
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Bryan McLellan <btm@loftninjas.org>
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");
@@ -39,111 +39,111 @@ class Chef
39
39
  description "Use the **windows_service** resource to create, delete, or manage a service on the Microsoft Windows platform."
40
40
  introduced "12.0"
41
41
  examples <<~DOC
42
- **Starting Services**
43
-
44
- Start a service with a `manual` startup type:
45
-
46
- ```ruby
47
- windows_service 'BITS' do
48
- action :configure_startup
49
- startup_type :manual
50
- end
51
- ```
52
-
53
- **Creating Services**
54
-
55
- Create a service named chef-client:
56
-
57
- ```ruby
58
- windows_service 'chef-client' do
59
- action :create
60
- binary_path_name "C:\\opscode\\chef\\bin"
61
- end
62
- ```
63
-
64
- Create a service with `service_name` and `display_name`:
65
-
66
- ```ruby
67
- windows_service 'Setup chef-client as a service' do
68
- action :create
69
- display_name 'CHEF-CLIENT'
70
- service_name 'chef-client'
71
- binary_path_name "C:\\opscode\\chef\\bin"
72
- end
73
- ```
74
-
75
- Create a service with the `manual` startup type:
76
-
77
- ```ruby
78
- windows_service 'chef-client' do
79
- action :create
80
- binary_path_name "C:\\opscode\\chef\\bin"
81
- startup_type :manual
82
- end
83
- ```
84
-
85
- Create a service with the `disabled` startup type:
86
-
87
- ```ruby
88
- windows_service 'chef-client' do
89
- action :create
90
- binary_path_name "C:\\opscode\\chef\\bin"
91
- startup_type :disabled
92
- end
93
- ```
94
-
95
- Create a service with the `automatic` startup type and delayed start enabled:
96
-
97
- ```ruby
98
- windows_service 'chef-client' do
99
- action :create
100
- binary_path_name "C:\\opscode\\chef\\bin"
101
- startup_type :automatic
102
- delayed_start true
103
- end
104
- ```
105
-
106
- Create a service with a description:
107
-
108
- ```ruby
109
- windows_service 'chef-client' do
110
- action :create
111
- binary_path_name "C:\\opscode\\chef\\bin"
112
- startup_type :automatic
113
- description "Chef client as service"
114
- end
115
- ```
116
-
117
- **Deleting Services**
118
-
119
- Delete a service named chef-client:
120
-
121
- ```ruby
122
- windows_service 'chef-client' do
123
- action :delete
124
- end
125
- ```
126
-
127
- Delete a service with the `service_name` property:
128
-
129
- ```ruby
130
- windows_service 'Delete chef client' do
131
- action :delete
132
- service_name 'chef-client'
133
- end
134
- ```
135
-
136
- **Configuring Services**
137
-
138
- Change an existing service from automatic to manual startup:
139
-
140
- ```ruby
141
- windows_service 'chef-client' do
142
- action :configure
143
- binary_path_name "C:\\opscode\\chef\\bin"
144
- startup_type :manual
145
- end
146
- ```
42
+ **Starting Services**
43
+
44
+ Start a service with a `manual` startup type:
45
+
46
+ ```ruby
47
+ windows_service 'BITS' do
48
+ action :configure_startup
49
+ startup_type :manual
50
+ end
51
+ ```
52
+
53
+ **Creating Services**
54
+
55
+ Create a service named chef-client:
56
+
57
+ ```ruby
58
+ windows_service 'chef-client' do
59
+ action :create
60
+ binary_path_name "C:\\opscode\\chef\\bin"
61
+ end
62
+ ```
63
+
64
+ Create a service with `service_name` and `display_name`:
65
+
66
+ ```ruby
67
+ windows_service 'Setup chef-client as a service' do
68
+ action :create
69
+ display_name 'CHEF-CLIENT'
70
+ service_name 'chef-client'
71
+ binary_path_name "C:\\opscode\\chef\\bin"
72
+ end
73
+ ```
74
+
75
+ Create a service with the `manual` startup type:
76
+
77
+ ```ruby
78
+ windows_service 'chef-client' do
79
+ action :create
80
+ binary_path_name "C:\\opscode\\chef\\bin"
81
+ startup_type :manual
82
+ end
83
+ ```
84
+
85
+ Create a service with the `disabled` startup type:
86
+
87
+ ```ruby
88
+ windows_service 'chef-client' do
89
+ action :create
90
+ binary_path_name "C:\\opscode\\chef\\bin"
91
+ startup_type :disabled
92
+ end
93
+ ```
94
+
95
+ Create a service with the `automatic` startup type and delayed start enabled:
96
+
97
+ ```ruby
98
+ windows_service 'chef-client' do
99
+ action :create
100
+ binary_path_name "C:\\opscode\\chef\\bin"
101
+ startup_type :automatic
102
+ delayed_start true
103
+ end
104
+ ```
105
+
106
+ Create a service with a description:
107
+
108
+ ```ruby
109
+ windows_service 'chef-client' do
110
+ action :create
111
+ binary_path_name "C:\\opscode\\chef\\bin"
112
+ startup_type :automatic
113
+ description "Chef client as service"
114
+ end
115
+ ```
116
+
117
+ **Deleting Services**
118
+
119
+ Delete a service named chef-client:
120
+
121
+ ```ruby
122
+ windows_service 'chef-client' do
123
+ action :delete
124
+ end
125
+ ```
126
+
127
+ Delete a service with the `service_name` property:
128
+
129
+ ```ruby
130
+ windows_service 'Delete chef client' do
131
+ action :delete
132
+ service_name 'chef-client'
133
+ end
134
+ ```
135
+
136
+ **Configuring Services**
137
+
138
+ Change an existing service from automatic to manual startup:
139
+
140
+ ```ruby
141
+ windows_service 'chef-client' do
142
+ action :configure
143
+ binary_path_name "C:\\opscode\\chef\\bin"
144
+ startup_type :manual
145
+ end
146
+ ```
147
147
  DOC
148
148
 
149
149
  allowed_actions :configure_startup, :create, :delete, :configure
@@ -165,7 +165,7 @@ class Chef
165
165
 
166
166
  # https://github.com/chef/win32-service/blob/ffi/lib/win32/windows/constants.rb#L31-L41
167
167
  property :service_type, Integer, default: SERVICE_WIN32_OWN_PROCESS,
168
- introduced: "14.0"
168
+ introduced: "14.0"
169
169
 
170
170
  # Valid options:
171
171
  # - :automatic
@@ -4,7 +4,7 @@
4
4
  # Author:: Tim Smith (tsmith@chef.io)
5
5
  #
6
6
  # Copyright:: 2014-2017, Sölvi Páll Ásgeirsson.
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
  # Licensed under the Apache License, Version 2.0 (the "License");
10
10
  # you may not use this file except in compliance with the License.
@@ -31,24 +31,24 @@ class Chef
31
31
  description "Use the **windows_share** resource to create, modify and remove Windows shares."
32
32
  introduced "14.7"
33
33
  examples <<~DOC
34
- **Create a share**:
35
-
36
- ```ruby
37
- windows_share 'foo' do
38
- action :create
39
- path 'C:\\foo'
40
- full_users ['DOMAIN_A\\some_user', 'DOMAIN_B\\some_other_user']
41
- read_users ['DOMAIN_C\\Domain users']
42
- end
43
- ```
34
+ **Create a share**:
35
+
36
+ ```ruby
37
+ windows_share 'foo' do
38
+ action :create
39
+ path 'C:\\foo'
40
+ full_users ['DOMAIN_A\\some_user', 'DOMAIN_B\\some_other_user']
41
+ read_users ['DOMAIN_C\\Domain users']
42
+ end
43
+ ```
44
44
 
45
- **Delete a share**:
45
+ **Delete a share**:
46
46
 
47
- ```ruby
48
- windows_share 'foo' do
49
- action :delete
50
- end
51
- ```
47
+ ```ruby
48
+ windows_share 'foo' do
49
+ action :delete
50
+ end
51
+ ```
52
52
  DOC
53
53
 
54
54
  # Specifies a name for the SMB share. The name may be composed of any valid file name characters, but must be less than 80 characters long. The names pipe and mailslot are reserved for use by the computer.
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Author:: Doug MacEachern <dougm@vmware.com>
3
3
  # Copyright:: 2010-2018, VMware, Inc.
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.
@@ -27,14 +27,14 @@ class Chef
27
27
  description "Use the **windows_shortcut** resource to create shortcut files on Windows."
28
28
  introduced "14.0"
29
29
  examples <<~DOC
30
- **Create a shortcut with a description**:
30
+ **Create a shortcut with a description**:
31
31
 
32
- ```ruby
33
- windows_shortcut 'C:\\shortcut_dir.lnk' do
34
- target 'C:\\original_dir'
35
- description 'Make a shortcut to C:\\original_dir'
36
- end
37
- ```
32
+ ```ruby
33
+ windows_shortcut 'C:\\shortcut_dir.lnk' do
34
+ target 'C:\\original_dir'
35
+ description 'Make a shortcut to C:\\original_dir'
36
+ end
37
+ ```
38
38
  DOC
39
39
 
40
40
  property :shortcut_name, String,
@@ -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");
@@ -33,118 +33,118 @@ class Chef
33
33
  description "Use the **windows_task** resource to create, delete or run a Windows scheduled task."
34
34
  introduced "13.0"
35
35
  examples <<~DOC
36
- **Create a scheduled task to run every 15 minutes as the Administrator user**:
37
-
38
- ```ruby
39
- windows_task 'chef-client' do
40
- user 'Administrator'
41
- password 'password'
42
- command 'chef-client'
43
- run_level :highest
44
- frequency :minute
45
- frequency_modifier 15
46
- end
47
- ```
36
+ **Create a scheduled task to run every 15 minutes as the Administrator user**:
37
+
38
+ ```ruby
39
+ windows_task 'chef-client' do
40
+ user 'Administrator'
41
+ password 'password'
42
+ command 'chef-client'
43
+ run_level :highest
44
+ frequency :minute
45
+ frequency_modifier 15
46
+ end
47
+ ```
48
48
 
49
- **Create a scheduled task to run every 2 days**:
49
+ **Create a scheduled task to run every 2 days**:
50
50
 
51
- ```ruby
52
- windows_task 'chef-client' do
53
- command 'chef-client'
54
- run_level :highest
55
- frequency :daily
56
- frequency_modifier 2
57
- end
58
- ```
51
+ ```ruby
52
+ windows_task 'chef-client' do
53
+ command 'chef-client'
54
+ run_level :highest
55
+ frequency :daily
56
+ frequency_modifier 2
57
+ end
58
+ ```
59
59
 
60
- **Create a scheduled task to run on specific days of the week**:
60
+ **Create a scheduled task to run on specific days of the week**:
61
61
 
62
- ```ruby
63
- windows_task 'chef-client' do
64
- command 'chef-client'
65
- run_level :highest
66
- frequency :weekly
67
- day 'Mon, Thu'
68
- end
69
- ```
62
+ ```ruby
63
+ windows_task 'chef-client' do
64
+ command 'chef-client'
65
+ run_level :highest
66
+ frequency :weekly
67
+ day 'Mon, Thu'
68
+ end
69
+ ```
70
70
 
71
- **Create a scheduled task to run only once**:
71
+ **Create a scheduled task to run only once**:
72
72
 
73
- ```ruby
74
- windows_task 'chef-client' do
75
- command 'chef-client'
76
- run_level :highest
77
- frequency :once
78
- start_time '16:10'
79
- end
80
- ```
73
+ ```ruby
74
+ windows_task 'chef-client' do
75
+ command 'chef-client'
76
+ run_level :highest
77
+ frequency :once
78
+ start_time '16:10'
79
+ end
80
+ ```
81
81
 
82
- **Create a scheduled task to run on current day every 3 weeks and delay upto 1 min**:
82
+ **Create a scheduled task to run on current day every 3 weeks and delay upto 1 min**:
83
83
 
84
- ```ruby
85
- windows_task 'chef-client' do
86
- command 'chef-client'
87
- run_level :highest
88
- frequency :weekly
89
- frequency_modifier 3
90
- random_delay '60'
91
- end
92
- ```
84
+ ```ruby
85
+ windows_task 'chef-client' do
86
+ command 'chef-client'
87
+ run_level :highest
88
+ frequency :weekly
89
+ frequency_modifier 3
90
+ random_delay '60'
91
+ end
92
+ ```
93
93
 
94
- **Create a scheduled task to run weekly starting on Dec 28th 2018**:
94
+ **Create a scheduled task to run weekly starting on Dec 28th 2018**:
95
95
 
96
- ```ruby
97
- windows_task 'chef-client 8' do
98
- command 'chef-client'
99
- run_level :highest
100
- frequency :weekly
101
- start_day '12/28/2018'
102
- end
103
- ```
96
+ ```ruby
97
+ windows_task 'chef-client 8' do
98
+ command 'chef-client'
99
+ run_level :highest
100
+ frequency :weekly
101
+ start_day '12/28/2018'
102
+ end
103
+ ```
104
104
 
105
- **Create a scheduled task to run every Monday, Friday every 2 weeks**:
105
+ **Create a scheduled task to run every Monday, Friday every 2 weeks**:
106
106
 
107
- ```ruby
108
- windows_task 'chef-client' do
109
- command 'chef-client'
110
- run_level :highest
111
- frequency :weekly
112
- frequency_modifier 2
113
- day 'Mon, Fri'
114
- end
115
- ```
107
+ ```ruby
108
+ windows_task 'chef-client' do
109
+ command 'chef-client'
110
+ run_level :highest
111
+ frequency :weekly
112
+ frequency_modifier 2
113
+ day 'Mon, Fri'
114
+ end
115
+ ```
116
116
 
117
- **Create a scheduled task to run when computer is idle with idle duration 20 min**:
117
+ **Create a scheduled task to run when computer is idle with idle duration 20 min**:
118
118
 
119
- ```ruby
120
- windows_task 'chef-client' do
121
- command 'chef-client'
122
- run_level :highest
123
- frequency :on_idle
124
- idle_time 20
125
- end
126
- ```
119
+ ```ruby
120
+ windows_task 'chef-client' do
121
+ command 'chef-client'
122
+ run_level :highest
123
+ frequency :on_idle
124
+ idle_time 20
125
+ end
126
+ ```
127
127
 
128
- **Delete a task named "old task"**:
129
- ```ruby
130
- windows_task 'old task' do
131
- action :delete
132
- end
133
- ```
128
+ **Delete a task named "old task"**:
129
+ ```ruby
130
+ windows_task 'old task' do
131
+ action :delete
132
+ end
133
+ ```
134
134
 
135
- **Enable a task named "chef-client"**:
136
- ```ruby
137
- windows_task 'chef-client' do
138
- action :enable
139
- end
140
- ```
135
+ **Enable a task named "chef-client"**:
136
+ ```ruby
137
+ windows_task 'chef-client' do
138
+ action :enable
139
+ end
140
+ ```
141
141
 
142
- **Disable a task named "ProgramDataUpdater" with TaskPath "\\Microsoft\\Windows\\Application Experience\\ProgramDataUpdater"**
143
- ```ruby
144
- windows_task '\\Microsoft\\Windows\\Application Experience\\ProgramDataUpdater' do
145
- action :disable
146
- end
147
- ```
142
+ **Disable a task named "ProgramDataUpdater" with TaskPath "\\Microsoft\\Windows\\Application Experience\\ProgramDataUpdater"**
143
+ ```ruby
144
+ windows_task '\\Microsoft\\Windows\\Application Experience\\ProgramDataUpdater' do
145
+ action :disable
146
+ end
147
+ ```
148
148
  DOC
149
149
 
150
150
  allowed_actions :create, :delete, :run, :end, :enable, :disable, :change
@@ -202,13 +202,13 @@ class Chef
202
202
  description: "Specifies the start time to run the task, in **HH:mm** format."
203
203
 
204
204
  property :day, [String, Integer],
205
- description: <<~DOCS
206
- The day(s) on which the task runs.
207
- * Use this property when setting `frequency` to `:monthly` or `:weekly`.
208
- * Valid values with frequency `:weekly` are `MON`-`SUN` or `*`.
209
- * Valid values with frequency `:monthly` are `1-31`, `MON`-`SUN`, and `LASTDAY`.
210
- * Use `MON`-`SUN` or `LASTDAY` if you are setting `frequency_modifier` as "FIRST, SECOND, THIRD etc." else use 1-31.
211
- * Multiple days should be comma separated. e.g `1, 2, 3` or `MON, WED, FRI`.
205
+ description: <<~DOCS
206
+ The day(s) on which the task runs.
207
+ * Use this property when setting `frequency` to `:monthly` or `:weekly`.
208
+ * Valid values with frequency `:weekly` are `MON`-`SUN` or `*`.
209
+ * Valid values with frequency `:monthly` are `1-31`, `MON`-`SUN`, and `LASTDAY`.
210
+ * Use `MON`-`SUN` or `LASTDAY` if you are setting `frequency_modifier` as "FIRST, SECOND, THIRD etc." else use 1-31.
211
+ * Multiple days should be comma separated. e.g `1, 2, 3` or `MON, WED, FRI`.
212
212
  DOCS
213
213
 
214
214
  property :months, String,
@@ -339,7 +339,6 @@ class Chef
339
339
  raise ArgumentError, "Invalid value passed for `random_delay`. Please pass seconds as an Integer (e.g. 60) or a String with numeric values only (e.g. '60')." unless numeric_value_in_string?(random_delay)
340
340
  end
341
341
 
342
- # @todo when we drop ruby 2.3 support this should be converted to .match?() instead of =~f
343
342
  def validate_start_day(start_day, frequency)
344
343
  if start_day && frequency == :none
345
344
  raise ArgumentError, "`start_day` property is not supported with frequency: #{frequency}"
@@ -351,7 +350,6 @@ class Chef
351
350
  end
352
351
  end
353
352
 
354
- # @todo when we drop ruby 2.3 support this should be converted to .match?() instead of =~
355
353
  def validate_start_time(start_time, frequency)
356
354
  if start_time
357
355
  raise ArgumentError, "`start_time` property is not supported with `frequency :none`" if frequency == :none