繁体   English   中英

Puppet - 如何使用带有hiera的清单中定义的变量

[英]Puppet - How to use variables defined in manifests with hiera

有没有办法使用一些清单中定义的变量与hiera?

这是我尝试的方式:

manifest.pp

if $::ipaddress_bond0 {
  $primary_interface = 'bond0'
  notify{"$primary_interface":}
}
else {
  $primary_interface = 'eth0'
  notify{"$primary_interface":}
}

hiera.yaml

some_config:
  server:
    foo:
      bar: "%{::primary_interface}"

是的,这是可能的 看看这个例子:

test.pp

class nodes::test
{
  $value1 = 'abc'
  $value2 = hiera('test::value2')
  $value3 = hiera('test::value3')

  notify{ " v1 ${value1}": }
  notify{ " v2 ${value2}": }
  notify{ " v3 ${value3}": }
}

include nodes::test

test.yaml

test::value2: "%{value1}"
test::value3: "%{value4}"

运行测试:

puppet apply  test.pp 

注意:v1 abc

注意:v2 abc

注意:v3

请记住,在hiera中使用puppet变量是一种非常糟糕的做法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM