通过 chef 文件资源内容在文件中写入两个变量
Writing two variables in a file via chef file resource content
是否可以在不使用模板 erb 文件的情况下将两个变量写入 chef 生成的文件?
username = secret[:username]
password = secret[:password]
file "/home/secret_file.txt" do
content username password
owner 'user'
group 'user'
mode '0755'
end
仅添加一个变量按预期工作,但如上所示使用两个变量我收到一条错误消息“Chef::Resource::File 的未定义方法‘用户名’”
您要在文件的一行中添加这些变量吗?内容属性取字符串类型
您可以使用字符串插值来创建字符串并将内容添加到文件中:
username = secret[:username]
password = secret[:password]
file "/home/secret_file.txt" do
content "#{username} #{password}"
owner 'user'
group 'user'
mode '0755'
end
或者如果您需要以某种方式格式化它:
username = secret[:username]
password = secret[:password]
output = <<-CODE
The username is #{username}
The password is #{password}
CODE
file "/home/secret_file.txt" do
content output
owner 'user'
group 'user'
mode '0755'
end
是否可以在不使用模板 erb 文件的情况下将两个变量写入 chef 生成的文件?
username = secret[:username]
password = secret[:password]
file "/home/secret_file.txt" do
content username password
owner 'user'
group 'user'
mode '0755'
end
仅添加一个变量按预期工作,但如上所示使用两个变量我收到一条错误消息“Chef::Resource::File 的未定义方法‘用户名’”
您要在文件的一行中添加这些变量吗?内容属性取字符串类型
您可以使用字符串插值来创建字符串并将内容添加到文件中:
username = secret[:username]
password = secret[:password]
file "/home/secret_file.txt" do
content "#{username} #{password}"
owner 'user'
group 'user'
mode '0755'
end
或者如果您需要以某种方式格式化它:
username = secret[:username]
password = secret[:password]
output = <<-CODE
The username is #{username}
The password is #{password}
CODE
file "/home/secret_file.txt" do
content output
owner 'user'
group 'user'
mode '0755'
end