Add cloud init configuration to VM definition
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -4,6 +4,7 @@ use crate::libvirt_lib_structures::XMLUuid;
|
||||
use crate::libvirt_lib_structures::domain::*;
|
||||
use crate::libvirt_rest_structures::LibVirtStructError;
|
||||
use crate::libvirt_rest_structures::LibVirtStructError::StructureExtraction;
|
||||
use crate::utils::cloud_init_utils::CloudInitConfig;
|
||||
use crate::utils::file_size_utils::FileSize;
|
||||
use crate::utils::files_utils;
|
||||
use crate::utils::vm_file_disks_utils::{VMDiskBus, VMDiskFormat, VMFileDisk};
|
||||
@ -94,6 +95,9 @@ pub struct VMInfo {
|
||||
pub tpm_module: bool,
|
||||
/// Strings injected as OEM Strings in SMBios configuration
|
||||
pub oem_strings: Vec<String>,
|
||||
/// Cloud init configuration
|
||||
#[serde(default)]
|
||||
pub cloud_init: CloudInitConfig,
|
||||
}
|
||||
|
||||
impl VMInfo {
|
||||
@ -340,6 +344,7 @@ impl VMInfo {
|
||||
virtweb: DomainMetadataVirtWebXML {
|
||||
ns: "https://virtweb.communiquons.org".to_string(),
|
||||
group: self.group.clone().map(|g| g.0),
|
||||
cloud_init: Some(self.cloud_init.clone()),
|
||||
},
|
||||
}),
|
||||
os: OSXML {
|
||||
@ -582,6 +587,13 @@ impl VMInfo {
|
||||
.and_then(|s| s.oem_strings)
|
||||
.map(|s| s.entries.iter().map(|o| o.content.to_string()).collect())
|
||||
.unwrap_or_default(),
|
||||
cloud_init: domain
|
||||
.metadata
|
||||
.clone()
|
||||
.unwrap_or_default()
|
||||
.virtweb
|
||||
.cloud_init
|
||||
.unwrap_or_default(),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user