As 7.x and 8.x , Both are 2 different products so similar solution may not be the key.
You can use If else condition in yaml which would decide which cloud zone it is going to pick and based the that storage and network will get allocated .
Example of If else .
formatVersion: 1
inputs:
Cluster:
type: string
description: Choose Cluster
resources:
Cloud_vSphere_Machine_1:
type: Cloud.vSphere.Machine
properties:
image: Linux
flavor: Small
constraints:
- tag: '${input.Cluster == "vRA_Payload1" ? "vCenter115:vRA_Payload1" : input.Cluster == "vRA_Payload2" ? "vCenter115:vRA_Payload2" : input.Cluster == "vRA_Payload3" ? "vCenter115:vRA_Payload3" : ""}'
networks:
- network: ${resource.Cloud_vSphere_Network_1.id}
Cloud_vSphere_Network_1:
type: Cloud.vSphere.Network
properties:
networkType: existing