chef 15.1.36 → 15.2.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (777) hide show
  1. checksums.yaml +4 -4
  2. data/lib/.DS_Store +0 -0
  3. data/lib/chef.rb +1 -2
  4. data/lib/chef/.DS_Store +0 -0
  5. data/lib/chef/action_collection.rb +8 -0
  6. data/lib/chef/api_client.rb +2 -2
  7. data/lib/chef/api_client/registration.rb +8 -7
  8. data/lib/chef/api_client_v1.rb +2 -1
  9. data/lib/chef/application.rb +1 -0
  10. data/lib/chef/application/apply.rb +1 -1
  11. data/lib/chef/application/base.rb +440 -0
  12. data/lib/chef/application/client.rb +6 -389
  13. data/lib/chef/application/solo.rb +11 -258
  14. data/lib/chef/application/windows_service.rb +3 -3
  15. data/lib/chef/application/windows_service_manager.rb +3 -3
  16. data/lib/chef/blacklist.rb +1 -1
  17. data/lib/chef/chef_fs/chef_fs_data_store.rb +15 -7
  18. data/lib/chef/chef_fs/command_line.rb +6 -1
  19. data/lib/chef/chef_fs/config.rb +3 -2
  20. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
  21. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  22. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +1 -1
  23. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
  24. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +2 -2
  25. data/lib/chef/chef_fs/file_pattern.rb +13 -7
  26. data/lib/chef/chef_fs/file_system.rb +3 -2
  27. data/lib/chef/chef_fs/file_system/base_fs_object.rb +13 -6
  28. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +1 -1
  29. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +1 -1
  30. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +8 -5
  31. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
  32. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  33. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +3 -2
  35. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +4 -2
  36. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -0
  37. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -0
  38. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/repository/acl.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -1
  42. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +6 -2
  43. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +6 -4
  44. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +6 -4
  45. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -0
  46. data/lib/chef/chef_fs/file_system/repository/directory.rb +5 -1
  47. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +4 -2
  48. data/lib/chef/chef_fs/file_system_cache.rb +1 -0
  49. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +2 -1
  50. data/lib/chef/chef_fs/path_utils.rb +3 -0
  51. data/lib/chef/client.rb +4 -2
  52. data/lib/chef/config.rb +1 -1
  53. data/lib/chef/cookbook/cookbook_version_loader.rb +6 -3
  54. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -0
  55. data/lib/chef/cookbook/file_vendor.rb +1 -0
  56. data/lib/chef/cookbook/gem_installer.rb +1 -0
  57. data/lib/chef/cookbook/manifest_v0.rb +1 -0
  58. data/lib/chef/cookbook/metadata.rb +11 -9
  59. data/lib/chef/cookbook/remote_file_vendor.rb +3 -2
  60. data/lib/chef/cookbook/synchronizer.rb +6 -4
  61. data/lib/chef/cookbook/syntax_check.rb +4 -0
  62. data/lib/chef/cookbook_loader.rb +1 -0
  63. data/lib/chef/cookbook_manifest.rb +4 -2
  64. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  65. data/lib/chef/cookbook_uploader.rb +2 -2
  66. data/lib/chef/cookbook_version.rb +10 -9
  67. data/lib/chef/data_bag.rb +2 -1
  68. data/lib/chef/data_bag_item.rb +6 -3
  69. data/lib/chef/data_collector.rb +16 -8
  70. data/lib/chef/data_collector/run_end_message.rb +2 -0
  71. data/lib/chef/decorator.rb +5 -6
  72. data/lib/chef/deprecated.rb +1 -0
  73. data/lib/chef/dsl/data_query.rb +1 -1
  74. data/lib/chef/dsl/declare_resource.rb +2 -0
  75. data/lib/chef/dsl/platform_introspection.rb +3 -1
  76. data/lib/chef/encrypted_data_bag_item.rb +7 -4
  77. data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
  78. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -0
  79. data/lib/chef/encrypted_data_bag_item/decryptor.rb +4 -2
  80. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -0
  81. data/lib/chef/environment.rb +7 -5
  82. data/lib/chef/event_dispatch/base.rb +86 -172
  83. data/lib/chef/event_dispatch/dispatcher.rb +2 -1
  84. data/lib/chef/event_loggers/base.rb +2 -1
  85. data/lib/chef/exceptions.rb +6 -7
  86. data/lib/chef/file_access_control/unix.rb +7 -4
  87. data/lib/chef/file_access_control/windows.rb +17 -8
  88. data/lib/chef/file_cache.rb +2 -1
  89. data/lib/chef/file_content_management/deploy.rb +2 -2
  90. data/lib/chef/formatters/base.rb +3 -4
  91. data/lib/chef/formatters/doc.rb +21 -33
  92. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -2
  93. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -1
  94. data/lib/chef/formatters/indentable_output_stream.rb +3 -3
  95. data/lib/chef/formatters/minimal.rb +21 -42
  96. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
  97. data/lib/chef/handler.rb +1 -2
  98. data/lib/chef/http.rb +23 -18
  99. data/lib/chef/http/api_versions.rb +1 -2
  100. data/lib/chef/http/auth_credentials.rb +1 -0
  101. data/lib/chef/http/basic_client.rb +1 -1
  102. data/lib/chef/http/decompressor.rb +1 -0
  103. data/lib/chef/http/json_output.rb +2 -1
  104. data/lib/chef/http/json_to_model_output.rb +1 -1
  105. data/lib/chef/http/remote_request_id.rb +1 -2
  106. data/lib/chef/http/socketless_chef_zero_client.rb +3 -2
  107. data/lib/chef/http/ssl_policies.rb +3 -0
  108. data/lib/chef/http/validate_content_length.rb +2 -2
  109. data/lib/chef/json_compat.rb +1 -1
  110. data/lib/chef/key.rb +8 -6
  111. data/lib/chef/knife.rb +6 -5
  112. data/lib/chef/knife/bootstrap.rb +19 -12
  113. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -0
  114. data/lib/chef/knife/bootstrap/client_builder.rb +1 -0
  115. data/lib/chef/knife/bootstrap/train_connector.rb +23 -17
  116. data/lib/chef/knife/client_bulk_delete.rb +4 -3
  117. data/lib/chef/knife/client_create.rb +13 -13
  118. data/lib/chef/knife/client_delete.rb +3 -3
  119. data/lib/chef/knife/config_get.rb +8 -8
  120. data/lib/chef/knife/config_list_profiles.rb +4 -4
  121. data/lib/chef/knife/cookbook_delete.rb +1 -1
  122. data/lib/chef/knife/cookbook_download.rb +12 -12
  123. data/lib/chef/knife/cookbook_show.rb +10 -10
  124. data/lib/chef/knife/cookbook_upload.rb +5 -5
  125. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  126. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  127. data/lib/chef/knife/core/gem_glob_loader.rb +2 -2
  128. data/lib/chef/knife/core/generic_presenter.rb +4 -4
  129. data/lib/chef/knife/core/node_presenter.rb +17 -17
  130. data/lib/chef/knife/core/object_loader.rb +1 -1
  131. data/lib/chef/knife/core/status_presenter.rb +5 -5
  132. data/lib/chef/knife/core/subcommand_loader.rb +3 -2
  133. data/lib/chef/knife/core/text_formatter.rb +4 -4
  134. data/lib/chef/knife/core/ui.rb +9 -5
  135. data/lib/chef/knife/data_bag_create.rb +1 -0
  136. data/lib/chef/knife/data_bag_from_file.rb +1 -1
  137. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  138. data/lib/chef/knife/data_bag_show.rb +2 -2
  139. data/lib/chef/knife/deps.rb +6 -6
  140. data/lib/chef/knife/edit.rb +2 -2
  141. data/lib/chef/knife/environment_compare.rb +1 -0
  142. data/lib/chef/knife/environment_from_file.rb +3 -3
  143. data/lib/chef/knife/key_create_base.rb +12 -12
  144. data/lib/chef/knife/key_edit_base.rb +15 -15
  145. data/lib/chef/knife/key_list.rb +3 -1
  146. data/lib/chef/knife/key_list_base.rb +9 -9
  147. data/lib/chef/knife/list.rb +5 -5
  148. data/lib/chef/knife/node_bulk_delete.rb +1 -0
  149. data/lib/chef/knife/node_edit.rb +1 -1
  150. data/lib/chef/knife/node_environment_set.rb +1 -2
  151. data/lib/chef/knife/node_run_list_add.rb +2 -2
  152. data/lib/chef/knife/node_run_list_remove.rb +2 -2
  153. data/lib/chef/knife/node_run_list_set.rb +2 -2
  154. data/lib/chef/knife/null.rb +1 -2
  155. data/lib/chef/knife/role_bulk_delete.rb +1 -0
  156. data/lib/chef/knife/role_env_run_list_add.rb +2 -2
  157. data/lib/chef/knife/role_env_run_list_set.rb +2 -2
  158. data/lib/chef/knife/role_run_list_add.rb +2 -2
  159. data/lib/chef/knife/role_run_list_set.rb +2 -2
  160. data/lib/chef/knife/search.rb +4 -4
  161. data/lib/chef/knife/ssh.rb +13 -9
  162. data/lib/chef/knife/supermarket_download.rb +1 -1
  163. data/lib/chef/knife/supermarket_install.rb +5 -5
  164. data/lib/chef/knife/supermarket_list.rb +1 -1
  165. data/lib/chef/knife/supermarket_share.rb +3 -2
  166. data/lib/chef/knife/supermarket_show.rb +1 -1
  167. data/lib/chef/knife/supermarket_unshare.rb +1 -0
  168. data/lib/chef/knife/tag_delete.rb +1 -1
  169. data/lib/chef/knife/xargs.rb +2 -2
  170. data/lib/chef/log/syslog.rb +2 -2
  171. data/lib/chef/log/winevt.rb +1 -2
  172. data/lib/chef/mash.rb +2 -2
  173. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  174. data/lib/chef/mixin/checksum.rb +1 -0
  175. data/lib/chef/mixin/convert_to_class_name.rb +2 -1
  176. data/lib/chef/mixin/create_path.rb +2 -2
  177. data/lib/chef/mixin/deep_merge.rb +5 -5
  178. data/lib/chef/mixin/get_source_from_package.rb +1 -0
  179. data/lib/chef/mixin/homebrew_user.rb +2 -1
  180. data/lib/chef/mixin/openssl_helper.rb +10 -6
  181. data/lib/chef/mixin/params_validate.rb +21 -13
  182. data/lib/chef/mixin/powershell_out.rb +1 -1
  183. data/lib/chef/mixin/powershell_type_coercions.rb +2 -2
  184. data/lib/chef/mixin/properties.rb +13 -10
  185. data/lib/chef/mixin/securable.rb +3 -3
  186. data/lib/chef/mixin/shell_out.rb +1 -0
  187. data/lib/chef/mixin/template.rb +2 -1
  188. data/lib/chef/mixin/user_context.rb +1 -1
  189. data/lib/chef/mixin/which.rb +1 -0
  190. data/lib/chef/mixin/windows_architecture_helper.rb +4 -4
  191. data/lib/chef/mixin/windows_env_helper.rb +2 -2
  192. data/lib/chef/monkey_patches/net_http.rb +1 -1
  193. data/lib/chef/monkey_patches/webrick-utils.rb +6 -4
  194. data/lib/chef/node.rb +24 -17
  195. data/lib/chef/node/attribute.rb +122 -113
  196. data/lib/chef/node/attribute_collections.rb +1 -1
  197. data/lib/chef/node/common_api.rb +8 -2
  198. data/lib/chef/node/immutable_collections.rb +1 -1
  199. data/lib/chef/node/mixin/immutablize_array.rb +142 -142
  200. data/lib/chef/node/mixin/immutablize_hash.rb +131 -131
  201. data/lib/chef/node_map.rb +18 -3
  202. data/lib/chef/null_logger.rb +8 -16
  203. data/lib/chef/org.rb +4 -4
  204. data/lib/chef/platform/query_helpers.rb +3 -0
  205. data/lib/chef/platform/rebooter.rb +1 -1
  206. data/lib/chef/platform/service_helpers.rb +2 -2
  207. data/lib/chef/policy_builder/expand_node_object.rb +4 -4
  208. data/lib/chef/policy_builder/policyfile.rb +4 -4
  209. data/lib/chef/powershell.rb +2 -0
  210. data/lib/chef/property.rb +7 -4
  211. data/lib/chef/provider.rb +9 -12
  212. data/lib/chef/provider/apt_preference.rb +1 -2
  213. data/lib/chef/provider/apt_repository.rb +1 -2
  214. data/lib/chef/provider/apt_update.rb +2 -3
  215. data/lib/chef/provider/cookbook_file.rb +1 -0
  216. data/lib/chef/provider/cron.rb +6 -5
  217. data/lib/chef/provider/cron/unix.rb +1 -0
  218. data/lib/chef/provider/dsc_resource.rb +2 -3
  219. data/lib/chef/provider/dsc_script.rb +2 -2
  220. data/lib/chef/provider/execute.rb +1 -1
  221. data/lib/chef/provider/file.rb +5 -3
  222. data/lib/chef/provider/git.rb +4 -3
  223. data/lib/chef/provider/group.rb +7 -3
  224. data/lib/chef/provider/group/aix.rb +2 -0
  225. data/lib/chef/provider/group/dscl.rb +6 -3
  226. data/lib/chef/provider/group/groupadd.rb +1 -0
  227. data/lib/chef/provider/group/groupmod.rb +1 -1
  228. data/lib/chef/provider/group/pw.rb +3 -3
  229. data/lib/chef/provider/group/suse.rb +2 -2
  230. data/lib/chef/provider/group/usermod.rb +1 -0
  231. data/lib/chef/provider/group/windows.rb +1 -1
  232. data/lib/chef/provider/http_request.rb +1 -1
  233. data/lib/chef/provider/ifconfig.rb +12 -6
  234. data/lib/chef/provider/ifconfig/aix.rb +1 -0
  235. data/lib/chef/provider/ifconfig/debian.rb +1 -0
  236. data/lib/chef/provider/launchd.rb +16 -13
  237. data/lib/chef/provider/lwrp_base.rb +1 -2
  238. data/lib/chef/provider/mount.rb +1 -0
  239. data/lib/chef/provider/mount/aix.rb +6 -6
  240. data/lib/chef/provider/mount/mount.rb +5 -4
  241. data/lib/chef/provider/mount/solaris.rb +4 -4
  242. data/lib/chef/provider/package.rb +9 -6
  243. data/lib/chef/provider/package/apt.rb +4 -3
  244. data/lib/chef/provider/package/bff.rb +1 -0
  245. data/lib/chef/provider/package/cab.rb +4 -2
  246. data/lib/chef/provider/package/chocolatey.rb +5 -2
  247. data/lib/chef/provider/package/dnf.rb +1 -1
  248. data/lib/chef/provider/package/dnf/dnf_helper.py +15 -1
  249. data/lib/chef/provider/package/dnf/python_helper.rb +1 -0
  250. data/lib/chef/provider/package/dpkg.rb +4 -4
  251. data/lib/chef/provider/package/freebsd/base.rb +3 -2
  252. data/lib/chef/provider/package/freebsd/pkgng.rb +2 -2
  253. data/lib/chef/provider/package/homebrew.rb +1 -1
  254. data/lib/chef/provider/package/macports.rb +1 -0
  255. data/lib/chef/provider/package/msu.rb +3 -1
  256. data/lib/chef/provider/package/openbsd.rb +1 -1
  257. data/lib/chef/provider/package/paludis.rb +1 -0
  258. data/lib/chef/provider/package/portage.rb +2 -2
  259. data/lib/chef/provider/package/powershell.rb +3 -2
  260. data/lib/chef/provider/package/rpm.rb +1 -0
  261. data/lib/chef/provider/package/rubygems.rb +5 -3
  262. data/lib/chef/provider/package/smartos.rb +1 -0
  263. data/lib/chef/provider/package/snap.rb +5 -1
  264. data/lib/chef/provider/package/solaris.rb +2 -0
  265. data/lib/chef/provider/package/windows/exe.rb +5 -5
  266. data/lib/chef/provider/package/windows/msi.rb +8 -7
  267. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -0
  268. data/lib/chef/provider/package/yum.rb +5 -2
  269. data/lib/chef/provider/package/yum/python_helper.rb +2 -1
  270. data/lib/chef/provider/package/zypper.rb +1 -1
  271. data/lib/chef/provider/reboot.rb +1 -1
  272. data/lib/chef/provider/registry_key.rb +2 -2
  273. data/lib/chef/provider/remote_directory.rb +1 -1
  274. data/lib/chef/provider/remote_file.rb +10 -9
  275. data/lib/chef/provider/remote_file/fetcher.rb +3 -2
  276. data/lib/chef/provider/remote_file/local_file.rb +1 -1
  277. data/lib/chef/provider/route.rb +4 -2
  278. data/lib/chef/provider/service/aixinit.rb +1 -1
  279. data/lib/chef/provider/service/arch.rb +2 -1
  280. data/lib/chef/provider/service/debian.rb +12 -11
  281. data/lib/chef/provider/service/freebsd.rb +1 -1
  282. data/lib/chef/provider/service/openbsd.rb +7 -7
  283. data/lib/chef/provider/service/redhat.rb +2 -2
  284. data/lib/chef/provider/service/simple.rb +2 -1
  285. data/lib/chef/provider/service/systemd.rb +2 -2
  286. data/lib/chef/provider/service/upstart.rb +3 -2
  287. data/lib/chef/provider/service/windows.rb +7 -6
  288. data/lib/chef/provider/subversion.rb +4 -1
  289. data/lib/chef/provider/template.rb +1 -0
  290. data/lib/chef/provider/user.rb +5 -1
  291. data/lib/chef/provider/user/aix.rb +3 -0
  292. data/lib/chef/provider/user/dscl.rb +8 -3
  293. data/lib/chef/provider/user/linux.rb +1 -0
  294. data/lib/chef/provider/user/pw.rb +1 -0
  295. data/lib/chef/provider/user/solaris.rb +2 -0
  296. data/lib/chef/provider/user/windows.rb +2 -1
  297. data/lib/chef/provider/windows_env.rb +3 -0
  298. data/lib/chef/provider/windows_script.rb +1 -1
  299. data/lib/chef/provider/windows_task.rb +4 -3
  300. data/lib/chef/provider/yum_repository.rb +1 -2
  301. data/lib/chef/provider/zypper_repository.rb +2 -3
  302. data/lib/chef/recipe.rb +2 -1
  303. data/lib/chef/resource.rb +24 -15
  304. data/lib/chef/resource/.DS_Store +0 -0
  305. data/lib/chef/resource/apt_package.rb +9 -9
  306. data/lib/chef/resource/apt_preference.rb +9 -9
  307. data/lib/chef/resource/apt_repository.rb +86 -23
  308. data/lib/chef/resource/apt_update.rb +2 -2
  309. data/lib/chef/resource/archive_file.rb +13 -13
  310. data/lib/chef/resource/build_essential.rb +5 -4
  311. data/lib/chef/resource/cab_package.rb +9 -9
  312. data/lib/chef/resource/chef_gem.rb +4 -4
  313. data/lib/chef/resource/chef_handler.rb +8 -7
  314. data/lib/chef/resource/chocolatey_config.rb +3 -3
  315. data/lib/chef/resource/chocolatey_feature.rb +2 -2
  316. data/lib/chef/resource/chocolatey_package.rb +8 -8
  317. data/lib/chef/resource/chocolatey_source.rb +3 -3
  318. data/lib/chef/resource/cookbook_file.rb +4 -4
  319. data/lib/chef/resource/cron.rb +12 -12
  320. data/lib/chef/resource/cron_access.rb +2 -2
  321. data/lib/chef/resource/cron_d.rb +45 -38
  322. data/lib/chef/resource/directory.rb +2 -2
  323. data/lib/chef/resource/dmg_package.rb +26 -26
  324. data/lib/chef/resource/dnf_package.rb +20 -20
  325. data/lib/chef/resource/dpkg_package.rb +5 -5
  326. data/lib/chef/resource/dsc_resource.rb +7 -7
  327. data/lib/chef/resource/dsc_script.rb +9 -4
  328. data/lib/chef/resource/execute.rb +14 -14
  329. data/lib/chef/resource/file.rb +4 -4
  330. data/lib/chef/resource/file/verification.rb +2 -0
  331. data/lib/chef/resource/file/verification/systemd_unit.rb +1 -0
  332. data/lib/chef/resource/gem_package.rb +7 -7
  333. data/lib/chef/resource/git.rb +2 -2
  334. data/lib/chef/resource/group.rb +5 -5
  335. data/lib/chef/resource/homebrew_cask.rb +17 -17
  336. data/lib/chef/resource/homebrew_package.rb +1 -1
  337. data/lib/chef/resource/homebrew_tap.rb +18 -18
  338. data/lib/chef/resource/hostname.rb +11 -11
  339. data/lib/chef/resource/http_request.rb +1 -1
  340. data/lib/chef/resource/ifconfig.rb +26 -26
  341. data/lib/chef/resource/ips_package.rb +2 -2
  342. data/lib/chef/resource/kernel_module.rb +25 -7
  343. data/lib/chef/resource/launchd.rb +105 -105
  344. data/lib/chef/resource/link.rb +10 -10
  345. data/lib/chef/resource/locale.rb +20 -20
  346. data/lib/chef/resource/log.rb +4 -4
  347. data/lib/chef/resource/lwrp_base.rb +1 -0
  348. data/lib/chef/resource/macos_userdefaults.rb +17 -16
  349. data/lib/chef/resource/macosx_service.rb +1 -1
  350. data/lib/chef/resource/mdadm.rb +14 -14
  351. data/lib/chef/resource/mount.rb +24 -24
  352. data/lib/chef/resource/msu_package.rb +8 -8
  353. data/lib/chef/resource/ohai.rb +1 -1
  354. data/lib/chef/resource/ohai_hint.rb +7 -5
  355. data/lib/chef/resource/openssl_dhparam.rb +14 -14
  356. data/lib/chef/resource/openssl_ec_private_key.rb +16 -16
  357. data/lib/chef/resource/openssl_ec_public_key.rb +9 -9
  358. data/lib/chef/resource/openssl_rsa_private_key.rb +17 -17
  359. data/lib/chef/resource/openssl_rsa_public_key.rb +9 -9
  360. data/lib/chef/resource/openssl_x509_certificate.rb +34 -34
  361. data/lib/chef/resource/openssl_x509_crl.rb +17 -17
  362. data/lib/chef/resource/openssl_x509_request.rb +20 -20
  363. data/lib/chef/resource/osx_profile.rb +5 -5
  364. data/lib/chef/resource/package.rb +9 -9
  365. data/lib/chef/resource/paludis_package.rb +2 -2
  366. data/lib/chef/resource/powershell_package.rb +8 -8
  367. data/lib/chef/resource/powershell_package_source.rb +13 -13
  368. data/lib/chef/resource/reboot.rb +4 -4
  369. data/lib/chef/resource/registry_key.rb +5 -3
  370. data/lib/chef/resource/remote_directory.rb +20 -20
  371. data/lib/chef/resource/remote_file.rb +8 -7
  372. data/lib/chef/resource/resource_notification.rb +4 -3
  373. data/lib/chef/resource/rhsm_errata.rb +2 -2
  374. data/lib/chef/resource/rhsm_errata_level.rb +4 -4
  375. data/lib/chef/resource/rhsm_register.rb +14 -14
  376. data/lib/chef/resource/rhsm_repo.rb +3 -3
  377. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  378. data/lib/chef/resource/route.rb +11 -11
  379. data/lib/chef/resource/scm.rb +18 -18
  380. data/lib/chef/resource/service.rb +27 -27
  381. data/lib/chef/resource/snap_package.rb +4 -4
  382. data/lib/chef/resource/ssh_known_hosts_entry.rb +19 -19
  383. data/lib/chef/resource/subversion.rb +10 -10
  384. data/lib/chef/resource/sudo.rb +38 -37
  385. data/lib/chef/resource/swap_file.rb +9 -9
  386. data/lib/chef/resource/sysctl.rb +20 -17
  387. data/lib/chef/resource/systemd_unit.rb +12 -12
  388. data/lib/chef/resource/template.rb +8 -8
  389. data/lib/chef/resource/timezone.rb +3 -2
  390. data/lib/chef/resource/user.rb +19 -19
  391. data/lib/chef/resource/user/dscl_user.rb +2 -2
  392. data/lib/chef/resource/user/windows_user.rb +2 -2
  393. data/lib/chef/resource/windows_ad_join.rb +17 -16
  394. data/lib/chef/resource/windows_auto_run.rb +8 -8
  395. data/lib/chef/resource/windows_certificate.rb +13 -13
  396. data/lib/chef/resource/windows_dfs_folder.rb +13 -12
  397. data/lib/chef/resource/windows_dfs_namespace.rb +18 -18
  398. data/lib/chef/resource/windows_dfs_server.rb +12 -12
  399. data/lib/chef/resource/windows_dns_record.rb +8 -8
  400. data/lib/chef/resource/windows_dns_zone.rb +6 -6
  401. data/lib/chef/resource/windows_env.rb +6 -6
  402. data/lib/chef/resource/windows_feature.rb +12 -12
  403. data/lib/chef/resource/windows_feature_dism.rb +20 -19
  404. data/lib/chef/resource/windows_feature_powershell.rb +24 -22
  405. data/lib/chef/resource/windows_firewall_rule.rb +34 -34
  406. data/lib/chef/resource/windows_font.rb +4 -4
  407. data/lib/chef/resource/windows_package.rb +5 -5
  408. data/lib/chef/resource/windows_pagefile.rb +9 -8
  409. data/lib/chef/resource/windows_path.rb +2 -2
  410. data/lib/chef/resource/windows_printer.rb +15 -15
  411. data/lib/chef/resource/windows_printer_port.rb +14 -14
  412. data/lib/chef/resource/windows_script.rb +1 -1
  413. data/lib/chef/resource/windows_service.rb +16 -16
  414. data/lib/chef/resource/windows_share.rb +27 -24
  415. data/lib/chef/resource/windows_shortcut.rb +7 -7
  416. data/lib/chef/resource/windows_task.rb +53 -51
  417. data/lib/chef/resource/windows_uac.rb +15 -15
  418. data/lib/chef/resource/windows_workgroup.rb +15 -14
  419. data/lib/chef/resource/yum_package.rb +24 -24
  420. data/lib/chef/resource/yum_repository.rb +44 -44
  421. data/lib/chef/resource/zypper_package.rb +9 -9
  422. data/lib/chef/resource/zypper_repository.rb +30 -30
  423. data/lib/chef/resource_builder.rb +1 -0
  424. data/lib/chef/resource_collection.rb +6 -4
  425. data/lib/chef/resource_collection/resource_collection_serialization.rb +4 -3
  426. data/lib/chef/resource_collection/resource_list.rb +5 -3
  427. data/lib/chef/resource_collection/resource_set.rb +12 -8
  428. data/lib/chef/resource_collection/stepable_iterator.rb +1 -0
  429. data/lib/chef/resource_definition.rb +5 -3
  430. data/lib/chef/resource_definition_list.rb +1 -1
  431. data/lib/chef/resource_inspector.rb +1 -1
  432. data/lib/chef/resource_reporter.rb +1 -1
  433. data/lib/chef/role.rb +9 -7
  434. data/lib/chef/run_context.rb +5 -5
  435. data/lib/chef/run_context/cookbook_compiler.rb +5 -1
  436. data/lib/chef/run_list.rb +5 -4
  437. data/lib/chef/run_list/run_list_expansion.rb +3 -2
  438. data/lib/chef/run_list/run_list_item.rb +5 -5
  439. data/lib/chef/run_list/versioned_recipe_list.rb +1 -1
  440. data/lib/chef/run_status.rb +1 -1
  441. data/lib/chef/runner.rb +2 -4
  442. data/lib/chef/search/query.rb +3 -3
  443. data/lib/chef/shell/ext.rb +2 -2
  444. data/lib/chef/shell/model_wrapper.rb +2 -1
  445. data/lib/chef/shell/shell_session.rb +1 -1
  446. data/lib/chef/train_transport.rb +3 -3
  447. data/lib/chef/user.rb +6 -6
  448. data/lib/chef/user_v1.rb +13 -11
  449. data/lib/chef/util/diff.rb +5 -2
  450. data/lib/chef/util/dsc/configuration_generator.rb +6 -6
  451. data/lib/chef/util/dsc/lcm_output_parser.rb +2 -2
  452. data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
  453. data/lib/chef/util/dsc/resource_store.rb +2 -2
  454. data/lib/chef/util/file_edit.rb +1 -0
  455. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  456. data/lib/chef/util/threaded_job_queue.rb +1 -1
  457. data/lib/chef/util/windows/logon_session.rb +5 -5
  458. data/lib/chef/util/windows/net_use.rb +2 -2
  459. data/lib/chef/util/windows/net_user.rb +3 -2
  460. data/lib/chef/version.rb +1 -1
  461. data/lib/chef/version_class.rb +1 -1
  462. data/lib/chef/version_constraint.rb +1 -1
  463. data/lib/chef/whitelist.rb +1 -1
  464. data/lib/chef/win32/api/crypto.rb +11 -11
  465. data/lib/chef/win32/api/error.rb +4 -4
  466. data/lib/chef/win32/api/file.rb +38 -38
  467. data/lib/chef/win32/api/installer.rb +3 -3
  468. data/lib/chef/win32/api/memory.rb +4 -4
  469. data/lib/chef/win32/api/net.rb +38 -38
  470. data/lib/chef/win32/api/process.rb +2 -2
  471. data/lib/chef/win32/api/psapi.rb +1 -1
  472. data/lib/chef/win32/api/registry.rb +3 -3
  473. data/lib/chef/win32/api/security.rb +87 -87
  474. data/lib/chef/win32/api/synchronization.rb +5 -5
  475. data/lib/chef/win32/api/system.rb +7 -7
  476. data/lib/chef/win32/api/unicode.rb +3 -3
  477. data/lib/chef/win32/eventlog.rb +2 -2
  478. data/lib/chef/win32/file.rb +5 -2
  479. data/lib/chef/win32/file/info.rb +1 -0
  480. data/lib/chef/win32/file/version_info.rb +15 -14
  481. data/lib/chef/win32/memory.rb +1 -1
  482. data/lib/chef/win32/net.rb +8 -4
  483. data/lib/chef/win32/registry.rb +6 -1
  484. data/lib/chef/win32/security.rb +7 -2
  485. data/lib/chef/win32/security/acl.rb +2 -1
  486. data/lib/chef/win32/security/security_descriptor.rb +4 -2
  487. data/lib/chef/win32/security/sid.rb +11 -10
  488. data/lib/chef/win32/security/token.rb +3 -1
  489. data/lib/chef/win32/version.rb +3 -3
  490. data/spec/.DS_Store +0 -0
  491. data/spec/functional/dsl/reboot_pending_spec.rb +2 -2
  492. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
  493. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  494. data/spec/functional/knife/exec_spec.rb +1 -1
  495. data/spec/functional/knife/ssh_spec.rb +3 -3
  496. data/spec/functional/mixin/user_context_spec.rb +3 -1
  497. data/spec/functional/rebooter_spec.rb +1 -1
  498. data/spec/functional/resource/aix_service_spec.rb +1 -1
  499. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  500. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  501. data/spec/functional/resource/cookbook_file_spec.rb +1 -3
  502. data/spec/functional/resource/cron_spec.rb +1 -0
  503. data/spec/functional/resource/dnf_package_spec.rb +5 -5
  504. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  505. data/spec/functional/resource/dsc_resource_spec.rb +2 -1
  506. data/spec/functional/resource/dsc_script_spec.rb +7 -11
  507. data/spec/functional/resource/git_spec.rb +5 -5
  508. data/spec/functional/resource/group_spec.rb +15 -13
  509. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  510. data/spec/functional/resource/link_spec.rb +2 -2
  511. data/spec/functional/resource/locale_spec.rb +4 -4
  512. data/spec/functional/resource/mount_spec.rb +3 -3
  513. data/spec/functional/resource/powershell_script_spec.rb +9 -8
  514. data/spec/functional/resource/reboot_spec.rb +1 -1
  515. data/spec/functional/resource/remote_file_spec.rb +2 -2
  516. data/spec/functional/resource/template_spec.rb +1 -1
  517. data/spec/functional/resource/user/windows_spec.rb +2 -2
  518. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  519. data/spec/functional/resource/windows_service_spec.rb +3 -3
  520. data/spec/functional/run_lock_spec.rb +3 -2
  521. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  522. data/spec/functional/win32/security_spec.rb +12 -7
  523. data/spec/functional/win32/service_manager_spec.rb +1 -1
  524. data/spec/integration/client/client_spec.rb +79 -81
  525. data/spec/integration/client/exit_code_spec.rb +2 -2
  526. data/spec/integration/client/ipv6_spec.rb +2 -2
  527. data/spec/integration/knife/chef_fs_data_store_spec.rb +25 -25
  528. data/spec/integration/knife/chef_repo_path_spec.rb +4 -4
  529. data/spec/integration/knife/config_get_spec.rb +1 -1
  530. data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
  531. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  532. data/spec/integration/knife/cookbook_download_spec.rb +1 -1
  533. data/spec/integration/knife/diff_spec.rb +2 -2
  534. data/spec/integration/knife/download_spec.rb +1 -1
  535. data/spec/integration/knife/redirection_spec.rb +1 -1
  536. data/spec/integration/knife/upload_spec.rb +2 -2
  537. data/spec/integration/recipes/accumulator_spec.rb +4 -4
  538. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -5
  539. data/spec/integration/recipes/lwrp_spec.rb +2 -2
  540. data/spec/integration/recipes/notifies_spec.rb +20 -20
  541. data/spec/integration/recipes/notifying_block_spec.rb +4 -4
  542. data/spec/integration/recipes/provider_choice.rb +1 -2
  543. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  544. data/spec/integration/recipes/remote_directory.rb +2 -2
  545. data/spec/integration/solo/solo_spec.rb +20 -20
  546. data/spec/spec_helper.rb +9 -11
  547. data/spec/stress/win32/security_spec.rb +1 -1
  548. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  549. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  550. data/spec/support/mock/platform.rb +2 -2
  551. data/spec/support/platform_helpers.rb +14 -0
  552. data/spec/support/platforms/win32/spec_service.rb +6 -10
  553. data/spec/support/shared/functional/execute_resource.rb +4 -4
  554. data/spec/support/shared/functional/file_resource.rb +1 -3
  555. data/spec/support/shared/functional/http.rb +15 -39
  556. data/spec/support/shared/functional/securable_resource.rb +4 -8
  557. data/spec/support/shared/functional/win32_service.rb +1 -1
  558. data/spec/support/shared/functional/windows_script.rb +2 -1
  559. data/spec/support/shared/integration/app_server_support.rb +3 -4
  560. data/spec/support/shared/integration/integration_helper.rb +1 -0
  561. data/spec/support/shared/integration/knife_support.rb +5 -5
  562. data/spec/support/shared/unit/application_dot_d.rb +10 -4
  563. data/spec/support/shared/unit/file_system_support.rb +3 -2
  564. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  565. data/spec/support/shared/unit/provider/file.rb +1 -1
  566. data/spec/support/shared/unit/script_resource.rb +1 -1
  567. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  568. data/spec/tiny_server.rb +1 -1
  569. data/spec/unit/.DS_Store +0 -0
  570. data/spec/unit/api_client/registration_spec.rb +1 -1
  571. data/spec/unit/api_client_spec.rb +5 -5
  572. data/spec/unit/api_client_v1_spec.rb +6 -6
  573. data/spec/unit/application/client_spec.rb +8 -8
  574. data/spec/unit/application/exit_code_spec.rb +3 -2
  575. data/spec/unit/application/knife_spec.rb +1 -2
  576. data/spec/unit/chef_fs/config_spec.rb +3 -3
  577. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  578. data/spec/unit/chef_fs/parallelizer.rb +1 -1
  579. data/spec/unit/client_spec.rb +1 -1
  580. data/spec/unit/config_fetcher_spec.rb +1 -1
  581. data/spec/unit/cookbook/metadata_spec.rb +4 -4
  582. data/spec/unit/cookbook/synchronizer_spec.rb +4 -4
  583. data/spec/unit/cookbook_loader_spec.rb +10 -10
  584. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
  585. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  586. data/spec/unit/data_bag_item_spec.rb +8 -8
  587. data/spec/unit/data_bag_spec.rb +1 -1
  588. data/spec/unit/data_collector_spec.rb +82 -0
  589. data/spec/unit/decorator_spec.rb +2 -2
  590. data/spec/unit/deprecated_spec.rb +2 -2
  591. data/spec/unit/dsl/data_query_spec.rb +3 -2
  592. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  593. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  594. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
  595. data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
  596. data/spec/unit/environment_spec.rb +9 -9
  597. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  598. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  599. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  600. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  601. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  602. data/spec/unit/http/authenticator_spec.rb +3 -2
  603. data/spec/unit/http/json_input_spec.rb +1 -1
  604. data/spec/unit/key_spec.rb +7 -7
  605. data/spec/unit/knife/bootstrap/train_connector_spec.rb +13 -8
  606. data/spec/unit/knife/bootstrap_spec.rb +22 -16
  607. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  608. data/spec/unit/knife/configure_client_spec.rb +1 -1
  609. data/spec/unit/knife/configure_spec.rb +1 -1
  610. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  611. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  612. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  613. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  614. data/spec/unit/knife/cookbook_upload_spec.rb +4 -2
  615. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  616. data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
  617. data/spec/unit/knife/core/node_editor_spec.rb +8 -8
  618. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +1 -2
  619. data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
  620. data/spec/unit/knife/data_bag_show_spec.rb +2 -1
  621. data/spec/unit/knife/key_create_spec.rb +1 -1
  622. data/spec/unit/knife/key_delete_spec.rb +3 -3
  623. data/spec/unit/knife/key_edit_spec.rb +4 -4
  624. data/spec/unit/knife/key_list_spec.rb +1 -1
  625. data/spec/unit/knife/key_show_spec.rb +3 -3
  626. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  627. data/spec/unit/knife/node_delete_spec.rb +2 -2
  628. data/spec/unit/knife/node_edit_spec.rb +1 -1
  629. data/spec/unit/knife/node_environment_set_spec.rb +6 -1
  630. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  631. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  632. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  633. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  634. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  635. data/spec/unit/knife/node_show_spec.rb +1 -1
  636. data/spec/unit/knife/raw_spec.rb +2 -2
  637. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  638. data/spec/unit/knife/role_create_spec.rb +1 -1
  639. data/spec/unit/knife/role_delete_spec.rb +1 -1
  640. data/spec/unit/knife/role_edit_spec.rb +1 -1
  641. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  642. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  643. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  644. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  645. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  646. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  647. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  648. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  649. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  650. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  651. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  652. data/spec/unit/knife/status_spec.rb +2 -1
  653. data/spec/unit/knife/supermarket_install_spec.rb +5 -4
  654. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  655. data/spec/unit/knife_spec.rb +35 -34
  656. data/spec/unit/lwrp_spec.rb +19 -19
  657. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  658. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  659. data/spec/unit/mixin/properties_spec.rb +4 -4
  660. data/spec/unit/mixin/shell_out_spec.rb +3 -3
  661. data/spec/unit/mixin/template_spec.rb +4 -8
  662. data/spec/unit/mixin/unformatter_spec.rb +1 -2
  663. data/spec/unit/mixin/user_context_spec.rb +1 -2
  664. data/spec/unit/mixin/which.rb +2 -0
  665. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  666. data/spec/unit/node/attribute_spec.rb +12 -12
  667. data/spec/unit/node/immutable_collections_spec.rb +50 -50
  668. data/spec/unit/node/vivid_mash_spec.rb +4 -4
  669. data/spec/unit/node_spec.rb +12 -12
  670. data/spec/unit/org_spec.rb +3 -3
  671. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  672. data/spec/unit/property/state_spec.rb +26 -25
  673. data/spec/unit/property/validation_spec.rb +14 -13
  674. data/spec/unit/property_spec.rb +11 -10
  675. data/spec/unit/provider/apt_update_spec.rb +6 -6
  676. data/spec/unit/provider/cron_spec.rb +1 -1
  677. data/spec/unit/provider/dsc_resource_spec.rb +6 -3
  678. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  679. data/spec/unit/provider/git_spec.rb +38 -38
  680. data/spec/unit/provider/group/dscl_spec.rb +1 -1
  681. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  682. data/spec/unit/provider/group_spec.rb +2 -3
  683. data/spec/unit/provider/launchd_spec.rb +16 -8
  684. data/spec/unit/provider/link_spec.rb +22 -11
  685. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  686. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  687. data/spec/unit/provider/ohai_spec.rb +1 -1
  688. data/spec/unit/provider/osx_profile_spec.rb +5 -7
  689. data/spec/unit/provider/package/apt_spec.rb +5 -5
  690. data/spec/unit/provider/package/bff_spec.rb +1 -1
  691. data/spec/unit/provider/package/cab_spec.rb +1 -1
  692. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  693. data/spec/unit/provider/package/msu_spec.rb +1 -1
  694. data/spec/unit/provider/package/openbsd_spec.rb +14 -10
  695. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  696. data/spec/unit/provider/package/smartos_spec.rb +2 -2
  697. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  698. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  699. data/spec/unit/provider/package/windows_spec.rb +2 -1
  700. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  701. data/spec/unit/provider/package/zypper_spec.rb +13 -4
  702. data/spec/unit/provider/powershell_script_spec.rb +12 -12
  703. data/spec/unit/provider/registry_key_spec.rb +1 -1
  704. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  705. data/spec/unit/provider/route_spec.rb +11 -11
  706. data/spec/unit/provider/service/arch_service_spec.rb +11 -11
  707. data/spec/unit/provider/service/debian_service_spec.rb +2 -1
  708. data/spec/unit/provider/service/freebsd_service_spec.rb +23 -19
  709. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  710. data/spec/unit/provider/service/init_service_spec.rb +9 -9
  711. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  712. data/spec/unit/provider/service/macosx_spec.rb +1 -1
  713. data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
  714. data/spec/unit/provider/service/simple_service_spec.rb +5 -5
  715. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  716. data/spec/unit/provider/service/windows_spec.rb +53 -35
  717. data/spec/unit/provider/subversion_spec.rb +8 -4
  718. data/spec/unit/provider/systemd_unit_spec.rb +146 -146
  719. data/spec/unit/provider/template/content_spec.rb +28 -28
  720. data/spec/unit/provider/windows_task_spec.rb +7 -2
  721. data/spec/unit/provider_resolver_spec.rb +2 -2
  722. data/spec/unit/provider_spec.rb +2 -4
  723. data/spec/unit/recipe_spec.rb +3 -3
  724. data/spec/unit/resource/batch_spec.rb +1 -1
  725. data/spec/unit/resource/cab_package_spec.rb +1 -1
  726. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  727. data/spec/unit/resource/directory_spec.rb +1 -1
  728. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  729. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  730. data/spec/unit/resource/file/verification_spec.rb +1 -2
  731. data/spec/unit/resource/file_spec.rb +1 -1
  732. data/spec/unit/resource/group_spec.rb +1 -1
  733. data/spec/unit/resource/kernel_module_spec.rb +1 -0
  734. data/spec/unit/resource/link_spec.rb +1 -1
  735. data/spec/unit/resource/locale_spec.rb +12 -12
  736. data/spec/unit/resource/osx_profile_spec.rb +2 -1
  737. data/spec/unit/resource/powershell_script_spec.rb +12 -7
  738. data/spec/unit/resource/registry_key_spec.rb +3 -3
  739. data/spec/unit/resource/rhsm_repo_spec.rb +6 -0
  740. data/spec/unit/resource/service_spec.rb +1 -1
  741. data/spec/unit/resource/template_spec.rb +2 -2
  742. data/spec/unit/resource/windows_env_spec.rb +1 -1
  743. data/spec/unit/resource/windows_service_spec.rb +7 -7
  744. data/spec/unit/resource/windows_task_spec.rb +2 -2
  745. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  746. data/spec/unit/resource/yum_package_spec.rb +1 -1
  747. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  748. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  749. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  750. data/spec/unit/resource_collection_spec.rb +4 -4
  751. data/spec/unit/resource_definition_spec.rb +2 -2
  752. data/spec/unit/resource_inspector_spec.rb +1 -1
  753. data/spec/unit/resource_reporter_spec.rb +6 -4
  754. data/spec/unit/resource_spec.rb +21 -21
  755. data/spec/unit/role_spec.rb +2 -2
  756. data/spec/unit/run_context/cookbook_compiler_spec.rb +24 -24
  757. data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
  758. data/spec/unit/run_list_spec.rb +1 -1
  759. data/spec/unit/runner_spec.rb +3 -3
  760. data/spec/unit/search/query_spec.rb +3 -2
  761. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  762. data/spec/unit/shell/shell_session_spec.rb +8 -11
  763. data/spec/unit/shell_spec.rb +1 -2
  764. data/spec/unit/user_spec.rb +4 -4
  765. data/spec/unit/user_v1_spec.rb +3 -3
  766. data/spec/unit/util/backup_spec.rb +1 -1
  767. data/spec/unit/util/editor_spec.rb +1 -1
  768. data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
  769. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  770. data/spec/unit/version_class_spec.rb +4 -4
  771. data/spec/unit/win32/registry_spec.rb +5 -5
  772. data/spec/unit/win32/security_spec.rb +2 -1
  773. data/tasks/bin/run_external_test +1 -1
  774. data/tasks/docs.rb +78 -61
  775. data/tasks/rspec.rb +1 -1
  776. metadata +5 -5
  777. data/lib/chef/nil_argument.rb +0 -3
