Class: RbVmomi::VIM

Inherits:
Connection
  • Object
show all
Defined in:
lib/rbvmomi/vim.rb

Overview

A connection to one vSphere SDK endpoint.

See Also:

Defined Under Namespace

Classes: ComputeResource, Datacenter, Datastore, Folder, ManagedEntity, ManagedObject, ObjectContent, ObjectUpdate, OvfManager, ResourcePool, ServiceInstance, Task, VirtualMachine

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.connect(opts) ⇒ Object

Connect to a vSphere SDK endpoint

Parameters:

  • opts (Hash)

    The options hash.

Options Hash (opts):

  • :host (String)

    Host to connect to.

  • :port (Numeric) — default: 443

    Port to connect to.

  • :ssl (Boolean) — default: true

    Whether to use SSL.

  • :insecure (Boolean) — default: false

    If true, ignore SSL certificate errors.

  • :user (String) — default: root

    Username.

  • :password (String)

    Password.

  • :path (String) — default: /sdk

    SDK endpoint path.

  • :debug (Boolean) — default: false

    If true, print SOAP traffic to stderr.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rbvmomi/vim.rb', line 20

def self.connect opts
  fail unless opts.is_a? Hash
  fail "host option required" unless opts[:host]
  opts[:user] ||= 'root'
  opts[:password] ||= ''
  opts[:ssl] = true unless opts.member? :ssl
  opts[:insecure] ||= false
  opts[:port] ||= (opts[:ssl] ? 443 : 80)
  opts[:path] ||= '/sdk'
  opts[:ns] ||= 'urn:vim25'
  opts[:rev] = '4.1'
  opts[:debug] = (!ENV['RBVMOMI_DEBUG'].empty? rescue false) unless opts.member? :debug

  new(opts).tap do |vim|
    vim.serviceContent.sessionManager.Login :userName => opts[:user], :password => opts[:password]
  end
end

Instance Method Details

#propertyCollectorObject

Alias to serviceContent.propertyCollector



59
60
61
# File 'lib/rbvmomi/vim.rb', line 59

def propertyCollector
  serviceContent.propertyCollector
end

#rootFolderObject Also known as: root

Alias to serviceContent.rootFolder



52
53
54
# File 'lib/rbvmomi/vim.rb', line 52

def rootFolder
  serviceContent.rootFolder
end

#searchIndexObject

Alias to serviceContent.searchIndex



64
65
66
# File 'lib/rbvmomi/vim.rb', line 64

def searchIndex
  serviceContent.searchIndex
end

#serviceContentObject

Alias to serviceInstance.RetrieveServiceContent



47
48
49
# File 'lib/rbvmomi/vim.rb', line 47

def serviceContent
  @serviceContent ||= serviceInstance.RetrieveServiceContent
end

#serviceInstanceObject

Return the ServiceInstance

The ServiceInstance is the root of the vSphere inventory.



42
43
44
# File 'lib/rbvmomi/vim.rb', line 42

def serviceInstance
  VIM::ServiceInstance self, 'ServiceInstance'
end