{
  "$schema" : "http://json-schema.org/draft-07/schema#",
  "type" : "object",
  "additionalProperties" : false,
  "description": "Camel K Pipe ErrorHandler. See https://camel.apache.org/camel-k/latest/pipe-step.html#_error_handler for more details.",
  "oneOf" : [ {
    "title": "No Pipe ErrorHandler",
    "type": "object",
    "properties" : {
      "none" : {
        "type" : "object"
      }
    },
    "required" : [ "none" ]
  }, {
    "title": "Log Pipe ErrorHandler",
    "type": "object",
    "properties" : {
      "log": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "parameters": {
            "type": "object",
            "properties": {
              "maximumRedeliveries": {
                "type": "number",
                "description" : "Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever"
              },
              "redeliveryDelay": {
                "type": "number",
                "description" : "Sets the maximum delay between redelivery"
              }
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      }
    },
    "required" : [ "log" ]
  }, {
    "title": "Sink Pipe ErrorHandler",
    "type": "object",
    "properties" : {
      "sink": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "endpoint": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ref": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "apiVersion": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [ "kind", "apiVersion", "name" ]
              },
              "properties": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "parameters": {
            "type": "object",
            "properties": {
              "maximumRedeliveries": {
                "type": "number",
                "description" : "Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever"
              },
              "redeliveryDelay": {
                "type": "number",
                "description" : "Sets the maximum delay between redelivery"
              }
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      }
    },
    "required" : [ "sink" ]
  }],
  "properties": {
    "none": {},
    "log": {},
    "sink": {}
  }
}