@@ -28,29 +28,29 @@ class Chef
28
28
 
29
29
  # https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations
30
30
  property :enable_uac, [TrueClass, FalseClass],
31
- description: 'Enable or disable UAC Admin Approval Mode. If this is changed a system restart is required. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA.',
32
- default: true # EnableLUA
31
+ description: 'Enable or disable UAC Admin Approval Mode. If this is changed a system restart is required. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA.',
32
+ default: true # EnableLUA
33
33
 
34
34
  property :require_signed_binaries, [TrueClass, FalseClass],
35
- description: 'Only elevate executables that are signed and validated. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ValidateAdminCodeSignatures.',
36
- default: false
35
+ description: 'Only elevate executables that are signed and validated. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ValidateAdminCodeSignatures.',
36
+ default: false
37
37
 
38
38
  property :prompt_on_secure_desktop, [TrueClass, FalseClass],
39
- description: 'Switch to the secure desktop when prompting for elevation. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\PromptOnSecureDesktop.',
40
- default: true
39
+ description: 'Switch to the secure desktop when prompting for elevation. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\PromptOnSecureDesktop.',
40
+ default: true
41
41
 
42
42
  property :detect_installers, [TrueClass, FalseClass],
43
- description: 'Detect application installations and prompt for elevation. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\EnableInstallerDetection.'
43
+ description: 'Detect application installations and prompt for elevation. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\EnableInstallerDetection.'
44
44
 
