(
&self,
request: Request<SetClusterInferenceRequest>,
)
| 80 | |
| 81 | #[rpc_auth(auth = "bearer", scope = "inference:write", role = "admin")] |
| 82 | async fn set_cluster_inference( |
| 83 | &self, |
| 84 | request: Request<SetClusterInferenceRequest>, |
| 85 | ) -> Result<Response<SetClusterInferenceResponse>, Status> { |
| 86 | let req = request.into_inner(); |
| 87 | let route_name = effective_route_name(&req.route_name)?; |
| 88 | let verify = !req.no_verify; |
| 89 | let route = upsert_cluster_inference_route( |
| 90 | self.state.store.as_ref(), |
| 91 | route_name, |
| 92 | &req.provider_name, |
| 93 | &req.model_id, |
| 94 | req.timeout_secs, |
| 95 | verify, |
| 96 | ) |
| 97 | .await?; |
| 98 | |
| 99 | let config = route |
| 100 | .route |
| 101 | .config |
| 102 | .as_ref() |
| 103 | .ok_or_else(|| Status::internal("managed route missing config"))?; |
| 104 | |
| 105 | Ok(Response::new(SetClusterInferenceResponse { |
| 106 | provider_name: config.provider_name.clone(), |
| 107 | model_id: config.model_id.clone(), |
| 108 | version: route.route.version, |
| 109 | route_name: route_name.to_string(), |
| 110 | validation_performed: !route.validation.is_empty(), |
| 111 | validated_endpoints: route.validation, |
| 112 | timeout_secs: config.timeout_secs, |
| 113 | })) |
| 114 | } |
| 115 | |
| 116 | #[rpc_auth(auth = "bearer", scope = "inference:read", role = "user")] |
| 117 | async fn get_cluster_inference( |
no test coverage detected