{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/drupal-links-menu.json",
  "additionalProperties": {
    "type": "object",
    "properties": {
      "title": {
        "title": "The static title for the menu link",
        "type": "string"
      },
      "title_context": {
        "title": "The translation context for the title value.",
        "type": "string"
      },
      "description": {
        "title": "The description",
        "type": "string"
      },
      "description_context": {
        "title": "The translation context for the description value.",
        "type": "string"
      },
      "route_name": {
        "title": "The name of the route this links to, unless it's external",
        "type": "string"
      },
      "route_parameters": {
        "title": "Parameters for route variables when generating a link",
        "type": "object"
      },
      "parent": {
        "title": "The plugin ID of the parent tab",
        "type": "string"
      },
      "menu_name": {
        "title": "The name of the menu for this link",
        "default": "tools",
        "type": "string"
      },
      "url": {
        "title": "The external URL if this link has one",
        "type": "string"
      },
      "weight": {
        "title": "The weight of the link",
        "type": "integer"
      },
      "options": {
        "title": "Array of link options",
        "type": "object"
      },
      "class": {
        "title": "Class for task implementations",
        "type": "string"
      },
      "form_class": {
        "title": "Class for task implementations",
        "type": "string"
      },
      "provider": {
        "title": "The name of the module providing this link",
        "type": "string"
      },
      "metadata": {
        "$comment": "Any arbitrary metadata for this link.",
        "type": "object"
      },
      "expanded": {
        "title": "Show the link as expanded",
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "type": "integer"
          }
        ]
      },
      "enabled": {
        "title": "The status of the link",
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "type": "integer"
          }
        ]
      },
      "deriver": {
        "title": "Deriver class",
        "type": "string"
      },
      "position": {
        "$comment": "@todo Add a title and enum if needed",
        "type": "string"
      },
      "cache_tags": {
        "title": "Cache tags",
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "additionalProperties": false
  },
  "title": "JSON schema for Drupal menu links file",
  "type": "object"
}
