如何使用具有不同变量集的模板模块?

凯斯特蒙特·马克斯(Kestemont Max)

我的用例如下:

我有一个模板文件,我想从该模板创建2个不同的文件,每个文件的变量由一组不同的变量填充。

例如,假设我要对包含该行的文件进行模板化:

mkdir -p {{myTemplateVariable}}

我想找到一种适当的方法来获取由“ File1”和“ File2”填充的变量。就像是 :

- name: template test 1
  template: 
        src=myTemplateFile
        dest=result1


- name: template test 2
  template: 
        src=myTemplateFile
        dest=result2

在这里我可以为第一个模板指定要使用的变量为a =“ File1”,为第二个模板指定b =“ File2”。

乌冬丹

对于Ansible 2.x:

- name: template test
  template: 
    src: myTemplateFile
    dest: result1
  vars:
    myTemplateVariable: File1

- name: template test
  template: 
    src: myTemplateFile
    dest: result2
  vars:
    myTemplateVariable: File2

对于Ansible 1.x:

不幸的是,该template模块不支持向其传递变量,该变量可以在模板内部使用。功能请求,但被拒绝了。

我可以想到两种解决方法:

1.包含

include语句支持传递变量。因此,您可以将template任务放在一个额外的文件中,并使用适当的参数将其包含两次:

my_include.yml:

- name: template test
  template: 
        src=myTemplateFile
        dest=destination

main.yml:

- include: my_include.yml destination=result1 myTemplateVariable=File1

- include: my_include.yml destination=result2 myTemplateVariable=File2

2.重新定义myTemplateVariable

另一种方法是在每个template任务之前简单地重新定义myTemplateVariable

- set_fact:
     myTemplateVariable: File1

- name: template test 1
  template: 
        src=myTemplateFile
        dest=result1

- set_fact:
     myTemplateVariable: File2

- name: template test 2
  template: 
        src=myTemplateFile
        dest=result2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在Java中使用接口和组合-重用具有不同变量的代码

来自分类Dev

Yii使用具有IN条件的变量

来自分类Dev

如何避免引用具有实现细节的程序集

来自分类Dev

SQL Server-如何使用具有重复的空列的分组集

来自分类Dev

使用具有两个日期变量的数据线文件内数据集

来自分类Dev

如何使用具有不同文件结构的Dart Polymer?

来自分类Dev

如何使用angularjs渲染混合的json导致需要不同的模板(具有不同的变量)

来自分类Dev

如何在Django的不同目录中调用具有相同名称的模板?

来自分类Dev

为什么不允许使用具有不同数量的模板参数的类/结构声明?

来自分类Dev

如何使用单个按钮单击事件来调用具有不同参数的方法

来自分类Dev

如何使用具有多个x变量的collect()?

来自分类Dev

如何使用具有类似变量的React钩子?

来自分类Dev

使用具有for_each设置的模块的输出值

来自分类Dev

如何使用具有不同变量名称的数据?

来自分类Dev

如何使用具有多个模块的ui路由器管理状态

来自分类Dev

Yii使用具有IN条件的变量

来自分类Dev

如何使用具有不同验证注释的相同表单DTO?如何避免双重码?

来自分类Dev

为什么不允许使用具有不同数量的模板参数的类/结构声明?

来自分类Dev

如何循环使用具有不同变量的shell脚本,使用变量存储脚本的全部内容,然后运行另一个函数

来自分类Dev

如何使用具有不同模板参数的变量制作矢量?

来自分类Dev

如何从外部向量中使用具有不同值的数据框列(使用dplyr)

来自分类Dev

如何使用具有两个具有不同模块的不同控制器的服务在不同模块之间传递数据?

来自分类Dev

如何在类型化数据集xsd中使用具有相同表结构的不同数据库

来自分类Dev

如何使用具有开始和结束日期的数据集添加日期?

来自分类Dev

使用具有不同变量的函数

来自分类Dev

使用具有功能的 asyncawait 模块

来自分类Dev

如何使用具有不同 AngularJS id 的 jQuery

来自分类Dev

如何在 ARM 模板中多次使用具有不同脚本 uri 的相同扩展名

来自分类Dev

如何使用具有来自不同查询集的值的 Modelchoice 字段创建 Django 表单/表单集

Related 相关文章

  1. 1

    在Java中使用接口和组合-重用具有不同变量的代码

  2. 2

    Yii使用具有IN条件的变量

  3. 3

    如何避免引用具有实现细节的程序集

  4. 4

    SQL Server-如何使用具有重复的空列的分组集

  5. 5

    使用具有两个日期变量的数据线文件内数据集

  6. 6

    如何使用具有不同文件结构的Dart Polymer?

  7. 7

    如何使用angularjs渲染混合的json导致需要不同的模板(具有不同的变量)

  8. 8

    如何在Django的不同目录中调用具有相同名称的模板?

  9. 9

    为什么不允许使用具有不同数量的模板参数的类/结构声明?

  10. 10

    如何使用单个按钮单击事件来调用具有不同参数的方法

  11. 11

    如何使用具有多个x变量的collect()?

  12. 12

    如何使用具有类似变量的React钩子?

  13. 13

    使用具有for_each设置的模块的输出值

  14. 14

    如何使用具有不同变量名称的数据?

  15. 15

    如何使用具有多个模块的ui路由器管理状态

  16. 16

    Yii使用具有IN条件的变量

  17. 17

    如何使用具有不同验证注释的相同表单DTO?如何避免双重码?

  18. 18

    为什么不允许使用具有不同数量的模板参数的类/结构声明?

  19. 19

    如何循环使用具有不同变量的shell脚本,使用变量存储脚本的全部内容,然后运行另一个函数

  20. 20

    如何使用具有不同模板参数的变量制作矢量?

  21. 21

    如何从外部向量中使用具有不同值的数据框列(使用dplyr)

  22. 22

    如何使用具有两个具有不同模块的不同控制器的服务在不同模块之间传递数据?

  23. 23

    如何在类型化数据集xsd中使用具有相同表结构的不同数据库

  24. 24

    如何使用具有开始和结束日期的数据集添加日期?

  25. 25

    使用具有不同变量的函数

  26. 26

    使用具有功能的 asyncawait 模块

  27. 27

    如何使用具有不同 AngularJS id 的 jQuery

  28. 28

    如何在 ARM 模板中多次使用具有不同脚本 uri 的相同扩展名

  29. 29

    如何使用具有来自不同查询集的值的 Modelchoice 字段创建 Django 表单/表单集

热门标签

归档