插值语法ipaddress_eth0 hiera data yaml

时间:2018-04-12 10:29:48

标签: yaml puppet hiera

puppet和hiera数据新手。试图插入文本和变量/值。如何让它打印ip并正确添加换行符?

  

common.yaml:

---
  myip: 'Here is my Public IP Adress: ${ipaddress_eth0}.\n'
  

结果:这是我的公共IP地址:$ {ipaddress_eth0}。\ n [root @ localhost~]   #

2 个答案:

答案 0 :(得分:1)

您需要使用Interpolation tokens。您还应该使用facts哈希,例如

common.yaml

myip: 'Here is my Public IP Adress: %{facts['networking']['interfaces']['eth0']['ip']}.\n'

以下内容也可能有效

myip: 'Here is my Public IP Adress: %{facts['networking']['ip']}.\n'

在你需要的木偶中打印这个

test.pp

node /default/ {
  $myip = lookup(myip)
  notice($myip)
}

答案 1 :(得分:0)

根据hiera interpolation documentation,您应使用以下语法: "%{facts.networking.interfaces.eth0.ip}"

适用于人偶4、5、6