chef 16.10.8 → 17.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (618) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -10
  3. data/README.md +1 -1
  4. data/Rakefile +13 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +7 -9
  7. data/lib/chef/application/base.rb +1 -1
  8. data/lib/chef/applications.rb +0 -1
  9. data/lib/chef/chef_fs/command_line.rb +5 -2
  10. data/lib/chef/chef_fs/file_system.rb +9 -10
  11. data/lib/chef/client.rb +2 -2
  12. data/lib/chef/compliance/default_attributes.rb +10 -5
  13. data/lib/chef/compliance/fetcher/automate.rb +15 -11
  14. data/lib/chef/compliance/reporter/automate.rb +17 -7
  15. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  16. data/lib/chef/compliance/reporter/cli.rb +77 -0
  17. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  18. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  19. data/lib/chef/compliance/runner.rb +71 -28
  20. data/lib/chef/cookbook/synchronizer.rb +3 -5
  21. data/lib/chef/cookbook_loader.rb +2 -4
  22. data/lib/chef/cookbook_uploader.rb +0 -1
  23. data/lib/chef/data_bag_item.rb +11 -2
  24. data/lib/chef/delayed_evaluator.rb +4 -0
  25. data/lib/chef/deprecated.rb +4 -0
  26. data/lib/chef/dsl/chef_vault.rb +6 -6
  27. data/lib/chef/dsl/reboot_pending.rb +1 -2
  28. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  29. data/lib/chef/group.rb +75 -0
  30. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  31. data/lib/chef/node/attribute.rb +6 -4
  32. data/lib/chef/node/immutable_collections.rb +13 -0
  33. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  34. data/lib/chef/org.rb +3 -2
  35. data/lib/chef/property.rb +18 -0
  36. data/lib/chef/provider.rb +1 -1
  37. data/lib/chef/provider/cron.rb +1 -1
  38. data/lib/chef/provider/execute.rb +2 -1
  39. data/lib/chef/provider/file.rb +2 -2
  40. data/lib/chef/provider/git.rb +5 -7
  41. data/lib/chef/provider/group/groupadd.rb +3 -3
  42. data/lib/chef/provider/group/groupmod.rb +3 -3
  43. data/lib/chef/provider/group/pw.rb +3 -3
  44. data/lib/chef/provider/ifconfig.rb +2 -2
  45. data/lib/chef/provider/link.rb +2 -2
  46. data/lib/chef/provider/mount.rb +12 -7
  47. data/lib/chef/provider/mount/aix.rb +3 -3
  48. data/lib/chef/provider/mount/mount.rb +6 -6
  49. data/lib/chef/provider/mount/windows.rb +1 -1
  50. data/lib/chef/provider/package.rb +17 -21
  51. data/lib/chef/provider/package/apt.rb +27 -1
  52. data/lib/chef/provider/package/deb.rb +3 -3
  53. data/lib/chef/provider/package/dnf/dnf_helper.py +5 -1
  54. data/lib/chef/provider/package/portage.rb +2 -2
  55. data/lib/chef/provider/package/rubygems.rb +11 -17
  56. data/lib/chef/provider/package/windows.rb +2 -4
  57. data/lib/chef/provider/package/yum/yum_helper.py +5 -1
  58. data/lib/chef/provider/route.rb +2 -2
  59. data/lib/chef/provider/service.rb +6 -6
  60. data/lib/chef/provider/service/aixinit.rb +1 -1
  61. data/lib/chef/provider/service/debian.rb +1 -1
  62. data/lib/chef/provider/service/freebsd.rb +15 -21
  63. data/lib/chef/provider/service/macosx.rb +7 -7
  64. data/lib/chef/provider/service/systemd.rb +43 -14
  65. data/lib/chef/provider/service/upstart.rb +2 -13
  66. data/lib/chef/provider/service/windows.rb +12 -12
  67. data/lib/chef/provider/subversion.rb +10 -12
  68. data/lib/chef/provider/systemd_unit.rb +36 -10
  69. data/lib/chef/provider/template/content.rb +2 -6
  70. data/lib/chef/provider/user.rb +2 -2
  71. data/lib/chef/provider/user/dscl.rb +1 -1
  72. data/lib/chef/provider/user/mac.rb +17 -20
  73. data/lib/chef/provider/user/pw.rb +1 -1
  74. data/lib/chef/provider/user/windows.rb +1 -1
  75. data/lib/chef/provider/zypper_repository.rb +2 -2
  76. data/lib/chef/providers.rb +0 -1
  77. data/lib/chef/resource/alternatives.rb +6 -6
  78. data/lib/chef/resource/apt_package.rb +1 -1
  79. data/lib/chef/resource/apt_preference.rb +2 -2
  80. data/lib/chef/resource/apt_repository.rb +6 -6
  81. data/lib/chef/resource/apt_update.rb +3 -2
  82. data/lib/chef/resource/archive_file.rb +2 -3
  83. data/lib/chef/resource/breakpoint.rb +1 -1
  84. data/lib/chef/resource/build_essential.rb +2 -6
  85. data/lib/chef/resource/chef_client_config.rb +2 -2
  86. data/lib/chef/resource/chef_client_cron.rb +5 -5
  87. data/lib/chef/resource/chef_client_launchd.rb +4 -4
  88. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  89. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  90. data/lib/chef/resource/chef_handler.rb +3 -7
  91. data/lib/chef/resource/chef_sleep.rb +1 -1
  92. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  93. data/lib/chef/resource/chocolatey_config.rb +2 -6
  94. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  95. data/lib/chef/resource/chocolatey_source.rb +4 -10
  96. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  97. data/lib/chef/resource/cron_access.rb +2 -4
  98. data/lib/chef/resource/dmg_package.rb +6 -10
  99. data/lib/chef/resource/dpkg_package.rb +1 -1
  100. data/lib/chef/resource/execute.rb +6 -1
  101. data/lib/chef/resource/file.rb +1 -1
  102. data/lib/chef/resource/group.rb +2 -2
  103. data/lib/chef/resource/homebrew_cask.rb +2 -6
  104. data/lib/chef/resource/homebrew_tap.rb +2 -6
  105. data/lib/chef/resource/hostname.rb +21 -17
  106. data/lib/chef/resource/http_request.rb +1 -1
  107. data/lib/chef/resource/kernel_module.rb +6 -17
  108. data/lib/chef/resource/locale.rb +2 -3
  109. data/lib/chef/resource/lwrp_base.rb +4 -0
  110. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  111. data/lib/chef/resource/mdadm.rb +53 -7
  112. data/lib/chef/resource/mount.rb +2 -1
  113. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  114. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  115. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  116. data/lib/chef/resource/plist.rb +7 -7
  117. data/lib/chef/resource/powershell_script.rb +1 -1
  118. data/lib/chef/resource/remote_file.rb +1 -1
  119. data/lib/chef/resource/rhsm_errata.rb +16 -1
  120. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  121. data/lib/chef/resource/rhsm_register.rb +12 -6
  122. data/lib/chef/resource/rhsm_repo.rb +2 -6
  123. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  124. data/lib/chef/resource/scm/git.rb +1 -1
  125. data/lib/chef/resource/sudo.rb +6 -6
  126. data/lib/chef/resource/sysctl.rb +2 -6
  127. data/lib/chef/resource/systemd_unit.rb +2 -2
  128. data/lib/chef/resource/template.rb +1 -1
  129. data/lib/chef/resource/timezone.rb +1 -3
  130. data/lib/chef/resource/user/mac_user.rb +1 -1
  131. data/lib/chef/resource/user_ulimit.rb +2 -2
  132. data/lib/chef/resource/windows_ad_join.rb +2 -6
  133. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  134. data/lib/chef/resource/windows_auto_run.rb +2 -5
  135. data/lib/chef/resource/windows_certificate.rb +207 -73
  136. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  137. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  138. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  139. data/lib/chef/resource/windows_dns_record.rb +2 -6
  140. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  141. data/lib/chef/resource/windows_env.rb +5 -4
  142. data/lib/chef/resource/windows_feature.rb +3 -9
  143. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  144. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  145. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  146. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  147. data/lib/chef/resource/windows_font.rb +2 -4
  148. data/lib/chef/resource/windows_pagefile.rb +2 -6
  149. data/lib/chef/resource/windows_path.rb +2 -2
  150. data/lib/chef/resource/windows_printer.rb +4 -4
  151. data/lib/chef/resource/windows_printer_port.rb +6 -6
  152. data/lib/chef/resource/windows_security_policy.rb +53 -40
  153. data/lib/chef/resource/windows_share.rb +14 -21
  154. data/lib/chef/resource/windows_shortcut.rb +4 -6
  155. data/lib/chef/resource/windows_task.rb +17 -5
  156. data/lib/chef/resource/windows_uac.rb +1 -1
  157. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  158. data/lib/chef/resource/windows_workgroup.rb +1 -2
  159. data/lib/chef/resources.rb +0 -1
  160. data/lib/chef/user.rb +0 -1
  161. data/lib/chef/user_v1.rb +3 -4
  162. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  163. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  164. data/lib/chef/version.rb +1 -1
  165. data/lib/chef/win32/registry.rb +4 -2
  166. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  167. data/spec/data/lwrp/resources/bar.rb +2 -0
  168. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  169. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  170. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  171. data/spec/data/lwrp/resources/foo.rb +2 -0
  172. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  173. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  174. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  175. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  176. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  177. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  178. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  179. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  180. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  181. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  182. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  183. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  184. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  185. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  186. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  187. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  188. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  189. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  190. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  191. data/spec/functional/resource/apt_package_spec.rb +1 -1
  192. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  193. data/spec/functional/resource/cron_spec.rb +1 -1
  194. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  195. data/spec/functional/resource/registry_spec.rb +8 -8
  196. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  197. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  198. data/spec/functional/version_spec.rb +1 -1
  199. data/spec/functional/win32/registry_spec.rb +1 -1
  200. data/spec/integration/client/client_spec.rb +5 -2
  201. data/spec/integration/client/exit_code_spec.rb +1 -1
  202. data/spec/integration/client/ipv6_spec.rb +1 -1
  203. data/spec/integration/compliance/compliance_spec.rb +3 -2
  204. data/spec/integration/ohai/ohai_spec.rb +7 -6
  205. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  206. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  207. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  208. data/spec/integration/recipes/notifies_spec.rb +15 -1
  209. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  210. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  211. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  212. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  213. data/spec/spec_helper.rb +11 -13
  214. data/spec/support/chef_helpers.rb +0 -16
  215. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  216. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  217. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  218. data/spec/support/matchers/leak.rb +7 -9
  219. data/spec/support/platform_helpers.rb +5 -8
  220. data/spec/support/shared/integration/integration_helper.rb +0 -1
  221. data/spec/support/shared/unit/provider/file.rb +14 -0
  222. data/spec/support/shared/unit/script_resource.rb +2 -2
  223. data/spec/unit/application/solo_spec.rb +2 -2
  224. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  225. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  226. data/spec/unit/compliance/fetcher/automate_spec.rb +5 -13
  227. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  228. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  229. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  230. data/spec/unit/compliance/runner_spec.rb +84 -9
  231. data/spec/unit/data_bag_item_spec.rb +1 -6
  232. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  233. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  234. data/spec/unit/lwrp_spec.rb +1 -1
  235. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  236. data/spec/unit/node/attribute_spec.rb +1 -1
  237. data/spec/unit/node_spec.rb +78 -0
  238. data/spec/unit/org_group_spec.rb +45 -0
  239. data/spec/unit/property_spec.rb +23 -22
  240. data/spec/unit/provider/cron_spec.rb +1 -1
  241. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  242. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  243. data/spec/unit/provider/group/pw_spec.rb +2 -2
  244. data/spec/unit/provider/group_spec.rb +1 -1
  245. data/spec/unit/provider/mount/mount_spec.rb +52 -0
  246. data/spec/unit/provider/package/apt_spec.rb +84 -18
  247. data/spec/unit/provider/package/deb_spec.rb +3 -3
  248. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  249. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  250. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  251. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  252. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  253. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  254. data/spec/unit/provider/service/windows_spec.rb +2 -2
  255. data/spec/unit/provider/subversion_spec.rb +2 -2
  256. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  257. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  258. data/spec/unit/provider_spec.rb +0 -8
  259. data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
  260. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  261. data/spec/unit/resource/windows_task_spec.rb +1 -1
  262. data/spec/unit/user_spec.rb +1 -1
  263. data/spec/unit/user_v1_spec.rb +6 -4
  264. data/tasks/rspec.rb +16 -8
  265. metadata +21 -384
  266. data/bin/knife +0 -24
  267. data/lib/chef/application/knife.rb +0 -234
  268. data/lib/chef/application/windows_service.rb +0 -338
  269. data/lib/chef/application/windows_service_manager.rb +0 -205
  270. data/lib/chef/chef_fs/knife.rb +0 -160
  271. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  272. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  273. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  274. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  275. data/lib/chef/knife.rb +0 -665
  276. data/lib/chef/knife/acl_add.rb +0 -57
  277. data/lib/chef/knife/acl_base.rb +0 -183
  278. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  279. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  280. data/lib/chef/knife/acl_remove.rb +0 -62
  281. data/lib/chef/knife/acl_show.rb +0 -56
  282. data/lib/chef/knife/bootstrap.rb +0 -1192
  283. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  284. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  285. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  286. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  287. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  288. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  289. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  290. data/lib/chef/knife/client_create.rb +0 -101
  291. data/lib/chef/knife/client_delete.rb +0 -62
  292. data/lib/chef/knife/client_edit.rb +0 -52
  293. data/lib/chef/knife/client_key_create.rb +0 -73
  294. data/lib/chef/knife/client_key_delete.rb +0 -80
  295. data/lib/chef/knife/client_key_edit.rb +0 -83
  296. data/lib/chef/knife/client_key_list.rb +0 -73
  297. data/lib/chef/knife/client_key_show.rb +0 -80
  298. data/lib/chef/knife/client_list.rb +0 -41
  299. data/lib/chef/knife/client_reregister.rb +0 -58
  300. data/lib/chef/knife/client_show.rb +0 -48
  301. data/lib/chef/knife/config_get.rb +0 -39
  302. data/lib/chef/knife/config_get_profile.rb +0 -37
  303. data/lib/chef/knife/config_list.rb +0 -139
  304. data/lib/chef/knife/config_list_profiles.rb +0 -37
  305. data/lib/chef/knife/config_show.rb +0 -127
  306. data/lib/chef/knife/config_use.rb +0 -61
  307. data/lib/chef/knife/config_use_profile.rb +0 -47
  308. data/lib/chef/knife/configure.rb +0 -150
  309. data/lib/chef/knife/configure_client.rb +0 -48
  310. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  311. data/lib/chef/knife/cookbook_delete.rb +0 -151
  312. data/lib/chef/knife/cookbook_download.rb +0 -142
  313. data/lib/chef/knife/cookbook_list.rb +0 -47
  314. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  315. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  316. data/lib/chef/knife/cookbook_show.rb +0 -98
  317. data/lib/chef/knife/cookbook_upload.rb +0 -292
  318. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  319. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  320. data/lib/chef/knife/core/formatting_options.rb +0 -49
  321. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  322. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  323. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  324. data/lib/chef/knife/core/node_editor.rb +0 -130
  325. data/lib/chef/knife/core/node_presenter.rb +0 -133
  326. data/lib/chef/knife/core/object_loader.rb +0 -115
  327. data/lib/chef/knife/core/status_presenter.rb +0 -147
  328. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  329. data/lib/chef/knife/core/text_formatter.rb +0 -85
  330. data/lib/chef/knife/core/ui.rb +0 -338
  331. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  332. data/lib/chef/knife/data_bag_create.rb +0 -81
  333. data/lib/chef/knife/data_bag_delete.rb +0 -49
  334. data/lib/chef/knife/data_bag_edit.rb +0 -74
  335. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  336. data/lib/chef/knife/data_bag_list.rb +0 -42
  337. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  338. data/lib/chef/knife/data_bag_show.rb +0 -69
  339. data/lib/chef/knife/delete.rb +0 -125
  340. data/lib/chef/knife/deps.rb +0 -156
  341. data/lib/chef/knife/diff.rb +0 -83
  342. data/lib/chef/knife/download.rb +0 -84
  343. data/lib/chef/knife/edit.rb +0 -88
  344. data/lib/chef/knife/environment_compare.rb +0 -128
  345. data/lib/chef/knife/environment_create.rb +0 -52
  346. data/lib/chef/knife/environment_delete.rb +0 -44
  347. data/lib/chef/knife/environment_edit.rb +0 -44
  348. data/lib/chef/knife/environment_from_file.rb +0 -84
  349. data/lib/chef/knife/environment_list.rb +0 -41
  350. data/lib/chef/knife/environment_show.rb +0 -47
  351. data/lib/chef/knife/exec.rb +0 -99
  352. data/lib/chef/knife/group_add.rb +0 -55
  353. data/lib/chef/knife/group_create.rb +0 -49
  354. data/lib/chef/knife/group_destroy.rb +0 -53
  355. data/lib/chef/knife/group_list.rb +0 -43
  356. data/lib/chef/knife/group_remove.rb +0 -56
  357. data/lib/chef/knife/group_show.rb +0 -49
  358. data/lib/chef/knife/key_create.rb +0 -112
  359. data/lib/chef/knife/key_create_base.rb +0 -50
  360. data/lib/chef/knife/key_delete.rb +0 -55
  361. data/lib/chef/knife/key_edit.rb +0 -118
  362. data/lib/chef/knife/key_edit_base.rb +0 -55
  363. data/lib/chef/knife/key_list.rb +0 -90
  364. data/lib/chef/knife/key_list_base.rb +0 -45
  365. data/lib/chef/knife/key_show.rb +0 -53
  366. data/lib/chef/knife/list.rb +0 -177
  367. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  368. data/lib/chef/knife/node_create.rb +0 -47
  369. data/lib/chef/knife/node_delete.rb +0 -46
  370. data/lib/chef/knife/node_edit.rb +0 -70
  371. data/lib/chef/knife/node_environment_set.rb +0 -53
  372. data/lib/chef/knife/node_from_file.rb +0 -51
  373. data/lib/chef/knife/node_list.rb +0 -44
  374. data/lib/chef/knife/node_policy_set.rb +0 -79
  375. data/lib/chef/knife/node_run_list_add.rb +0 -104
  376. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  377. data/lib/chef/knife/node_run_list_set.rb +0 -66
  378. data/lib/chef/knife/node_show.rb +0 -63
  379. data/lib/chef/knife/null.rb +0 -12
  380. data/lib/chef/knife/raw.rb +0 -123
  381. data/lib/chef/knife/recipe_list.rb +0 -32
  382. data/lib/chef/knife/rehash.rb +0 -50
  383. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  384. data/lib/chef/knife/role_create.rb +0 -53
  385. data/lib/chef/knife/role_delete.rb +0 -46
  386. data/lib/chef/knife/role_edit.rb +0 -45
  387. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  388. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  389. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  390. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  391. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  392. data/lib/chef/knife/role_from_file.rb +0 -51
  393. data/lib/chef/knife/role_list.rb +0 -42
  394. data/lib/chef/knife/role_run_list_add.rb +0 -87
  395. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  396. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  397. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  398. data/lib/chef/knife/role_run_list_set.rb +0 -69
  399. data/lib/chef/knife/role_show.rb +0 -48
  400. data/lib/chef/knife/search.rb +0 -194
  401. data/lib/chef/knife/serve.rb +0 -65
  402. data/lib/chef/knife/show.rb +0 -72
  403. data/lib/chef/knife/ssh.rb +0 -645
  404. data/lib/chef/knife/ssl_check.rb +0 -284
  405. data/lib/chef/knife/ssl_fetch.rb +0 -161
  406. data/lib/chef/knife/status.rb +0 -95
  407. data/lib/chef/knife/supermarket_download.rb +0 -121
  408. data/lib/chef/knife/supermarket_install.rb +0 -192
  409. data/lib/chef/knife/supermarket_list.rb +0 -76
  410. data/lib/chef/knife/supermarket_search.rb +0 -53
  411. data/lib/chef/knife/supermarket_share.rb +0 -166
  412. data/lib/chef/knife/supermarket_show.rb +0 -66
  413. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  414. data/lib/chef/knife/tag_create.rb +0 -52
  415. data/lib/chef/knife/tag_delete.rb +0 -60
  416. data/lib/chef/knife/tag_list.rb +0 -47
  417. data/lib/chef/knife/upload.rb +0 -86
  418. data/lib/chef/knife/user_create.rb +0 -107
  419. data/lib/chef/knife/user_delete.rb +0 -44
  420. data/lib/chef/knife/user_dissociate.rb +0 -42
  421. data/lib/chef/knife/user_edit.rb +0 -52
  422. data/lib/chef/knife/user_invite_add.rb +0 -43
  423. data/lib/chef/knife/user_invite_list.rb +0 -34
  424. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  425. data/lib/chef/knife/user_key_create.rb +0 -73
  426. data/lib/chef/knife/user_key_delete.rb +0 -80
  427. data/lib/chef/knife/user_key_edit.rb +0 -83
  428. data/lib/chef/knife/user_key_list.rb +0 -73
  429. data/lib/chef/knife/user_key_show.rb +0 -80
  430. data/lib/chef/knife/user_list.rb +0 -42
  431. data/lib/chef/knife/user_reregister.rb +0 -59
  432. data/lib/chef/knife/user_show.rb +0 -48
  433. data/lib/chef/knife/xargs.rb +0 -282
  434. data/lib/chef/knife/yaml_convert.rb +0 -91
  435. data/lib/chef/resource/user/dscl_user.rb +0 -35
  436. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  437. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  438. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  439. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  440. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  441. data/spec/functional/knife/configure_spec.rb +0 -33
  442. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  443. data/spec/functional/knife/exec_spec.rb +0 -55
  444. data/spec/functional/knife/rehash_spec.rb +0 -39
  445. data/spec/functional/knife/smoke_test.rb +0 -42
  446. data/spec/functional/knife/ssh_spec.rb +0 -352
  447. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  448. data/spec/functional/resource/windows_service_spec.rb +0 -105
  449. data/spec/functional/win32/service_manager_spec.rb +0 -220
  450. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  451. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  452. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  453. data/spec/integration/knife/chefignore_spec.rb +0 -301
  454. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  455. data/spec/integration/knife/client_create_spec.rb +0 -70
  456. data/spec/integration/knife/client_delete_spec.rb +0 -64
  457. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  458. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  459. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  460. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  461. data/spec/integration/knife/client_list_spec.rb +0 -49
  462. data/spec/integration/knife/client_show_spec.rb +0 -37
  463. data/spec/integration/knife/common_options_spec.rb +0 -174
  464. data/spec/integration/knife/config_list_spec.rb +0 -220
  465. data/spec/integration/knife/config_show_spec.rb +0 -192
  466. data/spec/integration/knife/config_use_spec.rb +0 -198
  467. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  468. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  469. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  470. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  471. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  472. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  473. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  474. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  475. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  476. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  477. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  478. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  479. data/spec/integration/knife/delete_spec.rb +0 -1018
  480. data/spec/integration/knife/deps_spec.rb +0 -703
  481. data/spec/integration/knife/diff_spec.rb +0 -605
  482. data/spec/integration/knife/download_spec.rb +0 -1336
  483. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  484. data/spec/integration/knife/environment_create_spec.rb +0 -41
  485. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  486. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  487. data/spec/integration/knife/environment_list_spec.rb +0 -42
  488. data/spec/integration/knife/environment_show_spec.rb +0 -77
  489. data/spec/integration/knife/list_spec.rb +0 -1060
  490. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  491. data/spec/integration/knife/node_create_spec.rb +0 -47
  492. data/spec/integration/knife/node_delete_spec.rb +0 -48
  493. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  494. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  495. data/spec/integration/knife/node_list_spec.rb +0 -45
  496. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  497. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  498. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  499. data/spec/integration/knife/node_show_spec.rb +0 -36
  500. data/spec/integration/knife/raw_spec.rb +0 -297
  501. data/spec/integration/knife/redirection_spec.rb +0 -64
  502. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  503. data/spec/integration/knife/role_create_spec.rb +0 -41
  504. data/spec/integration/knife/role_delete_spec.rb +0 -48
  505. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  506. data/spec/integration/knife/role_list_spec.rb +0 -45
  507. data/spec/integration/knife/role_show_spec.rb +0 -51
  508. data/spec/integration/knife/search_node_spec.rb +0 -40
  509. data/spec/integration/knife/serve_spec.rb +0 -92
  510. data/spec/integration/knife/show_spec.rb +0 -197
  511. data/spec/integration/knife/upload_spec.rb +0 -1617
  512. data/spec/support/shared/functional/knife.rb +0 -37
  513. data/spec/support/shared/functional/win32_service.rb +0 -57
  514. data/spec/support/shared/integration/knife_support.rb +0 -192
  515. data/spec/support/shared/unit/knife_shared.rb +0 -39
  516. data/spec/unit/application/knife_spec.rb +0 -241
  517. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  518. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  519. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  520. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  521. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  522. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  523. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  524. data/spec/unit/knife/client_create_spec.rb +0 -169
  525. data/spec/unit/knife/client_delete_spec.rb +0 -99
  526. data/spec/unit/knife/client_edit_spec.rb +0 -53
  527. data/spec/unit/knife/client_list_spec.rb +0 -34
  528. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  529. data/spec/unit/knife/client_show_spec.rb +0 -52
  530. data/spec/unit/knife/configure_client_spec.rb +0 -81
  531. data/spec/unit/knife/configure_spec.rb +0 -190
  532. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  533. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  534. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  535. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  536. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  537. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  538. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  539. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  540. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  541. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  542. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  543. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  544. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  545. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  546. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  547. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  548. data/spec/unit/knife/core/ui_spec.rb +0 -656
  549. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  550. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  551. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  552. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  553. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  554. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  555. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  556. data/spec/unit/knife/environment_create_spec.rb +0 -91
  557. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  558. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  559. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  560. data/spec/unit/knife/environment_list_spec.rb +0 -54
  561. data/spec/unit/knife/environment_show_spec.rb +0 -52
  562. data/spec/unit/knife/key_create_spec.rb +0 -223
  563. data/spec/unit/knife/key_delete_spec.rb +0 -133
  564. data/spec/unit/knife/key_edit_spec.rb +0 -264
  565. data/spec/unit/knife/key_helper.rb +0 -74
  566. data/spec/unit/knife/key_list_spec.rb +0 -216
  567. data/spec/unit/knife/key_show_spec.rb +0 -126
  568. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  569. data/spec/unit/knife/node_delete_spec.rb +0 -77
  570. data/spec/unit/knife/node_edit_spec.rb +0 -116
  571. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  572. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  573. data/spec/unit/knife/node_list_spec.rb +0 -62
  574. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  575. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  576. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  577. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  578. data/spec/unit/knife/node_show_spec.rb +0 -65
  579. data/spec/unit/knife/raw_spec.rb +0 -43
  580. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  581. data/spec/unit/knife/role_create_spec.rb +0 -80
  582. data/spec/unit/knife/role_delete_spec.rb +0 -67
  583. data/spec/unit/knife/role_edit_spec.rb +0 -77
  584. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  585. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  586. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  587. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  588. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  589. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  590. data/spec/unit/knife/role_list_spec.rb +0 -54
  591. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  592. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  593. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  594. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  595. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  596. data/spec/unit/knife/role_show_spec.rb +0 -59
  597. data/spec/unit/knife/ssh_spec.rb +0 -403
  598. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  599. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  600. data/spec/unit/knife/status_spec.rb +0 -112
  601. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  602. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  603. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  604. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  605. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  606. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  607. data/spec/unit/knife/tag_create_spec.rb +0 -23
  608. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  609. data/spec/unit/knife/tag_list_spec.rb +0 -23
  610. data/spec/unit/knife/user_create_spec.rb +0 -184
  611. data/spec/unit/knife/user_delete_spec.rb +0 -46
  612. data/spec/unit/knife/user_edit_spec.rb +0 -48
  613. data/spec/unit/knife/user_list_spec.rb +0 -36
  614. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  615. data/spec/unit/knife/user_show_spec.rb +0 -46
  616. data/spec/unit/knife_spec.rb +0 -634
  617. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  618. data/spec/unit/windows_service_spec.rb +0 -118
