Mercurial > hg > Members > anatofuz > ie-virsh
comparison src/command.rs @ 41:63e77a9de3ab
...
author | AnaTofuZ <anatofuz@gmail.com> |
---|---|
date | Sun, 22 Nov 2020 16:48:05 +0900 |
parents | d3055f6c6fb7 |
children | 2787ada7650b |
comparison
equal
deleted
inserted
replaced
40:d3055f6c6fb7 | 41:63e77a9de3ab |
---|---|
21 } | 21 } |
22 | 22 |
23 Ok(()) | 23 Ok(()) |
24 } | 24 } |
25 | 25 |
26 pub fn define(user: &user::User, vm_name: &str) { | 26 pub fn define(user_detail: &user::UserDetail, vm_name: &str) { |
27 let vm_name = generate_vm_name(&user.name, &vm_name); | 27 let vm_name = generate_vm_name(&user_detail.user.name, &vm_name); |
28 let builder = xml::Builder::new(&user.name, &vm_name).finalize(); | 28 let builder = xml::Builder::new(&user_detail, &vm_name).finalize(); |
29 if let Ok(xml_path) = builder.generate() { | 29 if let Ok(xml_path) = builder.generate() { |
30 virsh::command_require_vm_name(&xml_path, "define") | 30 virsh::command_require_vm_name(&xml_path, "define") |
31 } | 31 } |
32 } | 32 } |
33 | 33 |
34 pub fn define_from_template(user: &user::User, vm_name: &str, template: &str) { | 34 pub fn define_from_template(user_detail: &user::UserDetail, vm_name: &str, template: &str) { |
35 let vm_name = generate_vm_name(&user.name, &vm_name); | 35 let vm_name = generate_vm_name(&user_detail.user.name, &vm_name); |
36 println!("{}", vm_name); | 36 println!("{}", vm_name); |
37 let template_path = match virsh::get_template_path(template) { | 37 let backing_path = match virsh::get_backing_path(template) { |
38 Some(path) => path, | 38 Some(path) => path, |
39 None => { | 39 None => { |
40 println!("not found {}", template); | 40 println!("not found {}", template); |
41 return; | 41 return; |
42 } | 42 } |
43 }; | 43 }; |
44 let builder = xml::Builder::new(&user.name, &vm_name) | 44 let builder = xml::Builder::new(&user_detail, &vm_name) |
45 .backing(&template_path) | 45 .backing(&backing_path) |
46 .finalize(); | 46 .finalize(); |
47 let xml_path = match builder.generate() { | 47 let xml_path = match builder.generate() { |
48 Ok(xml_path) => xml_path, | 48 Ok(xml_path) => xml_path, |
49 Err(e) => { println!("{}", e); return;} | 49 Err(e) => { |
50 println!("failed generate xml: {}", e); | |
51 return; | |
52 } | |
50 }; | 53 }; |
51 virsh::command_require_vm_name(&xml_path, "define") | 54 virsh::command_require_vm_name(&xml_path, "define"); |
55 virsh::generate_qemu_from_template(&vm_name, "hoge"); | |
52 } | 56 } |
53 | 57 |
54 pub fn start(user_name: &str, vm_name: &str) { | 58 pub fn start(user_name: &str, vm_name: &str) { |
55 virsh::command_require_vm_name(&get_vm_name(user_name, vm_name), "start"); | 59 virsh::command_require_vm_name(&get_vm_name(user_name, vm_name), "start"); |
56 } | 60 } |