AWX中基于EC2多值标签创建Inventory分组的配置疑问
AWX Inventory 分组配置问题
我的EC2实例带有标签:roles:jboss:web,希望在AWX的Inventory中创建tag_role_jboss和tag_role_web两个分组。尝试了以下keyed_groups配置但未成功:
keyed_groups: - key: "{{ tags.roles.split(':') }}" prefix: tag_role
存在两个疑问:
key的语法支持Jinja2还是Python?- 单个
key元素能否创建多个分组?
问题解答
key的语法支持keyed_groups中的key字段支持Jinja2语法,但不需要额外用{{ }}包裹——Ansible会自动解析该字段内的Jinja2表达式。你之前的配置多套了一层双大括号,这是配置失效的核心原因。单个
key创建多个分组的可行性
完全可以。当key返回的是一个列表(比如split(':')生成的数组),Ansible会自动为列表中的每个元素创建对应的分组,只要语法正确即可。
修正后的配置
移除多余的双大括号,正确配置如下:
keyed_groups: - key: tags.roles.split(':') prefix: tag_role
配置生效后,你的EC2实例会被同时归入tag_role_jboss和tag_role_web两个分组。
内容的提问来源于stack exchange,提问作者dalf
相关产品推荐
相关产品推荐

