chef 16.11.7 → 17.2.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (689) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -21
  3. data/README.md +1 -1
  4. data/Rakefile +13 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +11 -24
  7. data/lib/chef/action_collection.rb +6 -26
  8. data/lib/chef/application.rb +1 -1
  9. data/lib/chef/application/base.rb +16 -1
  10. data/lib/chef/applications.rb +0 -1
  11. data/lib/chef/chef_fs/command_line.rb +5 -2
  12. data/lib/chef/chef_fs/file_pattern.rb +2 -2
  13. data/lib/chef/chef_fs/file_system.rb +9 -10
  14. data/lib/chef/client.rb +8 -2
  15. data/lib/chef/compliance/default_attributes.rb +5 -4
  16. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  17. data/lib/chef/compliance/reporter/automate.rb +17 -7
  18. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  19. data/lib/chef/compliance/reporter/cli.rb +77 -0
  20. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  21. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  22. data/lib/chef/compliance/runner.rb +65 -27
  23. data/lib/chef/cookbook/cookbook_version_loader.rb +3 -3
  24. data/lib/chef/cookbook/gem_installer.rb +5 -1
  25. data/lib/chef/cookbook/synchronizer.rb +3 -5
  26. data/lib/chef/cookbook_loader.rb +2 -4
  27. data/lib/chef/cookbook_uploader.rb +0 -1
  28. data/lib/chef/cookbook_version.rb +26 -4
  29. data/lib/chef/data_bag.rb +2 -1
  30. data/lib/chef/data_bag_item.rb +13 -3
  31. data/lib/chef/data_collector.rb +0 -1
  32. data/lib/chef/data_collector/run_end_message.rb +1 -1
  33. data/lib/chef/delayed_evaluator.rb +4 -0
  34. data/lib/chef/deprecated.rb +8 -0
  35. data/lib/chef/dsl/chef_vault.rb +6 -6
  36. data/lib/chef/dsl/declare_resource.rb +5 -10
  37. data/lib/chef/dsl/reboot_pending.rb +1 -2
  38. data/lib/chef/event_dispatch/base.rb +2 -1
  39. data/lib/chef/exceptions.rb +3 -0
  40. data/lib/chef/formatters/doc.rb +2 -1
  41. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  42. data/lib/chef/group.rb +75 -0
  43. data/lib/chef/handler.rb +46 -8
  44. data/lib/chef/handler/slow_report.rb +66 -0
  45. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  46. data/lib/chef/node.rb +21 -20
  47. data/lib/chef/node/attribute.rb +6 -4
  48. data/lib/chef/node/immutable_collections.rb +13 -0
  49. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  50. data/lib/chef/org.rb +3 -2
  51. data/lib/chef/property.rb +18 -0
  52. data/lib/chef/provider.rb +1 -1
  53. data/lib/chef/provider/cron.rb +1 -1
  54. data/lib/chef/provider/directory.rb +6 -6
  55. data/lib/chef/provider/execute.rb +2 -1
  56. data/lib/chef/provider/file.rb +2 -2
  57. data/lib/chef/provider/git.rb +5 -7
  58. data/lib/chef/provider/group/groupadd.rb +3 -3
  59. data/lib/chef/provider/group/groupmod.rb +3 -3
  60. data/lib/chef/provider/group/pw.rb +3 -3
  61. data/lib/chef/provider/ifconfig.rb +2 -2
  62. data/lib/chef/provider/link.rb +3 -3
  63. data/lib/chef/provider/mount.rb +12 -7
  64. data/lib/chef/provider/mount/aix.rb +3 -3
  65. data/lib/chef/provider/mount/mount.rb +5 -5
  66. data/lib/chef/provider/mount/windows.rb +1 -1
  67. data/lib/chef/provider/package.rb +17 -21
  68. data/lib/chef/provider/package/apt.rb +27 -1
  69. data/lib/chef/provider/package/deb.rb +3 -3
  70. data/lib/chef/provider/package/dnf/dnf_helper.py +12 -11
  71. data/lib/chef/provider/package/dnf/python_helper.rb +9 -8
  72. data/lib/chef/provider/package/portage.rb +2 -2
  73. data/lib/chef/provider/package/rubygems.rb +11 -17
  74. data/lib/chef/provider/package/windows.rb +2 -4
  75. data/lib/chef/provider/package/yum.rb +1 -4
  76. data/lib/chef/provider/package/yum/python_helper.rb +15 -10
  77. data/lib/chef/provider/package/yum/yum_helper.py +47 -63
  78. data/lib/chef/provider/registry_key.rb +1 -1
  79. data/lib/chef/provider/route.rb +2 -2
  80. data/lib/chef/provider/service.rb +6 -6
  81. data/lib/chef/provider/service/aixinit.rb +1 -1
  82. data/lib/chef/provider/service/debian.rb +1 -1
  83. data/lib/chef/provider/service/freebsd.rb +15 -21
  84. data/lib/chef/provider/service/macosx.rb +7 -7
  85. data/lib/chef/provider/service/systemd.rb +43 -14
  86. data/lib/chef/provider/service/upstart.rb +2 -13
  87. data/lib/chef/provider/service/windows.rb +12 -12
  88. data/lib/chef/provider/subversion.rb +10 -12
  89. data/lib/chef/provider/support/zypper_repo.erb +4 -2
  90. data/lib/chef/provider/systemd_unit.rb +36 -10
  91. data/lib/chef/provider/template/content.rb +3 -7
  92. data/lib/chef/provider/user.rb +2 -2
  93. data/lib/chef/provider/user/dscl.rb +1 -1
  94. data/lib/chef/provider/user/mac.rb +17 -20
  95. data/lib/chef/provider/user/pw.rb +1 -1
  96. data/lib/chef/provider/user/windows.rb +1 -1
  97. data/lib/chef/provider/windows_script.rb +1 -1
  98. data/lib/chef/provider/zypper_repository.rb +28 -32
  99. data/lib/chef/providers.rb +0 -1
  100. data/lib/chef/resource.rb +6 -7
  101. data/lib/chef/resource/alternatives.rb +6 -6
  102. data/lib/chef/resource/apt_package.rb +1 -1
  103. data/lib/chef/resource/apt_preference.rb +2 -2
  104. data/lib/chef/resource/apt_repository.rb +6 -6
  105. data/lib/chef/resource/apt_update.rb +5 -4
  106. data/lib/chef/resource/archive_file.rb +2 -3
  107. data/lib/chef/resource/breakpoint.rb +1 -1
  108. data/lib/chef/resource/build_essential.rb +2 -6
  109. data/lib/chef/resource/chef_client_config.rb +3 -3
  110. data/lib/chef/resource/chef_client_cron.rb +4 -4
  111. data/lib/chef/resource/chef_client_launchd.rb +6 -6
  112. data/lib/chef/resource/chef_client_scheduled_task.rb +15 -15
  113. data/lib/chef/resource/chef_client_systemd_timer.rb +4 -4
  114. data/lib/chef/resource/chef_handler.rb +3 -7
  115. data/lib/chef/resource/chef_sleep.rb +1 -1
  116. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  117. data/lib/chef/resource/chocolatey_config.rb +2 -6
  118. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  119. data/lib/chef/resource/chocolatey_source.rb +4 -10
  120. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  121. data/lib/chef/resource/cron/cron_d.rb +4 -6
  122. data/lib/chef/resource/cron_access.rb +2 -4
  123. data/lib/chef/resource/dmg_package.rb +6 -10
  124. data/lib/chef/resource/dpkg_package.rb +1 -1
  125. data/lib/chef/resource/execute.rb +8 -3
  126. data/lib/chef/resource/file.rb +1 -1
  127. data/lib/chef/resource/group.rb +6 -6
  128. data/lib/chef/resource/homebrew_cask.rb +17 -10
  129. data/lib/chef/resource/homebrew_package.rb +1 -1
  130. data/lib/chef/resource/homebrew_tap.rb +4 -7
  131. data/lib/chef/resource/homebrew_update.rb +2 -2
  132. data/lib/chef/resource/hostname.rb +68 -22
  133. data/lib/chef/resource/http_request.rb +1 -1
  134. data/lib/chef/resource/inspec_waiver_file_entry.rb +156 -0
  135. data/lib/chef/resource/kernel_module.rb +6 -17
  136. data/lib/chef/resource/locale.rb +2 -3
  137. data/lib/chef/resource/lwrp_base.rb +19 -0
  138. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  139. data/lib/chef/resource/mdadm.rb +53 -7
  140. data/lib/chef/resource/mount.rb +2 -1
  141. data/lib/chef/resource/ohai_hint.rb +2 -6
  142. data/lib/chef/resource/openbsd_package.rb +17 -0
  143. data/lib/chef/resource/openssl_dhparam.rb +1 -2
  144. data/lib/chef/resource/openssl_ec_private_key.rb +3 -5
  145. data/lib/chef/resource/openssl_ec_public_key.rb +1 -3
  146. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -4
  147. data/lib/chef/resource/openssl_rsa_public_key.rb +1 -3
  148. data/lib/chef/resource/openssl_x509_certificate.rb +3 -6
  149. data/lib/chef/resource/openssl_x509_crl.rb +1 -3
  150. data/lib/chef/resource/openssl_x509_request.rb +1 -3
  151. data/lib/chef/resource/osx_profile.rb +3 -3
  152. data/lib/chef/resource/plist.rb +8 -8
  153. data/lib/chef/resource/powershell_package_source.rb +2 -4
  154. data/lib/chef/resource/powershell_script.rb +1 -1
  155. data/lib/chef/resource/reboot.rb +38 -9
  156. data/lib/chef/resource/remote_directory.rb +2 -2
  157. data/lib/chef/resource/remote_file.rb +3 -3
  158. data/lib/chef/resource/rhsm_errata.rb +16 -3
  159. data/lib/chef/resource/rhsm_errata_level.rb +11 -6
  160. data/lib/chef/resource/rhsm_register.rb +12 -6
  161. data/lib/chef/resource/rhsm_repo.rb +17 -6
  162. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  163. data/lib/chef/resource/scm/git.rb +1 -1
  164. data/lib/chef/resource/ssh_known_hosts_entry.rb +4 -7
  165. data/lib/chef/resource/sudo.rb +8 -12
  166. data/lib/chef/resource/swap_file.rb +2 -6
  167. data/lib/chef/resource/sysctl.rb +2 -6
  168. data/lib/chef/resource/systemd_unit.rb +2 -2
  169. data/lib/chef/resource/template.rb +1 -1
  170. data/lib/chef/resource/timezone.rb +1 -3
  171. data/lib/chef/resource/user/mac_user.rb +1 -1
  172. data/lib/chef/resource/user_ulimit.rb +2 -2
  173. data/lib/chef/resource/windows_ad_join.rb +2 -6
  174. data/lib/chef/resource/windows_audit_policy.rb +2 -2
  175. data/lib/chef/resource/windows_auto_run.rb +2 -5
  176. data/lib/chef/resource/windows_certificate.rb +207 -73
  177. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  178. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  179. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  180. data/lib/chef/resource/windows_dns_record.rb +2 -6
  181. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  182. data/lib/chef/resource/windows_env.rb +6 -5
  183. data/lib/chef/resource/windows_feature.rb +3 -9
  184. data/lib/chef/resource/windows_feature_dism.rb +3 -9
  185. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  186. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  187. data/lib/chef/resource/windows_firewall_rule.rb +20 -9
  188. data/lib/chef/resource/windows_font.rb +3 -5
  189. data/lib/chef/resource/windows_pagefile.rb +104 -69
  190. data/lib/chef/resource/windows_path.rb +4 -4
  191. data/lib/chef/resource/windows_printer.rb +8 -23
  192. data/lib/chef/resource/windows_printer_port.rb +49 -66
  193. data/lib/chef/resource/windows_security_policy.rb +56 -40
  194. data/lib/chef/resource/windows_share.rb +14 -21
  195. data/lib/chef/resource/windows_shortcut.rb +4 -6
  196. data/lib/chef/resource/windows_task.rb +19 -7
  197. data/lib/chef/resource/windows_uac.rb +3 -5
  198. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  199. data/lib/chef/resource/windows_workgroup.rb +3 -4
  200. data/lib/chef/resource/yum_package.rb +10 -10
  201. data/lib/chef/resource/zypper_package.rb +4 -4
  202. data/lib/chef/resource/zypper_repository.rb +28 -8
  203. data/lib/chef/resource_builder.rb +8 -2
  204. data/lib/chef/resource_reporter.rb +0 -1
  205. data/lib/chef/resources.rb +1 -1
  206. data/lib/chef/run_lock.rb +1 -1
  207. data/lib/chef/runner.rb +1 -1
  208. data/lib/chef/shell/ext.rb +3 -3
  209. data/lib/chef/user.rb +0 -1
  210. data/lib/chef/user_v1.rb +3 -4
  211. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  212. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  213. data/lib/chef/version.rb +1 -1
  214. data/lib/chef/win32/api.rb +9 -2
  215. data/lib/chef/win32/registry.rb +4 -2
  216. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  217. data/spec/data/lwrp/resources/bar.rb +2 -0
  218. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  219. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  220. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  221. data/spec/data/lwrp/resources/foo.rb +2 -0
  222. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  223. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  224. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  225. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  226. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  227. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  228. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  229. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  230. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  231. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  232. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  233. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  234. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  235. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  236. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  237. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  238. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  239. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  240. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  241. data/spec/functional/resource/apt_package_spec.rb +1 -1
  242. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  243. data/spec/functional/resource/cron_spec.rb +1 -1
  244. data/spec/functional/resource/dnf_package_spec.rb +857 -534
  245. data/spec/functional/resource/group_spec.rb +1 -1
  246. data/spec/functional/resource/link_spec.rb +1 -1
  247. data/spec/functional/resource/registry_spec.rb +8 -8
  248. data/spec/functional/resource/remote_file_spec.rb +1 -1
  249. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  250. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  251. data/spec/functional/resource/windows_env_spec.rb +2 -2
  252. data/spec/functional/resource/windows_hostname_spec.rb +91 -0
  253. data/spec/functional/resource/windows_pagefile_spec.rb +98 -0
  254. data/spec/functional/resource/yum_package_spec.rb +495 -428
  255. data/spec/functional/version_spec.rb +1 -1
  256. data/spec/functional/win32/registry_spec.rb +1 -1
  257. data/spec/integration/client/client_spec.rb +5 -22
  258. data/spec/integration/client/exit_code_spec.rb +1 -1
  259. data/spec/integration/client/ipv6_spec.rb +1 -1
  260. data/spec/integration/compliance/compliance_spec.rb +1 -1
  261. data/spec/integration/ohai/ohai_spec.rb +7 -6
  262. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  263. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  264. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  265. data/spec/integration/recipes/notifies_spec.rb +15 -1
  266. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  267. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  268. data/spec/integration/recipes/unified_mode_spec.rb +71 -1
  269. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  270. data/spec/spec_helper.rb +14 -13
  271. data/spec/support/chef_helpers.rb +1 -17
  272. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  273. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  274. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  275. data/spec/support/matchers/leak.rb +7 -9
  276. data/spec/support/platform_helpers.rb +5 -8
  277. data/spec/support/shared/functional/execute_resource.rb +1 -1
  278. data/spec/support/shared/integration/integration_helper.rb +0 -1
  279. data/spec/support/shared/unit/provider/file.rb +15 -1
  280. data/spec/support/shared/unit/script_resource.rb +2 -2
  281. data/spec/unit/application/solo_spec.rb +2 -2
  282. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  283. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  284. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  285. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  286. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  287. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  288. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  289. data/spec/unit/compliance/runner_spec.rb +31 -5
  290. data/spec/unit/cookbook_version_spec.rb +52 -0
  291. data/spec/unit/data_bag_item_spec.rb +3 -8
  292. data/spec/unit/data_bag_spec.rb +1 -1
  293. data/spec/unit/data_collector_spec.rb +47 -1
  294. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  295. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  296. data/spec/unit/handler_spec.rb +8 -2
  297. data/spec/unit/lwrp_spec.rb +1 -1
  298. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  299. data/spec/unit/node/attribute_spec.rb +1 -1
  300. data/spec/unit/node_spec.rb +78 -0
  301. data/spec/unit/org_group_spec.rb +45 -0
  302. data/spec/unit/property_spec.rb +23 -22
  303. data/spec/unit/provider/cron_spec.rb +1 -1
  304. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  305. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  306. data/spec/unit/provider/group/pw_spec.rb +2 -2
  307. data/spec/unit/provider/group_spec.rb +1 -1
  308. data/spec/unit/provider/link_spec.rb +1 -1
  309. data/spec/unit/provider/mount/mount_spec.rb +51 -0
  310. data/spec/unit/provider/package/apt_spec.rb +84 -18
  311. data/spec/unit/provider/package/deb_spec.rb +3 -3
  312. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -0
  313. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  314. data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -0
  315. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  316. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  317. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  318. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  319. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  320. data/spec/unit/provider/service/windows_spec.rb +2 -2
  321. data/spec/unit/provider/subversion_spec.rb +2 -2
  322. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  323. data/spec/unit/provider/zypper_repository_spec.rb +5 -12
  324. data/spec/unit/provider_spec.rb +0 -8
  325. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
  326. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  327. data/spec/unit/resource/windows_firewall_rule_spec.rb +12 -7
  328. data/spec/unit/resource/windows_pagefile_spec.rb +4 -9
  329. data/spec/unit/resource/windows_task_spec.rb +1 -1
  330. data/spec/unit/resource/zypper_repository_spec.rb +1 -1
  331. data/spec/unit/user_spec.rb +1 -1
  332. data/spec/unit/user_v1_spec.rb +6 -4
  333. data/tasks/rspec.rb +9 -6
  334. metadata +22 -526
  335. data/bin/knife +0 -24
  336. data/lib/chef/application/knife.rb +0 -234
  337. data/lib/chef/application/windows_service.rb +0 -338
  338. data/lib/chef/application/windows_service_manager.rb +0 -205
  339. data/lib/chef/chef_fs/knife.rb +0 -160
  340. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  341. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  342. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  343. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  344. data/lib/chef/knife.rb +0 -665
  345. data/lib/chef/knife/acl_add.rb +0 -57
  346. data/lib/chef/knife/acl_base.rb +0 -183
  347. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  348. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  349. data/lib/chef/knife/acl_remove.rb +0 -62
  350. data/lib/chef/knife/acl_show.rb +0 -56
  351. data/lib/chef/knife/bootstrap.rb +0 -1192
  352. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  353. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  354. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  355. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  356. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  357. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  358. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  359. data/lib/chef/knife/client_create.rb +0 -101
  360. data/lib/chef/knife/client_delete.rb +0 -62
  361. data/lib/chef/knife/client_edit.rb +0 -52
  362. data/lib/chef/knife/client_key_create.rb +0 -73
  363. data/lib/chef/knife/client_key_delete.rb +0 -80
  364. data/lib/chef/knife/client_key_edit.rb +0 -83
  365. data/lib/chef/knife/client_key_list.rb +0 -73
  366. data/lib/chef/knife/client_key_show.rb +0 -80
  367. data/lib/chef/knife/client_list.rb +0 -41
  368. data/lib/chef/knife/client_reregister.rb +0 -58
  369. data/lib/chef/knife/client_show.rb +0 -48
  370. data/lib/chef/knife/config_get.rb +0 -39
  371. data/lib/chef/knife/config_get_profile.rb +0 -37
  372. data/lib/chef/knife/config_list.rb +0 -139
  373. data/lib/chef/knife/config_list_profiles.rb +0 -37
  374. data/lib/chef/knife/config_show.rb +0 -127
  375. data/lib/chef/knife/config_use.rb +0 -61
  376. data/lib/chef/knife/config_use_profile.rb +0 -47
  377. data/lib/chef/knife/configure.rb +0 -150
  378. data/lib/chef/knife/configure_client.rb +0 -48
  379. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  380. data/lib/chef/knife/cookbook_delete.rb +0 -151
  381. data/lib/chef/knife/cookbook_download.rb +0 -142
  382. data/lib/chef/knife/cookbook_list.rb +0 -47
  383. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  384. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  385. data/lib/chef/knife/cookbook_show.rb +0 -98
  386. data/lib/chef/knife/cookbook_upload.rb +0 -292
  387. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  388. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  389. data/lib/chef/knife/core/formatting_options.rb +0 -49
  390. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  391. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  392. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  393. data/lib/chef/knife/core/node_editor.rb +0 -130
  394. data/lib/chef/knife/core/node_presenter.rb +0 -133
  395. data/lib/chef/knife/core/object_loader.rb +0 -115
  396. data/lib/chef/knife/core/status_presenter.rb +0 -147
  397. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  398. data/lib/chef/knife/core/text_formatter.rb +0 -85
  399. data/lib/chef/knife/core/ui.rb +0 -338
  400. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  401. data/lib/chef/knife/data_bag_create.rb +0 -81
  402. data/lib/chef/knife/data_bag_delete.rb +0 -49
  403. data/lib/chef/knife/data_bag_edit.rb +0 -74
  404. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  405. data/lib/chef/knife/data_bag_list.rb +0 -42
  406. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  407. data/lib/chef/knife/data_bag_show.rb +0 -69
  408. data/lib/chef/knife/delete.rb +0 -125
  409. data/lib/chef/knife/deps.rb +0 -156
  410. data/lib/chef/knife/diff.rb +0 -83
  411. data/lib/chef/knife/download.rb +0 -84
  412. data/lib/chef/knife/edit.rb +0 -88
  413. data/lib/chef/knife/environment_compare.rb +0 -128
  414. data/lib/chef/knife/environment_create.rb +0 -52
  415. data/lib/chef/knife/environment_delete.rb +0 -44
  416. data/lib/chef/knife/environment_edit.rb +0 -44
  417. data/lib/chef/knife/environment_from_file.rb +0 -84
  418. data/lib/chef/knife/environment_list.rb +0 -41
  419. data/lib/chef/knife/environment_show.rb +0 -47
  420. data/lib/chef/knife/exec.rb +0 -99
  421. data/lib/chef/knife/group_add.rb +0 -55
  422. data/lib/chef/knife/group_create.rb +0 -49
  423. data/lib/chef/knife/group_destroy.rb +0 -53
  424. data/lib/chef/knife/group_list.rb +0 -43
  425. data/lib/chef/knife/group_remove.rb +0 -56
  426. data/lib/chef/knife/group_show.rb +0 -49
  427. data/lib/chef/knife/key_create.rb +0 -112
  428. data/lib/chef/knife/key_create_base.rb +0 -50
  429. data/lib/chef/knife/key_delete.rb +0 -55
  430. data/lib/chef/knife/key_edit.rb +0 -118
  431. data/lib/chef/knife/key_edit_base.rb +0 -55
  432. data/lib/chef/knife/key_list.rb +0 -90
  433. data/lib/chef/knife/key_list_base.rb +0 -45
  434. data/lib/chef/knife/key_show.rb +0 -53
  435. data/lib/chef/knife/list.rb +0 -177
  436. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  437. data/lib/chef/knife/node_create.rb +0 -47
  438. data/lib/chef/knife/node_delete.rb +0 -46
  439. data/lib/chef/knife/node_edit.rb +0 -70
  440. data/lib/chef/knife/node_environment_set.rb +0 -53
  441. data/lib/chef/knife/node_from_file.rb +0 -51
  442. data/lib/chef/knife/node_list.rb +0 -44
  443. data/lib/chef/knife/node_policy_set.rb +0 -79
  444. data/lib/chef/knife/node_run_list_add.rb +0 -104
  445. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  446. data/lib/chef/knife/node_run_list_set.rb +0 -66
  447. data/lib/chef/knife/node_show.rb +0 -63
  448. data/lib/chef/knife/null.rb +0 -12
  449. data/lib/chef/knife/raw.rb +0 -123
  450. data/lib/chef/knife/recipe_list.rb +0 -32
  451. data/lib/chef/knife/rehash.rb +0 -50
  452. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  453. data/lib/chef/knife/role_create.rb +0 -53
  454. data/lib/chef/knife/role_delete.rb +0 -46
  455. data/lib/chef/knife/role_edit.rb +0 -45
  456. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  457. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  458. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  459. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  460. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  461. data/lib/chef/knife/role_from_file.rb +0 -51
  462. data/lib/chef/knife/role_list.rb +0 -42
  463. data/lib/chef/knife/role_run_list_add.rb +0 -87
  464. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  465. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  466. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  467. data/lib/chef/knife/role_run_list_set.rb +0 -69
  468. data/lib/chef/knife/role_show.rb +0 -48
  469. data/lib/chef/knife/search.rb +0 -194
  470. data/lib/chef/knife/serve.rb +0 -65
  471. data/lib/chef/knife/show.rb +0 -72
  472. data/lib/chef/knife/ssh.rb +0 -645
  473. data/lib/chef/knife/ssl_check.rb +0 -284
  474. data/lib/chef/knife/ssl_fetch.rb +0 -161
  475. data/lib/chef/knife/status.rb +0 -95
  476. data/lib/chef/knife/supermarket_download.rb +0 -121
  477. data/lib/chef/knife/supermarket_install.rb +0 -192
  478. data/lib/chef/knife/supermarket_list.rb +0 -76
  479. data/lib/chef/knife/supermarket_search.rb +0 -53
  480. data/lib/chef/knife/supermarket_share.rb +0 -166
  481. data/lib/chef/knife/supermarket_show.rb +0 -66
  482. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  483. data/lib/chef/knife/tag_create.rb +0 -52
  484. data/lib/chef/knife/tag_delete.rb +0 -60
  485. data/lib/chef/knife/tag_list.rb +0 -47
  486. data/lib/chef/knife/upload.rb +0 -86
  487. data/lib/chef/knife/user_create.rb +0 -107
  488. data/lib/chef/knife/user_delete.rb +0 -44
  489. data/lib/chef/knife/user_dissociate.rb +0 -42
  490. data/lib/chef/knife/user_edit.rb +0 -52
  491. data/lib/chef/knife/user_invite_add.rb +0 -43
  492. data/lib/chef/knife/user_invite_list.rb +0 -34
  493. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  494. data/lib/chef/knife/user_key_create.rb +0 -73
  495. data/lib/chef/knife/user_key_delete.rb +0 -80
  496. data/lib/chef/knife/user_key_edit.rb +0 -83
  497. data/lib/chef/knife/user_key_list.rb +0 -73
  498. data/lib/chef/knife/user_key_show.rb +0 -80
  499. data/lib/chef/knife/user_list.rb +0 -42
  500. data/lib/chef/knife/user_reregister.rb +0 -59
  501. data/lib/chef/knife/user_show.rb +0 -48
  502. data/lib/chef/knife/xargs.rb +0 -282
  503. data/lib/chef/knife/yaml_convert.rb +0 -91
  504. data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -79
  505. data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -318
  506. data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
  507. data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -354
  508. data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
  509. data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -440
  510. data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
  511. data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -65
  512. data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
  513. data/lib/chef/provider/package/yum/simplejson/tool.py +0 -37
  514. data/lib/chef/resource/user/dscl_user.rb +0 -35
  515. data/spec/functional/knife/configure_spec.rb +0 -33
  516. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  517. data/spec/functional/knife/exec_spec.rb +0 -55
  518. data/spec/functional/knife/rehash_spec.rb +0 -39
  519. data/spec/functional/knife/smoke_test.rb +0 -42
  520. data/spec/functional/knife/ssh_spec.rb +0 -352
  521. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  522. data/spec/functional/resource/windows_service_spec.rb +0 -105
  523. data/spec/functional/win32/service_manager_spec.rb +0 -220
  524. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  525. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  526. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  527. data/spec/integration/knife/chefignore_spec.rb +0 -301
  528. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  529. data/spec/integration/knife/client_create_spec.rb +0 -70
  530. data/spec/integration/knife/client_delete_spec.rb +0 -64
  531. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  532. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  533. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  534. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  535. data/spec/integration/knife/client_list_spec.rb +0 -49
  536. data/spec/integration/knife/client_show_spec.rb +0 -37
  537. data/spec/integration/knife/common_options_spec.rb +0 -174
  538. data/spec/integration/knife/config_list_spec.rb +0 -220
  539. data/spec/integration/knife/config_show_spec.rb +0 -192
  540. data/spec/integration/knife/config_use_spec.rb +0 -198
  541. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  542. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  543. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  544. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  545. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  546. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  547. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  548. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  549. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  550. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  551. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  552. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  553. data/spec/integration/knife/delete_spec.rb +0 -1018
  554. data/spec/integration/knife/deps_spec.rb +0 -703
  555. data/spec/integration/knife/diff_spec.rb +0 -605
  556. data/spec/integration/knife/download_spec.rb +0 -1336
  557. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  558. data/spec/integration/knife/environment_create_spec.rb +0 -41
  559. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  560. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  561. data/spec/integration/knife/environment_list_spec.rb +0 -42
  562. data/spec/integration/knife/environment_show_spec.rb +0 -77
  563. data/spec/integration/knife/list_spec.rb +0 -1060
  564. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  565. data/spec/integration/knife/node_create_spec.rb +0 -47
  566. data/spec/integration/knife/node_delete_spec.rb +0 -48
  567. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  568. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  569. data/spec/integration/knife/node_list_spec.rb +0 -45
  570. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  571. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  572. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  573. data/spec/integration/knife/node_show_spec.rb +0 -36
  574. data/spec/integration/knife/raw_spec.rb +0 -297
  575. data/spec/integration/knife/redirection_spec.rb +0 -64
  576. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  577. data/spec/integration/knife/role_create_spec.rb +0 -41
  578. data/spec/integration/knife/role_delete_spec.rb +0 -48
  579. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  580. data/spec/integration/knife/role_list_spec.rb +0 -45
  581. data/spec/integration/knife/role_show_spec.rb +0 -51
  582. data/spec/integration/knife/search_node_spec.rb +0 -40
  583. data/spec/integration/knife/serve_spec.rb +0 -92
  584. data/spec/integration/knife/show_spec.rb +0 -197
  585. data/spec/integration/knife/upload_spec.rb +0 -1617
  586. data/spec/support/shared/functional/win32_service.rb +0 -57
  587. data/spec/unit/application/knife_spec.rb +0 -241
  588. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  589. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  590. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  591. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  592. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  593. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  594. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  595. data/spec/unit/knife/client_create_spec.rb +0 -169
  596. data/spec/unit/knife/client_delete_spec.rb +0 -99
  597. data/spec/unit/knife/client_edit_spec.rb +0 -53
  598. data/spec/unit/knife/client_list_spec.rb +0 -34
  599. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  600. data/spec/unit/knife/client_show_spec.rb +0 -52
  601. data/spec/unit/knife/configure_client_spec.rb +0 -81
  602. data/spec/unit/knife/configure_spec.rb +0 -190
  603. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  604. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  605. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  606. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  607. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  608. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  609. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  610. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  611. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  612. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  613. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  614. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  615. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  616. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  617. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  618. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  619. data/spec/unit/knife/core/ui_spec.rb +0 -656
  620. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  621. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  622. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  623. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  624. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  625. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  626. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  627. data/spec/unit/knife/environment_create_spec.rb +0 -91
  628. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  629. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  630. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  631. data/spec/unit/knife/environment_list_spec.rb +0 -54
  632. data/spec/unit/knife/environment_show_spec.rb +0 -52
  633. data/spec/unit/knife/key_create_spec.rb +0 -223
  634. data/spec/unit/knife/key_delete_spec.rb +0 -133
  635. data/spec/unit/knife/key_edit_spec.rb +0 -264
  636. data/spec/unit/knife/key_helper.rb +0 -74
  637. data/spec/unit/knife/key_list_spec.rb +0 -216
  638. data/spec/unit/knife/key_show_spec.rb +0 -126
  639. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  640. data/spec/unit/knife/node_delete_spec.rb +0 -77
  641. data/spec/unit/knife/node_edit_spec.rb +0 -116
  642. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  643. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  644. data/spec/unit/knife/node_list_spec.rb +0 -62
  645. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  646. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  647. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  648. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  649. data/spec/unit/knife/node_show_spec.rb +0 -65
  650. data/spec/unit/knife/raw_spec.rb +0 -43
  651. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  652. data/spec/unit/knife/role_create_spec.rb +0 -80
  653. data/spec/unit/knife/role_delete_spec.rb +0 -67
  654. data/spec/unit/knife/role_edit_spec.rb +0 -77
  655. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  656. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  657. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  658. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  659. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  660. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  661. data/spec/unit/knife/role_list_spec.rb +0 -54
  662. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  663. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  664. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  665. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  666. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  667. data/spec/unit/knife/role_show_spec.rb +0 -59
  668. data/spec/unit/knife/ssh_spec.rb +0 -403
  669. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  670. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  671. data/spec/unit/knife/status_spec.rb +0 -112
  672. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  673. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  674. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  675. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  676. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  677. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  678. data/spec/unit/knife/tag_create_spec.rb +0 -23
  679. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  680. data/spec/unit/knife/tag_list_spec.rb +0 -23
  681. data/spec/unit/knife/user_create_spec.rb +0 -184
  682. data/spec/unit/knife/user_delete_spec.rb +0 -46
  683. data/spec/unit/knife/user_edit_spec.rb +0 -48
  684. data/spec/unit/knife/user_list_spec.rb +0 -36
  685. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  686. data/spec/unit/knife/user_show_spec.rb +0 -46
  687. data/spec/unit/knife_spec.rb +0 -634
  688. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  689. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,48 +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 ConfigureClient < Knife
