{
  "repo": "tidbcloud/infra-provider",
  "binary": "quota-exporter",
  "binary_path": "quota-exporter/main.go",
  "dependencies": {
    "MetricsService.metrics": {
      "infrastructure": {},
      "services": []
    },
    "QuotaCollectors.CollectAWSAndGCPQuota": {
      "infrastructure": {
        "kubernetes": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Cache Account CRs",
              "trigger": "Select cloud accounts to query",
              "implementation": "cache.New(... ByObject: buildCacheSelector(selector))"
            }
          ]
        },
        "aws": {
          "conditions": [
            "rootConfig.EnabledForAWS"
          ],
          "operations": [
            {
              "operation": "AWS Service Quotas and related API calls",
              "trigger": "Collect AWS quota metrics",
              "implementation": "initAWSClientSet() and awsquota.NewExporter"
            }
          ]
        },
        "gcp": {
          "conditions": [
            "rootConfig.EnabledForGCP"
          ],
          "operations": [
            {
              "operation": "GCP Compute API calls",
              "trigger": "Collect GCP quota metrics",
              "implementation": "compute.NewService(...) and gcpquota.NewExporter"
            }
          ]
        }
      },
      "services": []
    }
  }
}
