{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/DashboardWidget",
  "title": "DashboardWidget",
  "type": "object",
  "description": "A widget in a CloudWatch dashboard.",
  "required": [
    "type",
    "properties"
  ],
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "metric",
        "text",
        "log",
        "alarm",
        "explorer"
      ],
      "description": "The type of the widget.",
      "example": "metric"
    },
    "x": {
      "type": "integer",
      "minimum": 0,
      "description": "The horizontal position of the widget on the dashboard grid.",
      "example": 10
    },
    "y": {
      "type": "integer",
      "minimum": 0,
      "description": "The vertical position of the widget on the dashboard grid.",
      "example": 10
    },
    "width": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "description": "The width of the widget in grid units.",
      "example": 10
    },
    "height": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "The height of the widget in grid units.",
      "example": 10
    },
    "properties": {
      "type": "object",
      "description": "The properties for the widget, which vary depending on the widget type.",
      "example": "example_value"
    }
  }
}