24
- banner "knife configure client DIRECTORY"
25
-
26
- def run
27
- unless @config_dir = @name_args[0]
28
- ui.fatal "You must provide the directory to put the files in"
29
- show_usage
30
- exit(1)
31
- end
32
-
33
- ui.info("Creating client configuration")
34
- FileUtils.mkdir_p(@config_dir)
35
- ui.info("Writing client.rb")
36
- File.open(File.join(@config_dir, "client.rb"), "w") do |file|
37
- file.puts("chef_server_url '#{Chef::Config[:chef_server_url]}'")
38
- file.puts("validation_client_name '#{Chef::Config[:validation_client_name]}'")
39
- end
40
- ui.info("Writing validation.pem")
41
- File.open(File.join(@config_dir, "validation.pem"), "w") do |validation|
42
- validation.puts(IO.read(Chef::Config[:validation_key]))
43
- end
44
- end
45
-
46
- end
47
- end
48
- end
@@ -1,71 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Daniel DeLeo (<dan@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
-
22
- class Chef
23
- class Knife
24
- class CookbookBulkDelete < Knife
25
-
26
- deps do
27
- require_relative "cookbook_delete"
28
- require_relative "../cookbook_version"
29
- end
30
-
31
- option :purge, short: "-p", long: "--purge", boolean: true, description: "Permanently remove files from backing data store."
32
-
33
- banner "knife cookbook bulk delete REGEX (options)"
34
-
35
- def run
36
- unless regex_str = @name_args.first
37
- ui.fatal("You must supply a regular expression to match the results against")
38
- exit 42
39
- end
40
-
41
- regex = Regexp.new(regex_str)
42
-
43
- all_cookbooks = Chef::CookbookVersion.list
44
- cookbooks_names = all_cookbooks.keys.grep(regex)
45
- cookbooks_to_delete = cookbooks_names.inject({}) { |hash, name| hash[name] = all_cookbooks[name]; hash }
46
- ui.msg "All versions of the following cookbooks will be deleted:"
47
- ui.msg ""
48
- ui.msg ui.list(cookbooks_to_delete.keys.sort, :columns_down)
49
- ui.msg ""
50
-
51
- unless config[:yes]
52
- ui.confirm("Do you really want to delete these cookbooks")
53
-
54
- if config[:purge]
55
- ui.msg("Files that are common to multiple cookbooks are shared, so purging the files may break other cookbooks.")
56
- ui.confirm("Are you sure you want to purge files instead of just deleting the cookbooks")
57
- end
58
- ui.msg ""
59
- end
60
-
61
- cookbooks_names.each do |cookbook_name|
62
- versions = rest.get("cookbooks/#{cookbook_name}")[cookbook_name]["versions"].map { |v| v["version"] }.flatten
63
- versions.each do |version|
64
- rest.delete("cookbooks/#{cookbook_name}/#{version}#{config[:purge] ? "?purge=true" : ""}")
65
- ui.info("Deleted cookbook #{cookbook_name.ljust(25)} [#{version}]")
66
- end
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,151 +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 CookbookDelete < Knife
24
-
25
- attr_accessor :cookbook_name, :version
26
-
27
- deps do
28
- require_relative "../cookbook_version"
29
- end
30
-
31
- option :all, short: "-a", long: "--all", boolean: true, description: "Delete all versions of the cookbook."
32
-
33
- option :purge, short: "-p", long: "--purge", boolean: true, description: "Permanently remove files from backing data store."
34
-
35
- banner "knife cookbook delete COOKBOOK VERSION (options)"
36
-
37
- def run
38
- confirm("Files that are common to multiple cookbooks are shared, so purging the files may disable other cookbooks. Are you sure you want to purge files instead of just deleting the cookbook") if config[:purge]
39
- @cookbook_name, @version = name_args
40
- if @cookbook_name && @version
41
- delete_explicit_version
42
- elsif @cookbook_name && config[:all]
43
- delete_all_versions
44
- elsif @cookbook_name && @version.nil?
45
- delete_without_explicit_version
46
- elsif @cookbook_name.nil?
47
- show_usage
48
- ui.fatal("You must provide the name of the cookbook to delete.")
49
- exit(1)
50
- end
51
- end
52
-
53
- def delete_explicit_version
54
- delete_object(Chef::CookbookVersion, "#{@cookbook_name} version #{@version}", "cookbook") do
55
- delete_request("cookbooks/#{@cookbook_name}/#{@version}")
56
- end
57
- end
58
-
59
- def delete_all_versions
60
- confirm("Do you really want to delete all versions of #{@cookbook_name}")
61
- delete_all_without_confirmation
62
- end
63
-
64
- def delete_all_without_confirmation
65
- # look up the available versions again just in case the user
66
- # got to the list of versions to delete and selected 'all'
67
- # and also a specific version
68
- @available_versions = nil
69
- Array(available_versions).each do |version|
70
- delete_version_without_confirmation(version)
71
- end
72
- end
73
-
74
- def delete_without_explicit_version
75
- if available_versions.nil?
76
- # we already logged an error or 2 about it, so just bail
77
- exit(1)
78
- elsif available_versions.size == 1
79
- @version = available_versions.first
80
- delete_explicit_version
81
- else
82
- versions_to_delete = ask_which_versions_to_delete
83
- delete_versions_without_confirmation(versions_to_delete)
84
- end
85
- end
86
-
87
- def available_versions
88
- @available_versions ||= rest.get("cookbooks/#{@cookbook_name}").map do |name, url_and_version|
89
- url_and_version["versions"].map { |url_by_version| url_by_version["version"] }
90
- end.flatten
91
- rescue Net::HTTPClientException => e
92
- if /^404/.match?(e.to_s)
93
- ui.error("Cannot find a cookbook named #{@cookbook_name} to delete.")
94
- nil
95
- else
96
- raise
97
- end
98
- end
99
-
100
- def ask_which_versions_to_delete
101
- question = "Which version(s) do you want to delete?\n"
102
- valid_responses = {}
103
- available_versions.each_with_index do |version, index|
104
- valid_responses[(index + 1).to_s] = version
105
- question << "#{index + 1}. #{@cookbook_name} #{version}\n"
106
- end
107
- valid_responses[(available_versions.size + 1).to_s] = :all
108
- question << "#{available_versions.size + 1}. All versions\n\n"
109
- responses = ask_question(question).split(",").map(&:strip)
110
-
111
- if responses.empty?
112
- ui.error("No versions specified, exiting")
113
- exit(1)
114
- end
115
- versions = responses.map do |response|
116
- if version = valid_responses[response]
117
- version
118
- else
119
- ui.error("#{response} is not a valid choice, skipping it")
120
- end
121
- end
122
- versions.compact
123
- end
124
-
125
- def delete_version_without_confirmation(version)
126
- object = delete_request("cookbooks/#{@cookbook_name}/#{version}")
127
- output(format_for_display(object)) if config[:print_after]
128
- ui.info("Deleted cookbook[#{@cookbook_name}][#{version}]")
129
- end
130
-
131
- def delete_versions_without_confirmation(versions)
132
- versions.each do |version|
133
- if version == :all
134
- delete_all_without_confirmation
135
- break
136
- else
137
- delete_version_without_confirmation(version)
138
- end
139
- end
140
- end
141
-
142
- private
143
-
144
- def delete_request(path)
145
- path += "?purge=true" if config[:purge]
146
- rest.delete(path)
147
- end
148
-
149
- end
150
- end
151
- end
@@ -1,142 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Christopher Walters (<cw@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
-
22
- class Chef
23
- class Knife
24
- class CookbookDownload < Knife
25
-
26
- attr_reader :version
27
- attr_accessor :cookbook_name
28
-
29
- deps do
30
- require_relative "../cookbook_version"
31
- end
32
-
33
- banner "knife cookbook download COOKBOOK [VERSION] (options)"
34
-
35
- option :latest,
36
- short: "-N",
37
- long: "--latest",
38
- description: "The version of the cookbook to download.",
39
- boolean: true
40
-
41
- option :download_directory,
42
- short: "-d DOWNLOAD_DIRECTORY",
43
- long: "--dir DOWNLOAD_DIRECTORY",
44
- description: "The directory to download the cookbook into.",
45
- default: Dir.pwd
46
-
47
- option :force,
48
- short: "-f",
49
- long: "--force",
50
- description: "Force download over the download directory if it exists."
51
-
52
- # TODO: tim/cw: 5-23-2010: need to implement knife-side
53
- # specificity for downloads - need to implement --platform and
54
- # --fqdn here
55
- def run
56
- @cookbook_name, @version = @name_args
57
-
58
- if @cookbook_name.nil?
59
- show_usage
60
- ui.fatal("You must specify a cookbook name")
61
- exit 1
62
- elsif @version.nil?
63
- @version = determine_version
64
- if @version.nil?
65
- ui.fatal("No such cookbook found")
66
- exit 1
67
- end
68
- end
69
-
70
- ui.info("Downloading #{@cookbook_name} cookbook version #{@version}")
71
-
72
- cookbook = Chef::CookbookVersion.load(@cookbook_name, @version)
73
- manifest = cookbook.cookbook_manifest
74
-
75
- basedir = File.join(config[:download_directory], "#{@cookbook_name}-#{cookbook.version}")
76
- if File.exist?(basedir)
77
- if config[:force]
78
- Chef::Log.trace("Deleting #{basedir}")
79
- FileUtils.rm_rf(basedir)
80
- else
81
- ui.fatal("Directory #{basedir} exists, use --force to overwrite")
82
- exit
83
- end
84
- end
85
-
86
- manifest.by_parent_directory.each do |segment, files|
87
- ui.info("Downloading #{segment}")
88
- files.each do |segment_file|
89
- dest = File.join(basedir, segment_file["path"].gsub("/", File::SEPARATOR))
90
- Chef::Log.trace("Downloading #{segment_file["path"]} to #{dest}")
91
- FileUtils.mkdir_p(File.dirname(dest))
92
- tempfile = rest.streaming_request(segment_file["url"])
93
- FileUtils.mv(tempfile.path, dest)
94
- end
95
- end
96
- ui.info("Cookbook downloaded to #{basedir}")
97
- end
98
-
99
- def determine_version
100
- if available_versions.nil?
101
- nil
102
- elsif available_versions.size == 1
103
- @version = available_versions.first
104
- elsif config[:latest]
105
- @version = available_versions.last
106
- else
107
- ask_which_version
108
- end
109
- end
110
-
111
- def available_versions
112
- @available_versions ||= begin
113
- versions = Chef::CookbookVersion.available_versions(@cookbook_name)
114
- unless versions.nil?
115
- versions.map! { |version| Chef::Version.new(version) }
116
- versions.sort!
117
- end
118
- versions
119
- end
120
- @available_versions
121
- end
122
-
123
- def ask_which_version
124
- question = "Which version do you want to download?\n"
125
- valid_responses = {}
126
- available_versions.each_with_index do |version, index|
127
- valid_responses[(index + 1).to_s] = version
128
- question << "#{index + 1}. #{@cookbook_name} #{version}\n"
129
- end
130
- question += "\n"
131
- response = ask_question(question).strip
132
-
133
- unless @version = valid_responses[response]
134
- ui.error("'#{response}' is not a valid value.")
135
- exit(1)
136
- end
137
- @version
138
- end
139
-
140
- end
141
- end
142
- end
@@ -1,47 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@chef.io>)
3
- # Author:: Nuo Yan (<nuo@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../knife"
21
-
22
- class Chef
23
- class Knife
24
- class CookbookList < Knife
25
-
26
- banner "knife cookbook list (options)"
27
-
28
- option :with_uri,
29
- short: "-w",
30
- long: "--with-uri",
31
- description: "Show corresponding URIs."
32
-
33
- option :all_versions,
34
- short: "-a",
35
- long: "--all",
36
- description: "Show all available versions."
37
-
38
- def run
39
- env = config[:environment]
40
- num_versions = config[:all_versions] ? "num_versions=all" : "num_versions=1"
41
- api_endpoint = env ? "/environments/#{env}/cookbooks?#{num_versions}" : "/cookbooks?#{num_versions}"
42
- cookbook_versions = rest.get(api_endpoint)
43
- ui.output(format_cookbook_list_for_display(cookbook_versions))
44
- end
45
- end
46
- end
47
- end