45
45
  property :consent_behavior_admins, Symbol,
46
- description: 'Behavior of the elevation prompt for administrators in Admin Approval Mode. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ConsentPromptBehaviorAdmin.',
47
- equal_to: [:no_prompt, :secure_prompt_for_creds, :secure_prompt_for_consent, :prompt_for_creds, :prompt_for_consent, :prompt_for_consent_non_windows_binaries],
48
- default: :prompt_for_consent_non_windows_binaries
46
+ description: 'Behavior of the elevation prompt for administrators in Admin Approval Mode. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ConsentPromptBehaviorAdmin.',
47
+ equal_to: %i{no_prompt secure_prompt_for_creds secure_prompt_for_consent prompt_for_creds prompt_for_consent prompt_for_consent_non_windows_binaries},
48
+ default: :prompt_for_consent_non_windows_binaries
49
49
 
50
50
  property :consent_behavior_users, Symbol,
51
- description: 'Behavior of the elevation prompt for standard users. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ConsentPromptBehaviorUser.',
52
- equal_to: [:auto_deny, :secure_prompt_for_creds, :prompt_for_creds],
53
- default: :prompt_for_creds
51
+ description: 'Behavior of the elevation prompt for standard users. Sets HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA\ConsentPromptBehaviorUser.',
52
+ equal_to: %i{auto_deny secure_prompt_for_creds prompt_for_creds},
53
+ default: :prompt_for_creds
54
54
 
