Guest User

Untitled

a guest
Sep 21st, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. require 'fog'
  2. require 'pp'
  3.  
  4. conn = Fog::Compute.new({
  5. :provider => 'XenServer',
  6. :xenserver_url => 'xenserver-test',
  7. :xenserver_username => 'root',
  8. :xenserver_password => 'changeme',
  9. :xenserver_defaults => {
  10. :template => "squeeze-test"
  11. }
  12. })
  13.  
  14. #
  15. # A Fog::Compute::XenServer::Server
  16. # is a XenServer VM
  17. #
  18. # a Fog::Compute::XenServer::Host
  19. # is a Hypervisor
  20. #
  21.  
  22.  
  23. #
  24. # List all servers (VMs) templates
  25. # excluding custom templates
  26. servers = conn.servers.all(:include_templates => true, # false by default
  27. :include_custom_templates => false) # false by default
  28. builtin_templates = servers.delete_if { |s| !s.is_a_template }
  29.  
  30. #
  31. # All the "custom" templates, i.e. created by us.
  32. servers = conn.servers.all(:include_templates => false, # false by default
  33. :include_custom_templates => true) # false by default
  34. custom_templates = servers.delete_if { |s| !s.is_a_template }
  35. # Print the names
  36. custom_templates.each do |t|
  37. puts t.name
  38. # We can destroy them too
  39. #
  40. # t.destroy
  41. end
  42.  
  43. #
  44. # Only 'real' servers, no templates, no snapshots
  45. servers = conn.servers.all
  46. servers.each do |s|
  47. #puts s.name
  48. end
  49.  
  50. # 'real' + snaphots
  51. servers = conn.servers.all(:include_snapshots => true)
  52. servers.each do |s|
  53. #puts s.name
  54. #puts s.is_a_snapshot
  55. end
Add Comment
Please, Sign In to add comment