The keys for custom attributes needed to be unique. To enforce the unique constraint I created the FormContextualKeyValue component. This component behaves similarly to the FormContextualSelectArray but handles key value pairs. rancher/rancher#23782