55
55
  action :configure do
56
56
  description 'Configures UAC by setting registry keys at \'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\''
@@ -79,14 +79,14 @@ class Chef
79
79
  #
80
80
  # @return [Integer]
81
81
  def consent_behavior_admins_symbol_to_reg(sym)
82
- [:no_prompt, :secure_prompt_for_creds, :secure_prompt_for_consent, :prompt_for_creds, :prompt_for_consent, :prompt_for_consent_non_windows_binaries].index(sym)
82
+ %i{no_prompt secure_prompt_for_creds secure_prompt_for_consent prompt_for_creds prompt_for_consent prompt_for_consent_non_windows_binaries}.index(sym)
83
83
  end
84
84
 
85
85
  # converts the symbols we use in the consent_behavior_users property into numbers 0-2 based on their array index
86
86
  #
87
87
  # @return [Integer]
88
88
  def consent_behavior_users_symbol_to_reg(sym)
89
- [:auto_deny, :secure_prompt_for_creds, :prompt_for_creds].index(sym)
89
+ %i{auto_deny secure_prompt_for_creds prompt_for_creds}.index(sym)
90
90
  end
91
91
  end
92
92
  end
@@ -31,25 +31,25 @@ class Chef
31
31
  introduced "14.5"
32
32
 
33
33
  property :workgroup_name, String,
