{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "required": [
    "AuthorizationType",
    "HttpMethod",
    "ResourceId",
    "RestApiId"
  ],
  "additionalProperties": false,
  "properties": {
    "AuthorizationType": {
      "type": "string",
      "enum": [
        "AWS_IAM",
        "NONE"
      ]
    },
    "HttpMethod": {
      "type": "string",
      "enum": [
        "DELETE",
        "GET",
        "HEAD",
        "OPTIONS",
        "PATCH",
        "POST",
        "PUT"
      ]
    },
    "ResourceId": {
      "type": "string",
      "pattern": "^[a-z0-9]+$"
    },
    "RestApiId": {
      "type": "string",
      "pattern": "^[a-z0-9]{10}$"
    },
    "ApiKeyRequired": {
      "type": "string",
      "enum": [
        "true",
        "false"
      ]
    },
    "RequestModels": {
      "type": "object",
      "properties": {},
      "patternProperties": {
        ".+": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "RequestParameters": {
      "type": "object",
      "properties": {},
      "patternProperties": {
        "^method\\.request\\.(querystring|header|path)\\..+$": {
          "type": "string",
          "enum": [
            "true",
            "false"
          ]
        }
      },
      "additionalProperties": false
    }
  }
}
