Implements VM groups API (#206)
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #206
This commit is contained in:
@ -19,7 +19,7 @@ pub struct DomainMetadataXML {
|
||||
}
|
||||
|
||||
/// OS information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "os")]
|
||||
pub struct OSXML {
|
||||
#[serde(rename = "@firmware", default)]
|
||||
@ -29,7 +29,7 @@ pub struct OSXML {
|
||||
}
|
||||
|
||||
/// OS Type information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "os")]
|
||||
pub struct OSTypeXML {
|
||||
#[serde(rename = "@arch")]
|
||||
@ -41,7 +41,7 @@ pub struct OSTypeXML {
|
||||
}
|
||||
|
||||
/// OS Loader information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "loader")]
|
||||
pub struct OSLoaderXML {
|
||||
#[serde(rename = "@secure")]
|
||||
@ -49,39 +49,39 @@ pub struct OSLoaderXML {
|
||||
}
|
||||
|
||||
/// Hypervisor features
|
||||
#[derive(serde::Serialize, serde::Deserialize, Default, Debug)]
|
||||
#[derive(serde::Serialize, serde::Deserialize, Clone, Default, Debug)]
|
||||
#[serde(rename = "features")]
|
||||
pub struct FeaturesXML {
|
||||
pub acpi: ACPIXML,
|
||||
}
|
||||
|
||||
/// ACPI feature
|
||||
#[derive(serde::Serialize, serde::Deserialize, Default, Debug)]
|
||||
#[derive(serde::Serialize, serde::Deserialize, Clone, Default, Debug)]
|
||||
#[serde(rename = "acpi")]
|
||||
pub struct ACPIXML {}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "mac")]
|
||||
pub struct NetMacAddress {
|
||||
#[serde(rename = "@address")]
|
||||
pub address: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "source")]
|
||||
pub struct NetIntSourceXML {
|
||||
#[serde(rename = "@network")]
|
||||
pub network: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "model")]
|
||||
pub struct NetIntModelXML {
|
||||
#[serde(rename = "@type")]
|
||||
pub r#type: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "filterref")]
|
||||
pub struct NetIntFilterParameterXML {
|
||||
#[serde(rename = "@name")]
|
||||
@ -90,7 +90,7 @@ pub struct NetIntFilterParameterXML {
|
||||
pub value: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "filterref")]
|
||||
pub struct NetIntfilterRefXML {
|
||||
#[serde(rename = "@filter")]
|
||||
@ -99,7 +99,7 @@ pub struct NetIntfilterRefXML {
|
||||
pub parameters: Vec<NetIntFilterParameterXML>,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "interface")]
|
||||
pub struct DomainNetInterfaceXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -113,14 +113,14 @@ pub struct DomainNetInterfaceXML {
|
||||
pub filterref: Option<NetIntfilterRefXML>,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "input")]
|
||||
pub struct DomainInputXML {
|
||||
#[serde(rename = "@type")]
|
||||
pub r#type: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "backend")]
|
||||
pub struct TPMBackendXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -130,7 +130,7 @@ pub struct TPMBackendXML {
|
||||
pub r#version: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "tpm")]
|
||||
pub struct TPMDeviceXML {
|
||||
#[serde(rename = "@model")]
|
||||
@ -139,7 +139,7 @@ pub struct TPMDeviceXML {
|
||||
}
|
||||
|
||||
/// Devices information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "devices")]
|
||||
pub struct DevicesXML {
|
||||
/// Graphics (used for VNC)
|
||||
@ -168,7 +168,7 @@ pub struct DevicesXML {
|
||||
}
|
||||
|
||||
/// Graphics information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "graphics")]
|
||||
pub struct GraphicsXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -178,14 +178,14 @@ pub struct GraphicsXML {
|
||||
}
|
||||
|
||||
/// Video device information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "video")]
|
||||
pub struct VideoXML {
|
||||
pub model: VideoModelXML,
|
||||
}
|
||||
|
||||
/// Video model device information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "model")]
|
||||
pub struct VideoModelXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -193,7 +193,7 @@ pub struct VideoModelXML {
|
||||
}
|
||||
|
||||
/// Disk information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "disk")]
|
||||
pub struct DiskXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -211,7 +211,7 @@ pub struct DiskXML {
|
||||
pub address: Option<DiskAddressXML>,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "driver")]
|
||||
pub struct DiskDriverXML {
|
||||
#[serde(rename = "@name")]
|
||||
@ -222,14 +222,14 @@ pub struct DiskDriverXML {
|
||||
pub r#cache: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "source")]
|
||||
pub struct DiskSourceXML {
|
||||
#[serde(rename = "@file")]
|
||||
pub file: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "target")]
|
||||
pub struct DiskTargetXML {
|
||||
#[serde(rename = "@dev")]
|
||||
@ -238,18 +238,18 @@ pub struct DiskTargetXML {
|
||||
pub bus: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "readonly")]
|
||||
pub struct DiskReadOnlyXML {}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "boot")]
|
||||
pub struct DiskBootXML {
|
||||
#[serde(rename = "@order")]
|
||||
pub order: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "address")]
|
||||
pub struct DiskAddressXML {
|
||||
#[serde(rename = "@type")]
|
||||
@ -269,7 +269,7 @@ pub struct DiskAddressXML {
|
||||
}
|
||||
|
||||
/// Domain RAM information
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "memory")]
|
||||
pub struct DomainMemoryXML {
|
||||
#[serde(rename = "@unit")]
|
||||
@ -279,7 +279,7 @@ pub struct DomainMemoryXML {
|
||||
pub memory: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "topology")]
|
||||
pub struct DomainCPUTopology {
|
||||
#[serde(rename = "@sockets")]
|
||||
@ -290,14 +290,14 @@ pub struct DomainCPUTopology {
|
||||
pub threads: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "cpu")]
|
||||
pub struct DomainVCPUXML {
|
||||
#[serde(rename = "$value")]
|
||||
pub body: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "cpu")]
|
||||
pub struct DomainCPUXML {
|
||||
#[serde(rename = "@mode")]
|
||||
@ -306,7 +306,7 @@ pub struct DomainCPUXML {
|
||||
}
|
||||
|
||||
/// Domain information, see https://libvirt.org/formatdomain.html
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(rename = "domain")]
|
||||
pub struct DomainXML {
|
||||
/// Domain type (kvm)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#[derive(serde::Serialize, serde::Deserialize, Clone, Copy, Debug)]
|
||||
#[derive(serde::Serialize, serde::Deserialize, Clone, Copy, Debug, Eq, PartialEq, Hash)]
|
||||
pub struct XMLUuid(pub uuid::Uuid);
|
||||
|
||||
impl XMLUuid {
|
||||
|
Reference in New Issue
Block a user