class Fog::Proxmox::Storage::IsoUpload
Uploads a local ISO and waits for the Proxmox task to finish.
Public Instance Methods
upload()
click to toggle source
# File lib/fog/proxmox/storage/models/iso_upload.rb, line 12 def upload requires :node_id, :storage_id, :path filename = File.basename(path) size = File.size(path) Fog::Logger.debug("Starting Proxmox ISO upload filename=#{filename} size=#{size} bytes node=#{node_id} storage=#{storage_id}") response = File.open(path, 'rb') do |file| Fog::Proxmox::Storage.new(service.config).upload_iso( { node: node_id, storage: storage_id }, { filename: filename, file: file } ) end Fog::Logger.debug("Upload response: #{response.inspect}") raise Fog::Errors::Error, "Unexpected upload response: #{response.inspect}" unless response.to_s.start_with?('UPID:') service.nodes.get(node_id).tasks.wait_for(response) response end