Mercurial > hg > Members > anatofuz > ie-virsh
diff src/command.rs @ 41:63e77a9de3ab
...
author | AnaTofuZ <anatofuz@gmail.com> |
---|---|
date | Sun, 22 Nov 2020 16:48:05 +0900 |
parents | d3055f6c6fb7 |
children | 2787ada7650b |
line wrap: on
line diff
--- a/src/command.rs Sun Nov 22 15:57:31 2020 +0900 +++ b/src/command.rs Sun Nov 22 16:48:05 2020 +0900 @@ -23,32 +23,36 @@ Ok(()) } -pub fn define(user: &user::User, vm_name: &str) { - let vm_name = generate_vm_name(&user.name, &vm_name); - let builder = xml::Builder::new(&user.name, &vm_name).finalize(); +pub fn define(user_detail: &user::UserDetail, vm_name: &str) { + let vm_name = generate_vm_name(&user_detail.user.name, &vm_name); + let builder = xml::Builder::new(&user_detail, &vm_name).finalize(); if let Ok(xml_path) = builder.generate() { virsh::command_require_vm_name(&xml_path, "define") } } -pub fn define_from_template(user: &user::User, vm_name: &str, template: &str) { - let vm_name = generate_vm_name(&user.name, &vm_name); +pub fn define_from_template(user_detail: &user::UserDetail, vm_name: &str, template: &str) { + let vm_name = generate_vm_name(&user_detail.user.name, &vm_name); println!("{}", vm_name); - let template_path = match virsh::get_template_path(template) { + let backing_path = match virsh::get_backing_path(template) { Some(path) => path, None => { println!("not found {}", template); return; } }; - let builder = xml::Builder::new(&user.name, &vm_name) - .backing(&template_path) + let builder = xml::Builder::new(&user_detail, &vm_name) + .backing(&backing_path) .finalize(); let xml_path = match builder.generate() { - Ok(xml_path) => xml_path, - Err(e) => { println!("{}", e); return;} + Ok(xml_path) => xml_path, + Err(e) => { + println!("failed generate xml: {}", e); + return; + } }; - virsh::command_require_vm_name(&xml_path, "define") + virsh::command_require_vm_name(&xml_path, "define"); + virsh::generate_qemu_from_template(&vm_name, "hoge"); } pub fn start(user_name: &str, vm_name: &str) {