diff options
author | JimmyMcCrory <Jimmy.McCrory@gmail.com> | 2014-01-25 20:46:46 -0800 |
---|---|---|
committer | Bryan McLellan <btm@getchef.com> | 2014-04-29 12:13:58 -0700 |
commit | 95eea332cd3bba602e8af7294290067e1fafb0af (patch) | |
tree | 97e82e9d474bc8075d88f113987043e839f3630e /lib | |
parent | e85f791ece68e43053acfe44a032687958127c32 (diff) | |
download | chef-95eea332cd3bba602e8af7294290067e1fafb0af.tar.gz |
[CHEF-1910] Manage node environments with knife
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/knife/node_environment.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/lib/chef/knife/node_environment.rb b/lib/chef/knife/node_environment.rb new file mode 100644 index 0000000000..d86aa017f1 --- /dev/null +++ b/lib/chef/knife/node_environment.rb @@ -0,0 +1,55 @@ +# +# Author:: Jimmy McCrory (<jimmy.mccrory@gmail.com>) +# Copyright:: Copyright (c) 2014 Jimmy McCrory +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require 'chef/knife' + +class Chef + class Knife + class NodeEnvironment < Knife + + deps do + require 'chef/node' + require 'chef/json_compat' + end + + banner "knife node environment NODE ENVIRONMENT" + + def run + if @name_args.size < 2 + ui.fatal "You must specify a node name and an environment." + show_usage + exit 1 + else + @node_name = @name_args[0] + @environment = @name_args[1] + end + + node = Chef::Node.load(@node_name) + + node.chef_environment = @environment + + node.save + + config[:attribute] = "chef_environment" + + output(format_for_display(node)) + end + + end + end +end
\ No newline at end of file |