{
  "repo": "tidbcloud/dbaas",
  "binary": "server",
  "binary_path": "billing2/cmd/server/main.go",
  "dependencies": {
    "HTTP GET /version": {"infrastructure": {}, "services": []},
    "HTTP GET /metrics": {"infrastructure": {}, "services": [], "description": "Built-in gin-prometheus metrics endpoint, no external dependencies"},
    "HTTP GET /units": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /units": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /units/_bulk": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /units/:unit_key": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /units/:unit_key": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP DELETE /units/:unit_key": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /packages": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /packages": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /packages/:package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /packages/:package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PATCH /packages/:package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP DELETE /packages/:package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/binded_packages": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/binded_packages": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/binded_packages/:binded_package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP DELETE /tenants/:tenant_id/binded_packages/:binded_package_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/binded_packages/:binded_package_id/charge_credits": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/binded_packages/:binded_package_id/charge_credits": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /tenants/:tenant_id/binded_packages/:binded_package_id/discount": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/payments": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/payments": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/payments/stripe/setup_intent": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": [{"name": "stripe", "target_interface": "POST /v1/setup_intents", "operation_type": "http_post", "conditions": ["stripe-payment-enable=true"]}]},
    "HTTP PUT /tenants/:tenant_id/payments/stripe/setup_intent/confirm": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": [{"name": "stripe", "target_interface": "GET /v1/payment_methods", "operation_type": "http_get", "conditions": ["Always"]}, {"name": "stripe", "target_interface": "POST /v1/customers/{id}", "operation_type": "http_post", "conditions": ["When setting default payment method"]}]},
    "HTTP GET /tenants/:tenant_id/payments/stripe/customer": {"infrastructure": {}, "services": [{"name": "stripe", "target_interface": "GET /v1/customers/{id}", "operation_type": "http_get", "conditions": ["Always"]}]},
    "HTTP GET /tenants/:tenant_id/payments/stripe/payment_methods": {"infrastructure": {}, "services": [{"name": "stripe", "target_interface": "GET /v1/payment_methods", "operation_type": "http_get", "conditions": ["Always"]}]},
    "HTTP PUT /tenants/:tenant_id/payments/stripe/payment_methods/:payment_method_id": {"infrastructure": {}, "services": [{"name": "stripe", "target_interface": "POST /v1/payment_methods/{id}", "operation_type": "http_post", "conditions": ["Always"]}]},
    "HTTP DELETE /tenants/:tenant_id/payments/stripe/payment_methods/:payment_method_id": {"infrastructure": {}, "services": [{"name": "stripe", "target_interface": "POST /v1/payment_methods/{id}/detach", "operation_type": "http_post", "conditions": ["Always"]}]},
    "HTTP PUT /tenants/:tenant_id/payments/stripe/payment_methods/:payment_method_id/default": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": [{"name": "stripe", "target_interface": "POST /v1/customers/{id}", "operation_type": "http_post", "conditions": ["Always"]}]},
    "HTTP GET /tenants/:tenant_id/payments/stripe/invoices": {"infrastructure": {}, "services": [{"name": "stripe", "target_interface": "GET /v1/invoices", "operation_type": "http_get", "conditions": ["Always"]}]},
    "HTTP GET /tenants/:tenant_id/invoices": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/invoices": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/commitment_invoices": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/invoices/:invoice_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /tenants/:tenant_id/invoices/:invoice_id/confirm": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /tenants/:tenant_id/invoices/:invoice_id/send": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": [{"name": "stripe", "target_interface": "POST /v1/invoice_items", "operation_type": "http_post", "conditions": ["payment_type=stripe"]}, {"name": "stripe", "target_interface": "POST /v1/invoices", "operation_type": "http_post", "conditions": ["payment_type=stripe"]}, {"name": "aws-marketplace", "target_interface": "BatchMeterUsage", "operation_type": "aws_sdk", "conditions": ["payment_type=aws"]}, {"name": "gcp-marketplace", "target_interface": "AllocateQuota", "operation_type": "grpc_unary", "conditions": ["payment_type=gcp"]}]},
    "HTTP DELETE /tenants/:tenant_id/invoices/:invoice_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/costexplorer": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/costexplorer/monthly_cost/year/:year/month/:month": {"infrastructure": {"mysql": {"conditions": ["Always"]}, "redis": {"conditions": ["enable-cache=true"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/costexplorer/monthly_cost/year/:year/month/:month/export": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/subscriptions": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/submited_subscriptions": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP GET /tenants/:tenant_id/subscriptions/:subscription_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP PUT /tenants/:tenant_id/subscriptions/:subscription_id": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions/:subscription_id/actions/reject": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions/:subscription_id/actions/accept": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions/:subscription_id/actions/suspend": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions/:subscription_id/actions/submit": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/subscriptions/:subscription_id/actions/download": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": [{"name": "central", "target_interface": "GET /api/v1/admin/uploaded/{path}", "operation_type": "http_get", "conditions": ["dbaas-central-enable=true"]}]},
    "HTTP POST /tenants/:tenant_id/measures": {"infrastructure": {"mysql": {"conditions": ["Always"]}, "redis": {"conditions": ["enable-cache=true"]}}, "services": []},
    "HTTP POST /tenants/:tenant_id/measures/dryrun": {"infrastructure": {"mysql": {"conditions": ["Always"]}}, "services": []}
  }
}
