chef 15.8.23 → 15.12.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1399) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -6
  3. data/README.md +4 -4
  4. data/Rakefile +9 -0
  5. data/chef.gemspec +4 -4
  6. data/lib/chef.rb +1 -1
  7. data/lib/chef/action_collection.rb +1 -1
  8. data/lib/chef/api_client.rb +1 -1
  9. data/lib/chef/api_client/registration.rb +1 -1
  10. data/lib/chef/api_client_v1.rb +1 -1
  11. data/lib/chef/application.rb +2 -2
  12. data/lib/chef/application/apply.rb +2 -2
  13. data/lib/chef/application/base.rb +1 -1
  14. data/lib/chef/application/client.rb +1 -1
  15. data/lib/chef/application/exit_code.rb +3 -3
  16. data/lib/chef/application/knife.rb +1 -1
  17. data/lib/chef/application/solo.rb +2 -2
  18. data/lib/chef/application/windows_service.rb +1 -1
  19. data/lib/chef/application/windows_service_manager.rb +1 -1
  20. data/lib/chef/blacklist.rb +1 -1
  21. data/lib/chef/chef_class.rb +2 -2
  22. data/lib/chef/chef_fs/chef_fs_data_store.rb +5 -5
  23. data/lib/chef/chef_fs/command_line.rb +6 -6
  24. data/lib/chef/chef_fs/config.rb +1 -1
  25. data/lib/chef/chef_fs/file_pattern.rb +1 -1
  26. data/lib/chef/chef_fs/file_system.rb +1 -1
  27. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +1 -1
  28. data/lib/chef/chef_fs/file_system/base_fs_object.rb +1 -1
  29. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +1 -1
  31. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  32. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
  33. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
  35. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +1 -1
  36. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  37. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  38. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +1 -1
  42. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +1 -1
  44. data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +1 -1
  45. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +3 -3
  46. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +1 -1
  47. data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +1 -1
  48. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +2 -2
  49. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
  50. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +1 -1
  51. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  52. data/lib/chef/chef_fs/file_system/exceptions.rb +1 -1
  53. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
  54. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +1 -1
  55. data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
  56. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
  57. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +1 -1
  58. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -1
  59. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +1 -1
  60. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  61. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  62. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +1 -1
  63. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -1
  64. data/lib/chef/chef_fs/file_system/repository/client.rb +1 -1
  65. data/lib/chef/chef_fs/file_system/repository/client_key.rb +1 -1
  66. data/lib/chef/chef_fs/file_system/repository/client_keys_dir.rb +1 -1
  67. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +1 -1
  68. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +1 -1
  69. data/lib/chef/chef_fs/file_system/repository/container.rb +1 -1
  70. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +1 -1
  71. data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +1 -1
  72. data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +1 -1
  73. data/lib/chef/chef_fs/file_system/repository/data_bag.rb +1 -1
  74. data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +1 -1
  75. data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +1 -1
  76. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  77. data/lib/chef/chef_fs/file_system/repository/environment.rb +1 -1
  78. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +1 -1
  79. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  80. data/lib/chef/chef_fs/file_system/repository/group.rb +1 -1
  81. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +1 -1
  82. data/lib/chef/chef_fs/file_system/repository/node.rb +1 -1
  83. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +1 -1
  84. data/lib/chef/chef_fs/file_system/repository/policies_dir.rb +1 -1
  85. data/lib/chef/chef_fs/file_system/repository/policy.rb +1 -1
  86. data/lib/chef/chef_fs/file_system/repository/policy_group.rb +1 -1
  87. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +1 -1
  88. data/lib/chef/chef_fs/file_system/repository/role.rb +1 -1
  89. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +1 -1
  90. data/lib/chef/chef_fs/file_system/repository/user.rb +1 -1
  91. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +1 -1
  92. data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +1 -1
  93. data/lib/chef/chef_fs/file_system_cache.rb +1 -1
  94. data/lib/chef/chef_fs/knife.rb +1 -1
  95. data/lib/chef/chef_fs/path_utils.rb +5 -5
  96. data/lib/chef/client.rb +10 -1
  97. data/lib/chef/config.rb +2 -2
  98. data/lib/chef/constants.rb +1 -1
  99. data/lib/chef/cookbook/chefignore.rb +1 -1
  100. data/lib/chef/cookbook/cookbook_collection.rb +1 -1
  101. data/lib/chef/cookbook/cookbook_version_loader.rb +2 -2
  102. data/lib/chef/cookbook/file_system_file_vendor.rb +2 -2
  103. data/lib/chef/cookbook/file_vendor.rb +1 -1
  104. data/lib/chef/cookbook/gem_installer.rb +1 -1
  105. data/lib/chef/cookbook/manifest_v0.rb +1 -1
  106. data/lib/chef/cookbook/manifest_v2.rb +1 -1
  107. data/lib/chef/cookbook/metadata.rb +8 -7
  108. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  109. data/lib/chef/cookbook/synchronizer.rb +1 -0
  110. data/lib/chef/cookbook/syntax_check.rb +1 -1
  111. data/lib/chef/cookbook_loader.rb +2 -2
  112. data/lib/chef/cookbook_manifest.rb +1 -1
  113. data/lib/chef/cookbook_site_streaming_uploader.rb +2 -2
  114. data/lib/chef/cookbook_version.rb +7 -7
  115. data/lib/chef/daemon.rb +1 -1
  116. data/lib/chef/data_bag.rb +3 -3
  117. data/lib/chef/data_bag_item.rb +1 -1
  118. data/lib/chef/data_collector.rb +2 -2
  119. data/lib/chef/data_collector/config_validation.rb +9 -9
  120. data/lib/chef/data_collector/error_handlers.rb +3 -3
  121. data/lib/chef/data_collector/message_helpers.rb +1 -1
  122. data/lib/chef/data_collector/run_end_message.rb +1 -1
  123. data/lib/chef/data_collector/run_start_message.rb +1 -1
  124. data/lib/chef/decorator.rb +1 -1
  125. data/lib/chef/decorator/lazy.rb +1 -1
  126. data/lib/chef/decorator/lazy_array.rb +1 -1
  127. data/lib/chef/delayed_evaluator.rb +1 -1
  128. data/lib/chef/deprecated.rb +15 -7
  129. data/lib/chef/deprecation/warnings.rb +1 -1
  130. data/lib/chef/digester.rb +1 -1
  131. data/lib/chef/dsl/cheffish.rb +1 -1
  132. data/lib/chef/dsl/core.rb +1 -1
  133. data/lib/chef/dsl/data_query.rb +1 -1
  134. data/lib/chef/dsl/declare_resource.rb +2 -2
  135. data/lib/chef/dsl/include_attribute.rb +1 -1
  136. data/lib/chef/dsl/include_recipe.rb +1 -1
  137. data/lib/chef/dsl/platform_introspection.rb +6 -4
  138. data/lib/chef/dsl/powershell.rb +1 -1
  139. data/lib/chef/dsl/reboot_pending.rb +4 -4
  140. data/lib/chef/dsl/recipe.rb +1 -1
  141. data/lib/chef/dsl/registry_helper.rb +1 -1
  142. data/lib/chef/dsl/resources.rb +1 -1
  143. data/lib/chef/dsl/universal.rb +1 -1
  144. data/lib/chef/encrypted_data_bag_item.rb +1 -1
  145. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  146. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +1 -1
  147. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  148. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  149. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +1 -1
  150. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +1 -1
  151. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +1 -1
  152. data/lib/chef/environment.rb +1 -1
  153. data/lib/chef/event_loggers/base.rb +1 -1
  154. data/lib/chef/event_loggers/windows_eventlog.rb +1 -1
  155. data/lib/chef/exceptions.rb +3 -3
  156. data/lib/chef/file_access_control.rb +1 -1
  157. data/lib/chef/file_access_control/unix.rb +1 -1
  158. data/lib/chef/file_access_control/windows.rb +1 -1
  159. data/lib/chef/file_cache.rb +1 -1
  160. data/lib/chef/file_content_management/content_base.rb +1 -1
  161. data/lib/chef/file_content_management/deploy.rb +1 -1
  162. data/lib/chef/file_content_management/deploy/cp.rb +1 -1
  163. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  164. data/lib/chef/file_content_management/deploy/mv_windows.rb +1 -1
  165. data/lib/chef/file_content_management/tempfile.rb +1 -1
  166. data/lib/chef/formatters/base.rb +2 -2
  167. data/lib/chef/formatters/error_description.rb +1 -1
  168. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +1 -1
  169. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  170. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +1 -1
  171. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +1 -1
  172. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
  173. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
  174. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
  175. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +1 -1
  176. data/lib/chef/formatters/error_mapper.rb +1 -1
  177. data/lib/chef/guard_interpreter.rb +1 -1
  178. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +1 -1
  179. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -2
  180. data/lib/chef/handler.rb +1 -1
  181. data/lib/chef/handler/error_report.rb +1 -1
  182. data/lib/chef/handler/json_file.rb +1 -1
  183. data/lib/chef/http.rb +1 -1
  184. data/lib/chef/http/api_versions.rb +1 -1
  185. data/lib/chef/http/auth_credentials.rb +1 -1
  186. data/lib/chef/http/authenticator.rb +1 -1
  187. data/lib/chef/http/basic_client.rb +1 -1
  188. data/lib/chef/http/cookie_jar.rb +1 -1
  189. data/lib/chef/http/cookie_manager.rb +1 -1
  190. data/lib/chef/http/decompressor.rb +1 -1
  191. data/lib/chef/http/http_request.rb +1 -1
  192. data/lib/chef/http/json_input.rb +1 -1
  193. data/lib/chef/http/json_output.rb +2 -2
  194. data/lib/chef/http/json_to_model_output.rb +1 -1
  195. data/lib/chef/http/remote_request_id.rb +1 -1
  196. data/lib/chef/http/simple.rb +1 -1
  197. data/lib/chef/http/simple_json.rb +1 -1
  198. data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
  199. data/lib/chef/http/ssl_policies.rb +1 -1
  200. data/lib/chef/http/validate_content_length.rb +1 -1
  201. data/lib/chef/json_compat.rb +1 -1
  202. data/lib/chef/key.rb +1 -1
  203. data/lib/chef/knife.rb +30 -24
  204. data/lib/chef/knife/bootstrap.rb +42 -34
  205. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +13 -9
  206. data/lib/chef/knife/bootstrap/client_builder.rb +24 -20
  207. data/lib/chef/knife/bootstrap/templates/README.md +2 -2
  208. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +5 -3
  209. data/lib/chef/knife/bootstrap/train_connector.rb +2 -2
  210. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  211. data/lib/chef/knife/client_create.rb +1 -1
  212. data/lib/chef/knife/client_delete.rb +1 -1
  213. data/lib/chef/knife/client_edit.rb +1 -1
  214. data/lib/chef/knife/client_key_create.rb +1 -1
  215. data/lib/chef/knife/client_key_delete.rb +1 -1
  216. data/lib/chef/knife/client_key_edit.rb +1 -1
  217. data/lib/chef/knife/client_key_list.rb +1 -1
  218. data/lib/chef/knife/client_key_show.rb +1 -1
  219. data/lib/chef/knife/client_list.rb +1 -1
  220. data/lib/chef/knife/client_reregister.rb +1 -1
  221. data/lib/chef/knife/client_show.rb +1 -1
  222. data/lib/chef/knife/configure.rb +1 -1
  223. data/lib/chef/knife/configure_client.rb +1 -1
  224. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  225. data/lib/chef/knife/cookbook_delete.rb +1 -1
  226. data/lib/chef/knife/cookbook_download.rb +1 -1
  227. data/lib/chef/knife/cookbook_list.rb +1 -1
  228. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  229. data/lib/chef/knife/cookbook_metadata_from_file.rb +1 -1
  230. data/lib/chef/knife/cookbook_show.rb +1 -1
  231. data/lib/chef/knife/cookbook_site_download.rb +1 -1
  232. data/lib/chef/knife/cookbook_site_install.rb +1 -1
  233. data/lib/chef/knife/cookbook_site_list.rb +1 -1
  234. data/lib/chef/knife/cookbook_site_search.rb +2 -2
  235. data/lib/chef/knife/cookbook_site_share.rb +1 -1
  236. data/lib/chef/knife/cookbook_site_show.rb +2 -2
  237. data/lib/chef/knife/cookbook_site_unshare.rb +2 -2
  238. data/lib/chef/knife/cookbook_upload.rb +1 -1
  239. data/lib/chef/knife/core/bootstrap_context.rb +4 -2
  240. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  241. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  242. data/lib/chef/knife/core/generic_presenter.rb +2 -2
  243. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  244. data/lib/chef/knife/core/node_editor.rb +1 -1
  245. data/lib/chef/knife/core/node_presenter.rb +1 -1
  246. data/lib/chef/knife/core/object_loader.rb +1 -1
  247. data/lib/chef/knife/core/status_presenter.rb +1 -1
  248. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  249. data/lib/chef/knife/core/text_formatter.rb +1 -1
  250. data/lib/chef/knife/core/ui.rb +2 -2
  251. data/lib/chef/knife/core/windows_bootstrap_context.rb +25 -10
  252. data/lib/chef/knife/data_bag_create.rb +1 -1
  253. data/lib/chef/knife/data_bag_delete.rb +1 -1
  254. data/lib/chef/knife/data_bag_edit.rb +3 -3
  255. data/lib/chef/knife/data_bag_from_file.rb +1 -1
  256. data/lib/chef/knife/data_bag_list.rb +1 -1
  257. data/lib/chef/knife/data_bag_secret_options.rb +1 -1
  258. data/lib/chef/knife/data_bag_show.rb +1 -1
  259. data/lib/chef/knife/edit.rb +1 -1
  260. data/lib/chef/knife/environment_compare.rb +1 -1
  261. data/lib/chef/knife/environment_create.rb +1 -1
  262. data/lib/chef/knife/environment_delete.rb +1 -1
  263. data/lib/chef/knife/environment_edit.rb +1 -1
  264. data/lib/chef/knife/environment_from_file.rb +1 -1
  265. data/lib/chef/knife/environment_list.rb +1 -1
  266. data/lib/chef/knife/environment_show.rb +1 -1
  267. data/lib/chef/knife/exec.rb +1 -1
  268. data/lib/chef/knife/key_create.rb +1 -1
  269. data/lib/chef/knife/key_create_base.rb +1 -1
  270. data/lib/chef/knife/key_delete.rb +1 -1
  271. data/lib/chef/knife/key_edit.rb +1 -1
  272. data/lib/chef/knife/key_edit_base.rb +1 -1
  273. data/lib/chef/knife/key_list.rb +1 -1
  274. data/lib/chef/knife/key_list_base.rb +1 -1
  275. data/lib/chef/knife/key_show.rb +1 -1
  276. data/lib/chef/knife/list.rb +1 -1
  277. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  278. data/lib/chef/knife/node_create.rb +1 -1
  279. data/lib/chef/knife/node_delete.rb +1 -1
  280. data/lib/chef/knife/node_edit.rb +1 -1
  281. data/lib/chef/knife/node_from_file.rb +1 -1
  282. data/lib/chef/knife/node_list.rb +1 -1
  283. data/lib/chef/knife/node_policy_set.rb +1 -1
  284. data/lib/chef/knife/node_run_list_add.rb +1 -1
  285. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  286. data/lib/chef/knife/node_show.rb +1 -1
  287. data/lib/chef/knife/recipe_list.rb +1 -1
  288. data/lib/chef/knife/rehash.rb +1 -1
  289. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  290. data/lib/chef/knife/role_create.rb +1 -1
  291. data/lib/chef/knife/role_delete.rb +1 -1
  292. data/lib/chef/knife/role_edit.rb +1 -1
  293. data/lib/chef/knife/role_env_run_list_add.rb +1 -1
  294. data/lib/chef/knife/role_env_run_list_remove.rb +1 -1
  295. data/lib/chef/knife/role_env_run_list_replace.rb +1 -1
  296. data/lib/chef/knife/role_env_run_list_set.rb +1 -1
  297. data/lib/chef/knife/role_from_file.rb +1 -1
  298. data/lib/chef/knife/role_list.rb +1 -1
  299. data/lib/chef/knife/role_run_list_add.rb +1 -1
  300. data/lib/chef/knife/role_run_list_remove.rb +1 -1
  301. data/lib/chef/knife/role_run_list_replace.rb +1 -1
  302. data/lib/chef/knife/role_show.rb +1 -1
  303. data/lib/chef/knife/search.rb +1 -1
  304. data/lib/chef/knife/ssh.rb +3 -3
  305. data/lib/chef/knife/ssl_check.rb +1 -1
  306. data/lib/chef/knife/ssl_fetch.rb +3 -3
  307. data/lib/chef/knife/supermarket_download.rb +1 -1
  308. data/lib/chef/knife/supermarket_install.rb +1 -1
  309. data/lib/chef/knife/supermarket_list.rb +1 -1
  310. data/lib/chef/knife/supermarket_search.rb +1 -1
  311. data/lib/chef/knife/supermarket_share.rb +1 -1
  312. data/lib/chef/knife/supermarket_show.rb +1 -1
  313. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  314. data/lib/chef/knife/user_create.rb +1 -1
  315. data/lib/chef/knife/user_delete.rb +1 -1
  316. data/lib/chef/knife/user_edit.rb +1 -1
  317. data/lib/chef/knife/user_key_create.rb +1 -1
  318. data/lib/chef/knife/user_key_delete.rb +1 -1
  319. data/lib/chef/knife/user_key_edit.rb +1 -1
  320. data/lib/chef/knife/user_key_list.rb +1 -1
  321. data/lib/chef/knife/user_key_show.rb +1 -1
  322. data/lib/chef/knife/user_list.rb +1 -1
  323. data/lib/chef/knife/user_reregister.rb +1 -1
  324. data/lib/chef/knife/user_show.rb +1 -1
  325. data/lib/chef/local_mode.rb +1 -1
  326. data/lib/chef/log.rb +1 -1
  327. data/lib/chef/log/syslog.rb +1 -1
  328. data/lib/chef/log/winevt.rb +1 -1
  329. data/lib/chef/mash.rb +1 -1
  330. data/lib/chef/mixin/api_version_request_handling.rb +5 -5
  331. data/lib/chef/mixin/checksum.rb +1 -1
  332. data/lib/chef/mixin/convert_to_class_name.rb +1 -1
  333. data/lib/chef/mixin/create_path.rb +9 -9
  334. data/lib/chef/mixin/deep_merge.rb +1 -1
  335. data/lib/chef/mixin/deprecation.rb +1 -1
  336. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +1 -1
  337. data/lib/chef/mixin/file_class.rb +1 -1
  338. data/lib/chef/mixin/from_file.rb +1 -1
  339. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  340. data/lib/chef/mixin/homebrew_user.rb +2 -2
  341. data/lib/chef/mixin/lazy_module_include.rb +1 -1
  342. data/lib/chef/mixin/notifying_block.rb +1 -1
  343. data/lib/chef/mixin/openssl_helper.rb +3 -3
  344. data/lib/chef/mixin/params_validate.rb +1 -1
  345. data/lib/chef/mixin/path_sanity.rb +1 -1
  346. data/lib/chef/mixin/powershell_exec.rb +1 -1
  347. data/lib/chef/mixin/powershell_out.rb +1 -1
  348. data/lib/chef/mixin/powershell_type_coercions.rb +1 -1
  349. data/lib/chef/mixin/proxified_socket.rb +1 -1
  350. data/lib/chef/mixin/securable.rb +6 -6
  351. data/lib/chef/mixin/shell_out.rb +2 -2
  352. data/lib/chef/mixin/subclass_directive.rb +1 -1
  353. data/lib/chef/mixin/template.rb +1 -1
  354. data/lib/chef/mixin/unformatter.rb +1 -1
  355. data/lib/chef/mixin/uris.rb +1 -1
  356. data/lib/chef/mixin/user_context.rb +1 -1
  357. data/lib/chef/mixin/versioned_api.rb +1 -1
  358. data/lib/chef/mixin/which.rb +1 -1
  359. data/lib/chef/mixin/why_run.rb +1 -1
  360. data/lib/chef/mixin/wide_string.rb +1 -1
  361. data/lib/chef/mixin/windows_architecture_helper.rb +1 -1
  362. data/lib/chef/mixin/windows_env_helper.rb +1 -1
  363. data/lib/chef/mixin/xml_escape.rb +1 -1
  364. data/lib/chef/monkey_patches/win32/registry.rb +1 -1
  365. data/lib/chef/node.rb +1 -1
  366. data/lib/chef/node/attribute.rb +1 -1
  367. data/lib/chef/node/attribute_collections.rb +1 -1
  368. data/lib/chef/node/common_api.rb +1 -1
  369. data/lib/chef/node/immutable_collections.rb +1 -1
  370. data/lib/chef/node/mixin/deep_merge_cache.rb +8 -8
  371. data/lib/chef/node/mixin/immutablize_array.rb +1 -1
  372. data/lib/chef/node/mixin/immutablize_hash.rb +1 -1
  373. data/lib/chef/node/mixin/mashy_array.rb +1 -1
  374. data/lib/chef/node/mixin/state_tracking.rb +1 -1
  375. data/lib/chef/node_map.rb +1 -1
  376. data/lib/chef/null_logger.rb +1 -1
  377. data/lib/chef/org.rb +1 -1
  378. data/lib/chef/platform.rb +1 -1
  379. data/lib/chef/platform/priority_map.rb +1 -1
  380. data/lib/chef/platform/provider_handler_map.rb +1 -1
  381. data/lib/chef/platform/provider_mapping.rb +1 -1
  382. data/lib/chef/platform/query_helpers.rb +1 -1
  383. data/lib/chef/platform/resource_handler_map.rb +1 -1
  384. data/lib/chef/platform/service_helpers.rb +1 -1
  385. data/lib/chef/policy_builder.rb +1 -1
  386. data/lib/chef/policy_builder/dynamic.rb +1 -1
  387. data/lib/chef/policy_builder/expand_node_object.rb +1 -1
  388. data/lib/chef/policy_builder/policyfile.rb +1 -1
  389. data/lib/chef/powershell.rb +1 -1
  390. data/lib/chef/property.rb +2 -2
  391. data/lib/chef/provider.rb +1 -1
  392. data/lib/chef/provider/apt_preference.rb +1 -1
  393. data/lib/chef/provider/apt_repository.rb +1 -1
  394. data/lib/chef/provider/apt_update.rb +1 -1
  395. data/lib/chef/provider/batch.rb +1 -1
  396. data/lib/chef/provider/cookbook_file.rb +1 -1
  397. data/lib/chef/provider/cookbook_file/content.rb +1 -1
  398. data/lib/chef/provider/cron/aix.rb +1 -1
  399. data/lib/chef/provider/cron/solaris.rb +1 -1
  400. data/lib/chef/provider/directory.rb +1 -1
  401. data/lib/chef/provider/dsc_resource.rb +1 -1
  402. data/lib/chef/provider/dsc_script.rb +1 -1
  403. data/lib/chef/provider/execute.rb +1 -1
  404. data/lib/chef/provider/file.rb +1 -1
  405. data/lib/chef/provider/file/content.rb +1 -1
  406. data/lib/chef/provider/git.rb +1 -1
  407. data/lib/chef/provider/group.rb +1 -1
  408. data/lib/chef/provider/group/dscl.rb +1 -1
  409. data/lib/chef/provider/group/gpasswd.rb +1 -1
  410. data/lib/chef/provider/group/groupadd.rb +1 -1
  411. data/lib/chef/provider/group/groupmod.rb +1 -1
  412. data/lib/chef/provider/group/pw.rb +2 -2
  413. data/lib/chef/provider/group/solaris.rb +1 -1
  414. data/lib/chef/provider/group/suse.rb +1 -1
  415. data/lib/chef/provider/group/usermod.rb +2 -5
  416. data/lib/chef/provider/http_request.rb +1 -1
  417. data/lib/chef/provider/ifconfig/aix.rb +1 -1
  418. data/lib/chef/provider/link.rb +1 -1
  419. data/lib/chef/provider/log.rb +1 -1
  420. data/lib/chef/provider/lwrp_base.rb +1 -1
  421. data/lib/chef/provider/mount.rb +1 -1
  422. data/lib/chef/provider/mount/aix.rb +1 -1
  423. data/lib/chef/provider/mount/mount.rb +2 -2
  424. data/lib/chef/provider/mount/solaris.rb +1 -1
  425. data/lib/chef/provider/noop.rb +1 -1
  426. data/lib/chef/provider/package.rb +2 -2
  427. data/lib/chef/provider/package/apt.rb +1 -1
  428. data/lib/chef/provider/package/bff.rb +1 -1
  429. data/lib/chef/provider/package/cab.rb +2 -2
  430. data/lib/chef/provider/package/chocolatey.rb +5 -4
  431. data/lib/chef/provider/package/deb.rb +1 -1
  432. data/lib/chef/provider/package/dnf.rb +1 -1
  433. data/lib/chef/provider/package/dnf/python_helper.rb +1 -1
  434. data/lib/chef/provider/package/dnf/version.rb +1 -1
  435. data/lib/chef/provider/package/homebrew.rb +1 -2
  436. data/lib/chef/provider/package/ips.rb +1 -1
  437. data/lib/chef/provider/package/msu.rb +2 -1
  438. data/lib/chef/provider/package/paludis.rb +1 -1
  439. data/lib/chef/provider/package/portage.rb +1 -1
  440. data/lib/chef/provider/package/powershell.rb +6 -2
  441. data/lib/chef/provider/package/rpm.rb +1 -1
  442. data/lib/chef/provider/package/rubygems.rb +3 -3
  443. data/lib/chef/provider/package/snap.rb +97 -28
  444. data/lib/chef/provider/package/solaris.rb +1 -1
  445. data/lib/chef/provider/package/windows.rb +1 -1
  446. data/lib/chef/provider/package/windows/exe.rb +1 -1
  447. data/lib/chef/provider/package/windows/msi.rb +1 -1
  448. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  449. data/lib/chef/provider/package/yum.rb +1 -1
  450. data/lib/chef/provider/package/yum/python_helper.rb +3 -3
  451. data/lib/chef/provider/package/yum/rpm_utils.rb +6 -6
  452. data/lib/chef/provider/package/yum/version.rb +1 -1
  453. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  454. data/lib/chef/provider/package/zypper.rb +3 -2
  455. data/lib/chef/provider/powershell_script.rb +2 -2
  456. data/lib/chef/provider/registry_key.rb +2 -2
  457. data/lib/chef/provider/remote_directory.rb +1 -1
  458. data/lib/chef/provider/remote_file.rb +2 -2
  459. data/lib/chef/provider/remote_file/cache_control_data.rb +1 -1
  460. data/lib/chef/provider/remote_file/content.rb +1 -1
  461. data/lib/chef/provider/remote_file/fetcher.rb +1 -1
  462. data/lib/chef/provider/route.rb +4 -4
  463. data/lib/chef/provider/ruby_block.rb +1 -1
  464. data/lib/chef/provider/script.rb +1 -1
  465. data/lib/chef/provider/service.rb +1 -1
  466. data/lib/chef/provider/service/aix.rb +1 -1
  467. data/lib/chef/provider/service/aixinit.rb +1 -1
  468. data/lib/chef/provider/service/debian.rb +1 -1
  469. data/lib/chef/provider/service/freebsd.rb +1 -1
  470. data/lib/chef/provider/service/gentoo.rb +1 -1
  471. data/lib/chef/provider/service/init.rb +1 -1
  472. data/lib/chef/provider/service/insserv.rb +1 -1
  473. data/lib/chef/provider/service/invokercd.rb +1 -1
  474. data/lib/chef/provider/service/redhat.rb +1 -1
  475. data/lib/chef/provider/service/simple.rb +3 -3
  476. data/lib/chef/provider/service/solaris.rb +1 -1
  477. data/lib/chef/provider/service/systemd.rb +1 -1
  478. data/lib/chef/provider/service/windows.rb +1 -1
  479. data/lib/chef/provider/subversion.rb +1 -1
  480. data/lib/chef/provider/systemd_unit.rb +1 -0
  481. data/lib/chef/provider/template.rb +1 -1
  482. data/lib/chef/provider/template/content.rb +1 -1
  483. data/lib/chef/provider/template_finder.rb +1 -1
  484. data/lib/chef/provider/user.rb +1 -1
  485. data/lib/chef/provider/user/aix.rb +1 -1
  486. data/lib/chef/provider/user/dscl.rb +1 -1
  487. data/lib/chef/provider/user/linux.rb +1 -1
  488. data/lib/chef/provider/user/mac.rb +2 -2
  489. data/lib/chef/provider/user/pw.rb +1 -1
  490. data/lib/chef/provider/user/solaris.rb +2 -2
  491. data/lib/chef/provider/windows_env.rb +3 -3
  492. data/lib/chef/provider/windows_path.rb +1 -1
  493. data/lib/chef/provider/windows_script.rb +1 -1
  494. data/lib/chef/provider/windows_task.rb +5 -5
  495. data/lib/chef/provider/yum_repository.rb +1 -1
  496. data/lib/chef/provider/zypper_repository.rb +31 -11
  497. data/lib/chef/providers.rb +1 -1
  498. data/lib/chef/recipe.rb +1 -1
  499. data/lib/chef/request_id.rb +1 -1
  500. data/lib/chef/resource.rb +10 -5
  501. data/lib/chef/resource/action_class.rb +1 -1
  502. data/lib/chef/resource/apt_package.rb +1 -1
  503. data/lib/chef/resource/apt_preference.rb +1 -1
  504. data/lib/chef/resource/apt_repository.rb +1 -1
  505. data/lib/chef/resource/apt_update.rb +1 -1
  506. data/lib/chef/resource/archive_file.rb +29 -9
  507. data/lib/chef/resource/bash.rb +1 -1
  508. data/lib/chef/resource/batch.rb +1 -1
  509. data/lib/chef/resource/bff_package.rb +1 -1
  510. data/lib/chef/resource/breakpoint.rb +1 -1
  511. data/lib/chef/resource/build_essential.rb +48 -24
  512. data/lib/chef/resource/cab_package.rb +1 -1
  513. data/lib/chef/resource/chef_gem.rb +1 -1
  514. data/lib/chef/resource/chef_handler.rb +1 -1
  515. data/lib/chef/resource/chef_sleep.rb +1 -1
  516. data/lib/chef/resource/chocolatey_config.rb +1 -1
  517. data/lib/chef/resource/chocolatey_feature.rb +1 -1
  518. data/lib/chef/resource/chocolatey_package.rb +1 -1
  519. data/lib/chef/resource/chocolatey_source.rb +1 -1
  520. data/lib/chef/resource/conditional.rb +1 -1
  521. data/lib/chef/resource/cookbook_file.rb +1 -1
  522. data/lib/chef/resource/cron.rb +1 -1
  523. data/lib/chef/resource/cron_access.rb +12 -4
  524. data/lib/chef/resource/cron_d.rb +2 -2
  525. data/lib/chef/resource/csh.rb +1 -1
  526. data/lib/chef/resource/directory.rb +1 -1
  527. data/lib/chef/resource/dmg_package.rb +1 -1
  528. data/lib/chef/resource/dnf_package.rb +1 -1
  529. data/lib/chef/resource/dpkg_package.rb +1 -1
  530. data/lib/chef/resource/dsc_resource.rb +1 -1
  531. data/lib/chef/resource/dsc_script.rb +1 -1
  532. data/lib/chef/resource/execute.rb +2 -2
  533. data/lib/chef/resource/file.rb +1 -1
  534. data/lib/chef/resource/file/verification.rb +2 -2
  535. data/lib/chef/resource/file/verification/systemd_unit.rb +1 -1
  536. data/lib/chef/resource/freebsd_package.rb +1 -4
  537. data/lib/chef/resource/gem_package.rb +1 -1
  538. data/lib/chef/resource/git.rb +1 -1
  539. data/lib/chef/resource/group.rb +1 -1
  540. data/lib/chef/resource/homebrew_cask.rb +1 -1
  541. data/lib/chef/resource/homebrew_package.rb +1 -2
  542. data/lib/chef/resource/homebrew_tap.rb +1 -1
  543. data/lib/chef/resource/hostname.rb +5 -4
  544. data/lib/chef/resource/http_request.rb +1 -1
  545. data/lib/chef/resource/ips_package.rb +1 -1
  546. data/lib/chef/resource/kernel_module.rb +3 -2
  547. data/lib/chef/resource/ksh.rb +1 -1
  548. data/lib/chef/resource/launchd.rb +4 -4
  549. data/lib/chef/resource/link.rb +1 -1
  550. data/lib/chef/resource/locale.rb +1 -1
  551. data/lib/chef/resource/log.rb +1 -1
  552. data/lib/chef/resource/lwrp_base.rb +1 -1
  553. data/lib/chef/resource/macos_userdefaults.rb +4 -4
  554. data/lib/chef/resource/macports_package.rb +1 -1
  555. data/lib/chef/resource/mount.rb +1 -1
  556. data/lib/chef/resource/msu_package.rb +6 -1
  557. data/lib/chef/resource/notify_group.rb +1 -1
  558. data/lib/chef/resource/ohai_hint.rb +1 -1
  559. data/lib/chef/resource/openbsd_package.rb +1 -4
  560. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  561. data/lib/chef/resource/openssl_ec_private_key.rb +1 -1
  562. data/lib/chef/resource/openssl_ec_public_key.rb +1 -1
  563. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  564. data/lib/chef/resource/openssl_rsa_public_key.rb +1 -1
  565. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  566. data/lib/chef/resource/openssl_x509_crl.rb +1 -1
  567. data/lib/chef/resource/openssl_x509_request.rb +1 -1
  568. data/lib/chef/resource/package.rb +1 -1
  569. data/lib/chef/resource/paludis_package.rb +1 -1
  570. data/lib/chef/resource/perl.rb +1 -1
  571. data/lib/chef/resource/portage_package.rb +1 -1
  572. data/lib/chef/resource/powershell_package.rb +1 -1
  573. data/lib/chef/resource/powershell_script.rb +2 -2
  574. data/lib/chef/resource/python.rb +1 -1
  575. data/lib/chef/resource/registry_key.rb +1 -1
  576. data/lib/chef/resource/remote_directory.rb +1 -1
  577. data/lib/chef/resource/remote_file.rb +2 -2
  578. data/lib/chef/resource/resource_notification.rb +1 -1
  579. data/lib/chef/resource/rhsm_errata.rb +9 -2
  580. data/lib/chef/resource/rhsm_errata_level.rb +11 -5
  581. data/lib/chef/resource/rhsm_register.rb +27 -12
  582. data/lib/chef/resource/rhsm_repo.rb +1 -1
  583. data/lib/chef/resource/rhsm_subscription.rb +1 -1
  584. data/lib/chef/resource/ruby.rb +1 -1
  585. data/lib/chef/resource/ruby_block.rb +1 -1
  586. data/lib/chef/resource/scm.rb +1 -1
  587. data/lib/chef/resource/script.rb +1 -1
  588. data/lib/chef/resource/service.rb +1 -1
  589. data/lib/chef/resource/smartos_package.rb +1 -1
  590. data/lib/chef/resource/snap_package.rb +1 -1
  591. data/lib/chef/resource/solaris_package.rb +1 -1
  592. data/lib/chef/resource/ssh_known_hosts_entry.rb +1 -1
  593. data/lib/chef/resource/subversion.rb +1 -1
  594. data/lib/chef/resource/sudo.rb +2 -2
  595. data/lib/chef/resource/swap_file.rb +2 -2
  596. data/lib/chef/resource/sysctl.rb +1 -1
  597. data/lib/chef/resource/template.rb +1 -1
  598. data/lib/chef/resource/timezone.rb +3 -3
  599. data/lib/chef/resource/user.rb +1 -1
  600. data/lib/chef/resource/user/aix_user.rb +1 -1
  601. data/lib/chef/resource/user/dscl_user.rb +1 -1
  602. data/lib/chef/resource/user/linux_user.rb +1 -1
  603. data/lib/chef/resource/user/mac_user.rb +1 -1
  604. data/lib/chef/resource/user/pw_user.rb +1 -1
  605. data/lib/chef/resource/user/solaris_user.rb +1 -1
  606. data/lib/chef/resource/user/windows_user.rb +1 -1
  607. data/lib/chef/resource/windows_auto_run.rb +1 -1
  608. data/lib/chef/resource/windows_certificate.rb +2 -4
  609. data/lib/chef/resource/windows_dfs_folder.rb +1 -1
  610. data/lib/chef/resource/windows_dfs_namespace.rb +1 -1
  611. data/lib/chef/resource/windows_dfs_server.rb +2 -2
  612. data/lib/chef/resource/windows_dns_record.rb +1 -1
  613. data/lib/chef/resource/windows_dns_zone.rb +1 -1
  614. data/lib/chef/resource/windows_feature.rb +1 -1
  615. data/lib/chef/resource/windows_feature_dism.rb +1 -1
  616. data/lib/chef/resource/windows_feature_powershell.rb +1 -1
  617. data/lib/chef/resource/windows_firewall_rule.rb +9 -5
  618. data/lib/chef/resource/windows_font.rb +1 -1
  619. data/lib/chef/resource/windows_package.rb +1 -1
  620. data/lib/chef/resource/windows_pagefile.rb +1 -1
  621. data/lib/chef/resource/windows_path.rb +1 -1
  622. data/lib/chef/resource/windows_script.rb +1 -1
  623. data/lib/chef/resource/windows_service.rb +1 -1
  624. data/lib/chef/resource/windows_share.rb +6 -6
  625. data/lib/chef/resource/windows_shortcut.rb +1 -1
  626. data/lib/chef/resource/windows_task.rb +14 -14
  627. data/lib/chef/resource/windows_uac.rb +1 -1
  628. data/lib/chef/resource/yum_package.rb +2 -2
  629. data/lib/chef/resource/yum_repository.rb +1 -1
  630. data/lib/chef/resource/zypper_repository.rb +1 -1
  631. data/lib/chef/resource_builder.rb +1 -1
  632. data/lib/chef/resource_collection.rb +2 -2
  633. data/lib/chef/resource_collection/resource_collection_serialization.rb +1 -1
  634. data/lib/chef/resource_collection/resource_list.rb +1 -1
  635. data/lib/chef/resource_collection/resource_set.rb +1 -1
  636. data/lib/chef/resource_definition.rb +1 -1
  637. data/lib/chef/resource_definition_list.rb +1 -1
  638. data/lib/chef/resource_inspector.rb +5 -4
  639. data/lib/chef/resource_reporter.rb +2 -2
  640. data/lib/chef/resource_resolver.rb +1 -1
  641. data/lib/chef/resources.rb +1 -1
  642. data/lib/chef/role.rb +1 -1
  643. data/lib/chef/run_context.rb +2 -2
  644. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  645. data/lib/chef/run_list.rb +1 -1
  646. data/lib/chef/run_list/run_list_expansion.rb +1 -1
  647. data/lib/chef/run_list/run_list_item.rb +1 -1
  648. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  649. data/lib/chef/run_lock.rb +1 -1
  650. data/lib/chef/run_status.rb +1 -1
  651. data/lib/chef/runner.rb +2 -2
  652. data/lib/chef/scan_access_control.rb +1 -1
  653. data/lib/chef/search/query.rb +1 -1
  654. data/lib/chef/server_api.rb +1 -1
  655. data/lib/chef/server_api_versions.rb +1 -1
  656. data/lib/chef/shell.rb +1 -1
  657. data/lib/chef/shell/ext.rb +1 -1
  658. data/lib/chef/shell/model_wrapper.rb +1 -1
  659. data/lib/chef/shell/shell_session.rb +1 -1
  660. data/lib/chef/train_transport.rb +1 -1
  661. data/lib/chef/user.rb +1 -1
  662. data/lib/chef/user_v1.rb +1 -1
  663. data/lib/chef/util/backup.rb +1 -1
  664. data/lib/chef/util/diff.rb +4 -4
  665. data/lib/chef/util/dsc/configuration_generator.rb +1 -1
  666. data/lib/chef/util/dsc/lcm_output_parser.rb +4 -4
  667. data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
  668. data/lib/chef/util/dsc/resource_store.rb +1 -1
  669. data/lib/chef/util/editor.rb +1 -1
  670. data/lib/chef/util/file_edit.rb +1 -1
  671. data/lib/chef/util/path_helper.rb +1 -1
  672. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  673. data/lib/chef/util/powershell/cmdlet_result.rb +1 -1
  674. data/lib/chef/util/powershell/ps_credential.rb +1 -1
  675. data/lib/chef/util/selinux.rb +3 -3
  676. data/lib/chef/util/threaded_job_queue.rb +1 -1
  677. data/lib/chef/util/windows/logon_session.rb +1 -1
  678. data/lib/chef/version.rb +2 -2
  679. data/lib/chef/version_class.rb +1 -1
  680. data/lib/chef/version_constraint.rb +1 -1
  681. data/lib/chef/win32/api.rb +1 -1
  682. data/lib/chef/win32/api/command_line_helper.rb +89 -0
  683. data/lib/chef/win32/api/crypto.rb +1 -1
  684. data/lib/chef/win32/api/error.rb +1 -1
  685. data/lib/chef/win32/api/file.rb +20 -20
  686. data/lib/chef/win32/api/installer.rb +1 -1
  687. data/lib/chef/win32/api/memory.rb +1 -1
  688. data/lib/chef/win32/api/net.rb +1 -1
  689. data/lib/chef/win32/api/process.rb +1 -1
  690. data/lib/chef/win32/api/psapi.rb +1 -1
  691. data/lib/chef/win32/api/registry.rb +1 -1
  692. data/lib/chef/win32/api/security.rb +1 -1
  693. data/lib/chef/win32/api/synchronization.rb +1 -1
  694. data/lib/chef/win32/api/system.rb +1 -1
  695. data/lib/chef/win32/api/unicode.rb +1 -1
  696. data/lib/chef/win32/crypto.rb +1 -1
  697. data/lib/chef/win32/error.rb +2 -2
  698. data/lib/chef/win32/eventlog.rb +1 -1
  699. data/lib/chef/win32/file.rb +2 -2
  700. data/lib/chef/win32/file/info.rb +1 -1
  701. data/lib/chef/win32/file/version_info.rb +1 -1
  702. data/lib/chef/win32/handle.rb +1 -1
  703. data/lib/chef/win32/memory.rb +1 -1
  704. data/lib/chef/win32/mutex.rb +2 -2
  705. data/lib/chef/win32/net.rb +1 -1
  706. data/lib/chef/win32/process.rb +3 -3
  707. data/lib/chef/win32/registry.rb +2 -2
  708. data/lib/chef/win32/security.rb +1 -1
  709. data/lib/chef/win32/security/ace.rb +1 -1
  710. data/lib/chef/win32/security/acl.rb +1 -1
  711. data/lib/chef/win32/security/securable_object.rb +1 -1
  712. data/lib/chef/win32/security/security_descriptor.rb +1 -1
  713. data/lib/chef/win32/security/sid.rb +1 -1
  714. data/lib/chef/win32/security/token.rb +1 -1
  715. data/lib/chef/win32/system.rb +1 -1
  716. data/lib/chef/win32/unicode.rb +1 -1
  717. data/lib/chef/win32/version.rb +1 -1
  718. data/lib/chef/workstation_config_loader.rb +1 -1
  719. data/spec/data/cookbooks/starter/recipes/default.rb +1 -1
  720. data/spec/data/shef-config.rb +1 -1
  721. data/spec/data/windows_certificates/base64_test.cer +18 -20
  722. data/spec/data/windows_certificates/othertest.cer +0 -0
  723. data/spec/data/windows_certificates/test.cer +0 -0
  724. data/spec/data/windows_certificates/test.p7b +0 -0
  725. data/spec/data/windows_certificates/test.pem +18 -19
  726. data/spec/data/windows_certificates/test.pfx +0 -0
  727. data/spec/functional/application_spec.rb +1 -1
  728. data/spec/functional/dsl/reboot_pending_spec.rb +7 -6
  729. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  730. data/spec/functional/event_loggers/windows_eventlog_spec.rb +1 -1
  731. data/spec/functional/file_content_management/deploy_strategies_spec.rb +4 -4
  732. data/spec/functional/http/simple_spec.rb +1 -1
  733. data/spec/functional/knife/configure_spec.rb +1 -1
  734. data/spec/functional/knife/cookbook_delete_spec.rb +1 -1
  735. data/spec/functional/knife/exec_spec.rb +1 -1
  736. data/spec/functional/knife/rehash_spec.rb +1 -1
  737. data/spec/functional/knife/smoke_test.rb +1 -1
  738. data/spec/functional/knife/ssh_spec.rb +1 -1
  739. data/spec/functional/mixin/from_file_spec.rb +1 -1
  740. data/spec/functional/mixin/powershell_out_spec.rb +1 -1
  741. data/spec/functional/mixin/shell_out_spec.rb +1 -1
  742. data/spec/functional/mixin/user_context_spec.rb +1 -1
  743. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +1 -1
  744. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +1 -1
  745. data/spec/functional/resource/aix_service_spec.rb +1 -1
  746. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  747. data/spec/functional/resource/apt_package_spec.rb +1 -1
  748. data/spec/functional/resource/base.rb +1 -1
  749. data/spec/functional/resource/bash_spec.rb +1 -1
  750. data/spec/functional/resource/batch_spec.rb +1 -1
  751. data/spec/functional/resource/bff_spec.rb +1 -1
  752. data/spec/functional/resource/chocolatey_package_spec.rb +30 -1
  753. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  754. data/spec/functional/resource/cron_spec.rb +1 -1
  755. data/spec/functional/resource/directory_spec.rb +1 -1
  756. data/spec/functional/resource/dnf_package_spec.rb +2 -2
  757. data/spec/functional/resource/dpkg_package_spec.rb +1 -1
  758. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  759. data/spec/functional/resource/dsc_script_spec.rb +1 -1
  760. data/spec/functional/resource/execute_spec.rb +1 -1
  761. data/spec/functional/resource/file_spec.rb +1 -1
  762. data/spec/functional/resource/git_spec.rb +1 -1
  763. data/spec/functional/resource/group_spec.rb +1 -1
  764. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  765. data/spec/functional/resource/insserv_spec.rb +1 -1
  766. data/spec/functional/resource/link_spec.rb +1 -1
  767. data/spec/functional/resource/locale_spec.rb +1 -1
  768. data/spec/functional/resource/mount_spec.rb +1 -1
  769. data/spec/functional/resource/msu_package_spec.rb +6 -3
  770. data/spec/functional/resource/ohai_spec.rb +1 -1
  771. data/spec/functional/resource/powershell_script_spec.rb +1 -1
  772. data/spec/functional/resource/registry_spec.rb +1 -1
  773. data/spec/functional/resource/remote_directory_spec.rb +1 -1
  774. data/spec/functional/resource/remote_file_spec.rb +1 -1
  775. data/spec/functional/resource/rpm_spec.rb +1 -1
  776. data/spec/functional/resource/template_spec.rb +1 -1
  777. data/spec/functional/resource/timezone_spec.rb +1 -1
  778. data/spec/functional/resource/user/dscl_spec.rb +2 -2
  779. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  780. data/spec/functional/resource/user/windows_spec.rb +1 -1
  781. data/spec/functional/resource/windows_certificate_spec.rb +10 -10
  782. data/spec/functional/resource/windows_env_spec.rb +2 -2
  783. data/spec/functional/resource/windows_package_spec.rb +1 -1
  784. data/spec/functional/resource/windows_path_spec.rb +1 -1
  785. data/spec/functional/resource/windows_service_spec.rb +2 -3
  786. data/spec/functional/resource/windows_task_spec.rb +41 -41
  787. data/spec/functional/resource/yum_package_spec.rb +2 -2
  788. data/spec/functional/resource/zypper_package_spec.rb +1 -1
  789. data/spec/functional/run_lock_spec.rb +7 -1
  790. data/spec/functional/shell_spec.rb +1 -1
  791. data/spec/functional/tiny_server_spec.rb +1 -1
  792. data/spec/functional/util/path_helper_spec.rb +1 -1
  793. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  794. data/spec/functional/version_spec.rb +1 -1
  795. data/spec/functional/win32/crypto_spec.rb +1 -1
  796. data/spec/functional/win32/registry_spec.rb +1 -1
  797. data/spec/functional/win32/security_spec.rb +1 -1
  798. data/spec/functional/win32/service_manager_spec.rb +2 -2
  799. data/spec/functional/win32/version_info_spec.rb +5 -5
  800. data/spec/functional/win32/versions_spec.rb +2 -2
  801. data/spec/integration/client/client_spec.rb +2 -2
  802. data/spec/integration/client/exit_code_spec.rb +1 -0
  803. data/spec/integration/client/ipv6_spec.rb +2 -1
  804. data/spec/integration/knife/chef_fs_data_store_spec.rb +2 -1
  805. data/spec/integration/knife/chef_repo_path_spec.rb +2 -1
  806. data/spec/integration/knife/chef_repository_file_system_spec.rb +2 -1
  807. data/spec/integration/knife/chefignore_spec.rb +2 -1
  808. data/spec/integration/knife/client_bulk_delete_spec.rb +2 -1
  809. data/spec/integration/knife/client_create_spec.rb +2 -1
  810. data/spec/integration/knife/client_delete_spec.rb +2 -1
  811. data/spec/integration/knife/client_key_create_spec.rb +2 -1
  812. data/spec/integration/knife/client_key_delete_spec.rb +2 -1
  813. data/spec/integration/knife/client_key_list_spec.rb +2 -1
  814. data/spec/integration/knife/client_key_show_spec.rb +2 -1
  815. data/spec/integration/knife/client_list_spec.rb +2 -1
  816. data/spec/integration/knife/client_show_spec.rb +2 -1
  817. data/spec/integration/knife/common_options_spec.rb +2 -1
  818. data/spec/integration/knife/config_get_profile_spec.rb +1 -0
  819. data/spec/integration/knife/config_get_spec.rb +1 -0
  820. data/spec/integration/knife/config_list_profiles_spec.rb +1 -0
  821. data/spec/integration/knife/config_use_profile_spec.rb +1 -0
  822. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -1
  823. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +2 -1
  824. data/spec/integration/knife/cookbook_download_spec.rb +2 -1
  825. data/spec/integration/knife/cookbook_list_spec.rb +2 -1
  826. data/spec/integration/knife/cookbook_show_spec.rb +2 -1
  827. data/spec/integration/knife/cookbook_upload_spec.rb +2 -1
  828. data/spec/integration/knife/data_bag_create_spec.rb +2 -1
  829. data/spec/integration/knife/data_bag_delete_spec.rb +2 -1
  830. data/spec/integration/knife/data_bag_edit_spec.rb +2 -1
  831. data/spec/integration/knife/data_bag_from_file_spec.rb +2 -1
  832. data/spec/integration/knife/data_bag_list_spec.rb +2 -1
  833. data/spec/integration/knife/data_bag_show_spec.rb +2 -1
  834. data/spec/integration/knife/delete_spec.rb +2 -1
  835. data/spec/integration/knife/deps_spec.rb +4 -3
  836. data/spec/integration/knife/diff_spec.rb +2 -1
  837. data/spec/integration/knife/download_spec.rb +2 -1
  838. data/spec/integration/knife/environment_compare_spec.rb +2 -1
  839. data/spec/integration/knife/environment_create_spec.rb +2 -1
  840. data/spec/integration/knife/environment_delete_spec.rb +2 -1
  841. data/spec/integration/knife/environment_from_file_spec.rb +2 -1
  842. data/spec/integration/knife/environment_list_spec.rb +2 -1
  843. data/spec/integration/knife/environment_show_spec.rb +2 -1
  844. data/spec/integration/knife/list_spec.rb +2 -1
  845. data/spec/integration/knife/node_bulk_delete_spec.rb +2 -1
  846. data/spec/integration/knife/node_create_spec.rb +2 -1
  847. data/spec/integration/knife/node_delete_spec.rb +2 -1
  848. data/spec/integration/knife/node_environment_set_spec.rb +2 -1
  849. data/spec/integration/knife/node_from_file_spec.rb +2 -1
  850. data/spec/integration/knife/node_list_spec.rb +2 -1
  851. data/spec/integration/knife/node_run_list_add_spec.rb +2 -1
  852. data/spec/integration/knife/node_run_list_remove_spec.rb +2 -1
  853. data/spec/integration/knife/node_run_list_set_spec.rb +2 -1
  854. data/spec/integration/knife/node_show_spec.rb +2 -1
  855. data/spec/integration/knife/raw_spec.rb +2 -1
  856. data/spec/integration/knife/redirection_spec.rb +2 -1
  857. data/spec/integration/knife/role_bulk_delete_spec.rb +2 -1
  858. data/spec/integration/knife/role_create_spec.rb +2 -1
  859. data/spec/integration/knife/role_delete_spec.rb +2 -1
  860. data/spec/integration/knife/role_from_file_spec.rb +2 -1
  861. data/spec/integration/knife/role_list_spec.rb +2 -1
  862. data/spec/integration/knife/role_show_spec.rb +2 -1
  863. data/spec/integration/knife/search_node_spec.rb +2 -1
  864. data/spec/integration/knife/serve_spec.rb +1 -1
  865. data/spec/integration/knife/show_spec.rb +2 -1
  866. data/spec/integration/knife/upload_spec.rb +2 -1
  867. data/spec/integration/recipes/accumulator_spec.rb +1 -0
  868. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -0
  869. data/spec/integration/recipes/lwrp_spec.rb +1 -0
  870. data/spec/integration/recipes/notifies_spec.rb +1 -0
  871. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  872. data/spec/integration/recipes/recipe_dsl_spec.rb +1 -0
  873. data/spec/integration/recipes/resource_action_spec.rb +1 -0
  874. data/spec/integration/recipes/unified_mode_spec.rb +1 -0
  875. data/spec/integration/solo/solo_spec.rb +1 -0
  876. data/spec/spec_helper.rb +23 -21
  877. data/spec/stress/win32/file_spec.rb +1 -1
  878. data/spec/stress/win32/memory_spec.rb +1 -1
  879. data/spec/stress/win32/security_spec.rb +1 -1
  880. data/spec/support/chef_helpers.rb +3 -3
  881. data/spec/support/key_helpers.rb +1 -3
  882. data/spec/support/lib/chef/provider/easy.rb +1 -1
  883. data/spec/support/lib/chef/provider/openldap_includer.rb +1 -1
  884. data/spec/support/lib/chef/provider/snakeoil.rb +1 -1
  885. data/spec/support/lib/chef/resource/cat.rb +1 -1
  886. data/spec/support/lib/chef/resource/openldap_includer.rb +1 -1
  887. data/spec/support/lib/chef/resource/with_state.rb +1 -1
  888. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  889. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  890. data/spec/support/matchers/leak.rb +1 -1
  891. data/spec/support/mock/platform.rb +1 -1
  892. data/spec/support/platform_helpers.rb +7 -3
  893. data/spec/support/platforms/prof/gc.rb +1 -1
  894. data/spec/support/platforms/prof/win32.rb +1 -1
  895. data/spec/support/platforms/win32/spec_service.rb +28 -26
  896. data/spec/support/shared/context/config.rb +0 -3
  897. data/spec/support/shared/context/win32.rb +1 -1
  898. data/spec/support/shared/functional/directory_resource.rb +1 -1
  899. data/spec/support/shared/functional/execute_resource.rb +1 -1
  900. data/spec/support/shared/functional/file_resource.rb +2 -2
  901. data/spec/support/shared/functional/http.rb +1 -1
  902. data/spec/support/shared/functional/knife.rb +1 -1
  903. data/spec/support/shared/functional/securable_resource.rb +2 -2
  904. data/spec/support/shared/functional/windows_script.rb +1 -1
  905. data/spec/support/shared/integration/integration_helper.rb +1 -2
  906. data/spec/support/shared/integration/knife_support.rb +1 -1
  907. data/spec/support/shared/unit/api_error_inspector.rb +1 -1
  908. data/spec/support/shared/unit/api_versioning.rb +1 -1
  909. data/spec/support/shared/unit/application_dot_d.rb +1 -1
  910. data/spec/support/shared/unit/execute_resource.rb +1 -3
  911. data/spec/support/shared/unit/file_system_support.rb +1 -1
  912. data/spec/support/shared/unit/knife_shared.rb +1 -1
  913. data/spec/support/shared/unit/platform_introspector.rb +1 -1
  914. data/spec/support/shared/unit/provider/file.rb +2 -3
  915. data/spec/support/shared/unit/provider/package/package_shared.rb +1 -1
  916. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +1 -1
  917. data/spec/support/shared/unit/resource/static_provider_resolution.rb +1 -1
  918. data/spec/support/shared/unit/script_resource.rb +3 -5
  919. data/spec/support/shared/unit/user_and_client_shared.rb +2 -2
  920. data/spec/support/shared/unit/windows_script_resource.rb +1 -3
  921. data/spec/tiny_server.rb +1 -1
  922. data/spec/unit/action_collection_spec.rb +1 -1
  923. data/spec/unit/api_client/registration_spec.rb +1 -1
  924. data/spec/unit/api_client_spec.rb +1 -1
  925. data/spec/unit/api_client_v1_spec.rb +1 -1
  926. data/spec/unit/application/client_spec.rb +1 -1
  927. data/spec/unit/application/exit_code_spec.rb +1 -1
  928. data/spec/unit/application/knife_spec.rb +1 -1
  929. data/spec/unit/application/solo_spec.rb +1 -1
  930. data/spec/unit/application_spec.rb +8 -1
  931. data/spec/unit/chef_class_spec.rb +1 -1
  932. data/spec/unit/chef_fs/config_spec.rb +1 -1
  933. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  934. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +1 -1
  935. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +1 -1
  936. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  937. data/spec/unit/chef_fs/file_pattern_spec.rb +1 -1
  938. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +1 -1
  939. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +1 -1
  940. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +1 -1
  941. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  942. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  943. data/spec/unit/chef_fs/path_util_spec.rb +1 -1
  944. data/spec/unit/chef_spec.rb +1 -1
  945. data/spec/unit/client_spec.rb +15 -1
  946. data/spec/unit/cookbook/chefignore_spec.rb +1 -1
  947. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +1 -1
  948. data/spec/unit/cookbook/file_vendor_spec.rb +2 -2
  949. data/spec/unit/cookbook/gem_installer_spec.rb +1 -1
  950. data/spec/unit/cookbook/manifest_v0_spec.rb +1 -1
  951. data/spec/unit/cookbook/manifest_v2_spec.rb +1 -1
  952. data/spec/unit/cookbook/metadata_spec.rb +2 -11
  953. data/spec/unit/cookbook/syntax_check_spec.rb +1 -1
  954. data/spec/unit/cookbook_loader_spec.rb +1 -1
  955. data/spec/unit/cookbook_manifest_spec.rb +1 -1
  956. data/spec/unit/cookbook_spec.rb +1 -1
  957. data/spec/unit/cookbook_uploader_spec.rb +1 -1
  958. data/spec/unit/cookbook_version_file_specificity_spec.rb +1 -1
  959. data/spec/unit/cookbook_version_spec.rb +2 -2
  960. data/spec/unit/daemon_spec.rb +1 -1
  961. data/spec/unit/data_bag_item_spec.rb +1 -1
  962. data/spec/unit/data_bag_spec.rb +2 -2
  963. data/spec/unit/data_collector_spec.rb +4 -4
  964. data/spec/unit/decorator/lazy_array_spec.rb +1 -1
  965. data/spec/unit/decorator/lazy_spec.rb +1 -1
  966. data/spec/unit/decorator_spec.rb +1 -1
  967. data/spec/unit/deprecated_spec.rb +4 -4
  968. data/spec/unit/deprecation_spec.rb +1 -1
  969. data/spec/unit/digester_spec.rb +1 -1
  970. data/spec/unit/dsl/data_query_spec.rb +1 -1
  971. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  972. data/spec/unit/dsl/platform_introspection_spec.rb +1 -1
  973. data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
  974. data/spec/unit/dsl/recipe_spec.rb +1 -1
  975. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  976. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -2
  977. data/spec/unit/encrypted_data_bag_item_spec.rb +3 -3
  978. data/spec/unit/environment_spec.rb +1 -1
  979. data/spec/unit/event_dispatch/dispatcher_spec.rb +2 -2
  980. data/spec/unit/exceptions_spec.rb +1 -1
  981. data/spec/unit/file_access_control_spec.rb +2 -2
  982. data/spec/unit/file_cache_spec.rb +1 -1
  983. data/spec/unit/file_content_management/deploy/cp_spec.rb +1 -1
  984. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +2 -2
  985. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  986. data/spec/unit/file_content_management/tempfile_spec.rb +2 -2
  987. data/spec/unit/formatters/base_spec.rb +2 -2
  988. data/spec/unit/formatters/doc_spec.rb +1 -1
  989. data/spec/unit/formatters/error_description_spec.rb +1 -1
  990. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +1 -1
  991. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +1 -1
  992. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +3 -3
  993. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  994. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +1 -1
  995. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +1 -1
  996. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +1 -1
  997. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +1 -1
  998. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  999. data/spec/unit/guard_interpreter_spec.rb +1 -1
  1000. data/spec/unit/handler/json_file_spec.rb +1 -1
  1001. data/spec/unit/handler_spec.rb +1 -1
  1002. data/spec/unit/http/api_versions_spec.rb +1 -1
  1003. data/spec/unit/http/authenticator_spec.rb +1 -1
  1004. data/spec/unit/http/http_request_spec.rb +1 -1
  1005. data/spec/unit/http/json_input_spec.rb +1 -1
  1006. data/spec/unit/http/simple_spec.rb +1 -1
  1007. data/spec/unit/http/socketless_chef_zero_client_spec.rb +1 -1
  1008. data/spec/unit/http/ssl_policies_spec.rb +1 -1
  1009. data/spec/unit/http/validate_content_length_spec.rb +1 -1
  1010. data/spec/unit/http_spec.rb +2 -2
  1011. data/spec/unit/json_compat_spec.rb +2 -2
  1012. data/spec/unit/key_spec.rb +2 -2
  1013. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +1 -1
  1014. data/spec/unit/knife/bootstrap/client_builder_spec.rb +1 -1
  1015. data/spec/unit/knife/bootstrap/train_connector_spec.rb +1 -1
  1016. data/spec/unit/knife/bootstrap_spec.rb +14 -17
  1017. data/spec/unit/knife/client_bulk_delete_spec.rb +1 -1
  1018. data/spec/unit/knife/client_create_spec.rb +1 -1
  1019. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  1020. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
  1021. data/spec/unit/knife/cookbook_show_spec.rb +1 -1
  1022. data/spec/unit/knife/cookbook_upload_spec.rb +1 -1
  1023. data/spec/unit/knife/core/bootstrap_context_spec.rb +2 -2
  1024. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +1 -1
  1025. data/spec/unit/knife/core/gem_glob_loader_spec.rb +1 -1
  1026. data/spec/unit/knife/core/hashed_command_loader_spec.rb +1 -1
  1027. data/spec/unit/knife/core/node_editor_spec.rb +1 -1
  1028. data/spec/unit/knife/core/object_loader_spec.rb +1 -1
  1029. data/spec/unit/knife/core/subcommand_loader_spec.rb +1 -1
  1030. data/spec/unit/knife/core/ui_spec.rb +1 -1
  1031. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +10 -4
  1032. data/spec/unit/knife/data_bag_create_spec.rb +1 -1
  1033. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  1034. data/spec/unit/knife/data_bag_from_file_spec.rb +1 -1
  1035. data/spec/unit/knife/data_bag_secret_options_spec.rb +1 -1
  1036. data/spec/unit/knife/data_bag_show_spec.rb +1 -1
  1037. data/spec/unit/knife/environment_create_spec.rb +1 -1
  1038. data/spec/unit/knife/environment_delete_spec.rb +1 -1
  1039. data/spec/unit/knife/environment_edit_spec.rb +2 -2
  1040. data/spec/unit/knife/environment_from_file_spec.rb +1 -1
  1041. data/spec/unit/knife/environment_list_spec.rb +1 -1
  1042. data/spec/unit/knife/environment_show_spec.rb +1 -1
  1043. data/spec/unit/knife/key_create_spec.rb +1 -1
  1044. data/spec/unit/knife/key_delete_spec.rb +1 -1
  1045. data/spec/unit/knife/key_edit_spec.rb +1 -1
  1046. data/spec/unit/knife/key_helper.rb +1 -1
  1047. data/spec/unit/knife/key_list_spec.rb +1 -1
  1048. data/spec/unit/knife/key_show_spec.rb +1 -1
  1049. data/spec/unit/knife/node_bulk_delete_spec.rb +1 -1
  1050. data/spec/unit/knife/node_delete_spec.rb +1 -1
  1051. data/spec/unit/knife/node_edit_spec.rb +1 -1
  1052. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  1053. data/spec/unit/knife/node_list_spec.rb +1 -1
  1054. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  1055. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  1056. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  1057. data/spec/unit/knife/node_show_spec.rb +1 -1
  1058. data/spec/unit/knife/raw_spec.rb +1 -1
  1059. data/spec/unit/knife/role_bulk_delete_spec.rb +1 -1
  1060. data/spec/unit/knife/role_create_spec.rb +1 -1
  1061. data/spec/unit/knife/role_delete_spec.rb +1 -1
  1062. data/spec/unit/knife/role_edit_spec.rb +1 -1
  1063. data/spec/unit/knife/role_env_run_list_add_spec.rb +7 -7
  1064. data/spec/unit/knife/role_env_run_list_clear_spec.rb +5 -5
  1065. data/spec/unit/knife/role_env_run_list_remove_spec.rb +5 -5
  1066. data/spec/unit/knife/role_env_run_list_replace_spec.rb +5 -5
  1067. data/spec/unit/knife/role_env_run_list_set_spec.rb +5 -5
  1068. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  1069. data/spec/unit/knife/role_list_spec.rb +1 -1
  1070. data/spec/unit/knife/role_run_list_add_spec.rb +7 -7
  1071. data/spec/unit/knife/role_run_list_clear_spec.rb +5 -5
  1072. data/spec/unit/knife/role_run_list_remove_spec.rb +5 -5
  1073. data/spec/unit/knife/role_run_list_replace_spec.rb +5 -5
  1074. data/spec/unit/knife/role_run_list_set_spec.rb +5 -5
  1075. data/spec/unit/knife/ssh_spec.rb +1 -1
  1076. data/spec/unit/knife/ssl_check_spec.rb +1 -1
  1077. data/spec/unit/knife/ssl_fetch_spec.rb +2 -2
  1078. data/spec/unit/knife/status_spec.rb +1 -1
  1079. data/spec/unit/knife/supermarket_download_spec.rb +1 -1
  1080. data/spec/unit/knife/supermarket_install_spec.rb +1 -1
  1081. data/spec/unit/knife/supermarket_list_spec.rb +1 -1
  1082. data/spec/unit/knife/supermarket_search_spec.rb +1 -1
  1083. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  1084. data/spec/unit/knife/supermarket_unshare_spec.rb +1 -1
  1085. data/spec/unit/knife/user_create_spec.rb +1 -1
  1086. data/spec/unit/knife/user_delete_spec.rb +1 -1
  1087. data/spec/unit/knife/user_edit_spec.rb +1 -1
  1088. data/spec/unit/knife/user_list_spec.rb +1 -1
  1089. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  1090. data/spec/unit/knife/user_show_spec.rb +1 -1
  1091. data/spec/unit/knife_spec.rb +8 -9
  1092. data/spec/unit/log/syslog_spec.rb +1 -1
  1093. data/spec/unit/log/winevt_spec.rb +1 -1
  1094. data/spec/unit/log_spec.rb +1 -1
  1095. data/spec/unit/lwrp_spec.rb +2 -2
  1096. data/spec/unit/mixin/api_version_request_handling_spec.rb +1 -1
  1097. data/spec/unit/mixin/checksum_spec.rb +1 -1
  1098. data/spec/unit/mixin/deprecation_spec.rb +1 -1
  1099. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +1 -1
  1100. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  1101. data/spec/unit/mixin/lazy_module_include.rb +1 -1
  1102. data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
  1103. data/spec/unit/mixin/params_validate_spec.rb +1 -1
  1104. data/spec/unit/mixin/path_sanity_spec.rb +1 -1
  1105. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  1106. data/spec/unit/mixin/powershell_out_spec.rb +1 -1
  1107. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  1108. data/spec/unit/mixin/proxified_socket_spec.rb +1 -1
  1109. data/spec/unit/mixin/securable_spec.rb +1 -1
  1110. data/spec/unit/mixin/shell_out_spec.rb +27 -29
  1111. data/spec/unit/mixin/subclass_directive_spec.rb +1 -1
  1112. data/spec/unit/mixin/template_spec.rb +1 -1
  1113. data/spec/unit/mixin/unformatter_spec.rb +1 -1
  1114. data/spec/unit/mixin/uris_spec.rb +1 -1
  1115. data/spec/unit/mixin/user_context_spec.rb +2 -10
  1116. data/spec/unit/mixin/versioned_api_spec.rb +1 -1
  1117. data/spec/unit/mixin/which.rb +1 -1
  1118. data/spec/unit/mixin/windows_architecture_helper_spec.rb +1 -1
  1119. data/spec/unit/mixin/xml_escape_spec.rb +1 -1
  1120. data/spec/unit/monkey_patches/uri_spec.rb +1 -1
  1121. data/spec/unit/monologger_spec.rb +1 -1
  1122. data/spec/unit/node/attribute_spec.rb +2 -2
  1123. data/spec/unit/node/immutable_collections_spec.rb +1 -1
  1124. data/spec/unit/node/vivid_mash_spec.rb +1 -1
  1125. data/spec/unit/node_map_spec.rb +1 -1
  1126. data/spec/unit/node_spec.rb +6 -6
  1127. data/spec/unit/org_spec.rb +1 -1
  1128. data/spec/unit/platform/query_helpers_spec.rb +1 -1
  1129. data/spec/unit/policy_builder/dynamic_spec.rb +1 -1
  1130. data/spec/unit/policy_builder/expand_node_object_spec.rb +1 -1
  1131. data/spec/unit/policy_builder/policyfile_spec.rb +1 -1
  1132. data/spec/unit/policy_builder_spec.rb +1 -1
  1133. data/spec/unit/property_spec.rb +3 -3
  1134. data/spec/unit/provider/apt_preference_spec.rb +2 -2
  1135. data/spec/unit/provider/apt_repository_spec.rb +3 -3
  1136. data/spec/unit/provider/apt_update_spec.rb +1 -1
  1137. data/spec/unit/provider/cookbook_file/content_spec.rb +1 -1
  1138. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  1139. data/spec/unit/provider/directory_spec.rb +1 -1
  1140. data/spec/unit/provider/dsc_resource_spec.rb +1 -1
  1141. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  1142. data/spec/unit/provider/execute_spec.rb +1 -1
  1143. data/spec/unit/provider/file/content_spec.rb +1 -1
  1144. data/spec/unit/provider/file_spec.rb +2 -1
  1145. data/spec/unit/provider/git_spec.rb +4 -4
  1146. data/spec/unit/provider/group/dscl_spec.rb +1 -1
  1147. data/spec/unit/provider/group/gpasswd_spec.rb +1 -1
  1148. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1149. data/spec/unit/provider/group/groupmod_spec.rb +1 -1
  1150. data/spec/unit/provider/group/pw_spec.rb +1 -1
  1151. data/spec/unit/provider/group/solaris_spec.rb +1 -1
  1152. data/spec/unit/provider/group/suse_spec.rb +1 -1
  1153. data/spec/unit/provider/group/usermod_spec.rb +1 -1
  1154. data/spec/unit/provider/group_spec.rb +1 -1
  1155. data/spec/unit/provider/http_request_spec.rb +1 -1
  1156. data/spec/unit/provider/ifconfig/aix_spec.rb +1 -1
  1157. data/spec/unit/provider/ifconfig_spec.rb +1 -1
  1158. data/spec/unit/provider/link_spec.rb +1 -1
  1159. data/spec/unit/provider/log_spec.rb +1 -1
  1160. data/spec/unit/provider/mount/aix_spec.rb +1 -1
  1161. data/spec/unit/provider/mount/mount_spec.rb +1 -1
  1162. data/spec/unit/provider/mount/solaris_spec.rb +1 -1
  1163. data/spec/unit/provider/mount_spec.rb +1 -1
  1164. data/spec/unit/provider/osx_profile_spec.rb +2 -2
  1165. data/spec/unit/provider/package/apt_spec.rb +1 -1
  1166. data/spec/unit/provider/package/bff_spec.rb +1 -1
  1167. data/spec/unit/provider/package/cab_spec.rb +2 -2
  1168. data/spec/unit/provider/package/chocolatey_spec.rb +2 -2
  1169. data/spec/unit/provider/package/deb_spec.rb +1 -1
  1170. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  1171. data/spec/unit/provider/package/homebrew_spec.rb +1 -1
  1172. data/spec/unit/provider/package/ips_spec.rb +1 -1
  1173. data/spec/unit/provider/package/macports_spec.rb +1 -1
  1174. data/spec/unit/provider/package/msu_spec.rb +5 -5
  1175. data/spec/unit/provider/package/paludis_spec.rb +1 -1
  1176. data/spec/unit/provider/package/portage_spec.rb +1 -1
  1177. data/spec/unit/provider/package/powershell_spec.rb +96 -87
  1178. data/spec/unit/provider/package/rpm_spec.rb +3 -3
  1179. data/spec/unit/provider/package/rubygems_spec.rb +1 -1
  1180. data/spec/unit/provider/package/snap_spec.rb +2 -2
  1181. data/spec/unit/provider/package/solaris_spec.rb +2 -2
  1182. data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
  1183. data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
  1184. data/spec/unit/provider/package/windows_spec.rb +1 -1
  1185. data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -1
  1186. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  1187. data/spec/unit/provider/package/zypper_spec.rb +1 -1
  1188. data/spec/unit/provider/package_spec.rb +3 -3
  1189. data/spec/unit/provider/powershell_script_spec.rb +1 -1
  1190. data/spec/unit/provider/registry_key_spec.rb +1 -1
  1191. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +1 -1
  1192. data/spec/unit/provider/remote_file/content_spec.rb +1 -1
  1193. data/spec/unit/provider/remote_file/fetcher_spec.rb +1 -1
  1194. data/spec/unit/provider/remote_file/http_spec.rb +1 -1
  1195. data/spec/unit/provider/remote_file/network_file_spec.rb +1 -1
  1196. data/spec/unit/provider/remote_file_spec.rb +1 -1
  1197. data/spec/unit/provider/service/aix_service_spec.rb +1 -1
  1198. data/spec/unit/provider/service/aixinit_service_spec.rb +1 -1
  1199. data/spec/unit/provider/service/arch_service_spec.rb +1 -1
  1200. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  1201. data/spec/unit/provider/service/init_service_spec.rb +1 -1
  1202. data/spec/unit/provider/service/insserv_service_spec.rb +1 -1
  1203. data/spec/unit/provider/service/invokercd_service_spec.rb +1 -1
  1204. data/spec/unit/provider/service/solaris_smf_service_spec.rb +1 -1
  1205. data/spec/unit/provider/service/systemd_service_spec.rb +1 -1
  1206. data/spec/unit/provider/service/windows_spec.rb +2 -2
  1207. data/spec/unit/provider/service_spec.rb +1 -1
  1208. data/spec/unit/provider/subversion_spec.rb +1 -1
  1209. data/spec/unit/provider/template/content_spec.rb +1 -1
  1210. data/spec/unit/provider/template_spec.rb +1 -1
  1211. data/spec/unit/provider/user/aix_spec.rb +1 -1
  1212. data/spec/unit/provider/user/dscl_spec.rb +1 -1
  1213. data/spec/unit/provider/user/linux_spec.rb +1 -1
  1214. data/spec/unit/provider/user/mac_spec.rb +1 -1
  1215. data/spec/unit/provider/user/pw_spec.rb +1 -1
  1216. data/spec/unit/provider/user/solaris_spec.rb +1 -1
  1217. data/spec/unit/provider/user_spec.rb +1 -1
  1218. data/spec/unit/provider/windows_path_spec.rb +1 -1
  1219. data/spec/unit/provider/windows_task_spec.rb +1 -1
  1220. data/spec/unit/provider/yum_repository_spec.rb +1 -1
  1221. data/spec/unit/provider/zypper_repository_spec.rb +76 -26
  1222. data/spec/unit/provider_resolver_spec.rb +10 -10
  1223. data/spec/unit/provider_spec.rb +1 -1
  1224. data/spec/unit/recipe_spec.rb +1 -1
  1225. data/spec/unit/resource/apt_package_spec.rb +1 -1
  1226. data/spec/unit/resource/apt_preference_spec.rb +1 -1
  1227. data/spec/unit/resource/apt_repository_spec.rb +1 -1
  1228. data/spec/unit/resource/apt_update_spec.rb +1 -1
  1229. data/spec/unit/resource/archive_file_spec.rb +12 -3
  1230. data/spec/unit/resource/bash_spec.rb +1 -1
  1231. data/spec/unit/resource/batch_spec.rb +1 -1
  1232. data/spec/unit/resource/bff_package_spec.rb +1 -1
  1233. data/spec/unit/resource/breakpoint_spec.rb +1 -1
  1234. data/spec/unit/resource/build_essential_spec.rb +48 -2
  1235. data/spec/unit/resource/cab_package_spec.rb +1 -1
  1236. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  1237. data/spec/unit/resource/chef_handler_spec.rb +1 -1
  1238. data/spec/unit/resource/chef_sleep_spec.rb +1 -1
  1239. data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
  1240. data/spec/unit/resource/chocolatey_feature_spec.rb +1 -1
  1241. data/spec/unit/resource/chocolatey_package_spec.rb +1 -1
  1242. data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
  1243. data/spec/unit/resource/conditional_spec.rb +1 -1
  1244. data/spec/unit/resource/cookbook_file_spec.rb +1 -1
  1245. data/spec/unit/resource/cron_access_spec.rb +1 -1
  1246. data/spec/unit/resource/cron_d_spec.rb +1 -1
  1247. data/spec/unit/resource/cron_spec.rb +1 -1
  1248. data/spec/unit/resource/csh_spec.rb +1 -1
  1249. data/spec/unit/resource/data/InstallHistory_with_CLT.plist +92 -0
  1250. data/spec/unit/resource/data/InstallHistory_without_CLT.plist +38 -0
  1251. data/spec/unit/resource/directory_spec.rb +1 -1
  1252. data/spec/unit/resource/dmg_package_spec.rb +1 -1
  1253. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  1254. data/spec/unit/resource/dpkg_package_spec.rb +1 -1
  1255. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  1256. data/spec/unit/resource/dsc_script_spec.rb +1 -1
  1257. data/spec/unit/resource/execute_spec.rb +2 -2
  1258. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +1 -1
  1259. data/spec/unit/resource/file/verification_spec.rb +1 -1
  1260. data/spec/unit/resource/file_spec.rb +1 -1
  1261. data/spec/unit/resource/freebsd_package_spec.rb +1 -1
  1262. data/spec/unit/resource/gem_package_spec.rb +1 -1
  1263. data/spec/unit/resource/git_spec.rb +1 -1
  1264. data/spec/unit/resource/group_spec.rb +1 -1
  1265. data/spec/unit/resource/homebrew_cask_spec.rb +1 -1
  1266. data/spec/unit/resource/homebrew_package_spec.rb +1 -1
  1267. data/spec/unit/resource/homebrew_tap_spec.rb +1 -1
  1268. data/spec/unit/resource/hostname_spec.rb +1 -1
  1269. data/spec/unit/resource/http_request_spec.rb +1 -1
  1270. data/spec/unit/resource/ips_package_spec.rb +1 -1
  1271. data/spec/unit/resource/kernel_module_spec.rb +1 -1
  1272. data/spec/unit/resource/ksh_spec.rb +1 -1
  1273. data/spec/unit/resource/link_spec.rb +1 -1
  1274. data/spec/unit/resource/locale_spec.rb +1 -1
  1275. data/spec/unit/resource/log_spec.rb +1 -1
  1276. data/spec/unit/resource/macos_user_defaults_spec.rb +1 -1
  1277. data/spec/unit/resource/macosx_service.rb +1 -1
  1278. data/spec/unit/resource/macports_package_spec.rb +1 -1
  1279. data/spec/unit/resource/mount_spec.rb +1 -1
  1280. data/spec/unit/resource/msu_package_spec.rb +5 -1
  1281. data/spec/unit/resource/notify_group_spec.rb +1 -1
  1282. data/spec/unit/resource/ohai_hint_spec.rb +1 -1
  1283. data/spec/unit/resource/openbsd_package_spec.rb +1 -1
  1284. data/spec/unit/resource/openssl_dhparam_spec.rb +1 -1
  1285. data/spec/unit/resource/openssl_ec_private_key_spec.rb +1 -1
  1286. data/spec/unit/resource/openssl_ec_public_key_spec.rb +1 -1
  1287. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +1 -1
  1288. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +1 -1
  1289. data/spec/unit/resource/openssl_x509_certificate_spec.rb +1 -1
  1290. data/spec/unit/resource/openssl_x509_crl_spec.rb +1 -1
  1291. data/spec/unit/resource/openssl_x509_request.rb +1 -1
  1292. data/spec/unit/resource/package_spec.rb +1 -1
  1293. data/spec/unit/resource/pacman_package_spec.rb +1 -1
  1294. data/spec/unit/resource/paludis_package_spec.rb +1 -1
  1295. data/spec/unit/resource/perl_spec.rb +1 -1
  1296. data/spec/unit/resource/portage_package_spec.rb +1 -1
  1297. data/spec/unit/resource/powershell_package_spec.rb +1 -1
  1298. data/spec/unit/resource/powershell_script_spec.rb +1 -1
  1299. data/spec/unit/resource/python_spec.rb +1 -1
  1300. data/spec/unit/resource/reboot_spec.rb +1 -1
  1301. data/spec/unit/resource/registry_key_spec.rb +1 -1
  1302. data/spec/unit/resource/remote_directory_spec.rb +1 -1
  1303. data/spec/unit/resource/remote_file_spec.rb +3 -3
  1304. data/spec/unit/resource/resource_notification_spec.rb +1 -1
  1305. data/spec/unit/resource/rhsm_errata_level_spec.rb +1 -1
  1306. data/spec/unit/resource/rhsm_errata_spec.rb +1 -1
  1307. data/spec/unit/resource/rhsm_register_spec.rb +25 -1
  1308. data/spec/unit/resource/rhsm_repo_spec.rb +1 -1
  1309. data/spec/unit/resource/rhsm_subscription_spec.rb +1 -1
  1310. data/spec/unit/resource/ruby_block_spec.rb +1 -1
  1311. data/spec/unit/resource/ruby_spec.rb +1 -1
  1312. data/spec/unit/resource/scm_spec.rb +1 -1
  1313. data/spec/unit/resource/script_spec.rb +1 -1
  1314. data/spec/unit/resource/service_spec.rb +1 -1
  1315. data/spec/unit/resource/smartos_package_spec.rb +1 -1
  1316. data/spec/unit/resource/snap_package_spec.rb +1 -1
  1317. data/spec/unit/resource/solaris_package_spec.rb +1 -1
  1318. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +1 -1
  1319. data/spec/unit/resource/subversion_spec.rb +1 -1
  1320. data/spec/unit/resource/sudo_spec.rb +1 -1
  1321. data/spec/unit/resource/swap_file_spec.rb +1 -1
  1322. data/spec/unit/resource/sysctl_spec.rb +1 -1
  1323. data/spec/unit/resource/template_spec.rb +1 -1
  1324. data/spec/unit/resource/timezone_spec.rb +1 -1
  1325. data/spec/unit/resource/user_spec.rb +1 -1
  1326. data/spec/unit/resource/windows_ad_join_spec.rb +1 -1
  1327. data/spec/unit/resource/windows_auto_run_spec.rb +1 -1
  1328. data/spec/unit/resource/windows_certificate_spec.rb +1 -1
  1329. data/spec/unit/resource/windows_dfs_folder_spec.rb +1 -1
  1330. data/spec/unit/resource/windows_dfs_namespace_spec.rb +1 -1
  1331. data/spec/unit/resource/windows_dfs_server_spec.rb +1 -1
  1332. data/spec/unit/resource/windows_dns_record_spec.rb +4 -4
  1333. data/spec/unit/resource/windows_dns_zone_spec.rb +3 -3
  1334. data/spec/unit/resource/windows_feature_dism_spec.rb +1 -1
  1335. data/spec/unit/resource/windows_feature_powershell_spec.rb +1 -1
  1336. data/spec/unit/resource/windows_feature_spec.rb +1 -1
  1337. data/spec/unit/resource/windows_font_spec.rb +1 -1
  1338. data/spec/unit/resource/windows_package_spec.rb +1 -1
  1339. data/spec/unit/resource/windows_pagefile_spec.rb +1 -1
  1340. data/spec/unit/resource/windows_path_spec.rb +1 -1
  1341. data/spec/unit/resource/windows_printer_port_spec.rb +1 -1
  1342. data/spec/unit/resource/windows_printer_spec.rb +1 -1
  1343. data/spec/unit/resource/windows_service_spec.rb +1 -1
  1344. data/spec/unit/resource/windows_share_spec.rb +4 -2
  1345. data/spec/unit/resource/windows_shortcut_spec.rb +1 -1
  1346. data/spec/unit/resource/windows_task_spec.rb +2 -2
  1347. data/spec/unit/resource/windows_uac_spec.rb +3 -3
  1348. data/spec/unit/resource/windows_workgroup_spec.rb +3 -3
  1349. data/spec/unit/resource/yum_package_spec.rb +1 -1
  1350. data/spec/unit/resource/yum_repository_spec.rb +22 -22
  1351. data/spec/unit/resource/zypper_package_spec.rb +1 -1
  1352. data/spec/unit/resource/zypper_repository_spec.rb +1 -1
  1353. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  1354. data/spec/unit/resource_collection/resource_set_spec.rb +1 -1
  1355. data/spec/unit/resource_collection_spec.rb +1 -1
  1356. data/spec/unit/resource_definition_spec.rb +1 -1
  1357. data/spec/unit/resource_inspector_spec.rb +1 -1
  1358. data/spec/unit/resource_reporter_spec.rb +3 -3
  1359. data/spec/unit/resource_spec.rb +6 -6
  1360. data/spec/unit/role_spec.rb +1 -1
  1361. data/spec/unit/run_context/child_run_context_spec.rb +1 -1
  1362. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  1363. data/spec/unit/run_context_spec.rb +2 -2
  1364. data/spec/unit/run_list/run_list_expansion_spec.rb +1 -1
  1365. data/spec/unit/run_list/run_list_item_spec.rb +1 -1
  1366. data/spec/unit/run_list/versioned_recipe_list_spec.rb +2 -2
  1367. data/spec/unit/run_list_spec.rb +1 -1
  1368. data/spec/unit/run_lock_spec.rb +2 -2
  1369. data/spec/unit/run_status_spec.rb +1 -1
  1370. data/spec/unit/runner_spec.rb +1 -1
  1371. data/spec/unit/scan_access_control_spec.rb +2 -2
  1372. data/spec/unit/search/query_spec.rb +1 -1
  1373. data/spec/unit/server_api_versions_spec.rb +1 -1
  1374. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  1375. data/spec/unit/shell/shell_ext_spec.rb +1 -1
  1376. data/spec/unit/train_transport_spec.rb +1 -1
  1377. data/spec/unit/user_spec.rb +1 -1
  1378. data/spec/unit/user_v1_spec.rb +10 -10
  1379. data/spec/unit/util/backup_spec.rb +1 -1
  1380. data/spec/unit/util/diff_spec.rb +2 -2
  1381. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  1382. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +1 -1
  1383. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +1 -1
  1384. data/spec/unit/util/dsc/resource_store.rb +2 -2
  1385. data/spec/unit/util/file_edit_spec.rb +2 -2
  1386. data/spec/unit/util/powershell/cmdlet_spec.rb +1 -1
  1387. data/spec/unit/util/powershell/ps_credential_spec.rb +1 -1
  1388. data/spec/unit/util/selinux_spec.rb +1 -1
  1389. data/spec/unit/util/threaded_job_queue_spec.rb +10 -1
  1390. data/spec/unit/util/windows/logon_session_spec.rb +2 -2
  1391. data/spec/unit/version_class_spec.rb +1 -1
  1392. data/spec/unit/version_constraint_spec.rb +1 -1
  1393. data/spec/unit/win32/error_spec.rb +1 -1
  1394. data/spec/unit/win32/link_spec.rb +4 -4
  1395. data/spec/unit/win32/registry_spec.rb +1 -1
  1396. data/spec/unit/win32/security_spec.rb +1 -1
  1397. data/spec/unit/windows_service_spec.rb +1 -1
  1398. data/tasks/rspec.rb +7 -14
  1399. metadata +33 -18
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Tyler Cloke (<tyler@chef.io>)
3
- # Copyright:: Copyright 2012-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Steven Danna (<steve@chef.io>)
3
- # Copyright:: Copyright 2015-2016, Chef Software, Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Edwards (<adamed@chef.io>)
3
- # Copyright:: Copyright 2014-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Edwards (<adamed@chef.io>)
3
- # Copyright:: Copyright 2014-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -50,7 +50,7 @@ class Chef
50
50
  # Handles cases like powershell_script where default