34
- description: "An optional property to set the workgroup name if it differs from the resource block's name.",
35
- validation_message: "The 'workgroup_name' property must not contain spaces.",
36
- regex: /^\S*$/, # no spaces
37
- name_property: true
34
+ description: "An optional property to set the workgroup name if it differs from the resource block's name.",
35
+ validation_message: "The 'workgroup_name' property must not contain spaces.",
36
+ regex: /^\S*$/, # no spaces
37
+ name_property: true
38
38
 
39
39
  property :user, String,
40
- description: "The local administrator user to use to change the workgroup. Required if using the password property.",
41
- desired_state: false
40
+ description: "The local administrator user to use to change the workgroup. Required if using the password property.",
41
+ desired_state: false
42
42
 
43
43
  property :password, String,
44
- description: "The password for the local administrator user. Required if using the user property.",
45
- desired_state: false
44
+ description: "The password for the local administrator user. Required if using the user property.",
45
+ desired_state: false
46
46
 
47
47
  property :reboot, Symbol,
48
- equal_to: [:never, :request_reboot, :reboot_now],
49
- validation_message: "The reboot property accepts :immediate (reboot as soon as the resource completes), :delayed (reboot once the #{Chef::Dist::PRODUCT} run completes), and :never (Don't reboot)",
50
- description: "Controls the system reboot behavior post workgroup joining. Reboot immediately, after the #{Chef::Dist::PRODUCT} run completes, or never. Note that a reboot is necessary for changes to take effect.",
51
- coerce: proc { |x| clarify_reboot(x) },
52
- default: :immediate, desired_state: false
48
+ equal_to: %i{never request_reboot reboot_now},
49
+ validation_message: "The reboot property accepts :immediate (reboot as soon as the resource completes), :delayed (reboot once the #{Chef::Dist::PRODUCT} run completes), and :never (Don't reboot)",
50
+ description: "Controls the system reboot behavior post workgroup joining. Reboot immediately, after the #{Chef::Dist::PRODUCT} run completes, or never. Note that a reboot is necessary for changes to take effect.",
51
+ coerce: proc { |x| clarify_reboot(x) },
52
+ default: :immediate, desired_state: false
53
53
 
