Search code examples
linuxpuppetdevops

Trying to point a puppet variable with the content of others variables


I'm writing a puppet code and need to point to a variable with the information of others.... to make it clear here is the example:

These are the variables with the information:

Array $users_ap1_dev = ['userdev1,userdev2'],
Array $users_ap2_prd = ['userprd1,userprd2'],

but ap1 and ap2 values are store in a fact calles main_app and dev and prd values are store in a fact called env.

I want to retrieve the info and create the user based on the fact information, something like

$dmz_users.each | String $user |{
user { $user:
  ensure => 'present',
}

So, how can i put the content of $users_ap1_dev into dmz_users, replacing ap1 and dev with the one store in the fact?

something like?:

 Array $dmz_user = "${users_${main_app}_${env}}"

Thanks a lot in advance for the help!


Solution

  • I found the answer, the function: getvar() It allows you to create a variable and put his content into another... How to use it:

    $dmz_users = getvar("users_${main_app}_${env}")
    

    So let's says $main_app = web and '$env = prod', it will take this two values and will make '$dmz_users = $users_web_prod`