51
51
  # attributes are different when used in a guard vs. not. For
52
52
  # powershell_script in particular, this will go away when
53
- # the one attribue that causes this changes its default to be
53
+ # the one attribute that causes this changes its default to be
54
54
  # the same after some period to prepare for deprecation
55
55
  if @resource.class.respond_to?(:get_default_attributes)
56
56
  block_attributes = @resource.class.send(:get_default_attributes, @command_opts).merge(block_attributes)
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2018, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright:: Copyright 2017, Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2016, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2018, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2016, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2016, 2010-2018, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,7 +1,7 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
3
  # Author:: John Keiser (<jkeiser@chef.io>)
4
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,7 +1,7 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
3
  # Author:: John Keiser (<jkeiser@chef.io>)
4
- # Copyright:: Copyright 2013-2017, Chef Software Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -65,7 +65,7 @@ class Chef
65
65
  if http_response.body
66
66
  Chef::Log.trace("Response body contains:\n#{http_response.body.length < 256 ? http_response.body : http_response.body[0..256] + " [...truncated...]"}")
67
67
  end
68
- return [http_response, rest_request, http_response.body.to_s]
68
+ [http_response, rest_request, http_response.body.to_s]
69
69
  end
70
70
  end
71
71
 
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  # Author:: Prajakta Purohit (<prajakta@chef.io>)
2
- # Copyright:: Copyright 2009-2016, Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2015-2016, Chef Software, Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Thom May (<thom@chef.io>)
3
- # Copyright:: Copyright 2015-2016, Chef Software, Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2015-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -5,7 +5,7 @@
5
5
  # Author:: Christopher Brown (<cb@chef.io>)
