如何在Hydra中扩展默认配置文件中的列表?
如何扩展defaults配置中的列表?
我在defaults配置文件base_list中定义了一个列表:
list: - 1 - 2
目前如果在配置文件中通过以下方式覆盖:
defaults: - base_list list: - 3 - 4
得到的结果是列表被完全替换:
list: - 3 - 4
但我希望扩展原列表,最终得到包含原元素和新元素的列表:
list: - 1 - 2 - 3 - 4
实现方法
具体语法取决于你使用的配置系统,以下是几种常见场景的解决方案:
Ansible 配置
可以通过列表拼接语法实现扩展:defaults: - base_list list: "{{ list + [3, 4] }}"或者在Ansible 2.10及以上版本中,支持更简洁的
+=语法:defaults: - base_list list +=: - 3 - 4Hydra 配置
使用_extend关键字开启列表扩展:defaults: - base_list list: _extend: True - 3 - 4通用YAML合并(部分工具支持)
先在base_list中定义锚点,再在扩展配置中引用锚点并追加元素:# base_list中的配置 list: &original_list - 1 - 2 # 扩展配置 defaults: - base_list list: <<: *original_list - 3 - 4
内容的提问来源于stack exchange,提问作者itamar kanter
相关产品推荐
相关产品推荐

