Ansible-修改变量
我试图修改ansible变量中的值,如下所示:Ansible-修改变量,ansible,yaml,Ansible,Yaml,我试图修改ansible变量中的值,如下所示: - name: Store edited data in file shell: cat "{{ list }}" | tr -s ' ' | cut -d' ' -f3 | tr -d ',"' | tr -d ',"' register: filenew 其中{{list}}类似于: "alertname": "KubePodCrashLooping&quo
- name: Store edited data in file
shell: cat "{{ list }}" | tr -s ' ' | cut -d' ' -f3 | tr -d ',"' | tr -d ',"'
register: filenew
其中{{list}}类似于:
"alertname": "KubePodCrashLooping",
"alertname": "AlertmanagerReceiversNotConfigured",
"alertname": "ImagePruningDisabled",
"alertname": "CPUThrottlingHigh",
尝试获取以下内容,其中仅显示名称:
KubePodCrashLooping
AlertmanagerReceiversNotConfigured
ImagePruningDisabled
CPUThrottlingHigh
循环浏览列表,然后按如下方式修改每个项目:
- name: store edited data in file
debug:
msg: {{ item.split(":")[1].split('"')[1].split('"')[0]
with_items: {{ list }}
register: fileitem
如果数据存储在文件
list.data
中,下面的任务将创建带有名称的列表行。比如说
-设置事实:
lines_new:“{{lines_new |默认值([]))+
[项目.拆分(':')[1][2:-2]]}”
循环:“{lookup('file','list.data').splitlines()}”
-调试:
var:lines_new
给予
行\u新建:
-Kubepodparshlooping
-AlertmanagerReceiversNotConfigured
-图像修剪已禁用
-CPUThrottlingHigh
在Ansible中创建文件的最佳实践是模块模板
。例如,创建一个模板
shel> cat filenew.j2
{% for item in lines_new %}
{{ item }}
{% endfor %}
然后是任务
-模板:
src:filenew.j2
dest:filenew
从模板filenew.j2
shell>cat文件新建
Kubepodparshlooping
AlertmanagerReceiversNotConfigured
图像修剪已禁用
CPUThrottlingHigh
能否给出{{list}}内的值和所需输出的示例?修改了数据。请查收。非常感谢。