Class: RbVmomi::VIM::HostSystem
- Inherits:
-
Object
- Object
- RbVmomi::VIM::HostSystem
- Defined in:
- lib/rbvmomi/vim/HostSystem.rb
Instance Method Summary collapse
- #cli_info_fetcher ⇒ Object
- #create_dynamic_managed_object(inst) ⇒ Object
- #direct? ⇒ Boolean
- #dti ⇒ Object
- #dtm ⇒ Object
- #esxcli ⇒ Object
- #mme ⇒ Object
Instance Method Details
#cli_info_fetcher ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 37 def cli_info_fetcher # XXX there can be more than one return @cached_cli_info_fetcher if @cached_cli_info_fetcher inst = dtm.DynamicTypeMgrQueryMoInstances.find { |x| x.moType == 'vim.CLIInfo' } @cached_cli_info_fetcher = create_dynamic_managed_object inst end |
#create_dynamic_managed_object(inst) ⇒ Object
32 33 34 35 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 32 def create_dynamic_managed_object inst wsdlName = dti.managedTypeInfo.find { |x| x.name == inst.moType }.wsdlName _connection.type(wsdlName).new(_connection, inst.id) end |
#direct? ⇒ Boolean
49 50 51 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 49 def direct? @ref == 'ha-host' end |
#dti ⇒ Object
28 29 30 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 28 def dti @cached_dti ||= dtm.DynamicTypeMgrQueryTypeInfo end |
#dtm ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 12 def dtm @cached_dtm ||= begin RetrieveDynamicTypeManager() rescue VIM::MethodNotFound if summary.config.product.version >= '4.1.0' if summary.config.product.version < '5.0.0' and direct? VIM::InternalDynamicTypeManager(_connection, 'ha-dynamic-type-manager') else raise 'esxcli not supported through VC before 5.0.0' end else raise 'esxcli not supported before 4.1.0' end end end |
#esxcli ⇒ Object
8 9 10 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 8 def esxcli @cached_esxcli ||= VIM::EsxcliNamespace.root(self) end |
#mme ⇒ Object
45 46 47 |
# File 'lib/rbvmomi/vim/HostSystem.rb', line 45 def mme @cached_mme ||= RetrieveManagedMethodExecuter() end |