Add utility function to get profiles by IDs
This patch adds a utility function to pbm module to retrieve SPBM storage profiles by IDs. Change-Id: I16eb4503707fdd1500151f41d9dad6b8d153531f
This commit is contained in:
parent
32c61ee8b0
commit
25ec49da50
@ -216,3 +216,21 @@ def get_profiles(session, vm):
|
||||
|
||||
return session.invoke_api(pbm, 'PbmQueryAssociatedProfile',
|
||||
profile_manager, entity=object_ref)
|
||||
|
||||
|
||||
def get_profiles_by_ids(session, profile_ids):
|
||||
"""Get storage profiles by IDs.
|
||||
|
||||
:param session: VMwareAPISession instance
|
||||
:param profile_ids: profile IDs
|
||||
:return: profile objects
|
||||
"""
|
||||
profiles = []
|
||||
if profile_ids:
|
||||
pbm = session.pbm
|
||||
profile_manager = pbm.service_content.profileManager
|
||||
profiles = session.invoke_api(pbm,
|
||||
'PbmRetrieveContent',
|
||||
profile_manager,
|
||||
profileIds=profile_ids)
|
||||
return profiles
|
||||
|
@ -194,3 +194,24 @@ class PBMUtilityTest(base.TestCase):
|
||||
entity=object_ref)
|
||||
self.assertEqual(value, object_ref.key)
|
||||
self.assertEqual('virtualMachine', object_ref.objectType)
|
||||
|
||||
def test_get_profiles_by_ids(self):
|
||||
pbm_service = mock.Mock()
|
||||
session = mock.Mock(pbm=pbm_service)
|
||||
|
||||
profiles = mock.sentinel.profiles
|
||||
session.invoke_api.return_value = profiles
|
||||
|
||||
profile_ids = mock.sentinel.profile_ids
|
||||
ret = pbm.get_profiles_by_ids(session, profile_ids)
|
||||
|
||||
self.assertEqual(profiles, ret)
|
||||
session.invoke_api.assert_called_once_with(
|
||||
pbm_service,
|
||||
'PbmRetrieveContent',
|
||||
pbm_service.service_content.profileManager,
|
||||
profileIds=profile_ids)
|
||||
|
||||
def test_get_profiles_by_empty_ids(self):
|
||||
session = mock.Mock()
|
||||
self.assertEqual([], pbm.get_profiles_by_ids(session, []))
|
||||
|
Loading…
x
Reference in New Issue
Block a user