6
6
  # Author:: Christopher Walters (<cw@chef.io>)
7
7
  # Author:: Daniel DeLeo (<dan@chef.io>)
8
- # Copyright:: Copyright 2009-2016, Chef Software Inc.
8
+ # Copyright:: Copyright (c) Chef Software Inc.
9
9
  # License:: Apache License, Version 2.0
10
10
  #
11
11
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #--
2
2
  # Author:: Lamont Granquist (<lamont@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software, Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Tim Hinderliter (<tim@chef.io>)
3
- # Copyright:: Copyright 2010-2018, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Tyler Cloke (tyler@chef.io)
3
- # Copyright:: Copyright 2015-2016, Chef Software, Inc
3
+ # Copyright:: Copyright (c) Chef Software Inc.
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:: Christopher Brown (<cb@chef.io>)
4
- # Copyright:: Copyright 2009-2019, Chef Software Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -101,7 +101,7 @@ class Chef
101
101
  subcommand_files[subclass.snake_case_name] +=
102
102
  if subclass.superclass.to_s == "Chef::ChefFS::Knife"
103
103
  # ChefFS-based commands have a superclass that defines an
104
- # inhereited method which calls super. This means that the
104
+ # inherited method which calls super. This means that the
105
105
  # top of the call stack is not the class definition for
