Class: Breeze::Server::Image
- Inherits:
-
Breeze::Server
- Object
- Thor
- Veur
- Breeze::Server
- Breeze::Server::Image
- Defined in:
- lib/breeze/tasks/server/image.rb
Overview
Dealing with machine images.
Instance Method Summary collapse
Methods inherited from Veur
Instance Method Details
#create ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/breeze/tasks/server/image.rb', line 10 def create # The commented lines used to work before fog 0.7.0. # options[:block_device_mapping] = [{:device_name => '/dev/sda1', :ebs_volume_size => options.delete(:root_device_size)}] [:block_device_mapping] = [{'DeviceName' => '/dev/sda1', 'Ebs.VolumeSize' => .delete(:root_device_size)}] server = create_server() prepare_private_image(server.public_ip_address) print('Stopping the server before saving a snapshot') server.stop wait_until('stopped!') { server.stopped? } thor('describe:images') puts('===== Old server images are listed above. Give a name to the new image. =====') # image = fog.images.create(:name => ask('Image name >'), :instance_id => server.id) fog.create_image(server.id, ask('Image name >'), '') server.destroy puts # puts("===> Created image #{image.id} and terminated temporary server #{server.id}.") puts("===> Created a new server image and terminated temporary server #{server.id}.") puts puts("NOTICE: it may take a while before the new image shows up in describe:images") end |
#destroy(*image_ids) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/breeze/tasks/server/image.rb', line 33 def destroy(*image_ids) image_ids.each do |image_id| image = fog.images.get(image_id) if force_or_accept?("Destroy image #{image.display_name}?") image.deregister(true) end end end |