# File lib/cobbler/system.rb, line 59
    def save
      Base.begin_transaction(true)

      token = Base.login

      raise Exception.new('Update failed prior to saving') unless Base.make_call('update')

      sysid = Base.make_call('new_system',token)

      Base.make_call('modify_system',sysid,'name',   name,   token)
      Base.make_call('modify_system',sysid,'profile',profile,token) if profile
      Base.make_call('modify_system',sysid,'image',  image,  token) if image

      if @interfaces
        count = 0
        @interfaces.each do |interface|

          values = interface.bundle_for_saving(count)

          unless values.empty?
            Base.make_call('modify_system',sysid,'modify-interface',values,token)
            count = count + 1
          end

        end
      end

      Base.make_call('save_system',sysid,token)

      Base.end_transaction
    end