{
  "repo": "tidbcloud/devops",
  "binary": "devops-server",
  "binary_path": "cmd/devops-server/main.go",
  "dependencies": {
    "DevopsServerLifecycle.LoadConfig": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "READ CONFIG",
              "trigger": "Load the root config before DI setup and process startup",
              "conditions": [
                "Always"
              ],
              "implementation": "cobra.OnInitialize -> configloader.NewConfigurationLoader(flagConfig, false).Load(globalCtx)"
            }
          ]
        }
      },
      "services": []
    },
    "DevopsServerLifecycle.SetupDeps": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-di",
          "target_interface": "Deps.Init",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Deps.Init",
              "trigger": "Initialize dig providers, shared clients, and controller/service constructors",
              "conditions": [
                "Always"
              ],
              "implementation": "setup(ctx, conf) -> deps.NewDeps(); deps.Init(conf, log.Logger)"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.RunDBMigrate": {
      "infrastructure": {
        "mysql": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "AUTO MIGRATE",
              "trigger": "Migrate the devops metadata database before services and listeners start",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(migrate.RunDBMigrate)"
            }
          ]
        }
      },
      "services": []
    },
    "DevopsServerLifecycle.StartCron": {
      "infrastructure": {
        "scheduler": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "START CRON",
              "trigger": "Start background cron jobs registered in the shared cron scheduler",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(c *cron.Cron) { c.Start() })"
            }
          ]
        }
      },
      "services": []
    },
    "DevopsServerLifecycle.StartServiceManager": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-service-manager",
          "target_interface": "service.Manager.RunServices",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "service.Manager.RunServices",
              "trigger": "Start all grouped background services before eventbus and external listeners",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(m *service.Manager) error { go m.RunServices() })"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.StartEventBus": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-eventbus",
          "target_interface": "eventbus.EventBus.Run",
          "operation_type": "mq_subscribe",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "eventbus.EventBus.Run",
              "trigger": "Start the eventbus after services have subscribed to their topics",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(e *eventbus.EventBus) error { return e.Run() })"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.StartGrpcServer": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-grpc-server",
          "target_interface": "GrpcServer.Run",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "GrpcServer.Run",
              "trigger": "Start the gRPC auth listener",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(s *controller.GrpcServer) error { go s.Run() })"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.StartAPIServer": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-api-server",
          "target_interface": "APIServer.Run",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "APIServer.Run",
              "trigger": "Start the public/internal/external Gin API server",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(s *controller.APIServer) error { go s.Run() })"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.StartMCPServer": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-mcp-server",
          "target_interface": "MCPServer.Run",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "MCPServer.Run",
              "trigger": "Start the dedicated MCP-over-HTTP listener",
              "conditions": [
                "Always"
              ],
              "implementation": "run(ctx, deps) -> deps.Container.Invoke(func(s *controller.MCPServer) error { go s.Run() })"
            }
          ]
        }
      ]
    },
    "DevopsServerLifecycle.Shutdown": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-api-server",
          "target_interface": "Shutdown",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "On signal or async server error"
          ],
          "operations": [
            {
              "operation": "Shutdown",
              "trigger": "Stop API, gRPC, and MCP listeners before services and eventbus",
              "conditions": [
                "On signal or async server error"
              ],
              "implementation": "run(ctx, deps) -> s.Shutdown(ctx)"
            }
          ]
        },
        {
          "name": "devops-service-manager",
          "target_interface": "service.Manager.StopServices",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "On signal or async server error"
          ],
          "operations": [
            {
              "operation": "service.Manager.StopServices",
              "trigger": "Stop grouped services during process shutdown",
              "conditions": [
                "On signal or async server error"
              ],
              "implementation": "run(ctx, deps) -> m.StopServices()"
            }
          ]
        }
      ]
    },
    "Runtime DevopsAPIRuntimeHTTP.Healthz": {
      "infrastructure": {
        "http_server": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "HTTP GET",
              "trigger": "Serve the API health endpoint on the public API listener",
              "conditions": [
                "Always"
              ],
              "implementation": "APIServer.initRoute() -> s.eng.GET(\"/healthz\", ...)"
            }
          ]
        }
      },
      "services": []
    },
    "HTTP GET /metrics": {
      "infrastructure": {
        "prometheus": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "HTTP GET",
              "trigger": "Expose Prometheus metrics on the API listener",
              "conditions": [
                "Always"
              ],
              "implementation": "APIServer.initRoute() -> s.eng.GET(\"/metrics\", gin.WrapH(promhttp.Handler()))"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime DevopsAPIRuntimeHTTP.Pprof": {
      "infrastructure": {
        "pprof": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "HTTP GET",
              "trigger": "Expose pprof diagnostics on the API listener",
              "conditions": [
                "Always"
              ],
              "implementation": "APIServer.initRoute() -> pprof.Register(s.eng)"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime DevopsMCPRuntimeHTTP.Healthz": {
      "infrastructure": {
        "http_server": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "HTTP GET",
              "trigger": "Serve the MCP listener health endpoint",
              "conditions": [
                "Always"
              ],
              "implementation": "MCPServer.initRoute() -> s.eng.GET(\"/healthz\", ...)"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime DevopsMCPRuntimeHTTP.Proxy": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-mcp-server",
          "target_interface": "MCP stream handler",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After MCP auth middleware succeeds"
          ],
          "operations": [
            {
              "operation": "MCP stream handler",
              "trigger": "Forward authenticated requests into the streamable MCP handler",
              "conditions": [
                "After MCP auth middleware succeeds"
              ],
              "implementation": "MCPServer.initRoute() -> route.Any(\"/*filepath\", ... mcpHTTPHandler.ServeHTTP(...))"
            }
          ]
        }
      ]
    },
    "AuthService.HasAccess": {
      "infrastructure": {},
      "services": [
        {
          "name": "user-service",
          "target_interface": "ServiceAPI.GetUser",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "ServiceAPI.GetUser",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> ServiceAPI.GetUser"
            }
          ]
        },
        {
          "name": "rbac-service",
          "target_interface": "RbacServiceAPI.ListRoleBindings",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "RbacServiceAPI.ListRoleBindings",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> RbacServiceAPI.ListRoleBindings"
            }
          ]
        }
      ]
    },
    "AuthService.HasAccessForAPIKey": {
      "infrastructure": {},
      "services": [
        {
          "name": "iam-service",
          "target_interface": "IAMServiceAPI.ListRoleBindings",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "IAMServiceAPI.ListRoleBindings",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> IAMServiceAPI.ListRoleBindings"
            }
          ]
        },
        {
          "name": "iam-service",
          "target_interface": "IAMServiceAPI.GetRolePermissions",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "IAMServiceAPI.GetRolePermissions",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> IAMServiceAPI.GetRolePermissions"
            }
          ]
        }
      ]
    },
    "AuthService.GetUser": {
      "infrastructure": {},
      "services": [
        {
          "name": "user-service",
          "target_interface": "ServiceAPI.GetUser",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "ServiceAPI.GetUser",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> ServiceAPI.GetUser"
            }
          ]
        },
        {
          "name": "rbac-service",
          "target_interface": "RbacServiceAPI.ListRoleBindings",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "RbacServiceAPI.ListRoleBindings",
              "trigger": "Resolve auth metadata required by the gRPC auth method",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "pkg/controller/user/auth_controller.go -> RbacServiceAPI.ListRoleBindings"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/application/applications": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "appSvc.ListApplications",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "appSvc.ListApplications",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/application/application_controller.go -> appSvc.ListApplications"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/application/applications/{name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "appSvc.GetApplication",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "appSvc.GetApplication",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/application/application_controller.go -> appSvc.GetApplication"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/application/applications": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "appSvc.CreateApplication",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "appSvc.CreateApplication",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/application/application_controller.go -> appSvc.CreateApplication"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/application/applications/{name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "appSvc.UpdateApplication",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "appSvc.UpdateApplication",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/application/application_controller.go -> appSvc.UpdateApplication"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/application/applications/{name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "appSvc.DeleteApplication",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "appSvc.DeleteApplication",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/application/application_controller.go -> appSvc.DeleteApplication"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/approval/approvals/{appr_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "apprSvc.GetApproval",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "apprSvc.GetApproval",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/approval/approval.go -> apprSvc.GetApproval"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/approval/approvals/{appr_id}/approve": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "apprSvc.FinishApprovalTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "apprSvc.FinishApprovalTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/approval/approval.go -> apprSvc.FinishApprovalTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/approval/approvals/{appr_id}/reject": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "apprSvc.FinishApprovalTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "apprSvc.FinishApprovalTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/approval/approval.go -> apprSvc.FinishApprovalTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/approval/approvals/{appr_id}/admin_approve": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "apprSvc.FinishApprovalAdminTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "apprSvc.FinishApprovalAdminTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/approval/approval.go -> apprSvc.FinishApprovalAdminTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/approval/approvals/{appr_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "apprSvc.CancelApproval",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "apprSvc.CancelApproval",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/approval/approval.go -> apprSvc.CancelApproval"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/approval/approvals": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/audit/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/audit/ctl": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/audit/cluster-maintenance": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/audit/operations": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/audit": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/audit/jumps": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "auditSvc.ListAuditLog",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "auditSvc.ListAuditLog",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/audit/audit_controller.go -> auditSvc.ListAuditLog"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/config-types/{cluster_type}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/cloudconfig/components": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/cloudconfig/versions/component/{component}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListAvailableComponentVersions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListAvailableComponentVersions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> svc.ListAvailableComponentVersions"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/versions/component/{component}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/versions/cluster/{cluster_type}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListAvailableClusterVersions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListAvailableClusterVersions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> svc.ListAvailableClusterVersions"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/cloudconfig/versions/cluster/{cluster_type}/{version}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/defaultversion/dm/{version}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/instance-types/{cluster_type}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListAvailableInstanceTypes",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListAvailableInstanceTypes",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/cloudconfig_controller.go -> svc.ListAvailableInstanceTypes"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/cluster/config": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ClusterConfigurationChangeable",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ClusterConfigurationChangeable",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_cluster.go -> svc.ClusterConfigurationChangeable"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetClusterConfiguration",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetClusterConfiguration",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_cluster.go -> svc.GetClusterConfiguration"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/cluster/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListConfigurationChanges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListConfigurationChanges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_cluster.go -> svc.ListConfigurationChanges"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/cluster/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_cluster.go -> svc.CreateConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/cluster/changes/preview": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.PreviewConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.PreviewConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_cluster.go -> svc.PreviewConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/tenantinit/config": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetTenantInitConfiguration",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetTenantInitConfiguration",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.GetTenantInitConfiguration"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetTenantInitVersions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetTenantInitVersions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.GetTenantInitVersions"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.TenantInitConfigurationChangeable",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.TenantInitConfigurationChangeable",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.TenantInitConfigurationChangeable"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/tenantinit/images": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListTenantInitImages",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListTenantInitImages",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.ListTenantInitImages"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/tenantinit/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListConfigurationChanges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListConfigurationChanges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.ListConfigurationChanges"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/tenantinit/changes/preview": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.PreviewConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.PreviewConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.PreviewConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/tenantinit/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/config_tenantinit.go -> svc.CreateConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/changes/{change_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/configchange.go -> svc.GetConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/changes/{change_id}/apply": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ApplyConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ApplyConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/configchange.go -> svc.ApplyConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/changes/{change_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CancelConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CancelConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/configchange.go -> svc.CancelConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChanges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChanges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChanges"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetDefaultConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetDefaultConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.GetDefaultConfigurationChange"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/template-bindings/update-by-op": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/template-bindings/delete-by-op": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/template-bindings/change": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateDefaultConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateDefaultConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CreateDefaultConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/batchUpdate": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.BatchUpdateDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.BatchUpdateDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.BatchUpdateDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/items": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/unreleased": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItemReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItemReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItemReleases"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/stat": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.StatDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.StatDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.StatDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateDefaultConfigurationChangeRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateDefaultConfigurationChangeRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CreateDefaultConfigurationChangeRelease"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/rollback": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RollbackDefaultConfigurationChangeRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RollbackDefaultConfigurationChangeRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.RollbackDefaultConfigurationChangeRelease"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeReleases"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetDefaultConfigurationChangeReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetDefaultConfigurationChangeReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.GetDefaultConfigurationChangeReleases"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItemReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItemReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItemReleases"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItems"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}/items": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetDefaultConfigurationChangeReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetDefaultConfigurationChangeReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.GetDefaultConfigurationChangeReleases"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListDefaultConfigurationChangeItemReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListDefaultConfigurationChangeItemReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.ListDefaultConfigurationChangeItemReleases"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CancelDefaultConfigurationChangeRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CancelDefaultConfigurationChangeRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CancelDefaultConfigurationChangeRelease"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/changes/{change_id}/close": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CloseDefaultConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CloseDefaultConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CloseDefaultConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/cloudconfig/default-config/components": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.UpdateDefaultComponents",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.UpdateDefaultComponents",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.UpdateDefaultComponents"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/components/change": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateDefaultConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateDefaultConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CreateDefaultConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/versions/defaultrules": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/versions/release": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateDefaultConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateDefaultConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.CreateDefaultConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/default-config/versions/import": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.SyncVersionsFromGitops",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.SyncVersionsFromGitops",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/default_config_change.go -> svc.SyncVersionsFromGitops"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/meta_profile/{profile_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetMetaProfile",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetMetaProfile",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/meta_profile.go -> svc.GetMetaProfile"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/meta_profile": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/meta_profile.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/meta_profile": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListMetaProfiles",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListMetaProfiles",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/meta_profile.go -> svc.ListMetaProfiles"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/parameter/versions": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/cloudconfig/parameter/attribute/{configtype}/{version}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListParameterAttribute",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListParameterAttribute",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/param_attr.go -> svc.ListParameterAttribute"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/parameter/attribute/{configtype}/{version}/{param_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetParameterAttribute",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetParameterAttribute",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/param_attr.go -> svc.GetParameterAttribute"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cloudconfig-admin/parameter/attribute/{config_type}/{version}/{param_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.UpdateParameterAttribute",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.UpdateParameterAttribute",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/param_attr.go -> svc.UpdateParameterAttribute"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig-admin/parameter/attribute/create": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateParameterAttribute",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateParameterAttribute",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/param_attr.go -> svc.CreateParameterAttribute"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig-admin/parameter/attribute/clone": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CloneParameterAttributes",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CloneParameterAttributes",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/param_attr.go -> svc.CloneParameterAttributes"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/template/templates": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListTemplate",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListTemplate",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.ListTemplate"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/template/templates": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateTemplate",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateTemplate",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.CreateTemplate"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/template/templates/{template_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetTemplate",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetTemplate",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.GetTemplate"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/template/templates/{template_id}/diff": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.DiffTemplate",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.DiffTemplate",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.DiffTemplate"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/default-config/template-bindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListTemplateDefaultCaseBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListTemplateDefaultCaseBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.ListTemplateDefaultCaseBindings"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/cloudconfig/default-config/template-bindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.BatchUpdateTemplateDefaultCaseBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.BatchUpdateTemplateDefaultCaseBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.BatchUpdateTemplateDefaultCaseBindings"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cloudconfig/template/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListConfigurationChanges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListConfigurationChanges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.ListConfigurationChanges"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cloudconfig/template/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CreateConfigurationChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CreateConfigurationChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/template.go -> svc.CreateConfigurationChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeeds/{cluster_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListInternalChangefeeds",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListInternalChangefeeds",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.ListInternalChangefeeds"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListInternalNgChangefeeds",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListInternalNgChangefeeds",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.ListInternalNgChangefeeds"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/{changefeed_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetInternalChangefeed",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetInternalChangefeed",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.GetInternalChangefeed"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetInternalNgChangefeed",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetInternalNgChangefeed",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.GetInternalNgChangefeed"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/ticdc-meta/{cluster_type}/internal-ticdc/{ticdc_cluster_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetInternalNgTiCDCCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetInternalNgTiCDCCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.GetInternalNgTiCDCCluster"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetInternalTiCDCCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetInternalTiCDCCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.GetInternalTiCDCCluster"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/ticdc-meta/{cluster_type}/internal-ticdc/{ticdc_cluster_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/{changefeed_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/pause/{changefeed_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/resume/{changefeed_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/ticdc-meta/internal-ticdc/{ticdc_cluster_id}/shutdown": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "CreatedAt.AsTime",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "CreatedAt.AsTime",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> CreatedAt.AsTime"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetInternalTiCDCCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetInternalTiCDCCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cloudconfig/ticdc_meta.go -> svc.GetInternalTiCDCCluster"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/topology": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ctlSvc.GetTopology",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ctlSvc.GetTopology",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> ctlSvc.GetTopology"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/components": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/clusters/{cluster_id}/ctl": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ctlSvc.ExecuteCtl",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ctlSvc.ExecuteCtl",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> ctlSvc.ExecuteCtl"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/alerts": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jiraSvc.ListAlerts",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiraSvc.ListAlerts",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> jiraSvc.ListAlerts"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/alert-summary": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jiraSvc.GetAlertSummary",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiraSvc.GetAlertSummary",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> jiraSvc.GetAlertSummary"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/dm-ns": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dataflowCli.GetClusterDMConfig",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dataflowCli.GetClusterDMConfig",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> dataflowCli.GetClusterDMConfig"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.GetOperationClusterWhiteListInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.GetOperationClusterWhiteListInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/cluster.go -> operationSvc.GetOperationClusterWhiteListInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/iam-info": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/cluster/k8sInfos": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "InfraInfoSvc.ListK8SInformation",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "InfraInfoSvc.ListK8SInformation",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_infra_info.go -> InfraInfoSvc.ListK8SInformation"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/k8sInfos/{cloud_provider}/{region}/{k8s_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "InfraInfoSvc.GetK8sInformation",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "InfraInfoSvc.GetK8sInformation",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_infra_info.go -> InfraInfoSvc.GetK8sInformation"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/controlplane": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sResourceSvc.GetControlplaneK8SResource",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sResourceSvc.GetControlplaneK8SResource",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_resource.go -> k8sResourceSvc.GetControlplaneK8SResource"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/k8s-resources": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sResourceSvc.ListK8SResources",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sResourceSvc.ListK8SResources",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_resource.go -> k8sResourceSvc.ListK8SResources"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/cluster-resources": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "mgmtHTTP.ClusterServer",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "mgmtHTTP.ClusterServer",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_resource.go -> mgmtHTTP.ClusterServer"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/k8sUpgradeTasks": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.ListTasks",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.ListTasks",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.ListTasks"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.GetTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.GetTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.GetTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/k8sUpgradeTasks": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.CreateTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.CreateTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.CreateTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/close": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.CloseTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.CloseTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.CloseTask"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.UpdateTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.UpdateTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.UpdateTask"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/submit": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.SubmitTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.SubmitTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.SubmitTask"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.GetK8sCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.GetK8sCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.GetK8sCluster"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.UpdateK8sCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.UpdateK8sCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.UpdateK8sCluster"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/autoGeneration": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.UpdateK8sClusterAutoGeneration",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.UpdateK8sClusterAutoGeneration",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.UpdateK8sClusterAutoGeneration"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/exclude": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.ExcludeK8sCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.ExcludeK8sCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.ExcludeK8sCluster"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.CancelUpgradeK8sCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.CancelUpgradeK8sCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.CancelUpgradeK8sCluster"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/cluster/k8sUpgradeTasks/{task_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "k8sUpgradeTaskSvc.DeleteTask",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "k8sUpgradeTaskSvc.DeleteTask",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/k8s_upgrade_task.go -> k8sUpgradeTaskSvc.DeleteTask"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/maintenances": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.ListMaintenances",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.ListMaintenances",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.ListMaintenances"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/maintenances/{maintenance_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.GetMaintenance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.GetMaintenance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.GetMaintenance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/maintenances": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.CreateMaintenance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.CreateMaintenance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.CreateMaintenance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/maintenances/{maintenance_id}/close": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.CloseMaintenance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.CloseMaintenance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.CloseMaintenance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/start": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.StartMaintenanceExecution",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.StartMaintenanceExecution",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.StartMaintenanceExecution"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/finish": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.FinishMaintenanceExecution",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.FinishMaintenanceExecution",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.FinishMaintenanceExecution"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "maintenanceSvc.CancelMaintenanceExecution",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "maintenanceSvc.CancelMaintenanceExecution",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/maintenance.go -> maintenanceSvc.CancelMaintenanceExecution"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/clusters/{cluster_id}/migration/create-migration-cluster": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/migration.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/clusters/{cluster_id}/migration/migrate-privatelink": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/migration.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/cluster/traffic/replays": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/cluster/traffic/replays/{replay_id}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/cluster/traffic/replays": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/traffic_replay.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/cluster/traffic/replays/{replay_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/traffic_replay.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/cluster/traffic/replays/{replay_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/traffic_replay.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/traffic/replays/{replay_id}/start": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/traffic_replay.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/cluster/traffic/replays/{replay_id}/stop": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/traffic_replay.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/clusters/{cluster_id}/vpc-peerings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "mgmtHTTP.NextGen",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "mgmtHTTP.NextGen",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/vpc_peering.go -> mgmtHTTP.NextGen"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/clusters/{cluster_id}/vpc-peerings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/vpc_peering.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/clusters/{cluster_id}/vpc-peerings/{vpc_peering_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "operationSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "operationSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/cluster/vpc_peering.go -> operationSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/configcenter/list": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "cfgctSvc.ListAttributes",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "cfgctSvc.ListAttributes",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/configcenter/configcenter_controller.go -> cfgctSvc.ListAttributes"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/configcenter/add": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "cfgctSvc.AddAttribute",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "cfgctSvc.AddAttribute",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/configcenter/configcenter_controller.go -> cfgctSvc.AddAttribute"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/configcenter/copy": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "cfgctSvc.CopyFromVersion",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "cfgctSvc.CopyFromVersion",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/configcenter/configcenter_controller.go -> cfgctSvc.CopyFromVersion"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/configcenter/modify": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "cfgctSvc.Modify",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "cfgctSvc.Modify",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/configcenter/configcenter_controller.go -> cfgctSvc.Modify"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/sla": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetSLAInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetSLAInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetSLAInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/sla-dedicated-monthly": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetMonthlySummaryOfDedicatedSLA",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetMonthlySummaryOfDedicatedSLA",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetMonthlySummaryOfDedicatedSLA"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/sla-next-gen-monthly": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetMonthlySummaryOfNextGenSLA",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetMonthlySummaryOfNextGenSLA",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetMonthlySummaryOfNextGenSLA"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/sla-dedicated-detail": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetClusterDetailOfDedicatedSLA",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetClusterDetailOfDedicatedSLA",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetClusterDetailOfDedicatedSLA"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/sla-next-gen-detail": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetClusterDetailOfNextGenSLA",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetClusterDetailOfNextGenSLA",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetClusterDetailOfNextGenSLA"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/slo": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetSLOInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetSLOInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetSLOInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/incident": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetIncidentInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetIncidentInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetIncidentInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/cloud-oncall": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetCloudOncallInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetCloudOncallInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetCloudOncallInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/critical-alert": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetAlertInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetAlertInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetAlertInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/release": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetReleaseInfo",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetReleaseInfo",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetReleaseInfo"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/top-qps-tenants": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetTop10QPSTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetTop10QPSTenants",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetTop10QPSTenants"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/top-tikv-storage-tenants": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetTop10TiKVStorageTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetTop10TiKVStorageTenants",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetTop10TiKVStorageTenants"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/dashboard/top-tiflash-storage-tenants": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "dashboardService.GetTop10TiFlashStorageTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "dashboardService.GetTop10TiFlashStorageTenants",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/dashboard/dashboard_controller.go -> dashboardService.GetTop10TiFlashStorageTenants"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/pulls": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListPullRequests",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListPullRequests",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/pull_request.go -> svc.ListPullRequests"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/pulls/{owner}/{repo}/{pr_number}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetPullRequestByLoc",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetPullRequestByLoc",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/pull_request.go -> svc.GetPullRequestByLoc"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops-internal/github/pulls/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.SyncPullRequests",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.SyncPullRequests",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/pull_request.go -> svc.SyncPullRequests"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/pulls": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/pulls/{pr_number}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/releases": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/releases/{release_tag}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/releases/diff": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/labels": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/raw/repos/{owner}/{repo}/labels/{label_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RawAPI",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RawAPI",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/raw.go -> svc.RawAPI"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/repos": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListRepository",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListRepository",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/repository.go -> svc.ListRepository"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/github/repos/{owner}/{repo}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetRepositoryByLoc",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetRepositoryByLoc",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/repository.go -> svc.GetRepositoryByLoc"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops-internal/github/repos/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.SyncRepository",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.SyncRepository",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/github/repository.go -> svc.SyncRepository"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/apikey/apikeys": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.ListAPIKey",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.ListAPIKey",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/api_key.go -> IAM.ListAPIKey"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/apikey/apikeys": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.GenerateAPIKey",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.GenerateAPIKey",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/api_key.go -> IAM.GenerateAPIKey"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/apikey/apikeys/{key_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.GetAPIKey",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.GetAPIKey",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/api_key.go -> IAM.GetAPIKey"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/apikey/apikeys/{key_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.DeleteAPIKey",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.DeleteAPIKey",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/api_key.go -> IAM.DeleteAPIKey"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/apikey/apikeys/{key_name}/permissions": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/iam/me": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/iam/policy/policies": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.ListPolicies",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.ListPolicies",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy.go -> IAM.ListPolicies"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/policy/policies/{policy_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.GetPolicy",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.GetPolicy",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy.go -> IAM.GetPolicy"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/policy/policies": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.CreatePolicy",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.CreatePolicy",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy.go -> IAM.CreatePolicy"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/iam/policy/policies/{policy_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.UpdatePolicy",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.UpdatePolicy",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy.go -> IAM.UpdatePolicy"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/policy/policies/{policy_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.DeletePolicy",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.DeletePolicy",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy.go -> IAM.DeletePolicy"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/policybinding/policybindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.ListPolicyBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.ListPolicyBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy_binding.go -> IAM.ListPolicyBindings"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/policybinding/policybindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.BatchCreatePolicyBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.BatchCreatePolicyBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy_binding.go -> IAM.BatchCreatePolicyBindings"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/policybinding/policybindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.BatchDeletePolicyBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.BatchDeletePolicyBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy_binding.go -> IAM.BatchDeletePolicyBindings"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/policybinding/policybindings/sync-target": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.SyncPolicyBindingsForRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.SyncPolicyBindingsForRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/policy_binding.go -> IAM.SyncPolicyBindingsForRole"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/role/roles": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.ListRoles",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.ListRoles",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role.go -> IAM.ListRoles"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/role/roles/{role_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.GetRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.GetRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role.go -> IAM.GetRole"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/role/roles": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.CreateRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.CreateRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role.go -> IAM.CreateRole"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/iam/role/roles/{role_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.UpdateRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.UpdateRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role.go -> IAM.UpdateRole"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/role/roles/{role_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.DeleteRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.DeleteRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role.go -> IAM.DeleteRole"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/role/roles/{role_name}/permissions": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/iam/rolebinding/rolebindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.ListRoleBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.ListRoleBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role_binding.go -> IAM.ListRoleBindings"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/rolebinding/rolebindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.BatchCreateRoleBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.BatchCreateRoleBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role_binding.go -> IAM.BatchCreateRoleBindings"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/rolebinding/rolebindings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.BatchDeleteRoleBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.BatchDeleteRoleBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role_binding.go -> IAM.BatchDeleteRoleBindings"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/rolebinding/rolebindings/sync-target": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "IAM.SyncRoleBindingsForTarget",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "IAM.SyncRoleBindingsForTarget",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/role_binding.go -> IAM.SyncRoleBindingsForTarget"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/usergroup/usergroups": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.ListGroups",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.ListGroups",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.ListGroups"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/usergroup/usergroups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.GetGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.GetGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.GetGroup"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/usergroup/usergroups": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.CreateGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.CreateGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.CreateGroup"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/iam/usergroup/usergroups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.UpdateGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.UpdateGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.UpdateGroup"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/usergroup/usergroups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.DeleteGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.DeleteGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.DeleteGroup"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/iam/usergroup/usergroups/{group_name}/mappings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.MapUsersToGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.MapUsersToGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.MapUsersToGroup"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/iam/usergroup/usergroups/{group_name}/mappings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "User.UnmapUsersFromGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "User.UnmapUsersFromGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/iam/user_group.go -> User.UnmapUsersFromGroup"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/iam/usergroup/usergroups/{group_name}/permissions": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/incidents": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.ListIncidents",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.ListIncidents",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.ListIncidents"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GetIncident",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GetIncident",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GetIncident"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.CreateIncident",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.CreateIncident",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.CreateIncident"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GenerateReportInFeishuChannel",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GenerateReportInFeishuChannel",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GenerateReportInFeishuChannel"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/incidents/{incident_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.UpdateIncident",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.UpdateIncident",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.UpdateIncident"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/incidents/{incident_id}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/logs": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.ListIncidentLogs",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.ListIncidentLogs",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.ListIncidentLogs"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/logs/{log_item_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GetIncidentLogItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GetIncidentLogItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GetIncidentLogItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/logs": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.CreateIncidentLogItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.CreateIncidentLogItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.CreateIncidentLogItem"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/incidents/{incident_id}/log/{log_item_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.UpdateIncidentLogItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.UpdateIncidentLogItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.UpdateIncidentLogItem"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/incidents/{incident_id}/logs/{log_item_id}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.ListIncidentPostMortemItems",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.ListIncidentPostMortemItems",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.ListIncidentPostMortemItems"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GetIncidentPostMortem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GetIncidentPostMortem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GetIncidentPostMortem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.CreateIncidentPostMortem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.CreateIncidentPostMortem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.CreateIncidentPostMortem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.UpdateIncidentPostMortem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.UpdateIncidentPostMortem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.UpdateIncidentPostMortem"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.DeleteIncidentPostMortem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.DeleteIncidentPostMortem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.DeleteIncidentPostMortem"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.ListIncidentPostMortemTimelines",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.ListIncidentPostMortemTimelines",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.ListIncidentPostMortemTimelines"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines/{timeline_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GetIncidentPostMortemTimelineItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GetIncidentPostMortemTimelineItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GetIncidentPostMortemTimelineItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.CreateIncidentPostMortemTimelineItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.CreateIncidentPostMortemTimelineItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.CreateIncidentPostMortemTimelineItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines/{timeline_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.UpdateIncidentPostMortemTimelineItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.UpdateIncidentPostMortemTimelineItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.UpdateIncidentPostMortemTimelineItem"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines/{timeline_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.DeleteIncidentPostMortemTimelineItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.DeleteIncidentPostMortemTimelineItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.DeleteIncidentPostMortemTimelineItem"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.ListIncidentPostMortemToDoActions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.ListIncidentPostMortemToDoActions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.ListIncidentPostMortemToDoActions"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/{action_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.GetIncidentPostMortemToDoActionItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.GetIncidentPostMortemToDoActionItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.GetIncidentPostMortemToDoActionItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.CreateIncidentPostMortemToDoActionItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.CreateIncidentPostMortemToDoActionItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.CreateIncidentPostMortemToDoActionItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/{action_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.UpdateIncidentPostMortemToDoActionItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.UpdateIncidentPostMortemToDoActionItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.UpdateIncidentPostMortemToDoActionItem"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/{action_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.DeleteIncidentPostMortemToDoActionItem",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.DeleteIncidentPostMortemToDoActionItem",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.DeleteIncidentPostMortemToDoActionItem"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "incidentSvc.SyncToDoActionStatusFromFeishu",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "incidentSvc.SyncToDoActionStatusFromFeishu",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/incident/incident_controller.go -> incidentSvc.SyncToDoActionStatusFromFeishu"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/incidents/:incident_id/feishu_message": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/incidents/:incident_id/feishu_task": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/incidents/:incident_id/postmortem/todoaction": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/incidents/:incident_id/postmortem/todoaction/:action_id": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/jira/issue/unified_issues": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.ListUnifiedIssues",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.ListUnifiedIssues",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.ListUnifiedIssues"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/unified_issues/search": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.ListUnifiedIssues",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.ListUnifiedIssues",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.ListUnifiedIssues"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jira/issue/unified_issues/{key}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.GetUnifiedIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.GetUnifiedIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.GetUnifiedIssue"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/repo_issues": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.SyncIssueSnapshotByKey",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.SyncIssueSnapshotByKey",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.SyncIssueSnapshotByKey"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/repo_issues/batch": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.SyncIssueSnapshotByJQL",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.SyncIssueSnapshotByJQL",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.SyncIssueSnapshotByJQL"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/repo_issues/triage": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.UpsertIssueTriage",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.UpsertIssueTriage",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.UpsertIssueTriage"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jira/issue/repo_issues/triage/tag_definitions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.ListIssueTriageTagDefinitions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.ListIssueTriageTagDefinitions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.ListIssueTriageTagDefinitions"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/repo_issues/triage/tag_definitions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.CreateIssueTriageTagDefinition",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.CreateIssueTriageTagDefinition",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.CreateIssueTriageTagDefinition"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/jira/issue/repo_issues/triage/tag_definitions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.DeleteIssueTriageTagDefinition",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.DeleteIssueTriageTagDefinition",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.DeleteIssueTriageTagDefinition"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jira/issue/repo_issues/timeline_summary": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.SetIssueTimelineSummary",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.SetIssueTimelineSummary",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.SetIssueTimelineSummary"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jira/issue/jira_issues": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.ListIssuesFromJira",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.ListIssuesFromJira",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.ListIssuesFromJira"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jira/issue/jira_issues/{key}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jira.GetIssueFromJira",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jira.GetIssueFromJira",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jira/jira_controller.go -> jira.GetIssueFromJira"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/authorizations": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.ListAuthorizations",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.ListAuthorizations",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.ListAuthorizations"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/destination/{destination_type}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.ListAvailableDestinations",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.ListAvailableDestinations",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.ListAvailableDestinations"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/authorizations/{authorization_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.GetAuthorization",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.GetAuthorization",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.GetAuthorization"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jump/authorizations": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.CreateAuthorization",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.CreateAuthorization",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.CreateAuthorization"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jump/authorizations/{authorization_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.CancelAuthorizaiton",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.CancelAuthorizaiton",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.CancelAuthorizaiton"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/authorizations/{authorization_id}/jumppod_param": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.GetJumpPodParams",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.GetJumpPodParams",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.GetJumpPodParams"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/jumpserver/users/me": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.GetUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.GetUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.GetUser"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/jump/jumpserver/users/{email}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.GetUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.GetUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.GetUser"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jump/jumpserver/users/activate": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.InitUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.InitUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.InitUser"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/jump-admin/invite-user": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jmpSvc.InitUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jmpSvc.InitUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/jump/jump.go -> jmpSvc.InitUser"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/message/email/send_batch": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "Message.SendEmail",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "Message.SendEmail",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/message/message_controller.go -> Message.SendEmail"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/message/email/send": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "Message.SendEmail",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "Message.SendEmail",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/message/message_controller.go -> Message.SendEmail"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/message/email/records": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "Message.ListEmailRecords",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "Message.ListEmailRecords",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/message/message_controller.go -> Message.ListEmailRecords"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/message/email/records/{record_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "Message.GetEmailRecord",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "Message.GetEmailRecord",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/message/message_controller.go -> Message.GetEmailRecord"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/mgmt-portal/spus/{spu_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/mgmt-portal/mgmtportal_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/mgmt-portal/skus/{sku_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/mgmt-portal/mgmtportal_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/mgmt-portal/spus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.ListSpus",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.ListSpus",
              "trigger": "List SPUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.GenerateMgmtPortalProxy(\"spus\", false) / ListSpus"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/mgmt-portal/spus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.CreateSpu",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.CreateSpu",
              "trigger": "Create SPUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.GenerateMgmtPortalProxy(\"spus\", true) / CreateSpu"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/mgmt-portal/skus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.ListSkus",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.ListSkus",
              "trigger": "List SKUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.GenerateMgmtPortalProxy(\"skus\", false) / ListSkus"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/mgmt-portal/skus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.CreateSku",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.CreateSku",
              "trigger": "Create SKUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.GenerateMgmtPortalProxy(\"skus\", true) / CreateSku"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/mgmt-portal/computeMus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.ListComputeMus",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.ListComputeMus",
              "trigger": "List compute MUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.ListComputMus()"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/mgmt-portal/storageMus": {
      "infrastructure": {},
      "services": [
        {
          "name": "mgmt-portal-service",
          "target_interface": "MgmtPortalService.ListStorageMus",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request validation succeeds"
          ],
          "operations": [
            {
              "operation": "MgmtPortalService.ListStorageMus",
              "trigger": "List storage MUs through the management-portal adapter",
              "conditions": [
                "After request validation succeeds"
              ],
              "implementation": "mgmtportal_controller.go -> c.ListStorageMus()"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/monitoring/component-diff/reports": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.CheckComponentDiff",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.CheckComponentDiff",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/monitoring/monitoring_controller.go -> svc.CheckComponentDiff"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/monitoring/component-diff/reports/{type}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListComponentDiffReports",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListComponentDiffReports",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/monitoring/monitoring_controller.go -> svc.ListComponentDiffReports"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/monitoring/component-diff/reports/{type}/{name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetComponentDiffReport",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetComponentDiffReport",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/monitoring/monitoring_controller.go -> svc.GetComponentDiffReport"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/certificate/regions/:region": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/monitoring/component-diff/reports/:type": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/monitoring/component-diff/reports/:type/:name": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/monitoring/weekly-idle-report/report-week": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/monitoring/weekly-idle-report/report-jira": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/monitoring/customer-event-detection/detect": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/monitoring/check": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/o11y/clusters": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "o11y.ListClusters",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "o11y.ListClusters",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> o11y.ListClusters"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/o11y/clusters/{id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "o11y.GetCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "o11y.GetCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> o11y.GetCluster"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/o11y/clusters": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "clinic.AddCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "clinic.AddCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> clinic.AddCluster"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "clinic.GetOrganizationByCloudID",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "clinic.GetOrganizationByCloudID",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> clinic.GetOrganizationByCloudID"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "o11y.CreateCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "o11y.CreateCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> o11y.CreateCluster"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/o11y/clusters/{id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "clinic.ListClusters",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "clinic.ListClusters",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> clinic.ListClusters"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "clinic.UpdateClusterStatus",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "clinic.UpdateClusterStatus",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> clinic.UpdateClusterStatus"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "logger.Info",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "logger.Info",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> logger.Info"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "o11y.DeleteCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "o11y.DeleteCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> o11y.DeleteCluster"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "o11y.GetCluster",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "o11y.GetCluster",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/o11y/o11y.go -> o11y.GetCluster"
            }
          ]
        }
      ]
    },
    "Runtime O11yControllerHTTP.Proxy": {
      "infrastructure": {},
      "services": [
        {
          "name": "o11y-service",
          "target_interface": "ANY /<proxy-path>",
          "operation_type": "http_proxy",
          "target_repo": "tidbcloud/o11y",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "ANY /<proxy-path>",
              "trigger": "Proxy requests to the o11y service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "O11yController.O11yProxy -> httputil.ReverseProxy to https://o11y-service"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/actions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.ListActions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.ListActions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/action.go -> opSvc.ListActions"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/actions/{action_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.GetAction",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.GetAction",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/action.go -> opSvc.GetAction"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/instances": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.ListInstances",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.ListInstances",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.ListInstances"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/instances/{instance_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.GetInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.GetInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.GetInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/operation/instances": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/operation/instances/{instance_id}/submit": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.SubmitInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.SubmitInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.SubmitInstance"
            }
          ]
        }
      ]
    },
    "HTTP PATCH /api/v1/devops/operation/instances/{instance_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.UpdateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.UpdateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.UpdateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/operation/instances/{instance_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CancelInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CancelInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.CancelInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/operation/instances/{instance_id}/actions/{action_order}/start": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.StartInstanceAction",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.StartInstanceAction",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.StartInstanceAction"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/operation/instances/{instance_id}/actions/{action_order}/finish": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.FinishInstanceAction",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.FinishInstanceAction",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/instance.go -> opSvc.FinishInstanceAction"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/operations": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.ListOperations",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.ListOperations",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/operation.go -> opSvc.ListOperations"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/operations/{operation_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.GetOperation",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.GetOperation",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/operation.go -> opSvc.GetOperation"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/operation/operations/categories": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.ListOperationCategories",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.ListOperationCategories",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/operation/operation.go -> opSvc.ListOperationCategories"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/privilege/privileges": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListPrivileges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListPrivileges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege.go -> svc.ListPrivileges"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/privilege/privileges": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RequestPrivilege",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RequestPrivilege",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege.go -> svc.RequestPrivilege"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/privilege/privileges/{priv_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.GetPrivilege",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.GetPrivilege",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege.go -> svc.GetPrivilege"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/privilege/privileges/{priv_id}/revoke": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.RevokePrivilege",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RevokePrivilege",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege.go -> svc.RevokePrivilege"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/privilege/auto/oncaller": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "svc.ListPrivileges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.ListPrivileges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege_controller.go -> svc.ListPrivileges"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.RequestPrivilege",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.RequestPrivilege",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege_controller.go -> svc.RequestPrivilege"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "svc.UnbindingUsersOfPrivilege",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "svc.UnbindingUsersOfPrivilege",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/privilege/privilege_controller.go -> svc.UnbindingUsersOfPrivilege"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/projects/{project_id}/vpc": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "projectService.ListVPCs",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "projectService.ListVPCs",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/project/project_controller.go -> projectService.ListVPCs"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}/projects/{project_id}/vpc/{vpc_id}/cidr": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/project/project_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/roles": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacService.ListRoles",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacService.ListRoles",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/rbac/rbac_controller.go -> rbacService.ListRoles"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/roles/{role_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacService.GetRoleByID",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacService.GetRoleByID",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/rbac/rbac_controller.go -> rbacService.GetRoleByID"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/roles": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacService.CreateRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacService.CreateRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/rbac/rbac_controller.go -> rbacService.CreateRole"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/roles/{role_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacService.UpdateRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacService.UpdateRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/rbac/rbac_controller.go -> rbacService.UpdateRole"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/roles/{role_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacService.DeleteRole",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacService.DeleteRole",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/rbac/rbac_controller.go -> rbacService.DeleteRole"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/region/regions/list": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/region/regions/get": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/region/regions/register": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/region/region.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/region/regions/update": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/region/region.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/changes/default": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.DefaultChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.DefaultChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.DefaultChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.CreateChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.CreateChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.CreateChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/changes/{change_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.GetChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.GetChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.GetChange"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.GetRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.GetRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> relSvc.GetRelease"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/release/changes/{change_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.UpdateChangeBeforeDeploy",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.UpdateChangeBeforeDeploy",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.UpdateChangeBeforeDeploy"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/deploy": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.ExecuteDeployment",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.ExecuteDeployment",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.ExecuteDeployment"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/verify": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.VerifyDeployment",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.VerifyDeployment",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.VerifyDeployment"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/ready": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.IsDeploymentReady",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.IsDeploymentReady",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.IsDeploymentReady"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes/{change_id}/submit": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.SubmitChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.SubmitChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.SubmitChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes/{change_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.CancelChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.CancelChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.CancelChange"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/changes/{change_id}/close": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.CloseChange",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.CloseChange",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/change.go -> chgSvc.CloseChange"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/releases": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.ListReleases",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.ListReleases",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/release.go -> relSvc.ListReleases"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/releases/{release_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.GetRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.GetRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/release.go -> relSvc.GetRelease"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops-internal/release/releases/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.SyncRelease",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.SyncRelease",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/release.go -> relSvc.SyncRelease"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/releases/{release_id}/changes": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "chgSvc.ListChanges",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "chgSvc.ListChanges",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/release.go -> chgSvc.ListChanges"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/tickets": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.ListTickets",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.ListTickets",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/ticket.go -> relSvc.ListTickets"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/release/tickets/{ticket_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.GetTicket",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.GetTicket",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/ticket.go -> relSvc.GetTicket"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/release/tickets/{ticket_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.UpdateTicket",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.UpdateTicket",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/ticket.go -> relSvc.UpdateTicket"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/tickets/{ticket_name}/sync_async": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "relSvc.SyncTicketsAsync",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "relSvc.SyncTicketsAsync",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/release/ticket.go -> relSvc.SyncTicketsAsync"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/release/releases/sync": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/remediationtickets": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.ListTickets",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.ListTickets",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.ListTickets"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.CreateTicket",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.CreateTicket",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.CreateTicket"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/remediationtickets/{ticket_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.GetTicket",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.GetTicket",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.GetTicket"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets/{ticket_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.CancelTicket",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.CancelTicket",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.CancelTicket"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets/{ticket_id}/submit": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.SubmitPhaseTransitionApproval",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.SubmitPhaseTransitionApproval",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.SubmitPhaseTransitionApproval"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets/{ticket_id}/approve": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.ApproveTicketPhase",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.ApproveTicketPhase",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.ApproveTicketPhase"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets/{ticket_id}/reject": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.RejectTicketPhase",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.RejectTicketPhase",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.RejectTicketPhase"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/remediationtickets/{ticket_id}/progress": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.GetTicketProgress",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.GetTicketProgress",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.GetTicketProgress"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/remediationtickets/{ticket_id}/ticket_approvals": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.GetTicketApprovals",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.GetTicketApprovals",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.GetTicketApprovals"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/remediationtickets/{ticket_id}/generate_doc": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rtSvc.GenerateFinalDoc",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rtSvc.GenerateFinalDoc",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/remediationticket/remediationticket.go -> rtSvc.GenerateFinalDoc"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/secondaryconfirm/diff": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "sndcfmSvc.Diff",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "sndcfmSvc.Diff",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/secondary-confirm/secondaryconfirm_controller.go -> sndcfmSvc.Diff"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/secondaryconfirm/apply": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "sndcfmSvc.Apply",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "sndcfmSvc.Apply",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/secondary-confirm/secondaryconfirm_controller.go -> sndcfmSvc.Apply"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/secondaryconfirm/list": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "sndcfmSvc.List",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "sndcfmSvc.List",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/secondary-confirm/secondaryconfirm_controller.go -> sndcfmSvc.List"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/secondaryconfirm/abandon": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "sndcfmSvc.Abandon",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "sndcfmSvc.Abandon",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/secondary-confirm/secondaryconfirm_controller.go -> sndcfmSvc.Abandon"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.ListTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.ListTenants",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.ListTenants"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops-internal/tenants": {
      "infrastructure": {},
      "services": [
        {
          "name": "tenant-service",
          "target_interface": "TenantService.ListTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Only on the internal listener"
          ],
          "operations": [
            {
              "operation": "TenantService.ListTenants",
              "trigger": "Serve the internal tenant list API",
              "conditions": [
                "Only on the internal listener"
              ],
              "implementation": "tenant_controller.go -> c.ListTenantsInternal()"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops-internal/tenants/{tenant_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/tenants/{tenant_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/impersonate": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/impersonate": {
      "infrastructure": {},
      "services": []
    },
    "HTTP DELETE /api/v1/devops/tenants/impersonate": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "logger.Error",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "logger.Error",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> logger.Error"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CancelInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CancelInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CancelInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.DeleteImpersonate",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.DeleteImpersonate",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.DeleteImpersonate"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/accountusers": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenantUsers",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenantUsers",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenantUsers"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/projects/{project_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetProject",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetProject",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetProject"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/projects/{project_id}/accountusers": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetProjectUsers",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetProjectUsers",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetProjectUsers"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}/accountusers/{user_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}/projects/{project_id}/accountusers/{user_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/tenants/{tenant_id}/accountusers/{user_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/tenants/{tenant_id}/projects/{project_id}/accountusers/{user_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/accountusers/{user_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/tenants/{tenant_id}/projects/{project_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}/credits": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "tenantSvc.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "tenantSvc.GetTenant",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> tenantSvc.GetTenant"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/quota": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/tenants/{tenant_id}/ops_audit_log_settings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "opSvc.CreateInstance",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "opSvc.CreateInstance",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/tenant/tenant_controller.go -> opSvc.CreateInstance"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/{tenant_id}/byoc_regions": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/tenants/metricsproxy/*any": {
      "infrastructure": {},
      "services": [
        {
          "name": "o11y-prometheus",
          "target_interface": "GET /<proxy-path>",
          "operation_type": "http_proxy",
          "target_repo": "tidbcloud/o11y",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "GET /<proxy-path>",
              "trigger": "Proxy tenant metrics requests to the configured EE-Prom endpoint",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "TenantController.MetricsProxy -> httputil.NewSingleHostReverseProxy(c.conf.O11yEndpoint)"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/:tenant_id/audit/settings": {
      "infrastructure": {},
      "services": [
        {
          "name": "account-service",
          "target_interface": "GET /api/v1/ops-audit/{tenant_id}/settings",
          "operation_type": "http_get",
          "target_repo": "tidbcloud/account",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "GET /api/v1/ops-audit/{tenant_id}/settings",
              "trigger": "Proxy tenant audit settings requests to account-service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "TenantController.RegisterAPI -> accountCli.GetProxyHandler(...)"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/:tenant_id/audit/audit_logs": {
      "infrastructure": {},
      "services": [
        {
          "name": "account-service",
          "target_interface": "GET /api/v1/ops-audit/{tenant_id}/audit_logs",
          "operation_type": "http_get",
          "target_repo": "tidbcloud/account",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "GET /api/v1/ops-audit/{tenant_id}/audit_logs",
              "trigger": "Proxy tenant audit-log listing requests to account-service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "TenantController.RegisterAPI -> accountCli.GetProxyHandler(...)"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/:tenant_id/audit/audit_logs/export": {
      "infrastructure": {},
      "services": [
        {
          "name": "account-service",
          "target_interface": "GET /api/v1/ops-audit/{tenant_id}/audit_logs/export",
          "operation_type": "http_get",
          "target_repo": "tidbcloud/account",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "GET /api/v1/ops-audit/{tenant_id}/audit_logs/export",
              "trigger": "Proxy tenant audit-log export requests to account-service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "TenantController.RegisterAPI -> accountCli.GetProxyHandler(...)"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/tenants/:tenant_id/audit/event_types": {
      "infrastructure": {},
      "services": [
        {
          "name": "account-service",
          "target_interface": "GET /api/v1/ops-audit/event_types",
          "operation_type": "http_get",
          "target_repo": "tidbcloud/account",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "GET /api/v1/ops-audit/event_types",
              "trigger": "Proxy audit event-type listing requests to account-service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "TenantController.RegisterAPI -> accountCli.GetProxyHandler(...)"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops-internal/tenants/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "tenant-service",
          "target_interface": "TenantService.SyncTenants",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Only on the internal listener"
          ],
          "operations": [
            {
              "operation": "TenantService.SyncTenants",
              "trigger": "Trigger tenant synchronization from the internal API surface",
              "conditions": [
                "Only on the internal listener"
              ],
              "implementation": "tenant_controller.go -> c.SyncTenants()"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops-internal/tenants/:tenant_id": {
      "infrastructure": {},
      "services": [
        {
          "name": "tenant-service",
          "target_interface": "TenantService.GetTenant",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "Only on the internal listener"
          ],
          "operations": [
            {
              "operation": "TenantService.GetTenant",
              "trigger": "Serve the internal tenant detail API",
              "conditions": [
                "Only on the internal listener"
              ],
              "implementation": "tenant_controller.go -> c.GetTenantInternal()"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/me/apitoken/tokens": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListAPIToken",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListAPIToken",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.ListAPIToken"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/me/apitoken/tokens": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.GenerateAPIToken",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.GenerateAPIToken",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.GenerateAPIToken"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListAPIToken",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListAPIToken",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.ListAPIToken"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/me/apitoken/tokens/{token_name}": {
      "infrastructure": {},
      "services": []
    },
    "HTTP DELETE /api/v1/devops/me/apitoken/tokens/{token_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.DeleteAPIToken",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.DeleteAPIToken",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.DeleteAPIToken"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/me/apitoken/ip-access-list": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.GetAPITokenIPAccessList",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.GetAPITokenIPAccessList",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.GetAPITokenIPAccessList"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/me/apitoken/ip-access-list": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListAPIToken",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListAPIToken",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.ListAPIToken"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.UpsertAPITokenIPAccessList",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.UpsertAPITokenIPAccessList",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/api_token.go -> userSvc.UpsertAPITokenIPAccessList"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/me": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/users": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /api/v1/devops/users/detail": {
      "infrastructure": {},
      "services": []
    },
    "HTTP PUT /api/v1/devops/users/roles": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /api/v1/devops/users/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.SyncUsersManually",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.SyncUsersManually",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.SyncUsersManually"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops-internal/user/users/sync": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.SyncUsersManually",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.SyncUsersManually",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.SyncUsersManually"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/user/groups": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListGroups",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListGroups",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.ListGroups"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/user/groups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.GetGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.GetGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.GetGroup"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/user/groups": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.CreateGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.CreateGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.CreateGroup"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/user/groups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.UpdateGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.UpdateGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.UpdateGroup"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/user/groups/{group_name}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.DeleteGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.DeleteGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.DeleteGroup"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/user/user-group-mappings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.MapUsersToGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.MapUsersToGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.MapUsersToGroup"
            }
          ]
        }
      ]
    },
    "HTTP DELETE /api/v1/devops/user/user-group-mappings": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "rbacSvc.CreateRoleBinding",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacSvc.CreateRoleBinding",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> rbacSvc.CreateRoleBinding"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "rbacSvc.DeleteRoleBinding",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacSvc.DeleteRoleBinding",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> rbacSvc.DeleteRoleBinding"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "rbacSvc.ListRoleBindings",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "rbacSvc.ListRoleBindings",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> rbacSvc.ListRoleBindings"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.GetUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.GetUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.GetUser"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListUsers",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListUsers",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.ListUsers"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.UnmapUsersFromGroup",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.UnmapUsersFromGroup",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/user/user_controller.go -> userSvc.UnmapUsersFromGroup"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/userbehavior/subscriptions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.ListSubscriptions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.ListSubscriptions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.ListSubscriptions"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/userbehavior/subscriptions/{subscription_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.GetSubscription",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.GetSubscription",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.GetSubscription"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/userbehavior/subscriptions": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.CreateSubscription",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.CreateSubscription",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.CreateSubscription"
            }
          ]
        }
      ]
    },
    "HTTP PUT /api/v1/devops/userbehavior/subscriptions/{subscription_id}": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.EditSubscription",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.EditSubscription",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.EditSubscription"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/userbehavior/subscriptions/{subscription_id}/cancel": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.DeleteSubscription",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.DeleteSubscription",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.DeleteSubscription"
            }
          ]
        }
      ]
    },
    "HTTP GET /api/v1/devops/userbehavior/subscriptions/larkchat_options": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.GetLarkChatOptions",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.GetLarkChatOptions",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.GetLarkChatOptions"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/userbehavior/subscriptions/{subscription_id}/mock": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.SendMockEventToSubscription",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.SendMockEventToSubscription",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.SendMockEventToSubscription"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/userbehavior/subscriptions/add_chat": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "ubsvc.AddExternalLarkChat",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "ubsvc.AddExternalLarkChat",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/userbehavior/userbehavior.go -> ubsvc.AddExternalLarkChat"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/webhook/jira/sync-lark-group": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jiracli.BindLarkGroupToIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiracli.BindLarkGroupToIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> jiracli.BindLarkGroupToIssue"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "jiracli.GetBindingLarkGroupOfIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiracli.GetBindingLarkGroupOfIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> jiracli.GetBindingLarkGroupOfIssue"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "logger.Info",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "logger.Info",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> logger.Info"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/webhook/jira/invite-assignee": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jiracli.GetBindingLarkGroupOfIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiracli.GetBindingLarkGroupOfIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> jiracli.GetBindingLarkGroupOfIssue"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "logger.Info",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "logger.Info",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> logger.Info"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.GetUser",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.GetUser",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> userSvc.GetUser"
            }
          ]
        }
      ]
    },
    "HTTP POST /api/v1/devops/webhook/jira/create-lark-group-for-s1-tickets": {
      "infrastructure": {},
      "services": [
        {
          "name": "devops-local-service",
          "target_interface": "jiracli.BindLarkGroupToIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiracli.BindLarkGroupToIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> jiracli.BindLarkGroupToIssue"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "jiracli.GetIssue",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "jiracli.GetIssue",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> jiracli.GetIssue"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "logger.Error",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "logger.Error",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> logger.Error"
            }
          ]
        },
        {
          "name": "devops-local-service",
          "target_interface": "userSvc.ListUsers",
          "operation_type": "local_call",
          "target_repo": "tidbcloud/devops",
          "conditions": [
            "After request parsing and validation succeed"
          ],
          "operations": [
            {
              "operation": "userSvc.ListUsers",
              "trigger": "Invoke the directly referenced controller dependency",
              "conditions": [
                "After request parsing and validation succeed"
              ],
              "implementation": "controller/webhook/webhook_controller.go -> userSvc.ListUsers"
            }
          ]
        }
      ]
    },
    "Runtime AIOpsControllerHTTP.Proxy": {
      "infrastructure": {},
      "services": [
        {
          "name": "aiops-service",
          "target_interface": "ANY /<proxy-path>",
          "operation_type": "http_proxy",
          "target_repo": "tidbcloud/aiops",
          "conditions": [
            "After API auth succeeds"
          ],
          "operations": [
            {
              "operation": "ANY /<proxy-path>",
              "trigger": "Proxy authenticated requests into the internal aiops service",
              "conditions": [
                "After API auth succeeds"
              ],
              "implementation": "AIOpsController.Proxy -> httputil.ReverseProxy to c.addr over HTTP with X-USER-EMAIL header"
            }
          ]
        }
      ]
    },
    "Runtime AIOpsControllerHTTP.ExternalProxy": {
      "infrastructure": {},
      "services": [
        {
          "name": "aiops-service",
          "target_interface": "ANY /api/v1/aiops-external/*",
          "operation_type": "http_proxy",
          "target_repo": "tidbcloud/aiops",
          "conditions": [
            "Proxy path must start with /api/v1/aiops-external"
          ],
          "operations": [
            {
              "operation": "ANY /api/v1/aiops-external/*",
              "trigger": "Proxy unauthenticated external aiops traffic after validating the prefix",
              "conditions": [
                "Proxy path must start with /api/v1/aiops-external"
              ],
              "implementation": "AIOpsController.ProxyExternal -> httputil.ReverseProxy to c.addr over HTTP"
            }
          ]
        }
      ]
    },
    "Runtime BillingControllerHTTP.Proxy": {
      "infrastructure": {},
      "services": [
        {
          "name": "billing-service",
          "target_interface": "ANY /<proxy-path>",
          "operation_type": "http_proxy",
          "target_repo": "tidbcloud/billing",
          "conditions": [
            "Only when operator type is a real user"
          ],
          "operations": [
            {
              "operation": "ANY /<proxy-path>",
              "trigger": "Proxy user-originated billing requests to the billing service",
              "conditions": [
                "Only when operator type is a real user"
              ],
              "implementation": "BillingController.BillingProxy -> httputil.ReverseProxy to billing service with X-BILLING-REQUEST-SOURCE and X-ACCOUNT-USER-EMAIL headers"
            }
          ]
        }
      ]
    }
  },
  "notes": [
    "HTTP route mappings are seeded from the annotated controller surface and then patched with undocumented proxy/internal/runtime endpoints from registration code.",
    "Direct handler-to-service dependencies record the first concrete call sites (`c.<service>.<method>`) so later rescans can deepen only the high-signal routes instead of rediscovering the entire API surface from scratch."
  ]
}
