code: function createSchema() {
      return joi.object().keys({
          force: joi.boolean(),
          url: joi.string().trim().required(),
          agent: joi.string().trim(),
          headers: joi.string().trim(),
          delay: joi.number().integer().min(0),
          format: joi.string().lowercase().trim().valid(
              'jpeg', 'jpg', 'png', 'html', 'bmp', 'pdf', 'ppm', 'ico'),
          engine: joi.string().lowercase().trim().valid(
              'phantomjs', 'slimerjs'),
          quality: joi.number().min(0).max(1),
          width: joi.number().integer().min(1),
          height: joi.number().integer().min(1),
          paperFormat: joi.string().trim().valid(
              'letter', 'A2', 'A3', 'A4', 'A5'),
          paperOrientation: joi.string().lowercase().trim().valid(
              'portrait', 'landscape'
          ),
          clipRect: joi.string().trim().regex(REGEXP_CLIP_RECT),
          zoom: joi.number().min(0),
          selector: joi.string().trim(),
          selectorCrop:joi.boolean(),
          selectorCropPadding:joi.number().integer(),
          js: joi.boolean(),
          images: joi.boolean(),
          user: joi.string().trim(),
          password: joi.string().trim(),
          callback: joi.string().trim(),
          cookies: joi.array().items(
              joi.object().keys({
                  name: joi.string().required(),
                  value: joi.string().required(),
                  domain: joi.string(),
                  path: joi.string().required(),
                  httponly: joi.boolean(),
                  secure: joi.boolean(),
                  expires: joi.string()
              })
          )
      });
  }
docs: /* Schemas