# File lib/fog/ninefold/models/compute/server.rb, line 135
        def save
          raise "Operation not supported" if self.identity
          requires :flavor_id, :image_id, :zoneid

          unless networkids
            # No network specified, use first in this zone.
            networks = service.list_networks(:zoneid => zoneid)
            if networks.empty?
              raise "No networks. Please create one, or specify a network ID"
            else
              # use the network with the lowest ID - the safe default
              self.networkids = networks.sort {|x,y| x['id'] <=> y['id']}[0]['id']
            end
          end

          options = {
            :serviceofferingid => flavor_id,
            :templateid => image_id,
            :name => name,
            :zoneid => zoneid,
            :networkids => networkids,
            :account => account,
            :diskofferingid => diskofferingid,
            :displayname => displayname,
            :domainid => domainid,
            :group => group,
            :hypervisor => hypervisor,
            :keypair => keypair,
            :securitygroupids => securitygroupids,
            :size => size,
            :userdata => userdata
          }.delete_if {|k,v| v.nil? || v == "" }
          data = service.deploy_virtual_machine(options)
          merge_attributes(data)
          true
        end