Class: Cloudkeeper::Managers::ApplianceManager

Inherits:
Object
  • Object
show all
Includes:
Utils::Appliance
Defined in:
lib/cloudkeeper/managers/appliance_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils::Appliance

#clean_image_file, #clean_image_files, #convert_image!, #log_expired, #prepare_image!, #update_image?, #update_metadata?

Constructor Details

#initializeApplianceManager

Returns a new instance of ApplianceManager.



8
9
10
11
12
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 8

def initialize
  @backend_connector = Cloudkeeper::BackendConnector.new
  @image_list_manager = Cloudkeeper::Managers::ImageListManager.new
  @acceptable_formats = Cloudkeeper::Settings[:formats].map(&:to_sym)
end

Instance Attribute Details

#acceptable_formatsObject (readonly)

Returns the value of attribute acceptable_formats.



6
7
8
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 6

def acceptable_formats
  @acceptable_formats
end

#backend_connectorObject (readonly)

Returns the value of attribute backend_connector.



6
7
8
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 6

def backend_connector
  @backend_connector
end

#image_list_managerObject (readonly)

Returns the value of attribute image_list_manager.



6
7
8
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 6

def image_list_manager
  @image_list_manager
end

Instance Method Details

#errorsObject



25
26
27
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 25

def errors
  { backend_errors: backend_connector.errors }
end

#synchronize_appliancesObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/cloudkeeper/managers/appliance_manager.rb', line 14

def synchronize_appliances
  logger.debug 'Running appliance synchronization...'
  backend_connector.pre_action

  synchronize

  backend_connector.post_action
rescue Cloudkeeper::Errors::BackendError, Cloudkeeper::Errors::ImageList::ImageListError => ex
  abort ex.message
end