我在模板中这样做:
%{ if myvar != "sss" }
bunch
of
text
%{ else }
some
other
text
%{ endif }
Run Code Online (Sandbox Code Playgroud)
这可行,但 if 语句所在的位置有一个新行。我可以将文本块的第一行放在同一行,但我认为这不可读:
%{ if myvar != "sss" }bunch
of
text
%{ else }some
other
text%{ endif }
Run Code Online (Sandbox Code Playgroud)
在 Go 模板中。我可以做这样的事情来咀嚼新行:
%{- if myvar != "sss" }
bunch
of
text
%{- else }
some
other
text
%{- endif }
Run Code Online (Sandbox Code Playgroud)
你如何在 tf 中做到这一点?
小智 13
实际上,~
当您尝试创建 yaml 文件时,最终可能会导致您配置错误
foo:
aaa: aaa
%{ if enabled ~}
bar:
baz: ${baz}
%{ endif ~}
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
给你错误的yaml,如下所示:
> templatefile("sss.yaml", {enabled=true,baz="baz"})
foo:
aaa: aaa
bar:
baz: baz
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
这个将返回正确的 yaml 但带有新的 lins
foo:
aaa: aaa
%{ if enabled }
bar:
baz: ${baz}
%{ endif }
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
> templatefile("sss.yaml", {enabled=true,baz="baz"})
foo:
aaa: aaa
bar:
baz: baz
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
所以要获得正确的文件,您必须在~
表达式之前和之后添加
foo:
aaa: aaa
%{~ if enabled ~}
bar:
baz: ${baz}
%{~ endif ~}
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
> templatefile("sss.yaml", {enabled=true,baz="baz"})
foo:
aaa: aaa
bar:
baz: baz
bbb: bbb
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4599 次 |
最近记录: |