diff options
author | Arnaud Legendre <arnaudleg@gmail.com> | 2014-06-24 19:12:06 -0700 |
---|---|---|
committer | Arnaud Legendre <arnaudleg@gmail.com> | 2014-07-16 14:35:14 -0700 |
commit | dbcb5f9d1e1cdd601e7539f220880c0e2220a83a (patch) | |
tree | 07cacb8d575f7021bd72c677406dcb6b19f3ea40 | |
parent | 05ef356b3d6f2a63c29ceb1a639624de65b586e7 (diff) | |
download | oslo-vmware-dbcb5f9d1e1cdd601e7539f220880c0e2220a83a.tar.gz |
Store PBM wsdl in the oslo.vmware git repository
Currently, Cinder stores the PBM WSDL files in its own repository
(see commit: 10c5c93925abe3d34c4430e0ed852d8358fb2353). Now that other
projects are leveraging SPBM, we need to provide them the ability
to directly access those WSDL files without having to store them or
referencing them.
This patch (strongly inspired by the patch mentioned above) adds two
utility APIs and unit tests for it:
- get_pbm_wsdl_location()
- get_vc_version()
Change-Id: I61abc5879e71a7f5e5f46d2ec88404923e0423d8
-rw-r--r-- | oslo/vmware/pbm.py | 27 | ||||
-rw-r--r-- | oslo/vmware/vim_util.py | 9 | ||||
-rw-r--r-- | oslo/vmware/wsdl/5.5/core-types.xsd | 242 | ||||
-rw-r--r-- | oslo/vmware/wsdl/5.5/pbm-messagetypes.xsd | 155 | ||||
-rw-r--r-- | oslo/vmware/wsdl/5.5/pbm-types.xsd | 729 | ||||
-rw-r--r-- | oslo/vmware/wsdl/5.5/pbm.wsdl | 889 | ||||
-rw-r--r-- | oslo/vmware/wsdl/5.5/pbmService.wsdl | 16 | ||||
-rw-r--r-- | tests/test_pbm.py | 28 | ||||
-rw-r--r-- | tests/test_vim_util.py | 11 | ||||
-rw-r--r-- | tox.ini | 2 |
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) @@ -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 |