HI, I'm trying to do the same. In REST the Storage profile is integrated via the <SourcedVmInstantiationParams> section.
here is a REST sample that works, maybe that helps you get the right Idea....and in turn helps me.
<InstantiateVAppTemplateParams xmlns="http://www.vmware.com/vcloud/v1.5" name="App Test" deploy="true" powerOn="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"> <Description>Some VM</Description> <InstantiationParams> <NetworkConfigSection> <ovf:Info>Configuration parameters for logical networks</ovf:Info> <NetworkConfig networkName="ONET_ADMIN_3000_Public"> <Configuration> <ParentNetwork href="https://10.75.119.142/api/network/fe522dc6-e5de-43f6-a047-9282321ca1c7" /> <FenceMode> POOL </FenceMode> </Configuration> </NetworkConfig> </NetworkConfigSection> </InstantiationParams><Source href="https://10.75.119.142/api/vAppTemplate/vappTemplate-3c9ab4c6-f526-45ce-9ce6-e10d9fbefd5e" /> <SourcedVmInstantiationParams> <Source href="https://10.75.119.142/api/vAppTemplate/vm-536646f3-f94b-404f-bd4e-bc355329f2e7" name="vApp_rhel_5.8_SOE_MGT"/> <StorageProfile href="https://10.75.119.142/api/vdcStorageProfile/3b119271-6663-424c-80ca-e755b9ace5c4" name="np-gold"/> </SourcedVmInstantiationParams> <AllEULAsAccepted>true</AllEULAsAccepted> </InstantiateVAppTemplateParams>