2
我正在使用puppet 3.3.1來配置運行Ubuntu 12.04的vagrant box與hiera。在Puppet 3.3.1中使用create_resources時遇到麻煩
我能當我在yaml
文件中明確聲明每個參數使用hiera與create_resources
,但我不能得到默認值(可選的第三個參數來工作)所描述的http://docs.puppetlabs.com/references/latest/function.html#createresources
下面是一個例子什麼是不工作:
# hiera.yaml
---
:backends:
- yaml
:yaml:
:datadir: /vagrant/hiera
:hierarchy:
- common
下面是數據common.yaml
# common.yaml
ssh_keys:
deployer_key:
user: deployer
# type: ssh-rsa
# ensure: present
key: "AAAAB3NzaC1yc2EAAAABIwAAAQEA9Y9X..."
現在如果我在清單中調用以下內容,它會抱怨沒有類型傳遞給ssh_authorized_key
。
create_resources("ssh_authorized_key", hiera("ssh_keys"), { ensure => present, type => "ssh-rsa" })
但是,如果我去掉類型,並且確保在common.yaml
線,並呼籲
create_resources("ssh_authorized_key", hiera("ssh_keys"))
一切工作正常。
如何讓默認參數起作用?不幹掉事情會很好。我想我可以使用&label
和<<
語法重新使用yaml文件本身中的部分,但似乎這種默認行爲應該是可能的。
任何提示?