Dynamic Disks in Cloud Template no longer work with the count parameter
search cancel

Dynamic Disks in Cloud Template no longer work with the count parameter

book

Article ID: 384562

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

 

  • After upgrading to Aria 8.18 and above Cloud Template YAML now flags a warning label for the attachedDisks property of Cloud Machine resources which include a count property.
  •  
  • The error message reads:
    "The entries under the attachedDisks 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."

  • See Screenshots:

Environment

Aria Automation 8.18 (vRA)

Cause

The Cloud Template YAML editor is stricter in the later releases when it comes to referencing the count property.

Resolution

Ensure that all volumes under resources that are referenced in the attachedDisk property have a count assigned, either statically, or as a variable.

In this YAML example, there are 4 dynamically assigned Cloud Volumes where the user can choose to add 0-4 disks:

resources:
  Cloud_Volume_1:
    type: Cloud.Volume
    properties:
      capacityGb: ${input.disksize_1}
            count: '${input.num_xdisks >= 2 ? 1 : 0}'
      volumeType: gp3
  Cloud_Volume_2:
    type: Cloud.Volume
    properties:
      capacityGb: ${input.disksize_2}
      count: '${input.num_xdisks >= 2 ? 1 : 0}'
      volumeType: gp3
  Cloud_Volume_3:
    type: Cloud.Volume
    properties:
      capacityGb: ${input.disksize_3}
      count: '${input.num_xdisks >= 3 ? 1 : 0}'
      volumeType: gp3
  Cloud_Volume_4:
    type: Cloud.Volume
    properties:
      capacityGb: ${input.disksize_4}
      count: '${input.num_xdisks >= 4 ? 1 : 0}'
      volumeType: gp3

 

 

 


  Cloud_Instance_1:
    type: Cloud.Machine
    properties:
      attachedDisks: ${map_to_object(resource.Cloud_Volume_4[*].id + resource.Cloud_Volume_3[*].id + resource.Cloud_Volume_2[*].id + resource.Cloud_Volume_1[*].id,"source")}

 

 

 

Additional Information

Similar issue can be found for Network arrays and can be referenced here:

https://knowledge.broadcom.com/external/article/371106/the-entries-under-the-networks-array-mus.html