@@ -70,17 +70,17 @@ class Chef
70
70
  # Specifies which accounts are granted full permission to access the share. Use a comma-separated list to specify multiple accounts. An account may not be specified more than once in the FullAccess, ChangeAccess, or ReadAccess parameter lists, but may be specified once in the FullAccess, ChangeAccess, or ReadAccess parameter list and once in the NoAccess parameter list.
71
71
  property :full_users, Array,
72
72
  description: "The users that should have 'Full control' permissions on the share in domain\\username format.",
73
- default: lazy { [] }, coerce: proc { |u| u.sort }
73
+ default: [], coerce: proc { |u| u.sort }
74
74
 
75
75
  # Specifies which users are granted modify permission to access the share
76
76
  property :change_users, Array,
77
77
  description: "The users that should have 'modify' permission on the share in domain\\username format.",
78
- default: lazy { [] }, coerce: proc { |u| u.sort }
78
+ default: [], coerce: proc { |u| u.sort }
79
79
 
80
80
  # Specifies which users are granted read permission to access the share. Multiple users can be specified by supplying a comma-separated list.
81
81
  property :read_users, Array,
82
82
  description: "The users that should have 'read' permission on the share in domain\\username format.",
83
- default: lazy { [] }, coerce: proc { |u| u.sort }
83
+ default: [], coerce: proc { |u| u.sort }
84
84
 
