Custom forms fail to validate with error "Value is not in list of valid values" after upgrading to VCF Automation 9.1
search cancel

Custom forms fail to validate with error "Value is not in list of valid values" after upgrading to VCF Automation 9.1

book

Article ID: 445540

calendar_today

Updated On:

Products

VCF Operations/Automation (formerly VMware Aria Suite)

Issue/Introduction

Custom forms do not validate after upgrading, which prevents actions such as pricing calculations and deployment submissions.

The following error is observed during validation:

Validation failed with: $.inputs.<input_name>: Value '<some_value>' is not in list of valid values [null, null, ...]

Environment

  • VMware Aria Automation 9.1.x

Cause

An architectural code change in VMware Aria Automation 9.1 modifies how Aria Orchestrator (vRO) action results are converted into Data API result objects.

In version 9.0, these results were returned in the following format: [{"id": "<key>", "name": "<value>"}]. In version 9.1, they are returned as properties formatted as: [{"key": "<key>", "value": "<value>"}].

This difference triggers a schema validation failure when a Custom Form Dropdown field relies on a vRO action to populate its enum/value options, specifically if that vRO action is configured to return data of type Properties or Array/Properties. Because the dropdown expects a list of primitive values (such as strings or integers), the new property format is rejected as invalid during validation.

Resolution

A permanent fix is tentatively planned for a future update. In the meantime, apply a workaround or revert to version 9.0.2.

Additional Information

Workaround

To bypass the error, rewrite the action to return an array of single values instead of Properties or Array/Properties. The returned value type must match the dropdown values (e.g., a primitive such as a string or integer).

  • Example of an action that will fail:
    var props = new Properties();
    props.put('key', 'Key');
    props.put('value', 'Value');
    props.put('description', 'Description');
    
    return [props];
  • Rewrite the action to the following:
    return ['Key', 'Value', 'Description'];