Не с YAML, как это существует сегодня.YAML не имеет функций для преобразования данных.Люди склонны использовать движки шаблонов, такие как Jinja, для выполнения подобных вещей в качестве шага предварительной обработки (см. Ansible, SaltStack, др.).
Обратите внимание, что хотя функция привязки / псевдонима часто используется для дедупликации данных, этоникогда не было намерения.Изначально они предназначены для использования для сериализации структур данных в памяти, которые могут содержать циклы или что-либо еще, где несколько переменных указывают на один и тот же объект.В семантике YAML ваши первые два фрагмента кода не идентичны, поскольку первый определяет один строковый объект A
, который упоминается в двух местах, а второй определяет two строковые объекты A
.Однако для данных конфигурации это, как правило, не имеет значения (если конфигурация не была изменена в памяти и записана обратно).
Именно поэтому в YAML отсутствуют какие-либо функции преобразования, которые позволили бы выполнять такие операции, какВы хотите сделать.