1pub mod api_manager;
2pub mod checks;
3pub mod endpoints;
4pub mod machine;
5pub mod networking;
6pub mod process;
7pub mod regions;
8pub mod resources;
9pub mod services;
10pub mod system;
11
12pub use api_manager::MachineManager;
13pub use checks::{CheckKind, CheckType, Checks, Header, Protocol};
14pub use endpoints::{EventResponse, MachineRequest, MachineResponse};
15pub use machine::{MachineConfig, MachineState};
16pub use networking::{DnsConfig, DnsForwardRule};
17pub use process::{
18 CommandResponse, EnvVarConfig, FieldRefEnum, ProcessConfig, ProcessResponse, SecretConfig,
19};
20pub use regions::MachineRegions;
21pub use resources::{CpuKind, GpuKind, GuestConfig, RestartPolicy, RestartPolicyEnum};
22pub use services::ServiceConfig;
23pub use system::{FileConfig, InitConfig, MetricsConfig, MountConfig, StaticConfig, StopConfig};
24
25use serde::{Deserialize, Serialize};
26
27#[derive(Serialize, Deserialize, Debug)]
28#[serde(rename_all = "lowercase")]
29pub struct TimeoutConfig {
30 pub duration: u64,
31}
32
33impl TimeoutConfig {
34 pub fn new(duration: u64) -> Self {
35 Self { duration }
36 }
37}