summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-17 17:04:06 +0000
committerGerrit Code Review <review@openstack.org>2014-07-17 17:04:06 +0000
commit6803b573594ed5ee13835e058b4225c0ede846fc (patch)
treef95e8fed0b9c3560bd98e723c165160bb6b99dad
parentb3b340764c2f98e9e6393c9e259a7dd7b697167b (diff)
parentdbcb5f9d1e1cdd601e7539f220880c0e2220a83a (diff)
downloadoslo-vmware-6803b573594ed5ee13835e058b4225c0ede846fc.tar.gz
Merge "Store PBM wsdl in the oslo.vmware git repository"
-rw-r--r--oslo/vmware/pbm.py27
-rw-r--r--oslo/vmware/vim_util.py9
-rw-r--r--oslo/vmware/wsdl/5.5/core-types.xsd242
-rw-r--r--oslo/vmware/wsdl/5.5/pbm-messagetypes.xsd155
-rw-r--r--oslo/vmware/wsdl/5.5/pbm-types.xsd729
-rw-r--r--oslo/vmware/wsdl/5.5/pbm.wsdl889
-rw-r--r--oslo/vmware/wsdl/5.5/pbmService.wsdl16
-rw-r--r--tests/test_pbm.py28
-rw-r--r--tests/test_vim_util.py11
-rw-r--r--tox.ini2
10 files changed, 2108 insertions, 0 deletions
diff --git a/oslo/vmware/pbm.py b/oslo/vmware/pbm.py
index 1ac052d..3b5446a 100644
--- a/oslo/vmware/pbm.py
+++ b/oslo/vmware/pbm.py
@@ -21,8 +21,12 @@ Refer http://goo.gl/GR2o6U for more details.
"""
import logging
+import os
import suds.sax.element as element
+import urllib
+import urlparse
+from oslo.vmware.openstack.common.gettextutils import _LW
from oslo.vmware import service
from oslo.vmware import vim_util
@@ -166,3 +170,26 @@ def filter_datastores_by_hubs(hubs, datastores):
if ds.value in hub_ids:
filtered_dss.append(ds)
return filtered_dss
+
+
+def get_pbm_wsdl_location(vc_version):
+ """Return PBM WSDL file location corresponding to VC version.
+
+ :param vc_version: a dot-separated version string. For example, "1.2".
+ :return: the pbm wsdl file location.
+ """
+ if not vc_version:
+ return
+ ver = vc_version.split('.')
+ major_minor = ver[0]
+ if len(ver) >= 2:
+ major_minor = '%s.%s' % (major_minor, ver[1])
+ curr_dir = os.path.abspath(os.path.dirname(__file__))
+ pbm_service_wsdl = os.path.join(curr_dir, 'wsdl', major_minor,
+ 'pbmService.wsdl')
+ if not os.path.exists(pbm_service_wsdl):
+ LOG.warn(_LW("PBM WSDL file %s not found."), pbm_service_wsdl)
+ return
+ pbm_wsdl = urlparse.urljoin('file:', urllib.pathname2url(pbm_service_wsdl))
+ LOG.debug("Using PBM WSDL location: %s.", pbm_wsdl)
+ return pbm_wsdl
diff --git a/oslo/vmware/vim_util.py b/oslo/vmware/vim_util.py
index 28e236f..e3f8c2e 100644
--- a/oslo/vmware/vim_util.py
+++ b/oslo/vmware/vim_util.py
@@ -414,3 +414,12 @@ def register_extension(vim, key, type, label='OpenStack',
os_ext.description = desc
os_ext.lastHeartbeatTime = timeutils.strtime()
vim.client.service.RegisterExtension(extension_manager, os_ext)
+
+
+def get_vc_version(session):
+ """Return the dot-separated vCenter version string. For example, "1.2".
+
+ :param session: vCenter soap session
+ :return: vCenter version
+ """
+ return session.vim.service_content.about.version
diff --git a/oslo/vmware/wsdl/5.5/core-types.xsd b/oslo/vmware/wsdl/5.5/core-types.xsd
new file mode 100644
index 0000000..51aedf4
--- /dev/null
+++ b/oslo/vmware/wsdl/5.5/core-types.xsd
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005-2013 VMware, Inc. All rights reserved.
+-->
+<schema
+ targetNamespace="urn:vim25"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:vim25="urn:vim25"
+ 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="vim25: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="vim25:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="KeyAnyValue">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="key" type="xsd:string" />
+ <element name="value" type="xsd:anyType" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfKeyAnyValue">
+ <sequence>
+ <element name="KeyAnyValue" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="LocalizableMessage">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="key" type="xsd:string" />
+ <element name="arg" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />
+ <element name="message" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfLocalizableMessage">
+ <sequence>
+ <element name="LocalizableMessage" type="vim25:LocalizableMessage" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="HostCommunication">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="HostNotConnected">
+ <complexContent>
+ <extension base="vim25:HostCommunication">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="HostNotReachable">
+ <complexContent>
+ <extension base="vim25:HostCommunication">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="InvalidArgument">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ <element name="invalidProperty" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="InvalidRequest">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="InvalidType">
+ <complexContent>
+ <extension base="vim25:InvalidRequest">
+ <sequence>
+ <element name="argument" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ManagedObjectNotFound">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ <element name="obj" type="vim25:ManagedObjectReference" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="MethodNotFound">
+ <complexContent>
+ <extension base="vim25:InvalidRequest">
+ <sequence>
+ <element name="receiver" type="vim25:ManagedObjectReference" />
+ <element name="method" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="NotEnoughLicenses">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="NotImplemented">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="NotSupported">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="RequestCanceled">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="SecurityError">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="SystemError">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ <element name="reason" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="UnexpectedFault">
+ <complexContent>
+ <extension base="vim25:RuntimeFault">
+ <sequence>
+ <element name="faultName" type="xsd:string" />
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="LocalizedMethodFault">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="fault" type="vim25:MethodFault" />
+ <element name="localizedMessage" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="MethodFault">
+ <sequence>
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />
+ <element name="dynamicProperty" type="vim25:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />
+ <element name="faultCause" type="vim25:LocalizedMethodFault" minOccurs="0" />
+ <element name="faultMessage" type="vim25:LocalizableMessage" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="ArrayOfMethodFault">
+ <sequence>
+ <element name="MethodFault" type="vim25:MethodFault" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="RuntimeFault">
+ <complexContent>
+ <extension base="vim25:MethodFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ManagedObjectReference">
+ <simpleContent>
+ <extension base="xsd:string">
+ <attribute name="type" type="xsd:string"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="ArrayOfString">
+ <sequence>
+ <element name="string" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="ArrayOfAnyType">
+ <sequence>
+ <element name="anyType" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+</schema>
diff --git a/oslo/vmware/wsdl/5.5/pbm-messagetypes.xsd b/oslo/vmware/wsdl/5.5/pbm-messagetypes.xsd
new file mode 100644
index 0000000..1f06b9f
--- /dev/null
+++ b/oslo/vmware/wsdl/5.5/pbm-messagetypes.xsd
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005-2013 VMware, Inc. All rights reserved.
+-->
+<schema
+ targetNamespace="urn:pbm"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:pbm="urn:pbm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:vim25="urn:vim25"
+ elementFormDefault="qualified"
+>
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />
+ <include schemaLocation="pbm-types.xsd" />
+ <complexType name="PbmRetrieveServiceContentRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCheckComplianceRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmFetchComplianceResultRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCheckRollupComplianceRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entity" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmFetchRollupComplianceResultRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entity" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryMatchingHubRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ <element name="profile" type="pbm:PbmProfileId" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryMatchingHubWithSpecRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ <element name="createSpec" type="pbm:PbmCapabilityProfileCreateSpec" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCheckCompatibilityRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ <element name="profile" type="pbm:PbmProfileId" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCheckCompatibilityWithSpecRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ <element name="profileSpec" type="pbm:PbmCapabilityProfileCreateSpec" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmFetchResourceTypeRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmFetchVendorInfoRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="resourceType" type="pbm:PbmProfileResourceType" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmFetchCapabilityMetadataRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="resourceType" type="pbm:PbmProfileResourceType" minOccurs="0" />
+ <element name="vendorUuid" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCreateRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="createSpec" type="pbm:PbmCapabilityProfileCreateSpec" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmUpdateRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="profileId" type="pbm:PbmProfileId" />
+ <element name="updateSpec" type="pbm:PbmCapabilityProfileUpdateSpec" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmDeleteRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="profileId" type="pbm:PbmProfileId" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryProfileRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />
+ <element name="profileCategory" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmRetrieveContentRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="profileIds" type="pbm:PbmProfileId" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryAssociatedProfilesRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryAssociatedProfileRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="entity" type="pbm:PbmServerObjectRef" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryAssociatedEntityRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="profile" type="pbm:PbmProfileId" />
+ <element name="entityType" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryDefaultRequirementProfileRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="hub" type="pbm:PbmPlacementHub" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmResetDefaultRequirementProfileRequestType">
+ <sequence>
+ <element name="_this" type="vim25:ManagedObjectReference" />
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />
+ </sequence>
+ </complexType>
+</schema>
diff --git a/oslo/vmware/wsdl/5.5/pbm-types.xsd b/oslo/vmware/wsdl/5.5/pbm-types.xsd
new file mode 100644
index 0000000..e919a2a
--- /dev/null
+++ b/oslo/vmware/wsdl/5.5/pbm-types.xsd
@@ -0,0 +1,729 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005-2013 VMware, Inc. All rights reserved.
+-->
+<schema
+ targetNamespace="urn:pbm"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:pbm="urn:pbm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:vim25="urn:vim25"
+ elementFormDefault="qualified"
+>
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />
+ <complexType name="PbmAboutInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="version" type="xsd:string" />
+ <element name="instanceUuid" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmExtendedElementDescription">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="label" type="xsd:string" />
+ <element name="summary" type="xsd:string" />
+ <element name="key" type="xsd:string" />
+ <element name="messageCatalogKeyPrefix" type="xsd:string" />
+ <element name="messageArg" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <simpleType name="PbmVvolType">
+ <restriction base="xsd:string">
+ <enumeration value="Config" />
+ <enumeration value="Data" />
+ <enumeration value="Swap" />
+ </restriction>
+ </simpleType>
+ <simpleType name="PbmObjectType">
+ <restriction base="xsd:string">
+ <enumeration value="virtualMachine" />
+ <enumeration value="virtualDiskId" />
+ <enumeration value="virtualDiskUUID" />
+ <enumeration value="datastore" />
+ <enumeration value="unknown" />
+ </restriction>
+ </simpleType>
+ <complexType name="PbmServerObjectRef">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="objectType" type="xsd:string" />
+ <element name="key" type="xsd:string" />
+ <element name="serverUuid" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmServerObjectRef">
+ <sequence>
+ <element name="PbmServerObjectRef" type="pbm:PbmServerObjectRef" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmServiceInstanceContent">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="aboutInfo" type="pbm:PbmAboutInfo" />
+ <element name="sessionManager" type="vim25:ManagedObjectReference" />
+ <element name="capabilityMetadataManager" type="vim25:ManagedObjectReference" />
+ <element name="profileManager" type="vim25:ManagedObjectReference" />
+ <element name="complianceManager" type="vim25:ManagedObjectReference" />
+ <element name="placementSolver" type="vim25:ManagedObjectReference" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityInstance">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="id" type="pbm:PbmCapabilityMetadataUniqueId" />
+ <element name="constraint" type="pbm:PbmCapabilityConstraintInstance" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityInstance">
+ <sequence>
+ <element name="PbmCapabilityInstance" type="pbm:PbmCapabilityInstance" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityMetadataUniqueId">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="namespace" type="xsd:string" />
+ <element name="id" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityMetadata">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="id" type="pbm:PbmCapabilityMetadataUniqueId" />
+ <element name="summary" type="pbm:PbmExtendedElementDescription" />
+ <element name="mandatory" type="xsd:boolean" minOccurs="0" />
+ <element name="hint" type="xsd:boolean" minOccurs="0" />
+ <element name="keyId" type="xsd:string" minOccurs="0" />
+ <element name="allowMultipleConstraints" type="xsd:boolean" minOccurs="0" />
+ <element name="propertyMetadata" type="pbm:PbmCapabilityPropertyMetadata" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityMetadata">
+ <sequence>
+ <element name="PbmCapabilityMetadata" type="pbm:PbmCapabilityMetadata" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityConstraintInstance">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="propertyInstance" type="pbm:PbmCapabilityPropertyInstance" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityConstraintInstance">
+ <sequence>
+ <element name="PbmCapabilityConstraintInstance" type="pbm:PbmCapabilityConstraintInstance" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityGenericTypeInfo">
+ <complexContent>
+ <extension base="pbm:PbmCapabilityTypeInfo">
+ <sequence>
+ <element name="genericTypeName" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityPropertyInstance">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="id" type="xsd:string" />
+ <element name="value" type="xsd:anyType" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityPropertyInstance">
+ <sequence>
+ <element name="PbmCapabilityPropertyInstance" type="pbm:PbmCapabilityPropertyInstance" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityPropertyMetadata">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="id" type="xsd:string" />
+ <element name="summary" type="pbm:PbmExtendedElementDescription" />
+ <element name="mandatory" type="xsd:boolean" />
+ <element name="type" type="pbm:PbmCapabilityTypeInfo" minOccurs="0" />
+ <element name="defaultValue" type="xsd:anyType" minOccurs="0" />
+ <element name="allowedValue" type="xsd:anyType" minOccurs="0" />
+ <element name="requirementsTypeHint" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityPropertyMetadata">
+ <sequence>
+ <element name="PbmCapabilityPropertyMetadata" type="pbm:PbmCapabilityPropertyMetadata" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityTypeInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="typeName" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityMetadataPerCategory">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="subCategory" type="xsd:string" />
+ <element name="capabilityMetadata" type="pbm:PbmCapabilityMetadata" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityMetadataPerCategory">
+ <sequence>
+ <element name="PbmCapabilityMetadataPerCategory" type="pbm:PbmCapabilityMetadataPerCategory" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilitySchemaVendorInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="vendorUuid" type="xsd:string" />
+ <element name="info" type="pbm:PbmExtendedElementDescription" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityNamespaceInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="version" type="xsd:string" />
+ <element name="namespace" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityVendorResourceTypeInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="resourceType" type="xsd:string" />
+ <element name="vendorNamespaceInfo" type="pbm:PbmCapabilityVendorNamespaceInfo" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityVendorResourceTypeInfo">
+ <sequence>
+ <element name="PbmCapabilityVendorResourceTypeInfo" type="pbm:PbmCapabilityVendorResourceTypeInfo" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilityVendorNamespaceInfo">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="vendorInfo" type="pbm:PbmCapabilitySchemaVendorInfo" />
+ <element name="namespaceInfo" type="pbm:PbmCapabilityNamespaceInfo" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilityVendorNamespaceInfo">
+ <sequence>
+ <element name="PbmCapabilityVendorNamespaceInfo" type="pbm:PbmCapabilityVendorNamespaceInfo" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilitySchema">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="vendorInfo" type="pbm:PbmCapabilitySchemaVendorInfo" />
+ <element name="namespaceInfo" type="pbm:PbmCapabilityNamespaceInfo" />
+ <element name="capabilityMetadataPerCategory" type="pbm:PbmCapabilityMetadataPerCategory" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilitySchema">
+ <sequence>
+ <element name="PbmCapabilitySchema" type="pbm:PbmCapabilitySchema" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <simpleType name="PbmBuiltinGenericType">
+ <restriction base="xsd:string">
+ <enumeration value="VMW_RANGE" />
+ <enumeration value="VMW_SET" />
+ </restriction>
+ </simpleType>
+ <simpleType name="PbmBuiltinType">
+ <restriction base="xsd:string">
+ <enumeration value="XSD_LONG" />
+ <enumeration value="XSD_SHORT" />
+ <enumeration value="XSD_INTEGER" />
+ <enumeration value="XSD_INT" />
+ <enumeration value="XSD_STRING" />
+ <enumeration value="XSD_BOOLEAN" />
+ <enumeration value="XSD_DOUBLE" />
+ <enumeration value="XSD_DATETIME" />
+ <enumeration value="VMW_TIMESPAN" />
+ </restriction>
+ </simpleType>
+ <complexType name="PbmCapabilityDescription">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="description" type="pbm:PbmExtendedElementDescription" />
+ <element name="value" type="xsd:anyType" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityDiscreteSet">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="values" type="xsd:anyType" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityRange">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="min" type="xsd:anyType" />
+ <element name="max" type="xsd:anyType" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityTimeSpan">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="value" type="xsd:int" />
+ <element name="unit" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <simpleType name="PbmCapabilityTimeUnitType">
+ <restriction base="xsd:string">
+ <enumeration value="SECONDS" />
+ <enumeration value="MINUTES" />
+ <enumeration value="HOURS" />
+ <enumeration value="DAYS" />
+ <enumeration value="WEEKS" />
+ <enumeration value="MONTHS" />
+ <enumeration value="YEARS" />
+ </restriction>
+ </simpleType>
+ <simpleType name="PbmComplianceStatus">
+ <restriction base="xsd:string">
+ <enumeration value="compliant" />
+ <enumeration value="nonCompliant" />
+ <enumeration value="unknown" />
+ <enumeration value="notApplicable" />
+ </restriction>
+ </simpleType>
+ <complexType name="PbmComplianceResult">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="checkTime" type="xsd:dateTime" />
+ <element name="entity" type="pbm:PbmServerObjectRef" />
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />
+ <element name="complianceStatus" type="xsd:string" />
+ <element name="mismatch" type="xsd:boolean" />
+ <element name="violatedPolicies" type="pbm:PbmCompliancePolicyStatus" minOccurs="0" maxOccurs="unbounded" />
+ <element name="operationalStatus" type="pbm:PbmComplianceOperationalStatus" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmComplianceResult">
+ <sequence>
+ <element name="PbmComplianceResult" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmComplianceOperationalStatus">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="healthy" type="xsd:boolean" minOccurs="0" />
+ <element name="operationETA" type="xsd:dateTime" minOccurs="0" />
+ <element name="operationProgress" type="xsd:long" minOccurs="0" />
+ <element name="transitional" type="xsd:boolean" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCompliancePolicyStatus">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="expectedValue" type="pbm:PbmCapabilityInstance" />
+ <element name="currentValue" type="pbm:PbmCapabilityInstance" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCompliancePolicyStatus">
+ <sequence>
+ <element name="PbmCompliancePolicyStatus" type="pbm:PbmCompliancePolicyStatus" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmRollupComplianceResult">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="oldestCheckTime" type="xsd:dateTime" />
+ <element name="entity" type="pbm:PbmServerObjectRef" />
+ <element name="overallComplianceStatus" type="xsd:string" />
+ <element name="result" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ <element name="profileMismatch" type="xsd:boolean" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmRollupComplianceResult">
+ <sequence>
+ <element name="PbmRollupComplianceResult" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmAlreadyExists">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityProfilePropertyMismatchFault">
+ <complexContent>
+ <extension base="pbm:PbmPropertyMismatchFault">
+ <sequence>
+ <element name="resourcePropertyInstance" type="pbm:PbmCapabilityPropertyInstance" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCompatibilityCheckFault">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ <element name="hub" type="pbm:PbmPlacementHub" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmDefaultProfileAppliesFault">
+ <complexContent>
+ <extension base="pbm:PbmCompatibilityCheckFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmDuplicateName">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmIncompatibleVendorSpecificRuleSet">
+ <complexContent>
+ <extension base="pbm:PbmCapabilityProfilePropertyMismatchFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmFaultNotFound">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmFault">
+ <complexContent>
+ <extension base="vim25:MethodFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmFaultProfileStorageFault">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmPropertyMismatchFault">
+ <complexContent>
+ <extension base="pbm:PbmCompatibilityCheckFault">
+ <sequence>
+ <element name="capabilityInstanceId" type="pbm:PbmCapabilityMetadataUniqueId" />
+ <element name="requirementPropertyInstance" type="pbm:PbmCapabilityPropertyInstance" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmResourceInUse">
+ <complexContent>
+ <extension base="pbm:PbmFault">
+ <sequence>
+ <element name="type" type="xsd:string" minOccurs="0" />
+ <element name="name" type="xsd:string" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmPlacementCompatibilityResult">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="hub" type="pbm:PbmPlacementHub" />
+ <element name="warning" type="vim25:LocalizedMethodFault" minOccurs="0" maxOccurs="unbounded" />
+ <element name="error" type="vim25:LocalizedMethodFault" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmPlacementCompatibilityResult">
+ <sequence>
+ <element name="PbmPlacementCompatibilityResult" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmPlacementHub">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="hubType" type="xsd:string" />
+ <element name="hubId" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmPlacementHub">
+ <sequence>
+ <element name="PbmPlacementHub" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <simpleType name="PbmProfileCategoryEnum">
+ <restriction base="xsd:string">
+ <enumeration value="REQUIREMENT" />
+ <enumeration value="RESOURCE" />
+ </restriction>
+ </simpleType>
+ <complexType name="PbmCapabilityProfile">
+ <complexContent>
+ <extension base="pbm:PbmProfile">
+ <sequence>
+ <element name="profileCategory" type="xsd:string" />
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" />
+ <element name="generationId" type="xsd:long" minOccurs="0" />
+ <element name="isDefault" type="xsd:boolean" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityProfileCreateSpec">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="description" type="xsd:string" minOccurs="0" />
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityProfileUpdateSpec">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="0" />
+ <element name="description" type="xsd:string" minOccurs="0" />
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmCapabilityConstraints">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmDefaultCapabilityProfile">
+ <complexContent>
+ <extension base="pbm:PbmCapabilityProfile">
+ <sequence>
+ <element name="vvolType" type="xsd:string" maxOccurs="unbounded" />
+ <element name="containerId" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PbmProfile">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="profileId" type="pbm:PbmProfileId" />
+ <element name="name" type="xsd:string" />
+ <element name="description" type="xsd:string" minOccurs="0" />
+ <element name="creationTime" type="xsd:dateTime" />
+ <element name="createdBy" type="xsd:string" />
+ <element name="lastUpdatedTime" type="xsd:dateTime" />
+ <element name="lastUpdatedBy" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmProfile">
+ <sequence>
+ <element name="PbmProfile" type="pbm:PbmProfile" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmProfileId">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="uniqueId" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmProfileId">
+ <sequence>
+ <element name="PbmProfileId" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmProfileOperationOutcome">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="profileId" type="pbm:PbmProfileId" />
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmProfileOperationOutcome">
+ <sequence>
+ <element name="PbmProfileOperationOutcome" type="pbm:PbmProfileOperationOutcome" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmProfileType">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="uniqueId" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmProfileType">
+ <sequence>
+ <element name="PbmProfileType" type="pbm:PbmProfileType" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmQueryProfileResult">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="object" type="pbm:PbmServerObjectRef" />
+ <element name="profileId" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmQueryProfileResult">
+ <sequence>
+ <element name="PbmQueryProfileResult" type="pbm:PbmQueryProfileResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmProfileResourceType">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="resourceType" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmProfileResourceType">
+ <sequence>
+ <element name="PbmProfileResourceType" type="pbm:PbmProfileResourceType" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <simpleType name="PbmProfileResourceTypeEnum">
+ <restriction base="xsd:string">
+ <enumeration value="STORAGE" />
+ </restriction>
+ </simpleType>
+ <complexType name="PbmCapabilitySubProfile">
+ <complexContent>
+ <extension base="vim25:DynamicData">
+ <sequence>
+ <element name="name" type="xsd:string" />
+ <element name="capability" type="pbm:PbmCapabilityInstance" maxOccurs="unbounded" />
+ <element name="forceProvision" type="xsd:boolean" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ArrayOfPbmCapabilitySubProfile">
+ <sequence>
+ <element name="PbmCapabilitySubProfile" type="pbm:PbmCapabilitySubProfile" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ <complexType name="PbmCapabilitySubProfileConstraints">
+ <complexContent>
+ <extension base="pbm:PbmCapabilityConstraints">
+ <sequence>
+ <element name="subProfiles" type="pbm:PbmCapabilitySubProfile" maxOccurs="unbounded" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/oslo/vmware/wsdl/5.5/pbm.wsdl b/oslo/vmware/wsdl/5.5/pbm.wsdl
new file mode 100644
index 0000000..dee980f
--- /dev/null
+++ b/oslo/vmware/wsdl/5.5/pbm.wsdl
@@ -0,0 +1,889 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005-2013 VMware, Inc. All rights reserved.
+-->
+<definitions targetNamespace="urn:pbm"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:pbm="urn:pbm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+>
+ <types>
+ <schema
+ targetNamespace="urn:pbm"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:pbm="urn:pbm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:vim25="urn:vim25"
+ elementFormDefault="qualified"
+ >
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />
+ <include schemaLocation="pbm-messagetypes.xsd" />
+ <element name="versionURI" type="xsd:string" />
+ <element name="HostCommunicationFault" type="vim25:HostCommunication"/>
+ <element name="HostNotConnectedFault" type="vim25:HostNotConnected"/>
+ <element name="HostNotReachableFault" type="vim25:HostNotReachable"/>
+ <element name="InvalidArgumentFault" type="vim25:InvalidArgument"/>
+ <element name="InvalidRequestFault" type="vim25:InvalidRequest"/>
+ <element name="InvalidTypeFault" type="vim25:InvalidType"/>
+ <element name="ManagedObjectNotFoundFault" type="vim25:ManagedObjectNotFound"/>
+ <element name="MethodNotFoundFault" type="vim25:MethodNotFound"/>
+ <element name="NotEnoughLicensesFault" type="vim25:NotEnoughLicenses"/>
+ <element name="NotImplementedFault" type="vim25:NotImplemented"/>
+ <element name="NotSupportedFault" type="vim25:NotSupported"/>
+ <element name="RequestCanceledFault" type="vim25:RequestCanceled"/>
+ <element name="SecurityErrorFault" type="vim25:SecurityError"/>
+ <element name="SystemErrorFault" type="vim25:SystemError"/>
+ <element name="UnexpectedFaultFault" type="vim25:UnexpectedFault"/>
+ <element name="MethodFaultFault" type="vim25:MethodFault"/>
+ <element name="RuntimeFaultFault" type="vim25:RuntimeFault"/>
+ <element name="PbmRetrieveServiceContent" type="pbm:PbmRetrieveServiceContentRequestType" />
+ <element name="PbmRetrieveServiceContentResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmServiceInstanceContent" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmCheckCompliance" type="pbm:PbmCheckComplianceRequestType" />
+ <element name="PbmCheckComplianceResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmFetchComplianceResult" type="pbm:PbmFetchComplianceResultRequestType" />
+ <element name="PbmFetchComplianceResultResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmCheckRollupCompliance" type="pbm:PbmCheckRollupComplianceRequestType" />
+ <element name="PbmCheckRollupComplianceResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmFetchRollupComplianceResult" type="pbm:PbmFetchRollupComplianceResultRequestType" />
+ <element name="PbmFetchRollupComplianceResultResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmAlreadyExistsFault" type="pbm:PbmAlreadyExists"/>
+ <element name="PbmCapabilityProfilePropertyMismatchFaultFault" type="pbm:PbmCapabilityProfilePropertyMismatchFault"/>
+ <element name="PbmCompatibilityCheckFaultFault" type="pbm:PbmCompatibilityCheckFault"/>
+ <element name="PbmDefaultProfileAppliesFaultFault" type="pbm:PbmDefaultProfileAppliesFault"/>
+ <element name="PbmDuplicateNameFault" type="pbm:PbmDuplicateName"/>
+ <element name="PbmIncompatibleVendorSpecificRuleSetFault" type="pbm:PbmIncompatibleVendorSpecificRuleSet"/>
+ <element name="PbmFaultNotFoundFault" type="pbm:PbmFaultNotFound"/>
+ <element name="PbmFaultFault" type="pbm:PbmFault"/>
+ <element name="PbmFaultProfileStorageFaultFault" type="pbm:PbmFaultProfileStorageFault"/>
+ <element name="PbmPropertyMismatchFaultFault" type="pbm:PbmPropertyMismatchFault"/>
+ <element name="PbmResourceInUseFault" type="pbm:PbmResourceInUse"/>
+ <element name="PbmQueryMatchingHub" type="pbm:PbmQueryMatchingHubRequestType" />
+ <element name="PbmQueryMatchingHubResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryMatchingHubWithSpec" type="pbm:PbmQueryMatchingHubWithSpecRequestType" />
+ <element name="PbmQueryMatchingHubWithSpecResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmCheckCompatibility" type="pbm:PbmCheckCompatibilityRequestType" />
+ <element name="PbmCheckCompatibilityResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmCheckCompatibilityWithSpec" type="pbm:PbmCheckCompatibilityWithSpecRequestType" />
+ <element name="PbmCheckCompatibilityWithSpecResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmFetchResourceType" type="pbm:PbmFetchResourceTypeRequestType" />
+ <element name="PbmFetchResourceTypeResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileResourceType" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmFetchVendorInfo" type="pbm:PbmFetchVendorInfoRequestType" />
+ <element name="PbmFetchVendorInfoResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmCapabilityVendorResourceTypeInfo" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmFetchCapabilityMetadata" type="pbm:PbmFetchCapabilityMetadataRequestType" />
+ <element name="PbmFetchCapabilityMetadataResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmCapabilityMetadataPerCategory" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmCreate" type="pbm:PbmCreateRequestType" />
+ <element name="PbmCreateResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileId" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmUpdate" type="pbm:PbmUpdateRequestType" />
+ <element name="PbmUpdateResponse">
+ <complexType />
+ </element>
+ <element name="PbmDelete" type="pbm:PbmDeleteRequestType" />
+ <element name="PbmDeleteResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileOperationOutcome" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryProfile" type="pbm:PbmQueryProfileRequestType" />
+ <element name="PbmQueryProfileResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmRetrieveContent" type="pbm:PbmRetrieveContentRequestType" />
+ <element name="PbmRetrieveContentResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfile" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryAssociatedProfiles" type="pbm:PbmQueryAssociatedProfilesRequestType" />
+ <element name="PbmQueryAssociatedProfilesResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmQueryProfileResult" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryAssociatedProfile" type="pbm:PbmQueryAssociatedProfileRequestType" />
+ <element name="PbmQueryAssociatedProfileResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryAssociatedEntity" type="pbm:PbmQueryAssociatedEntityRequestType" />
+ <element name="PbmQueryAssociatedEntityResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmServerObjectRef" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmQueryDefaultRequirementProfile" type="pbm:PbmQueryDefaultRequirementProfileRequestType" />
+ <element name="PbmQueryDefaultRequirementProfileResponse">
+ <complexType>
+ <sequence>
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="PbmResetDefaultRequirementProfile" type="pbm:PbmResetDefaultRequirementProfileRequestType" />
+ <element name="PbmResetDefaultRequirementProfileResponse">
+ <complexType />
+ </element>
+ </schema>
+ </types>
+ <message name="HostCommunicationFaultMsg">
+ <part name="fault" element="pbm:HostCommunicationFault" />
+ </message>
+ <message name="HostNotConnectedFaultMsg">
+ <part name="fault" element="pbm:HostNotConnectedFault" />
+ </message>
+ <message name="HostNotReachableFaultMsg">
+ <part name="fault" element="pbm:HostNotReachableFault" />
+ </message>
+ <message name="InvalidArgumentFaultMsg">
+ <part name="fault" element="pbm:InvalidArgumentFault" />
+ </message>
+ <message name="InvalidRequestFaultMsg">
+ <part name="fault" element="pbm:InvalidRequestFault" />
+ </message>
+ <message name="InvalidTypeFaultMsg">
+ <part name="fault" element="pbm:InvalidTypeFault" />
+ </message>
+ <message name="ManagedObjectNotFoundFaultMsg">
+ <part name="fault" element="pbm:ManagedObjectNotFoundFault" />
+ </message>
+ <message name="MethodNotFoundFaultMsg">
+ <part name="fault" element="pbm:MethodNotFoundFault" />
+ </message>
+ <message name="NotEnoughLicensesFaultMsg">
+ <part name="fault" element="pbm:NotEnoughLicensesFault" />
+ </message>
+ <message name="NotImplementedFaultMsg">
+ <part name="fault" element="pbm:NotImplementedFault" />
+ </message>
+ <message name="NotSupportedFaultMsg">
+ <part name="fault" element="pbm:NotSupportedFault" />
+ </message>
+ <message name="RequestCanceledFaultMsg">
+ <part name="fault" element="pbm:RequestCanceledFault" />
+ </message>
+ <message name="SecurityErrorFaultMsg">
+ <part name="fault" element="pbm:SecurityErrorFault" />
+ </message>
+ <message name="SystemErrorFaultMsg">
+ <part name="fault" element="pbm:SystemErrorFault" />
+ </message>
+ <message name="UnexpectedFaultFaultMsg">
+ <part name="fault" element="pbm:UnexpectedFaultFault" />
+ </message>
+ <message name="MethodFaultFaultMsg">
+ <part name="fault" element="pbm:MethodFaultFault" />
+ </message>
+ <message name="RuntimeFaultFaultMsg">
+ <part name="fault" element="pbm:RuntimeFaultFault" />
+ </message>
+ <message name="PbmRetrieveServiceContentRequestMsg">
+ <part name="parameters" element="pbm:PbmRetrieveServiceContent" />
+ </message>
+ <message name="PbmRetrieveServiceContentResponseMsg">
+ <part name="parameters" element="pbm:PbmRetrieveServiceContentResponse" />
+ </message>
+ <message name="PbmCheckComplianceRequestMsg">
+ <part name="parameters" element="pbm:PbmCheckCompliance" />
+ </message>
+ <message name="PbmCheckComplianceResponseMsg">
+ <part name="parameters" element="pbm:PbmCheckComplianceResponse" />
+ </message>
+ <message name="PbmFetchComplianceResultRequestMsg">
+ <part name="parameters" element="pbm:PbmFetchComplianceResult" />
+ </message>
+ <message name="PbmFetchComplianceResultResponseMsg">
+ <part name="parameters" element="pbm:PbmFetchComplianceResultResponse" />
+ </message>
+ <message name="PbmCheckRollupComplianceRequestMsg">
+ <part name="parameters" element="pbm:PbmCheckRollupCompliance" />
+ </message>
+ <message name="PbmCheckRollupComplianceResponseMsg">
+ <part name="parameters" element="pbm:PbmCheckRollupComplianceResponse" />
+ </message>
+ <message name="PbmFetchRollupComplianceResultRequestMsg">
+ <part name="parameters" element="pbm:PbmFetchRollupComplianceResult" />
+ </message>
+ <message name="PbmFetchRollupComplianceResultResponseMsg">
+ <part name="parameters" element="pbm:PbmFetchRollupComplianceResultResponse" />
+ </message>
+ <message name="PbmAlreadyExistsFaultMsg">
+ <part name="fault" element="pbm:PbmAlreadyExistsFault" />
+ </message>
+ <message name="PbmCapabilityProfilePropertyMismatchFaultFaultMsg">
+ <part name="fault" element="pbm:PbmCapabilityProfilePropertyMismatchFaultFault" />
+ </message>
+ <message name="PbmCompatibilityCheckFaultFaultMsg">
+ <part name="fault" element="pbm:PbmCompatibilityCheckFaultFault" />
+ </message>
+ <message name="PbmDefaultProfileAppliesFaultFaultMsg">
+ <part name="fault" element="pbm:PbmDefaultProfileAppliesFaultFault" />
+ </message>
+ <message name="PbmDuplicateNameFaultMsg">
+ <part name="fault" element="pbm:PbmDuplicateNameFault" />
+ </message>
+ <message name="PbmIncompatibleVendorSpecificRuleSetFaultMsg">
+ <part name="fault" element="pbm:PbmIncompatibleVendorSpecificRuleSetFault" />
+ </message>
+ <message name="PbmFaultNotFoundFaultMsg">
+ <part name="fault" element="pbm:PbmFaultNotFoundFault" />
+ </message>
+ <message name="PbmFaultFaultMsg">
+ <part name="fault" element="pbm:PbmFaultFault" />
+ </message>
+ <message name="PbmFaultProfileStorageFaultFaultMsg">
+ <part name="fault" element="pbm:PbmFaultProfileStorageFaultFault" />
+ </message>
+ <message name="PbmPropertyMismatchFaultFaultMsg">
+ <part name="fault" element="pbm:PbmPropertyMismatchFaultFault" />
+ </message>
+ <message name="PbmResourceInUseFaultMsg">
+ <part name="fault" element="pbm:PbmResourceInUseFault" />
+ </message>
+ <message name="PbmQueryMatchingHubRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryMatchingHub" />
+ </message>
+ <message name="PbmQueryMatchingHubResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryMatchingHubResponse" />
+ </message>
+ <message name="PbmQueryMatchingHubWithSpecRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryMatchingHubWithSpec" />
+ </message>
+ <message name="PbmQueryMatchingHubWithSpecResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryMatchingHubWithSpecResponse" />
+ </message>
+ <message name="PbmCheckCompatibilityRequestMsg">
+ <part name="parameters" element="pbm:PbmCheckCompatibility" />
+ </message>
+ <message name="PbmCheckCompatibilityResponseMsg">
+ <part name="parameters" element="pbm:PbmCheckCompatibilityResponse" />
+ </message>
+ <message name="PbmCheckCompatibilityWithSpecRequestMsg">
+ <part name="parameters" element="pbm:PbmCheckCompatibilityWithSpec" />
+ </message>
+ <message name="PbmCheckCompatibilityWithSpecResponseMsg">
+ <part name="parameters" element="pbm:PbmCheckCompatibilityWithSpecResponse" />
+ </message>
+ <message name="PbmFetchResourceTypeRequestMsg">
+ <part name="parameters" element="pbm:PbmFetchResourceType" />
+ </message>
+ <message name="PbmFetchResourceTypeResponseMsg">
+ <part name="parameters" element="pbm:PbmFetchResourceTypeResponse" />
+ </message>
+ <message name="PbmFetchVendorInfoRequestMsg">
+ <part name="parameters" element="pbm:PbmFetchVendorInfo" />
+ </message>
+ <message name="PbmFetchVendorInfoResponseMsg">
+ <part name="parameters" element="pbm:PbmFetchVendorInfoResponse" />
+ </message>
+ <message name="PbmFetchCapabilityMetadataRequestMsg">
+ <part name="parameters" element="pbm:PbmFetchCapabilityMetadata" />
+ </message>
+ <message name="PbmFetchCapabilityMetadataResponseMsg">
+ <part name="parameters" element="pbm:PbmFetchCapabilityMetadataResponse" />
+ </message>
+ <message name="PbmCreateRequestMsg">
+ <part name="parameters" element="pbm:PbmCreate" />
+ </message>
+ <message name="PbmCreateResponseMsg">
+ <part name="parameters" element="pbm:PbmCreateResponse" />
+ </message>
+ <message name="PbmUpdateRequestMsg">
+ <part name="parameters" element="pbm:PbmUpdate" />
+ </message>
+ <message name="PbmUpdateResponseMsg">
+ <part name="parameters" element="pbm:PbmUpdateResponse" />
+ </message>
+ <message name="PbmDeleteRequestMsg">
+ <part name="parameters" element="pbm:PbmDelete" />
+ </message>
+ <message name="PbmDeleteResponseMsg">
+ <part name="parameters" element="pbm:PbmDeleteResponse" />
+ </message>
+ <message name="PbmQueryProfileRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryProfile" />
+ </message>
+ <message name="PbmQueryProfileResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryProfileResponse" />
+ </message>
+ <message name="PbmRetrieveContentRequestMsg">
+ <part name="parameters" element="pbm:PbmRetrieveContent" />
+ </message>
+ <message name="PbmRetrieveContentResponseMsg">
+ <part name="parameters" element="pbm:PbmRetrieveContentResponse" />
+ </message>
+ <message name="PbmQueryAssociatedProfilesRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfiles" />
+ </message>
+ <message name="PbmQueryAssociatedProfilesResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfilesResponse" />
+ </message>
+ <message name="PbmQueryAssociatedProfileRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfile" />
+ </message>
+ <message name="PbmQueryAssociatedProfileResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfileResponse" />
+ </message>
+ <message name="PbmQueryAssociatedEntityRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedEntity" />
+ </message>
+ <message name="PbmQueryAssociatedEntityResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryAssociatedEntityResponse" />
+ </message>
+ <message name="PbmQueryDefaultRequirementProfileRequestMsg">
+ <part name="parameters" element="pbm:PbmQueryDefaultRequirementProfile" />
+ </message>
+ <message name="PbmQueryDefaultRequirementProfileResponseMsg">
+ <part name="parameters" element="pbm:PbmQueryDefaultRequirementProfileResponse" />
+ </message>
+ <message name="PbmResetDefaultRequirementProfileRequestMsg">
+ <part name="parameters" element="pbm:PbmResetDefaultRequirementProfile" />
+ </message>
+ <message name="PbmResetDefaultRequirementProfileResponseMsg">
+ <part name="parameters" element="pbm:PbmResetDefaultRequirementProfileResponse" />
+ </message>
+ <portType name="PbmPortType">
+ <operation name="PbmRetrieveServiceContent">
+ <input message="pbm:PbmRetrieveServiceContentRequestMsg" />
+ <output message="pbm:PbmRetrieveServiceContentResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmCheckCompliance">
+ <input message="pbm:PbmCheckComplianceRequestMsg" />
+ <output message="pbm:PbmCheckComplianceResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmFetchComplianceResult">
+ <input message="pbm:PbmFetchComplianceResultRequestMsg" />
+ <output message="pbm:PbmFetchComplianceResultResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmCheckRollupCompliance">
+ <input message="pbm:PbmCheckRollupComplianceRequestMsg" />
+ <output message="pbm:PbmCheckRollupComplianceResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmFetchRollupComplianceResult">
+ <input message="pbm:PbmFetchRollupComplianceResultRequestMsg" />
+ <output message="pbm:PbmFetchRollupComplianceResultResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryMatchingHub">
+ <input message="pbm:PbmQueryMatchingHubRequestMsg" />
+ <output message="pbm:PbmQueryMatchingHubResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryMatchingHubWithSpec">
+ <input message="pbm:PbmQueryMatchingHubWithSpecRequestMsg" />
+ <output message="pbm:PbmQueryMatchingHubWithSpecResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmCheckCompatibility">
+ <input message="pbm:PbmCheckCompatibilityRequestMsg" />
+ <output message="pbm:PbmCheckCompatibilityResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmCheckCompatibilityWithSpec">
+ <input message="pbm:PbmCheckCompatibilityWithSpecRequestMsg" />
+ <output message="pbm:PbmCheckCompatibilityWithSpecResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmFetchResourceType">
+ <input message="pbm:PbmFetchResourceTypeRequestMsg" />
+ <output message="pbm:PbmFetchResourceTypeResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmFetchVendorInfo">
+ <input message="pbm:PbmFetchVendorInfoRequestMsg" />
+ <output message="pbm:PbmFetchVendorInfoResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmFetchCapabilityMetadata">
+ <input message="pbm:PbmFetchCapabilityMetadataRequestMsg" />
+ <output message="pbm:PbmFetchCapabilityMetadataResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmCreate">
+ <input message="pbm:PbmCreateRequestMsg" />
+ <output message="pbm:PbmCreateResponseMsg" />
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>
+ <fault name="PbmFaultProfileStorageFaultFault" message="pbm:PbmFaultProfileStorageFaultFaultMsg"/>
+ <fault name="PbmDuplicateNameFault" message="pbm:PbmDuplicateNameFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmUpdate">
+ <input message="pbm:PbmUpdateRequestMsg" />
+ <output message="pbm:PbmUpdateResponseMsg" />
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>
+ <fault name="PbmFaultProfileStorageFaultFault" message="pbm:PbmFaultProfileStorageFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmDelete">
+ <input message="pbm:PbmDeleteRequestMsg" />
+ <output message="pbm:PbmDeleteResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryProfile">
+ <input message="pbm:PbmQueryProfileRequestMsg" />
+ <output message="pbm:PbmQueryProfileResponseMsg" />
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmRetrieveContent">
+ <input message="pbm:PbmRetrieveContentRequestMsg" />
+ <output message="pbm:PbmRetrieveContentResponseMsg" />
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryAssociatedProfiles">
+ <input message="pbm:PbmQueryAssociatedProfilesRequestMsg" />
+ <output message="pbm:PbmQueryAssociatedProfilesResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryAssociatedProfile">
+ <input message="pbm:PbmQueryAssociatedProfileRequestMsg" />
+ <output message="pbm:PbmQueryAssociatedProfileResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryAssociatedEntity">
+ <input message="pbm:PbmQueryAssociatedEntityRequestMsg" />
+ <output message="pbm:PbmQueryAssociatedEntityResponseMsg" />
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmQueryDefaultRequirementProfile">
+ <input message="pbm:PbmQueryDefaultRequirementProfileRequestMsg" />
+ <output message="pbm:PbmQueryDefaultRequirementProfileResponseMsg" />
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ <operation name="PbmResetDefaultRequirementProfile">
+ <input message="pbm:PbmResetDefaultRequirementProfileRequestMsg" />
+ <output message="pbm:PbmResetDefaultRequirementProfileResponseMsg" />
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>
+ </operation>
+ </portType>
+ <binding name="PbmBinding" type="pbm:PbmPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="PbmRetrieveServiceContent">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmCheckCompliance">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmFetchComplianceResult">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmCheckRollupCompliance">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmFetchRollupComplianceResult">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryMatchingHub">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryMatchingHubWithSpec">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmCheckCompatibility">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmCheckCompatibilityWithSpec">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmFetchResourceType">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmFetchVendorInfo">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmFetchCapabilityMetadata">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmCreate">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="InvalidArgumentFault">
+ <soap:fault name="InvalidArgumentFault" use="literal" />
+ </fault>
+ <fault name="PbmFaultProfileStorageFaultFault">
+ <soap:fault name="PbmFaultProfileStorageFaultFault" use="literal" />
+ </fault>
+ <fault name="PbmDuplicateNameFault">
+ <soap:fault name="PbmDuplicateNameFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmUpdate">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="InvalidArgumentFault">
+ <soap:fault name="InvalidArgumentFault" use="literal" />
+ </fault>
+ <fault name="PbmFaultProfileStorageFaultFault">
+ <soap:fault name="PbmFaultProfileStorageFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmDelete">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryProfile">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="InvalidArgumentFault">
+ <soap:fault name="InvalidArgumentFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmRetrieveContent">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="InvalidArgumentFault">
+ <soap:fault name="InvalidArgumentFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryAssociatedProfiles">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryAssociatedProfile">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryAssociatedEntity">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmQueryDefaultRequirementProfile">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="InvalidArgumentFault">
+ <soap:fault name="InvalidArgumentFault" use="literal" />
+ </fault>
+ <fault name="PbmFaultFault">
+ <soap:fault name="PbmFaultFault" use="literal" />
+ </fault>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ <operation name="PbmResetDefaultRequirementProfile">
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="RuntimeFault">
+ <soap:fault name="RuntimeFault" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+</definitions>
diff --git a/oslo/vmware/wsdl/5.5/pbmService.wsdl b/oslo/vmware/wsdl/5.5/pbmService.wsdl
new file mode 100644
index 0000000..ff77383
--- /dev/null
+++ b/oslo/vmware/wsdl/5.5/pbmService.wsdl
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2005-2013 VMware, Inc. All rights reserved.
+-->
+<definitions targetNamespace="urn:pbmService"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:interface="urn:pbm"
+>
+ <import location="pbm.wsdl" namespace="urn:pbm" />
+ <service name="PbmService">
+ <port binding="interface:PbmBinding" name="PbmPort">
+ <soap:address location="http://localhost/pbm/services/pbmService" />
+ </port>
+ </service>
+</definitions>
diff --git a/tests/test_pbm.py b/tests/test_pbm.py
index f84b971..85b3ef1 100644
--- a/tests/test_pbm.py
+++ b/tests/test_pbm.py
@@ -17,6 +17,10 @@
Unit tests for PBM utility methods.
"""
+import os
+import urllib
+import urlparse
+
import mock
from oslo.vmware import pbm
@@ -145,3 +149,27 @@ class PBMUtilityTest(base.TestCase):
self.assertEqual(len(hubs), len(filtered_ds))
filtered_ds_values = [ds.value for ds in filtered_ds]
self.assertEqual(set(hub_ids), set(filtered_ds_values))
+
+ def test_get_pbm_wsdl_location(self):
+ wsdl = pbm.get_pbm_wsdl_location(None)
+ self.assertIsNone(wsdl)
+
+ def expected_wsdl(version):
+ driver_dir = os.path.join(os.path.dirname(__file__), '..',
+ 'oslo', 'vmware')
+ driver_abs_dir = os.path.abspath(driver_dir)
+ path = os.path.join(driver_abs_dir, 'wsdl', version,
+ 'pbmService.wsdl')
+ return urlparse.urljoin('file:', urllib.pathname2url(path))
+
+ with mock.patch('os.path.exists') as path_exists:
+ path_exists.return_value = True
+ wsdl = pbm.get_pbm_wsdl_location('5')
+ self.assertEqual(expected_wsdl('5'), wsdl)
+ wsdl = pbm.get_pbm_wsdl_location('5.5')
+ self.assertEqual(expected_wsdl('5.5'), wsdl)
+ wsdl = pbm.get_pbm_wsdl_location('5.5.1')
+ self.assertEqual(expected_wsdl('5.5'), wsdl)
+ path_exists.return_value = False
+ wsdl = pbm.get_pbm_wsdl_location('5.5')
+ self.assertIsNone(wsdl)
diff --git a/tests/test_vim_util.py b/tests/test_vim_util.py
index a0ea964..941f29e 100644
--- a/tests/test_vim_util.py
+++ b/tests/test_vim_util.py
@@ -308,3 +308,14 @@ class VimUtilTest(base.TestCase):
service_content = vim.service_content
vim.client.service.RegisterExtension.assert_called_once_with(
service_content.extensionManager, mock.ANY)
+
+ def test_get_vc_version(self):
+ session = mock.Mock()
+ expected_version = '6.0.1'
+ session.vim.service_content.about.version = expected_version
+ version = vim_util.get_vc_version(session)
+ self.assertEqual(expected_version, version)
+ expected_version = '5.5'
+ session.vim.service_content.about.version = expected_version
+ version = vim_util.get_vc_version(session)
+ self.assertEqual(expected_version, version)
diff --git a/tox.ini b/tox.ini
index 6d12430..0f9de1c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,4 +1,5 @@
[tox]
+skipsdist = True
envlist = py26,py27,py33,pep8
[testenv]
@@ -6,6 +7,7 @@ setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}'
+usedevelop = True
[testenv:pep8]
commands = flake8