forevervm_sdk/api/
http_api.rs

1use super::{api_types::ApiMachine, id_types::MachineName};
2use serde::{Deserialize, Serialize};
3use std::collections::HashMap;
4
5#[derive(Serialize, Deserialize)]
6pub struct WhoamiResponse {
7    pub account: String,
8}
9
10#[derive(Serialize, Deserialize)]
11pub struct CreateMachineResponse {
12    pub machine_name: MachineName,
13}
14
15#[derive(Serialize, Deserialize)]
16pub struct ListMachinesResponse {
17    pub machines: Vec<ApiMachine>,
18}
19
20#[derive(Debug, Default, Serialize, Deserialize)]
21pub struct CreateMachineRequest {
22    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
23    pub tags: HashMap<String, String>,
24
25    /// Memory size in MB. If not specified, a default value will be used.
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub memory_mb: Option<u32>,
28}
29
30#[derive(Debug, Default, Serialize, Deserialize)]
31pub struct ListMachinesRequest {
32    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
33    pub tags: HashMap<String, String>,
34}