Я хочу проанализировать Docker-compose.yml с помощью SnakeYAML (или другого анализатора).Проблема, с которой я сталкиваюсь, связана с атрибутами, которые могут быть как String, так и более сложными объектами, такими как configs , которые поддерживают «короткий» синтаксис и «длинный» синтаксис:
short
version: "3.3"
services:
redis:
image: redis:latest
deploy:
replicas: 1
configs:
- my_config
- my_other_config
configs:
my_config:
file: ./my_config.txt
my_other_config:
external: true
long
version: "3.3"
services:
redis:
image: redis:latest
deploy:
replicas: 1
configs:
- source: my_config
target: /redis_config
uid: '103'
gid: '103'
mode: 0440
configs:
my_config:
file: ./my_config.txt
my_other_config:
external: true
Как я могу сопоставить это с SnakeYAML?В настоящее время я создал Java Beans для моделирования различных элементов и настройки конфигурации как List<String>
, но это, очевидно, работает только для краткого синтаксиса.