    # File lib/fog/openstack/models/compute/server.rb, line 229
            def save
              raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
              requires :flavor_ref, :image_ref, :name
              meta_hash = {}
              metadata.each { |meta| meta_hash.store(meta.key, meta.value) }
              options = {
                'metadata'    => meta_hash,
                'personality' => personality,
                'accessIPv4' => accessIPv4,
                'accessIPv6' => accessIPv6,
                'availability_zone' => availability_zone,
                'user_data' => user_data_encoded,
                'key_name'    => key_name,
                'security_groups' => @security_groups,
                'min_count'   => @min_count,
                'max_count'   => @max_count,
                'os:scheduler_hints' => @os_scheduler_hints
              }
              options = options.reject {|key, value| value.nil?}
              data = service.create_server(name, image_ref, flavor_ref, options)
              merge_attributes(data.body['server'])
              true
            end