85
85
  # Specifies the lifetime of the new SMB share. A temporary share does not persist beyond the next restart of the computer. By default, new SMB shares are persistent, and non-temporary.
86
86
  property :temporary, [TrueClass, FalseClass],
@@ -118,11 +118,11 @@ class Chef
118
118
  # Specifies which files and folders in the SMB share are visible to users. AccessBased: SMB does not the display the files and folders for a share to a user unless that user has rights to access the files and folders. By default, access-based enumeration is disabled for new SMB shares. Unrestricted: SMB displays files and folders to a user even when the user does not have permission to access the items.
119
119
  # property :folder_enumeration_mode, String, equal_to: %(AccessBased Unrestricted)
120
120
 
121
- load_current_value do |desired|
121
+ load_current_value do |new_resource|
122
122
  # this command selects individual objects because EncryptData & CachingMode have underlying
123
123
  # types that get converted to their Integer values by ConvertTo-Json & we need to make sure
124
124
  # those get written out as strings
125
- share_state_cmd = "Get-SmbShare -Name '#{desired.share_name}' | Select-Object Name,Path, Description, Temporary, CATimeout, ContinuouslyAvailable, ConcurrentUserLimit, EncryptData"
125
+ share_state_cmd = "Get-SmbShare -Name '#{new_resource.share_name}' | Select-Object Name,Path, Description, Temporary, CATimeout, ContinuouslyAvailable, ConcurrentUserLimit, EncryptData"
126
126
 
