Test suite for VMware VMDK driver.
"""
+from distutils.version import LooseVersion
+import os
+
import mock
import mox
class VMwareVcVmdkDriverTestCase(VMwareEsxVmdkDriverTestCase):
"""Test class for VMwareVcVmdkDriver."""
- PBM_WSDL = '/fake/wsdl/path'
DEFAULT_PROFILE = 'fakeProfile'
+ DEFAULT_VC_VERSION = '5.5'
def setUp(self):
super(VMwareVcVmdkDriverTestCase, self).setUp()
- self._config.pbm_wsdl_location = self.PBM_WSDL
self._config.pbm_default_policy = self.DEFAULT_PROFILE
+ self._config.vmware_host_version = self.DEFAULT_VC_VERSION
self._driver = vmdk.VMwareVcVmdkDriver(configuration=self._config)
+ def test_get_pbm_wsdl_location(self):
+ # no version returns None
+ wsdl = self._driver._get_pbm_wsdl_location(None)
+ self.assertIsNone(wsdl)
+
+ def expected_wsdl(version):
+ driver_dir = os.path.join(os.path.dirname(__file__), '..',
+ 'volume', 'drivers', 'vmware')
+ driver_abs_dir = os.path.abspath(driver_dir)
+ return 'file://' + os.path.join(driver_abs_dir, 'wsdl', version,
+ 'pbmService.wsdl')
+
+ # verify wsdl path for different version strings
+ with mock.patch('os.path.exists') as path_exists:
+ path_exists.return_value = True
+ wsdl = self._driver._get_pbm_wsdl_location(LooseVersion('5'))
+ self.assertEqual(expected_wsdl('5'), wsdl)
+ wsdl = self._driver._get_pbm_wsdl_location(LooseVersion('5.5'))
+ self.assertEqual(expected_wsdl('5.5'), wsdl)
+ wsdl = self._driver._get_pbm_wsdl_location(LooseVersion('5.5.1'))
+ self.assertEqual(expected_wsdl('5.5'), wsdl)
+ # if wsdl path does not exist, then it returns None
+ path_exists.return_value = False
+ wsdl = self._driver._get_pbm_wsdl_location(LooseVersion('5.5'))
+ self.assertIsNone(wsdl)
+
+ @mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.'
+ 'session', new_callable=mock.PropertyMock)
+ def test_get_vc_version(self, session):
+ # test config overrides fetching from VC server
+ version = self._driver._get_vc_version()
+ self.assertEqual(self.DEFAULT_VC_VERSION, version)
+ # explicitly remove config entry
+ self._driver.configuration.vmware_host_version = None
+ session.return_value.vim.service_content.about.version = '6.0.1'
+ version = self._driver._get_vc_version()
+ self.assertEqual(LooseVersion('6.0.1'), version)
+
+ @mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.'
+ '_get_pbm_wsdl_location')
+ @mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.'
+ '_get_vc_version')
@mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.'
'session', new_callable=mock.PropertyMock)
@mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.'
'volumeops', new_callable=mock.PropertyMock)
- def test_do_setup(self, vol_ops, session):
- """Test do_setup."""
+ def test_do_setup(self, vol_ops, session, _get_vc_version,
+ _get_pbm_wsdl_location):
vol_ops = vol_ops.return_value
session = session.return_value
- # pbm_wsdl_location is set and pbm_default_policy is used
+ # pbm is enabled and pbm_default_policy is used
+ _get_vc_version.return_value = LooseVersion('5.5')
+ _get_pbm_wsdl_location.return_value = 'fake_pbm_location'
self._driver.do_setup(mock.ANY)
default = self.DEFAULT_PROFILE
vol_ops.retrieve_profile_id.assert_called_once_with(default)
- # pbm_wsdl_location is set and pbm_default_policy is wrong
+ self.assertTrue(self._driver._storage_policy_enabled)
+
+ # pbm is enabled and pbm_default_policy is wrong
+ self._driver._storage_policy_enabled = False
+ vol_ops.retrieve_profile_id.reset_mock()
vol_ops.retrieve_profile_id.return_value = None
self.assertRaises(error_util.PbmDefaultPolicyDoesNotExist,
self._driver.do_setup, mock.ANY)
- # pbm_wsdl_location is not set
- self._driver.configuration.pbm_wsdl_location = None
+ vol_ops.retrieve_profile_id.assert_called_once_with(default)
+
+ # pbm is disabled
+ self._driver._storage_policy_enabled = False
+ vol_ops.retrieve_profile_id.reset_mock()
+ _get_vc_version.return_value = LooseVersion('5.0')
self._driver.do_setup(mock.ANY)
+ self.assertFalse(self._driver._storage_policy_enabled)
+ self.assertFalse(vol_ops.retrieve_profile_id.called)
def test_init_conn_with_instance_and_backing(self):
"""Test initialize_connection with instance and backing."""
machine is never powered on and is often referred as the shadow VM.
"""
+import distutils.version as dist_version # pylint: disable=E0611
+import os
+
from oslo.config import cfg
from cinder import exception
+from cinder.openstack.common import excutils
from cinder.openstack.common import log as logging
from cinder import units
from cinder.volume import driver
'Query results will be obtained in batches from the '
'server and not in one shot. Server may still limit the '
'count to something less than the configured value.'),
+ cfg.StrOpt('vmware_host_version',
+ help='Optional string specifying the VMware VC server version. '
+ 'The driver attempts to retrieve the version from VMware '
+ 'VC server. Set this configuration only if you want to '
+ 'override the VC server version.'),
]
spbm_opts = [
- cfg.StrOpt('pbm_wsdl_location',
- help='PBM service WSDL file location URL. '
- 'e.g. file:///opt/SDK/spbm/wsdl/pbmService.wsdl. '
- 'Not setting this will disable storage policy based '
- 'placement of volumes.'),
cfg.StrOpt('pbm_default_policy',
- help='The PBM default policy. If pbm_wsdl_location is set and '
- 'there is no defined storage policy for the specific '
- 'request then this policy will be used.'),
+ help='The PBM default policy. If using VC server version 5.5 '
+ 'or above and there is no defined storage policy for the '
+ 'specific request then this policy will be used.'),
]
CONF = cfg.CONF
if not getattr(self.configuration, param, None):
raise exception.InvalidInput(_("%s not set.") % param)
- # Create the session object for the first time
- max_objects = self.configuration.vmware_max_objects_retrieval
- self._volumeops = volumeops.VMwareVolumeOps(self.session, max_objects)
- LOG.info(_("Successfully setup driver: %(driver)s for "
- "server: %(ip)s.") %
- {'driver': self.__class__.__name__,
- 'ip': self.configuration.vmware_host_ip})
+ # Create the session object for the first time for ESX driver
+ driver = self.__class__.__name__
+ if driver == 'VMwareEsxVmdkDriver':
+ max_objects = self.configuration.vmware_max_objects_retrieval
+ self._volumeops = volumeops.VMwareVolumeOps(self.session,
+ max_objects)
+ LOG.info(_("Successfully setup driver: %(driver)s for "
+ "server: %(ip)s.") %
+ {'driver': driver,
+ 'ip': self.configuration.vmware_host_ip})
def check_for_setup_error(self):
pass
class VMwareVcVmdkDriver(VMwareEsxVmdkDriver):
"""Manage volumes on VMware VC server."""
+ # PBM is enabled only for VC versions 5.5 and above
+ PBM_ENABLED_VC_VERSION = dist_version.LooseVersion('5.5')
+
def __init__(self, *args, **kwargs):
super(VMwareVcVmdkDriver, self).__init__(*args, **kwargs)
self.configuration.append_config_values(spbm_opts)
api_retry_count = self.configuration.vmware_api_retry_count
task_poll_interval = self.configuration.vmware_task_poll_interval
wsdl_loc = self.configuration.safe_get('vmware_wsdl_location')
- pbm_wsdl = self.configuration.pbm_wsdl_location
+ pbm_wsdl = self.pbm_wsdl if hasattr(self, 'pbm_wsdl') else None
self._session = api.VMwareAPISession(ip, username,
password, api_retry_count,
task_poll_interval,
pbm_wsdl=pbm_wsdl)
return self._session
+ def _get_pbm_wsdl_location(self, vc_version):
+ """Return PBM WSDL file location corresponding to VC version."""
+ if not vc_version:
+ return
+ ver = str(vc_version).split('.')
+ major_minor = ver[0]
+ if len(ver) >= 2:
+ major_minor = 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(_("PBM WSDL file %s is missing!"), pbm_service_wsdl)
+ return
+ pbm_wsdl = 'file://' + pbm_service_wsdl
+ LOG.info(_("Using PBM WSDL location: %s"), pbm_wsdl)
+ return pbm_wsdl
+
+ def _get_vc_version(self):
+ """Connect to VC server and fetch version.
+
+ Can be over-ridden by setting 'vmware_host_version' config.
+ :returns: VC version as a LooseVersion object
+ """
+ version_str = self.configuration.vmware_host_version
+ if version_str:
+ LOG.info(_("Using overridden vmware_host_version from config: "
+ "%s"), version_str)
+ else:
+ version_str = self.session.vim.service_content.about.version
+ LOG.info(_("Fetched VC server version: %s"), version_str)
+ # convert version_str to LooseVersion and return
+ version = None
+ try:
+ version = dist_version.LooseVersion(version_str)
+ except Exception:
+ with excutils.save_and_reraise_exception():
+ LOG.exception(_("Version string '%s' is not parseable"),
+ version_str)
+ return version
+
def do_setup(self, context):
"""Any initialization the volume driver does while starting."""
super(VMwareVcVmdkDriver, self).do_setup(context)
# VC specific setup is done here
- pbm_wsdl = self.configuration.pbm_wsdl_location
+
+ # Enable pbm only if VC version is greater than 5.5
+ vc_version = self._get_vc_version()
+ if vc_version and vc_version >= self.PBM_ENABLED_VC_VERSION:
+ self.pbm_wsdl = self._get_pbm_wsdl_location(vc_version)
+ if not self.pbm_wsdl:
+ LOG.error(_("Not able to configure PBM for VC server: %s"),
+ vc_version)
+ raise error_util.VMwareDriverException()
+ self._storage_policy_enabled = True
+ # Destroy current session so that it is recreated with pbm enabled
+ self._session = None
+
+ # recreate session and initialize volumeops
+ max_objects = self.configuration.vmware_max_objects_retrieval
+ self._volumeops = volumeops.VMwareVolumeOps(self.session, max_objects)
+
+ # if default policy is configured verify it exists in VC
default_policy = self.configuration.pbm_default_policy
- if not pbm_wsdl:
- if default_policy:
- LOG.warn(_("Ignoring %s since pbm_wsdl_location is not "
- "set."), default_policy)
- return
- # pbm_wsdl is set, so storage policy should be enabled
- self._storage_policy_enabled = True
- # now verify the default policy exists in VC
if default_policy:
- if not self.volumeops.retrieve_profile_id(default_policy):
- msg = _("The configured default PBM policy '%s' is not "
- "defined on vCenter Server.") % default_policy
- raise error_util.PbmDefaultPolicyDoesNotExist(message=msg)
+ if not self._storage_policy_enabled:
+ LOG.warn(_("Ignoring default policy '%(policy)s' since "
+ "Storage Policy Based Management is not "
+ "enabled on VC version %(ver)s") %
+ {'policy': default_policy, 'ver': vc_version})
else:
+ if not self.volumeops.retrieve_profile_id(default_policy):
+ msg = _("The configured default PBM policy '%s' is not "
+ "defined on vCenter Server.") % default_policy
+ raise error_util.PbmDefaultPolicyDoesNotExist(message=msg)
LOG.info(_("Successfully verified existence of "
"pbm_default_policy: %s."), default_policy)
+ LOG.info(_("Successfully setup driver: %(driver)s for server: "
+ "%(ip)s.") % {'driver': self.__class__.__name__,
+ 'ip': self.configuration.vmware_host_ip})
+
def _get_volume_group_folder(self, datacenter):
"""Get volume group folder.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<!--\r
+ Copyright 2005-2013 VMware, Inc. All rights reserved.\r
+-->\r
+<schema\r
+ targetNamespace="urn:vim25"\r
+ xmlns="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:vim25="urn:vim25"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ elementFormDefault="qualified"\r
+>\r
+ <complexType name="DynamicArray">\r
+ <sequence>\r
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />\r
+ <element name="val" type="xsd:anyType" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="DynamicData">\r
+ <sequence>\r
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />\r
+ <element name="dynamicProperty" type="vim25:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="DynamicProperty">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" />\r
+ <element name="val" type="xsd:anyType" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="ArrayOfDynamicProperty">\r
+ <sequence>\r
+ <element name="DynamicProperty" type="vim25:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="KeyAnyValue">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="key" type="xsd:string" />\r
+ <element name="value" type="xsd:anyType" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfKeyAnyValue">\r
+ <sequence>\r
+ <element name="KeyAnyValue" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="LocalizableMessage">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="key" type="xsd:string" />\r
+ <element name="arg" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="message" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfLocalizableMessage">\r
+ <sequence>\r
+ <element name="LocalizableMessage" type="vim25:LocalizableMessage" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="HostCommunication">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="HostNotConnected">\r
+ <complexContent>\r
+ <extension base="vim25:HostCommunication">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="HostNotReachable">\r
+ <complexContent>\r
+ <extension base="vim25:HostCommunication">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="InvalidArgument">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ <element name="invalidProperty" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="InvalidRequest">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="InvalidType">\r
+ <complexContent>\r
+ <extension base="vim25:InvalidRequest">\r
+ <sequence>\r
+ <element name="argument" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ManagedObjectNotFound">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ <element name="obj" type="vim25:ManagedObjectReference" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="MethodNotFound">\r
+ <complexContent>\r
+ <extension base="vim25:InvalidRequest">\r
+ <sequence>\r
+ <element name="receiver" type="vim25:ManagedObjectReference" />\r
+ <element name="method" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="NotEnoughLicenses">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="NotImplemented">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="NotSupported">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="RequestCanceled">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="SecurityError">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="SystemError">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ <element name="reason" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="UnexpectedFault">\r
+ <complexContent>\r
+ <extension base="vim25:RuntimeFault">\r
+ <sequence>\r
+ <element name="faultName" type="xsd:string" />\r
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="LocalizedMethodFault">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="fault" type="vim25:MethodFault" />\r
+ <element name="localizedMessage" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="MethodFault">\r
+ <sequence>\r
+ <element name="dynamicType" type="xsd:string" minOccurs="0" />\r
+ <element name="dynamicProperty" type="vim25:DynamicProperty" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="faultCause" type="vim25:LocalizedMethodFault" minOccurs="0" />\r
+ <element name="faultMessage" type="vim25:LocalizableMessage" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="ArrayOfMethodFault">\r
+ <sequence>\r
+ <element name="MethodFault" type="vim25:MethodFault" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="RuntimeFault">\r
+ <complexContent>\r
+ <extension base="vim25:MethodFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ManagedObjectReference">\r
+ <simpleContent>\r
+ <extension base="xsd:string">\r
+ <attribute name="type" type="xsd:string"/>\r
+ </extension>\r
+ </simpleContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfString">\r
+ <sequence>\r
+ <element name="string" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="ArrayOfAnyType">\r
+ <sequence>\r
+ <element name="anyType" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+</schema>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<!--\r
+ Copyright 2005-2013 VMware, Inc. All rights reserved.\r
+-->\r
+<schema\r
+ targetNamespace="urn:pbm"\r
+ xmlns="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:pbm="urn:pbm"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:vim25="urn:vim25"\r
+ elementFormDefault="qualified"\r
+>\r
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />\r
+ <include schemaLocation="pbm-types.xsd" />\r
+ <complexType name="PbmRetrieveServiceContentRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCheckComplianceRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />\r
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmFetchComplianceResultRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />\r
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCheckRollupComplianceRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entity" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmFetchRollupComplianceResultRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entity" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryMatchingHubRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="profile" type="pbm:PbmProfileId" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryMatchingHubWithSpecRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="createSpec" type="pbm:PbmCapabilityProfileCreateSpec" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCheckCompatibilityRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="profile" type="pbm:PbmProfileId" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCheckCompatibilityWithSpecRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="hubsToSearch" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="profileSpec" type="pbm:PbmCapabilityProfileCreateSpec" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmFetchResourceTypeRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmFetchVendorInfoRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="resourceType" type="pbm:PbmProfileResourceType" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmFetchCapabilityMetadataRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="resourceType" type="pbm:PbmProfileResourceType" minOccurs="0" />\r
+ <element name="vendorUuid" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCreateRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="createSpec" type="pbm:PbmCapabilityProfileCreateSpec" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmUpdateRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="profileId" type="pbm:PbmProfileId" />\r
+ <element name="updateSpec" type="pbm:PbmCapabilityProfileUpdateSpec" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmDeleteRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="profileId" type="pbm:PbmProfileId" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryProfileRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />\r
+ <element name="profileCategory" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmRetrieveContentRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="profileIds" type="pbm:PbmProfileId" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryAssociatedProfilesRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entities" type="pbm:PbmServerObjectRef" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryAssociatedProfileRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="entity" type="pbm:PbmServerObjectRef" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryAssociatedEntityRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="profile" type="pbm:PbmProfileId" />\r
+ <element name="entityType" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryDefaultRequirementProfileRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="hub" type="pbm:PbmPlacementHub" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmResetDefaultRequirementProfileRequestType">\r
+ <sequence>\r
+ <element name="_this" type="vim25:ManagedObjectReference" />\r
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+</schema>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<!--\r
+ Copyright 2005-2013 VMware, Inc. All rights reserved.\r
+-->\r
+<schema\r
+ targetNamespace="urn:pbm"\r
+ xmlns="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:pbm="urn:pbm"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:vim25="urn:vim25"\r
+ elementFormDefault="qualified"\r
+>\r
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />\r
+ <complexType name="PbmAboutInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" />\r
+ <element name="version" type="xsd:string" />\r
+ <element name="instanceUuid" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmExtendedElementDescription">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="label" type="xsd:string" />\r
+ <element name="summary" type="xsd:string" />\r
+ <element name="key" type="xsd:string" />\r
+ <element name="messageCatalogKeyPrefix" type="xsd:string" />\r
+ <element name="messageArg" type="vim25:KeyAnyValue" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <simpleType name="PbmVvolType">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="Config" />\r
+ <enumeration value="Data" />\r
+ <enumeration value="Swap" />\r
+ </restriction>\r
+ </simpleType>\r
+ <simpleType name="PbmObjectType">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="virtualMachine" />\r
+ <enumeration value="virtualDiskId" />\r
+ <enumeration value="virtualDiskUUID" />\r
+ <enumeration value="datastore" />\r
+ <enumeration value="unknown" />\r
+ </restriction>\r
+ </simpleType>\r
+ <complexType name="PbmServerObjectRef">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="objectType" type="xsd:string" />\r
+ <element name="key" type="xsd:string" />\r
+ <element name="serverUuid" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmServerObjectRef">\r
+ <sequence>\r
+ <element name="PbmServerObjectRef" type="pbm:PbmServerObjectRef" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmServiceInstanceContent">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="aboutInfo" type="pbm:PbmAboutInfo" />\r
+ <element name="sessionManager" type="vim25:ManagedObjectReference" />\r
+ <element name="capabilityMetadataManager" type="vim25:ManagedObjectReference" />\r
+ <element name="profileManager" type="vim25:ManagedObjectReference" />\r
+ <element name="complianceManager" type="vim25:ManagedObjectReference" />\r
+ <element name="placementSolver" type="vim25:ManagedObjectReference" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityInstance">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="id" type="pbm:PbmCapabilityMetadataUniqueId" />\r
+ <element name="constraint" type="pbm:PbmCapabilityConstraintInstance" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityInstance">\r
+ <sequence>\r
+ <element name="PbmCapabilityInstance" type="pbm:PbmCapabilityInstance" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityMetadataUniqueId">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="namespace" type="xsd:string" />\r
+ <element name="id" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityMetadata">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="id" type="pbm:PbmCapabilityMetadataUniqueId" />\r
+ <element name="summary" type="pbm:PbmExtendedElementDescription" />\r
+ <element name="mandatory" type="xsd:boolean" minOccurs="0" />\r
+ <element name="hint" type="xsd:boolean" minOccurs="0" />\r
+ <element name="keyId" type="xsd:string" minOccurs="0" />\r
+ <element name="allowMultipleConstraints" type="xsd:boolean" minOccurs="0" />\r
+ <element name="propertyMetadata" type="pbm:PbmCapabilityPropertyMetadata" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityMetadata">\r
+ <sequence>\r
+ <element name="PbmCapabilityMetadata" type="pbm:PbmCapabilityMetadata" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityConstraintInstance">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="propertyInstance" type="pbm:PbmCapabilityPropertyInstance" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityConstraintInstance">\r
+ <sequence>\r
+ <element name="PbmCapabilityConstraintInstance" type="pbm:PbmCapabilityConstraintInstance" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityGenericTypeInfo">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCapabilityTypeInfo">\r
+ <sequence>\r
+ <element name="genericTypeName" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityPropertyInstance">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="id" type="xsd:string" />\r
+ <element name="value" type="xsd:anyType" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityPropertyInstance">\r
+ <sequence>\r
+ <element name="PbmCapabilityPropertyInstance" type="pbm:PbmCapabilityPropertyInstance" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityPropertyMetadata">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="id" type="xsd:string" />\r
+ <element name="summary" type="pbm:PbmExtendedElementDescription" />\r
+ <element name="mandatory" type="xsd:boolean" />\r
+ <element name="type" type="pbm:PbmCapabilityTypeInfo" minOccurs="0" />\r
+ <element name="defaultValue" type="xsd:anyType" minOccurs="0" />\r
+ <element name="allowedValue" type="xsd:anyType" minOccurs="0" />\r
+ <element name="requirementsTypeHint" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityPropertyMetadata">\r
+ <sequence>\r
+ <element name="PbmCapabilityPropertyMetadata" type="pbm:PbmCapabilityPropertyMetadata" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityTypeInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="typeName" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityMetadataPerCategory">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="subCategory" type="xsd:string" />\r
+ <element name="capabilityMetadata" type="pbm:PbmCapabilityMetadata" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityMetadataPerCategory">\r
+ <sequence>\r
+ <element name="PbmCapabilityMetadataPerCategory" type="pbm:PbmCapabilityMetadataPerCategory" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilitySchemaVendorInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="vendorUuid" type="xsd:string" />\r
+ <element name="info" type="pbm:PbmExtendedElementDescription" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityNamespaceInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="version" type="xsd:string" />\r
+ <element name="namespace" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityVendorResourceTypeInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="resourceType" type="xsd:string" />\r
+ <element name="vendorNamespaceInfo" type="pbm:PbmCapabilityVendorNamespaceInfo" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityVendorResourceTypeInfo">\r
+ <sequence>\r
+ <element name="PbmCapabilityVendorResourceTypeInfo" type="pbm:PbmCapabilityVendorResourceTypeInfo" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityVendorNamespaceInfo">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="vendorInfo" type="pbm:PbmCapabilitySchemaVendorInfo" />\r
+ <element name="namespaceInfo" type="pbm:PbmCapabilityNamespaceInfo" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilityVendorNamespaceInfo">\r
+ <sequence>\r
+ <element name="PbmCapabilityVendorNamespaceInfo" type="pbm:PbmCapabilityVendorNamespaceInfo" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilitySchema">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="vendorInfo" type="pbm:PbmCapabilitySchemaVendorInfo" />\r
+ <element name="namespaceInfo" type="pbm:PbmCapabilityNamespaceInfo" />\r
+ <element name="capabilityMetadataPerCategory" type="pbm:PbmCapabilityMetadataPerCategory" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilitySchema">\r
+ <sequence>\r
+ <element name="PbmCapabilitySchema" type="pbm:PbmCapabilitySchema" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <simpleType name="PbmBuiltinGenericType">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="VMW_RANGE" />\r
+ <enumeration value="VMW_SET" />\r
+ </restriction>\r
+ </simpleType>\r
+ <simpleType name="PbmBuiltinType">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="XSD_LONG" />\r
+ <enumeration value="XSD_SHORT" />\r
+ <enumeration value="XSD_INTEGER" />\r
+ <enumeration value="XSD_INT" />\r
+ <enumeration value="XSD_STRING" />\r
+ <enumeration value="XSD_BOOLEAN" />\r
+ <enumeration value="XSD_DOUBLE" />\r
+ <enumeration value="XSD_DATETIME" />\r
+ <enumeration value="VMW_TIMESPAN" />\r
+ </restriction>\r
+ </simpleType>\r
+ <complexType name="PbmCapabilityDescription">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="description" type="pbm:PbmExtendedElementDescription" />\r
+ <element name="value" type="xsd:anyType" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityDiscreteSet">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="values" type="xsd:anyType" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityRange">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="min" type="xsd:anyType" />\r
+ <element name="max" type="xsd:anyType" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityTimeSpan">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="value" type="xsd:int" />\r
+ <element name="unit" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <simpleType name="PbmCapabilityTimeUnitType">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="SECONDS" />\r
+ <enumeration value="MINUTES" />\r
+ <enumeration value="HOURS" />\r
+ <enumeration value="DAYS" />\r
+ <enumeration value="WEEKS" />\r
+ <enumeration value="MONTHS" />\r
+ <enumeration value="YEARS" />\r
+ </restriction>\r
+ </simpleType>\r
+ <simpleType name="PbmComplianceStatus">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="compliant" />\r
+ <enumeration value="nonCompliant" />\r
+ <enumeration value="unknown" />\r
+ <enumeration value="notApplicable" />\r
+ </restriction>\r
+ </simpleType>\r
+ <complexType name="PbmComplianceResult">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="checkTime" type="xsd:dateTime" />\r
+ <element name="entity" type="pbm:PbmServerObjectRef" />\r
+ <element name="profile" type="pbm:PbmProfileId" minOccurs="0" />\r
+ <element name="complianceStatus" type="xsd:string" />\r
+ <element name="mismatch" type="xsd:boolean" />\r
+ <element name="violatedPolicies" type="pbm:PbmCompliancePolicyStatus" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="operationalStatus" type="pbm:PbmComplianceOperationalStatus" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmComplianceResult">\r
+ <sequence>\r
+ <element name="PbmComplianceResult" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmComplianceOperationalStatus">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="healthy" type="xsd:boolean" minOccurs="0" />\r
+ <element name="operationETA" type="xsd:dateTime" minOccurs="0" />\r
+ <element name="operationProgress" type="xsd:long" minOccurs="0" />\r
+ <element name="transitional" type="xsd:boolean" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCompliancePolicyStatus">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="expectedValue" type="pbm:PbmCapabilityInstance" />\r
+ <element name="currentValue" type="pbm:PbmCapabilityInstance" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCompliancePolicyStatus">\r
+ <sequence>\r
+ <element name="PbmCompliancePolicyStatus" type="pbm:PbmCompliancePolicyStatus" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmRollupComplianceResult">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="oldestCheckTime" type="xsd:dateTime" />\r
+ <element name="entity" type="pbm:PbmServerObjectRef" />\r
+ <element name="overallComplianceStatus" type="xsd:string" />\r
+ <element name="result" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="profileMismatch" type="xsd:boolean" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmRollupComplianceResult">\r
+ <sequence>\r
+ <element name="PbmRollupComplianceResult" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmAlreadyExists">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityProfilePropertyMismatchFault">\r
+ <complexContent>\r
+ <extension base="pbm:PbmPropertyMismatchFault">\r
+ <sequence>\r
+ <element name="resourcePropertyInstance" type="pbm:PbmCapabilityPropertyInstance" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCompatibilityCheckFault">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ <element name="hub" type="pbm:PbmPlacementHub" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmDefaultProfileAppliesFault">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCompatibilityCheckFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmDuplicateName">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmIncompatibleVendorSpecificRuleSet">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCapabilityProfilePropertyMismatchFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmFaultNotFound">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmFault">\r
+ <complexContent>\r
+ <extension base="vim25:MethodFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmFaultProfileStorageFault">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmPropertyMismatchFault">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCompatibilityCheckFault">\r
+ <sequence>\r
+ <element name="capabilityInstanceId" type="pbm:PbmCapabilityMetadataUniqueId" />\r
+ <element name="requirementPropertyInstance" type="pbm:PbmCapabilityPropertyInstance" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmResourceInUse">\r
+ <complexContent>\r
+ <extension base="pbm:PbmFault">\r
+ <sequence>\r
+ <element name="type" type="xsd:string" minOccurs="0" />\r
+ <element name="name" type="xsd:string" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmPlacementCompatibilityResult">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="hub" type="pbm:PbmPlacementHub" />\r
+ <element name="warning" type="vim25:LocalizedMethodFault" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="error" type="vim25:LocalizedMethodFault" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmPlacementCompatibilityResult">\r
+ <sequence>\r
+ <element name="PbmPlacementCompatibilityResult" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmPlacementHub">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="hubType" type="xsd:string" />\r
+ <element name="hubId" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmPlacementHub">\r
+ <sequence>\r
+ <element name="PbmPlacementHub" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <simpleType name="PbmProfileCategoryEnum">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="REQUIREMENT" />\r
+ <enumeration value="RESOURCE" />\r
+ </restriction>\r
+ </simpleType>\r
+ <complexType name="PbmCapabilityProfile">\r
+ <complexContent>\r
+ <extension base="pbm:PbmProfile">\r
+ <sequence>\r
+ <element name="profileCategory" type="xsd:string" />\r
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />\r
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" />\r
+ <element name="generationId" type="xsd:long" minOccurs="0" />\r
+ <element name="isDefault" type="xsd:boolean" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityProfileCreateSpec">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" />\r
+ <element name="description" type="xsd:string" minOccurs="0" />\r
+ <element name="resourceType" type="pbm:PbmProfileResourceType" />\r
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityProfileUpdateSpec">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" minOccurs="0" />\r
+ <element name="description" type="xsd:string" minOccurs="0" />\r
+ <element name="constraints" type="pbm:PbmCapabilityConstraints" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmCapabilityConstraints">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmDefaultCapabilityProfile">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCapabilityProfile">\r
+ <sequence>\r
+ <element name="vvolType" type="xsd:string" maxOccurs="unbounded" />\r
+ <element name="containerId" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="PbmProfile">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="profileId" type="pbm:PbmProfileId" />\r
+ <element name="name" type="xsd:string" />\r
+ <element name="description" type="xsd:string" minOccurs="0" />\r
+ <element name="creationTime" type="xsd:dateTime" />\r
+ <element name="createdBy" type="xsd:string" />\r
+ <element name="lastUpdatedTime" type="xsd:dateTime" />\r
+ <element name="lastUpdatedBy" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmProfile">\r
+ <sequence>\r
+ <element name="PbmProfile" type="pbm:PbmProfile" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmProfileId">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="uniqueId" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmProfileId">\r
+ <sequence>\r
+ <element name="PbmProfileId" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmProfileOperationOutcome">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="profileId" type="pbm:PbmProfileId" />\r
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmProfileOperationOutcome">\r
+ <sequence>\r
+ <element name="PbmProfileOperationOutcome" type="pbm:PbmProfileOperationOutcome" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmProfileType">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="uniqueId" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmProfileType">\r
+ <sequence>\r
+ <element name="PbmProfileType" type="pbm:PbmProfileType" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmQueryProfileResult">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="object" type="pbm:PbmServerObjectRef" />\r
+ <element name="profileId" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />\r
+ <element name="fault" type="vim25:LocalizedMethodFault" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmQueryProfileResult">\r
+ <sequence>\r
+ <element name="PbmQueryProfileResult" type="pbm:PbmQueryProfileResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmProfileResourceType">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="resourceType" type="xsd:string" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmProfileResourceType">\r
+ <sequence>\r
+ <element name="PbmProfileResourceType" type="pbm:PbmProfileResourceType" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <simpleType name="PbmProfileResourceTypeEnum">\r
+ <restriction base="xsd:string">\r
+ <enumeration value="STORAGE" />\r
+ </restriction>\r
+ </simpleType>\r
+ <complexType name="PbmCapabilitySubProfile">\r
+ <complexContent>\r
+ <extension base="vim25:DynamicData">\r
+ <sequence>\r
+ <element name="name" type="xsd:string" />\r
+ <element name="capability" type="pbm:PbmCapabilityInstance" maxOccurs="unbounded" />\r
+ <element name="forceProvision" type="xsd:boolean" minOccurs="0" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+ <complexType name="ArrayOfPbmCapabilitySubProfile">\r
+ <sequence>\r
+ <element name="PbmCapabilitySubProfile" type="pbm:PbmCapabilitySubProfile" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ <complexType name="PbmCapabilitySubProfileConstraints">\r
+ <complexContent>\r
+ <extension base="pbm:PbmCapabilityConstraints">\r
+ <sequence>\r
+ <element name="subProfiles" type="pbm:PbmCapabilitySubProfile" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </extension>\r
+ </complexContent>\r
+ </complexType>\r
+</schema>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<!--\r
+ Copyright 2005-2013 VMware, Inc. All rights reserved.\r
+-->\r
+<definitions targetNamespace="urn:pbm"\r
+ xmlns="http://schemas.xmlsoap.org/wsdl/"\r
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"\r
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"\r
+ xmlns:pbm="urn:pbm"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+>\r
+ <types>\r
+ <schema\r
+ targetNamespace="urn:pbm"\r
+ xmlns="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:pbm="urn:pbm"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:vim25="urn:vim25"\r
+ elementFormDefault="qualified"\r
+ >\r
+ <import namespace="urn:vim25" schemaLocation="core-types.xsd" />\r
+ <include schemaLocation="pbm-messagetypes.xsd" />\r
+ <element name="versionURI" type="xsd:string" />\r
+ <element name="HostCommunicationFault" type="vim25:HostCommunication"/>\r
+ <element name="HostNotConnectedFault" type="vim25:HostNotConnected"/>\r
+ <element name="HostNotReachableFault" type="vim25:HostNotReachable"/>\r
+ <element name="InvalidArgumentFault" type="vim25:InvalidArgument"/>\r
+ <element name="InvalidRequestFault" type="vim25:InvalidRequest"/>\r
+ <element name="InvalidTypeFault" type="vim25:InvalidType"/>\r
+ <element name="ManagedObjectNotFoundFault" type="vim25:ManagedObjectNotFound"/>\r
+ <element name="MethodNotFoundFault" type="vim25:MethodNotFound"/>\r
+ <element name="NotEnoughLicensesFault" type="vim25:NotEnoughLicenses"/>\r
+ <element name="NotImplementedFault" type="vim25:NotImplemented"/>\r
+ <element name="NotSupportedFault" type="vim25:NotSupported"/>\r
+ <element name="RequestCanceledFault" type="vim25:RequestCanceled"/>\r
+ <element name="SecurityErrorFault" type="vim25:SecurityError"/>\r
+ <element name="SystemErrorFault" type="vim25:SystemError"/>\r
+ <element name="UnexpectedFaultFault" type="vim25:UnexpectedFault"/>\r
+ <element name="MethodFaultFault" type="vim25:MethodFault"/>\r
+ <element name="RuntimeFaultFault" type="vim25:RuntimeFault"/>\r
+ <element name="PbmRetrieveServiceContent" type="pbm:PbmRetrieveServiceContentRequestType" />\r
+ <element name="PbmRetrieveServiceContentResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmServiceInstanceContent" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmCheckCompliance" type="pbm:PbmCheckComplianceRequestType" />\r
+ <element name="PbmCheckComplianceResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmFetchComplianceResult" type="pbm:PbmFetchComplianceResultRequestType" />\r
+ <element name="PbmFetchComplianceResultResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmCheckRollupCompliance" type="pbm:PbmCheckRollupComplianceRequestType" />\r
+ <element name="PbmCheckRollupComplianceResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmFetchRollupComplianceResult" type="pbm:PbmFetchRollupComplianceResultRequestType" />\r
+ <element name="PbmFetchRollupComplianceResultResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmRollupComplianceResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmAlreadyExistsFault" type="pbm:PbmAlreadyExists"/>\r
+ <element name="PbmCapabilityProfilePropertyMismatchFaultFault" type="pbm:PbmCapabilityProfilePropertyMismatchFault"/>\r
+ <element name="PbmCompatibilityCheckFaultFault" type="pbm:PbmCompatibilityCheckFault"/>\r
+ <element name="PbmDefaultProfileAppliesFaultFault" type="pbm:PbmDefaultProfileAppliesFault"/>\r
+ <element name="PbmDuplicateNameFault" type="pbm:PbmDuplicateName"/>\r
+ <element name="PbmIncompatibleVendorSpecificRuleSetFault" type="pbm:PbmIncompatibleVendorSpecificRuleSet"/>\r
+ <element name="PbmFaultNotFoundFault" type="pbm:PbmFaultNotFound"/>\r
+ <element name="PbmFaultFault" type="pbm:PbmFault"/>\r
+ <element name="PbmFaultProfileStorageFaultFault" type="pbm:PbmFaultProfileStorageFault"/>\r
+ <element name="PbmPropertyMismatchFaultFault" type="pbm:PbmPropertyMismatchFault"/>\r
+ <element name="PbmResourceInUseFault" type="pbm:PbmResourceInUse"/>\r
+ <element name="PbmQueryMatchingHub" type="pbm:PbmQueryMatchingHubRequestType" />\r
+ <element name="PbmQueryMatchingHubResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryMatchingHubWithSpec" type="pbm:PbmQueryMatchingHubWithSpecRequestType" />\r
+ <element name="PbmQueryMatchingHubWithSpecResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmPlacementHub" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmCheckCompatibility" type="pbm:PbmCheckCompatibilityRequestType" />\r
+ <element name="PbmCheckCompatibilityResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmCheckCompatibilityWithSpec" type="pbm:PbmCheckCompatibilityWithSpecRequestType" />\r
+ <element name="PbmCheckCompatibilityWithSpecResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmPlacementCompatibilityResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmFetchResourceType" type="pbm:PbmFetchResourceTypeRequestType" />\r
+ <element name="PbmFetchResourceTypeResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileResourceType" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmFetchVendorInfo" type="pbm:PbmFetchVendorInfoRequestType" />\r
+ <element name="PbmFetchVendorInfoResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmCapabilityVendorResourceTypeInfo" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmFetchCapabilityMetadata" type="pbm:PbmFetchCapabilityMetadataRequestType" />\r
+ <element name="PbmFetchCapabilityMetadataResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmCapabilityMetadataPerCategory" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmCreate" type="pbm:PbmCreateRequestType" />\r
+ <element name="PbmCreateResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileId" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmUpdate" type="pbm:PbmUpdateRequestType" />\r
+ <element name="PbmUpdateResponse">\r
+ <complexType />\r
+ </element>\r
+ <element name="PbmDelete" type="pbm:PbmDeleteRequestType" />\r
+ <element name="PbmDeleteResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileOperationOutcome" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryProfile" type="pbm:PbmQueryProfileRequestType" />\r
+ <element name="PbmQueryProfileResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmRetrieveContent" type="pbm:PbmRetrieveContentRequestType" />\r
+ <element name="PbmRetrieveContentResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfile" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryAssociatedProfiles" type="pbm:PbmQueryAssociatedProfilesRequestType" />\r
+ <element name="PbmQueryAssociatedProfilesResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmQueryProfileResult" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryAssociatedProfile" type="pbm:PbmQueryAssociatedProfileRequestType" />\r
+ <element name="PbmQueryAssociatedProfileResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryAssociatedEntity" type="pbm:PbmQueryAssociatedEntityRequestType" />\r
+ <element name="PbmQueryAssociatedEntityResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmServerObjectRef" minOccurs="0" maxOccurs="unbounded" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmQueryDefaultRequirementProfile" type="pbm:PbmQueryDefaultRequirementProfileRequestType" />\r
+ <element name="PbmQueryDefaultRequirementProfileResponse">\r
+ <complexType>\r
+ <sequence>\r
+ <element name="returnval" type="pbm:PbmProfileId" minOccurs="0" />\r
+ </sequence>\r
+ </complexType>\r
+ </element>\r
+ <element name="PbmResetDefaultRequirementProfile" type="pbm:PbmResetDefaultRequirementProfileRequestType" />\r
+ <element name="PbmResetDefaultRequirementProfileResponse">\r
+ <complexType />\r
+ </element>\r
+ </schema>\r
+ </types>\r
+ <message name="HostCommunicationFaultMsg">\r
+ <part name="fault" element="pbm:HostCommunicationFault" />\r
+ </message>\r
+ <message name="HostNotConnectedFaultMsg">\r
+ <part name="fault" element="pbm:HostNotConnectedFault" />\r
+ </message>\r
+ <message name="HostNotReachableFaultMsg">\r
+ <part name="fault" element="pbm:HostNotReachableFault" />\r
+ </message>\r
+ <message name="InvalidArgumentFaultMsg">\r
+ <part name="fault" element="pbm:InvalidArgumentFault" />\r
+ </message>\r
+ <message name="InvalidRequestFaultMsg">\r
+ <part name="fault" element="pbm:InvalidRequestFault" />\r
+ </message>\r
+ <message name="InvalidTypeFaultMsg">\r
+ <part name="fault" element="pbm:InvalidTypeFault" />\r
+ </message>\r
+ <message name="ManagedObjectNotFoundFaultMsg">\r
+ <part name="fault" element="pbm:ManagedObjectNotFoundFault" />\r
+ </message>\r
+ <message name="MethodNotFoundFaultMsg">\r
+ <part name="fault" element="pbm:MethodNotFoundFault" />\r
+ </message>\r
+ <message name="NotEnoughLicensesFaultMsg">\r
+ <part name="fault" element="pbm:NotEnoughLicensesFault" />\r
+ </message>\r
+ <message name="NotImplementedFaultMsg">\r
+ <part name="fault" element="pbm:NotImplementedFault" />\r
+ </message>\r
+ <message name="NotSupportedFaultMsg">\r
+ <part name="fault" element="pbm:NotSupportedFault" />\r
+ </message>\r
+ <message name="RequestCanceledFaultMsg">\r
+ <part name="fault" element="pbm:RequestCanceledFault" />\r
+ </message>\r
+ <message name="SecurityErrorFaultMsg">\r
+ <part name="fault" element="pbm:SecurityErrorFault" />\r
+ </message>\r
+ <message name="SystemErrorFaultMsg">\r
+ <part name="fault" element="pbm:SystemErrorFault" />\r
+ </message>\r
+ <message name="UnexpectedFaultFaultMsg">\r
+ <part name="fault" element="pbm:UnexpectedFaultFault" />\r
+ </message>\r
+ <message name="MethodFaultFaultMsg">\r
+ <part name="fault" element="pbm:MethodFaultFault" />\r
+ </message>\r
+ <message name="RuntimeFaultFaultMsg">\r
+ <part name="fault" element="pbm:RuntimeFaultFault" />\r
+ </message>\r
+ <message name="PbmRetrieveServiceContentRequestMsg">\r
+ <part name="parameters" element="pbm:PbmRetrieveServiceContent" />\r
+ </message>\r
+ <message name="PbmRetrieveServiceContentResponseMsg">\r
+ <part name="parameters" element="pbm:PbmRetrieveServiceContentResponse" />\r
+ </message>\r
+ <message name="PbmCheckComplianceRequestMsg">\r
+ <part name="parameters" element="pbm:PbmCheckCompliance" />\r
+ </message>\r
+ <message name="PbmCheckComplianceResponseMsg">\r
+ <part name="parameters" element="pbm:PbmCheckComplianceResponse" />\r
+ </message>\r
+ <message name="PbmFetchComplianceResultRequestMsg">\r
+ <part name="parameters" element="pbm:PbmFetchComplianceResult" />\r
+ </message>\r
+ <message name="PbmFetchComplianceResultResponseMsg">\r
+ <part name="parameters" element="pbm:PbmFetchComplianceResultResponse" />\r
+ </message>\r
+ <message name="PbmCheckRollupComplianceRequestMsg">\r
+ <part name="parameters" element="pbm:PbmCheckRollupCompliance" />\r
+ </message>\r
+ <message name="PbmCheckRollupComplianceResponseMsg">\r
+ <part name="parameters" element="pbm:PbmCheckRollupComplianceResponse" />\r
+ </message>\r
+ <message name="PbmFetchRollupComplianceResultRequestMsg">\r
+ <part name="parameters" element="pbm:PbmFetchRollupComplianceResult" />\r
+ </message>\r
+ <message name="PbmFetchRollupComplianceResultResponseMsg">\r
+ <part name="parameters" element="pbm:PbmFetchRollupComplianceResultResponse" />\r
+ </message>\r
+ <message name="PbmAlreadyExistsFaultMsg">\r
+ <part name="fault" element="pbm:PbmAlreadyExistsFault" />\r
+ </message>\r
+ <message name="PbmCapabilityProfilePropertyMismatchFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmCapabilityProfilePropertyMismatchFaultFault" />\r
+ </message>\r
+ <message name="PbmCompatibilityCheckFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmCompatibilityCheckFaultFault" />\r
+ </message>\r
+ <message name="PbmDefaultProfileAppliesFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmDefaultProfileAppliesFaultFault" />\r
+ </message>\r
+ <message name="PbmDuplicateNameFaultMsg">\r
+ <part name="fault" element="pbm:PbmDuplicateNameFault" />\r
+ </message>\r
+ <message name="PbmIncompatibleVendorSpecificRuleSetFaultMsg">\r
+ <part name="fault" element="pbm:PbmIncompatibleVendorSpecificRuleSetFault" />\r
+ </message>\r
+ <message name="PbmFaultNotFoundFaultMsg">\r
+ <part name="fault" element="pbm:PbmFaultNotFoundFault" />\r
+ </message>\r
+ <message name="PbmFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmFaultFault" />\r
+ </message>\r
+ <message name="PbmFaultProfileStorageFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmFaultProfileStorageFaultFault" />\r
+ </message>\r
+ <message name="PbmPropertyMismatchFaultFaultMsg">\r
+ <part name="fault" element="pbm:PbmPropertyMismatchFaultFault" />\r
+ </message>\r
+ <message name="PbmResourceInUseFaultMsg">\r
+ <part name="fault" element="pbm:PbmResourceInUseFault" />\r
+ </message>\r
+ <message name="PbmQueryMatchingHubRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryMatchingHub" />\r
+ </message>\r
+ <message name="PbmQueryMatchingHubResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryMatchingHubResponse" />\r
+ </message>\r
+ <message name="PbmQueryMatchingHubWithSpecRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryMatchingHubWithSpec" />\r
+ </message>\r
+ <message name="PbmQueryMatchingHubWithSpecResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryMatchingHubWithSpecResponse" />\r
+ </message>\r
+ <message name="PbmCheckCompatibilityRequestMsg">\r
+ <part name="parameters" element="pbm:PbmCheckCompatibility" />\r
+ </message>\r
+ <message name="PbmCheckCompatibilityResponseMsg">\r
+ <part name="parameters" element="pbm:PbmCheckCompatibilityResponse" />\r
+ </message>\r
+ <message name="PbmCheckCompatibilityWithSpecRequestMsg">\r
+ <part name="parameters" element="pbm:PbmCheckCompatibilityWithSpec" />\r
+ </message>\r
+ <message name="PbmCheckCompatibilityWithSpecResponseMsg">\r
+ <part name="parameters" element="pbm:PbmCheckCompatibilityWithSpecResponse" />\r
+ </message>\r
+ <message name="PbmFetchResourceTypeRequestMsg">\r
+ <part name="parameters" element="pbm:PbmFetchResourceType" />\r
+ </message>\r
+ <message name="PbmFetchResourceTypeResponseMsg">\r
+ <part name="parameters" element="pbm:PbmFetchResourceTypeResponse" />\r
+ </message>\r
+ <message name="PbmFetchVendorInfoRequestMsg">\r
+ <part name="parameters" element="pbm:PbmFetchVendorInfo" />\r
+ </message>\r
+ <message name="PbmFetchVendorInfoResponseMsg">\r
+ <part name="parameters" element="pbm:PbmFetchVendorInfoResponse" />\r
+ </message>\r
+ <message name="PbmFetchCapabilityMetadataRequestMsg">\r
+ <part name="parameters" element="pbm:PbmFetchCapabilityMetadata" />\r
+ </message>\r
+ <message name="PbmFetchCapabilityMetadataResponseMsg">\r
+ <part name="parameters" element="pbm:PbmFetchCapabilityMetadataResponse" />\r
+ </message>\r
+ <message name="PbmCreateRequestMsg">\r
+ <part name="parameters" element="pbm:PbmCreate" />\r
+ </message>\r
+ <message name="PbmCreateResponseMsg">\r
+ <part name="parameters" element="pbm:PbmCreateResponse" />\r
+ </message>\r
+ <message name="PbmUpdateRequestMsg">\r
+ <part name="parameters" element="pbm:PbmUpdate" />\r
+ </message>\r
+ <message name="PbmUpdateResponseMsg">\r
+ <part name="parameters" element="pbm:PbmUpdateResponse" />\r
+ </message>\r
+ <message name="PbmDeleteRequestMsg">\r
+ <part name="parameters" element="pbm:PbmDelete" />\r
+ </message>\r
+ <message name="PbmDeleteResponseMsg">\r
+ <part name="parameters" element="pbm:PbmDeleteResponse" />\r
+ </message>\r
+ <message name="PbmQueryProfileRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryProfile" />\r
+ </message>\r
+ <message name="PbmQueryProfileResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryProfileResponse" />\r
+ </message>\r
+ <message name="PbmRetrieveContentRequestMsg">\r
+ <part name="parameters" element="pbm:PbmRetrieveContent" />\r
+ </message>\r
+ <message name="PbmRetrieveContentResponseMsg">\r
+ <part name="parameters" element="pbm:PbmRetrieveContentResponse" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedProfilesRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfiles" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedProfilesResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfilesResponse" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedProfileRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfile" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedProfileResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedProfileResponse" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedEntityRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedEntity" />\r
+ </message>\r
+ <message name="PbmQueryAssociatedEntityResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryAssociatedEntityResponse" />\r
+ </message>\r
+ <message name="PbmQueryDefaultRequirementProfileRequestMsg">\r
+ <part name="parameters" element="pbm:PbmQueryDefaultRequirementProfile" />\r
+ </message>\r
+ <message name="PbmQueryDefaultRequirementProfileResponseMsg">\r
+ <part name="parameters" element="pbm:PbmQueryDefaultRequirementProfileResponse" />\r
+ </message>\r
+ <message name="PbmResetDefaultRequirementProfileRequestMsg">\r
+ <part name="parameters" element="pbm:PbmResetDefaultRequirementProfile" />\r
+ </message>\r
+ <message name="PbmResetDefaultRequirementProfileResponseMsg">\r
+ <part name="parameters" element="pbm:PbmResetDefaultRequirementProfileResponse" />\r
+ </message>\r
+ <portType name="PbmPortType">\r
+ <operation name="PbmRetrieveServiceContent">\r
+ <input message="pbm:PbmRetrieveServiceContentRequestMsg" />\r
+ <output message="pbm:PbmRetrieveServiceContentResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmCheckCompliance">\r
+ <input message="pbm:PbmCheckComplianceRequestMsg" />\r
+ <output message="pbm:PbmCheckComplianceResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmFetchComplianceResult">\r
+ <input message="pbm:PbmFetchComplianceResultRequestMsg" />\r
+ <output message="pbm:PbmFetchComplianceResultResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmCheckRollupCompliance">\r
+ <input message="pbm:PbmCheckRollupComplianceRequestMsg" />\r
+ <output message="pbm:PbmCheckRollupComplianceResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmFetchRollupComplianceResult">\r
+ <input message="pbm:PbmFetchRollupComplianceResultRequestMsg" />\r
+ <output message="pbm:PbmFetchRollupComplianceResultResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryMatchingHub">\r
+ <input message="pbm:PbmQueryMatchingHubRequestMsg" />\r
+ <output message="pbm:PbmQueryMatchingHubResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryMatchingHubWithSpec">\r
+ <input message="pbm:PbmQueryMatchingHubWithSpecRequestMsg" />\r
+ <output message="pbm:PbmQueryMatchingHubWithSpecResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmCheckCompatibility">\r
+ <input message="pbm:PbmCheckCompatibilityRequestMsg" />\r
+ <output message="pbm:PbmCheckCompatibilityResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmCheckCompatibilityWithSpec">\r
+ <input message="pbm:PbmCheckCompatibilityWithSpecRequestMsg" />\r
+ <output message="pbm:PbmCheckCompatibilityWithSpecResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmFetchResourceType">\r
+ <input message="pbm:PbmFetchResourceTypeRequestMsg" />\r
+ <output message="pbm:PbmFetchResourceTypeResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmFetchVendorInfo">\r
+ <input message="pbm:PbmFetchVendorInfoRequestMsg" />\r
+ <output message="pbm:PbmFetchVendorInfoResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmFetchCapabilityMetadata">\r
+ <input message="pbm:PbmFetchCapabilityMetadataRequestMsg" />\r
+ <output message="pbm:PbmFetchCapabilityMetadataResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmCreate">\r
+ <input message="pbm:PbmCreateRequestMsg" />\r
+ <output message="pbm:PbmCreateResponseMsg" />\r
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>\r
+ <fault name="PbmFaultProfileStorageFaultFault" message="pbm:PbmFaultProfileStorageFaultFaultMsg"/>\r
+ <fault name="PbmDuplicateNameFault" message="pbm:PbmDuplicateNameFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmUpdate">\r
+ <input message="pbm:PbmUpdateRequestMsg" />\r
+ <output message="pbm:PbmUpdateResponseMsg" />\r
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>\r
+ <fault name="PbmFaultProfileStorageFaultFault" message="pbm:PbmFaultProfileStorageFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmDelete">\r
+ <input message="pbm:PbmDeleteRequestMsg" />\r
+ <output message="pbm:PbmDeleteResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryProfile">\r
+ <input message="pbm:PbmQueryProfileRequestMsg" />\r
+ <output message="pbm:PbmQueryProfileResponseMsg" />\r
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmRetrieveContent">\r
+ <input message="pbm:PbmRetrieveContentRequestMsg" />\r
+ <output message="pbm:PbmRetrieveContentResponseMsg" />\r
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedProfiles">\r
+ <input message="pbm:PbmQueryAssociatedProfilesRequestMsg" />\r
+ <output message="pbm:PbmQueryAssociatedProfilesResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedProfile">\r
+ <input message="pbm:PbmQueryAssociatedProfileRequestMsg" />\r
+ <output message="pbm:PbmQueryAssociatedProfileResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedEntity">\r
+ <input message="pbm:PbmQueryAssociatedEntityRequestMsg" />\r
+ <output message="pbm:PbmQueryAssociatedEntityResponseMsg" />\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmQueryDefaultRequirementProfile">\r
+ <input message="pbm:PbmQueryDefaultRequirementProfileRequestMsg" />\r
+ <output message="pbm:PbmQueryDefaultRequirementProfileResponseMsg" />\r
+ <fault name="InvalidArgumentFault" message="pbm:InvalidArgumentFaultMsg"/>\r
+ <fault name="PbmFaultFault" message="pbm:PbmFaultFaultMsg"/>\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ <operation name="PbmResetDefaultRequirementProfile">\r
+ <input message="pbm:PbmResetDefaultRequirementProfileRequestMsg" />\r
+ <output message="pbm:PbmResetDefaultRequirementProfileResponseMsg" />\r
+ <fault name="RuntimeFault" message="pbm:RuntimeFaultFaultMsg"/>\r
+ </operation>\r
+ </portType>\r
+ <binding name="PbmBinding" type="pbm:PbmPortType">\r
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />\r
+ <operation name="PbmRetrieveServiceContent">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmCheckCompliance">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmFetchComplianceResult">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmCheckRollupCompliance">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmFetchRollupComplianceResult">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryMatchingHub">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryMatchingHubWithSpec">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmCheckCompatibility">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmCheckCompatibilityWithSpec">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmFetchResourceType">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmFetchVendorInfo">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmFetchCapabilityMetadata">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmCreate">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="InvalidArgumentFault">\r
+ <soap:fault name="InvalidArgumentFault" use="literal" />\r
+ </fault>\r
+ <fault name="PbmFaultProfileStorageFaultFault">\r
+ <soap:fault name="PbmFaultProfileStorageFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="PbmDuplicateNameFault">\r
+ <soap:fault name="PbmDuplicateNameFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmUpdate">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="InvalidArgumentFault">\r
+ <soap:fault name="InvalidArgumentFault" use="literal" />\r
+ </fault>\r
+ <fault name="PbmFaultProfileStorageFaultFault">\r
+ <soap:fault name="PbmFaultProfileStorageFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmDelete">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryProfile">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="InvalidArgumentFault">\r
+ <soap:fault name="InvalidArgumentFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmRetrieveContent">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="InvalidArgumentFault">\r
+ <soap:fault name="InvalidArgumentFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedProfiles">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedProfile">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryAssociatedEntity">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmQueryDefaultRequirementProfile">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="InvalidArgumentFault">\r
+ <soap:fault name="InvalidArgumentFault" use="literal" />\r
+ </fault>\r
+ <fault name="PbmFaultFault">\r
+ <soap:fault name="PbmFaultFault" use="literal" />\r
+ </fault>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ <operation name="PbmResetDefaultRequirementProfile">\r
+ <soap:operation soapAction="urn:pbm/1.0" style="document" />\r
+ <input>\r
+ <soap:body use="literal" />\r
+ </input>\r
+ <output>\r
+ <soap:body use="literal" />\r
+ </output>\r
+ <fault name="RuntimeFault">\r
+ <soap:fault name="RuntimeFault" use="literal" />\r
+ </fault>\r
+ </operation>\r
+ </binding>\r
+</definitions>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<!--\r
+ Copyright 2005-2013 VMware, Inc. All rights reserved.\r
+-->\r
+<definitions targetNamespace="urn:pbmService"\r
+ xmlns="http://schemas.xmlsoap.org/wsdl/"\r
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"\r
+ xmlns:interface="urn:pbm"\r
+>\r
+ <import location="pbm.wsdl" namespace="urn:pbm" />\r
+ <service name="PbmService">\r
+ <port binding="interface:PbmBinding" name="PbmPort">\r
+ <soap:address location="http://localhost/pbm/services/pbmService" />\r
+ </port>\r
+ </service>\r
+</definitions>\r
# Options defined in cinder.volume.drivers.vmware.vmdk
#
-# PBM service WSDL file location URL. e.g.
-# file:///opt/SDK/spbm/wsdl/pbmService.wsdl. Not setting this
-# will disable storage policy based placement of volumes.
-# (string value)
-#pbm_wsdl_location=<None>
-
-# The PBM default policy. If pbm_wsdl_location is set and
-# there is no defined storage policy for the specific request
-# then this policy will be used. (string value)
+# The PBM default policy. If using VC server version 5.5 or
+# above and there is no defined storage policy for the
+# specific request then this policy will be used. (string
+# value)
#pbm_default_policy=<None>
# IP address for connecting to VMware ESX/VC server. (string
# less than the configured value. (integer value)
#vmware_max_objects_retrieval=100
+# Optional string specifying the VMware VC server version. The
+# driver attempts to retrieve the version from VMware VC
+# server. Set this configuration only if you want to override
+# the VC server version. (string value)
+#vmware_host_version=<None>
+
#
# Options defined in cinder.volume.drivers.windows.windows