terraform模板-如何使用双花括号

罗伯特·拉赫纳

谁知道我该怎么用

NAME_TEMPLATE=%{{service_name}}.%{{environment_name}}

在模板文件中?每次我想使用这种地形崩溃-“%!s()”。

我设法用'%%'逃脱了'%',但是双花括号仍然是一个问题。

罗伯特·拉赫纳

我使用Terraform 0.11模板来生成用于牧场主1的docker-compose.yml。这已经过时且特别,但也许有人会从中受益。

所以我想得到

NAME_TEMPLATE=%{{service_name}}.%{{environment_name}}

进入我的docker-compose.yml。

首先,我让模板引擎使用yaml进行工作,因为还有其他变量需要填充:

Terraform模板

data "template_file" "route53updater" {
  template = "${file("${local.templates_path}/docker-compose.yml")}"

  vars {
    aws_access_key = "${var.aws_access_key}"
    aws_secret_key = "${var.aws_secret_key}"
    aws_domain = "${var.instance_tld}"
    aws_zone_id = "${var.aws_zone_id}"
    aws_region = "${var.aws_region}"    
  }
}
version: '2'
services:
  route53:
    mem_limit: 134217728
    image: rancher/external-dns:v0.7.12
    environment:
      AWS_ACCESS_KEY: ${aws_access_key}
      ROUTE53_ZONE_ID: ${aws_zone_id}
      AWS_REGION: ${aws_region}
      AWS_SECRET_KEY: ${aws_secret_key}      
      ROOT_DOMAIN: ${aws_domain}      
      TTL: '60'      
      NAME_TEMPLATE: "NAME_TEMPLATE_VALUE"
    expose:
    - '1000'
    labels:
      io.rancher.container.agent.role: external-dns
      io.rancher.container.create_agent: 'true'

变成:

version: '2'
services:
  route53:
    mem_limit: 134217728
    image: rancher/external-dns:v0.7.12
    environment:
      AWS_ACCESS_KEY: SECRET
      AWS_REGION: eu-central-1
      AWS_SECRET_KEY: SECRET
      ROOT_DOMAIN: domain.com
      ROUTE53_ZONE_ID: SECRET
      NAME_TEMPLATE: "NAME_TEMPLATE_VALUE"
      TTL: '60'
    expose:
    - '1000'
    labels:
      io.rancher.container.agent.role: external-dns
      io.rancher.container.create_agent: 'true'

然后,我使用replace来内联编辑模板内容,如下所示:

resource "rancher_stack" "route53" {
  name           = "route53"  
  environment_id = "${var.rancher_environment}"
  scope          = "system"
  start_on_create = true
  docker_compose = "${replace("${data.template_file.route53updater.rendered}", "NAME_TEMPLATE_VALUE", "%{{`{{service_name}}`}}.%{{`{{environment_name}}`}}")}"
  rancher_compose = "${file("${local.templates_path}/rancher-compose.yml")}"  
}

所以NAME_TEMPLATE_VALUE%{{`{{service_name}}`}}.%{{`{{environment_name}}`}}")}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在指令模板中呈现双花括号?

来自分类Dev

Netbeans中的双(或三)花括号(例如,刀片模板)

来自分类Dev

如何通过Terraform创建Lambda事件模板?

来自分类Dev

使用双花括号输入功能

来自分类Dev

在Laravel Collective中使用双花括号

来自分类Dev

双花括号{{

来自分类Dev

如何以双花括号{{}}将ng-include与html文件一起使用

来自分类Dev

如何以双花括号{{}}将ng-include与html文件一起使用

来自分类Dev

在HTML <pre>环境中使用angular.js模板转义花括号

来自分类Dev

如何在string.Format()中转义双花括号

来自分类Dev

如何处理代码块中的双花括号?

来自分类Dev

R / RMarkdown中双花括号内变量的使用

来自分类Dev

苗条,有角-使用{{双花括号}}产生冲突

来自分类Dev

使用自定义双括号格式的Python模板安全替换

来自分类Dev

如何为Oracle使用花括号转义

来自分类Dev

专门矢量模板的花括号初始化

来自分类Dev

如何从Terraform 0.12中的模板创建S3存储桶策略?

来自分类Dev

如何在Terraform模板文件中将字符串转换为数字

来自分类Dev

如何在Terraform中将多个模板文件传递给user_Data变量

来自分类Dev

如何使用双递归在AngularJS中创建菜单?(功能+模板)

来自分类Dev

渲染车把内的双花括号部分

来自分类Dev

lm()公式中的rlang双花括号

来自分类Dev

在双花括号内呈现HTML

来自分类Dev

如何在车把模板中使用对象的括号符号?

来自分类Dev

如何在js中使用括号将模板变量加入?

来自分类Dev

如何在车把模板中使用对象的括号符号?

来自分类Dev

Scala regex-如何在花括号内进行匹配,但自身不使用花括号

来自分类Dev

为什么使用std :: initializer_list的构造函数不喜欢使用双花括号语法

来自分类Dev

如何将包含双花括号功能的Wikitext标记转换为纯文本或html?

Related 相关文章

  1. 1

    如何在指令模板中呈现双花括号?

  2. 2

    Netbeans中的双(或三)花括号(例如,刀片模板)

  3. 3

    如何通过Terraform创建Lambda事件模板?

  4. 4

    使用双花括号输入功能

  5. 5

    在Laravel Collective中使用双花括号

  6. 6

    双花括号{{

  7. 7

    如何以双花括号{{}}将ng-include与html文件一起使用

  8. 8

    如何以双花括号{{}}将ng-include与html文件一起使用

  9. 9

    在HTML <pre>环境中使用angular.js模板转义花括号

  10. 10

    如何在string.Format()中转义双花括号

  11. 11

    如何处理代码块中的双花括号?

  12. 12

    R / RMarkdown中双花括号内变量的使用

  13. 13

    苗条,有角-使用{{双花括号}}产生冲突

  14. 14

    使用自定义双括号格式的Python模板安全替换

  15. 15

    如何为Oracle使用花括号转义

  16. 16

    专门矢量模板的花括号初始化

  17. 17

    如何从Terraform 0.12中的模板创建S3存储桶策略?

  18. 18

    如何在Terraform模板文件中将字符串转换为数字

  19. 19

    如何在Terraform中将多个模板文件传递给user_Data变量

  20. 20

    如何使用双递归在AngularJS中创建菜单?(功能+模板)

  21. 21

    渲染车把内的双花括号部分

  22. 22

    lm()公式中的rlang双花括号

  23. 23

    在双花括号内呈现HTML

  24. 24

    如何在车把模板中使用对象的括号符号?

  25. 25

    如何在js中使用括号将模板变量加入?

  26. 26

    如何在车把模板中使用对象的括号符号?

  27. 27

    Scala regex-如何在花括号内进行匹配,但自身不使用花括号

  28. 28

    为什么使用std :: initializer_list的构造函数不喜欢使用双花括号语法

  29. 29

    如何将包含双花括号功能的Wikitext标记转换为纯文本或html?

热门标签

归档