127
127
  Chef::Log.debug("Running '#{share_state_cmd}' to determine share state'")
128
128
  ps_results = powershell_exec(share_state_cmd)
@@ -146,14 +146,14 @@ class Chef
146
146
  encrypt_data results["EncryptData"]
147
147
  # folder_enumeration_mode results['FolderEnumerationMode']
148
148
 
149
- perm_state_cmd = %{Get-SmbShareAccess -Name "#{desired.share_name}" | Select-Object AccountName,AccessControlType,AccessRight}
149
+ perm_state_cmd = %{Get-SmbShareAccess -Name "#{new_resource.share_name}" | Select-Object AccountName,AccessControlType,AccessRight}
150
150
 
151
151
  Chef::Log.debug("Running '#{perm_state_cmd}' to determine share permissions state'")
152
152
  ps_perm_results = powershell_exec(perm_state_cmd)
153
153
 
154
154
  # we raise here instead of warning like above because we'd only get here if the above Get-SmbShare
155
155
  # command was successful and that continuing would leave us with 1/2 known state
156
- raise "Could not determine #{desired.share_name} share permissions by running '#{perm_state_cmd}'" if ps_perm_results.error?
156
+ raise "Could not determine #{new_resource.share_name} share permissions by running '#{perm_state_cmd}'" if ps_perm_results.error?
157
157
 
