inconsistencies with arrays: want multiple requires

692 views
Skip to first unread message

Philip Brown

unread,
Nov 19, 2012, 6:45:55 PM11/19/12
to puppet...@googlegroups.com
I've poked around the puppet docs, and google, and so far I'm stuck on an apparent inconsistency of usage, when it comes to using arrays, and variables, interchangably.
I should mention this is with puppet 3.0.1

If you use literal arrays, both of the following are possible and accepted by puppet:

package{ ['pkg1', 'pkg2']:
  blahblah
}

service{ foo:
     require => Package['pkg1', 'pkg2'],
}


However.  If I define a variable,
$pkglist=['pkg1','pkg2']

Then, while I CAN do
package{ $pkglist:
  blahblah
}

It seems I cannot do

service{ foo:
  require => Package $pkglist ,
}

This makes me sad :(
Can someone tell if if there is some language shenanigans I must do, to get puppet to accept the last bit?


joe

unread,
Nov 19, 2012, 8:31:25 PM11/19/12
to puppet...@googlegroups.com
I think you misunderstand what puppet is doing there. Variables are not a literal character replacement, they have types.

I think what you want is

require => Package[$pkglist]

The [] in your variable assignment tells puppet it is an array.

The [] in the Package example I provided tells puppet you are referring to packages that have already been defined and not trying to change the Package type's defaults.

Philip Brown

unread,
Nov 19, 2012, 8:46:03 PM11/19/12
to puppet...@googlegroups.com
Huh. I could have SWORN I tried that syntax already.
First thing,even. But... it works. Thanks for the reply :)





On Monday, November 19, 2012 5:31:25 PM UTC-8, joe wrote:
I think you misunderstand what puppet is doing there. Variables are not a literal character replacement, they have types.

I think what you want is

require => Package[$pkglist]

The [] in your variable assignment tells puppet it is an array.

The [] in the Package example I provided tells puppet you are referring to packages that have already been defined and not trying to change the Package type's defaults.

On Monday, November 19, 2012 4:45:55 PM UTC-7, Philip Brown wrote:
....
Reply all
Reply to author
Forward
0 new messages