chef 16.15.22 → 17.0.242

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -13
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +6 -8
  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 +4 -3
  13. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  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 +65 -27
  20. data/lib/chef/cookbook/gem_installer.rb +1 -5
  21. data/lib/chef/cookbook/synchronizer.rb +3 -5
  22. data/lib/chef/cookbook_loader.rb +2 -4
  23. data/lib/chef/cookbook_uploader.rb +0 -1
  24. data/lib/chef/cookbook_version.rb +4 -26
  25. data/lib/chef/data_bag_item.rb +11 -2
  26. data/lib/chef/data_collector/run_end_message.rb +1 -1
  27. data/lib/chef/delayed_evaluator.rb +4 -0
  28. data/lib/chef/deprecated.rb +6 -12
  29. data/lib/chef/dsl/chef_vault.rb +6 -6
  30. data/lib/chef/dsl/reboot_pending.rb +1 -2
  31. data/lib/chef/exceptions.rb +0 -3
  32. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  33. data/lib/chef/formatters/error_mapper.rb +2 -2
  34. data/lib/chef/group.rb +75 -0
  35. data/lib/chef/http.rb +5 -5
  36. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  37. data/lib/chef/node/attribute.rb +6 -4
  38. data/lib/chef/node/immutable_collections.rb +13 -0
  39. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  40. data/lib/chef/node.rb +19 -20
  41. data/lib/chef/org.rb +3 -2
  42. data/lib/chef/policy_builder/policyfile.rb +0 -5
  43. data/lib/chef/property.rb +18 -0
  44. data/lib/chef/provider/cron.rb +1 -1
  45. data/lib/chef/provider/execute.rb +2 -1
  46. data/lib/chef/provider/file.rb +1 -1
  47. data/lib/chef/provider/git.rb +5 -7
  48. data/lib/chef/provider/group/dscl.rb +1 -1
  49. data/lib/chef/provider/group/groupadd.rb +3 -3
  50. data/lib/chef/provider/group/groupmod.rb +3 -3
  51. data/lib/chef/provider/group/pw.rb +3 -3
  52. data/lib/chef/provider/ifconfig.rb +2 -2
  53. data/lib/chef/provider/link.rb +2 -2
  54. data/lib/chef/provider/mount/aix.rb +3 -3
  55. data/lib/chef/provider/mount/mount.rb +5 -5
  56. data/lib/chef/provider/mount/windows.rb +1 -1
  57. data/lib/chef/provider/mount.rb +5 -5
  58. data/lib/chef/provider/package/apt.rb +27 -1
  59. data/lib/chef/provider/package/deb.rb +3 -3
  60. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  61. data/lib/chef/provider/package/portage.rb +2 -2
  62. data/lib/chef/provider/package/powershell.rb +0 -5
  63. data/lib/chef/provider/package/rubygems.rb +9 -15
  64. data/lib/chef/provider/package/windows.rb +2 -4
  65. data/lib/chef/provider/package/yum/yum_helper.py +1 -1
  66. data/lib/chef/provider/package.rb +17 -21
  67. data/lib/chef/provider/route.rb +2 -2
  68. data/lib/chef/provider/service/aixinit.rb +1 -1
  69. data/lib/chef/provider/service/debian.rb +1 -1
  70. data/lib/chef/provider/service/freebsd.rb +15 -21
  71. data/lib/chef/provider/service/macosx.rb +4 -4
  72. data/lib/chef/provider/service/systemd.rb +43 -14
  73. data/lib/chef/provider/service/upstart.rb +2 -13
  74. data/lib/chef/provider/service/windows.rb +12 -12
  75. data/lib/chef/provider/service.rb +6 -6
  76. data/lib/chef/provider/subversion.rb +10 -12
  77. data/lib/chef/provider/systemd_unit.rb +36 -10
  78. data/lib/chef/provider/template/content.rb +3 -7
  79. data/lib/chef/provider/user/dscl.rb +1 -1
  80. data/lib/chef/provider/user/mac.rb +17 -20
  81. data/lib/chef/provider/user/pw.rb +1 -1
  82. data/lib/chef/provider/user/windows.rb +1 -1
  83. data/lib/chef/provider/user.rb +2 -2
  84. data/lib/chef/provider/zypper_repository.rb +2 -2
  85. data/lib/chef/provider.rb +1 -1
  86. data/lib/chef/providers.rb +0 -1
  87. data/lib/chef/resource/alternatives.rb +6 -6
  88. data/lib/chef/resource/apt_package.rb +1 -1
  89. data/lib/chef/resource/apt_preference.rb +2 -2
  90. data/lib/chef/resource/apt_repository.rb +6 -6
  91. data/lib/chef/resource/apt_update.rb +3 -2
  92. data/lib/chef/resource/archive_file.rb +2 -3
  93. data/lib/chef/resource/breakpoint.rb +1 -1
  94. data/lib/chef/resource/build_essential.rb +2 -6
  95. data/lib/chef/resource/chef_client_config.rb +2 -2
  96. data/lib/chef/resource/chef_client_cron.rb +4 -4
  97. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  98. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  99. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  100. data/lib/chef/resource/chef_handler.rb +3 -7
  101. data/lib/chef/resource/chef_sleep.rb +1 -1
  102. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  103. data/lib/chef/resource/chocolatey_config.rb +2 -6
  104. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  105. data/lib/chef/resource/chocolatey_source.rb +4 -10
  106. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  107. data/lib/chef/resource/cron_access.rb +2 -4
  108. data/lib/chef/resource/dmg_package.rb +6 -10
  109. data/lib/chef/resource/dpkg_package.rb +1 -1
  110. data/lib/chef/resource/execute.rb +6 -1
  111. data/lib/chef/resource/file.rb +1 -1
  112. data/lib/chef/resource/group.rb +2 -2
  113. data/lib/chef/resource/homebrew_cask.rb +5 -15
  114. data/lib/chef/resource/homebrew_tap.rb +2 -6
  115. data/lib/chef/resource/hostname.rb +21 -17
  116. data/lib/chef/resource/http_request.rb +1 -1
  117. data/lib/chef/resource/kernel_module.rb +6 -17
  118. data/lib/chef/resource/locale.rb +2 -3
  119. data/lib/chef/resource/lwrp_base.rb +4 -0
  120. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  121. data/lib/chef/resource/mdadm.rb +53 -7
  122. data/lib/chef/resource/mount.rb +3 -2
  123. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  124. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  125. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  126. data/lib/chef/resource/plist.rb +7 -7
  127. data/lib/chef/resource/powershell_script.rb +1 -1
  128. data/lib/chef/resource/remote_file.rb +1 -1
  129. data/lib/chef/resource/rhsm_errata.rb +16 -1
  130. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  131. data/lib/chef/resource/rhsm_register.rb +12 -6
  132. data/lib/chef/resource/rhsm_repo.rb +2 -6
  133. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  134. data/lib/chef/resource/scm/git.rb +1 -1
  135. data/lib/chef/resource/sudo.rb +6 -6
  136. data/lib/chef/resource/support/client.erb +0 -6
  137. data/lib/chef/resource/sysctl.rb +2 -6
  138. data/lib/chef/resource/systemd_unit.rb +3 -3
  139. data/lib/chef/resource/template.rb +1 -1
  140. data/lib/chef/resource/timezone.rb +1 -3
  141. data/lib/chef/resource/user/mac_user.rb +1 -1
  142. data/lib/chef/resource/user_ulimit.rb +2 -3
  143. data/lib/chef/resource/windows_ad_join.rb +2 -6
  144. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  145. data/lib/chef/resource/windows_auto_run.rb +2 -5
  146. data/lib/chef/resource/windows_certificate.rb +207 -73
  147. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  148. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  149. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  150. data/lib/chef/resource/windows_dns_record.rb +2 -6
  151. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  152. data/lib/chef/resource/windows_env.rb +5 -4
  153. data/lib/chef/resource/windows_feature.rb +3 -9
  154. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  155. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  156. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  157. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  158. data/lib/chef/resource/windows_font.rb +2 -4
  159. data/lib/chef/resource/windows_pagefile.rb +2 -6
  160. data/lib/chef/resource/windows_path.rb +2 -2
  161. data/lib/chef/resource/windows_printer.rb +4 -4
  162. data/lib/chef/resource/windows_printer_port.rb +6 -6
  163. data/lib/chef/resource/windows_security_policy.rb +9 -12
  164. data/lib/chef/resource/windows_share.rb +14 -21
  165. data/lib/chef/resource/windows_shortcut.rb +4 -6
  166. data/lib/chef/resource/windows_task.rb +17 -5
  167. data/lib/chef/resource/windows_uac.rb +2 -4
  168. data/lib/chef/resource/windows_user_privilege.rb +5 -5
  169. data/lib/chef/resource/windows_workgroup.rb +1 -2
  170. data/lib/chef/resources.rb +0 -1
  171. data/lib/chef/user.rb +0 -1
  172. data/lib/chef/user_v1.rb +3 -4
  173. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  174. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  175. data/lib/chef/version.rb +1 -1
  176. data/lib/chef/win32/api.rb +2 -9
  177. data/lib/chef/win32/registry.rb +4 -2
  178. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  179. data/spec/data/lwrp/resources/bar.rb +2 -0
  180. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  181. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  182. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  183. data/spec/data/lwrp/resources/foo.rb +2 -0
  184. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  185. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  186. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  187. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  188. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  189. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  190. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  191. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  192. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  193. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  194. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  195. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  196. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  197. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  198. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  199. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  200. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  201. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  202. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  203. data/spec/functional/resource/apt_package_spec.rb +1 -1
  204. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  205. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  206. data/spec/functional/resource/group_spec.rb +1 -5
  207. data/spec/functional/resource/link_spec.rb +0 -8
  208. data/spec/functional/resource/registry_spec.rb +8 -8
  209. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  210. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  211. data/spec/functional/version_spec.rb +1 -1
  212. data/spec/functional/win32/registry_spec.rb +1 -1
  213. data/spec/integration/client/client_spec.rb +5 -2
  214. data/spec/integration/client/exit_code_spec.rb +1 -1
  215. data/spec/integration/client/ipv6_spec.rb +1 -1
  216. data/spec/integration/compliance/compliance_spec.rb +1 -1
  217. data/spec/integration/ohai/ohai_spec.rb +7 -6
  218. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  219. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  220. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  221. data/spec/integration/recipes/notifies_spec.rb +15 -1
  222. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  223. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  224. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  225. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  226. data/spec/spec_helper.rb +10 -13
  227. data/spec/support/chef_helpers.rb +0 -16
  228. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  229. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  230. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  231. data/spec/support/matchers/leak.rb +7 -9
  232. data/spec/support/platform_helpers.rb +1 -8
  233. data/spec/support/shared/integration/integration_helper.rb +0 -1
  234. data/spec/support/shared/unit/script_resource.rb +2 -2
  235. data/spec/unit/application/solo_spec.rb +2 -2
  236. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  237. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  238. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  239. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  240. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  241. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  242. data/spec/unit/compliance/runner_spec.rb +30 -4
  243. data/spec/unit/cookbook_version_spec.rb +0 -52
  244. data/spec/unit/data_bag_item_spec.rb +1 -6
  245. data/spec/unit/data_collector_spec.rb +1 -47
  246. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  247. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  248. data/spec/unit/lwrp_spec.rb +1 -1
  249. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  250. data/spec/unit/node/attribute_spec.rb +1 -1
  251. data/spec/unit/node_spec.rb +78 -0
  252. data/spec/unit/org_group_spec.rb +45 -0
  253. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  254. data/spec/unit/property_spec.rb +23 -22
  255. data/spec/unit/provider/cron_spec.rb +1 -1
  256. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  257. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  258. data/spec/unit/provider/group/pw_spec.rb +2 -2
  259. data/spec/unit/provider/group_spec.rb +1 -1
  260. data/spec/unit/provider/package/apt_spec.rb +84 -18
  261. data/spec/unit/provider/package/deb_spec.rb +3 -3
  262. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  263. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  264. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  265. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  266. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  267. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  268. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  269. data/spec/unit/provider/service/windows_spec.rb +2 -2
  270. data/spec/unit/provider/subversion_spec.rb +2 -2
  271. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  272. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  273. data/spec/unit/provider_spec.rb +0 -8
  274. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  275. data/spec/unit/resource/mount_spec.rb +0 -10
  276. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  277. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  278. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  279. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  280. data/spec/unit/resource/windows_task_spec.rb +1 -1
  281. data/spec/unit/user_spec.rb +1 -1
  282. data/spec/unit/user_v1_spec.rb +6 -4
  283. data/tasks/rspec.rb +15 -7
  284. metadata +17 -380
  285. data/bin/knife +0 -24
  286. data/lib/chef/application/knife.rb +0 -234
  287. data/lib/chef/application/windows_service.rb +0 -338
  288. data/lib/chef/application/windows_service_manager.rb +0 -205
  289. data/lib/chef/chef_fs/knife.rb +0 -160
  290. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  291. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  292. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  293. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  294. data/lib/chef/knife/acl_add.rb +0 -57
  295. data/lib/chef/knife/acl_base.rb +0 -183
  296. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  297. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  298. data/lib/chef/knife/acl_remove.rb +0 -62
  299. data/lib/chef/knife/acl_show.rb +0 -56
  300. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  301. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  302. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  303. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  304. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  305. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  306. data/lib/chef/knife/bootstrap.rb +0 -1192
  307. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  308. data/lib/chef/knife/client_create.rb +0 -101
  309. data/lib/chef/knife/client_delete.rb +0 -62
  310. data/lib/chef/knife/client_edit.rb +0 -52
  311. data/lib/chef/knife/client_key_create.rb +0 -73
  312. data/lib/chef/knife/client_key_delete.rb +0 -80
  313. data/lib/chef/knife/client_key_edit.rb +0 -83
  314. data/lib/chef/knife/client_key_list.rb +0 -73
  315. data/lib/chef/knife/client_key_show.rb +0 -80
  316. data/lib/chef/knife/client_list.rb +0 -41
  317. data/lib/chef/knife/client_reregister.rb +0 -58
  318. data/lib/chef/knife/client_show.rb +0 -48
  319. data/lib/chef/knife/config_get.rb +0 -39
  320. data/lib/chef/knife/config_get_profile.rb +0 -37
  321. data/lib/chef/knife/config_list.rb +0 -139
  322. data/lib/chef/knife/config_list_profiles.rb +0 -37
  323. data/lib/chef/knife/config_show.rb +0 -127
  324. data/lib/chef/knife/config_use.rb +0 -61
  325. data/lib/chef/knife/config_use_profile.rb +0 -47
  326. data/lib/chef/knife/configure.rb +0 -150
  327. data/lib/chef/knife/configure_client.rb +0 -48
  328. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  329. data/lib/chef/knife/cookbook_delete.rb +0 -151
  330. data/lib/chef/knife/cookbook_download.rb +0 -142
  331. data/lib/chef/knife/cookbook_list.rb +0 -47
  332. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  333. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  334. data/lib/chef/knife/cookbook_show.rb +0 -98
  335. data/lib/chef/knife/cookbook_upload.rb +0 -292
  336. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  337. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  338. data/lib/chef/knife/core/formatting_options.rb +0 -49
  339. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  340. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  341. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  342. data/lib/chef/knife/core/node_editor.rb +0 -130
  343. data/lib/chef/knife/core/node_presenter.rb +0 -133
  344. data/lib/chef/knife/core/object_loader.rb +0 -115
  345. data/lib/chef/knife/core/status_presenter.rb +0 -147
  346. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  347. data/lib/chef/knife/core/text_formatter.rb +0 -85
  348. data/lib/chef/knife/core/ui.rb +0 -338
  349. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  350. data/lib/chef/knife/data_bag_create.rb +0 -81
  351. data/lib/chef/knife/data_bag_delete.rb +0 -49
  352. data/lib/chef/knife/data_bag_edit.rb +0 -74
  353. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  354. data/lib/chef/knife/data_bag_list.rb +0 -42
  355. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  356. data/lib/chef/knife/data_bag_show.rb +0 -69
  357. data/lib/chef/knife/delete.rb +0 -125
  358. data/lib/chef/knife/deps.rb +0 -156
  359. data/lib/chef/knife/diff.rb +0 -83
  360. data/lib/chef/knife/download.rb +0 -84
  361. data/lib/chef/knife/edit.rb +0 -88
  362. data/lib/chef/knife/environment_compare.rb +0 -128
  363. data/lib/chef/knife/environment_create.rb +0 -52
  364. data/lib/chef/knife/environment_delete.rb +0 -44
  365. data/lib/chef/knife/environment_edit.rb +0 -44
  366. data/lib/chef/knife/environment_from_file.rb +0 -84
  367. data/lib/chef/knife/environment_list.rb +0 -41
  368. data/lib/chef/knife/environment_show.rb +0 -47
  369. data/lib/chef/knife/exec.rb +0 -99
  370. data/lib/chef/knife/group_add.rb +0 -55
  371. data/lib/chef/knife/group_create.rb +0 -49
  372. data/lib/chef/knife/group_destroy.rb +0 -53
  373. data/lib/chef/knife/group_list.rb +0 -43
  374. data/lib/chef/knife/group_remove.rb +0 -56
  375. data/lib/chef/knife/group_show.rb +0 -49
  376. data/lib/chef/knife/key_create.rb +0 -112
  377. data/lib/chef/knife/key_create_base.rb +0 -50
  378. data/lib/chef/knife/key_delete.rb +0 -55
  379. data/lib/chef/knife/key_edit.rb +0 -118
  380. data/lib/chef/knife/key_edit_base.rb +0 -55
  381. data/lib/chef/knife/key_list.rb +0 -90
  382. data/lib/chef/knife/key_list_base.rb +0 -45
  383. data/lib/chef/knife/key_show.rb +0 -53
  384. data/lib/chef/knife/list.rb +0 -177
  385. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  386. data/lib/chef/knife/node_create.rb +0 -47
  387. data/lib/chef/knife/node_delete.rb +0 -46
  388. data/lib/chef/knife/node_edit.rb +0 -70
  389. data/lib/chef/knife/node_environment_set.rb +0 -53
  390. data/lib/chef/knife/node_from_file.rb +0 -51
  391. data/lib/chef/knife/node_list.rb +0 -44
  392. data/lib/chef/knife/node_policy_set.rb +0 -79
  393. data/lib/chef/knife/node_run_list_add.rb +0 -104
  394. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  395. data/lib/chef/knife/node_run_list_set.rb +0 -66
  396. data/lib/chef/knife/node_show.rb +0 -63
  397. data/lib/chef/knife/null.rb +0 -12
  398. data/lib/chef/knife/raw.rb +0 -123
  399. data/lib/chef/knife/recipe_list.rb +0 -32
  400. data/lib/chef/knife/rehash.rb +0 -50
  401. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  402. data/lib/chef/knife/role_create.rb +0 -53
  403. data/lib/chef/knife/role_delete.rb +0 -46
  404. data/lib/chef/knife/role_edit.rb +0 -45
  405. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  406. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  407. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  408. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  409. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  410. data/lib/chef/knife/role_from_file.rb +0 -51
  411. data/lib/chef/knife/role_list.rb +0 -42
  412. data/lib/chef/knife/role_run_list_add.rb +0 -87
  413. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  414. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  415. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  416. data/lib/chef/knife/role_run_list_set.rb +0 -69
  417. data/lib/chef/knife/role_show.rb +0 -48
  418. data/lib/chef/knife/search.rb +0 -194
  419. data/lib/chef/knife/serve.rb +0 -65
  420. data/lib/chef/knife/show.rb +0 -72
  421. data/lib/chef/knife/ssh.rb +0 -645
  422. data/lib/chef/knife/ssl_check.rb +0 -284
  423. data/lib/chef/knife/ssl_fetch.rb +0 -161
  424. data/lib/chef/knife/status.rb +0 -95
  425. data/lib/chef/knife/supermarket_download.rb +0 -121
  426. data/lib/chef/knife/supermarket_install.rb +0 -192
  427. data/lib/chef/knife/supermarket_list.rb +0 -76
  428. data/lib/chef/knife/supermarket_search.rb +0 -53
  429. data/lib/chef/knife/supermarket_share.rb +0 -166
  430. data/lib/chef/knife/supermarket_show.rb +0 -66
  431. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  432. data/lib/chef/knife/tag_create.rb +0 -52
  433. data/lib/chef/knife/tag_delete.rb +0 -60
  434. data/lib/chef/knife/tag_list.rb +0 -47
  435. data/lib/chef/knife/upload.rb +0 -86
  436. data/lib/chef/knife/user_create.rb +0 -107
  437. data/lib/chef/knife/user_delete.rb +0 -44
  438. data/lib/chef/knife/user_dissociate.rb +0 -42
  439. data/lib/chef/knife/user_edit.rb +0 -52
  440. data/lib/chef/knife/user_invite_add.rb +0 -43
  441. data/lib/chef/knife/user_invite_list.rb +0 -34
  442. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  443. data/lib/chef/knife/user_key_create.rb +0 -73
  444. data/lib/chef/knife/user_key_delete.rb +0 -80
  445. data/lib/chef/knife/user_key_edit.rb +0 -83
  446. data/lib/chef/knife/user_key_list.rb +0 -73
  447. data/lib/chef/knife/user_key_show.rb +0 -80
  448. data/lib/chef/knife/user_list.rb +0 -42
  449. data/lib/chef/knife/user_reregister.rb +0 -59
  450. data/lib/chef/knife/user_show.rb +0 -48
  451. data/lib/chef/knife/xargs.rb +0 -282
  452. data/lib/chef/knife/yaml_convert.rb +0 -91
  453. data/lib/chef/knife.rb +0 -665
  454. data/lib/chef/resource/user/dscl_user.rb +0 -35
  455. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  456. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  457. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  458. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  459. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  460. data/spec/functional/knife/configure_spec.rb +0 -33
  461. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  462. data/spec/functional/knife/exec_spec.rb +0 -55
  463. data/spec/functional/knife/rehash_spec.rb +0 -39
  464. data/spec/functional/knife/smoke_test.rb +0 -42
  465. data/spec/functional/knife/ssh_spec.rb +0 -352
  466. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  467. data/spec/functional/resource/windows_service_spec.rb +0 -105
  468. data/spec/functional/win32/service_manager_spec.rb +0 -220
  469. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  470. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  471. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  472. data/spec/integration/knife/chefignore_spec.rb +0 -301
  473. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  474. data/spec/integration/knife/client_create_spec.rb +0 -70
  475. data/spec/integration/knife/client_delete_spec.rb +0 -64
  476. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  477. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  478. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  479. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  480. data/spec/integration/knife/client_list_spec.rb +0 -49
  481. data/spec/integration/knife/client_show_spec.rb +0 -37
  482. data/spec/integration/knife/common_options_spec.rb +0 -174
  483. data/spec/integration/knife/config_list_spec.rb +0 -220
  484. data/spec/integration/knife/config_show_spec.rb +0 -192
  485. data/spec/integration/knife/config_use_spec.rb +0 -198
  486. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  487. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  488. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  489. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  490. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  491. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  492. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  493. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  494. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  495. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  496. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  497. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  498. data/spec/integration/knife/delete_spec.rb +0 -1018
  499. data/spec/integration/knife/deps_spec.rb +0 -703
  500. data/spec/integration/knife/diff_spec.rb +0 -605
  501. data/spec/integration/knife/download_spec.rb +0 -1336
  502. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  503. data/spec/integration/knife/environment_create_spec.rb +0 -41
  504. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  505. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  506. data/spec/integration/knife/environment_list_spec.rb +0 -42
  507. data/spec/integration/knife/environment_show_spec.rb +0 -77
  508. data/spec/integration/knife/list_spec.rb +0 -1060
  509. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  510. data/spec/integration/knife/node_create_spec.rb +0 -47
  511. data/spec/integration/knife/node_delete_spec.rb +0 -48
  512. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  513. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  514. data/spec/integration/knife/node_list_spec.rb +0 -45
  515. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  516. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  517. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  518. data/spec/integration/knife/node_show_spec.rb +0 -36
  519. data/spec/integration/knife/raw_spec.rb +0 -297
  520. data/spec/integration/knife/redirection_spec.rb +0 -64
  521. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  522. data/spec/integration/knife/role_create_spec.rb +0 -41
  523. data/spec/integration/knife/role_delete_spec.rb +0 -48
  524. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  525. data/spec/integration/knife/role_list_spec.rb +0 -45
  526. data/spec/integration/knife/role_show_spec.rb +0 -51
  527. data/spec/integration/knife/search_node_spec.rb +0 -40
  528. data/spec/integration/knife/serve_spec.rb +0 -92
  529. data/spec/integration/knife/show_spec.rb +0 -197
  530. data/spec/integration/knife/upload_spec.rb +0 -1617
  531. data/spec/support/shared/functional/knife.rb +0 -37
  532. data/spec/support/shared/functional/win32_service.rb +0 -57
  533. data/spec/support/shared/integration/knife_support.rb +0 -192
  534. data/spec/support/shared/unit/knife_shared.rb +0 -39
  535. data/spec/unit/application/knife_spec.rb +0 -241
  536. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  537. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  538. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  539. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  540. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  541. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  542. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  543. data/spec/unit/knife/client_create_spec.rb +0 -169
  544. data/spec/unit/knife/client_delete_spec.rb +0 -99
  545. data/spec/unit/knife/client_edit_spec.rb +0 -53
  546. data/spec/unit/knife/client_list_spec.rb +0 -34
  547. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  548. data/spec/unit/knife/client_show_spec.rb +0 -52
  549. data/spec/unit/knife/configure_client_spec.rb +0 -81
  550. data/spec/unit/knife/configure_spec.rb +0 -190
  551. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  552. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  553. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  554. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  555. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  556. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  557. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  558. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  559. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  560. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  561. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  562. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  563. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  564. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  565. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  566. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  567. data/spec/unit/knife/core/ui_spec.rb +0 -656
  568. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  569. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  570. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  571. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  572. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  573. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  574. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  575. data/spec/unit/knife/environment_create_spec.rb +0 -91
  576. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  577. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  578. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  579. data/spec/unit/knife/environment_list_spec.rb +0 -54
  580. data/spec/unit/knife/environment_show_spec.rb +0 -52
  581. data/spec/unit/knife/key_create_spec.rb +0 -223
  582. data/spec/unit/knife/key_delete_spec.rb +0 -133
  583. data/spec/unit/knife/key_edit_spec.rb +0 -264
  584. data/spec/unit/knife/key_helper.rb +0 -74
  585. data/spec/unit/knife/key_list_spec.rb +0 -216
  586. data/spec/unit/knife/key_show_spec.rb +0 -126
  587. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  588. data/spec/unit/knife/node_delete_spec.rb +0 -77
  589. data/spec/unit/knife/node_edit_spec.rb +0 -116
  590. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  591. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  592. data/spec/unit/knife/node_list_spec.rb +0 -62
  593. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  594. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  595. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  596. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  597. data/spec/unit/knife/node_show_spec.rb +0 -65
  598. data/spec/unit/knife/raw_spec.rb +0 -43
  599. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  600. data/spec/unit/knife/role_create_spec.rb +0 -80
  601. data/spec/unit/knife/role_delete_spec.rb +0 -67
  602. data/spec/unit/knife/role_edit_spec.rb +0 -77
  603. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  604. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  605. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  606. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  607. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  608. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  609. data/spec/unit/knife/role_list_spec.rb +0 -54
  610. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  611. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  612. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  613. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  614. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  615. data/spec/unit/knife/role_show_spec.rb +0 -59
  616. data/spec/unit/knife/ssh_spec.rb +0 -403
  617. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  618. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  619. data/spec/unit/knife/status_spec.rb +0 -112
  620. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  621. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  622. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  623. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  624. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  625. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  626. data/spec/unit/knife/tag_create_spec.rb +0 -23
  627. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  628. data/spec/unit/knife/tag_list_spec.rb +0 -23
  629. data/spec/unit/knife/user_create_spec.rb +0 -184
  630. data/spec/unit/knife/user_delete_spec.rb +0 -46
  631. data/spec/unit/knife/user_edit_spec.rb +0 -48
  632. data/spec/unit/knife/user_list_spec.rb +0 -36
  633. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  634. data/spec/unit/knife/user_show_spec.rb +0 -46
  635. data/spec/unit/knife_spec.rb +0 -634
  636. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  637. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,46 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeDelete < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node delete [NODE [NODE]] (options)"