54
54
  # This resource historically took `:immediate` and `:delayed` as arguments to the reboot property but then
55
55
  # tried to shove that straight to the `reboot` resource which objected strenuously. We need to convert these
@@ -69,7 +69,7 @@ class Chef
69
69
 
70
70
  # define this again so we can default it to true. Otherwise failures print the password
71
71
  property :sensitive, [TrueClass, FalseClass],
72
- default: true, desired_state: false
72
+ default: true, desired_state: false
73
73
 
74
74
  action :join do
75
75
  description "Update the workgroup."
@@ -105,6 +105,7 @@ class Chef
105
105
  def workgroup_member?
106
106
  node_workgroup = powershell_out!("(Get-WmiObject -Class Win32_ComputerSystem).Workgroup")
107
107
  raise "Failed to determine if system already a member of workgroup #{new_resource.workgroup_name}" if node_workgroup.error?
108
+
108
109
  node_workgroup.stdout.downcase.strip == new_resource.workgroup_name.downcase
109
110
  end
110
111
  end
@@ -40,38 +40,38 @@ class Chef
40
40
  # of variables eliminate entire classes of bugs).
41
41
  # </lecture>
42
42
  property :package_name, [ String, Array ],
43
- description: "One of the following: the name of a package, the name of a package and its architecture, the name of a dependency.",
44
- identity: true, coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
43
+ description: "One of the following: the name of a package, the name of a package and its architecture, the name of a dependency.",
44
+ identity: true, coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
45
45
 
46
46
  property :version, [ String, Array ],
47
- description: "The version of a package to be installed or upgraded. This property is ignored when using the ':upgrade' action.",
48
- coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
47
+ description: "The version of a package to be installed or upgraded. This property is ignored when using the ':upgrade' action.",
48
+ coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
49
49
 
50
50
  property :arch, [ String, Array ],
51
- description: "The architecture of the package to be installed or upgraded. This value can also be passed as part of the package name.",
52
- coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
51
+ description: "The architecture of the package to be installed or upgraded. This value can also be passed as part of the package name.",
52
+ coerce: proc { |x| x.is_a?(Array) ? x.to_a : x }
53
53
 
54
54
  property :flush_cache, Hash,
55
- description: "Flush the in-memory cache before or after a Yum operation that installs, upgrades, or removes a package. Accepts a Hash in the form: { :before => true/false, :after => true/false } or an Array in the form [ :before, :after ].\nYum automatically synchronizes remote metadata to a local cache. The #{Chef::Dist::CLIENT} creates a copy of the local cache, and then stores it in-memory during the #{Chef::Dist::CLIENT} run. The in-memory cache allows packages to be installed during the #{Chef::Dist::CLIENT} run without the need to continue synchronizing the remote metadata to the local cache while the #{Chef::Dist::CLIENT} run is in-progress.",
56
- default: { before: false, after: false },
57
- coerce: proc { |v|
58
- if v.is_a?(Hash)
59
- v
60
- elsif v.is_a?(Array)
61
- v.each_with_object({}) { |arg, obj| obj[arg] = true }
62
- elsif v.is_a?(TrueClass) || v.is_a?(FalseClass)
63
- { before: v, after: v }
64
- elsif v == :before
65
- { before: true, after: false }
66
- elsif v == :after
67
- { after: true, before: false }
68
- end
69
- }
55
+ description: "Flush the in-memory cache before or after a Yum operation that installs, upgrades, or removes a package. Accepts a Hash in the form: { :before => true/false, :after => true/false } or an Array in the form [ :before, :after ].\nYum automatically synchronizes remote metadata to a local cache. The #{Chef::Dist::CLIENT} creates a copy of the local cache, and then stores it in-memory during the #{Chef::Dist::CLIENT} run. The in-memory cache allows packages to be installed during the #{Chef::Dist::CLIENT} run without the need to continue synchronizing the remote metadata to the local cache while the #{Chef::Dist::CLIENT} run is in-progress.",
56
+ default: { before: false, after: false },
57
+ coerce: proc { |v|
58
+ if v.is_a?(Hash)
59
+ v
60
+ elsif v.is_a?(Array)
61
+ v.each_with_object({}) { |arg, obj| obj[arg] = true }
62
+ elsif v.is_a?(TrueClass) || v.is_a?(FalseClass)
63
+ { before: v, after: v }
64
+ elsif v == :before
65
+ { before: true, after: false }
66
+ elsif v == :after
67
+ { after: true, before: false }
68
+ end
69
+ }
70
70
 
71
71
  property :allow_downgrade, [ true, false ],
72
- description: "Downgrade a package to satisfy requested version requirements.",
73
- default: true,
74
- desired_state: false
72
+ description: "Downgrade a package to satisfy requested version requirements.",
73
+ default: true,
74
+ desired_state: false
75
75
 
76
76
  property :yum_binary, String
77
77
  end
@@ -33,74 +33,74 @@ class Chef
33
33
  # http://linux.die.net/man/5/yum.conf as well as
34
34
  # http://dnf.readthedocs.io/en/latest/conf_ref.html
35
35
  property :baseurl, [String, Array],
36
- description: "URL to the directory where the Yum repository's 'repodata' directory lives. Can be an http://, https:// or a ftp:// URL. You can specify multiple URLs in one baseurl statement."
36
+ description: "URL to the directory where the Yum repository's 'repodata' directory lives. Can be an http://, https:// or a ftp:// URL. You can specify multiple URLs in one baseurl statement."
37
37
 
38
38
  property :clean_headers, [TrueClass, FalseClass],
