首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要求在哈希表中定义类型

要求在哈希表中定义类型
EN

Stack Overflow用户
提问于 2018-02-08 01:41:51
回答 1查看 163关注 0票数 0

我有一个名为profile_winsql_dbengine::resources::sqlconfighelper的已定义类型,它调用exec块并且运行良好。

我在init清单中使用了以下create resource语句:

代码语言:javascript
复制
create_resources( profile_winsql_dbengine::resources::sqlconfighelper, $sqlconfighelperhash )

散列声明如下:

代码语言:javascript
复制
$sqlconfighelperhash = {
    'config1' => {
      param1     => $param1,
      param2     => $param2,
    },
    'config2' => {
      param1     => $param1,
      param2     => $param2,
      require    => Profile_winsql_dbengine::Resources::Sqlconfighelper['config1'],
    }
}

除了require之外,一切都按预期工作。require抛出一个编译错误,告诉我它找不到Profile_winsql_dbengine::Resources::Sqlconfighelper['config1']

语法会进行编译,并且没有require,它会按预期应用概要文件。为了让require工作,我应该做些什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-08 12:07:33

我不能用最新的Puppet 5.3.4重现这个。

我的代码:

代码语言:javascript
复制
# /tmp/test.pp
define test::my_type($message, $withpath) {
  notify { $name:
    message  => $message,
    withpath => $withpath,
  }
}

class test (
) {
  $data = {
    'message1' => {
      message  => 'I am message 1',
      withpath => false,
      require  => Test::My_type['message2'],
    },
    'message2' => {
      message  => 'I am message 2',
      withpath => false,
    }
  }
  create_resources(test::my_type, $data)
}

include test

然后:

代码语言:javascript
复制
$ puppet apply /tmp/test.pp
Notice: Compiled catalog for alexs-macbook-pro.local in environment production in 0.06 seconds
Notice: I am message 2
Notice: /Stage[main]/Test/Test::My_type[message2]/Notify[message2]/message: defined 'message' as 'I am message 2'
Notice: I am message 1
Notice: /Stage[main]/Test/Test::My_type[message1]/Notify[message1]/message: defined 'message' as 'I am message 1'
Notice: Applied catalog in 0.05 seconds

也许你在某处有一个打字错误?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48670163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档