Module: Cloudkeeper::One::ApplianceActions::Registration

Includes:
Discard, Update, Utils::ImageDownload, Utils::TemplatePreparation
Included in:
CoreConnector
Defined in:
lib/cloudkeeper/one/appliance_actions/registration.rb

Instance Method Summary collapse

Methods included from Discard

#discard_appliance, #discard_expired, #discard_image_list, #discard_images, #discard_templates

Methods included from Update

#update_image, #update_metadata, #update_template

Methods included from Utils::TemplatePreparation

#prepare_template, #render_templates

Methods included from Utils::ImageDownload

#download_image

Instance Method Details

#register_or_update_appliance(proto_appliance) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/cloudkeeper/one/appliance_actions/registration.rb', line 10

def register_or_update_appliance(proto_appliance)
  raise Cloudkeeper::One::Errors::ArgumentError, 'appliance cannot be nil' unless proto_appliance

  discard_images :find_by_appliance_id, proto_appliance.identifier

  datastore = datastore_handler.find_by_name Cloudkeeper::One::Settings[:'opennebula-datastore']
  image = register_image proto_appliance, datastore
  register_or_update_template proto_appliance, image
end