需要在散列中定义类型 table
Require defined type in hash table
我有一个名为 profile_winsql_dbengine::resources::sqlconfighelper
的定义类型,它调用一个 exec 块并且工作正常。
我在初始化清单中使用以下创建资源语句:
create_resources( profile_winsql_dbengine::resources::sqlconfighelper, $sqlconfighelperhash )
散列声明如下:
$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
正常工作?
我无法使用最新的 Puppet 5.3.4 重现此内容。
我的代码:
# /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
然后:
$ 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
可能你有什么地方打错了?
我有一个名为 profile_winsql_dbengine::resources::sqlconfighelper
的定义类型,它调用一个 exec 块并且工作正常。
我在初始化清单中使用以下创建资源语句:
create_resources( profile_winsql_dbengine::resources::sqlconfighelper, $sqlconfighelperhash )
散列声明如下:
$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
正常工作?
我无法使用最新的 Puppet 5.3.4 重现此内容。
我的代码:
# /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
然后:
$ 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
可能你有什么地方打错了?