106
106
  # our subcommand. Try the second entry in the call stack.
107
107
  [path_from_caller(caller[1])]
@@ -191,7 +191,7 @@ class Chef
191
191
  config_loader.profile = profile
192
192
  config_loader.load
193
193
 
194
- ui.warn("No knife configuration file found. See https://docs.chef.io/config_rb_knife.html for details.") if config_loader.no_config_found?
194
+ ui.warn("No knife configuration file found. See https://docs.chef.io/config_rb/ for details.") if config_loader.no_config_found?
195
195
 
196
196
  config_loader
197
197
  rescue Exceptions::ConfigurationError => e
@@ -345,31 +345,35 @@ class Chef
345
345
  exit(1)
346
346
  end
347
347
 
348
- # keys from mixlib-cli options
349
- def cli_keys
350
- self.class.options.keys
348
+ # This is all set and default mixlib-config values. We only need the default
349
+ # values here (the set values are explicitly mixed in again later), but there is
350
+ # no mixlib-config API to get a Hash back with only the default values.
351
+ #
352
+ # Assumption: since config_file_defaults is the lowest precedence it doesn't matter
353
+ # that we include the set values here, but this is a hack and makes the name of the
354
+ # method a lie. FIXME: make the name not a lie by adding an API to mixlib-config.
355
+ #
356
+ # @api private
357
+ #
358
+ def config_file_defaults
359
+ Chef::Config[:knife].save(true) # this is like "dup" to a (real) Hash, and includes default values (and user set values)
351
360
  end
