你能用Hiera在yaml文件中散列数组吗

你能用Hiera在yaml文件中散列数组吗,yaml,puppet,hiera,Yaml,Puppet,Hiera,我正在尝试使用puppetlabs mysql模块使用puppetlabs创建一个具有一组权限的mysql用户 我的yaml看起来像这样: mysqlgrants: testuser@%{::ipaddress}/*.* : ensure : 'present' options : ['GRANT'] privileges: ['SELECT','INSERT','UPDATE','DELETE'] table : '*.*'

我正在尝试使用puppetlabs mysql模块使用puppetlabs创建一个具有一组权限的mysql用户

我的yaml看起来像这样:

  mysqlgrants:
  testuser@%{::ipaddress}/*.*  :  
    ensure    : 'present'
    options   : ['GRANT']
    privileges: ['SELECT','INSERT','UPDATE','DELETE']
    table     : '*.*'
    user      : "testuser@%{::ipaddress}" 
然后我使用hiera_散列函数对mysqlgrants进行操作。当privileges值为数组时,此错误出现,但当privileges值仅为单个值(例如,['ALL'])时,此错误可以忽略。有人知道为什么吗

谢谢, Jason

已解决:

要在值为数组的情况下使用hiera哈希键值,请使用:

mysqlgrants:
  testuser@%{::ipaddress}/*.*  :  
  ensure    : 'present'
  options   : ['GRANT']
  privileges:
    - SELECT
    - UPDATE
    - INSERT
    - DELETE
  table     : '*.*'
  user      : "testuser@%{::ipaddress}" 

现在在清单中,您可以调用hiera_hash(mysql_grant,mysqlgrants),而不会出现语法错误

在@PeterM meh上询问/回答这个问题可能会更好,我想这在Puppet的编程方面是错误的。@OP使用这个的清单是什么?请检查粘贴,YAML格式不正确,但此处可能存在格式错误。最后,不使用
['ALL']
时会产生什么错误?