31
-
32
- def run
33
- if @name_args.length == 0
34
- show_usage
35
- ui.fatal("You must specify at least one node name")
36
- exit 1
37
- end
38
-
39
- @name_args.each do |node_name|
40
- delete_object(Chef::Node, node_name)
41
- end
42
- end
43
-
44
- end
45
- end
46
- end
@@ -1,70 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
-
24
- class NodeEdit < Knife
25
-
26
- deps do
27
- require_relative "../node"
28
- require_relative "../json_compat"
29
- require_relative "core/node_editor"
30
- end
31
-
32
- banner "knife node edit NODE (options)"
33
-
34
- option :all_attributes,
35
- short: "-a",
36
- long: "--all",
37
- boolean: true,
38
- description: "Display all attributes when editing."
39
-
40
- def run
41
- if node_name.nil?
42
- show_usage
43
- ui.fatal("You must specify a node name")
44
- exit 1
45
- end
46
-
47
- updated_node = node_editor.edit_node
48
- if updated_values = node_editor.updated?
49
- ui.info "Saving updated #{updated_values.join(", ")} on node #{node.name}"
50
- updated_node.save
51
- else
52
- ui.info "Node not updated, skipping node save"
53
- end
54
- end
55
-
56
- def node_name
57
- @node_name ||= @name_args[0]
58
- end
59
-
60
- def node_editor
61
- @node_editor ||= Knife::NodeEditor.new(node, ui, config)
62
- end
63
-
64
- def node
65
- @node ||= Chef::Node.load(node_name)
66
- end
67
-
68
- end
69
- end
70
- end
@@ -1,53 +0,0 @@
1
- #
2
- # Author:: Jimmy McCrory (<jimmy.mccrory@gmail.com>)
3
- # Copyright:: Copyright 2014-2016, Jimmy McCrory
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeEnvironmentSet < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- end
28
-
29
- banner "knife node environment set NODE ENVIRONMENT"
30
-
31
- def run
32
- if @name_args.size < 2
33
- ui.fatal "You must specify a node name and an environment."
34
- show_usage
35
- exit 1
36
- else
37
- @node_name = @name_args[0]
38
- @environment = @name_args[1]
39
- end
40
-
41
- node = Chef::Node.load(@node_name)
42
-
43
- node.chef_environment = @environment
44
-
45
- node.save
46
-
47
- config[:environment] = @environment
48
- output(format_for_display(node))
49
- end
50
-
51
- end
52
- end
53
- end
@@ -1,51 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeFromFile < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- require_relative "core/object_loader"
29
- end
30
-
31
- banner "knife node from file FILE (options)"
32
-
33
- def loader
34
- @loader ||= Knife::Core::ObjectLoader.new(Chef::Node, ui)
35
- end
36
-
37
- def run
38
- @name_args.each do |arg|
39
- updated = loader.load_from("nodes", arg)
40
-
41
- updated.save
42
-
43
- output(format_for_display(updated)) if config[:print_after]
44
-
45
- ui.info("Updated Node #{updated.name}")
46
- end
47
- end
48
-
49
- end
50
- end
51
- end
@@ -1,44 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeList < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node list (options)"
31
-
32
- option :with_uri,
33
- short: "-w",
34
- long: "--with-uri",
35
- description: "Show corresponding URIs."
36
-
37
- def run
38
- env = Chef::Config[:environment]
39
- output(format_list_for_display( env ? Chef::Node.list_by_environment(env) : Chef::Node.list ))
40
- end
41
-
42
- end
43
- end
44
- end
@@ -1,79 +0,0 @@
1
- #
2
- # Author:: Piyush Awasthi (<piyush.awasthi@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the License);
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an AS IS BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodePolicySet < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node policy set NODE POLICY_GROUP POLICY_NAME (options)"
31
-
32
- def run
33
- validate_node!
34
- validate_options!
35
- node = Chef::Node.load(@name_args[0])
36
- set_policy(node)
37
- if node.save
38
- ui.info "Successfully set the policy on node #{node.name}"
39
- else
40
- ui.info "Error in updating node #{node.name}"
41
- end
42
- end
43
-
44
- private
45
-
46
- # Set policy name and group to node
47
- def set_policy(node)
48
- policy_group, policy_name = @name_args[1..]
49
- node.policy_name = policy_name
50
- node.policy_group = policy_group
51
- end
52
-
53
- # Validate policy name and policy group
54
- def validate_options!
55
- if incomplete_policyfile_options?
56
- ui.error("Policy group and name must be specified together")
57
- exit 1
58
- end
59
- true
60
- end
61
-
62
- # Validate node pass in CLI
63
- def validate_node!
64
- if @name_args[0].nil?
65
- ui.error("You must specify a node name")
66
- show_usage
67
- exit 1
68
- end
69
- end
70
-
71
- # True if one of policy_name or policy_group was given, but not both
72
- def incomplete_policyfile_options?
73
- policy_group, policy_name = @name_args[1..]
74
- (policy_group.nil? || policy_name.nil? || @name_args[1..-1].size > 2)
75
- end
76
-
77
- end
78
- end
79
- end
@@ -1,104 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeRunListAdd < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node run_list add [NODE] [ENTRY [ENTRY]] (options)"
31
-
32
- option :after,
33
- short: "-a ITEM",
34
- long: "--after ITEM",
35
- description: "Place the ENTRY in the run list after ITEM."
36
-
37
- option :before,
38
- short: "-b ITEM",
39
- long: "--before ITEM",
40
- description: "Place the ENTRY in the run list before ITEM."
41
-
42
- def run
43
- node = Chef::Node.load(@name_args[0])
44
- if @name_args.size > 2
45
- # Check for nested lists and create a single plain one
46
- entries = @name_args[1..].map do |entry|
47
- entry.split(",").map(&:strip)
48
- end.flatten
49
- else
50
- # Convert to array and remove the extra spaces
51
- entries = @name_args[1].split(",").map(&:strip)
52
- end
53
-
54
- if config[:after] && config[:before]
55
- ui.fatal("You cannot specify both --before and --after!")
56
- exit 1
57
- end
58
-
59
- if config[:after]
60
- add_to_run_list_after(node, entries, config[:after])
61
- elsif config[:before]
62
- add_to_run_list_before(node, entries, config[:before])
63
- else
64
- add_to_run_list_after(node, entries)
65
- end
66
-
67
- node.save
68
-
69
- config[:run_list] = true
70
-
71
- output(format_for_display(node))
72
- end
73
-
74
- private
75
-
76
- def add_to_run_list_after(node, entries, after = nil)
77
- if after
78
- nlist = []
79
- node.run_list.each do |entry|
80
- nlist << entry
81
- if entry == after
82
- entries.each { |e| nlist << e }
83
- end
84
- end
85
- node.run_list.reset!(nlist)
86
- else
87
- entries.each { |e| node.run_list << e }
88
- end
89
- end
90
-
91
- def add_to_run_list_before(node, entries, before)
92
- nlist = []
93
- node.run_list.each do |entry|
94
- if entry == before
95
- entries.each { |e| nlist << e }
96
- end
97
- nlist << entry
98
- end
99
- node.run_list.reset!(nlist)
100
- end
101
-
102
- end
103
- end
104
- end
@@ -1,67 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeRunListRemove < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node run_list remove [NODE] [ENTRY [ENTRY]] (options)"
31
-
32
- def run
33
- node = Chef::Node.load(@name_args[0])
34
-
35
- if @name_args.size > 2
36
- # Check for nested lists and create a single plain one
37
- entries = @name_args[1..].map do |entry|
38
- entry.split(",").map(&:strip)
39
- end.flatten
40
- else
41
- # Convert to array and remove the extra spaces
42
- entries = @name_args[1].split(",").map(&:strip)
43
- end
44
-
45
- # iterate over the list of things to remove,
46
- # warning if one of them was not found
47
- entries.each do |e|
48
- if node.run_list.find { |rli| e == rli.to_s }
49
- node.run_list.remove(e)
50
- else
51
- ui.warn "#{e} is not in the run list"
52
- unless /^(recipe|role)\[/.match?(e)
53
- ui.warn "(did you forget recipe[] or role[] around it?)"
54
- end
55
- end
56
- end
57
-
58
- node.save
59
-
60
- config[:run_list] = true
61
-
62
- output(format_for_display(node))
63
- end
64
-
65
- end
66
- end
67
- end
@@ -1,66 +0,0 @@
1
- #
2
- # Author:: Mike Fiedler (<miketheman@gmail.com>)
3
- # Copyright:: Copyright 2013-2016, Mike Fiedler
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
-
21
- class Chef
22
- class Knife
23
- class NodeRunListSet < Knife
24
-
25
- deps do
26
- require_relative "../node"
27
- require_relative "../json_compat"
28
- end
29
-
30
- banner "knife node run_list set NODE ENTRIES (options)"
31
-
32
- def run
33
- if @name_args.size < 2
34
- ui.fatal "You must supply both a node name and a run list."
35
- show_usage
36
- exit 1
37
- elsif @name_args.size > 2
38
- # Check for nested lists and create a single plain one
39
- entries = @name_args[1..].map do |entry|
40
- entry.split(",").map(&:strip)
41
- end.flatten
42
- else
43
- # Convert to array and remove the extra spaces
44
- entries = @name_args[1].split(",").map(&:strip)
45
- end
46
- node = Chef::Node.load(@name_args[0])
47
-
48
- set_run_list(node, entries)
49
-
50
- node.save
51
-
52
- config[:run_list] = true
53
-
54
- output(format_for_display(node))
55
- end
56
-
57
- # Clears out any existing run_list_items and sets them to the
58
- # specified entries
59
- def set_run_list(node, entries)
60
- node.run_list.run_list_items.clear
61
- entries.each { |e| node.run_list << e }
62
- end
63
-
64
- end
65
- end
66
- end
@@ -1,63 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require_relative "../knife"
20
- require_relative "core/node_presenter"
21
- require_relative "core/formatting_options"
22
- require "chef-utils/dist" unless defined?(ChefUtils::Dist)
23
-
24
- class Chef
25
- class Knife
26
- class NodeShow < Knife
27
-
28
- include Knife::Core::FormattingOptions
29
- include Knife::Core::MultiAttributeReturnOption
30
-
31
- deps do
32
- require_relative "../node"
33
- require_relative "../json_compat"
34
- end
35
-
36
- banner "knife node show NODE (options)"
37
-
38
- option :run_list,
39
- short: "-r",
40
- long: "--run-list",
41
- description: "Show only the run list."
42
-
43
- option :environment,
44
- short: "-E",
45
- long: "--environment",
46
- description: "Show only the #{ChefUtils::Dist::Infra::PRODUCT} environment."
47
-
48
- def run
49
- ui.use_presenter Knife::Core::NodePresenter
50
- @node_name = @name_args[0]
51
-
52
- if @node_name.nil?
53
- show_usage
54
- ui.fatal("You must specify a node name")
55
- exit 1
56
- end
57
-
58
- node = Chef::Node.load(@node_name)
59
- output(format_for_display(node))
60
- end
61
- end
62
- end
63
- end
@@ -1,12 +0,0 @@
1
- class Chef
2
- class Knife
3
- class Null < Chef::Knife
4
- banner "knife null"
5
-
6
- # setting the category to deprecated keeps it out of help
7
- category "deprecated"
8
-
9
- def run; end
10
- end
11
- end
12
- end