cloud_hypervisor_client/models/
console_config.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ConsoleConfig {
16 #[serde(rename = "file", skip_serializing_if = "Option::is_none")]
17 pub file: Option<String>,
18 #[serde(rename = "socket", skip_serializing_if = "Option::is_none")]
19 pub socket: Option<String>,
20 #[serde(rename = "mode")]
21 pub mode: Mode,
22 #[serde(rename = "iommu", skip_serializing_if = "Option::is_none")]
23 pub iommu: Option<bool>,
24}
25
26impl ConsoleConfig {
27 pub fn new(mode: Mode) -> ConsoleConfig {
28 ConsoleConfig {
29 file: None,
30 socket: None,
31 mode,
32 iommu: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum Mode {
39 #[serde(rename = "Off")]
40 Off,
41 #[serde(rename = "Pty")]
42 Pty,
43 #[serde(rename = "Tty")]
44 Tty,
45 #[serde(rename = "File")]
46 File,
47 #[serde(rename = "Socket")]
48 Socket,
49 #[serde(rename = "Null")]
50 Null,
51}
52
53impl Default for Mode {
54 fn default() -> Mode {
55 Self::Off
56 }
57}