The entries under the networks array must reference either clustered or non-clustered resources only. You can either use the map_to_object expression or add count:1 to convert a non-clustered to a clustered resource, or you can remove the count to convert a clustered resource to non-clustered.
Cannot deserialize value of type ArrayList<string> from Array value (token JsonToken.START_ARRAY) at [source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.vmware.admiral.compute.content.TemplateComputeDescription["networks"]->ArrayList[0])
count
propertymap_by
functionResolving the issue depends on the scenario which caused it:
Network0:
type: Cloud.NSX.Network
properties:
deviceIndex: 0
networkType: existing
count: 1
map_by
function to assign multiple networks to a VM, this should not itself be placed inside a list:Machine0:
type: Cloud.Machine
properties:
image: ${input.image}
flavor: ${input.flavor}
networks:
- '${map_by( .... )}'
networks: '${map_by( .... )}'
Once the syntax is amended as above, the duplicated network lines can be removed from the Cloud Template in the yaml editor.