158
158
  Chef::Log.debug("The Get-SmbShareAccess results were #{ps_perm_results.result}")
159
159
 
@@ -192,9 +192,7 @@ class Chef
192
192
  name
193
193
  end
194
194
 
195
- action :create do
196
- description "Create and modify Windows shares."
197
-
195
+ action :create, description: "Create or modify a Windows share" do
198
196
  # we do this here instead of requiring the property because :delete doesn't need path set
199
197
  raise "No path property set" unless new_resource.path
200
198
 
@@ -218,9 +216,7 @@ class Chef
218
216
  end
219
217
  end
220
218
 
221
- action :delete do
222
- description "Delete an existing Windows share."
223
-
219
+ action :delete, description: "Delete an existing Windows share" do
224
220
  if current_resource.nil?
225
221
  Chef::Log.debug("#{new_resource.share_name} does not exist - nothing to do")
226
222
  else
@@ -275,14 +271,11 @@ class Chef
275
271
  # users/groups will have their permissions updated with the same command that
276
272
  # sets it, but removes must be performed with Revoke-SmbShareAccess
277
273
  def users_to_revoke
278
- @users_to_revoke ||= begin
279
- # if the resource doesn't exist then nothing needs to be revoked
280
- if current_resource.nil?
281
- []
282
- else # if it exists then calculate the current to new resource diffs
283
- (current_resource.full_users + current_resource.change_users + current_resource.read_users) - (new_resource.full_users + new_resource.change_users + new_resource.read_users)
284
- end
285
- end
274
+ @users_to_revoke ||= if current_resource.nil?
275
+ []
276
+ else # if it exists then calculate the current to new resource diffs
277
+ (current_resource.full_users + current_resource.change_users + current_resource.read_users) - (new_resource.full_users + new_resource.change_users + new_resource.read_users)
278
+ end
286
279
  end
