目前正试图了解另一个人写的木偶清单,并在课堂上遇到以下结构:
postgres_helper::tablespace_grant { $tablespace_grants:
privilege => 'all',
require => [Postgresql::Server::Role[$rolename]]
}
$ tablespace_grants:在这种情况下意味着什么?首先我建议这是一种标题,但是当我使用通知来接收它的价值时,它是哈希:
Tablespace_grants值为[{name => TS_INDEX_01,role =>开发商}, {name => TS_DATA01_01,role =>显影剂}]
答案 0 :(得分:2)
$ tablespace_grants:在这种情况下是什么意思?首先我建议 这是某种标题,
它是一个变量引用,是,用作postgres_helper::tablespace_grant
资源声明的标题。
然而,当我使用通知接收时 它的价值,是哈希:Tablespace_grants值为[{name => TS_INDEX_01,role =>开发商}, {name => TS_DATA01_01,role =>显影剂}]
实际上,它似乎是哈希的数组。数组可以用作资源声明的标题,以紧凑地声明多个资源,每个数组元素一个。但是,在Puppet 4中,the elements are required to be strings。早期版本的Puppet会将哈希字符串化为资源标题;我不确定Puppet 4是否仍然落在这上面。
在任何情况下,整个声明都不可能在任何版本的Puppet中表示其原作者的意图。看起来目的是声明多个资源,每个资源都具有由其中一个哈希指定的属性,但是给定的代码没有完成,并且不清楚到底想要的代码是什么。