resource "datadog_dashboard_json" "ameba_gateway_service_dashboard_json" {
  dashboard = jsonencode({
    title       = "AMEBA Gateway Service"
    description = null
    widgets = [
      {
        id = 1360475474608442
        definition = {
          title          = "Requests Stats "
          title_size     = "16"
          title_align    = "left"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              formulas        = [{ formula = "query1" }]
              queries         = [{ name = "query1", data_source = "metrics", query = "sum:sonymusic.gateway.requests.counter{$namespace,$path,$username,$pod} by {username,method,namespace,path,pod}.as_count()" }]
              response_format = "timeseries"
              style           = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type    = "line"
            }
          ]
        }
        layout = { x = 0, y = 0, width = 4, height = 2 }
      },
      {
        id = 8173786533404230
        definition = {
          title          = "Requests Stats "
          title_size     = "16"
          title_align    = "left"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              formulas        = [{ formula = "query1" }]
              queries         = [{ name = "query1", data_source = "metrics", query = "sum:sonymusic.gateway.requests.counter{$namespace,$path,$username,$pod} by {username,method,namespace,path,pod}.as_count()" }]
              response_format = "timeseries"
              style           = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type    = "line"
            }
          ]
        }
        layout = { x = 4, y = 0, width = 4, height = 2 }
      },
      {
        id = 6816103002824810
        definition = {
          title       = "Route Request Stats"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries         = [{ name = "query1", data_source = "metrics", query = "sum:sonymusic.gateway.route.requests.counter{$namespace,$path,$username,$pod} by {username,path}.as_count()", aggregator = "sum" }]
              style           = { palette = "datadog16" }
              formulas        = [{ formula = "query1" }]
            }
          ]
          type = "sunburst"
        }
        layout = { x = 4, y = 2, width = 6, height = 4 }
      }
    ]
    template_variables = [
      { name = "namespace", prefix = "namespace", available_values = ["gw-prod", "gw-dev", "gw-stage", "global-ds"], default = "gw-prod" },
      { name = "path", prefix = "path", available_values = [], default = "*" },
      { name = "pod", prefix = "pod", available_values = ["gw-gds", "gw-ext", "gw-int"], default = "gw-int" },
      { name = "username", prefix = "username", available_values = [], default = "*" }
    ]
    layout_type        = "ordered"
    notify_list        = []
    pause_auto_refresh = false
    reflow_type        = "fixed"
    tags               = ["team:ameba-team"]
  })
}