352
361
 
353
- # extracts the settings from the Chef::Config[:knife] sub-hash that correspond
354
- # to knife cli options -- in preparation for merging config values with cli values
362
+ # This is only the user-set mixlib-config values. We do not include the defaults
363
+ # here so that the config defaults do not override the cli defaults.
364
+ #
365
+ # @api private
355
366
  #
356
- # NOTE: due to weirdness in mixlib-config #has_key? is only true if the value has
357
- # been set by the user -- the Chef::Config defaults return #has_key?() of false and
358
- # this code DEPENDS on that functionality since applying the default values in
359
- # Chef::Config[:knife] would break the defaults in the cli that we would otherwise
360
- # overwrite.
361
367
  def config_file_settings
362
- cli_keys.each_with_object({}) do |key, memo|
363
- if Chef::Config[:knife].key?(key)
364
- memo[key] = Chef::Config[:knife][key]
365
- end
366
- end
368
+ Chef::Config[:knife].save(false) # this is like "dup" to a (real) Hash, and does not include default values (just user set values)
367
369
  end
368
370
 
369
371
  # config is merged in this order (inverse of precedence)
370
- # default_config - mixlib-cli defaults (accessor from the mixin)
371
- # config_file_settings - Chef::Config[:knife] sub-hash
372
- # config - mixlib-cli settings (accessor from the mixin)
372
+ # config_file_defaults - Chef::Config[:knife] defaults from chef-config (XXX: this also includes the settings, but they get overwritten)
373
+ # default_config - mixlib-cli defaults (accessor from mixlib-cli)
374
+ # config_file_settings - Chef::Config[:knife] user settings from the client.rb file
375
+ # config - mixlib-cli settings (accessor from mixlib-cli)
376
+ #
373
377
  def merge_configs
