# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 131 def create_instance(credentials, image_id, opts) new_vapp = nil vapp_opts = {} #assemble options to pass to Fog::Terremark::Real.instantiate_vapp_template terremark_hwp = hardware_profiles(credentials, {:name => 'default'}).first #sanity check values against default name = opts[:name] if not name name = "inst#{Time.now.to_i}" end if name.length > USER_NAME_MAX raise "Parameter name must be #{USER_NAME_MAX} characters or less" end unless ( (terremark_hwp.include?(:cpu, opts[:hwp_cpu].to_i)) && (terremark_hwp.include?(:memory, opts[:hwp_memory].to_i)) ) then raise Deltacloud::Validation::Failure.new(Deltacloud::Validation::Param.new(["cpu"]), "Error with cpu and/or memory values. you said cpu->#{opts[:hwp_cpu]} and mem->#{opts[:hwp_memory]}") end vapp_opts['cpus'] = opts[:hwp_cpu] vapp_opts['memory'] = opts[:hwp_memory] safely do terremark_client = new_client(credentials) ####### #FIXME# what happens if there is an issue getting the new vapp id? (eg even though created succesfully) ####### vapp_id = terremark_client.instantiate_vapp_template(name, image_id, vapp_opts).body['href'].split('/').last new_vapp = terremark_client.get_vapp(vapp_id) return convert_instance(new_vapp, terremark_client, credentials.user) #return an Instance object end end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 193 def destroy_instance(credentials, id) safely do terremark_client = new_client(credentials) return terremark_client.delete_vapp(id) end end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 59 def images(credentials, opts=nil) image_list = [] terremark_client = new_client(credentials) safely do vdc_id = terremark_client.default_vdc_id catalogItems = terremark_client.get_catalog(vdc_id).body['CatalogItems'] catalogItems.each{ |catalog_item| current_item_id = catalog_item['href'].split('/').last current_item = terremark_client.get_catalog_item(current_item_id).body['Entity'] if(current_item['type'] == 'application/vnd.vmware.vcloud.vAppTemplate+xml') image_list << convert_image(current_item, credentials.user) end } #end of catalogItems.each end image_list = filter_on( image_list, :id, opts ) image_list = filter_on( image_list, :architecture, opts ) image_list = filter_on( image_list, :owner_id, opts ) image_list end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 95 def instances(credentials, opts=nil) instances = [] terremark_client = new_client(credentials) safely do vdc_items = terremark_client.get_vdc(terremark_client.default_vdc_id()).body['ResourceEntities'] vdc_items.each{|current_item| if(current_item['type'] == 'application/vnd.vmware.vcloud.vApp+xml') vapp_id = current_item['href'].split('/').last vapp = terremark_client.get_vapp(vapp_id) instances << convert_instance(vapp, terremark_client, credentials.user) end }#end vdc_items.each end instances = filter_on( instances, :id, opts ) instances end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 83 def realms(credentials, opts=nil) [Realm.new( { :id=>"US-Miami", :name=>"United States - Miami", :state=> "AVAILABLE" } )] end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 162 def reboot_instance(credentials, id) safely do terremark_client = new_client(credentials) return terremark_client.power_reset(id) end end
# File lib/deltacloud/drivers/terremark/terremark_driver.rb, line 172 def start_instance(credentials, id) safely do terremark_client = new_client(credentials) return terremark_client.power_on(id) end end
Generated with the Darkfish Rdoc Generator 2.