knife 18.6.2 → 18.7.9
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.
- checksums.yaml +4 -4
- data/Gemfile +23 -27
- data/LICENSE +201 -201
- data/Rakefile +33 -33
- data/bin/knife +24 -24
- data/knife.gemspec +65 -64
- data/lib/chef/application/knife.rb +237 -237
- data/lib/chef/chef_fs/knife.rb +162 -162
- data/lib/chef/knife/acl_add.rb +57 -57
- data/lib/chef/knife/acl_base.rb +183 -183
- data/lib/chef/knife/acl_bulk_add.rb +78 -78
- data/lib/chef/knife/acl_bulk_remove.rb +83 -83
- data/lib/chef/knife/acl_remove.rb +62 -62
- data/lib/chef/knife/acl_show.rb +56 -56
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +160 -160
- data/lib/chef/knife/bootstrap/client_builder.rb +212 -212
- data/lib/chef/knife/bootstrap/templates/README.md +11 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +249 -249
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +278 -278
- data/lib/chef/knife/bootstrap/train_connector.rb +334 -334
- data/lib/chef/knife/bootstrap.rb +1229 -1219
- data/lib/chef/knife/client_bulk_delete.rb +104 -104
- data/lib/chef/knife/client_create.rb +140 -140
- data/lib/chef/knife/client_delete.rb +62 -62
- data/lib/chef/knife/client_edit.rb +52 -52
- data/lib/chef/knife/client_key_create.rb +73 -73
- data/lib/chef/knife/client_key_delete.rb +80 -80
- data/lib/chef/knife/client_key_edit.rb +83 -83
- data/lib/chef/knife/client_key_list.rb +73 -73
- data/lib/chef/knife/client_key_show.rb +80 -80
- data/lib/chef/knife/client_list.rb +41 -41
- data/lib/chef/knife/client_reregister.rb +58 -58
- data/lib/chef/knife/client_show.rb +48 -48
- data/lib/chef/knife/config_get.rb +39 -39
- data/lib/chef/knife/config_get_profile.rb +37 -37
- data/lib/chef/knife/config_list.rb +139 -139
- data/lib/chef/knife/config_list_profiles.rb +37 -37
- data/lib/chef/knife/config_show.rb +127 -127
- data/lib/chef/knife/config_use.rb +61 -61
- data/lib/chef/knife/config_use_profile.rb +47 -47
- data/lib/chef/knife/configure.rb +150 -150
- data/lib/chef/knife/configure_client.rb +48 -48
- data/lib/chef/knife/cookbook_bulk_delete.rb +71 -71
- data/lib/chef/knife/cookbook_delete.rb +151 -151
- data/lib/chef/knife/cookbook_download.rb +142 -142
- data/lib/chef/knife/cookbook_list.rb +47 -47
- data/lib/chef/knife/cookbook_metadata.rb +106 -106
- data/lib/chef/knife/cookbook_metadata_from_file.rb +49 -49
- data/lib/chef/knife/cookbook_show.rb +98 -98
- data/lib/chef/knife/cookbook_upload.rb +313 -313
- data/lib/chef/knife/core/bootstrap_context.rb +274 -274
- data/lib/chef/knife/core/cookbook_scm_repo.rb +159 -159
- data/lib/chef/knife/core/cookbook_site_streaming_uploader.rb +249 -249
- data/lib/chef/knife/core/formatting_options.rb +49 -49
- data/lib/chef/knife/core/gem_glob_loader.rb +134 -134
- data/lib/chef/knife/core/generic_presenter.rb +238 -238
- data/lib/chef/knife/core/hashed_command_loader.rb +100 -100
- data/lib/chef/knife/core/node_editor.rb +130 -130
- data/lib/chef/knife/core/node_presenter.rb +133 -133
- data/lib/chef/knife/core/object_loader.rb +115 -115
- data/lib/chef/knife/core/status_presenter.rb +147 -147
- data/lib/chef/knife/core/subcommand_loader.rb +208 -208
- data/lib/chef/knife/core/text_formatter.rb +85 -85
- data/lib/chef/knife/core/ui.rb +339 -339
- data/lib/chef/knife/core/windows_bootstrap_context.rb +441 -443
- data/lib/chef/knife/data_bag_create.rb +81 -81
- data/lib/chef/knife/data_bag_delete.rb +49 -49
- data/lib/chef/knife/data_bag_edit.rb +74 -74
- data/lib/chef/knife/data_bag_from_file.rb +113 -113
- data/lib/chef/knife/data_bag_list.rb +42 -42
- data/lib/chef/knife/data_bag_secret_options.rb +122 -122
- data/lib/chef/knife/data_bag_show.rb +69 -69
- data/lib/chef/knife/delete.rb +125 -125
- data/lib/chef/knife/deps.rb +156 -156
- data/lib/chef/knife/diff.rb +83 -83
- data/lib/chef/knife/download.rb +85 -85
- data/lib/chef/knife/edit.rb +88 -88
- data/lib/chef/knife/environment_compare.rb +128 -128
- data/lib/chef/knife/environment_create.rb +52 -52
- data/lib/chef/knife/environment_delete.rb +44 -44
- data/lib/chef/knife/environment_edit.rb +44 -44
- data/lib/chef/knife/environment_from_file.rb +84 -84
- data/lib/chef/knife/environment_list.rb +41 -41
- data/lib/chef/knife/environment_show.rb +47 -47
- data/lib/chef/knife/exec.rb +99 -99
- data/lib/chef/knife/group_add.rb +55 -55
- data/lib/chef/knife/group_create.rb +49 -49
- data/lib/chef/knife/group_destroy.rb +53 -53
- data/lib/chef/knife/group_list.rb +43 -43
- data/lib/chef/knife/group_remove.rb +56 -56
- data/lib/chef/knife/group_show.rb +49 -49
- data/lib/chef/knife/key_create.rb +112 -112
- data/lib/chef/knife/key_create_base.rb +50 -50
- data/lib/chef/knife/key_delete.rb +55 -55
- data/lib/chef/knife/key_edit.rb +118 -118
- data/lib/chef/knife/key_edit_base.rb +55 -55
- data/lib/chef/knife/key_list.rb +90 -90
- data/lib/chef/knife/key_list_base.rb +45 -45
- data/lib/chef/knife/key_show.rb +53 -53
- data/lib/chef/knife/license.rb +52 -52
- data/lib/chef/knife/list.rb +177 -177
- data/lib/chef/knife/node_bulk_delete.rb +75 -75
- data/lib/chef/knife/node_create.rb +47 -47
- data/lib/chef/knife/node_delete.rb +46 -46
- data/lib/chef/knife/node_edit.rb +70 -70
- data/lib/chef/knife/node_environment_set.rb +53 -53
- data/lib/chef/knife/node_from_file.rb +51 -51
- data/lib/chef/knife/node_list.rb +44 -44
- data/lib/chef/knife/node_policy_set.rb +79 -79
- data/lib/chef/knife/node_run_list_add.rb +104 -104
- data/lib/chef/knife/node_run_list_remove.rb +67 -67
- data/lib/chef/knife/node_run_list_set.rb +66 -66
- data/lib/chef/knife/node_show.rb +63 -63
- data/lib/chef/knife/null.rb +12 -12
- data/lib/chef/knife/org_create.rb +70 -70
- data/lib/chef/knife/org_delete.rb +32 -32
- data/lib/chef/knife/org_edit.rb +48 -48
- data/lib/chef/knife/org_list.rb +44 -44
- data/lib/chef/knife/org_show.rb +31 -31
- data/lib/chef/knife/org_user_add.rb +62 -62
- data/lib/chef/knife/org_user_remove.rb +103 -103
- data/lib/chef/knife/raw.rb +123 -123
- data/lib/chef/knife/recipe_list.rb +32 -32
- data/lib/chef/knife/rehash.rb +50 -50
- data/lib/chef/knife/role_bulk_delete.rb +66 -66
- data/lib/chef/knife/role_create.rb +53 -53
- data/lib/chef/knife/role_delete.rb +46 -46
- data/lib/chef/knife/role_edit.rb +45 -45
- data/lib/chef/knife/role_env_run_list_add.rb +87 -87
- data/lib/chef/knife/role_env_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +57 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +60 -60
- data/lib/chef/knife/role_env_run_list_set.rb +70 -70
- data/lib/chef/knife/role_from_file.rb +51 -51
- data/lib/chef/knife/role_list.rb +42 -42
- data/lib/chef/knife/role_run_list_add.rb +87 -87
- data/lib/chef/knife/role_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_run_list_remove.rb +56 -56
- data/lib/chef/knife/role_run_list_replace.rb +60 -60
- data/lib/chef/knife/role_run_list_set.rb +69 -69
- data/lib/chef/knife/role_show.rb +48 -48
- data/lib/chef/knife/search.rb +194 -194
- data/lib/chef/knife/serve.rb +65 -65
- data/lib/chef/knife/show.rb +72 -72
- data/lib/chef/knife/ssh.rb +657 -657
- data/lib/chef/knife/ssl_check.rb +284 -284
- data/lib/chef/knife/ssl_fetch.rb +162 -162
- data/lib/chef/knife/status.rb +95 -95
- data/lib/chef/knife/supermarket_download.rb +119 -119
- data/lib/chef/knife/supermarket_install.rb +192 -192
- data/lib/chef/knife/supermarket_list.rb +76 -76
- data/lib/chef/knife/supermarket_search.rb +53 -53
- data/lib/chef/knife/supermarket_share.rb +166 -166
- data/lib/chef/knife/supermarket_show.rb +66 -66
- data/lib/chef/knife/supermarket_unshare.rb +62 -62
- data/lib/chef/knife/tag_create.rb +52 -52
- data/lib/chef/knife/tag_delete.rb +60 -60
- data/lib/chef/knife/tag_list.rb +47 -47
- data/lib/chef/knife/upload.rb +87 -87
- data/lib/chef/knife/user_create.rb +180 -180
- data/lib/chef/knife/user_delete.rb +151 -151
- data/lib/chef/knife/user_dissociate.rb +42 -42
- data/lib/chef/knife/user_edit.rb +94 -94
- data/lib/chef/knife/user_invite_add.rb +43 -43
- data/lib/chef/knife/user_invite_list.rb +34 -34
- data/lib/chef/knife/user_invite_rescind.rb +63 -63
- data/lib/chef/knife/user_key_create.rb +73 -73
- data/lib/chef/knife/user_key_delete.rb +80 -80
- data/lib/chef/knife/user_key_edit.rb +83 -83
- data/lib/chef/knife/user_key_list.rb +73 -73
- data/lib/chef/knife/user_key_show.rb +80 -80
- data/lib/chef/knife/user_list.rb +43 -43
- data/lib/chef/knife/user_password.rb +70 -70
- data/lib/chef/knife/user_reregister.rb +59 -59
- data/lib/chef/knife/user_show.rb +52 -52
- data/lib/chef/knife/version.rb +24 -24
- data/lib/chef/knife/xargs.rb +282 -282
- data/lib/chef/knife/yaml_convert.rb +91 -91
- data/lib/chef/knife.rb +677 -677
- data/lib/chef/utils/licensing_config.rb +9 -9
- data/lib/chef/utils/licensing_handler.rb +72 -46
- data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
- data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +10 -10
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +45 -45
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test2-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2_1.0-1.dsc +18 -18
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +91 -91
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +31 -31
- data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
- data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
- data/spec/data/apt/var/www/apt/conf/distributions +7 -7
- data/spec/data/apt/var/www/apt/conf/incoming +4 -4
- data/spec/data/apt/var/www/apt/conf/pulls +3 -3
- data/spec/data/apt/var/www/apt/db/version +4 -4
- data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
- data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
- data/spec/data/bootstrap/no_proxy.erb +2 -2
- data/spec/data/bootstrap/secret.erb +9 -9
- data/spec/data/bootstrap/test-hints.erb +12 -12
- data/spec/data/bootstrap/test.erb +1 -1
- data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
- data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
- data/spec/data/client.d_00/00-foo.rb +2 -2
- data/spec/data/client.d_00/01-bar.rb +1 -1
- data/spec/data/client.d_00/02-strings.rb +2 -2
- data/spec/data/client.d_00/bar +1 -1
- data/spec/data/client.d_01/foo/bar.rb +1 -1
- data/spec/data/client.d_02/foo.rb/foo.txt +1 -1
- data/spec/data/config.rb +6 -6
- data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
- data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
- data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
- data/spec/data/cookbooks/apache2/metadata.json +33 -33
- data/spec/data/cookbooks/apache2/metadata.rb +2 -2
- data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
- data/spec/data/cookbooks/borken/metadata.rb +2 -2
- data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
- data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
- data/spec/data/cookbooks/chefignore +8 -8
- data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
- data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
- data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
- data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
- data/spec/data/cookbooks/irssi/files/default/irssi.response +2 -2
- data/spec/data/cookbooks/java/files/default/java.response +1 -1
- data/spec/data/cookbooks/java/metadata.json +33 -33
- data/spec/data/cookbooks/java/metadata.rb +2 -2
- data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
- data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
- data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +8 -8
- data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
- data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
- data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
- data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
- data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
- data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
- data/spec/data/cookbooks/openldap/metadata.rb +8 -8
- data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
- data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
- data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
- data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
- data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/helpers.erb +14 -14
- data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
- data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
- data/spec/data/cookbooks/preseed/metadata.rb +2 -2
- data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
- data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
- data/spec/data/cookbooks/starter/chefignore +8 -8
- data/spec/data/cookbooks/starter/metadata.rb +2 -2
- data/spec/data/cookbooks/starter/recipes/default.rb +4 -4
- data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +5 -5
- data/spec/data/cookbooks/wget/files/default/wget.response +2 -2
- data/spec/data/definitions/test.rb +4 -4
- data/spec/data/environment-config.rb +4 -4
- data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
- data/spec/data/fileedit/hosts +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +8 -8
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +9 -9
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +8 -8
- data/spec/data/kitchen/chefignore +6 -6
- data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
- data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
- data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
- data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
- data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
- data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
- data/spec/data/knife_subcommand/test_yourself.rb +21 -21
- data/spec/data/lwrp/providers/buck_passer.rb +28 -28
- data/spec/data/lwrp/providers/buck_passer_2.rb +26 -26
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +28 -28
- data/spec/data/lwrp/providers/inline_compiler.rb +24 -24
- data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
- data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
- data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
- data/spec/data/lwrp/resources/bar.rb +4 -4
- data/spec/data/lwrp/resources/buck_passer.rb +6 -6
- data/spec/data/lwrp/resources/buck_passer_2.rb +4 -4
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +4 -4
- data/spec/data/lwrp/resources/foo.rb +6 -6
- data/spec/data/lwrp/resources/inline_compiler.rb +4 -4
- data/spec/data/lwrp/resources/monkey_name_printer.rb +6 -6
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +4 -4
- data/spec/data/lwrp/resources/thumb_twiddler.rb +4 -4
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +3 -3
- data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -1
- data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
- data/spec/data/lwrp_override/resources/foo.rb +11 -11
- data/spec/data/mac_users/10.9.plist.xml +560 -560
- data/spec/data/mac_users/10.9.shadow.xml +21 -21
- data/spec/data/metadata/quick_start/metadata.rb +14 -14
- data/spec/data/mixin/invalid_data.rb +3 -3
- data/spec/data/mixin/real_data.rb +2 -2
- data/spec/data/nested.json +2 -2
- data/spec/data/nodes/default.rb +15 -15
- data/spec/data/nodes/test.example.com.rb +17 -17
- data/spec/data/nodes/test.rb +15 -15
- data/spec/data/null_config.rb +1 -1
- data/spec/data/object_loader/environments/test.json +7 -7
- data/spec/data/object_loader/environments/test.rb +2 -2
- data/spec/data/object_loader/environments/test_json_class.json +8 -8
- data/spec/data/object_loader/nodes/test.json +7 -7
- data/spec/data/object_loader/nodes/test.rb +2 -2
- data/spec/data/object_loader/nodes/test_json_class.json +8 -8
- data/spec/data/object_loader/roles/test.json +7 -7
- data/spec/data/object_loader/roles/test.rb +2 -2
- data/spec/data/object_loader/roles/test_json_class.json +8 -8
- data/spec/data/partial_one.erb +1 -1
- data/spec/data/prefer_metadata_json/metadata.json +51 -51
- data/spec/data/prefer_metadata_json/metadata.rb +6 -6
- data/spec/data/recipes/test.rb +7 -7
- data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +1 -1
- data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +1 -1
- data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +2 -2
- data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +3 -3
- data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +1 -1
- data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +2 -2
- data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +3 -3
- data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +3 -3
- data/spec/data/root_alias_cookbooks/simple/attributes.rb +1 -1
- data/spec/data/root_alias_cookbooks/simple/metadata.rb +2 -2
- data/spec/data/root_alias_cookbooks/simple/recipe.rb +3 -3
- data/spec/data/rubygems.org/sexp_processor-info +49 -49
- data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +1 -1
- data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +2 -2
- data/spec/data/run_context/cookbooks/include/recipes/default.rb +24 -24
- data/spec/data/run_context/cookbooks/include/recipes/includee.rb +3 -3
- data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +2 -2
- data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +2 -2
- data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
- data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
- data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
- data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
- data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
- data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +2 -2
- data/spec/data/run_context/nodes/run_context.rb +5 -5
- data/spec/data/sample_msu1.xml +10 -10
- data/spec/data/sample_msu2.xml +14 -14
- data/spec/data/sample_msu3.xml +16 -16
- data/spec/data/search_queries_to_transform.txt +98 -98
- data/spec/data/shef-config.rb +11 -11
- data/spec/data/snap_package/async_result_success.json +6 -6
- data/spec/data/snap_package/change_id_result.json +175 -175
- data/spec/data/snap_package/find_result_failure.json +10 -10
- data/spec/data/snap_package/find_result_success.json +70 -70
- data/spec/data/snap_package/get_by_name_result_failure.json +10 -10
- data/spec/data/snap_package/get_by_name_result_success.json +38 -38
- data/spec/data/snap_package/get_conf_success.json +10 -10
- data/spec/data/snap_package/result_failure.json +9 -9
- data/spec/data/ssl/5e707473.0 +18 -18
- data/spec/data/ssl/chef-rspec.cert +27 -27
- data/spec/data/ssl/chef-rspec.key +27 -27
- data/spec/data/ssl/key.pem +15 -15
- data/spec/data/ssl/private_key.pem +27 -27
- data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
- data/spec/data/standalone_cookbook/chefignore +9 -9
- data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
- data/spec/data/templates/failed.erb +5 -5
- data/spec/data/trusted_certs/example.crt +22 -22
- data/spec/data/trusted_certs/example_no_cn.crt +36 -36
- data/spec/data/trusted_certs/intermediate.pem +27 -27
- data/spec/data/trusted_certs/opscode.pem +57 -57
- data/spec/data/trusted_certs/root.pem +22 -22
- data/spec/data/windows_certificates/base64_test.cer +20 -20
- data/spec/data/windows_certificates/othertest.cer +20 -20
- data/spec/data/windows_certificates/test.cer +20 -20
- data/spec/data/windows_certificates/test.pem +20 -20
- data/spec/functional/configure_spec.rb +33 -33
- data/spec/functional/cookbook_delete_spec.rb +157 -156
- data/spec/functional/exec_spec.rb +55 -55
- data/spec/functional/rehash_spec.rb +39 -39
- data/spec/functional/smoke_test.rb +42 -42
- data/spec/functional/ssh_spec.rb +352 -352
- data/spec/functional/version_spec.rb +26 -26
- data/spec/integration/chef_fs_data_store_spec.rb +557 -557
- data/spec/integration/chef_repo_path_spec.rb +962 -962
- data/spec/integration/chef_repository_file_system_spec.rb +200 -200
- data/spec/integration/chefignore_spec.rb +301 -301
- data/spec/integration/client_bulk_delete_spec.rb +131 -131
- data/spec/integration/client_create_spec.rb +70 -70
- data/spec/integration/client_delete_spec.rb +64 -64
- data/spec/integration/client_key_create_spec.rb +66 -66
- data/spec/integration/client_key_delete_spec.rb +43 -43
- data/spec/integration/client_key_list_spec.rb +61 -61
- data/spec/integration/client_key_show_spec.rb +45 -45
- data/spec/integration/client_list_spec.rb +49 -49
- data/spec/integration/client_show_spec.rb +37 -37
- data/spec/integration/commands_spec.rb +55 -55
- data/spec/integration/common_options_spec.rb +174 -174
- data/spec/integration/config_list_spec.rb +220 -220
- data/spec/integration/config_show_spec.rb +192 -192
- data/spec/integration/config_use_spec.rb +198 -198
- data/spec/integration/cookbook_api_ipv6_spec.rb +113 -113
- data/spec/integration/cookbook_bulk_delete_spec.rb +65 -65
- data/spec/integration/cookbook_download_spec.rb +72 -72
- data/spec/integration/cookbook_list_spec.rb +55 -55
- data/spec/integration/cookbook_show_spec.rb +149 -149
- data/spec/integration/cookbook_upload_spec.rb +128 -128
- data/spec/integration/data_bag_create_spec.rb +125 -125
- data/spec/integration/data_bag_delete_spec.rb +59 -59
- data/spec/integration/data_bag_edit_spec.rb +105 -105
- data/spec/integration/data_bag_from_file_spec.rb +116 -116
- data/spec/integration/data_bag_list_spec.rb +44 -44
- data/spec/integration/data_bag_show_spec.rb +95 -95
- data/spec/integration/delete_spec.rb +1018 -1018
- data/spec/integration/deps_spec.rb +703 -703
- data/spec/integration/diff_spec.rb +605 -605
- data/spec/integration/download_spec.rb +1336 -1336
- data/spec/integration/environment_compare_spec.rb +75 -75
- data/spec/integration/environment_create_spec.rb +41 -41
- data/spec/integration/environment_delete_spec.rb +37 -37
- data/spec/integration/environment_from_file_spec.rb +116 -116
- data/spec/integration/environment_list_spec.rb +42 -42
- data/spec/integration/environment_show_spec.rb +77 -77
- data/spec/integration/list_spec.rb +1060 -1060
- data/spec/integration/node_bulk_delete_spec.rb +52 -52
- data/spec/integration/node_create_spec.rb +47 -47
- data/spec/integration/node_delete_spec.rb +48 -48
- data/spec/integration/node_environment_set_spec.rb +46 -46
- data/spec/integration/node_from_file_spec.rb +59 -59
- data/spec/integration/node_list_spec.rb +45 -45
- data/spec/integration/node_run_list_add_spec.rb +54 -54
- data/spec/integration/node_run_list_remove_spec.rb +36 -36
- data/spec/integration/node_run_list_set_spec.rb +41 -41
- data/spec/integration/node_show_spec.rb +36 -36
- data/spec/integration/raw_spec.rb +297 -297
- data/spec/integration/redirection_spec.rb +64 -64
- data/spec/integration/role_bulk_delete_spec.rb +52 -52
- data/spec/integration/role_create_spec.rb +41 -41
- data/spec/integration/role_delete_spec.rb +48 -48
- data/spec/integration/role_from_file_spec.rb +96 -96
- data/spec/integration/role_list_spec.rb +45 -45
- data/spec/integration/role_show_spec.rb +51 -51
- data/spec/integration/search_node_spec.rb +40 -40
- data/spec/integration/serve_spec.rb +92 -92
- data/spec/integration/show_spec.rb +197 -197
- data/spec/integration/upload_spec.rb +1616 -1616
- data/spec/knife_spec_helper.rb +241 -241
- data/spec/support/chef_helpers.rb +79 -79
- data/spec/support/key_helpers.rb +102 -102
- data/spec/support/platform_helpers.rb +255 -255
- data/spec/support/platforms/prof/gc.rb +51 -51
- data/spec/support/platforms/prof/win32.rb +45 -45
- data/spec/support/platforms/win32/spec_service.rb +57 -57
- data/spec/support/recipe_dsl_helper.rb +83 -83
- data/spec/support/shared/context/config.rb +18 -18
- data/spec/support/shared/functional/knife.rb +37 -37
- data/spec/support/shared/integration/integration_helper.rb +122 -122
- data/spec/support/shared/integration/knife_support.rb +192 -192
- data/spec/support/shared/matchers/exit_with_code.rb +32 -32
- data/spec/support/shared/matchers/match_environment_variable.rb +17 -17
- data/spec/support/shared/unit/knife_shared.rb +39 -39
- data/spec/support/shared/unit/mock_shellout.rb +49 -49
- data/spec/tiny_server.rb +193 -190
- data/spec/unit/application/knife_spec.rb +241 -241
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +152 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +207 -207
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +244 -244
- data/spec/unit/knife/bootstrap_spec.rb +2311 -2288
- data/spec/unit/knife/client_bulk_delete_spec.rb +166 -166
- data/spec/unit/knife/client_create_spec.rb +232 -232
- data/spec/unit/knife/client_delete_spec.rb +99 -99
- data/spec/unit/knife/client_edit_spec.rb +53 -53
- data/spec/unit/knife/client_list_spec.rb +34 -34
- data/spec/unit/knife/client_reregister_spec.rb +62 -62
- data/spec/unit/knife/client_show_spec.rb +52 -52
- data/spec/unit/knife/configure_client_spec.rb +81 -81
- data/spec/unit/knife/configure_spec.rb +190 -190
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +87 -87
- data/spec/unit/knife/cookbook_delete_spec.rb +239 -239
- data/spec/unit/knife/cookbook_download_spec.rb +255 -255
- data/spec/unit/knife/cookbook_list_spec.rb +88 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +72 -72
- data/spec/unit/knife/cookbook_metadata_spec.rb +182 -182
- data/spec/unit/knife/cookbook_show_spec.rb +253 -253
- data/spec/unit/knife/cookbook_upload_spec.rb +426 -426
- data/spec/unit/knife/core/bootstrap_context_spec.rb +287 -287
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +187 -187
- data/spec/unit/knife/core/cookbook_site_streaming_uploader_spec.rb +198 -198
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +242 -242
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +112 -112
- data/spec/unit/knife/core/node_editor_spec.rb +211 -211
- data/spec/unit/knife/core/object_loader_spec.rb +81 -81
- data/spec/unit/knife/core/status_presenter_spec.rb +54 -54
- data/spec/unit/knife/core/subcommand_loader_spec.rb +64 -64
- data/spec/unit/knife/core/ui_spec.rb +656 -656
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +282 -238
- data/spec/unit/knife/data_bag_create_spec.rb +175 -175
- data/spec/unit/knife/data_bag_edit_spec.rb +126 -126
- data/spec/unit/knife/data_bag_from_file_spec.rb +174 -174
- data/spec/unit/knife/data_bag_secret_options_spec.rb +173 -173
- data/spec/unit/knife/data_bag_show_spec.rb +139 -139
- data/spec/unit/knife/environment_compare_spec.rb +112 -112
- data/spec/unit/knife/environment_create_spec.rb +91 -91
- data/spec/unit/knife/environment_delete_spec.rb +71 -71
- data/spec/unit/knife/environment_edit_spec.rb +79 -79
- data/spec/unit/knife/environment_from_file_spec.rb +90 -90
- data/spec/unit/knife/environment_list_spec.rb +54 -54
- data/spec/unit/knife/environment_show_spec.rb +52 -52
- data/spec/unit/knife/key_create_spec.rb +223 -223
- data/spec/unit/knife/key_delete_spec.rb +133 -133
- data/spec/unit/knife/key_edit_spec.rb +264 -264
- data/spec/unit/knife/key_helper.rb +74 -74
- data/spec/unit/knife/key_list_spec.rb +216 -216
- data/spec/unit/knife/key_show_spec.rb +126 -126
- data/spec/unit/knife/license_spec.rb +89 -89
- data/spec/unit/knife/node_bulk_delete_spec.rb +94 -94
- data/spec/unit/knife/node_delete_spec.rb +77 -77
- data/spec/unit/knife/node_edit_spec.rb +116 -116
- data/spec/unit/knife/node_environment_set_spec.rb +61 -61
- data/spec/unit/knife/node_from_file_spec.rb +59 -59
- data/spec/unit/knife/node_list_spec.rb +62 -62
- data/spec/unit/knife/node_policy_set_spec.rb +122 -122
- data/spec/unit/knife/node_run_list_add_spec.rb +145 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +106 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +115 -115
- data/spec/unit/knife/node_show_spec.rb +65 -65
- data/spec/unit/knife/org_create_spec.rb +76 -76
- data/spec/unit/knife/org_delete_spec.rb +41 -41
- data/spec/unit/knife/org_edit_spec.rb +49 -49
- data/spec/unit/knife/org_list_spec.rb +58 -58
- data/spec/unit/knife/org_show_spec.rb +45 -45
- data/spec/unit/knife/org_user_add_spec.rb +39 -39
- data/spec/unit/knife/raw_spec.rb +43 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +80 -80
- data/spec/unit/knife/role_create_spec.rb +80 -80
- data/spec/unit/knife/role_delete_spec.rb +67 -67
- data/spec/unit/knife/role_edit_spec.rb +77 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +94 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +102 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +105 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +99 -99
- data/spec/unit/knife/role_from_file_spec.rb +69 -69
- data/spec/unit/knife/role_list_spec.rb +54 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +179 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +84 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +92 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +98 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +89 -89
- data/spec/unit/knife/role_show_spec.rb +59 -59
- data/spec/unit/knife/search_spec.rb +147 -147
- data/spec/unit/knife/ssh_spec.rb +403 -403
- data/spec/unit/knife/ssl_check_spec.rb +256 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +222 -222
- data/spec/unit/knife/status_spec.rb +112 -112
- data/spec/unit/knife/supermarket_download_spec.rb +152 -152
- data/spec/unit/knife/supermarket_install_spec.rb +203 -203
- data/spec/unit/knife/supermarket_list_spec.rb +70 -70
- data/spec/unit/knife/supermarket_search_spec.rb +85 -85
- data/spec/unit/knife/supermarket_share_spec.rb +208 -208
- data/spec/unit/knife/supermarket_unshare_spec.rb +78 -78
- data/spec/unit/knife/tag_create_spec.rb +23 -23
- data/spec/unit/knife/tag_delete_spec.rb +25 -25
- data/spec/unit/knife/tag_list_spec.rb +23 -23
- data/spec/unit/knife/user_create_spec.rb +282 -282
- data/spec/unit/knife/user_delete_spec.rb +171 -171
- data/spec/unit/knife/user_edit_spec.rb +54 -54
- data/spec/unit/knife/user_list_spec.rb +73 -73
- data/spec/unit/knife/user_password_spec.rb +64 -64
- data/spec/unit/knife/user_reregister_spec.rb +56 -56
- data/spec/unit/knife/user_show_spec.rb +91 -91
- data/spec/unit/knife_spec.rb +637 -637
- data/spec/unit/utils/licensing_handler_spec.rb +140 -0
- metadata +36 -21
@@ -1,127 +1,127 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Vivek Singh (<vsingh@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 ConfigShow < Knife
|
24
|
-
banner "knife config show [OPTION...] (options)\nDisplays the value of Chef::Config[OPTION] (or all config values)"
|
25
|
-
|
26
|
-
option :all,
|
27
|
-
short: "-a",
|
28
|
-
long: "--all",
|
29
|
-
description: "Include options that are not set in the configuration.",
|
30
|
-
default: false
|
31
|
-
|
32
|
-
option :raw,
|
33
|
-
short: "-r",
|
34
|
-
long: "--raw",
|
35
|
-
description: "Display a each value with no formatting.",
|
36
|
-
default: false
|
37
|
-
|
38
|
-
def run
|
39
|
-
if config[:format] == "summary" && !config[:raw]
|
40
|
-
# If using the default, human-readable output, also show which config files are being loaded.
|
41
|
-
# Some of this is a bit hacky since it duplicates
|
42
|
-
wcl = self.class.config_loader
|
43
|
-
if wcl.credentials_found
|
44
|
-
loading_from("credentials", ChefConfig::PathHelper.home(".chef", "credentials"))
|
45
|
-
end
|
46
|
-
if wcl.config_location
|
47
|
-
loading_from("configuration", wcl.config_location)
|
48
|
-
end
|
49
|
-
|
50
|
-
if Chef::Config[:config_d_dir]
|
51
|
-
wcl.find_dot_d(Chef::Config[:config_d_dir]).each do |path|
|
52
|
-
loading_from(".d/ configuration", path)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
# Dump the whole config, including defaults is --all was given.
|
58
|
-
config_data = Chef::Config.save(config[:all])
|
59
|
-
# Two special cases, these are set during knife startup but we don't usually care about them.
|
60
|
-
unless config[:all]
|
61
|
-
config_data.delete(:color)
|
62
|
-
# Only keep these if true, false is much less important because it's the default.
|
63
|
-
config_data.delete(:local_mode) unless config_data[:local_mode]
|
64
|
-
config_data.delete(:enforce_default_paths) unless config_data[:enforce_default_paths]
|
65
|
-
config_data.delete(:enforce_path_sanity) unless config_data[:enforce_path_sanity]
|
66
|
-
end
|
67
|
-
|
68
|
-
# Extract the data to show.
|
69
|
-
output_data = {}
|
70
|
-
if @name_args.empty?
|
71
|
-
output_data = config_data
|
72
|
-
else
|
73
|
-
@name_args.each do |filter|
|
74
|
-
if filter =~ %r{^/(.*)/(i?)$}
|
75
|
-
# It's a regex.
|
76
|
-
filter_re = Regexp.new($1, $2 ? Regexp::IGNORECASE : 0)
|
77
|
-
config_data.each do |key, value|
|
78
|
-
output_data[key] = value if key.to_s&.match?(filter_re)
|
79
|
-
end
|
80
|
-
else
|
81
|
-
# It's a dotted path string.
|
82
|
-
filter_parts = filter.split(".")
|
83
|
-
extract = lambda do |memo, filter_part|
|
84
|
-
memo.is_a?(Hash) ? memo[filter_part.to_sym] : nil
|
85
|
-
end
|
86
|
-
# Check against both config_data and all of the data, so that even
|
87
|
-
# in non-all mode, if you ask for a key that isn't in the non-all
|
88
|
-
# data, it will check against the broader set.
|
89
|
-
output_data[filter] = filter_parts.inject(config_data, &extract) || filter_parts.inject(Chef::Config.save(true), &extract)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
# Fix up some values.
|
95
|
-
output_data.each do |key, value|
|
96
|
-
if value == STDOUT
|
97
|
-
output_data[key] = "STDOUT"
|
98
|
-
elsif value == STDERR
|
99
|
-
output_data[key] = "STDERR"
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
# Show the data.
|
104
|
-
if config[:raw]
|
105
|
-
output_data.each_value do |value|
|
106
|
-
ui.msg(value)
|
107
|
-
end
|
108
|
-
else
|
109
|
-
ui.output(output_data)
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
private
|
114
|
-
|
115
|
-
# Display a banner about loading from a config file.
|
116
|
-
#
|
117
|
-
# @api private
|
118
|
-
# @param type_of_file [String] Description of the file for the banner.
|
119
|
-
# @param path [String] Path of the file.
|
120
|
-
# @return [nil]
|
121
|
-
def loading_from(type_of_file, path)
|
122
|
-
path = Pathname.new(path).realpath
|
123
|
-
ui.msg(ui.color("Loading from #{type_of_file} file #{path}", :yellow))
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
1
|
+
#
|
2
|
+
# Author:: Vivek Singh (<vsingh@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 ConfigShow < Knife
|
24
|
+
banner "knife config show [OPTION...] (options)\nDisplays the value of Chef::Config[OPTION] (or all config values)"
|
25
|
+
|
26
|
+
option :all,
|
27
|
+
short: "-a",
|
28
|
+
long: "--all",
|
29
|
+
description: "Include options that are not set in the configuration.",
|
30
|
+
default: false
|
31
|
+
|
32
|
+
option :raw,
|
33
|
+
short: "-r",
|
34
|
+
long: "--raw",
|
35
|
+
description: "Display a each value with no formatting.",
|
36
|
+
default: false
|
37
|
+
|
38
|
+
def run
|
39
|
+
if config[:format] == "summary" && !config[:raw]
|
40
|
+
# If using the default, human-readable output, also show which config files are being loaded.
|
41
|
+
# Some of this is a bit hacky since it duplicates
|
42
|
+
wcl = self.class.config_loader
|
43
|
+
if wcl.credentials_found
|
44
|
+
loading_from("credentials", ChefConfig::PathHelper.home(".chef", "credentials"))
|
45
|
+
end
|
46
|
+
if wcl.config_location
|
47
|
+
loading_from("configuration", wcl.config_location)
|
48
|
+
end
|
49
|
+
|
50
|
+
if Chef::Config[:config_d_dir]
|
51
|
+
wcl.find_dot_d(Chef::Config[:config_d_dir]).each do |path|
|
52
|
+
loading_from(".d/ configuration", path)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Dump the whole config, including defaults is --all was given.
|
58
|
+
config_data = Chef::Config.save(config[:all])
|
59
|
+
# Two special cases, these are set during knife startup but we don't usually care about them.
|
60
|
+
unless config[:all]
|
61
|
+
config_data.delete(:color)
|
62
|
+
# Only keep these if true, false is much less important because it's the default.
|
63
|
+
config_data.delete(:local_mode) unless config_data[:local_mode]
|
64
|
+
config_data.delete(:enforce_default_paths) unless config_data[:enforce_default_paths]
|
65
|
+
config_data.delete(:enforce_path_sanity) unless config_data[:enforce_path_sanity]
|
66
|
+
end
|
67
|
+
|
68
|
+
# Extract the data to show.
|
69
|
+
output_data = {}
|
70
|
+
if @name_args.empty?
|
71
|
+
output_data = config_data
|
72
|
+
else
|
73
|
+
@name_args.each do |filter|
|
74
|
+
if filter =~ %r{^/(.*)/(i?)$}
|
75
|
+
# It's a regex.
|
76
|
+
filter_re = Regexp.new($1, $2 ? Regexp::IGNORECASE : 0)
|
77
|
+
config_data.each do |key, value|
|
78
|
+
output_data[key] = value if key.to_s&.match?(filter_re)
|
79
|
+
end
|
80
|
+
else
|
81
|
+
# It's a dotted path string.
|
82
|
+
filter_parts = filter.split(".")
|
83
|
+
extract = lambda do |memo, filter_part|
|
84
|
+
memo.is_a?(Hash) ? memo[filter_part.to_sym] : nil
|
85
|
+
end
|
86
|
+
# Check against both config_data and all of the data, so that even
|
87
|
+
# in non-all mode, if you ask for a key that isn't in the non-all
|
88
|
+
# data, it will check against the broader set.
|
89
|
+
output_data[filter] = filter_parts.inject(config_data, &extract) || filter_parts.inject(Chef::Config.save(true), &extract)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# Fix up some values.
|
95
|
+
output_data.each do |key, value|
|
96
|
+
if value == STDOUT
|
97
|
+
output_data[key] = "STDOUT"
|
98
|
+
elsif value == STDERR
|
99
|
+
output_data[key] = "STDERR"
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
# Show the data.
|
104
|
+
if config[:raw]
|
105
|
+
output_data.each_value do |value|
|
106
|
+
ui.msg(value)
|
107
|
+
end
|
108
|
+
else
|
109
|
+
ui.output(output_data)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
private
|
114
|
+
|
115
|
+
# Display a banner about loading from a config file.
|
116
|
+
#
|
117
|
+
# @api private
|
118
|
+
# @param type_of_file [String] Description of the file for the banner.
|
119
|
+
# @param path [String] Path of the file.
|
120
|
+
# @return [nil]
|
121
|
+
def loading_from(type_of_file, path)
|
122
|
+
path = Pathname.new(path).realpath
|
123
|
+
ui.msg(ui.color("Loading from #{type_of_file} file #{path}", :yellow))
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -1,61 +1,61 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Vivek Singh (<vsingh@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 ConfigUse < Knife
|
24
|
-
banner "knife config use [PROFILE]"
|
25
|
-
|
26
|
-
deps do
|
27
|
-
require "fileutils" unless defined?(FileUtils)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Disable normal config loading since this shouldn't fail if the profile
|
31
|
-
# doesn't exist of the config is otherwise corrupted.
|
32
|
-
def configure_chef
|
33
|
-
apply_computed_config
|
34
|
-
end
|
35
|
-
|
36
|
-
def run
|
37
|
-
profile = @name_args[0]&.strip
|
38
|
-
if profile.nil? || profile.empty?
|
39
|
-
ui.msg(self.class.config_loader.credentials_profile(config[:profile]))
|
40
|
-
else
|
41
|
-
credentials_data = self.class.config_loader.parse_credentials_file
|
42
|
-
context_file = ChefConfig::PathHelper.home(".chef", "context").freeze
|
43
|
-
|
44
|
-
if credentials_data.nil? || credentials_data.empty?
|
45
|
-
ui.fatal("No profiles found, #{self.class.config_loader.credentials_file_path} does not exist or is empty")
|
46
|
-
exit 1
|
47
|
-
end
|
48
|
-
|
49
|
-
if credentials_data[profile].nil?
|
50
|
-
raise ChefConfig::ConfigurationError, "Profile #{profile} doesn't exist. Please add it to #{self.class.config_loader.credentials_file_path} and if it is profile with DNS name check that you are not missing single quotes around it as per docs https://docs.chef.io/workstation/knife_setup/#knife-profiles."
|
51
|
-
else
|
52
|
-
# Ensure the .chef/ folder exists.
|
53
|
-
FileUtils.mkdir_p(File.dirname(context_file))
|
54
|
-
IO.write(context_file, "#{profile}\n")
|
55
|
-
ui.msg("Set default profile to #{profile}")
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
1
|
+
#
|
2
|
+
# Author:: Vivek Singh (<vsingh@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 ConfigUse < Knife
|
24
|
+
banner "knife config use [PROFILE]"
|
25
|
+
|
26
|
+
deps do
|
27
|
+
require "fileutils" unless defined?(FileUtils)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Disable normal config loading since this shouldn't fail if the profile
|
31
|
+
# doesn't exist of the config is otherwise corrupted.
|
32
|
+
def configure_chef
|
33
|
+
apply_computed_config
|
34
|
+
end
|
35
|
+
|
36
|
+
def run
|
37
|
+
profile = @name_args[0]&.strip
|
38
|
+
if profile.nil? || profile.empty?
|
39
|
+
ui.msg(self.class.config_loader.credentials_profile(config[:profile]))
|
40
|
+
else
|
41
|
+
credentials_data = self.class.config_loader.parse_credentials_file
|
42
|
+
context_file = ChefConfig::PathHelper.home(".chef", "context").freeze
|
43
|
+
|
44
|
+
if credentials_data.nil? || credentials_data.empty?
|
45
|
+
ui.fatal("No profiles found, #{self.class.config_loader.credentials_file_path} does not exist or is empty")
|
46
|
+
exit 1
|
47
|
+
end
|
48
|
+
|
49
|
+
if credentials_data[profile].nil?
|
50
|
+
raise ChefConfig::ConfigurationError, "Profile #{profile} doesn't exist. Please add it to #{self.class.config_loader.credentials_file_path} and if it is profile with DNS name check that you are not missing single quotes around it as per docs https://docs.chef.io/workstation/knife_setup/#knife-profiles."
|
51
|
+
else
|
52
|
+
# Ensure the .chef/ folder exists.
|
53
|
+
FileUtils.mkdir_p(File.dirname(context_file))
|
54
|
+
IO.write(context_file, "#{profile}\n")
|
55
|
+
ui.msg("Set default profile to #{profile}")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -1,47 +1,47 @@
|
|
1
|
-
#
|
2
|
-
# Copyright:: Copyright (c) 2018, Noah Kantrowitz
|
3
|
-
# License:: Apache License, Version 2.0
|
4
|
-
#
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
# you may not use this file except in compliance with the License.
|
7
|
-
# You may obtain a copy of the License at
|
8
|
-
#
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
#
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
# See the License for the specific language governing permissions and
|
15
|
-
# limitations under the License.
|
16
|
-
#
|
17
|
-
|
18
|
-
require_relative "../knife"
|
19
|
-
require_relative "./config_use"
|
20
|
-
|
21
|
-
class Chef
|
22
|
-
class Knife
|
23
|
-
class ConfigUseProfile < ConfigUse
|
24
|
-
|
25
|
-
# Handle the subclassing (knife doesn't do this :()
|
26
|
-
dependency_loaders.concat(superclass.dependency_loaders)
|
27
|
-
|
28
|
-
banner "knife config use-profile PROFILE"
|
29
|
-
category "deprecated"
|
30
|
-
|
31
|
-
def run
|
32
|
-
Chef::Log.warn("knife config use-profile has been deprecated in favor of knife config use. This will be removed in the major release version!")
|
33
|
-
|
34
|
-
credentials_data = self.class.config_loader.parse_credentials_file
|
35
|
-
context_file = ChefConfig::PathHelper.home(".chef", "context").freeze
|
36
|
-
profile = @name_args[0]&.strip
|
37
|
-
if profile.nil? || profile.empty?
|
38
|
-
show_usage
|
39
|
-
ui.fatal("You must specify a profile")
|
40
|
-
exit 1
|
41
|
-
end
|
42
|
-
|
43
|
-
super
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2018, Noah Kantrowitz
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require_relative "../knife"
|
19
|
+
require_relative "./config_use"
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Knife
|
23
|
+
class ConfigUseProfile < ConfigUse
|
24
|
+
|
25
|
+
# Handle the subclassing (knife doesn't do this :()
|
26
|
+
dependency_loaders.concat(superclass.dependency_loaders)
|
27
|
+
|
28
|
+
banner "knife config use-profile PROFILE"
|
29
|
+
category "deprecated"
|
30
|
+
|
31
|
+
def run
|
32
|
+
Chef::Log.warn("knife config use-profile has been deprecated in favor of knife config use. This will be removed in the major release version!")
|
33
|
+
|
34
|
+
credentials_data = self.class.config_loader.parse_credentials_file
|
35
|
+
context_file = ChefConfig::PathHelper.home(".chef", "context").freeze
|
36
|
+
profile = @name_args[0]&.strip
|
37
|
+
if profile.nil? || profile.empty?
|
38
|
+
show_usage
|
39
|
+
ui.fatal("You must specify a profile")
|
40
|
+
exit 1
|
41
|
+
end
|
42
|
+
|
43
|
+
super
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|