firecracker_http_client/
cpu.rs1use crate::FirecrackerError;
2use async_trait::async_trait;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize)]
6pub struct CpuConfig {
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub template: Option<String>,
9}
10
11#[async_trait]
12pub trait CpuConfigOperations {
13 async fn put_cpu_config(&self, config: &CpuConfig) -> Result<(), FirecrackerError>;
14}
15
16#[async_trait]
17impl CpuConfigOperations for crate::FirecrackerClient {
18 async fn put_cpu_config(&self, config: &CpuConfig) -> Result<(), FirecrackerError> {
19 let url = self.url("cpu-config")?;
20 let response = self.client.put(url).json(config).send().await?;
21
22 if !response.status().is_success() {
23 return Err(FirecrackerError::Api {
24 status_code: response.status().as_u16(),
25 message: response.text().await?,
26 });
27 }
28
29 Ok(())
30 }
31}