374
378
  # Update our original_config - if someone has created a knife command
375
379
  # instance directly, they are likely ot have set cmd.config values directly
@@ -377,7 +381,7 @@ class Chef
377
381
  @original_config = config.dup
378
382
  # other code may have a handle to the config object, so use Hash#replace to deliberately
379
383
  # update-in-place.
380
- config.replace(default_config.merge(config_file_settings).merge(config))
384
+ config.replace(config_file_defaults.merge(default_config).merge(config_file_settings).merge(config))
381
385
  end
382
386
 
383
387
  #
@@ -387,8 +391,9 @@ class Chef
387
391
  # @return [Symbol,NilClass] return the source of the config key,
388
392
  # one of:
389
393
  # - :cli - this was explicitly provided on the CLI
390
- # - :config - this came from Chef::Config[:knife]
394
+ # - :config - this came from Chef::Config[:knife] explicitly being set
391
395
  # - :cli_default - came from a declared CLI `option`'s `default` value.
396
+ # - :config_default - this came from Chef::Config[:knife]'s defaults
392
397
  # - nil - if the key could not be found in any source.
393
398
  # This can happen when it is invalid, or has been
394
399
  # set directly into #config without then calling #merge_config
@@ -396,6 +401,7 @@ class Chef
396
401
  return :cli if @original_config.include? key
