Templates ansible模板附加到文件
下面的代码用于附加到配置文件。我想做的是引入一个循环Templates ansible模板附加到文件,templates,ansible,Templates,Ansible,下面的代码用于附加到配置文件。我想做的是引入一个循环循环:“{{INTERFACE}}”,但这不起作用(因为临时文件将被覆盖),模板没有附加选项 有没有关于如何修复的建议 -名称:构建CE配置Cisco 模板: src=/opt/netsec/ansible/orchestration/cisco_templates/NOKIA_T1_PORT.js dest=/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}
循环:“{{INTERFACE}}”
,但这不起作用(因为临时文件将被覆盖),模板
没有附加选项
有没有关于如何修复的建议
-名称:构建CE配置Cisco
模板:
src=/opt/netsec/ansible/orchestration/cisco_templates/NOKIA_T1_PORT.js
dest=/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}
循环:“{{INTERFACE}}”
-名称:构建PE配置Cisco输出
shell:cat/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}>/opt/netsec/ansible/orchestration/config_outputs/new/{{CE_HOSTNAME}}.conf
接口
如下所示:
接口:
-接口:Gi0/3/0
设备描述:ethxxsr01
-接口:Gi0/3/1
设备描述:ETHXXSR01\U备用
从描述中可以看出,您似乎希望使用NOKIA_T1_PORT.js
文件的现有内容,但在目标位置使用界面添加一些内容
但是,一个模板
任务无法完成此操作。你可以这样做:
-名称:构建CE配置Cisco
副本:
src:/opt/netsec/ansible/orchestration/cisco_templates/NOKIA_T1_PORT.js
dest:“/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}”
-名称:更新接口信息
区块填充:
路径:“/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}”
区块:|
{接口%中的项的%s}
接口:{{item.INTERFACE}}
设备描述:{{item.device\u DESCRIPTION}
{%endfor%}
从描述中可以看出,您似乎希望使用NOKIA_T1_PORT.js
文件的现有内容,但在目标位置使用界面添加一些内容
但是,一个模板
任务无法完成此操作。你可以这样做:
-名称:构建CE配置Cisco
副本:
src:/opt/netsec/ansible/orchestration/cisco_templates/NOKIA_T1_PORT.js
dest:“/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}”
-名称:更新接口信息
区块填充:
路径:“/opt/netsec/ansible/orchestration/config_outputs/tmp/{{CE_HOSTNAME}”
区块:|
{接口%中的项的%s}
接口:{{item.INTERFACE}}
设备描述:{{item.device\u DESCRIPTION}
{%endfor%}
如果模板是多行的
shell>cat nokia_t1_port.j2
设备{item.device_DESCRIPTION}
接口{{item.interface}}
使用。比如说
-blockinfle:
插入者:EOF
路径:ce_hostname.conf
块:“{lookup('template','nokia_t1_port.j2')}”
标记:“”
循环:“{{INTERFACES}}”
给予
shell>cat ce\u hostname.conf
设备ETHXXSR01_备用
接口Gi0/3/1
设备ETHXXSR01
接口Gi0/3/0
由于“标记”,在附加的块之间将有一条空行
如果模板是单行的
shell>cat nokia_t1_port.j2
{{item.device_DESCRIPTION}}接口{{{item.interface}}
使用。比如说
-lineinfle:
插入者:EOF
路径:ce_hostname.conf
行:“{{lookup('template','nokia_t1_port.j2')}”
循环:“{{INTERFACES}}”
给予
shell>cat ce\u hostname.conf
ETHXXSR01接口Gi0/3/0
ETHXXSR01_备用接口Gi0/3/1
如果模板是多行的
shell>cat nokia_t1_port.j2
设备{item.device_DESCRIPTION}
接口{{item.interface}}
使用。比如说
-blockinfle:
插入者:EOF
路径:ce_hostname.conf
块:“{lookup('template','nokia_t1_port.j2')}”
标记:“”
循环:“{{INTERFACES}}”
给予
shell>cat ce\u hostname.conf
设备ETHXXSR01_备用
接口Gi0/3/1
设备ETHXXSR01
接口Gi0/3/0
由于“标记”,在附加的块之间将有一条空行
如果模板是单行的
shell>cat nokia_t1_port.j2
{{item.device_DESCRIPTION}}接口{{{item.interface}}
使用。比如说
-lineinfle:
插入者:EOF
路径:ce_hostname.conf
行:“{{lookup('template','nokia_t1_port.j2')}”
循环:“{{INTERFACES}}”
给予
shell>cat ce\u hostname.conf
ETHXXSR01接口Gi0/3/0
ETHXXSR01_备用接口Gi0/3/1
您在{{INTERFACE}}
中的内容不清楚。但是,您可能应该在模板文件中循环接口
。这是否回答了您的问题?谢谢你的回答,我想我做不到这一点,因为文件已经存在,其中的内容不是本节添加的。这是否回答了你的问题?您在{{INTERFACE}}
中有什么不清楚。但是,您可能应该在模板文件中循环接口
。这是否回答了您的问题?谢谢你的回答,我想我做不到这一点,因为文件已经存在,其中的内容不是本节添加的。这是否回答了你的问题?