{
    "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"
            },
            "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",
                                    "Avg",
                                    "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"
                                                }
                                            },
                                            "required": [
                                                "value"
                                            ]
                                        }
                                    },
                                    "base": {
                                        "type": "object",
                                        "properties": {
                                            "color": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "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",
                                    "Avg",
                                    "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"
                                                },
                                                "show_value": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "value"
                                            ]
                                        }
                                    },
                                    "base": {
                                        "type": "object",
                                        "properties": {
                                            "color": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "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": [
                                            "Ordinal",
                                            "Linear",
                                            "Log10",
                                            "Log2"
                                        ],
                                        "description": "Y-axis scale; leave unset for Auto selection from bucket encoding and value domain"
                                    },
                                    "bounds": {
                                        "oneOf": [
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "mode": {
                                                        "type": "string",
                                                        "enum": [
                                                            "Value"
                                                        ],
                                                        "description": "Interpret bounds as raw Y-axis values"
                                                    },
                                                    "min": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ],
                                                        "description": "Y-axis lower bound in raw axis units"
                                                    },
                                                    "max": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ],
                                                        "description": "Y-axis upper bound in raw axis units"
                                                    }
                                                },
                                                "required": [
                                                    "mode"
                                                ]
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "mode": {
                                                        "type": "string",
                                                        "enum": [
                                                            "Percentile"
                                                        ],
                                                        "description": "Interpret bounds as percentile ranks over histogram sample counts"
                                                    },
                                                    "min": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ],
                                                        "minimum": 0,
                                                        "maximum": 100,
                                                        "description": "Lower percentile rank from 0 to 100"
                                                    },
                                                    "max": {
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ],
                                                        "minimum": 0,
                                                        "maximum": 100,
                                                        "description": "Upper percentile rank from 0 to 100"
                                                    }
                                                },
                                                "required": [
                                                    "mode"
                                                ]
                                            }
                                        ],
                                        "description": "Optional Y-axis trim; omit to use the complete data-derived extent"
                                    }
                                }
                            }
                        }
                    }
                },
                "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": [
                                                "Avg",
                                                "Mean",
                                                "First",
                                                "FirstNumber",
                                                "Last",
                                                "LastNumber",
                                                "Min",
                                                "Max",
                                                "Sum"
                                            ],
                                            "description": "A calculation applied to a series' values. Prefer `Avg`; `Mean` is a deprecated synonym for it that stays valid in existing dashboards."
                                        },
                                        "description": "The calculations shown for each series, in the order given. A `List` legend displays at most 2; a `Table` legend has no limit."
                                    },
                                    "sort": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "sort_by": {
                                                    "type": "string",
                                                    "description": "The calculation to sort by. Must be one of the calculations listed in the legend's `values`."
                                                },
                                                "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"
                                        ]
                                    },
                                    "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"
                                        ]
                                    },
                                    "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"
                                                },
                                                "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"
                                            },
                                            "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",
                                                "description": "Add a column per label. Otherwise a single series-name column is shown."
                                            },
                                            "stats": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "enum": [
                                                        "First",
                                                        "Last",
                                                        "FirstNumber",
                                                        "LastNumber",
                                                        "Avg",
                                                        "Mean",
                                                        "Sum",
                                                        "Min",
                                                        "Max"
                                                    ]
                                                },
                                                "description": "One column per calculation, computed in the browser over the range-query samples of each series."
                                            }
                                        },
                                        "required": [
                                            "kind"
                                        ],
                                        "description": "Legacy: one row per series with a column per calculation in `stats`. The equivalent without `transform` is `queryType: \"Range\"` plus `reducer` on the query."
                                    },
                                    {
                                        "type": "object",
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "enum": [
                                                    "SeriesToColumns"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "kind"
                                        ],
                                        "description": "Legacy: one row per timestamp and one column per series."
                                    },
                                    {
                                        "type": "object",
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "enum": [
                                                    "Raw"
                                                ]
                                            },
                                            "labelsToColumns": {
                                                "type": "boolean",
                                                "description": "Add a column per label of the selected series."
                                            }
                                        },
                                        "required": [
                                            "kind"
                                        ],
                                        "description": "Legacy: every sample of one series as rows."
                                    }
                                ],
                                "description": "DEPRECATED: Omit this field. When it is set the panel requests raw time series and reshapes them in the browser instead of rendering the tabular query result, and the column ids become calculation names.",
                                "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"
                                    }
                                },
                                "description": "Default unit for numeric columns. A `Number` column override can replace it per column."
                            },
                            "height": {
                                "type": "number"
                            },
                            "sort": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "sortBy": {
                                            "type": "string",
                                            "description": "Column id to sort by: a label name, `Value` (or the query `alias`) for the value column, or the projected field names of a log or event query. With the deprecated `transform` the ids are the calculation names instead (`Max`, `Mean`, ...)."
                                        },
                                        "sortOrder": {
                                            "type": "string",
                                            "enum": [
                                                "asc",
                                                "desc",
                                                "default"
                                            ],
                                            "description": "`default` clears the sort."
                                        }
                                    }
                                },
                                "description": "Client-side sort applied to the rows the queries return."
                            },
                            "columnOverrides": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "value": {
                                            "type": "string"
                                        },
                                        "properties": {
                                            "type": "object",
                                            "properties": {
                                                "displayName": {
                                                    "type": "string",
                                                    "description": "Column header shown instead of the column id."
                                                },
                                                "hidden": {
                                                    "type": "boolean",
                                                    "description": "Hide the column."
                                                },
                                                "width": {
                                                    "type": [
                                                        "number",
                                                        "null"
                                                    ],
                                                    "description": "Column width in pixels."
                                                },
                                                "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"
                                                                                    },
                                                                                    "background_color": {
                                                                                        "type": "string"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "value"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "base": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "color": {
                                                                                    "type": "string"
                                                                                },
                                                                                "name": {
                                                                                    "type": "string"
                                                                                },
                                                                                "background_color": {
                                                                                    "type": "string"
                                                                                }
                                                                            }
                                                                        },
                                                                        "default_color": {
                                                                            "type": "string",
                                                                            "description": "DEPRECATED: Please use base.color instead"
                                                                        }
                                                                    },
                                                                    "description": "Color the cells of this column by value. Overrides the panel-level thresholds for this column."
                                                                },
                                                                "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"
                                                                        }
                                                                    },
                                                                    "description": "Unit for this column. Overrides the panel-level unit."
                                                                }
                                                            },
                                                            "required": [
                                                                "kind"
                                                            ],
                                                            "description": "Format the column as a number, with its own unit and thresholds."
                                                        },
                                                        {
                                                            "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",
                                                                                        "description": "Text color for cells whose value matches."
                                                                                    },
                                                                                    "background_color": {
                                                                                        "type": "string",
                                                                                        "description": "Background color for cells whose value matches."
                                                                                    },
                                                                                    "name": {
                                                                                        "type": "string",
                                                                                        "description": "Text shown in place of the matched value."
                                                                                    }
                                                                                }
                                                                            },
                                                                            "matcher": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "type": {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "ByRegex",
                                                                                            "ByName"
                                                                                        ]
                                                                                    }
                                                                                }
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "value",
                                                                            "properties"
                                                                        ],
                                                                        "description": "Styles cells whose value matches `value`."
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "kind"
                                                            ],
                                                            "description": "Format the column as text and map individual cell values to a color or a display name."
                                                        },
                                                        {
                                                            "type": "object",
                                                            "properties": {
                                                                "kind": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "Time"
                                                                    ]
                                                                }
                                                            },
                                                            "required": [
                                                                "kind"
                                                            ],
                                                            "description": "Format the column as a timestamp in the user's time zone and time format."
                                                        }
                                                    ],
                                                    "description": "How to render the cells of this column. Omit to infer from the data."
                                                }
                                            }
                                        },
                                        "matcher": {
                                            "type": "object",
                                            "properties": {
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "ByRegex",
                                                        "ByName"
                                                    ]
                                                }
                                            }
                                        }
                                    },
                                    "required": [
                                        "value",
                                        "properties"
                                    ],
                                    "description": "Per-column settings. `value` is the column id: a label name, `Value` (or the query `alias`) for the value column, or the projected field names of a log or event query. With the deprecated `transform` the ids are the calculation names instead (`Max`, `Mean`, ...). Overrides for a column id that the query does not produce have no effect."
                                }
                            },
                            "column_order": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "description": "Column ids in display order. Columns not listed keep their default position after the listed ones."
                            },
                            "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"
                                                },
                                                "background_color": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "value"
                                            ]
                                        }
                                    },
                                    "base": {
                                        "type": "object",
                                        "properties": {
                                            "color": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "background_color": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "default_color": {
                                        "type": "string",
                                        "description": "DEPRECATED: Please use base.color instead",
                                        "deprecated": true
                                    }
                                },
                                "description": "Color the cells of every numeric column by value. A `Number` column override can replace it per column."
                            }
                        },
                        "description": "Renders the tabular result of its queries. Each Prometheus query contributes one row per series: a column per label plus one value column, named by the query `alias` or `Value`. With several queries, rows line up only when the queries return the same label set, and each query needs an `alias` so the value columns do not collide. Control what the value column holds on the query, not the panel: `queryType: \"Instant\"` (the default) gives the latest value, `queryType: \"Range\"` gives the calculation named by `reducer` over the time range (`LastNumber` when `reducer` is omitted). Column ids: a label name, `Value` (or the query `alias`) for the value column, or the projected field names of a log or event query. With the deprecated `transform` the ids are the calculation names instead (`Max`, `Mean`, ...)."
                    }
                },
                "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"
            },
            "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",
                                    "Avg",
                                    "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"
                                                },
                                                "show_value": {
                                                    "type": "boolean"
                                                },
                                                "background_color": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "value"
                                            ]
                                        }
                                    },
                                    "base": {
                                        "type": "object",
                                        "properties": {
                                            "color": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "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"
                                ]
                            },
                            "layout": {
                                "type": "string",
                                "enum": [
                                    "Hexagon"
                                ]
                            }
                        },
                        "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": [
                                                "Avg",
                                                "Mean",
                                                "First",
                                                "FirstNumber",
                                                "Last",
                                                "LastNumber",
                                                "Min",
                                                "Max",
                                                "Sum"
                                            ],
                                            "description": "A calculation applied to a series' values. Prefer `Avg`; `Mean` is a deprecated synonym for it that stays valid in existing dashboards."
                                        },
                                        "description": "The calculations shown for each series, in the order given. A `List` legend displays at most 2; a `Table` legend has no limit."
                                    },
                                    "sort": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "sort_by": {
                                                    "type": "string",
                                                    "description": "The calculation to sort by. Must be one of the calculations listed in the legend's `values`."
                                                },
                                                "sort_order": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Asc",
                                                        "Desc"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "sort_by",
                                                "sort_order"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "position"
                                ]
                            },
                            "visual": {
                                "type": "object",
                                "properties": {
                                    "display": {
                                        "type": "string",
                                        "enum": [
                                            "Default",
                                            "Donut",
                                            "Sunburst"
                                        ],
                                        "description": "Display mode. Omit for Auto: renders a Sunburst when query results have at least two dimensions, otherwise a pie. Explicit Sunburst requires every query to group by at least two labels, using the same labels in the same order; rings follow the grouping order, innermost label first."
                                    },
                                    "show_series_name": {
                                        "type": "boolean"
                                    },
                                    "show_total": {
                                        "type": "boolean",
                                        "description": "Whether to show the total value in the center of a donut chart."
                                    },
                                    "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"
                                                    ],
                                                    "description": "How the step compares against `value`. Defaults to `GreaterThanOrEqual`."
                                                }
                                            },
                                            "required": [
                                                "value"
                                            ]
                                        }
                                    },
                                    "base": {
                                        "type": "object",
                                        "properties": {
                                            "color": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "operator": {
                                                "type": "string",
                                                "enum": [
                                                    "GreaterThanOrEqual",
                                                    "Equal"
                                                ],
                                                "description": "How the step compares against `value`. Defaults to `GreaterThanOrEqual`."
                                            }
                                        }
                                    },
                                    "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"
            },
            "SingleSlo": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "enum": [
                            "SingleSlo"
                        ]
                    },
                    "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"
                                    ]
                                }
                            },
                            "time_windows": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "time": {
                                            "type": "object",
                                            "properties": {
                                                "start": {
                                                    "type": "string",
                                                    "description": "Window start: a relative time (e.g. \"now-7d\", or \"now/w\" for the start of this week) or an ISO timestamp"
                                                },
                                                "end": {
                                                    "type": "string",
                                                    "description": "Window end: a relative time (e.g. \"now\", or \"now/w\" for the end of this week) or an ISO timestamp"
                                                }
                                            },
                                            "required": [
                                                "start",
                                                "end"
                                            ]
                                        }
                                    }
                                },
                                "minItems": 1,
                                "maxItems": 3
                            },
                            "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"
                                    },
                                    "show_stats": {
                                        "type": "boolean"
                                    },
                                    "show_table": {
                                        "type": "boolean"
                                    }
                                }
                            }
                        },
                        "required": [
                            "slo_id",
                            "time_windows"
                        ]
                    }
                },
                "required": [
                    "kind",
                    "spec"
                ],
                "title": "SingleSlo",
                "description": "Limited Availability: available only on tenants where the Single SLO dashboard panel is enabled."
            },
            "Formula": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "enum": [
                            "Formula"
                        ]
                    },
                    "spec": {
                        "type": "object",
                        "properties": {
                            "expression": {
                                "type": "string",
                                "description": "A math expression over the panel's queries, e.g. (a / b) * 100. Queries have no id field: each is named by its position in `queries`, `a` for the first, `b` for the second, and so on. Adding, removing, or reordering queries changes which query each letter refers to."
                            },
                            "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"
                    },
                    "fill_area": {
                        "type": "string",
                        "enum": [
                            "Above",
                            "Below"
                        ],
                        "description": "Shade the region Above or Below each time series returned by the threshold query. Omit for no fill."
                    }
                },
                "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",
                "description": "Limited Availability: available only on tenants where the Change Events dashboard datasource is enabled."
            },
            "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",
                                                "description": "Template built from label values, for example \"{{ service }} - {{ pod }}\"."
                                            }
                                        },
                                        "required": [
                                            "type"
                                        ],
                                        "description": "Name each series from its label values."
                                    },
                                    {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "enum": [
                                                    "Regex"
                                                ]
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "Regular expression matched against the default series name."
                                            },
                                            "name_pattern": {
                                                "type": "string",
                                                "description": "Replacement pattern; use $1, $2, etc. to insert capture groups from `regex`."
                                            }
                                        },
                                        "required": [
                                            "type"
                                        ],
                                        "description": "Rewrite the default series name with a regular expression."
                                    }
                                ],
                                "description": "Object controlling how series are named in legends and tooltips, discriminated by `type`. Must be an object with a `type` of \"Labels\" or \"Regex\", never a plain string; the usual form is { \"type\": \"Labels\", \"name_pattern\": \"{{ label }}\" }."
                            },
                            "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",
                                "description": "DEPRECATED: Use `series_name` instead. Do not add this field; when it is present, move its \"{{ label }}\" pattern to series_name as { \"type\": \"Labels\", \"name_pattern\": <value> } and remove it. Ignored whenever `series_name` is set.",
                                "deprecated": true
                            },
                            "series_name": {
                                "oneOf": [
                                    {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "enum": [
                                                    "Labels"
                                                ]
                                            },
                                            "name_pattern": {
                                                "type": "string",
                                                "description": "Template built from label values, for example \"{{ service }} - {{ pod }}\"."
                                            }
                                        },
                                        "required": [
                                            "type"
                                        ],
                                        "description": "Name each series from its label values."
                                    },
                                    {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "enum": [
                                                    "Regex"
                                                ]
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "Regular expression matched against the default series name."
                                            },
                                            "name_pattern": {
                                                "type": "string",
                                                "description": "Replacement pattern; use $1, $2, etc. to insert capture groups from `regex`."
                                            }
                                        },
                                        "required": [
                                            "type"
                                        ],
                                        "description": "Rewrite the default series name with a regular expression."
                                    }
                                ],
                                "description": "Object controlling how series are named in legends and tooltips, discriminated by `type`. Must be an object with a `type` of \"Labels\" or \"Regex\", never a plain string; the usual form is { \"type\": \"Labels\", \"name_pattern\": \"{{ label }}\" }."
                            },
                            "min_step": {
                                "type": "string"
                            },
                            "resolution": {
                                "type": "number"
                            },
                            "disable_duplicate_series_notice": {
                                "type": "boolean"
                            },
                            "queryType": {
                                "type": "string",
                                "enum": [
                                    "Instant",
                                    "Range"
                                ],
                                "description": "`Instant` evaluates the query once at the end of the time range; `Range` runs a range query over it. When unset, panels that show one value per series (Table, StatChart, GaugeChart, BarChart, PieChart) run an instant query and time-based panels run a range query. A `Range` query feeding a one-value panel is collapsed per series by `reducer`."
                            },
                            "reducer": {
                                "type": "string",
                                "enum": [
                                    "First",
                                    "Last",
                                    "FirstNumber",
                                    "LastNumber",
                                    "Avg",
                                    "Sum",
                                    "Min",
                                    "Max"
                                ],
                                "description": "Calculation that collapses each series of a `Range` query to one value for panels that show one value per series. Only read when `queryType` is `Range`; a Table falls back to `LastNumber` when it is omitted. `LastNumber` and `FirstNumber` skip non-numeric samples."
                            },
                            "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"
            },
            "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"
            },
            "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/MonitorDataQuery"
                                    }
                                ],
                                "discriminator": {
                                    "propertyName": "kind",
                                    "mapping": {
                                        "ChangeEventsDataQuery": "#/components/schemas/ChangeEventsDataQuery",
                                        "LogsDataQuery": "#/components/schemas/LogsDataQuery",
                                        "PrometheusTimeSeriesQuery": "#/components/schemas/PrometheusTimeSeriesQuery",
                                        "GraphiteTimeSeriesQuery": "#/components/schemas/GraphiteTimeSeriesQuery",
                                        "MonitorDataQuery": "#/components/schemas/MonitorDataQuery"
                                    }
                                }
                            }
                        },
                        "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/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/ChronoServiceTopology"
                                    },
                                    {
                                        "$ref": "#/components/schemas/StatChart"
                                    },
                                    {
                                        "$ref": "#/components/schemas/PieChart"
                                    },
                                    {
                                        "$ref": "#/components/schemas/StatusHistory"
                                    },
                                    {
                                        "$ref": "#/components/schemas/SingleSlo"
                                    }
                                ],
                                "discriminator": {
                                    "propertyName": "kind",
                                    "mapping": {
                                        "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",
                                        "ChronoServiceTopology": "#/components/schemas/ChronoServiceTopology",
                                        "StatChart": "#/components/schemas/StatChart",
                                        "PieChart": "#/components/schemas/PieChart",
                                        "StatusHistory": "#/components/schemas/StatusHistory",
                                        "SingleSlo": "#/components/schemas/SingleSlo"
                                    }
                                }
                            },
                            "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"
            },
            "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",
                "description": "Legacy: prefer TimelineEventQuery for new dashboard event queries."
            },
            "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"
                                        }
                                    ],
                                    "discriminator": {
                                        "propertyName": "kind",
                                        "mapping": {
                                            "Grid": "#/components/schemas/Grid",
                                            "SplitPanel": "#/components/schemas/SplitPanel"
                                        }
                                    }
                                }
                            },
                            "events": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/QueryEvent"
                                }
                            },
                            "duration": {
                                "type": "string"
                            },
                            "time": {
                                "type": "object",
                                "properties": {
                                    "start": {
                                        "type": "string"
                                    },
                                    "end": {
                                        "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": {}
}