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