You're passing a single array into postgresql_password() when it expects
two string arguments in your first example. Try removing the right angle
brackets that are fencing your two hiera calls.
postgresql::server::role { [hiera(my::db::user)]:
password_hash => postgresql_password(hiera(my::db::user),
hiera(my::db::pass)),
}
-Alex
On Fri, Feb 13, 2015 at 11:13 AM, Begum Tuncer <[email protected]> wrote:
> Hello,
> I've a problem with hiera and functions.
>
> I'd like to manage a postgresql role like this:
>
>
> postgresql::server::role { 'marmot': password_hash =>
> postgresql_password('marmot', 'mypasswd'),}
>
>
> In above, how can I use hiera in the function part?
>
> I tried:
> postgresql::server::role { [hiera(my::db::user)]:
> password_hash => postgresql_password([hiera(my::db::user),
> hiera(my::db::pass)]),
> }
>
> where hiera variables:
> my::db::user: 'marmot'
> my::db::pass: 'mypasswd'
>
> The error was:
> Error 400 on SERVER: can't convert Array into String
>
> I also tried a merged hiera variable as array but it didnt work either:
>
> postgresql::server::role { [hiera(my::db::user)]:
> password_hash => postgresql_password([hiera(my::db::userpass)]),
> }
>
> where i defined the hiera variable as array,
> my::db::userpass:
> - 'marmot'
> - 'mypasswd'
>
> But got an error like this:
> Error 400 on SERVER: postgresql_password(): Wrong number of arguments
> given (1 for 2)
>
> I also tried hiera_array and hiera_hash but none of them helps.
>
> Any clues?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/5e9a0388-6db9-4adb-9326-35623a39aafd%40googlegroups.com
> <https://groups.google.com/d/msgid/puppet-users/5e9a0388-6db9-4adb-9326-35623a39aafd%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
Alex Elman
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/CAD-8G_qLw66qTxF_GwVL1jaEuX%3DMdvD2GV4AX34-CY6TYNYOqw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.