397
402
  return :config if config_file_settings.key? key
398
403
  return :cli_default if default_config.include? key
404
+ return :config_default if config_file_defaults.key? key # must come after :config check
399
405
 
400
406
  nil
401
407
  end
@@ -559,7 +565,7 @@ class Chef
559
565
  max_server_version = version_header["max_version"]
560
566
  ui.error "The API version that Knife is using is not supported by the server you sent this request to."
561
567
  ui.info "The request that Knife sent was using API version #{client_api_version}."
562
- ui.info "The server you sent the request to supports a min API verson of #{min_server_version} and a max API version of #{max_server_version}."
568
+ ui.info "The server you sent the request to supports a min API version of #{min_server_version} and a max API version of #{max_server_version}."
563
569
  ui.info "Please either update your #{Chef::Dist::PRODUCT} or the server to be a compatible set."
564
570
  else
565
571
  ui.error response.message
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -94,13 +94,13 @@ class Chef
94
94
  description: "For WinRM basic authentication when using the 'ssl' auth method.",
95
95
  boolean: true
96
96
 
97
- # This option was provided in knife bootstrap windows winrm,
98
- # but it is ignored in knife-windows/WinrmSession, and so remains unimplemeneted here.
99
- # option :kerberos_keytab_file,
100
- # :short => "-T KEYTAB_FILE",
101
- # :long => "--keytab-file KEYTAB_FILE",
102
- # :description => "The Kerberos keytab file used for authentication",
103
- # :proc => Proc.new { |keytab| Chef::Config[:knife][:kerberos_keytab_file] = keytab }
97
+ # This option was provided in knife bootstrap windows winrm,
98
+ # but it is ignored in knife-windows/WinrmSession, and so remains unimplemeneted here.
99
+ # option :kerberos_keytab_file,
100
+ # :short => "-T KEYTAB_FILE",
101
+ # :long => "--keytab-file KEYTAB_FILE",
102
+ # :description => "The Kerberos keytab file used for authentication",
103
+ # :proc => Proc.new { |keytab| Chef::Config[:knife][:kerberos_keytab_file] = keytab }
104
104
 