287
280
 
288
281
  # update existing permissions on a share
@@ -57,11 +57,11 @@ class Chef
57
57
  property :iconlocation, String,
58
58
  description: "Icon to use for the shortcut. Accepts the format of `path, index`, where index is the icon file to use. See Microsoft's [documentation](https://msdn.microsoft.com/en-us/library/3s9bx7at.aspx) for details"
59
59
 
60
- load_current_value do |desired|
60
+ load_current_value do |new_resource|
61
61
  require "win32ole" if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
62
62
 
63
- link = WIN32OLE.new("WScript.Shell").CreateShortcut(desired.shortcut_name)
64
- name desired.shortcut_name
63
+ link = WIN32OLE.new("WScript.Shell").CreateShortcut(new_resource.shortcut_name)
64
+ name new_resource.shortcut_name
65
65
  target(link.TargetPath)
66
66
  arguments(link.Arguments)
67
67
  description(link.Description)
@@ -69,9 +69,7 @@ class Chef
69
69
  iconlocation(link.IconLocation)
70
70
  end
71
71
 
72
- action :create do
73
- description "Create or modify a Windows shortcut."
74
-
72
+ action :create, description: "Create or modify a Windows shortcut" do
75
73
  converge_if_changed do
76
74
  converge_by "creating shortcut #{new_resource.shortcut_name}" do
77
75
  link = WIN32OLE.new("WScript.Shell").CreateShortcut(new_resource.shortcut_name)
@@ -21,6 +21,7 @@ require_relative "../resource"
21
21
  require_relative "../win32/security" if ChefUtils.windows_ruby?
22
22
  autoload :ISO8601, "iso8601" if ChefUtils.windows_ruby?
23
23
  require_relative "../util/path_helper"
24
+ require_relative "../util/backup"
24
25
  require "win32/taskscheduler" if ChefUtils.windows_ruby?
25
26
 
26
27
  class Chef
@@ -236,6 +237,10 @@ class Chef
236
237
  introduced: "14.15", default: false,
237
238
  description: "To start the task at any time after its scheduled time has passed."
238
239
 
240
+ property :backup, [Integer, FalseClass],
241
+ introduced: "17.0", default: 5,
242
+ description: "Number of backups to keep of the task when modified/deleted. Set to false to disable backups."
243
+
239
244
  attr_accessor :exists, :task, :command_arguments
240
245
 
241
246
  VALID_WEEK_DAYS = %w{ mon tue wed thu fri sat sun * }.freeze
@@ -564,6 +569,7 @@ class Chef
564
569
 
565
570
  def update_task(task)
566
571
  converge_by("#{new_resource} task updated") do
572
+ do_backup
567
573
  task.set_account_information(new_resource.user, new_resource.password, new_resource.interactive_enabled)
568
574
  task.application_name = new_resource.command if new_resource.command
569
575
  task.parameters = new_resource.command_arguments if new_resource.command_arguments
@@ -948,6 +954,11 @@ class Chef
948
954
  def get_day(date)
949
955
  Date.strptime(date, "%m/%d/%Y").strftime("%a").upcase
950
956
  end
957
+
958
+ def do_backup
959
+ file = "C:/Windows/System32/Tasks/#{new_resource.task_name}"
960
+ Chef::Util::Backup.new(new_resource, file).backup!
961
+ end
951
962
  end
952
963
 
953
964
  action :create do
@@ -998,7 +1009,7 @@ class Chef
998
1009
  end
999
1010
  end
1000
1011
  else
1001
- logger.warn "#{new_resource} task does not exist - nothing to do"
1012
+ logger.debug "#{new_resource} task does not exist - nothing to do"
1002
1013
  end
1003
1014
  end
1004
1015
 
@@ -1006,11 +1017,12 @@ class Chef
1006
1017
  if current_resource.exists
1007
1018
  logger.trace "#{new_resource} task exists"
1008
1019
  converge_by("delete scheduled task #{new_resource}") do
1020
+ do_backup
1009
1021
  ts = ::Win32::TaskScheduler.new
1010
1022
  ts.delete(current_resource.task_name)
1011
1023
  end
1012
1024
  else
1013
- logger.warn "#{new_resource} task does not exist - nothing to do"
1025
+ logger.debug "#{new_resource} task does not exist - nothing to do"
1014
1026
  end
1015
1027
  end
1016
1028
 
@@ -1018,14 +1030,14 @@ class Chef
1018
1030
  if current_resource.exists
1019
1031
  logger.trace "#{new_resource} task exists"
1020
1032
  if current_resource.task.status != "running"
1021
- logger.trace "#{new_resource} is not running - nothing to do"
1033
+ logger.debug "#{new_resource} is not running - nothing to do"
1022
1034
  else
1023
1035
  converge_by("#{new_resource} task ended") do
1024
1036
  current_resource.task.stop
1025
1037
  end
1026
1038
  end
1027
1039
  else
1028
- logger.warn "#{new_resource} task does not exist - nothing to do"
1040
+ logger.debug "#{new_resource} task does not exist - nothing to do"
1029
1041
  end
1030
1042
  end
1031
1043
 
@@ -1038,7 +1050,7 @@ class Chef
1038
1050
  run_schtasks "CHANGE", "ENABLE" => ""
1039
1051
  end
1040
1052
  else
1041
- logger.trace "#{new_resource} already enabled - nothing to do"
1053
+ logger.debug "#{new_resource} already enabled - nothing to do"
1042
1054
  end
1043
1055
  else
1044
1056
  logger.fatal "#{new_resource} task does not exist - nothing to do"
@@ -72,7 +72,7 @@ class Chef
72
72
  equal_to: %i{auto_deny secure_prompt_for_creds prompt_for_creds},
73
73
  default: :prompt_for_creds
74
74
 
75
- action :configure do
75
+ action :configure, description: "Configures UAC by setting registry keys at `HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System`" do
76
76
  description 'Configures UAC by setting registry keys at \'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\''
77
77
 
78
78
  registry_key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' do
@@ -147,7 +147,7 @@ class Chef
147
147
  end
148
148
  end
149
149
 
150
- action :add do
150
+ action :add, description: "Add a user privilege" do
151
151
  ([*new_resource.privilege] - [*current_resource.privilege]).each do |user_right|
152
152
  converge_by("adding user '#{new_resource.principal}' privilege #{user_right}") do
153
153
  Chef::ReservedNames::Win32::Security.add_account_right(new_resource.principal, user_right)
@@ -155,7 +155,7 @@ class Chef
155
155
  end
156
156
  end
157
157
 
158
- action :set do
158
+ action :set, description: "Set the privileges that are listed in the `privilege` property for only the users listed in the `users` property" do
159
159
  if new_resource.users.nil? || new_resource.users.empty?
