summaryrefslogtreecommitdiff
path: root/oslo_vmware/vim_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_vmware/vim_util.py')
-rw-r--r--oslo_vmware/vim_util.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/oslo_vmware/vim_util.py b/oslo_vmware/vim_util.py
index 4105cda..85a7fd8 100644
--- a/oslo_vmware/vim_util.py
+++ b/oslo_vmware/vim_util.py
@@ -628,3 +628,31 @@ def propset_dict(propset):
return {}
return {prop.name: prop.val for prop in propset}
+
+
+def storage_placement_spec(client_factory,
+ dsc_ref,
+ type,
+ clone_spec=None,
+ config_spec=None,
+ relocate_spec=None,
+ vm_ref=None,
+ folder=None,
+ clone_name=None,
+ res_pool_ref=None,
+ host_ref=None):
+ pod_sel_spec = client_factory.create('ns0:StorageDrsPodSelectionSpec')
+ pod_sel_spec.storagePod = dsc_ref
+
+ spec = client_factory.create('ns0:StoragePlacementSpec')
+ spec.podSelectionSpec = pod_sel_spec
+ spec.type = type
+ spec.vm = vm_ref
+ spec.folder = folder
+ spec.cloneSpec = clone_spec
+ spec.configSpec = config_spec
+ spec.relocateSpec = relocate_spec
+ spec.cloneName = clone_name
+ spec.resourcePool = res_pool_ref
+ spec.host = host_ref
+ return spec