Я хотел бы проанализировать конфигурацию yaml, связанную с марионеткой, с помощью pyyaml. К сожалению, кажется, что pyyaml не может анализировать некоторые файлы YAML из-за этой части:
base::files:
/var/log/fpm:
ensure: 'directory'
mode: '777'
/etc/nginx/ssl/cert:
ensure: 'directory'
/apps:
ensure: 'directory'
owner: user
group: user
['/apps/ecert-public', '/apps/ecert-public/config', '/apps/ecert-public/releases']:
ensure: 'directory'
owner: 'user'
group: 'user'
['/apps/site-public', '/apps/site-public/config', '/apps/site-public/releases']:
ensure: 'directory'
owner: 'user'
group: 'user'
Проблема заключается в сопоставлении с несколькими значениями (внутри квадратных скобок). Я получаю следующее сообщение об ошибке при попытке проанализировать эту часть с помощью pyyaml:
при построении сопоставления в "/hieradata/node/wc-de.yaml", строка 133, столбец 3, обнаружен нехэшируемый ключ в "/hieradata/node/wc-de.yaml", строка 212, столбец 3
Некоторые валидаторы YAML говорят, что это действительный YAML (например: http://www.yamllint.com/), но у большинства из них, которые я пробовал, также есть проблемы с анализом этой части. Кто-нибудь знает, как я могу решить эту проблему с помощью pyyaml? К сожалению, я не могу изменить сам YAML, поэтому мне нужно решение, чтобы разобрать его как есть.