class Chef::Knife::UserInviteRescind
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/user_invite_rescind.rb, line 32 def run if (name_args.length < 1) && ! config.key?(:all) show_usage ui.fatal("You must specify a username.") exit 1 end # To rescind we need to send a DELETE to association_requests/INVITE_ID # For user friendliness we look up the invite ID based on username. @invites = {} usernames = name_args rest.get_rest("association_requests").each { |i| @invites[i["username"]] = i["id"] } if config[:all] ui.confirm("Are you sure you want to rescind all association requests") @invites.each do |u, i| rest.delete_rest("association_requests/#{i}") end else ui.confirm("Are you sure you want to rescind the association requests for: #{usernames.join(", ")}") usernames.each do |u| if @invites.key?(u) rest.delete_rest("association_requests/#{@invites[u]}") else ui.fatal("No association request for #{u}.") exit 1 end end end end