| 3138 | // gRPC API surface, so boxing here would diverge from every other handler. |
| 3139 | #[allow(clippy::result_large_err)] |
| 3140 | fn validate_vm_sandbox(sandbox: &Sandbox, gpu_enabled: bool) -> Result<(), Status> { |
| 3141 | validate_sandbox_id(&sandbox.id)?; |
| 3142 | |
| 3143 | let spec = sandbox |
| 3144 | .spec |
| 3145 | .as_ref() |
| 3146 | .ok_or_else(|| Status::invalid_argument("sandbox spec is required"))?; |
| 3147 | |
| 3148 | if let Some(template) = spec.template.as_ref() { |
| 3149 | validate_vm_sandbox_template(template)?; |
| 3150 | } |
| 3151 | validate_gpu_request(sandbox, gpu_enabled)?; |
| 3152 | |
| 3153 | Ok(()) |
| 3154 | } |
| 3155 | |
| 3156 | #[allow(clippy::result_large_err)] |
| 3157 | fn validate_vm_sandbox_template(template: &SandboxTemplate) -> Result<(), Status> { |