{
  "dashboardFilters": [],
  "displayName": "VPC & VPC Peering Group Quotas",
  "labels": {},
  "mosaicLayout": {
    "columns": 12,
    "tiles": [
      {
        "height": 4,
        "widget": {
          "title": "Internal network (L4) Load Balancers per VPC Peering Group",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "breakdowns": [],
                "dimensions": [],
                "measures": [],
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "xPos": 6
      },
      {
        "height": 4,
        "widget": {
          "title": "Internal network (L4) Load Balancers per VPC",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6
      },
      {
        "height": 4,
        "widget": {
          "title": "Internal application (L7) Load Balancers per VPC",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "breakdowns": [],
                "dimensions": [],
                "measures": [],
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "yPos": 4
      },
      {
        "height": 4,
        "widget": {
          "title": "Internal application (L7) Load Balancers per VPC Peering Group",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "breakdowns": [],
                "dimensions": [],
                "measures": [],
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "xPos": 6,
        "yPos": 4
      },
      {
        "height": 4,
        "widget": {
          "title": "Instances per VPC",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/instances_per_vpc_network/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/instances_per_vpc_network/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")  ",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "yPos": 8
      },
      {
        "height": 4,
        "widget": {
          "title": "Instances per VPC Peering Group",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/instances_per_peering_group/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/instances_per_peering_group/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "xPos": 6,
        "yPos": 8
      },
      {
        "height": 4,
        "widget": {
          "title": "Subnet ranges per VPC",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\")",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "yPos": 12
      },
      {
        "height": 4,
        "widget": {
          "title": "Subnet ranges per VPC Peering Group",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "fetch compute.googleapis.com/VpcNetwork\n|{ metric\n      compute.googleapis.com/quota/subnet_ranges_per_peering_group/usage\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .max()\n  ; metric\n      compute.googleapis.com/quota/subnet_ranges_per_peering_group/limit\n    | align next_older(1d)\n    | group_by [resource.resource_container, metric.limit_name], .min() }\n| ratio\n| value cast_units(val()*100, \"%\") ",
                  "unitOverride": ""
                }
              }
            ],
            "thresholds": [],
            "timeshiftDuration": "0s",
            "yAxis": {
              "label": "",
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "xPos": 6,
        "yPos": 12
      }
    ]
  }
}