Sha256: 173d4804870cfd295a754702e0a1b9a4506888fa07f403cc423265c121edf5e0

Contents?: true

Size: 1.22 KB

Versions: 11

Compression:

Stored size: 1.22 KB

Contents

module Fog
  module Libvirt
    class Compute
      class Real
        def update_display(options = { })
          raise ArgumentError, "uuid is a required parameter" unless options.key? :uuid

          domain = client.lookup_domain_by_uuid(options[:uuid])

          display          = { }
          display[:type]   = options[:type] || 'vnc'
          display[:port]   = (options[:port] || -1).to_s
          display[:listen] = options[:listen].to_s   if options[:listen]
          display[:passwd] = options[:password].to_s if options[:password]
          display[:autoport] = 'yes' if display[:port] == '-1'
          new_keymap       = options[:keymap] || xml_elements(domain.xml_desc, "graphics", "keymap")[0]
          display[:keymap] = new_keymap unless new_keymap.nil?

          builder = Nokogiri::XML::Builder.new { graphics_ (display) }
          xml     = Nokogiri::XML(builder.to_xml).root.to_s

          domain.update_device(xml, 0)
          # if we got no exceptions, then we're good'
          true
        end
      end

      class Mock
        def update_display(options = { })
          raise ArgumentError, "uuid is a required parameter" unless options.key? :uuid
          true
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
fog-libvirt-0.12.2 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.12.1 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.12.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.11.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.10.1 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.10.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-csem-0.9.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.9.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.8.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.7.0 lib/fog/libvirt/requests/compute/update_display.rb
fog-libvirt-0.6.0 lib/fog/libvirt/requests/compute/update_display.rb