gpt4 book ai didi

puppet - epp 模板的键值哈希

转载 作者:行者123 更新时间:2023-12-02 01:26:25 25 4
gpt4 key购买 nike

如何将下一个代码从 erb 模板移植到 epp:

<%- if @mime_types -%>

# Custom additional mime types
<%- @mime_types.sort_by {|key,value| key}.each do |key,value| -%>
<%= key %> <%= value %>;
<%- end -%>
<%- end -%>

或者如何在 epp 模板中使用键值哈希。例如下一个代码返回错误“无效的 EPP:'|' 处的语法错误

# mime.types.epp
<%- | Hash[String, String] $nginx::config::mime_types | -%>
<% include stdlib -%>
<% $nginx::config::mime_types.keys.sort.each |$key| { -%>
<%= $key %> <%= $nginx::config::mime_types[$key] %>
<% } -%>

list :

# manifests/config.pp
class nginx::config {
$mimetypes=lookup('nginx::mimetypes')
file { "${nginx::params::conf_dir}/mime.types":
ensure => file,
content => epp("${module_name}/mime.types.epp"),
}

希拉:

nginx::mimetypes:
video/ogg: 'ogv'

puppet 版本:

#puppet --version
5.0.1

非常感谢。

最佳答案

1) 无法使用模型 $classname::subclassname::lookup_variable在哈希的 epp 模板中

2) 需要使用 <%- | Hash[String, String] $mime_types | -%><% include stdlib -%>仅在启动 epp 模板上

正确的文件:

# manifests/config.pp
class nginx::config {
$mimetypes=lookup('nginx::mimetypes')
file { "${nginx::params::conf_dir}/mime.types":
ensure => file,
content => epp("${module_name}/mime.types.epp", { mimetypes => $mimetypes }),
}

# mime.types.epp
<%- | Hash[String, String] $mimetypes | -%> # 1 line
<% include stdlib -%> # 2 line
# some code...
<% $mimetypes.keys.sort.each |$key| { -%>
<%= $key %> <%= $mimetypes[$key] %>
<% } -%>

关于puppet - epp 模板的键值哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com