{
  "$ref": "#/definitions/ChaosConfig",
  "definitions": {
    "ChaosConfig": {
      "type": "object",
      "properties": {
        "network": {
          "type": "object",
          "properties": {
            "failures": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "type": "string",
                    "minLength": 1
                  },
                  "methods": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "graphqlOperation": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1
                      },
                      {}
                    ]
                  },
                  "hostname": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1
                      },
                      {}
                    ]
                  },
                  "queryParams": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "boolean"
                        },
                        {}
                      ]
                    },
                    "propertyNames": {
                      "minLength": 1
                    }
                  },
                  "requestHeaders": {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams/additionalProperties"
                    },
                    "propertyNames": {
                      "minLength": 1
                    }
                  },
                  "resourceTypes": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "fetch",
                        "xhr"
                      ]
                    },
                    "minItems": 1
                  },
                  "matcher": {
                    "type": "string",
                    "minLength": 1
                  },
                  "statusCode": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 599
                  },
                  "probability": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "body": {
                    "type": "string"
                  },
                  "statusText": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "onNth": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "afterN": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "group": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "statusCode",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "latencies": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                  },
                  "methods": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                  },
                  "graphqlOperation": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                  },
                  "requestHeaders": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                  },
                  "resourceTypes": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                  },
                  "delayMs": {
                    "type": "number",
                    "minimum": 0
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "delayMs",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "aborts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                  },
                  "methods": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                  },
                  "graphqlOperation": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                  },
                  "requestHeaders": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                  },
                  "resourceTypes": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "timeout": {
                    "type": "number",
                    "minimum": 0
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "corruptions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                  },
                  "methods": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                  },
                  "graphqlOperation": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                  },
                  "requestHeaders": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                  },
                  "resourceTypes": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "truncate",
                      "malformed-json",
                      "empty",
                      "wrong-type"
                    ]
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability",
                  "strategy"
                ],
                "additionalProperties": false
              }
            },
            "cors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                  },
                  "methods": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                  },
                  "graphqlOperation": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                  },
                  "requestHeaders": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                  },
                  "resourceTypes": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability"
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        "ui": {
          "type": "object",
          "properties": {
            "assaults": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "selector": {
                    "type": "string",
                    "minLength": 1
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "disable",
                      "hide",
                      "remove"
                    ]
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "selector",
                  "action",
                  "probability"
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        "websocket": {
          "type": "object",
          "properties": {
            "drops": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "type": "string",
                    "minLength": 1
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "inbound",
                      "outbound",
                      "both"
                    ]
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "direction",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "delays": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "direction": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                  },
                  "delayMs": {
                    "type": "number",
                    "minimum": 0
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "direction",
                  "delayMs",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "corruptions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "direction": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "truncate",
                      "malformed-json",
                      "empty",
                      "wrong-type"
                    ]
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "direction",
                  "strategy",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "closes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "code": {
                    "type": "integer"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "afterMs": {
                    "type": "number",
                    "minimum": 0
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability"
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        "sse": {
          "type": "object",
          "properties": {
            "drops": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "eventType": {
                    "type": "string",
                    "minLength": 1
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "delays": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "eventType": {
                    "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                  },
                  "delayMs": {
                    "type": "number",
                    "minimum": 0
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "delayMs",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "corruptions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "eventType": {
                    "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "truncate",
                      "malformed-json",
                      "empty",
                      "wrong-type"
                    ]
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "strategy",
                  "probability"
                ],
                "additionalProperties": false
              }
            },
            "closes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "urlPattern": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                  },
                  "hostname": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                  },
                  "queryParams": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                  },
                  "matcher": {
                    "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                  },
                  "afterMs": {
                    "type": "number",
                    "minimum": 0
                  },
                  "probability": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                  },
                  "onNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                  },
                  "everyNth": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                  },
                  "afterN": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                  },
                  "group": {
                    "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                  }
                },
                "required": [
                  "probability"
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "enabled": {
                "type": "boolean"
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          }
        },
        "presets": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "customPresets": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "network": {
                "type": "object",
                "properties": {
                  "failures": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "statusCode": {
                          "type": "integer",
                          "minimum": 100,
                          "maximum": 599
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "body": {
                          "type": "string"
                        },
                        "statusText": {
                          "type": "string"
                        },
                        "headers": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "statusCode",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "latencies": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "aborts": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "timeout": {
                          "type": "number",
                          "minimum": 0
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability",
                        "strategy"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "cors": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "ui": {
                "type": "object",
                "properties": {
                  "assaults": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "selector": {
                          "type": "string",
                          "minLength": 1
                        },
                        "action": {
                          "type": "string",
                          "enum": [
                            "disable",
                            "hide",
                            "remove"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "selector",
                        "action",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "websocket": {
                "type": "object",
                "properties": {
                  "drops": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "delays": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "strategy",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "closes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "code": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/code"
                        },
                        "reason": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/reason"
                        },
                        "afterMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "sse": {
                "type": "object",
                "properties": {
                  "drops": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "delays": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "strategy",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "closes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "afterMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "groups": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          },
          "propertyNames": {
            "minLength": 1
          }
        },
        "seed": {
          "type": "integer"
        },
        "debug": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "enabled"
              ],
              "additionalProperties": false
            }
          ]
        },
        "schemaVersion": {
          "type": "number",
          "const": 1
        },
        "profile": {
          "type": "string",
          "minLength": 1
        },
        "profileOverrides": {
          "type": "object",
          "properties": {
            "network": {
              "type": "object",
              "properties": {
                "failures": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                      },
                      "methods": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                      },
                      "graphqlOperation": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                      },
                      "requestHeaders": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                      },
                      "resourceTypes": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                      },
                      "statusCode": {
                        "type": "integer",
                        "minimum": 100,
                        "maximum": 599
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "body": {
                        "type": "string"
                      },
                      "statusText": {
                        "type": "string"
                      },
                      "headers": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "statusCode",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "latencies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                      },
                      "methods": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                      },
                      "graphqlOperation": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                      },
                      "requestHeaders": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                      },
                      "resourceTypes": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                      },
                      "delayMs": {
                        "type": "number",
                        "minimum": 0
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "delayMs",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "aborts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                      },
                      "methods": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                      },
                      "graphqlOperation": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                      },
                      "requestHeaders": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                      },
                      "resourceTypes": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "timeout": {
                        "type": "number",
                        "minimum": 0
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "corruptions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                      },
                      "methods": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                      },
                      "graphqlOperation": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                      },
                      "requestHeaders": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                      },
                      "resourceTypes": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "truncate",
                          "malformed-json",
                          "empty",
                          "wrong-type"
                        ]
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability",
                      "strategy"
                    ],
                    "additionalProperties": false
                  }
                },
                "cors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                      },
                      "methods": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                      },
                      "graphqlOperation": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                      },
                      "requestHeaders": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                      },
                      "resourceTypes": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            "ui": {
              "type": "object",
              "properties": {
                "assaults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "selector": {
                        "type": "string",
                        "minLength": 1
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "disable",
                          "hide",
                          "remove"
                        ]
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "selector",
                      "action",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            "websocket": {
              "type": "object",
              "properties": {
                "drops": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "direction": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "direction",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "delays": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "direction": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                      },
                      "delayMs": {
                        "type": "number",
                        "minimum": 0
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "direction",
                      "delayMs",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "corruptions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "direction": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "truncate",
                          "malformed-json",
                          "empty",
                          "wrong-type"
                        ]
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "direction",
                      "strategy",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "closes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "code": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/code"
                      },
                      "reason": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/reason"
                      },
                      "afterMs": {
                        "type": "number",
                        "minimum": 0
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            "sse": {
              "type": "object",
              "properties": {
                "drops": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "eventType": {
                        "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "delays": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "eventType": {
                        "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                      },
                      "delayMs": {
                        "type": "number",
                        "minimum": 0
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "delayMs",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "corruptions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "eventType": {
                        "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "truncate",
                          "malformed-json",
                          "empty",
                          "wrong-type"
                        ]
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "strategy",
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                },
                "closes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "urlPattern": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                      },
                      "hostname": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                      },
                      "queryParams": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                      },
                      "matcher": {
                        "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                      },
                      "afterMs": {
                        "type": "number",
                        "minimum": 0
                      },
                      "probability": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                      },
                      "onNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                      },
                      "everyNth": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                      },
                      "afterN": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                      },
                      "group": {
                        "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                      }
                    },
                    "required": [
                      "probability"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            "groups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            },
            "presets": {
              "$ref": "#/definitions/ChaosConfig/properties/presets"
            },
            "seed": {
              "type": "integer"
            },
            "debug": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "profile": {},
            "profileOverrides": {},
            "customProfiles": {},
            "customPresets": {},
            "schemaVersion": {}
          },
          "additionalProperties": false
        },
        "customProfiles": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "network": {
                "type": "object",
                "properties": {
                  "failures": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "statusCode": {
                          "type": "integer",
                          "minimum": 100,
                          "maximum": 599
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "body": {
                          "type": "string"
                        },
                        "statusText": {
                          "type": "string"
                        },
                        "headers": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "statusCode",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "latencies": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "aborts": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "timeout": {
                          "type": "number",
                          "minimum": 0
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability",
                        "strategy"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "cors": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/urlPattern"
                        },
                        "methods": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/methods"
                        },
                        "graphqlOperation": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
                        },
                        "requestHeaders": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
                        },
                        "resourceTypes": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/matcher"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "ui": {
                "type": "object",
                "properties": {
                  "assaults": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "selector": {
                          "type": "string",
                          "minLength": 1
                        },
                        "action": {
                          "type": "string",
                          "enum": [
                            "disable",
                            "hide",
                            "remove"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "selector",
                        "action",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "websocket": {
                "type": "object",
                "properties": {
                  "drops": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "delays": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "direction": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/direction"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "direction",
                        "strategy",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "closes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "code": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/code"
                        },
                        "reason": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/closes/items/properties/reason"
                        },
                        "afterMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "sse": {
                "type": "object",
                "properties": {
                  "drops": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "delays": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "delayMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "delayMs",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "corruptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "eventType": {
                          "$ref": "#/definitions/ChaosConfig/properties/sse/properties/drops/items/properties/eventType"
                        },
                        "strategy": {
                          "type": "string",
                          "enum": [
                            "truncate",
                            "malformed-json",
                            "empty",
                            "wrong-type"
                          ]
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "strategy",
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "closes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "urlPattern": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/urlPattern"
                        },
                        "hostname": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/hostname"
                        },
                        "queryParams": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/queryParams"
                        },
                        "matcher": {
                          "$ref": "#/definitions/ChaosConfig/properties/websocket/properties/drops/items/properties/matcher"
                        },
                        "afterMs": {
                          "type": "number",
                          "minimum": 0
                        },
                        "probability": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/probability"
                        },
                        "onNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/onNth"
                        },
                        "everyNth": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/everyNth"
                        },
                        "afterN": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/afterN"
                        },
                        "group": {
                          "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/group"
                        }
                      },
                      "required": [
                        "probability"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "groups": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "additionalProperties": false
                }
              },
              "presets": {
                "$ref": "#/definitions/ChaosConfig/properties/presets"
              },
              "seed": {
                "type": "integer"
              },
              "debug": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "profile": {},
              "profileOverrides": {},
              "customProfiles": {},
              "customPresets": {},
              "schemaVersion": {}
            },
            "additionalProperties": false
          },
          "propertyNames": {
            "minLength": 1
          }
        },
        "matchers": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "urlPattern": {
                "type": "string",
                "minLength": 1
              },
              "methods": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "graphqlOperation": {
                "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/graphqlOperation"
              },
              "hostname": {
                "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/hostname"
              },
              "queryParams": {
                "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/queryParams"
              },
              "requestHeaders": {
                "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/requestHeaders"
              },
              "resourceTypes": {
                "$ref": "#/definitions/ChaosConfig/properties/network/properties/failures/items/properties/resourceTypes"
              },
              "matcher": {}
            },
            "additionalProperties": false
          },
          "propertyNames": {
            "minLength": 1
          }
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
