gpt4 book ai didi

ubuntu - Puppet 3.3.1 中的 create_resources 问题

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

我正在使用 puppet 3.3.1 来配置一个运行 ubuntu 12.04 和 hiera 的 vagrant box。

我可以将 hiera 与 create_resources 一起使用当我在我的 yaml 中明确声明每个参数时文件,但我无法获得 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..."

现在,如果我在 list 中调用以下内容,它会提示没有类型被传递给 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 文件本身中的部分。和 <<语法,但似乎这种默认行为应该是可能的。

有小费吗?

最佳答案

你必须把它放在一个单独的变量中。

$defaults = {
ensure => present,
type => "ssh-rsa",
}

create_resources("ssh_authorized_key", hiera("ssh_keys"), $defaults)

关于ubuntu - Puppet 3.3.1 中的 create_resources 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135048/

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