"The entries under the networks array must reference either clustered or non-clustered resources only." warning label for blueprint network properties after upgrading Aria Automation
search cancel

"The entries under the networks array must reference either clustered or non-clustered resources only." warning label for blueprint network properties after upgrading Aria Automation

book

Article ID: 371106

calendar_today

Updated On: 04-21-2025

Products

VMware Aria Suite

Issue/Introduction

  • After upgrading to Aria 8.16 and above Cloud Templates now flag a warning label for the Network properties of Cloud Machine resources which include a count property. The error message reads:
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.
  • The network properties may also be duplicated to be present more than once when the blueprint is viewed in the blueprint yaml editor in the UI.
  • Deployments may fail with errors similar to:

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])

Environment

  • VMware Aria Automation 8.16, 8.17, 8.18

Cause

  • The Blueprint YAML editor is stricter in the later releases when it comes to referencing the single vs clustered objects.
    This affects:
    • the count property
    • the map_by function

Resolution

Resolving the issue depends on the scenario which caused it:

  1. Ensure each network object added to the blueprint has the count property added:

    Network0:
    type: Cloud.NSX.Network
    properties:
      deviceIndex: 0
      networkType: existing
      count: 1

  2. Where you are using the 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.