class Chef::Knife::JoyentServerMetadataDelete
Attributes
server[R]
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/joyent_server_metadata_delete.rb, line 26 def run unless name_args.size === 1 show_usage exit 1 end if config[:keys].empty? and not config[:all] show_usage exit 1 end id = name_args.first @server = self.connection.servers.get(id) unless server puts ui.error("Server with id: #{id} not found") exit 1 end delete_all_keys if config[:all] delete_keys if server.update_metadata(config[:metadata]) puts ui.color("Updated metadata on #{id}", :cyan) exit 0 else puts ui.error("Metadata update failed") exit 1 end rescue => e output_error(e) end
Private Instance Methods
delete_all_keys()
click to toggle source
# File lib/chef/knife/joyent_server_metadata_delete.rb, line 62 def delete_all_keys if server.delete_all_metadata msg("Deleted all metadata on #{server.id}") exit 0 else fail end end
delete_keys()
click to toggle source
# File lib/chef/knife/joyent_server_metadata_delete.rb, line 71 def delete_keys config[:keys].each do |key| if server.delete_metadata(key) msg("Deleted metadata key: #{key} on #{server.name}") else fail end end exit 0 end
fail()
click to toggle source
# File lib/chef/knife/joyent_server_metadata_delete.rb, line 86 def fail puts ui.error("Metadata delete failed") exit 1 end
msg(msg)
click to toggle source
# File lib/chef/knife/joyent_server_metadata_delete.rb, line 82 def msg(msg) puts ui.color(msg, :cyan) end