160
160
  raise Chef::Exceptions::ValidationFailed, "Users are required property with set action."
161
161
  end
@@ -190,7 +190,7 @@ class Chef
190
190
  end
191
191
  end
192
192
 
193
- action :clear do
193
+ action :clear, description: "Clear all user privileges" do
194
194
  new_resource.privilege.each do |privilege|
195
195
  accounts = Chef::ReservedNames::Win32::Security.get_account_with_user_rights(privilege)
196
196
 
@@ -204,7 +204,7 @@ class Chef
204
204
  end
205
205
  end
206
206
 
207
- action :remove do
207
+ action :remove, description: "Remove a user privilege" do
208
208
  curr_res_privilege = current_resource.privilege
209
209
  missing_res_privileges = (new_resource.privilege - curr_res_privilege)
210
210
 
@@ -87,8 +87,7 @@ class Chef
87
87
  property :sensitive, [TrueClass, FalseClass],
88
88
  default: true, desired_state: false
89
89
 
90
- action :join do
91
- description "Update the workgroup."
90
+ action :join, description: "Update the workgroup." do
92
91
 
93
92
  unless workgroup_member?
94
93
  converge_by("join workstation workgroup #{new_resource.workgroup_name}") do
@@ -125,7 +125,6 @@ require_relative "resource/smartos_package"
125
125
  require_relative "resource/template"
126
126
  require_relative "resource/user"
127
127
  require_relative "resource/user/aix_user"
128
- require_relative "resource/user/dscl_user"
129
128
  require_relative "resource/user/linux_user"
130
129
  require_relative "resource/user/mac_user"
131
130
  require_relative "resource/user/pw_user"
data/lib/chef/user.rb CHANGED
@@ -36,7 +36,6 @@ require_relative "server_api"
36
36
  # should be removed once client support for Open Source Chef Server 11 expires.
37
37
  class Chef
38
38
  class User
39
-
40
39
  include Chef::Mixin::FromFile
41
40
  include Chef::Mixin::ParamsValidate
42
41
 
data/lib/chef/user_v1.rb CHANGED
@@ -145,11 +145,11 @@ class Chef
145
145
  payload = {
146
146
  username: @username,
147
147
  display_name: @display_name,
148
- first_name: @first_name,
149
- last_name: @last_name,
150
148
  email: @email,
151
- password: @password,
152
149
  }
150
+ payload[:first_name] = @first_name unless @first_name.nil?
151
+ payload[:last_name] = @last_name unless @last_name.nil?
152
+ payload[:password] = @password unless @password.nil?
153
153
  payload[:public_key] = @public_key unless @public_key.nil?
154
154
  payload[:create_key] = @create_key unless @create_key.nil?
155
155
  payload[:middle_name] = @middle_name unless @middle_name.nil?
@@ -258,7 +258,6 @@ class Chef
258
258
  end
259
259
 
260
260
  # Class Methods
261
-
262
261
  def self.from_hash(user_hash)
263
262
  user = Chef::UserV1.new
264
263
  user.username user_hash["username"]
@@ -88,6 +88,7 @@ class Chef::Util::DSC
88
88
  when FalseClass
89
89
  switch_present = false
90
90
  when TrueClass
91
+ # nothing
91
92
  when String
92
93
  switch_argument = escape_string_parameter_value(switch_value)
93
94
  else
@@ -103,7 +103,7 @@ class Chef::Util::DSC
103
103
  end
104
104
 
105
105
  def whatif_not_supported?(dsc_exception_output)
106
- !! (dsc_exception_output.gsub(/[\n]+/, "").gsub(/\s+/, " ") =~ /A parameter cannot be found that matches parameter name 'Whatif'/i)
106
+ !! (dsc_exception_output.gsub(/\n+/, "").gsub(/\s+/, " ") =~ /A parameter cannot be found that matches parameter name 'Whatif'/i)
107
107
  end
108
108
 
109
109
  def dsc_module_import_failure?(command_output)
data/lib/chef/version.rb CHANGED
@@ -23,7 +23,7 @@ require_relative "version_string"
23
23
 
24
24
  class Chef
25
25
  CHEF_ROOT = File.expand_path("..", __dir__)
26
- VERSION = Chef::VersionString.new("16.10.8")
26
+ VERSION = Chef::VersionString.new("17.0.242")
27
27
  end
28
28
 
29
29
  #
@@ -21,9 +21,11 @@ require_relative "api"
21
21
  require_relative "../mixin/wide_string"
22
22
 
23
23
  if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
24
- Win32.autoload :Registry, File.expand_path("../monkey_patches/win32/registry", __dir__)
25
- require_relative "api/registry"
26
24
  require "win32/api"
25
+ module Win32
26
+ autoload :Registry, File.expand_path("../monkey_patches/win32/registry", __dir__)
27
+ end
28
+ require_relative "api/registry"
27
29
  end
28
30
 
29
31
  class Chef
@@ -1,4 +1,4 @@
1
- require_relative './openldap/version.rb'
1
+ require_relative './openldap/version'
2
2
 
3
3
  class OpenLDAP
4
4
  end
@@ -1,2 +1,4 @@
1
+ unified_mode true
2
+
1
3
  provides :lwrp_bar # This makes sure that we cover the case of lwrps using provides
2
4
  actions :pass_buck, :prepare_eyes, :watch_paint_dry
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  provides :buck_passer
3
4
 
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  default_action :pass_buck
3
4
  actions :pass_buck
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  default_action :twiddle_thumbs
3
4
  actions :twiddle_thumbs
@@ -1,3 +1,5 @@
1
+ unified_mode true
2
+
1
3
  actions :prepare_thumbs, :twiddle_thumbs
2
4
  default_action :pass_buck
3
5
 
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  default_action :test
3
4
  actions :test, :no_updates
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  property :monkey
3
4
 
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  default_action :prepare_eyes
3
4
  actions :prepare_eyes, :watch_paint_dry
@@ -1,3 +1,4 @@
1
+ unified_mode true
1
2
 
2
3
  default_action :prepare_thumbs
3
4
  actions :prepare_thumbs, :twiddle_thumbs
@@ -1 +1,3 @@
1
+ unified_mode true
2
+
1
3
  attribute :penguin, :kind_of => String, :default => node[:penguin_name]
@@ -0,0 +1 @@
1
+ unified_mode true
@@ -1,4 +1,5 @@
1
1
  # Starting with Chef 12 reloading an LWRP shouldn't reload the file anymore
2
+ unified_mode true
2
3
 
3
4
  actions :never_execute
4
5
 
