chef 0.9.18 → 0.10.0.beta.0
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.
- data/README.rdoc +0 -3
- data/distro/arch/etc/rc.d/chef-server +0 -4
- data/distro/arch/etc/rc.d/chef-server-webui +0 -4
- data/distro/arch/etc/rc.d/chef-solr +0 -4
- data/distro/arch/etc/rc.d/chef-solr-indexer +0 -4
- data/lib/chef.rb +3 -3
- data/lib/chef/api_client.rb +1 -1
- data/lib/chef/application.rb +11 -1
- data/lib/chef/application/client.rb +18 -22
- data/lib/chef/application/knife.rb +28 -29
- data/lib/chef/application/solo.rb +14 -12
- data/lib/chef/client.rb +112 -54
- data/lib/chef/config.rb +4 -0
- data/lib/chef/cookbook/chefignore.rb +66 -0
- data/lib/chef/cookbook/cookbook_collection.rb +6 -5
- data/lib/chef/cookbook/cookbook_version_loader.rb +151 -0
- data/lib/chef/cookbook/file_system_file_vendor.rb +10 -8
- data/lib/chef/cookbook/metadata.rb +200 -108
- data/lib/chef/cookbook_loader.rb +39 -163
- data/lib/chef/cookbook_uploader.rb +100 -78
- data/lib/chef/cookbook_version.rb +92 -47
- data/lib/chef/cookbook_version_selector.rb +163 -0
- data/lib/chef/couchdb.rb +9 -1
- data/lib/chef/data_bag.rb +1 -1
- data/lib/chef/data_bag_item.rb +1 -1
- data/lib/chef/encrypted_data_bag_item.rb +126 -0
- data/lib/chef/environment.rb +386 -0
- data/lib/chef/exceptions.rb +82 -1
- data/lib/chef/index_queue/amqp_client.rb +15 -12
- data/lib/chef/index_queue/indexable.rb +38 -4
- data/lib/chef/json_compat.rb +3 -3
- data/lib/chef/knife.rb +97 -202
- data/lib/chef/knife/bootstrap.rb +27 -61
- data/lib/chef/knife/bootstrap/archlinux-gems.erb +4 -2
- data/lib/chef/knife/bootstrap/centos5-gems.erb +6 -15
- data/lib/chef/knife/bootstrap/fedora13-gems.erb +3 -4
- data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +2 -2
- data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +6 -5
- data/lib/chef/knife/client_bulk_delete.rb +6 -3
- data/lib/chef/knife/client_create.rb +13 -10
- data/lib/chef/knife/client_delete.rb +10 -7
- data/lib/chef/knife/client_edit.rb +9 -6
- data/lib/chef/knife/client_list.rb +8 -5
- data/lib/chef/knife/client_reregister.rb +9 -6
- data/lib/chef/knife/client_show.rb +9 -6
- data/lib/chef/knife/configure.rb +15 -19
- data/lib/chef/knife/configure_client.rb +4 -4
- data/lib/chef/knife/cookbook_bulk_delete.rb +11 -8
- data/lib/chef/knife/cookbook_create.rb +120 -55
- data/lib/chef/knife/cookbook_delete.rb +18 -12
- data/lib/chef/knife/cookbook_download.rb +10 -6
- data/lib/chef/knife/cookbook_list.rb +15 -6
- data/lib/chef/knife/cookbook_metadata.rb +41 -21
- data/lib/chef/knife/cookbook_metadata_from_file.rb +4 -0
- data/lib/chef/knife/cookbook_show.rb +16 -5
- data/lib/chef/knife/cookbook_site_download.rb +2 -2
- data/lib/chef/knife/cookbook_site_share.rb +18 -13
- data/lib/chef/knife/cookbook_site_unshare.rb +7 -4
- data/lib/chef/knife/cookbook_site_vendor.rb +21 -18
- data/lib/chef/knife/cookbook_test.rb +14 -14
- data/lib/chef/knife/cookbook_upload.rb +91 -40
- data/lib/chef/knife/data_bag_create.rb +41 -6
- data/lib/chef/knife/data_bag_delete.rb +5 -3
- data/lib/chef/knife/data_bag_edit.rb +55 -11
- data/lib/chef/knife/data_bag_from_file.rb +47 -7
- data/lib/chef/knife/data_bag_list.rb +4 -1
- data/lib/chef/knife/data_bag_show.rb +44 -4
- data/lib/chef/knife/environment_create.rb +53 -0
- data/lib/chef/knife/environment_delete.rb +45 -0
- data/lib/chef/knife/environment_edit.rb +45 -0
- data/lib/chef/knife/environment_from_file.rb +39 -0
- data/lib/chef/knife/environment_list.rb +42 -0
- data/lib/chef/knife/environment_show.rb +46 -0
- data/lib/chef/knife/exec.rb +1 -1
- data/lib/chef/knife/index_rebuild.rb +8 -9
- data/lib/chef/knife/node_bulk_delete.rb +9 -6
- data/lib/chef/knife/node_create.rb +9 -6
- data/lib/chef/knife/node_delete.rb +10 -7
- data/lib/chef/knife/node_edit.rb +129 -10
- data/lib/chef/knife/node_from_file.rb +10 -7
- data/lib/chef/knife/node_list.rb +11 -6
- data/lib/chef/knife/node_run_list_add.rb +10 -7
- data/lib/chef/knife/node_run_list_remove.rb +9 -6
- data/lib/chef/knife/node_show.rb +15 -7
- data/lib/chef/knife/recipe_list.rb +4 -3
- data/lib/chef/knife/role_bulk_delete.rb +9 -6
- data/lib/chef/knife/role_create.rb +9 -6
- data/lib/chef/knife/role_delete.rb +10 -7
- data/lib/chef/knife/role_edit.rb +11 -8
- data/lib/chef/knife/role_from_file.rb +10 -7
- data/lib/chef/knife/role_list.rb +8 -5
- data/lib/chef/knife/role_show.rb +11 -8
- data/lib/chef/knife/search.rb +33 -10
- data/lib/chef/knife/ssh.rb +33 -61
- data/lib/chef/knife/status.rb +7 -4
- data/lib/chef/knife/subcommand_loader.rb +101 -0
- data/lib/chef/knife/tag_create.rb +31 -0
- data/lib/chef/knife/tag_delete.rb +31 -0
- data/lib/chef/knife/tag_list.rb +29 -0
- data/lib/chef/knife/ui.rb +229 -0
- data/lib/chef/knife/windows_bootstrap.rb +8 -5
- data/lib/chef/log.rb +5 -59
- data/lib/chef/mash.rb +211 -0
- data/lib/chef/mixins.rb +1 -2
- data/lib/chef/nil_argument.rb +3 -0
- data/lib/chef/node.rb +96 -34
- data/lib/chef/platform.rb +27 -0
- data/lib/chef/provider/cookbook_file.rb +21 -20
- data/lib/chef/provider/deploy/revision.rb +3 -0
- data/lib/chef/provider/file.rb +20 -11
- data/lib/chef/provider/git.rb +26 -26
- data/lib/chef/provider/group/aix.rb +70 -0
- data/lib/chef/provider/group/groupadd.rb +7 -4
- data/lib/chef/provider/group/usermod.rb +1 -1
- data/lib/chef/provider/package.rb +28 -28
- data/lib/chef/provider/package/dpkg.rb +1 -1
- data/lib/chef/provider/package/portage.rb +50 -39
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/zypper.rb +3 -20
- data/lib/chef/provider/remote_directory.rb +0 -2
- data/lib/chef/provider/remote_file.rb +2 -3
- data/lib/chef/provider/service/arch.rb +28 -35
- data/lib/chef/provider/service/simple.rb +1 -1
- data/lib/chef/provider/subversion.rb +22 -22
- data/lib/chef/providers.rb +1 -0
- data/lib/chef/recipe.rb +10 -12
- data/lib/chef/resource.rb +49 -42
- data/lib/chef/resource/gem_package.rb +7 -3
- data/lib/chef/resource/git.rb +5 -5
- data/lib/chef/resource/package.rb +7 -7
- data/lib/chef/resource/scm.rb +2 -1
- data/lib/chef/resource/solaris_package.rb +0 -1
- data/lib/chef/resource/yum_package.rb +0 -1
- data/lib/chef/rest.rb +7 -16
- data/lib/chef/rest/rest_request.rb +0 -16
- data/lib/chef/role.rb +67 -13
- data/lib/chef/run_context.rb +37 -21
- data/lib/chef/run_list.rb +30 -15
- data/lib/chef/run_list/run_list_expansion.rb +41 -20
- data/lib/chef/run_list/run_list_item.rb +20 -6
- data/lib/chef/run_list/versioned_recipe_list.rb +68 -0
- data/lib/chef/runner.rb +7 -15
- data/lib/chef/search/query.rb +12 -7
- data/lib/chef/shef.rb +6 -7
- data/lib/chef/shef/shef_session.rb +40 -35
- data/lib/chef/shell_out.rb +22 -201
- data/lib/chef/shell_out/unix.rb +224 -0
- data/lib/chef/shell_out/windows.rb +95 -0
- data/lib/chef/solr_query.rb +187 -0
- data/lib/chef/solr_query/lucene.treetop +145 -0
- data/lib/chef/solr_query/lucene_nodes.rb +285 -0
- data/lib/chef/solr_query/query_transform.rb +65 -0
- data/lib/chef/solr_query/solr_http_request.rb +118 -0
- data/lib/chef/version.rb +4 -2
- data/lib/chef/version_class.rb +70 -0
- data/lib/chef/version_constraint.rb +116 -0
- metadata +68 -37
- data/lib/chef/cookbook/metadata/version.rb +0 -87
- data/lib/chef/knife/bluebox_images_list.rb +0 -54
- data/lib/chef/knife/bluebox_server_create.rb +0 -157
- data/lib/chef/knife/bluebox_server_delete.rb +0 -63
- data/lib/chef/knife/bluebox_server_list.rb +0 -59
- data/lib/chef/knife/ec2_instance_data.rb +0 -46
- data/lib/chef/knife/ec2_server_create.rb +0 -218
- data/lib/chef/knife/ec2_server_delete.rb +0 -87
- data/lib/chef/knife/ec2_server_list.rb +0 -89
- data/lib/chef/knife/rackspace_server_create.rb +0 -184
- data/lib/chef/knife/rackspace_server_delete.rb +0 -57
- data/lib/chef/knife/rackspace_server_list.rb +0 -59
- data/lib/chef/knife/slicehost_images_list.rb +0 -53
- data/lib/chef/knife/slicehost_server_create.rb +0 -103
- data/lib/chef/knife/slicehost_server_delete.rb +0 -61
- data/lib/chef/knife/slicehost_server_list.rb +0 -64
- data/lib/chef/knife/terremark_server_create.rb +0 -152
- data/lib/chef/knife/terremark_server_delete.rb +0 -87
- data/lib/chef/knife/terremark_server_list.rb +0 -77
- data/lib/chef/mixin/find_preferred_file.rb +0 -92
data/lib/chef/knife/node_list.rb
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Adam Jacob (<adam@opscode.com>)
|
|
3
|
-
# Copyright:: Copyright (c)
|
|
3
|
+
# Copyright:: Copyright (c) 2010 Opscode, Inc.
|
|
4
4
|
# License:: Apache License, Version 2.0
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class NodeList < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/node'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife node list (options)"
|
|
28
31
|
|
|
29
32
|
option :with_uri,
|
|
@@ -32,8 +35,10 @@ class Chef
|
|
|
32
35
|
:description => "Show corresponding URIs"
|
|
33
36
|
|
|
34
37
|
def run
|
|
35
|
-
|
|
38
|
+
env = Chef::Config[:environment]
|
|
39
|
+
output(format_list_for_display( env ? Chef::Node.list_by_environment(env) : Chef::Node.list ))
|
|
36
40
|
end
|
|
41
|
+
|
|
37
42
|
end
|
|
38
43
|
end
|
|
39
44
|
end
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class NodeRunListAdd < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/node'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife node run_list add [NODE] [ENTRY] (options)"
|
|
28
31
|
|
|
29
32
|
option :after,
|
|
@@ -31,17 +34,17 @@ class Chef
|
|
|
31
34
|
:long => "--after ITEM",
|
|
32
35
|
:description => "Place the ENTRY in the run list after ITEM"
|
|
33
36
|
|
|
34
|
-
def run
|
|
37
|
+
def run
|
|
35
38
|
node = Chef::Node.load(@name_args[0])
|
|
36
39
|
entry = @name_args[1]
|
|
37
|
-
|
|
40
|
+
|
|
38
41
|
add_to_run_list(node, entry, config[:after])
|
|
39
42
|
|
|
40
43
|
node.save
|
|
41
44
|
|
|
42
45
|
config[:run_list] = true
|
|
43
46
|
|
|
44
|
-
output(format_for_display(node))
|
|
47
|
+
output(format_for_display(node))
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
def add_to_run_list(node, new_value, after=nil)
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,16 +17,19 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class NodeRunListRemove < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/node'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife node run_list remove [NODE] [ENTRY] (options)"
|
|
28
31
|
|
|
29
|
-
def run
|
|
32
|
+
def run
|
|
30
33
|
node = Chef::Node.load(@name_args[0])
|
|
31
34
|
entry = @name_args[1]
|
|
32
35
|
|
|
@@ -36,7 +39,7 @@ class Chef
|
|
|
36
39
|
|
|
37
40
|
config[:run_list] = true
|
|
38
41
|
|
|
39
|
-
output(format_for_display(node))
|
|
42
|
+
output(format_for_display(node))
|
|
40
43
|
end
|
|
41
44
|
|
|
42
45
|
end
|
data/lib/chef/knife/node_show.rb
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class NodeShow < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/node'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife node show NODE (options)"
|
|
28
31
|
|
|
29
32
|
option :attribute,
|
|
@@ -36,15 +39,20 @@ class Chef
|
|
|
36
39
|
:long => "--run-list",
|
|
37
40
|
:description => "Show only the run list"
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
option :environment,
|
|
43
|
+
:short => "-E",
|
|
44
|
+
:long => "--environment",
|
|
45
|
+
:description => "Show only the Chef environment"
|
|
46
|
+
|
|
47
|
+
def run
|
|
40
48
|
@node_name = @name_args[0]
|
|
41
49
|
|
|
42
50
|
if @node_name.nil?
|
|
43
51
|
show_usage
|
|
44
|
-
|
|
52
|
+
ui.fatal("You must specify a node name")
|
|
45
53
|
exit 1
|
|
46
54
|
end
|
|
47
|
-
|
|
55
|
+
|
|
48
56
|
node = Chef::Node.load(@node_name)
|
|
49
57
|
output(format_for_display(node))
|
|
50
58
|
end
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -18,11 +18,12 @@
|
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
20
|
class Chef::Knife::RecipeList < Chef::Knife
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
banner "knife recipe list [PATTERN]"
|
|
23
23
|
|
|
24
24
|
def run
|
|
25
25
|
recipes = rest.get_rest('cookbooks/_recipes')
|
|
26
|
+
recipes = recipes.keys.map { |cb| recipes[cb].map {|ver, rec| rec.map{ |rn| "#{cb}::#{rn} (#{ver})" }}}.flatten.uniq
|
|
26
27
|
if pattern = @name_args.first
|
|
27
28
|
recipes = recipes.grep(Regexp.new(pattern))
|
|
28
29
|
end
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,18 +17,21 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleBulkDelete < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/role'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role bulk delete REGEX (options)"
|
|
28
31
|
|
|
29
|
-
def run
|
|
32
|
+
def run
|
|
30
33
|
if @name_args.length < 1
|
|
31
|
-
|
|
34
|
+
ui.fatal("You must supply a regular expression to match the results against")
|
|
32
35
|
exit 42
|
|
33
36
|
else
|
|
34
37
|
bulk_delete(Chef::Role, "role", nil, nil, @name_args[0])
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/role'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleCreate < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/role'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role create ROLE (options)"
|
|
28
31
|
|
|
29
32
|
option :description,
|
|
@@ -36,10 +39,10 @@ class Chef
|
|
|
36
39
|
|
|
37
40
|
if @role_name.nil?
|
|
38
41
|
show_usage
|
|
39
|
-
|
|
42
|
+
ui.fatal("You must specify a role name")
|
|
40
43
|
exit 1
|
|
41
44
|
end
|
|
42
|
-
|
|
45
|
+
|
|
43
46
|
role = Chef::Role.new
|
|
44
47
|
role.name(@role_name)
|
|
45
48
|
role.description(config[:description]) if config[:description]
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,24 +17,27 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/role'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleDelete < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/role'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role delete ROLE (options)"
|
|
28
31
|
|
|
29
|
-
def run
|
|
32
|
+
def run
|
|
30
33
|
@role_name = @name_args[0]
|
|
31
34
|
|
|
32
35
|
if @role_name.nil?
|
|
33
36
|
show_usage
|
|
34
|
-
|
|
37
|
+
ui.fatal("You must specify a role name")
|
|
35
38
|
exit 1
|
|
36
39
|
end
|
|
37
|
-
|
|
40
|
+
|
|
38
41
|
delete_object(Chef::Role, @role_name)
|
|
39
42
|
end
|
|
40
43
|
|
data/lib/chef/knife/role_edit.rb
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,25 +17,28 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/role'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleEdit < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/role'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role edit ROLE (options)"
|
|
28
31
|
|
|
29
|
-
def run
|
|
32
|
+
def run
|
|
30
33
|
@role_name = @name_args[0]
|
|
31
34
|
|
|
32
35
|
if @role_name.nil?
|
|
33
36
|
show_usage
|
|
34
|
-
|
|
37
|
+
ui.fatal("You must specify a role name")
|
|
35
38
|
exit 1
|
|
36
39
|
end
|
|
37
|
-
|
|
38
|
-
edit_object(Chef::Role, @role_name)
|
|
40
|
+
|
|
41
|
+
ui.edit_object(Chef::Role, @role_name)
|
|
39
42
|
end
|
|
40
43
|
end
|
|
41
44
|
end
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,23 +17,26 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/role'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleFromFile < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/role'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role from file FILE (options)"
|
|
28
31
|
|
|
29
|
-
def run
|
|
32
|
+
def run
|
|
30
33
|
updated = load_from_file(Chef::Role, @name_args[0])
|
|
31
34
|
|
|
32
35
|
updated.save
|
|
33
|
-
|
|
36
|
+
|
|
34
37
|
output(format_for_display(updated)) if config[:print_after]
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
ui.info("Updated Role #{updated.name}!")
|
|
37
40
|
end
|
|
38
41
|
|
|
39
42
|
end
|
data/lib/chef/knife/role_list.rb
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
8
8
|
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
9
|
+
#
|
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require 'chef/knife'
|
|
20
|
-
require 'chef/node'
|
|
21
|
-
require 'chef/json_compat'
|
|
22
20
|
|
|
23
21
|
class Chef
|
|
24
22
|
class Knife
|
|
25
23
|
class RoleList < Knife
|
|
26
24
|
|
|
25
|
+
deps do
|
|
26
|
+
require 'chef/node'
|
|
27
|
+
require 'chef/json_compat'
|
|
28
|
+
end
|
|
29
|
+
|
|
27
30
|
banner "knife role list (options)"
|
|
28
31
|
|
|
29
32
|
option :with_uri,
|
|
@@ -31,7 +34,7 @@ class Chef
|
|
|
31
34
|
:long => "--with-uri",
|
|
32
35
|
:description => "Show corresponding URIs"
|
|
33
36
|
|
|
34
|
-
def run
|
|
37
|
+
def run
|
|
35
38
|
output(format_list_for_display(Chef::Role.list))
|
|
36
39
|
end
|
|
37
40
|
end
|