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