39
- description: "Specifies whether you want to purge the package data files that are downloaded from a Yum repository and held in a cache directory.",
40
- deprecated: true,
41
- default: false # deprecated
39
+ description: "Specifies whether you want to purge the package data files that are downloaded from a Yum repository and held in a cache directory.",
40
+ deprecated: true,
41
+ default: false # deprecated
42
42
 
43
43
  property :clean_metadata, [TrueClass, FalseClass],
44
- description: "Specifies whether you want to purge all of the packages downloaded from a Yum repository and held in a cache directory.",
45
- default: true
44
+ description: "Specifies whether you want to purge all of the packages downloaded from a Yum repository and held in a cache directory.",
45
+ default: true
46
46
 
47
47
  property :cost, String, regex: /^\d+$/,
48
48
  description: "Relative cost of accessing this repository. Useful for weighing one repo's packages as greater/less than any other.",
49
49
  validation_message: "The cost property must be a numeric value!"
50
50
 
51
51
  property :description, String,
52
- description: "Descriptive name for the repository channel and maps to the 'name' parameter in a repository .conf.",
53
- default: "Yum Repository"
52
+ description: "Descriptive name for the repository channel and maps to the 'name' parameter in a repository .conf.",
53
+ default: "Yum Repository"
54
54
 
55
55
  property :enabled, [TrueClass, FalseClass],
56
- description: "Specifies whether or not Yum should use this repository.",
57
- default: true
56
+ description: "Specifies whether or not Yum should use this repository.",
57
+ default: true
58
58
 
59
59
  property :enablegroups, [TrueClass, FalseClass],
60
- description: "Specifies whether Yum will allow the use of package groups for this repository."
60
+ description: "Specifies whether Yum will allow the use of package groups for this repository."
61
61
 
62
62
  property :exclude, String,
63
- description: "List of packages to exclude from updates or installs. This should be a space separated list. Shell globs using wildcards (eg. * and ?) are allowed."
63
+ description: "List of packages to exclude from updates or installs. This should be a space separated list. Shell globs using wildcards (eg. * and ?) are allowed."
64
64
 
65
65
  property :failovermethod, String,
66
- description: "Method to determine how to switch to a new server if the current one fails, which can either be ``roundrobin`` or ``priority``. ``roundrobin`` randomly selects a URL out of the list of URLs to start with and proceeds through each of them as it encounters a failure contacting the host. ``priority`` starts from the first ``baseurl`` listed and reads through them sequentially.",
67
- equal_to: %w{priority roundrobin}
66
+ description: "Method to determine how to switch to a new server if the current one fails, which can either be ``roundrobin`` or ``priority``. ``roundrobin`` randomly selects a URL out of the list of URLs to start with and proceeds through each of them as it encounters a failure contacting the host. ``priority`` starts from the first ``baseurl`` listed and reads through them sequentially.",
67
+ equal_to: %w{priority roundrobin}
68
68
 
69
69
  property :fastestmirror_enabled, [TrueClass, FalseClass],
70
- description: "Specifies whether to use the fastest mirror from a repository configuration when more than one mirror is listed in that configuration."
70
+ description: "Specifies whether to use the fastest mirror from a repository configuration when more than one mirror is listed in that configuration."
71
71
 
72
72
  property :gpgcheck, [TrueClass, FalseClass],
73
- description: "Specifies whether or not Yum should perform a GPG signature check on the packages received from a repository.",
74
- default: true
73
+ description: "Specifies whether or not Yum should perform a GPG signature check on the packages received from a repository.",
74
+ default: true
75
75
 
76
76
  property :gpgkey, [String, Array],
77
- description: "URL pointing to the ASCII-armored GPG key file for the repository. This is used if Yum needs a public key to verify a package and the required key hasn't been imported into the RPM database. If this option is set, Yum will automatically import the key from the specified URL. Multiple URLs may be specified in the same manner as the baseurl option. If a GPG key is required to install a package from a repository, all keys specified for that repository will be installed.\nMultiple URLs may be specified in the same manner as the baseurl option. If a GPG key is required to install a package from a repository, all keys specified for that repository will be installed."
77
+ description: "URL pointing to the ASCII-armored GPG key file for the repository. This is used if Yum needs a public key to verify a package and the required key hasn't been imported into the RPM database. If this option is set, Yum will automatically import the key from the specified URL. Multiple URLs may be specified in the same manner as the baseurl option. If a GPG key is required to install a package from a repository, all keys specified for that repository will be installed.\nMultiple URLs may be specified in the same manner as the baseurl option. If a GPG key is required to install a package from a repository, all keys specified for that repository will be installed."
78
78
 
79
79
  property :http_caching, String, equal_to: %w{packages all none},
80
80
  description: "Determines how upstream HTTP caches are instructed to handle any HTTP downloads that Yum does. This option can take the following values: all (all HTTP downloads should be cached), packages (only RPM package downloads should be cached, but not repository metadata downloads), or none (no HTTP downloads should be cached)"
81
81
 
82
82
  property :include_config, String,
83
- description: "An external configuration file using the format 'url://to/some/location'."
83
+ description: "An external configuration file using the format 'url://to/some/location'."
84
84
 
85
85
  property :includepkgs, String,
86
- description: "Inverse of exclude property. This is a list of packages you want to use from a repository. If this option lists only one package then that is all Yum will ever see from the repository."
86
+ description: "Inverse of exclude property. This is a list of packages you want to use from a repository. If this option lists only one package then that is all Yum will ever see from the repository."
87
87
 
88
88
  property :keepalive, [TrueClass, FalseClass],
89
- description: "Determines whether or not HTTP/1.1 ``keep-alive`` should be used with this repository."
89
+ description: "Determines whether or not HTTP/1.1 ``keep-alive`` should be used with this repository."
90
90
 
91
91
  property :make_cache, [TrueClass, FalseClass],
92
- description: "Determines whether package files downloaded by Yum stay in cache directories. By using cached data, you can carry out certain operations without a network connection.",
93
- default: true
92
+ description: "Determines whether package files downloaded by Yum stay in cache directories. By using cached data, you can carry out certain operations without a network connection.",
93
+ default: true
94
94
 
95
95
  property :max_retries, [String, Integer],
96
- description: "Number of times any attempt to retrieve a file should retry before returning an error. Setting this to '0' makes Yum try forever."
96
+ description: "Number of times any attempt to retrieve a file should retry before returning an error. Setting this to '0' makes Yum try forever."
97
97
 
98
98
  property :metadata_expire, String, regex: [/^\d+$/, /^\d+[mhd]$/, /never/],
99
99
  description: "Time (in seconds) after which the metadata will expire. If the current metadata downloaded is less than the value specified, then Yum will not update the metadata against the repository. If you find that Yum is not downloading information on updates as often as you would like lower the value of this option. You can also change from the default of using seconds to using days, hours or minutes by appending a 'd', 'h' or 'm' respectively. The default is six hours to compliment yum-updates running once per hour. It is also possible to use the word ``never``, meaning that the metadata will never expire. Note: When using a metalink file, the metalink must always be newer than the metadata for the repository due to the validation, so this timeout also applies to the metalink file.",
100
100
  validation_message: "The metadata_expire property must be a numeric value for time in seconds, the string 'never', or a numeric value appended with with 'd', 'h', or 'm'!"
101
101
 
102
102
  property :metalink, String,
103
- description: "Specifies a URL to a metalink file for the repomd.xml, a list of mirrors for the entire repository are generated by converting the mirrors for the repomd.xml file to a baseurl."
103
+ description: "Specifies a URL to a metalink file for the repomd.xml, a list of mirrors for the entire repository are generated by converting the mirrors for the repomd.xml file to a baseurl."
104
104
 
105
105
  property :mirror_expire, String, regex: [/^\d+$/, /^\d+[mhd]$/],
106
106
  description: "Time (in seconds) after which the mirrorlist locally cached will expire. If the current mirrorlist is less than this many seconds old then Yum will not download another copy of the mirrorlist, it has the same extra format as metadata_expire. If you find that Yum is not downloading the mirrorlists as often as you would like lower the value of this option. You can also change from the default of using seconds to using days, hours or minutes by appending a 'd', 'h' or 'm' respectively.",
@@ -111,69 +111,69 @@ class Chef
111
111
  validation_message: "The mirrorlist_expire property must be a numeric value for time in seconds, the string 'never', or a numeric value appended with with 'd', 'h', or 'm'!"
112
112
 
113
113
  property :mirrorlist, String,
114
- description: "URL to a file containing a list of baseurls. This can be used instead of or with the baseurl option. Substitution variables, described below, can be used with this option."
114
+ description: "URL to a file containing a list of baseurls. This can be used instead of or with the baseurl option. Substitution variables, described below, can be used with this option."
115
115
 
116
116
  property :mode, [String, Integer],
117
- description: "Permissions mode of .repo file on disk. This is useful for scenarios where secrets are in the repo file. If this value is set to '600', normal users will not be able to use Yum search, Yum info, etc.",
118
- default: "0644"
117
+ description: "Permissions mode of .repo file on disk. This is useful for scenarios where secrets are in the repo file. If this value is set to '600', normal users will not be able to use Yum search, Yum info, etc.",
118
+ default: "0644"
119
119
 
120
120
  property :options, Hash,
121
- description: "Specifies the repository options."
121
+ description: "Specifies the repository options."
122
122
 
123
123
  property :password, String,
124
- description: "Password to use with the username for basic authentication."
124
+ description: "Password to use with the username for basic authentication."
125
125
 
126
126
  property :priority, String, regex: /^(\d?[1-9]|[0-9][0-9])$/,
127
127
  description: "Assigns a priority to a repository where the priority value is between '1' and '99' inclusive. Priorities are used to enforce ordered protection of repositories. Packages from repositories with a lower priority (higher numerical value) will never be used to upgrade packages that were installed from a repository with a higher priority (lower numerical value). The repositories with the lowest numerical priority number have the highest priority.",