105
105
  option :kerberos_realm,
106
106
  short: "-R KERBEROS_REALM",
@@ -149,8 +149,7 @@ class Chef
149
149
  # client.rb content via chef-full/bootstrap_context
150
150
  option :bootstrap_version,
151
151
  long: "--bootstrap-version VERSION",
152
- description: "The version of #{Chef::Dist::PRODUCT} to install.",
153
- proc: lambda { |v| Chef::Config[:knife][:bootstrap_version] = v }
152
+ description: "The version of #{Chef::Dist::PRODUCT} to install."
154
153
 
155
154
  option :channel,
156
155
  long: "--channel CHANNEL",
@@ -598,11 +597,8 @@ class Chef
598
597
 
599
598
  bootstrap_context.client_pem = client_builder.client_path
600
599
  else
601
- ui.info <<~EOM
602
- Performing legacy client registration with the validation key at #{Chef::Config[:validation_key]}...
603
- Delete your validation key in order to use your user credentials for client registration instead.
604
- EOM
605
-
600
+ ui.warn "Performing legacy client registration with the validation key at #{Chef::Config[:validation_key]}..."
601
+ ui.warn "Remove the key file or remove the 'validation_key' configuration option from your config.rb (knife.rb) to use more secure user credentials for client registration."
606
602
  end
607
603
  end
608
604
 
@@ -620,7 +616,7 @@ class Chef
620
616
  end
621
617
 
622
618
  def connect!
623
- ui.info("Connecting to #{ui.color(server_name, :bold)}")
619
+ ui.info("Connecting to #{ui.color(server_name, :bold)} using #{connection_protocol}")
624
620
  opts ||= connection_opts.dup
625
621
  do_connect(opts)
626
622
  rescue Train::Error => e
@@ -651,7 +647,7 @@ class Chef
651
647
  raise
652
648
  else
653
649
  ui.warn("Failed to authenticate #{opts[:user]} to #{server_name} - trying password auth")
654
- password = ui.ask("Enter password for #{opts[:user]}@#{server_name}.") do |q|
650
+ password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:") do |q|
655
651
  q.echo = false
656
652
  end
657
653
  end
@@ -667,7 +663,7 @@ class Chef
667
663
  raise
668
664
  else
669
665
  ui.warn("Failed to authenticate #{opts[:user]} to #{server_name} - trying password auth")
670
- password = ui.ask("Enter password for #{opts[:user]}@#{server_name}.") do |q|
666
+ password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:") do |q|
671
667
  q.echo = false
672
668
  end
673
669
  end
@@ -696,9 +692,19 @@ class Chef
696
692
  @connection = TrainConnector.new(host_descriptor, connection_protocol, conn_options)
697
693
  connection.connect!
698
694
  rescue Train::UserError => e
695
+ limit ||= 1
699
696
  if !conn_options.key?(:pty) && e.reason == :sudo_no_tty
700
697
  ui.warn("#{e.message} - trying with pty request")
701
698
  conn_options[:pty] = true # ensure we can talk to systems with requiretty set true in sshd config
699
+ retry
700
+ elsif config[:use_sudo_password] && (e.reason == :sudo_password_required || e.reason == :bad_sudo_password) && limit < 3
701
+ ui.warn("Failed to authenticate #{conn_options[:user]} to #{server_name} - #{e.message} \n sudo: #{limit} incorrect password attempt")
702
+ sudo_password = ui.ask("Enter sudo password for #{conn_options[:user]}@#{server_name}:") do |q|
703
+ q.echo = false
704
+ end
705
+ limit += 1
706
+ conn_options[:sudo_password] = sudo_password
707
+
702
708
  retry
703
709
  else
704
710
  raise
@@ -796,7 +802,7 @@ class Chef
796
802
 
797
803
  # Validate any additional options
798
804
  #
799
- # Plugins that subclass bootstrap, e.g. knife-ec2, can use this method to validate any additonal options before any other actions are executed
805
+ # Plugins that subclass bootstrap, e.g. knife-ec2, can use this method to validate any additional options before any other actions are executed
800
806
  #
801
807
  # @return [TrueClass] If options are valid or exits
802
808
  def plugin_validate_options!
@@ -1052,24 +1058,25 @@ class Chef
1052
1058
  }
1053
1059
  end
1054
1060
 
1055
- # Looks up configuration entries, first in the class member
1056
- # `config` which contains options populated from CLI flags.
1057
- # If the entry is not found there, Chef::Config[:knife][KEY]
1058
- # is checked.
1061
+ # Knife plugins should just use the config hash and not call this method. In the
1062
+ # future there will be a way to deprecate Chef::Config options in addition to the
1063
+ # CLI options, which will eliminate this methods primary purpose.
1064
+ #
1065
+ # In Chef-16 the single-argument verison of this function will be deprecated and
1066
+ # config_value(:whatver) should be converted to config[:whatever]. That never had
1067
+ # any purpose and never should have been used this way.
1059
1068
  #
1060
- # knife_config_key should be specified if the knife config lookup
1061
- # key is different from the CLI flag lookup key.
1069
+ # @api deprecated
1062
1070
  #
1063
- def config_value(key, knife_config_key = nil, default = nil)
1064
- if config.key? key
1071
+ def config_value(key, fallback_key = nil, default = nil)
1072
+ if config.key?(key)
1073
+ # the first key is the primary key so we check the merged hash first
1065
1074
  config[key]
1075
+ elsif config.key?(fallback_key)
1076
+ # we get the old config option here (the deprecated cli option shouldn't exist)
1077
+ config[fallback_key]
1066
1078
  else
1067
- lookup_key = knife_config_key || key
1068
- if Chef::Config[:knife].key?(lookup_key) || config.key?(lookup_key)
1069
- Chef::Config[:knife][lookup_key] || config[lookup_key]
1070
- else
1071
- default
1072
- end
1079
+ default
1073
1080
  end
1074
1081
  end
1075
1082
 
@@ -1098,7 +1105,8 @@ class Chef
1098
1105
  # These keys are available in Chef::Config, and are prefixed with the protocol name.
1099
1106
  # For example, :user CLI option will map to :winrm_user and :ssh_user Chef::Config keys,
1100
1107
  # based on the connection protocol in use.
1101
- def knife_key_for_protocol(protocol, option)
1108
+ def knife_key_for_protocol(new_option, option = nil)
1109
+ option = new_option if option.nil? # hacky compat with both old Chef-15 style and new Chef-16 style API signature
1102
1110
  "#{connection_protocol}_#{option}".to_sym
1103
1111
  end
1104
1112