|
From: <bov...@us...> - 2007-07-17 22:40:45
|
Revision: 1408
http://svn.sourceforge.net/pywebsvcs/?rev=1408&view=rev
Author: boverhof
Date: 2007-07-17 15:26:07 -0700 (Tue, 17 Jul 2007)
Log Message:
-----------
M test/wsdl2py/config.txt
A test/wsdl2py/wsdl/vim.wsdl
A test/wsdl2py/test_VIM.py
M ZSI/TCcompound.py
-- FIX and UNITTEST FOR BUG [ 1755740 ] Multiple calls to the same method
Modified Paths:
--------------
trunk/zsi/ZSI/TCcompound.py
trunk/zsi/test/wsdl2py/config.txt
Added Paths:
-----------
trunk/zsi/test/wsdl2py/test_VIM.py
trunk/zsi/test/wsdl2py/wsdl/vim.wsdl
Modified: trunk/zsi/ZSI/TCcompound.py
===================================================================
--- trunk/zsi/ZSI/TCcompound.py 2007-07-11 00:09:00 UTC (rev 1407)
+++ trunk/zsi/ZSI/TCcompound.py 2007-07-17 22:26:07 UTC (rev 1408)
@@ -19,6 +19,7 @@
from ZSI.wstools.Utility import SplitQName
from ZSI.wstools.logging import getLogger as _GetLogger
import re, types
+from copy import copy as _copy
_find_arrayoffset = lambda E: E.getAttributeNS(SOAP.ENC, "offset")
_find_arrayposition = lambda E: E.getAttributeNS(SOAP.ENC, "position")
@@ -74,12 +75,14 @@
'failed to serialize substitute %s for %s, not derivation: %s' %
(sub, typecode, sw.Backtrace(elt),))
- # Make our substitution type match the elements facets
+ # Make our substitution type match the elements facets,
+ # since typecode is created for a single existing pyobj
+ # some facets are irrelevant.
+ sub = _copy(sub)
sub.nspname = typecode.nspname
sub.pname = typecode.pname
sub.aname = typecode.aname
- sub.minOccurs = 1
- sub.maxOccurs = 1
+ sub.minOccurs = sub.maxOccurs = 1
return sub
Modified: trunk/zsi/test/wsdl2py/config.txt
===================================================================
--- trunk/zsi/test/wsdl2py/config.txt 2007-07-11 00:09:00 UTC (rev 1407)
+++ trunk/zsi/test/wsdl2py/config.txt 2007-07-17 22:26:07 UTC (rev 1408)
@@ -119,7 +119,7 @@
document = True
literal = True
broke = False
-tests = test_MapPoint test_Echo test_AWSECommerceService test_FinancialService test_BasicComm test_Manufacturer test_Racing test_Attributes test_Choice test_DerivedTypes test_EchoWSAddr200403 test_SubstitutionGroup
+tests = test_MapPoint test_Echo test_AWSECommerceService test_FinancialService test_BasicComm test_Manufacturer test_Racing test_Attributes test_Choice test_DerivedTypes test_EchoWSAddr200403 test_SubstitutionGroup test_VIM
[doc_literal_broke]
document = True
@@ -180,5 +180,6 @@
test_NVOAdmin = wsdl/nvo-admin.wsdl
test_Clearspace = http://eval.jivesoftware.com/clearspace/rpc/soap/BlogService?wsdl
+test_VIM = wsdl/vim.wsdl
Added: trunk/zsi/test/wsdl2py/test_VIM.py
===================================================================
--- trunk/zsi/test/wsdl2py/test_VIM.py (rev 0)
+++ trunk/zsi/test/wsdl2py/test_VIM.py 2007-07-17 22:26:07 UTC (rev 1408)
@@ -0,0 +1,115 @@
+#!/usr/bin/env python
+############################################################################
+# Joshua R. Boverhof, LBNL
+# See LBNLCopyright for copyright notice!
+###########################################################################
+import os, sys, unittest
+from ServiceTest import main, ServiceTestCase, ServiceTestSuite
+from ZSI import FaultException, ParsedSoap, SoapWriter
+"""
+Unittest
+
+WSDL: wsdl/vim.wsdl
+"""
+
+# General targets
+def dispatch():
+ """Run all dispatch tests"""
+ suite = ServiceTestSuite()
+ suite.addTest(unittest.makeSuite(VIMTestCase, 'test_dispatch'))
+ return suite
+
+def local():
+ """Run all local tests"""
+ suite = ServiceTestSuite()
+ suite.addTest(unittest.makeSuite(VIMTestCase, 'test_local'))
+ return suite
+
+def net():
+ """Run all network tests"""
+ suite = ServiceTestSuite()
+ suite.addTest(unittest.makeSuite(VIMTestCase, 'test_net'))
+ return suite
+
+def all():
+ """Run all tests"""
+ suite = ServiceTestSuite()
+ suite.addTest(unittest.makeSuite(VIMTestCase, 'test_'))
+ return suite
+
+
+class VIMTestCase(ServiceTestCase):
+ name = "test_VIM"
+ client_file_name = "VIM_client.py"
+ types_file_name = "VIM_types.py"
+ server_file_name = "VIM_server.py"
+
+ def __init__(self, methodName):
+ ServiceTestCase.__init__(self, methodName)
+ self.wsdl2py_args.append('--lazy')
+ self.wsdl2py_args.append('-b')
+
+ def test_local_substitute_SessionManager(self):
+ # BUG [ 1755740 ] Multiple calls to the same method
+ MSG = """<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<soapenv:Body>
+<RetrieveServiceContentResponse xmlns="urn:vim2">
+ <returnval>
+ <rootFolder type="Folder">group-d1</rootFolder>
+ <propertyCollector type="PropertyCollector">propertyCollector</propertyCollector>
+ <about>
+ <name>VMware VirtualCenter</name>
+ <fullName>VMware VirtualCenter 2.0.1 build-32042</fullName>
+ <vendor>VMware, Inc.</vendor>
+ <version>2.0.1</version>
+ <build>32042</build>
+ <localeVersion>INTL</localeVersion>
+ <localeBuild>000</localeBuild>
+ <osType>win32-x86</osType>
+ <productLineId>vpx</productLineId>
+ <apiType>VirtualCenter</apiType>
+ <apiVersion>2.0.0</apiVersion>
+ </about>
+ <setting type="OptionManager">VpxSettings</setting>
+ <userDirectory type="UserDirectory">UserDirectory</userDirectory>
+ <sessionManager type="SessionManager">SessionManager</sessionManager>
+ <authorizationManager type="AuthorizationManager">AuthorizationManager</authorizationManager>
+ <perfManager type="PerformanceManager">PerfMgr</perfManager>
+ <scheduledTaskManager type="ScheduledTaskManager">ScheduledTaskManager</scheduledTaskManager>
+ <alarmManager type="AlarmManager">AlarmManager</alarmManager>
+ <eventManager type="EventManager">EventManager</eventManager>
+ <taskManager type="TaskManager">TaskManager</taskManager>
+ <customizationSpecManager type="CustomizationSpecManager">CustomizationSpecManager</customizationSpecManager>
+ <customFieldsManager type="CustomFieldsManager">CustomFieldsManager</customFieldsManager>
+ <diagnosticManager type="DiagnosticManager">DiagMgr</diagnosticManager>
+ <licenseManager type="LicenseManager">LicenseManager</licenseManager>
+ <searchIndex type="SearchIndex">SearchIndex</searchIndex>
+ </returnval>
+</RetrieveServiceContentResponse>
+</soapenv:Body>
+</soapenv:Envelope>"""
+
+ # Parse it out
+ ps = ParsedSoap(MSG)
+ pyobj = ps.Parse( self.client_module.RetrieveServiceContentResponseMsg.typecode )
+ sessionMgr = pyobj.Returnval.SessionManager
+
+ # Serialize SessionManager in different context
+ msg = self.client_module.LogoutRequestMsg()
+ msg._this = sessionMgr
+ SoapWriter().serialize(msg)
+
+ # Parse it out: was failing
+ # ZSI.EvaluateException: Element "__this" missing from complexType
+ # [Element trace: /soapenv:Envelope/soapenv:Body/RetrieveServiceContentResponse/returnval]
+ ps = ParsedSoap(MSG)
+ pyobj = ps.Parse( self.client_module.RetrieveServiceContentResponseMsg.typecode )
+
+
+if __name__ == "__main__" :
+ main()
+
Added: trunk/zsi/test/wsdl2py/wsdl/vim.wsdl
===================================================================
--- trunk/zsi/test/wsdl2py/wsdl/vim.wsdl (rev 0)
+++ trunk/zsi/test/wsdl2py/wsdl/vim.wsdl 2007-07-17 22:26:07 UTC (rev 1408)
@@ -0,0 +1,22098 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<definitions name="VIM" targetNamespace="urn:vim2"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:vim2="urn:vim2"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+>
+ <types>
+ <schema
+ targetNamespace="urn:vim2"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:vim2="urn:vim2"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ >
+ <complexType name="DynamicArray">
+ <sequence>
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />
+ <element name="val" type="xsd:anyType" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="DynamicData">
+ <sequence>
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />
+ <element name="dynamicProperty" type="vim2:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="DynamicProperty">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="val" type="xsd:anyType" />
+ </sequence>
+ </complexType>
+ <complexType name="ArrayOfDynamicProperty">
+ <sequence>
+ <element name="DynamicProperty" type="vim2:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="HostCommunication">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="HostCommunicationFault" type="vim2:HostCommunication"/>
+ <complexType name="HostNotConnected">
+ <complexContent>
+ <extension base="vim2:HostCommunication">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="HostNotConnectedFault" type="vim2:HostNotConnected"/>
+ <complexType name="HostNotReachable">
+ <complexContent>
+ <extension base="vim2:HostCommunication">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="HostNotReachableFault" type="vim2:HostNotReachable"/>
+ <complexType name="InvalidArgument">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ <element name="invalidProperty" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="InvalidArgumentFault" type="vim2:InvalidArgument"/>
+ <complexType name="InvalidRequest">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="InvalidRequestFault" type="vim2:InvalidRequest"/>
+ <complexType name="InvalidType">
+ <complexContent>
+ <extension base="vim2:InvalidRequest">
+ <sequence>
+ <element name="argument" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="InvalidTypeFault" type="vim2:InvalidType"/>
+ <complexType name="ManagedObjectNotFound">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ <element name="obj" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ManagedObjectNotFoundFault" type="vim2:ManagedObjectNotFound"/>
+ <complexType name="MethodNotFound">
+ <complexContent>
+ <extension base="vim2:InvalidRequest">
+ <sequence>
+ <element name="receiver" type="vim2:ManagedObjectReference" />
+ <element name="method" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="MethodNotFoundFault" type="vim2:MethodNotFound"/>
+ <complexType name="NotEnoughLicenses">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NotEnoughLicensesFault" type="vim2:NotEnoughLicenses"/>
+ <complexType name="NotImplemented">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NotImplementedFault" type="vim2:NotImplemented"/>
+ <complexType name="NotSupported">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NotSupportedFault" type="vim2:NotSupported"/>
+ <complexType name="RequestCanceled">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="RequestCanceledFault" type="vim2:RequestCanceled"/>
+ <complexType name="SecurityError">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SecurityErrorFault" type="vim2:SecurityError"/>
+ <complexType name="SystemError">
+ <complexContent>
+ <extension base="vim2:RuntimeFault">
+ <sequence>
+ <element name="reason" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SystemErrorFault" type="vim2:SystemError"/>
+ <complexType name="InvalidCollectorVersion">
+ <complexContent>
+ <extension base="vim2:MethodFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="InvalidCollectorVersionFault" type="vim2:InvalidCollectorVersion"/>
+ <complexType name="InvalidProperty">
+ <complexContent>
+ <extension base="vim2:MethodFault">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="InvalidPropertyFault" type="vim2:InvalidProperty"/>
+ <complexType name="PropertyFilterSpec">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="propSet" type="vim2:PropertySpec" maxOccurs="unbounded" />
+ <element name="objectSet" type="vim2:ObjectSpec" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPropertyFilterSpec">
+ <sequence>
+ <element name="PropertyFilterSpec" type="vim2:PropertyFilterSpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PropertySpec">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="type" type="xsd:string" />
+ <element name="all" type="xsd:boolean" minOccurs="0" />
+ <element name="pathSet" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPropertySpec">
+ <sequence>
+ <element name="PropertySpec" type="vim2:PropertySpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="ObjectSpec">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="obj" type="vim2:ManagedObjectReference" />
+ <element name="skip" type="xsd:boolean" minOccurs="0" />
+ <element name="selectSet" type="vim2:SelectionSpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfObjectSpec">
+ <sequence>
+ <element name="ObjectSpec" type="vim2:ObjectSpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="SelectionSpec">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfSelectionSpec">
+ <sequence>
+ <element name="SelectionSpec" type="vim2:SelectionSpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="TraversalSpec">
+ <complexContent>
+ <extension base="vim2:SelectionSpec">
+ <sequence>
+ <element name="type" type="xsd:string" />
+ <element name="path" type="xsd:string" />
+ <element name="skip" type="xsd:boolean" minOccurs="0" />
+ <element name="selectSet" type="vim2:SelectionSpec" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="DestroyPropertyFilter">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="DestroyPropertyFilterResponse">
+ <complexType />
+ </element>
+ <complexType name="ObjectContent">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="obj" type="vim2:ManagedObjectReference" />
+ <element name="propSet" type="vim2:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ <element name="missingSet" type="vim2:MissingProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfObjectContent">
+ <sequence>
+ <element name="ObjectContent" type="vim2:ObjectContent" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="UpdateSet">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="version" type="xsd:string" />
+ <element name="filterSet" type="vim2:PropertyFilterUpdate" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PropertyFilterUpdate">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="filter" type="vim2:ManagedObjectReference" />
+ <element name="objectSet" type="vim2:ObjectUpdate" minOccurs="0" maxOccurs="unbounded" />
+ <element name="missingSet" type="vim2:MissingObject" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPropertyFilterUpdate">
+ <sequence>
+ <element name="PropertyFilterUpdate" type="vim2:PropertyFilterUpdate" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <simpleType name="ObjectUpdateKind">
+ <restriction base="xsd:string">
+ <enumeration value="modify" />
+ <enumeration value="enter" />
+ <enumeration value="leave" />
+ </restriction>
+ </simpleType>
+ <complexType name="ObjectUpdate">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="kind" type="vim2:ObjectUpdateKind" />
+ <element name="obj" type="vim2:ManagedObjectReference" />
+ <element name="changeSet" type="vim2:PropertyChange" minOccurs="0" maxOccurs="unbounded" />
+ <element name="missingSet" type="vim2:MissingProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfObjectUpdate">
+ <sequence>
+ <element name="ObjectUpdate" type="vim2:ObjectUpdate" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <simpleType name="PropertyChangeOp">
+ <restriction base="xsd:string">
+ <enumeration value="add" />
+ <enumeration value="remove" />
+ <enumeration value="assign" />
+ <enumeration value="indirectRemove" />
+ </restriction>
+ </simpleType>
+ <complexType name="PropertyChange">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="op" type="vim2:PropertyChangeOp" />
+ <element name="val" type="xsd:anyType" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPropertyChange">
+ <sequence>
+ <element name="PropertyChange" type="vim2:PropertyChange" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="MissingProperty">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="path" type="xsd:string" />
+ <element name="fault" type="vim2:LocalizedMethodFault" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfMissingProperty">
+ <sequence>
+ <element name="MissingProperty" type="vim2:MissingProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="MissingObject">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="obj" type="vim2:ManagedObjectReference" />
+ <element name="fault" type="vim2:LocalizedMethodFault" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfMissingObject">
+ <sequence>
+ <element name="MissingObject" type="vim2:MissingObject" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <element name="CreateFilter">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="spec" type="vim2:PropertyFilterSpec" />
+ <element name="partialUpdates" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CreateFilterResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveProperties">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="specSet" type="vim2:PropertyFilterSpec" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrievePropertiesResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ObjectContent" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CheckForUpdates">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="version" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CheckForUpdatesResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:UpdateSet" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="WaitForUpdates">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="version" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="WaitForUpdatesResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:UpdateSet" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CancelWaitForUpdates">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CancelWaitForUpdatesResponse">
+ <complexType />
+ </element>
+ <complexType name="LocalizedMethodFault">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="fault" type="vim2:MethodFault" />
+ <element name="localizedMessage" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="MethodFault">
+ <sequence>
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />
+ <element name="dynamicProperty" type="vim2:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <element name="MethodFaultFault" type="vim2:MethodFault"/>
+ <complexType name="RuntimeFault">
+ <complexContent>
+ <extension base="vim2:MethodFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="RuntimeFaultFault" type="vim2:RuntimeFault"/>
+ <complexType name="AboutInfo">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="fullName" type="xsd:string" />
+ <element name="vendor" type="xsd:string" />
+ <element name="version" type="xsd:string" />
+ <element name="build" type="xsd:string" />
+ <element name="localeVersion" type="xsd:string" minOccurs="0" />
+ <element name="localeBuild" type="xsd:string" minOccurs="0" />
+ <element name="osType" type="xsd:string" />
+ <element name="productLineId" type="xsd:string" />
+ <element name="apiType" type="xsd:string" />
+ <element name="apiVersion" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="AuthorizationDescription">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="privilege" type="vim2:ElementDescription" maxOccurs="unbounded" />
+ <element name="privilegeGroup" type="vim2:ElementDescription" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="Permission">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="entity" type="vim2:ManagedObjectReference" minOccurs="0" />
+ <element name="principal" type="xsd:string" />
+ <element name="group" type="xsd:boolean" />
+ <element name="roleId" type="xsd:int" />
+ <element name="propagate" type="xsd:boolean" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPermission">
+ <sequence>
+ <element name="Permission" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="AuthorizationRole">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="roleId" type="xsd:int" />
+ <element name="system" type="xsd:boolean" />
+ <element name="name" type="xsd:string" />
+ <element name="info" type="vim2:Description" />
+ <element name="privilege" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfAuthorizationRole">
+ <sequence>
+ <element name="AuthorizationRole" type="vim2:AuthorizationRole" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="AuthorizationPrivilege">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="privId" type="xsd:string" />
+ <element name="onParent" type="xsd:boolean" />
+ <element name="name" type="xsd:string" />
+ <element name="privGroupName" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfAuthorizationPrivilege">
+ <sequence>
+ <element name="AuthorizationPrivilege" type="vim2:AuthorizationPrivilege" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <element name="AddAuthorizationRole">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ <element name="privIds" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="AddAuthorizationRoleResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="xsd:int" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RemoveAuthorizationRole">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="roleId" type="xsd:int" />
+ <element name="failIfUsed" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RemoveAuthorizationRoleResponse">
+ <complexType />
+ </element>
+ <element name="UpdateAuthorizationRole">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="roleId" type="xsd:int" />
+ <element name="newName" type="xsd:string" />
+ <element name="privIds" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="UpdateAuthorizationRoleResponse">
+ <complexType />
+ </element>
+ <element name="MergePermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="srcRoleId" type="xsd:int" />
+ <element name="dstRoleId" type="xsd:int" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="MergePermissionsResponse">
+ <complexType />
+ </element>
+ <element name="RetrieveRolePermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="roleId" type="xsd:int" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveRolePermissionsResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveEntityPermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="entity" type="vim2:ManagedObjectReference" />
+ <element name="inherited" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveEntityPermissionsResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveAllPermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RetrieveAllPermissionsResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="SetEntityPermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="entity" type="vim2:ManagedObjectReference" />
+ <element name="permission" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="SetEntityPermissionsResponse">
+ <complexType />
+ </element>
+ <element name="ResetEntityPermissions">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="entity" type="vim2:ManagedObjectReference" />
+ <element name="permission" type="vim2:Permission" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ResetEntityPermissionsResponse">
+ <complexType />
+ </element>
+ <element name="RemoveEntityPermission">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="entity" type="vim2:ManagedObjectReference" />
+ <element name="user" type="xsd:string" />
+ <element name="isGroup" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RemoveEntityPermissionResponse">
+ <complexType />
+ </element>
+ <complexType name="Capability">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="provisioningSupported" type="xsd:boolean" />
+ <element name="multiHostSupported" type="xsd:boolean" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ClusterComputeResourceSummary">
+ <complexContent>
+ <extension base="vim2:ComputeResourceSummary">
+ <sequence>
+ <element name="currentFailoverLevel" type="xsd:int" />
+ <element name="numVmotions" type="xsd:int" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ReconfigureCluster_Task">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="spec" type="vim2:ClusterConfigSpec" />
+ <element name="modify" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ReconfigureCluster_TaskResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ApplyRecommendation">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="key" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ApplyRecommendationResponse">
+ <complexType />
+ </element>
+ <element name="RecommendHostsForVm">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="vm" type="vim2:ManagedObjectReference" />
+ <element name="pool" type="vim2:ManagedObjectReference" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RecommendHostsForVmResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ClusterHostRecommendation" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="AddHost_Task">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="spec" type="vim2:HostConnectSpec" />
+ <element name="asConnected" type="xsd:boolean" />
+ <element name="resourcePool" type="vim2:ManagedObjectReference" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="AddHost_TaskResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="MoveInto_Task">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="host" type="vim2:ManagedObjectReference" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="MoveInto_TaskResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="MoveHostInto_Task">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="host" type="vim2:ManagedObjectReference" />
+ <element name="resourcePool" type="vim2:ManagedObjectReference" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="MoveHostInto_TaskResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="ComputeResourceSummary">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="totalCpu" type="xsd:int" />
+ <element name="totalMemory" type="xsd:long" />
+ <element name="numCpuCores" type="xsd:short" />
+ <element name="numCpuThreads" type="xsd:short" />
+ <element name="effectiveCpu" type="xsd:int" />
+ <element name="effectiveMemory" type="xsd:long" />
+ <element name="numHosts" type="xsd:int" />
+ <element name="numEffectiveHosts" type="xsd:int" />
+ <element name="overallStatus" type="vim2:ManagedEntityStatus" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="CustomFieldDef">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="key" type="xsd:int" />
+ <element name="name" type="xsd:string" />
+ <element name="type" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfCustomFieldDef">
+ <sequence>
+ <element name="CustomFieldDef" type="vim2:CustomFieldDef" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="CustomFieldValue">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="key" type="xsd:int" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfCustomFieldValue">
+ <sequence>
+ <element name="CustomFieldValue" type="vim2:CustomFieldValue" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="CustomFieldStringValue">
+ <complexContent>
+ <extension base="vim2:CustomFieldValue">
+ <sequence>
+ <element name="value" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AddCustomFieldDef">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="AddCustomFieldDefResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:CustomFieldDef" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RemoveCustomFieldDef">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="key" type="xsd:int" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RemoveCustomFieldDefResponse">
+ <complexType />
+ </element>
+ <element name="RenameCustomFieldDef">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="key" type="xsd:int" />
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RenameCustomFieldDefResponse">
+ <complexType />
+ </element>
+ <element name="SetField">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="entity" type="vim2:ManagedObjectReference" />
+ <element name="key" type="xsd:int" />
+ <element name="value" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="SetFieldResponse">
+ <complexType />
+ </element>
+ <element name="DoesCustomizationSpecExist">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="DoesCustomizationSpecExistResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="xsd:boolean" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="GetCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="GetCustomizationSpecResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:CustomizationSpecItem" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CreateCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="item" type="vim2:CustomizationSpecItem" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CreateCustomizationSpecResponse">
+ <complexType />
+ </element>
+ <element name="OverwriteCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="item" type="vim2:CustomizationSpecItem" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="OverwriteCustomizationSpecResponse">
+ <complexType />
+ </element>
+ <element name="DeleteCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="DeleteCustomizationSpecResponse">
+ <complexType />
+ </element>
+ <element name="DuplicateCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ <element name="newName" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="DuplicateCustomizationSpecResponse">
+ <complexType />
+ </element>
+ <element name="RenameCustomizationSpec">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="name" type="xsd:string" />
+ <element name="newName" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RenameCustomizationSpecResponse">
+ <complexType />
+ </element>
+ <element name="CustomizationSpecItemToXml">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="item" type="vim2:CustomizationSpecItem" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CustomizationSpecItemToXmlResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="XmlToCustomizationSpecItem">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="specItemXml" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="XmlToCustomizationSpecItemResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:CustomizationSpecItem" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CheckCustomizationResources">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="guestOs" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="CheckCustomizationResourcesResponse">
+ <complexType />
+ </element>
+ <complexType name="CustomizationSpecInfo">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="description" type="xsd:string" />
+ <element name="type" type="xsd:string" />
+ <element name="changeVersion" type="xsd:string" minOccurs="0" />
+ <element name="lastUpdateTime" type="xsd:dateTime" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfCustomizationSpecInfo">
+ <sequence>
+ <element name="CustomizationSpecInfo" type="vim2:CustomizationSpecInfo" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="CustomizationSpecItem">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="info" type="vim2:CustomizationSpecInfo" />
+ <element name="spec" type="vim2:CustomizationSpec" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="QueryConnectionInfo">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="hostname" type="xsd:string" />
+ <element name="port" type="xsd:int" />
+ <element name="username" type="xsd:string" />
+ <element name="password" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="QueryConnectionInfoResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="vim2:HostConnectInfo" />
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="DatastoreSummary">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="datastore" type="vim2:ManagedObjectReference" minOccurs="0" />
+ <element name="name" type="xsd:string" />
+ <element name="url" type="xsd:string" />
+ <element name="capacity" type="xsd:long" />
+ <element name="freeSpace" type="xsd:long" />
+ <element name="accessible" type="xsd:boolean" />
+ <element name="multipleHostAccess" type="xsd:boolean" minOccurs="0" />
+ <element name="type" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="DatastoreInfo">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="url" type="xsd:string" />
+ <element name="freeSpace" type="xsd:long" />
+ <element name="maxFileSize" type="xsd:long" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="DatastoreCapability">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="directoryHierarchySupported" type="xsd:boolean" />
+ <element name="rawDiskMappingsSupported" type="xsd:boolean" />
+ <element name="perFileThinProvisioningSupported" type="xsd:boolean" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="DatastoreHostMount">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="key" type="vim2:ManagedObjectReference" />
+ <element name="mountInfo" type="vim2:HostMountInfo" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfDatastoreHostMount">
+ <sequence>
+ <element name="DatastoreHostMount" type="vim2:DatastoreHostMount" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <element name="RenameDatastore">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ <element name="newName" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RenameDatastoreResponse">
+ <complexType />
+ </element>
+ <element name="RefreshDatastore">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="RefreshDatastoreResponse">
+ <complexType />
+ </element>
+ <element name="DestroyDatastore">
+ <complexType>
+ <sequence>
+ <element name="_this" type="vim2:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="DestroyDatastoreResponse">
+ <complexType />
+ </element>
+ <complexType name="Description">
+ <complexContent>
+ <extension base="vim2:DynamicData">
+ <sequence>
+ <element name="label" type="xsd:string" />
+ <element name="summary" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <simpleType name="DiagnosticManagerLogCreator">
+ <restriction base="xsd:string">
+ <enumeration value="vpxd" />
+ <enumeration value="vpxa" />
+ <enumeration value="hostd" />
+ <enumeration value="serverd" />
+ <enumeration value="install" />
+ <enumeration value="vpxClient" />
+ </restriction>
+ </simpleType>
+ <simpleType name="DiagnosticManagerLogFormat">
+ <restriction base="xsd:string">
+ <enumeration value="plain" />
+ </restriction>
+ </simpleType>
+ <complexType name="DiagnosticManagerLogDescriptor">
+ ...
[truncated message content] |