{
  "repo": "tidbcloud/observability",
  "binary": "vmbackupmanager",
  "binary_path": "vmbackupmanager/main.go",
  "dependencies": {
    "HTTP GET /metrics": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /health": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/backups": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["LIST objects"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["LIST objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["LIST objects"]
        },
        "oss": {
          "conditions": ["When vendor is alicloud"],
          "operations": ["LIST objects"]
        }
      },
      "services": []
    },
    "HTTP GET /api/v1/backups/:id": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["GET objects"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["GET objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["GET objects"]
        },
        "oss": {
          "conditions": ["When vendor is alicloud"],
          "operations": ["GET objects"]
        }
      },
      "services": []
    },
    "HTTP POST /api/v1/backups": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["PUT objects", "LIST objects", "COPY objects (server-side)"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "oss": {
          "conditions": ["When vendor is alicloud"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "local_filesystem": {
          "conditions": ["When dst is fs://"],
          "operations": ["READ/WRITE files"]
        },
        "http": {
          "conditions": ["When snapshotCreateURL is set"],
          "operations": ["POST to VictoriaMetrics snapshot API"]
        }
      },
      "services": []
    },
    "Runtime VMBackupManager.ScheduledIncrementalBackup": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["PUT objects", "LIST objects"]
        },
        "http": {
          "conditions": ["When snapshotCreateURL is set"],
          "operations": ["POST to VictoriaMetrics snapshot API"]
        }
      },
      "services": []
    },
    "Runtime VMBackupManager.ScheduledFullBackup": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["PUT objects", "COPY objects (server-side)"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["PUT objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["PUT objects"]
        },
        "http": {
          "conditions": ["When snapshotCreateURL is set"],
          "operations": ["POST to VictoriaMetrics snapshot API"]
        }
      },
      "services": []
    },
    "Runtime VMBackupManager.BackupRetention": {
      "infrastructure": {
        "s3": {
          "conditions": ["When vendor is aws"],
          "operations": ["LIST objects", "DELETE objects"]
        },
        "gcs": {
          "conditions": ["When vendor is gcp"],
          "operations": ["LIST objects", "DELETE objects"]
        },
        "azure_blob": {
          "conditions": ["When vendor is azure"],
          "operations": ["LIST objects", "DELETE objects"]
        }
      },
      "services": []
    }
  }
}
