module Cloudkeeper::One::ApplianceActions::Update
Public Instance Methods
update_image(image, proto_appliance)
click to toggle source
# File lib/cloudkeeper/one/appliance_actions/update.rb, line 21 def update_image(image, proto_appliance) logger.debug "Updating image metadata for appliance #{proto_appliance.identifier.inspect}" image_template = prepare_template 'image.erb', appliance: proto_appliance, name: image.name image_handler.update image, image_template end
update_metadata(proto_appliance)
click to toggle source
# File lib/cloudkeeper/one/appliance_actions/update.rb, line 7 def update_metadata(proto_appliance) raise Cloudkeeper::One::Errors::ArgumentError, 'appliance cannot be nil' unless proto_appliance templates = template_handler.find_by_appliance_id proto_appliance.identifier templates.each do |template| image = image_handler.find_by_name template.name raise Cloudkeeper::One::Errors::Actions::UpdateError, "Missing coresponding image for template #{template.id.inspect}"\ unless image update_image image, proto_appliance update_template template, image, proto_appliance end end
update_template(template, image, proto_appliance)
click to toggle source
# File lib/cloudkeeper/one/appliance_actions/update.rb, line 27 def update_template(template, image, proto_appliance) logger.debug "Updating template metadata for appliance #{proto_appliance.identifier.inspect}" template_template = prepare_template 'template.erb', appliance: proto_appliance, image: proto_appliance.image, name: template.name, image_id: image.id template_handler.update template, template_template end