@@ -0,0 +1 @@
1
+ This gem could not be found
@@ -0,0 +1,49 @@
1
+ ---
2
+ 3.0.0 |checksum:ff9abf0d904ba57b9654352b396aa28cf6ad5315af99d8bbf664f5ff6efd3a5d
3
+ 3.0.1 |checksum:d012a759dc6950dcda667a359051c2e62e4bd19790aeed698a5e47d013ef3ae7
4
+ 3.0.2 |checksum:ba85e835493e6099c2f52937b77ce518d65af39409befdd9b43927c0a604ed87
5
+ 3.0.3 |checksum:a433b01d821f5e81200fbec77fc26a1ecb186ad7d8e40d19ed34ea295287170a
6
+ 3.0.4 |checksum:5f394545863d5abe5c3f53c3b883128f58900cd792504076a765b53c9a49f10a
7
+ 3.0.5 |checksum:8e06c84ed3a0159a0f2e6f7b10bbd056954ac2d33548318ccc3088556c8a8891
8
+ 3.0.6 |checksum:e6e0f30ff14b73b28f8e5803646aa6d2ed81b3b239e76815fd8160ea4121c650
9
+ 3.0.7 |checksum:7647c24bbebea0ef57a892953fc96349091924a399ee5d98f41da5d9db484816
10
+ 3.0.8 |checksum:6c8ff89feab635e332e115356451614a16d171485e34b6b30a6dea243caaaed7
11
+ 3.0.9 |checksum:b55c35100f5e1e191ff67eac8667aea9433d1492697c9434cdb35550cf6e4dd0
12
+ 3.0.10 |checksum:e168db8d4eccfc721685d939654698f1b419f018f45e38d17ab40033102987f4
13
+ 3.1.0 |checksum:3d9dd950ba0b235c4901d04e410c7e716feb491148bf0ca7daa0f510838b3bf7
14
+ 3.2.0 |checksum:5951f8d33ede2f68686c701142c6cc1004d6f525b0aa8e8279a1bf075542b0f0
15
+ 4.0.0 |checksum:36c185f8caecacb178500cabdc3e038862df640536c2e84ab763ae134462896f
16
+ 4.0.1 |checksum:efd33857c0f41a413ec3ea20251f43c4826fe8a11b01099335f4a3b6777eb727
17
+ 4.1.0 |checksum:d26879b9a0675ea156c82e26971149349a1474aac3da4d0d2a04cc18e6df73a3
18
+ 4.1.1 |checksum:15df4e54e0fab19e225862b36dff823d5b87d57ea998f2e47c52ce01de82b3d9
19
+ 4.1.2 |checksum:7c2ed2d62d0305f2c33cba2e99b288df0f3f4343c367b8ee8cad8c735abc8568
20
+ 4.1.3 |checksum:d02f1465c7f012f77a61abdaa841a5273a2277247bc143bfa11cf139a29dbdf8
21
+ 4.1.4 |checksum:f7798b1682dcf750dab5f4f8da548fee36f30864a4e4b0d8a63295d159357c3b
22
+ 4.1.5 |checksum:741c7dfe5e392ae39e22399546d25fe00ffdfc7a55e653e6a99b6770b1c0066c
23
+ 4.2.0 |checksum:3cde88e3d440f63af3cd48edca88bd98872622403740ecda78b7d27161367486
24
+ 4.2.1 |checksum:dfc3eef6ef13c5750c3faab782c4db6c74a7bcc5d03e56e4edeec21aab034185
25
+ 4.3.0 |checksum:7accb37900d1599c6f0f40be92bc62a5db4e5a7eb64f33a858cf83e798dd1ddc
26
+ 4.4.0 |checksum:71591ddbda99b5e12e4a46d377c87513850ca7aa4b1aa800ae02792cadee6be7
27
+ 4.4.1 |checksum:8a10333552216bf3d3846476cfe78dbc9b5724864e3f5016837724622d828f16
28
+ 4.4.2 |checksum:adba9d17de5957532223a1bf0e7bdba5ab849d6576e9210439a7d99e0cfa2595
29
+ 4.4.3 |checksum:b3eb96da1fe998f1c00665a9c645878518134cca7c35d39c4bb716e866f4cc57
30
+ 4.4.4 |checksum:43cab5a67ca409d62411f869ddb7a0a4de0988b489d3f1d610d9b6e521964fd5
31
+ 4.4.5 |checksum:af8713761f1b6604865830c54324e57c33e7cc05107ebdbee4e6d458f8f8fe7c
32
+ 4.5.0 |checksum:54d94dc52cf98a51548c8f3e77031a3347508b542b8cb066100ed3ac40c03081
33
+ 4.5.1 |checksum:1456a9be103bf1de0d34ff6980b77a5a72cf3d4b35bbd2182ac62506981a234c
34
+ 4.6.0 |checksum:e2498f90c75bd4c19d1739afadde8c03af26a881c8bd775f71d2f180de65b43f
35
+ 4.6.1 |checksum:e2e96c2ee3ea81e1dc7b4b4abee23b6e552e669cfe456ee69126a29a03373cd7
36
+ 4.7.0 |checksum:963a1f5b21c95595fb3cf1e8531784bf3d8fe30302cf6f271b08aefdc63e453f
37
+ 4.8.0 |checksum:5b9325f28b5be80ba8d43b7660f60ad67c9304fe8181dee89d3a348b13d2fada
38
+ 4.9.0 |checksum:333619bc71d563ee60f26fc5f3a7f57bd89ee3191177fdce87a014dcb1b8d3b0
39
+ 4.10.0b1 |checksum:8791e2006a2ddbf8dc96cfc19633de01af8cb8687703177a85aeb3f959974d5b,rubygems:> 1.3.1
40
+ 4.10.0 |checksum:b67a289ae4a3968d93dab0803d0ef5a262b6f94138ab98072e489d2aa8af4034
41
+ 4.10.1 |checksum:63d2297712eb1d6219ab1cb9207d9a239ac9ad20463c0b58ca865f0b46deb5ec
42
+ 4.11.0 |checksum:4c90ff17c492789fdd248369fa16ce65ef05576b3d9f593a49c6a0961dbcd5ee
43
+ 4.12.0 |checksum:671110574e96377a03b328bfb7f6339540443eca0b62913bf8fe38e9ebcb4470
44
+ 4.12.1 |checksum:f87cd92457a343b4e951e1f1ac3e8183f98de4640a32f6ceb44628332d21a088
45
+ 4.13.0 |checksum:47e86c22a2d7810897e3eae9669ab9afa220f5e6cea5ac1d47164650a9b857d3
46
+ 4.14.0 |checksum:99a20cc5e7b901f6b493a8ca5e13439b73b19671eaaca68a00216c4f66765edc
47
+ 4.14.1 |checksum:0fa8731445cf4a0c01570ec29aac4b50a0451ce66b1b31ad768f5035e3af7b90,ruby:~> 2.2
48
+ 4.15.0 |checksum:a5ec27d8055ad47444cfb7ce860bad8af2365772a82892f4a8a0d97e8e9e3b34,ruby:~> 2.2
49
+ 4.15.1 |checksum:9291a0f2247f50d15068ee6965b67cd7b678b0d273e18adf3c0b2ea4a890125c,ruby:< 3.1&>= 2.1