{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Standard Dashboard Configuration",
    "description": "Schema for Chronosphere's standard dashboard configuration"
  },
  "components": {
    "schemas": {
      "TextVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "TextVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "display": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "hidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "value"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "TextVariable"
      },
      "LogsFieldValuesVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "LogsFieldValuesVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              }
            },
            "required": [
              "field"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "LogsFieldValuesVariable"
      },
      "PrometheusLabelNamesVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PrometheusLabelNamesVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "matchers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PrometheusLabelNamesVariable"
      },
      "PrometheusLabelValuesVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PrometheusLabelValuesVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "label_name": {
                "type": "string"
              },
              "matchers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "label_name"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PrometheusLabelValuesVariable"
      },
      "PrometheusPromQLVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PrometheusPromQLVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "expr": {
                "type": "string"
              },
              "label_name": {
                "type": "string"
              },
              "query_type": {
                "type": "string",
                "enum": [
                  "Instant",
                  "Range"
                ]
              }
            },
            "required": [
              "expr",
              "label_name"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PrometheusPromQLVariable"
      },
      "StaticListVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "StaticListVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "values": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "label",
                        "value"
                      ]
                    }
                  ]
                }
              }
            },
            "required": [
              "values"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "StaticListVariable"
      },
      "ListVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "ListVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "display": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "hidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              },
              "plugin": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LogsFieldValuesVariable"
                  },
                  {
                    "$ref": "#/components/schemas/PrometheusLabelNamesVariable"
                  },
                  {
                    "$ref": "#/components/schemas/PrometheusLabelValuesVariable"
                  },
                  {
                    "$ref": "#/components/schemas/PrometheusPromQLVariable"
                  },
                  {
                    "$ref": "#/components/schemas/StaticListVariable"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "LogsFieldValuesVariable": "#/components/schemas/LogsFieldValuesVariable",
                    "PrometheusLabelNamesVariable": "#/components/schemas/PrometheusLabelNamesVariable",
                    "PrometheusLabelValuesVariable": "#/components/schemas/PrometheusLabelValuesVariable",
                    "PrometheusPromQLVariable": "#/components/schemas/PrometheusPromQLVariable",
                    "StaticListVariable": "#/components/schemas/StaticListVariable"
                  }
                }
              },
              "default_value": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "allow_multiple": {
                "type": "boolean"
              },
              "allow_all_value": {
                "type": "boolean"
              },
              "custom_all_value": {
                "type": "string"
              },
              "capturing_regexp": {
                "type": "string"
              },
              "refresh": {
                "type": "string",
                "enum": [
                  "DashboardLoad",
                  "TimeRangeUpdate"
                ]
              },
              "sort": {
                "type": "string",
                "enum": [
                  "AlphabeticalAsc",
                  "AlphabeticalDesc",
                  "NumericalAsc",
                  "NumericalDesc"
                ]
              }
            },
            "required": [
              "name",
              "plugin"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "ListVariable"
      },
      "IntervalVariable": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "IntervalVariable"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "display": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "hidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              },
              "default_value": {
                "type": "string"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The list of interval options"
              },
              "auto": {
                "type": "boolean",
                "description": "Whether to include the the auto option"
              },
              "auto_min_interval": {
                "type": "string",
                "description": "The minimum interval to use when auto is enabled"
              },
              "auto_interval_size": {
                "type": "string",
                "enum": [
                  "Small",
                  "Medium",
                  "Large"
                ],
                "description": "The interval size to use when auto is enabled (Small, Medium, Large)"
              }
            },
            "required": [
              "name"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "IntervalVariable"
      },
      "ChronoActiveAlertsList": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "ChronoActiveAlertsList"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {}
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "ChronoActiveAlertsList"
      },
      "BitsUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Bits",
              "BitsPerSec"
            ]
          },
          "decimal_places": {
            "type": "number"
          },
          "abbreviate": {
            "type": "boolean"
          }
        },
        "required": [
          "kind"
        ],
        "title": "BitsUnitOptions"
      },
      "BytesUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Bytes",
              "BinaryBytes",
              "BytesPerSec",
              "BinaryBytesPerSec"
            ]
          },
          "decimal_places": {
            "type": "number"
          },
          "abbreviate": {
            "type": "boolean"
          }
        },
        "required": [
          "kind"
        ],
        "title": "BytesUnitOptions"
      },
      "CustomUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Custom"
            ]
          },
          "value": {
            "type": "string"
          },
          "decimal_places": {
            "type": "number"
          },
          "abbreviate": {
            "type": "boolean"
          }
        },
        "required": [
          "kind",
          "value"
        ],
        "title": "CustomUnitOptions"
      },
      "DecimalUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Decimal"
            ]
          },
          "decimal_places": {
            "type": [
              "number",
              "null"
            ]
          },
          "maximum_significant_digits": {
            "type": "number"
          },
          "abbreviate": {
            "type": "boolean"
          }
        },
        "required": [
          "kind"
        ],
        "title": "DecimalUnitOptions"
      },
      "PercentUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Percent",
              "PercentDecimal",
              "%"
            ]
          },
          "decimal_places": {
            "type": "number"
          }
        },
        "required": [
          "kind"
        ],
        "title": "PercentUnitOptions"
      },
      "TimeUnitOptions": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Nanoseconds",
              "Microseconds",
              "Milliseconds",
              "Seconds",
              "Minutes",
              "Hours",
              "Days",
              "Weeks",
              "Months",
              "Years"
            ]
          },
          "decimal_places": {
            "type": "number"
          }
        },
        "required": [
          "kind"
        ],
        "title": "TimeUnitOptions"
      },
      "BarChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "BarChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "calculation": {
                "type": "string",
                "enum": [
                  "First",
                  "Last",
                  "FirstNumber",
                  "LastNumber",
                  "Mean",
                  "Sum",
                  "Min",
                  "Max"
                ],
                "description": "DEPRECATED",
                "deprecated": true
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "sort": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc",
                  "default",
                  "series-name-asc",
                  "series-name-desc"
                ]
              },
              "mode": {
                "type": "string",
                "enum": [
                  "value",
                  "percentage"
                ]
              },
              "overrides": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object",
                      "properties": {
                        "line_width": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string",
                          "description": "Valid colors are hex, rgb, rgba, hsl, hsla"
                        },
                        "line_style": {
                          "type": "string",
                          "enum": [
                            "Dashed",
                            "Solid"
                          ],
                          "description": "Valid styles are Solid and Dashed"
                        },
                        "style": {
                          "type": "string",
                          "enum": [
                            "Dashed",
                            "Solid"
                          ],
                          "description": "Valid styles are Solid and Dashed"
                        }
                      }
                    },
                    "matcher": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "ByRegex",
                            "ByName"
                          ]
                        }
                      }
                    }
                  },
                  "required": [
                    "value",
                    "properties"
                  ]
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                }
              },
              "limit": {
                "type": "number",
                "description": "Maximum number of bars to display in the chart, defaults to 10,000 when not specified."
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "BarChart"
      },
      "DistributionChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "DistributionChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "percentile_markers": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "DistributionChart"
      },
      "External": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "External"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "content_width": {
                "type": "number"
              },
              "content_height": {
                "type": "number"
              }
            },
            "required": [
              "url"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "External"
      },
      "GaugeChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "GaugeChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "calculation": {
                "type": "string",
                "enum": [
                  "First",
                  "Last",
                  "FirstNumber",
                  "LastNumber",
                  "Mean",
                  "Sum",
                  "Min",
                  "Max"
                ],
                "description": "DEPRECATED",
                "deprecated": true
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        },
                        "show_value": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      },
                      "show_value": {
                        "type": "boolean"
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                }
              },
              "max": {
                "type": "number"
              },
              "mode": {
                "type": "string",
                "enum": [
                  "Gauge",
                  "Bar"
                ],
                "description": "Show as gauges or bars"
              },
              "sort": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc",
                  "default",
                  "series-name-asc",
                  "series-name-desc"
                ]
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "GaugeChart"
      },
      "HeatMap": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "HeatMap"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "legend": {
                "type": "object",
                "properties": {
                  "show": {
                    "type": "boolean",
                    "description": "if true, show the legend"
                  },
                  "position": {
                    "type": "string",
                    "enum": [
                      "Bottom",
                      "Right"
                    ],
                    "description": "placement of the legend"
                  }
                },
                "required": [
                  "show",
                  "position"
                ],
                "description": "legend-related options"
              },
              "color": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "number",
                    "default": 0,
                    "description": "value associated with the lower end of the color scale (defaults to 0)"
                  },
                  "max": {
                    "type": "number",
                    "description": "value associated with the upper end of the color scale (defaults to max value in the data set)"
                  },
                  "scale": {
                    "type": "string",
                    "enum": [
                      "turbo",
                      "viridis",
                      "inferno",
                      "greenBlue",
                      "orangeRed",
                      "greys",
                      "blues",
                      "greens",
                      "oranges",
                      "reds",
                      "cividis"
                    ],
                    "default": "orangeRed",
                    "description": "which color scale to use"
                  },
                  "invertScale": {
                    "type": "boolean",
                    "default": false,
                    "description": "reverses the color scale"
                  },
                  "hideZeros": {
                    "type": "boolean",
                    "default": true,
                    "description": "if true, leave 0-value / missing-value / negative-value cells empty"
                  }
                },
                "description": "color-related options"
              },
              "y_axis": {
                "type": "object",
                "properties": {
                  "show": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "string"
                  },
                  "unit": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/BitsUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/BytesUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/CustomUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/DecimalUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/PercentUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/TimeUnitOptions"
                      }
                    ],
                    "discriminator": {
                      "propertyName": "kind",
                      "mapping": {
                        "Bits": "#/components/schemas/BitsUnitOptions",
                        "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                        "Bytes": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                        "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "Custom": "#/components/schemas/CustomUnitOptions",
                        "Decimal": "#/components/schemas/DecimalUnitOptions",
                        "Percent": "#/components/schemas/PercentUnitOptions",
                        "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                        "%": "#/components/schemas/PercentUnitOptions",
                        "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                        "Microseconds": "#/components/schemas/TimeUnitOptions",
                        "Milliseconds": "#/components/schemas/TimeUnitOptions",
                        "Seconds": "#/components/schemas/TimeUnitOptions",
                        "Minutes": "#/components/schemas/TimeUnitOptions",
                        "Hours": "#/components/schemas/TimeUnitOptions",
                        "Days": "#/components/schemas/TimeUnitOptions",
                        "Weeks": "#/components/schemas/TimeUnitOptions",
                        "Months": "#/components/schemas/TimeUnitOptions",
                        "Years": "#/components/schemas/TimeUnitOptions"
                      }
                    }
                  },
                  "scale": {
                    "type": "string",
                    "enum": [
                      "Linear",
                      "Log10"
                    ]
                  }
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "HeatMap"
      },
      "TimeSeriesChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "TimeSeriesChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "legend": {
                "type": "object",
                "properties": {
                  "position": {
                    "type": "string",
                    "enum": [
                      "Bottom",
                      "Right"
                    ]
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "List",
                      "Table"
                    ]
                  },
                  "size": {
                    "type": "string",
                    "enum": [
                      "Small",
                      "Medium"
                    ]
                  },
                  "values": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "Mean",
                        "First",
                        "FirstNumber",
                        "Last",
                        "LastNumber",
                        "Min",
                        "Max",
                        "Sum"
                      ]
                    }
                  },
                  "sort": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sort_by": {
                          "type": "string"
                        },
                        "sort_order": {
                          "type": "string",
                          "enum": [
                            "Asc",
                            "Desc"
                          ]
                        }
                      },
                      "required": [
                        "sort_by",
                        "sort_order"
                      ]
                    }
                  }
                },
                "required": [
                  "position"
                ]
              },
              "y_axis": {
                "type": "object",
                "properties": {
                  "show": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "string"
                  },
                  "unit": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/BitsUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/BytesUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/CustomUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/DecimalUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/PercentUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/TimeUnitOptions"
                      }
                    ],
                    "discriminator": {
                      "propertyName": "kind",
                      "mapping": {
                        "Bits": "#/components/schemas/BitsUnitOptions",
                        "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                        "Bytes": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                        "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "Custom": "#/components/schemas/CustomUnitOptions",
                        "Decimal": "#/components/schemas/DecimalUnitOptions",
                        "Percent": "#/components/schemas/PercentUnitOptions",
                        "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                        "%": "#/components/schemas/PercentUnitOptions",
                        "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                        "Microseconds": "#/components/schemas/TimeUnitOptions",
                        "Milliseconds": "#/components/schemas/TimeUnitOptions",
                        "Seconds": "#/components/schemas/TimeUnitOptions",
                        "Minutes": "#/components/schemas/TimeUnitOptions",
                        "Hours": "#/components/schemas/TimeUnitOptions",
                        "Days": "#/components/schemas/TimeUnitOptions",
                        "Weeks": "#/components/schemas/TimeUnitOptions",
                        "Months": "#/components/schemas/TimeUnitOptions",
                        "Years": "#/components/schemas/TimeUnitOptions"
                      }
                    }
                  },
                  "min": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "max": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "splitNumber": {
                    "type": "number"
                  },
                  "scale": {
                    "type": "string",
                    "enum": [
                      "Linear",
                      "Log10",
                      "Log2"
                    ]
                  }
                }
              },
              "y_axis_right": {
                "type": "object",
                "properties": {
                  "show": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "string"
                  },
                  "unit": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/BitsUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/BytesUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/CustomUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/DecimalUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/PercentUnitOptions"
                      },
                      {
                        "$ref": "#/components/schemas/TimeUnitOptions"
                      }
                    ],
                    "discriminator": {
                      "propertyName": "kind",
                      "mapping": {
                        "Bits": "#/components/schemas/BitsUnitOptions",
                        "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                        "Bytes": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                        "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                        "Custom": "#/components/schemas/CustomUnitOptions",
                        "Decimal": "#/components/schemas/DecimalUnitOptions",
                        "Percent": "#/components/schemas/PercentUnitOptions",
                        "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                        "%": "#/components/schemas/PercentUnitOptions",
                        "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                        "Microseconds": "#/components/schemas/TimeUnitOptions",
                        "Milliseconds": "#/components/schemas/TimeUnitOptions",
                        "Seconds": "#/components/schemas/TimeUnitOptions",
                        "Minutes": "#/components/schemas/TimeUnitOptions",
                        "Hours": "#/components/schemas/TimeUnitOptions",
                        "Days": "#/components/schemas/TimeUnitOptions",
                        "Weeks": "#/components/schemas/TimeUnitOptions",
                        "Months": "#/components/schemas/TimeUnitOptions",
                        "Years": "#/components/schemas/TimeUnitOptions"
                      }
                    }
                  },
                  "min": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "max": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "splitNumber": {
                    "type": "number"
                  },
                  "scale": {
                    "type": "string",
                    "enum": [
                      "Linear",
                      "Log10",
                      "Log2"
                    ]
                  }
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        },
                        "area_opacity": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "tooltip_description": {
                          "type": "string"
                        },
                        "tooltip_title": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      },
                      "area_opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "tooltip_description": {
                        "type": "string"
                      },
                      "tooltip_title": {
                        "type": "string"
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  },
                  "scale_axis": {
                    "type": "boolean"
                  }
                }
              },
              "visual": {
                "type": "object",
                "properties": {
                  "display": {
                    "type": "string",
                    "enum": [
                      "line",
                      "bar"
                    ]
                  },
                  "line_width": {
                    "type": "number"
                  },
                  "area_opacity": {
                    "type": "number"
                  },
                  "show_points": {
                    "type": "string",
                    "enum": [
                      "Always",
                      "Never"
                    ]
                  },
                  "colorPalette": {
                    "type": "string",
                    "enum": [
                      "Categorical",
                      "CategoricalNoStatusColors",
                      "Consistent"
                    ],
                    "description": "The kind of color palette to use. Categorical means we use just cycle through the color based on the series index. Consistent means we assign color by the series name and attempt to assign the same color across panels."
                  },
                  "point_radius": {
                    "type": "number",
                    "description": "DEPRECATED",
                    "deprecated": true
                  },
                  "stack": {
                    "type": "string",
                    "enum": [
                      "None",
                      "All",
                      "Percent"
                    ]
                  },
                  "connect_nulls": {
                    "type": "boolean",
                    "description": "DEPRECATED: Please use null_behvavior instead.",
                    "deprecated": true
                  },
                  "null_behavior": {
                    "type": "string",
                    "enum": [
                      "Connected",
                      "NullAsZero"
                    ]
                  }
                }
              },
              "tooltip": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "nearby"
                    ]
                  },
                  "enable_pinning": {
                    "type": "boolean"
                  },
                  "sort": {
                    "type": "string",
                    "enum": [
                      "None",
                      "Descending"
                    ]
                  }
                }
              },
              "overrides": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object",
                      "properties": {
                        "y_axis": {
                          "type": "string",
                          "enum": [
                            "left",
                            "right"
                          ]
                        },
                        "line_width": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string",
                          "description": "Valid colors are hex, rgb, rgba, hsl, hsla"
                        },
                        "line_style": {
                          "type": "string",
                          "enum": [
                            "Dashed",
                            "Solid"
                          ],
                          "description": "Valid styles are Solid and Dashed"
                        },
                        "style": {
                          "type": "string",
                          "enum": [
                            "Dashed",
                            "Solid"
                          ],
                          "description": "Valid styles are Solid and Dashed"
                        }
                      }
                    },
                    "matcher": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "ByRegex",
                            "ByName"
                          ]
                        }
                      }
                    }
                  },
                  "required": [
                    "value",
                    "properties"
                  ]
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "TimeSeriesChart"
      },
      "Table": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Table"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "transform": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "enum": [
                          "Aggregation"
                        ]
                      },
                      "labelsToColumns": {
                        "type": "boolean"
                      },
                      "stats": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "First",
                            "Last",
                            "FirstNumber",
                            "LastNumber",
                            "Mean",
                            "Sum",
                            "Min",
                            "Max"
                          ]
                        }
                      }
                    },
                    "required": [
                      "kind"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "enum": [
                          "SeriesToColumns"
                        ]
                      }
                    },
                    "required": [
                      "kind"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "enum": [
                          "Raw"
                        ]
                      },
                      "labelsToColumns": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "kind"
                    ]
                  }
                ]
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "height": {
                "type": "number"
              },
              "sort": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "sortBy": {
                      "type": "string"
                    },
                    "sortOrder": {
                      "type": "string",
                      "enum": [
                        "asc",
                        "desc",
                        "default"
                      ]
                    }
                  }
                }
              },
              "columnOverrides": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object",
                      "properties": {
                        "displayName": {
                          "type": "string"
                        },
                        "hidden": {
                          "type": "boolean"
                        },
                        "width": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "format": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "enum": [
                                    "Number"
                                  ]
                                },
                                "thresholds": {
                                  "type": "object",
                                  "properties": {
                                    "mode": {
                                      "type": "string",
                                      "enum": [
                                        "Percent",
                                        "Absolute"
                                      ]
                                    },
                                    "max": {
                                      "type": "number"
                                    },
                                    "steps": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "value": {
                                            "type": "number"
                                          },
                                          "color": {
                                            "type": "string"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string",
                                            "enum": [
                                              "GreaterThanOrEqual",
                                              "Equal"
                                            ]
                                          },
                                          "background_color": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "value"
                                        ]
                                      }
                                    },
                                    "base": {
                                      "type": "object",
                                      "properties": {
                                        "color": {
                                          "type": "string"
                                        },
                                        "name": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string",
                                          "enum": [
                                            "GreaterThanOrEqual",
                                            "Equal"
                                          ]
                                        },
                                        "background_color": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "default_color": {
                                      "type": "string",
                                      "description": "DEPRECATED: Please use base.color instead"
                                    }
                                  }
                                },
                                "unit": {
                                  "oneOf": [
                                    {
                                      "$ref": "#/components/schemas/BitsUnitOptions"
                                    },
                                    {
                                      "$ref": "#/components/schemas/BytesUnitOptions"
                                    },
                                    {
                                      "$ref": "#/components/schemas/CustomUnitOptions"
                                    },
                                    {
                                      "$ref": "#/components/schemas/DecimalUnitOptions"
                                    },
                                    {
                                      "$ref": "#/components/schemas/PercentUnitOptions"
                                    },
                                    {
                                      "$ref": "#/components/schemas/TimeUnitOptions"
                                    }
                                  ],
                                  "discriminator": {
                                    "propertyName": "kind",
                                    "mapping": {
                                      "Bits": "#/components/schemas/BitsUnitOptions",
                                      "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                                      "Bytes": "#/components/schemas/BytesUnitOptions",
                                      "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                                      "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                                      "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                                      "Custom": "#/components/schemas/CustomUnitOptions",
                                      "Decimal": "#/components/schemas/DecimalUnitOptions",
                                      "Percent": "#/components/schemas/PercentUnitOptions",
                                      "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                                      "%": "#/components/schemas/PercentUnitOptions",
                                      "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                                      "Microseconds": "#/components/schemas/TimeUnitOptions",
                                      "Milliseconds": "#/components/schemas/TimeUnitOptions",
                                      "Seconds": "#/components/schemas/TimeUnitOptions",
                                      "Minutes": "#/components/schemas/TimeUnitOptions",
                                      "Hours": "#/components/schemas/TimeUnitOptions",
                                      "Days": "#/components/schemas/TimeUnitOptions",
                                      "Weeks": "#/components/schemas/TimeUnitOptions",
                                      "Months": "#/components/schemas/TimeUnitOptions",
                                      "Years": "#/components/schemas/TimeUnitOptions"
                                    }
                                  }
                                }
                              },
                              "required": [
                                "kind"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "enum": [
                                    "String"
                                  ]
                                },
                                "overrides": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string"
                                      },
                                      "properties": {
                                        "type": "object",
                                        "properties": {
                                          "color": {
                                            "type": "string"
                                          },
                                          "background_color": {
                                            "type": "string"
                                          },
                                          "name": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "matcher": {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "ByRegex",
                                              "ByName"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    "required": [
                                      "value",
                                      "properties"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "kind"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "enum": [
                                    "Time"
                                  ]
                                }
                              },
                              "required": [
                                "kind"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "matcher": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "ByRegex",
                            "ByName"
                          ]
                        }
                      }
                    }
                  },
                  "required": [
                    "value",
                    "properties"
                  ]
                }
              },
              "column_order": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        },
                        "background_color": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      },
                      "background_color": {
                        "type": "string"
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "Table"
      },
      "Markdown": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Markdown"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "Markdown"
      },
      "NodeGraph": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "NodeGraph"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                }
              },
              "from_label": {
                "type": "string"
              },
              "to_label": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "NodeGraph"
      },
      "ChronoServiceTopology": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "ChronoServiceTopology"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "spanFilters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "service": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "Variable",
                            "Static"
                          ]
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ]
                    },
                    "operation": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "Variable",
                            "Static"
                          ]
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ]
                    }
                  },
                  "required": [
                    "service",
                    "operation"
                  ]
                }
              }
            },
            "required": [
              "spanFilters"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "ChronoServiceTopology"
      },
      "StatChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "StatChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "calculation": {
                "type": "string",
                "enum": [
                  "First",
                  "Last",
                  "FirstNumber",
                  "LastNumber",
                  "Mean",
                  "Sum",
                  "Min",
                  "Max"
                ],
                "description": "DEPRECATED",
                "deprecated": true
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        },
                        "show_value": {
                          "type": "boolean"
                        },
                        "background_color": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      },
                      "show_value": {
                        "type": "boolean"
                      },
                      "background_color": {
                        "type": "string"
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                }
              },
              "sparkline": {
                "type": "object",
                "properties": {
                  "color": {
                    "type": "string"
                  },
                  "width": {
                    "type": "number"
                  },
                  "show_thresholds": {
                    "type": "boolean"
                  }
                }
              },
              "value_font_size": {
                "type": "number"
              },
              "series_name_font_size": {
                "type": "number"
              },
              "message_font_size": {
                "type": "number"
              },
              "show_series_name": {
                "type": "string",
                "enum": [
                  "Auto",
                  "Always",
                  "Never"
                ]
              },
              "sort": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc",
                  "default",
                  "series-name-asc",
                  "series-name-desc"
                ]
              }
            },
            "required": [
              "unit"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "StatChart"
      },
      "PieChart": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PieChart"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "legend": {
                "type": "object",
                "properties": {
                  "position": {
                    "type": "string",
                    "enum": [
                      "Bottom",
                      "Right"
                    ]
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "List",
                      "Table"
                    ]
                  },
                  "size": {
                    "type": "string",
                    "enum": [
                      "Small",
                      "Medium"
                    ]
                  },
                  "values": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "Mean",
                        "First",
                        "FirstNumber",
                        "Last",
                        "LastNumber",
                        "Min",
                        "Max",
                        "Sum"
                      ]
                    }
                  },
                  "sort": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sort_by": {
                          "type": "string"
                        },
                        "sort_order": {
                          "type": "string",
                          "enum": [
                            "Asc",
                            "Desc"
                          ]
                        }
                      },
                      "required": [
                        "sort_by",
                        "sort_order"
                      ]
                    }
                  }
                },
                "required": [
                  "position"
                ]
              },
              "visual": {
                "type": "object",
                "properties": {
                  "display": {
                    "type": "string",
                    "enum": [
                      "Default",
                      "Donut"
                    ]
                  },
                  "show_series_name": {
                    "type": "boolean"
                  },
                  "color_palette": {
                    "type": "string",
                    "enum": [
                      "Categorical",
                      "CategoricalNoErrorColors",
                      "CategoricalNoStatusColors",
                      "Consistent"
                    ],
                    "description": "The kind of color palette to use. Categorical means we use just cycle through the color based on the series index. Consistent means we assign color by the series name and attempt to assign the same color across panels."
                  }
                }
              },
              "label_format": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "Percent",
                    "Value"
                  ]
                }
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                }
              },
              "percent_decimal_places": {
                "type": "number"
              },
              "aggregation_percent": {
                "type": "number"
              },
              "overrides": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object",
                      "properties": {
                        "color": {
                          "type": "string",
                          "description": "Valid colors are hex, rgb, rgba, hsl, hsla"
                        }
                      }
                    },
                    "matcher": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "ByRegex",
                            "ByName"
                          ]
                        }
                      }
                    }
                  },
                  "required": [
                    "value",
                    "properties"
                  ]
                }
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PieChart"
      },
      "StatusHistory": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "StatusHistory"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "color_mode": {
                "type": "string",
                "enum": [
                  "ByValue",
                  "ByLabel"
                ]
              },
              "unit": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BitsUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/BytesUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/CustomUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/DecimalUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/PercentUnitOptions"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnitOptions"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "Bits": "#/components/schemas/BitsUnitOptions",
                    "BitsPerSec": "#/components/schemas/BitsUnitOptions",
                    "Bytes": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytes": "#/components/schemas/BytesUnitOptions",
                    "BytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "BinaryBytesPerSec": "#/components/schemas/BytesUnitOptions",
                    "Custom": "#/components/schemas/CustomUnitOptions",
                    "Decimal": "#/components/schemas/DecimalUnitOptions",
                    "Percent": "#/components/schemas/PercentUnitOptions",
                    "PercentDecimal": "#/components/schemas/PercentUnitOptions",
                    "%": "#/components/schemas/PercentUnitOptions",
                    "Nanoseconds": "#/components/schemas/TimeUnitOptions",
                    "Microseconds": "#/components/schemas/TimeUnitOptions",
                    "Milliseconds": "#/components/schemas/TimeUnitOptions",
                    "Seconds": "#/components/schemas/TimeUnitOptions",
                    "Minutes": "#/components/schemas/TimeUnitOptions",
                    "Hours": "#/components/schemas/TimeUnitOptions",
                    "Days": "#/components/schemas/TimeUnitOptions",
                    "Weeks": "#/components/schemas/TimeUnitOptions",
                    "Months": "#/components/schemas/TimeUnitOptions",
                    "Years": "#/components/schemas/TimeUnitOptions"
                  }
                },
                "default": {
                  "kind": "Decimal"
                }
              },
              "thresholds": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "Percent",
                      "Absolute"
                    ]
                  },
                  "max": {
                    "type": "number"
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string",
                          "enum": [
                            "GreaterThanOrEqual",
                            "Equal"
                          ]
                        }
                      },
                      "required": [
                        "value"
                      ]
                    }
                  },
                  "base": {
                    "type": "object",
                    "properties": {
                      "color": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "GreaterThanOrEqual",
                          "Equal"
                        ]
                      }
                    }
                  },
                  "default_color": {
                    "type": "string",
                    "description": "DEPRECATED: Please use base.color instead",
                    "deprecated": true
                  }
                },
                "default": {}
              },
              "visual": {
                "type": "object",
                "properties": {
                  "density": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 10,
                    "default": 4
                  }
                },
                "default": {
                  "density": 4
                }
              },
              "label_grouping": {
                "type": "object",
                "properties": {
                  "color_by": {
                    "type": "string"
                  },
                  "color_mapping": {
                    "type": "object",
                    "properties": {
                      "mappings": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "label_value": {
                              "type": "string"
                            },
                            "color": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "label_value"
                          ]
                        }
                      },
                      "base": {
                        "type": "object",
                        "properties": {
                          "color": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "color"
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "color_by"
                ]
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "StatusHistory"
      },
      "SloStat": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "SloStat"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "slo_id": {
                "type": "string"
              },
              "filters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "operator": {
                      "type": "string",
                      "enum": [
                        "=",
                        "!=",
                        "=~",
                        "!~"
                      ]
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "operator",
                    "value"
                  ]
                }
              },
              "visualization": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "rolling_window"
                        ]
                      },
                      "duration": {
                        "type": "string",
                        "pattern": "^(\\d+)(ms|s|m|h|d|w|y)$"
                      }
                    },
                    "required": [
                      "type",
                      "duration"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "dashboard_time"
                        ]
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              },
              "decimal_places": {
                "type": "integer",
                "minimum": 0,
                "maximum": 5
              },
              "display": {
                "type": "object",
                "properties": {
                  "show_error_budget": {
                    "type": "boolean"
                  },
                  "show_target": {
                    "type": "boolean"
                  },
                  "show_spark_line": {
                    "type": "boolean"
                  }
                }
              }
            },
            "required": [
              "slo_id"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "SloStat"
      },
      "Formula": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Formula"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "expression": {
                "type": "string",
                "description": "A math expression that references other queries, e.g. (a / b) * 100"
              },
              "alias": {
                "type": "string",
                "description": "Optional alias of the formula"
              },
              "disabled": {
                "type": "boolean"
              }
            },
            "required": [
              "expression"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "Formula"
      },
      "QueryThreshold": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          }
        },
        "title": "QueryThreshold"
      },
      "ChangeEventsDataQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "ChangeEventsDataQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "group_by": {
                "type": "string",
                "description": "Determines how the events are grouped"
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "ChangeEventsDataQuery"
      },
      "LogsDataQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "LogsDataQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "include_long_term_storage": {
                "type": "boolean"
              },
              "series_name": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Labels"
                        ]
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Regex"
                        ]
                      },
                      "regex": {
                        "type": "string"
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              },
              "reducer": {
                "type": "string",
                "enum": [
                  "First",
                  "Last",
                  "Avg",
                  "Sum",
                  "Min",
                  "Max"
                ]
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "LogsDataQuery"
      },
      "PrometheusTimeSeriesQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PrometheusTimeSeriesQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "series_name_format": {
                "type": "string"
              },
              "series_name": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Labels"
                        ]
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Regex"
                        ]
                      },
                      "regex": {
                        "type": "string"
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              },
              "min_step": {
                "type": "string"
              },
              "resolution": {
                "type": "number"
              },
              "disable_duplicate_series_notice": {
                "type": "boolean"
              },
              "queryType": {
                "type": "string",
                "enum": [
                  "Instant",
                  "Range"
                ]
              },
              "reducer": {
                "type": "string",
                "enum": [
                  "First",
                  "Last",
                  "FirstNumber",
                  "LastNumber",
                  "Avg",
                  "Sum",
                  "Min",
                  "Max"
                ]
              },
              "truncation_strategy": {
                "type": "string",
                "enum": [
                  "Off",
                  "Max",
                  "Min",
                  "Avg"
                ]
              },
              "downsampling_strategy": {
                "type": "string",
                "enum": [
                  "Avg",
                  "Sum",
                  "Min",
                  "Max",
                  "LTTB"
                ]
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PrometheusTimeSeriesQuery"
      },
      "GraphiteTimeSeriesQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "GraphiteTimeSeriesQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "GraphiteTimeSeriesQuery"
      },
      "TraceQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "TraceQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "data_source": {
                "type": "string",
                "enum": [
                  "Traces",
                  "Statistics",
                  "Tags",
                  "TagsComparison",
                  "Topology"
                ]
              }
            },
            "required": [
              "query",
              "data_source"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "TraceQuery"
      },
      "MonitorDataQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "MonitorDataQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string"
              },
              "datasource": {
                "type": "string",
                "enum": [
                  "GRAPHITE",
                  "LOGGING",
                  "PROMETHEUS"
                ]
              },
              "alert_state": {
                "type": "string",
                "enum": [
                  "CRITICAL",
                  "DOWNTIMED",
                  "FIRING",
                  "INACTIVE",
                  "PASS",
                  "PENDING",
                  "UNKNOWN",
                  "WARNING",
                  ""
                ]
              },
              "signal": {
                "type": "string"
              },
              "query": {
                "type": "string"
              },
              "include_thresholds": {
                "type": "boolean"
              }
            },
            "required": [
              "slug",
              "datasource",
              "signal"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "MonitorDataQuery"
      },
      "SloDataQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "SloDataQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "slo_slug": {
                "type": "string"
              },
              "series": {
                "type": "string",
                "enum": [
                  "Availability",
                  "Errors",
                  "Total"
                ]
              },
              "filters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "operator": {
                      "type": "string",
                      "enum": [
                        "=",
                        "!="
                      ]
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "operator",
                    "value"
                  ]
                }
              },
              "series_name": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Labels"
                        ]
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Regex"
                        ]
                      },
                      "regex": {
                        "type": "string"
                      },
                      "name_pattern": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              },
              "query": {
                "type": "string"
              }
            },
            "required": [
              "slo_slug",
              "series"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "SloDataQuery"
      },
      "DataQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "DataQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "alias": {
                "type": "string"
              },
              "disabled": {
                "type": "boolean"
              },
              "threshold": {
                "$ref": "#/components/schemas/QueryThreshold"
              },
              "plugin": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ChangeEventsDataQuery"
                  },
                  {
                    "$ref": "#/components/schemas/LogsDataQuery"
                  },
                  {
                    "$ref": "#/components/schemas/PrometheusTimeSeriesQuery"
                  },
                  {
                    "$ref": "#/components/schemas/GraphiteTimeSeriesQuery"
                  },
                  {
                    "$ref": "#/components/schemas/TraceQuery"
                  },
                  {
                    "$ref": "#/components/schemas/MonitorDataQuery"
                  },
                  {
                    "$ref": "#/components/schemas/SloDataQuery"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "ChangeEventsDataQuery": "#/components/schemas/ChangeEventsDataQuery",
                    "LogsDataQuery": "#/components/schemas/LogsDataQuery",
                    "PrometheusTimeSeriesQuery": "#/components/schemas/PrometheusTimeSeriesQuery",
                    "GraphiteTimeSeriesQuery": "#/components/schemas/GraphiteTimeSeriesQuery",
                    "TraceQuery": "#/components/schemas/TraceQuery",
                    "MonitorDataQuery": "#/components/schemas/MonitorDataQuery",
                    "SloDataQuery": "#/components/schemas/SloDataQuery"
                  }
                }
              }
            },
            "required": [
              "plugin"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "DataQuery"
      },
      "ContextLink": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "ContextLink"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "ContextLink"
      },
      "Panel": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Panel"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "display": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              },
              "plugin": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ChronoActiveAlertsList"
                  },
                  {
                    "$ref": "#/components/schemas/BarChart"
                  },
                  {
                    "$ref": "#/components/schemas/DistributionChart"
                  },
                  {
                    "$ref": "#/components/schemas/External"
                  },
                  {
                    "$ref": "#/components/schemas/GaugeChart"
                  },
                  {
                    "$ref": "#/components/schemas/HeatMap"
                  },
                  {
                    "$ref": "#/components/schemas/TimeSeriesChart"
                  },
                  {
                    "$ref": "#/components/schemas/Table"
                  },
                  {
                    "$ref": "#/components/schemas/Markdown"
                  },
                  {
                    "$ref": "#/components/schemas/NodeGraph"
                  },
                  {
                    "$ref": "#/components/schemas/ChronoServiceTopology"
                  },
                  {
                    "$ref": "#/components/schemas/StatChart"
                  },
                  {
                    "$ref": "#/components/schemas/PieChart"
                  },
                  {
                    "$ref": "#/components/schemas/StatusHistory"
                  },
                  {
                    "$ref": "#/components/schemas/SloStat"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "ChronoActiveAlertsList": "#/components/schemas/ChronoActiveAlertsList",
                    "BarChart": "#/components/schemas/BarChart",
                    "DistributionChart": "#/components/schemas/DistributionChart",
                    "External": "#/components/schemas/External",
                    "GaugeChart": "#/components/schemas/GaugeChart",
                    "HeatMap": "#/components/schemas/HeatMap",
                    "TimeSeriesChart": "#/components/schemas/TimeSeriesChart",
                    "Table": "#/components/schemas/Table",
                    "Markdown": "#/components/schemas/Markdown",
                    "NodeGraph": "#/components/schemas/NodeGraph",
                    "ChronoServiceTopology": "#/components/schemas/ChronoServiceTopology",
                    "StatChart": "#/components/schemas/StatChart",
                    "PieChart": "#/components/schemas/PieChart",
                    "StatusHistory": "#/components/schemas/StatusHistory",
                    "SloStat": "#/components/schemas/SloStat"
                  }
                }
              },
              "formulas": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Formula"
                }
              },
              "queries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DataQuery"
                }
              },
              "query_options": {
                "type": "object",
                "properties": {
                  "resolution": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "Low",
                          "Medium",
                          "High"
                        ]
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "time": {
                    "type": "object",
                    "properties": {
                      "options": {
                        "type": "string",
                        "enum": [
                          "default",
                          "monthly"
                        ]
                      },
                      "start": {
                        "type": "string"
                      },
                      "end": {
                        "type": "string"
                      }
                    }
                  },
                  "snapshot_id": {
                    "type": "string"
                  }
                }
              },
              "links": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContextLink"
                }
              }
            },
            "required": [
              "display",
              "plugin"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "Panel"
      },
      "Grid": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Grid"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "display": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "collapse": {
                    "type": "object",
                    "properties": {
                      "open": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "open"
                    ]
                  }
                },
                "required": [
                  "title"
                ]
              },
              "split_by": {
                "type": "object",
                "properties": {
                  "variable": {
                    "type": "string"
                  }
                },
                "required": [
                  "variable"
                ]
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    },
                    "content": {
                      "type": "object",
                      "properties": {
                        "$ref": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "$ref"
                      ]
                    }
                  },
                  "required": [
                    "width",
                    "height",
                    "x",
                    "y",
                    "content"
                  ]
                }
              }
            },
            "required": [
              "items"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "Grid"
      },
      "SplitPanel": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "SplitPanel"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "display": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "collapse": {
                    "type": "object",
                    "properties": {
                      "open": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "open"
                    ]
                  }
                },
                "required": [
                  "title"
                ]
              },
              "split_by": {
                "type": "object",
                "properties": {
                  "variable": {
                    "type": "string"
                  }
                },
                "required": [
                  "variable"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "$ref": {
                    "type": "string"
                  }
                },
                "required": [
                  "$ref"
                ]
              }
            },
            "required": [
              "content"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "SplitPanel"
      },
      "TabItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "display": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              }
            },
            "required": [
              "title"
            ]
          },
          "layouts": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Grid"
                },
                {
                  "$ref": "#/components/schemas/SplitPanel"
                }
              ],
              "discriminator": {
                "propertyName": "kind",
                "mapping": {
                  "Grid": "#/components/schemas/Grid",
                  "SplitPanel": "#/components/schemas/SplitPanel"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "display",
          "layouts"
        ],
        "title": "TabItem"
      },
      "TabGroup": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "TabGroup"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "orientation": {
                "type": "string",
                "enum": [
                  "Horizontal",
                  "Vertical"
                ]
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TabItem"
                }
              }
            },
            "required": [
              "items"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "TabGroup"
      },
      "PrometheusEventQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "PrometheusEventQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "title_format": {
                "type": "string"
              },
              "min_step": {
                "type": "string"
              },
              "step": {
                "type": "string"
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "PrometheusEventQuery"
      },
      "TimelineEventQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "TimelineEventQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "TimelineEventQuery"
      },
      "AnnotationEventQuery": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "AnnotationEventQuery"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "color": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "AnnotationEventQuery"
      },
      "QueryEvent": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "QueryEvent"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "display": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "hidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              },
              "enabled": {
                "type": "boolean"
              },
              "plugin": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PrometheusEventQuery"
                  },
                  {
                    "$ref": "#/components/schemas/TimelineEventQuery"
                  },
                  {
                    "$ref": "#/components/schemas/AnnotationEventQuery"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "PrometheusEventQuery": "#/components/schemas/PrometheusEventQuery",
                    "TimelineEventQuery": "#/components/schemas/TimelineEventQuery",
                    "AnnotationEventQuery": "#/components/schemas/AnnotationEventQuery"
                  }
                }
              }
            },
            "required": [
              "name",
              "plugin"
            ]
          }
        },
        "required": [
          "kind",
          "spec"
        ],
        "title": "QueryEvent"
      },
      "Dashboard": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "Dashboard"
            ]
          },
          "spec": {
            "type": "object",
            "properties": {
              "variables": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TextVariable"
                    },
                    {
                      "$ref": "#/components/schemas/ListVariable"
                    },
                    {
                      "$ref": "#/components/schemas/IntervalVariable"
                    }
                  ],
                  "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                      "TextVariable": "#/components/schemas/TextVariable",
                      "ListVariable": "#/components/schemas/ListVariable",
                      "IntervalVariable": "#/components/schemas/IntervalVariable"
                    }
                  }
                }
              },
              "panels": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/Panel"
                }
              },
              "layouts": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Grid"
                    },
                    {
                      "$ref": "#/components/schemas/SplitPanel"
                    },
                    {
                      "$ref": "#/components/schemas/TabGroup"
                    }
                  ],
                  "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                      "Grid": "#/components/schemas/Grid",
                      "SplitPanel": "#/components/schemas/SplitPanel",
                      "TabGroup": "#/components/schemas/TabGroup"
                    }
                  }
                }
              },
              "events": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QueryEvent"
                }
              },
              "duration": {
                "type": "string"
              },
              "refreshInterval": {
                "type": "string",
                "description": "DEPRECATED",
                "deprecated": true
              },
              "saved_views": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "SavedViews"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "views": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "enum": [
                                "SavedView"
                              ]
                            },
                            "spec": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "variable_values": {
                                  "type": "object",
                                  "additionalProperties": {
                                    "anyOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        }
                                      },
                                      {
                                        "type": "null"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "name",
                                "variable_values"
                              ]
                            }
                          },
                          "required": [
                            "kind",
                            "spec"
                          ]
                        }
                      },
                      "default_view_name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "views"
                    ]
                  }
                },
                "required": [
                  "kind",
                  "spec"
                ]
              },
              "general": {
                "type": "object",
                "properties": {
                  "logs": {
                    "type": "object",
                    "properties": {
                      "storage_tiers": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "Hot",
                            "LongTerm"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            },
            "required": [
              "variables",
              "panels",
              "layouts"
            ]
          },
          "spec_version": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "spec",
          "spec_version"
        ]
      }
    },
    "parameters": {}
  },
  "paths": {},
  "webhooks": {}
}