class Chef::Knife::UserEdit

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/user_edit.rb, line 37
def run
  @user_name = @name_args[0]

  if @user_name.nil?
    show_usage
    ui.fatal("You must specify a user name")
    exit 1
  end
  original_user = root_rest.get("users/#{@user_name}")
  edited_user = get_updated_user(original_user)
  if original_user != edited_user
    result = root_rest.put("users/#{@user_name}", edited_user)
    ui.msg("Saved #{@user_name}.")
    unless result["private_key"].nil?
      if config[:filename]
        File.open(config[:filename], "w") do |f|
          f.print(result["private_key"])
        end
      else
        ui.msg result["private_key"]
      end
    end
  else
    ui.msg("User unchanged, not saving.")
  end
end