class Vcloud::Core::Fog::ServiceInterface::FogFacade

FogFacade Inner class to represent a logic free facade over our interactions with Fog

Public Class Methods

new() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 28
def initialize
  @vcloud = ::Fog::Compute::VcloudDirector.new
end

Public Instance Methods

delete_disk(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 139
def delete_disk(id)
  task = @vcloud.delete_disk(id).body
  @vcloud.process_task(task)
end
delete_network(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 130
def delete_network(id)
  task = @vcloud.delete_network(id).body
  @vcloud.process_task(task)
end
delete_vapp(vapp_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 121
def delete_vapp(vapp_id)
  task = @vcloud.delete_vapp(vapp_id).body
  @vcloud.process_task(task)
end
end_point() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 90
def end_point
  @vcloud.end_point
end
get_disk(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 135
def get_disk(id)
  @vcloud.get_disk(id).body
end
get_edge_gateway(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 207
def get_edge_gateway(id)
  @vcloud.get_edge_gateway(id).body
end
get_execute_query(type=nil, options={}) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 99
def get_execute_query(type=nil, options={})
  @vcloud.get_execute_query(type, options).body
end
get_network_complete(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 126
def get_network_complete(id)
  @vcloud.get_network_complete(id).body
end
get_organization(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 36
def get_organization (id)
  @vcloud.get_organization(id).body
end
get_vapp(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 65
def get_vapp(id)
  @vcloud.get_vapp(id).body
end
get_vapp_metadata(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 103
def get_vapp_metadata(id)
  @vcloud.get_vapp_metadata(id).body
end
get_vapps_in_lease_from_query(options) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 48
def get_vapps_in_lease_from_query(options)
  @vcloud.get_vapps_in_lease_from_query(options).body
end
get_vdc(id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 32
def get_vdc(id)
  @vcloud.get_vdc(id).body
end
get_vms_disk_attached_to(disk_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 162
def get_vms_disk_attached_to(disk_id)
  @vcloud.get_vms_disk_attached_to(disk_id).body
end
logout() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 44
def logout
  @vcloud.delete_logout
end
org_name() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 112
def org_name
  @vcloud.org_name
end
organizations() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 108
def organizations
  @vcloud.organizations
end
post_attach_disk(vm_id, disk_id, options = {}) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 152
def post_attach_disk(vm_id, disk_id, options = {})
  task = @vcloud.post_attach_disk(vm_id, disk_id, options).body
  @vcloud.process_task(task)
end
post_configure_edge_gateway_services(edgegw_id, config) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 173
def post_configure_edge_gateway_services(edgegw_id, config)
  Vcloud::Core.logger.info("Updating EdgeGateway #{edgegw_id}")
  begin
    task = @vcloud.post_configure_edge_gateway_services(edgegw_id, config).body
    @vcloud.process_task(task)
  rescue => ex
    Vcloud::Core.logger.error("Could not update EdgeGateway #{edgegw_id} : #{ex}")
    raise
  end
end
post_create_disk(vdc_id, disk_id, size_in_bytes, options = {}) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 144
def post_create_disk(vdc_id, disk_id, size_in_bytes, options = {})
  # Fog method is incorrectly named 'post_upload_disk', and will be fixed
  # in a future version to match our post_create_disk method name.
  attrs = @vcloud.post_upload_disk(vdc_id, disk_id, size_in_bytes, options).body
  @vcloud.process_task(attrs[:Tasks][:Task])
  get_disk(extract_id(attrs))
end
post_create_org_vdc_network(vdc_id, name, options) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 166
def post_create_org_vdc_network(vdc_id, name, options)
  Vcloud::Core.logger.debug("creating #{options[:fence_mode]} OrgVdcNetwork #{name} in vDC #{vdc_id}")
  attrs = @vcloud.post_create_org_vdc_network(vdc_id, name, options).body
  @vcloud.process_task(attrs[:Tasks][:Task])
  get_network_complete(extract_id(attrs))
end
post_detach_disk(vm_id, disk_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 157
def post_detach_disk(vm_id, disk_id)
  task = @vcloud.post_detach_disk(vm_id, disk_id).body
  @vcloud.process_task(task)
end
post_instantiate_vapp_template(vdc, template, name, params) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 52
def post_instantiate_vapp_template(vdc, template, name, params)
  Vcloud::Core.logger.debug("instantiating #{name} vapp in #{vdc[:name]}")
  vapp = @vcloud.post_instantiate_vapp_template(extract_id(vdc), template, name, params).body
  @vcloud.process_task(vapp[:Tasks][:Task])
  @vcloud.get_vapp(extract_id(vapp)).body
end
post_undeploy_vapp(vapp_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 116
def post_undeploy_vapp(vapp_id)
  task = @vcloud.post_undeploy_vapp(vapp_id).body
  @vcloud.process_task(task)
end
power_off_vapp(vapp_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 184
def power_off_vapp(vapp_id)
  task = @vcloud.post_power_off_vapp(vapp_id).body
  @vcloud.process_task(task)
end
power_on_vapp(vapp_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 189
def power_on_vapp(vapp_id)
  Vcloud::Core.logger.debug("Powering on vApp #{vapp_id}")
  task = @vcloud.post_power_on_vapp(vapp_id).body
  @vcloud.process_task(task)
end
put_cpu(vm_id, cpu) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 74
def put_cpu(vm_id, cpu)
  Vcloud::Core.logger.debug("putting #{cpu} CPU(s) into VM #{vm_id}")
  task = @vcloud.put_cpu(vm_id, cpu).body
  @vcloud.process_task(task)
end
put_guest_customization_section_vapp(vm_id, customization_req) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 94
def put_guest_customization_section_vapp(vm_id, customization_req)
  task = @vcloud.put_guest_customization_section_vapp(vm_id, customization_req).body
  @vcloud.process_task(task)
end
put_memory(vm_id, memory) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 59
def put_memory(vm_id, memory)
  Vcloud::Core.logger.debug("putting #{memory}MB memory into VM #{vm_id}")
  task = @vcloud.put_memory(vm_id, memory).body
  @vcloud.process_task(task)
end
put_network_connection_system_section_vapp(vm_id, section) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 69
def put_network_connection_system_section_vapp(vm_id, section)
  task = @vcloud.put_network_connection_system_section_vapp(vm_id, section).body
  @vcloud.process_task(task)
end
put_product_sections(id, items) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 211
def put_product_sections(id, items)
  task = @vcloud.put_product_sections(id, items).body
  @vcloud.process_task(task)
end
put_vapp_metadata_value(id, k, v) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 200
def put_vapp_metadata_value(id, k, v)
  Vcloud::Core.logger.debug("putting metadata pair '#{k}'=>'#{v}' to #{id}")
  # need to convert key to_s since Fog 0.17 borks on symbol key
  task = @vcloud.put_vapp_metadata_item_metadata(id, k.to_s, v).body
  @vcloud.process_task(task)
end
put_vm(id, name, options={}) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 80
def put_vm(id, name, options={})
  Vcloud::Core.logger.debug("updating name : #{name}, :options => #{options} in vm : #{id}")
  task = @vcloud.put_vm(id, name, options).body
  @vcloud.process_task(task)
end
session() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 40
def session
  @vcloud.get_current_session.body
end
shutdown_vapp(vapp_id) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 195
def shutdown_vapp(vapp_id)
  task = @vcloud.post_shutdown_vapp(vapp_id).body
  @vcloud.process_task(task)
end
vcloud_token() click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 86
def vcloud_token
  @vcloud.vcloud_token
end

Private Instance Methods

extract_id(link) click to toggle source
# File lib/vcloud/core/fog/service_interface.rb, line 217
def extract_id(link)
  link[:href].split('/').last
end