木偶类语法澄清

时间:2017-04-18 14:45:43

标签: puppet

目前正试图了解另一个人写的木偶清单,并在课堂上遇到以下结构:

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 =>显影剂}]

1 个答案:

答案 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中表示其原作者的意图。看起来目的是声明多个资源,每个资源都具有由其中一个哈希指定的属性,但是给定的代码没有完成,并且不清楚到底想要的代码是什么。