128
128
  validation_message: "The priority property must be a numeric value from 1-99!"
129
129
 
130
130
  property :proxy_password, String,
131
- description: "Password for this proxy."
131
+ description: "Password for this proxy."
132
132
 
133
133
  property :proxy_username, String,
134
- description: "Username to use for proxy."
134
+ description: "Username to use for proxy."
135
135
 
136
136
  property :proxy, String,
137
- description: "URL to the proxy server that Yum should use."
137
+ description: "URL to the proxy server that Yum should use."
138
138
 
139
139
  property :repo_gpgcheck, [TrueClass, FalseClass],
140
- description: "Determines whether or not Yum should perform a GPG signature check on the repodata from this repository."
140
+ description: "Determines whether or not Yum should perform a GPG signature check on the repodata from this repository."
141
141
 
142
142
  property :report_instanceid, [TrueClass, FalseClass],
143
- description: "Determines whether to report the instance ID when using Amazon Linux AMIs and repositories."
143
+ description: "Determines whether to report the instance ID when using Amazon Linux AMIs and repositories."
144
144
 
145
- property :repositoryid, String, regex: [/^[^\/]+$/],
145
+ property :repositoryid, String, regex: [%r{^[^/]+$}],
146
146
  description: "An optional property to set the repository name if it differs from the resource block's name.",
147
147
  validation_message: "repositoryid property cannot contain a forward slash '/'",
148
148
  name_property: true
149
149
 
150
150
  property :skip_if_unavailable, [TrueClass, FalseClass],
151
- description: "Allow yum to continue if this repository cannot be contacted for any reason."
151
+ description: "Allow yum to continue if this repository cannot be contacted for any reason."
152
152
 
153
153
  property :source, String,
154
- description: "Use a custom template source instead of the default one."
154
+ description: "Use a custom template source instead of the default one."
155
155
 
156
156
  property :sslcacert, String,
157
- description: "Path to the directory containing the databases of the certificate authorities Yum should use to verify SSL certificates."
157
+ description: "Path to the directory containing the databases of the certificate authorities Yum should use to verify SSL certificates."
158
158
 
159
159
  property :sslclientcert, String,
160
- description: "Path to the SSL client certificate Yum should use to connect to repos/remote sites."
160
+ description: "Path to the SSL client certificate Yum should use to connect to repos/remote sites."
161
161
 
162
162
  property :sslclientkey, String,
163
- description: "Path to the SSL client key Yum should use to connect to repos/remote sites."
163
+ description: "Path to the SSL client key Yum should use to connect to repos/remote sites."
164
164
 
165
165
  property :sslverify, [TrueClass, FalseClass],
166
- description: "Determines whether Yum will verify SSL certificates/hosts."
166
+ description: "Determines whether Yum will verify SSL certificates/hosts."
167
167
 
168
168
  property :throttle, [String, Integer],
169
- description: "Enable bandwidth throttling for downloads."
169
+ description: "Enable bandwidth throttling for downloads."
170
170
 
171
171
  property :timeout, String, regex: /^\d+$/,
172
172
  description: "Number of seconds to wait for a connection before timing out. Defaults to 30 seconds. This may be too short of a time for extremely overloaded sites.",
173
173
  validation_message: "The timeout property must be a numeric value!"
174
174
 
175
175
  property :username, String,
176
- description: "Username to use for basic authentication to a repository."
176
+ description: "Username to use for basic authentication to a repository."
177
177
 
178
178
  default_action :create
179
179
  allowed_actions :create, :remove, :makecache, :add, :delete
@@ -28,19 +28,19 @@ class Chef
28
28
  description "Use the zypper_package resource to install, upgrade, and remove packages with Zypper for the SUSE Enterprise and OpenSUSE platforms."
29
29
 
30
30
  property :gpg_check, [ TrueClass, FalseClass ],
31
- description: "Verify the package's GPG signature. Can also be controlled site-wide using the ``zypper_check_gpg`` config option.",
32
- default: lazy { Chef::Config[:zypper_check_gpg] }, default_description: "true"
31
+ description: "Verify the package's GPG signature. Can also be controlled site-wide using the ``zypper_check_gpg`` config option.",
32
+ default: lazy { Chef::Config[:zypper_check_gpg] }, default_description: "true"
33
33
 
34
34
  property :allow_downgrade, [ TrueClass, FalseClass ],
35
- description: "Allow downgrading a package to satisfy requested version requirements.",
36
- default: true,
37
- desired_state: false,
38
- introduced: "13.6"
35
+ description: "Allow downgrading a package to satisfy requested version requirements.",
36
+ default: true,
37
+ desired_state: false,
38
+ introduced: "13.6"
39
39
 
40
40
  property :global_options, [ String, Array ],
41
- description: "One (or more) additional command options that are passed to the command. For example, common zypper directives, such as '--no-recommends'. See the zypper man page at https://en.opensuse.org/SDB:Zypper_manual_(plain) for the full list.",
42
- coerce: proc { |x| x.is_a?(String) ? x.shellsplit : x },
43
- introduced: "14.6"
41
+ description: "One (or more) additional command options that are passed to the command. For example, common zypper directives, such as '--no-recommends'. See the zypper man page at https://en.opensuse.org/SDB:Zypper_manual_(plain) for the full list.",
42
+ coerce: proc { |x| x.is_a?(String) ? x.shellsplit : x },
43
+ introduced: "14.6"
44
44
  end
45
45
  end
46
46
  end
@@ -29,68 +29,68 @@ class Chef
29
29
  introduced "13.3"
30
30
 
31
31
  property :repo_name, String,
32
- regex: [/^[^\/]+$/],
33
- description: "An optional property to set the repository name if it differs from the resource block's name.",
34
- validation_message: "repo_name property cannot contain a forward slash '/'",
35
- name_property: true
32
+ regex: [%r{^[^/]+$}],
33
+ description: "An optional property to set the repository name if it differs from the resource block's name.",
34
+ validation_message: "repo_name property cannot contain a forward slash '/'",
35
+ name_property: true
36
36
 
37
37
  property :description, String,
38
- description: "The description of the repository that will be shown by the 'zypper repos' command."
38
+ description: "The description of the repository that will be shown by the 'zypper repos' command."
39
39
 
40
40
  property :type, String,
41
- description: "Specifies the repository type.",
42
- default: "NONE"
41
+ description: "Specifies the repository type.",
42
+ default: "NONE"
43
43
 
44
44
  property :enabled, [TrueClass, FalseClass],
45
- description: "Determines whether or not the repository should be enabled.",
46
- default: true
45
+ description: "Determines whether or not the repository should be enabled.",
46
+ default: true
47
47
 
48
48
  property :autorefresh, [TrueClass, FalseClass],
49
- description: "Determines whether or not the repository should be refreshed automatically.",
50
- default: true
49
+ description: "Determines whether or not the repository should be refreshed automatically.",
50
+ default: true
51
51
 
52
52
  property :gpgcheck, [TrueClass, FalseClass],
53
- description: "Determines whether or not to perform a GPG signature check on the repository.",
54
- default: true
53
+ description: "Determines whether or not to perform a GPG signature check on the repository.",
54
+ default: true
55
55
 
56
56
  property :gpgkey, String,
57
- description: "The location of the repository key to be imported."
57
+ description: "The location of the repository key to be imported."
58
58
 
59
59
  property :baseurl, String,
60
- description: "The base URL for the Zypper repository, such as 'http://download.opensuse.org'."
60
+ description: "The base URL for the Zypper repository, such as 'http://download.opensuse.org'."
61
61
 
62
62
  property :mirrorlist, String,
63
- description: "The URL of the mirror list that will be used."
63
+ description: "The URL of the mirror list that will be used."
64
64
 
65
65
  property :path, String,
66
- description: "The relative path from the repository's base URL."
66
+ description: "The relative path from the repository's base URL."
67
67
 
68
68
  property :priority, Integer,
69
- description: "Determines the priority of the Zypper repository. ",
70
- default: 99
69
+ description: "Determines the priority of the Zypper repository. ",
70
+ default: 99
71
71
 
72
72
  property :keeppackages, [TrueClass, FalseClass],
73
- description: "Determines whether or not packages should be saved.",
74
- default: false
73
+ description: "Determines whether or not packages should be saved.",
74
+ default: false
75
75
 
76
76
  property :mode, [String, Integer],
77
- description: "The file mode of the repository file.",
78
- default: "0644"
77
+ description: "The file mode of the repository file.",
78
+ default: "0644"
79
79
 
80
80
  property :refresh_cache, [TrueClass, FalseClass],
81
- description: "Determines whether or not the package cache should be refreshed.",
82
- default: true
81
+ description: "Determines whether or not the package cache should be refreshed.",
82
+ default: true
83
83
 
84
84
  property :source, String,
85
- description: "The name of the template for the repository file. Only necessary if you're not using the built in template."
85
+ description: "The name of the template for the repository file. Only necessary if you're not using the built in template."
86
86
 
87
87
  property :cookbook, String,
88
- description: "The cookbook to source the repository template file from. Only necessary if you're not using the built in template.",
89
- desired_state: false
88
+ description: "The cookbook to source the repository template file from. Only necessary if you're not using the built in template.",
89
+ desired_state: false
90
90
 
91
91
  property :gpgautoimportkeys, [TrueClass, FalseClass],
92
- description: "Automatically import the specified key when setting up the repository.",
93
- default: true
92
+ description: "Automatically import the specified key when setting up the repository.",
93
+ default: true
94
94
 
95
95
  default_action :create
96
96
  allowed_actions :create, :remove, :add, :refresh