Hi Experts,
I need some help in using the complex hiera designed here.
Current puppet version is - 4.7

Use case:
Below is the hiera data

was_data:
  was_default_data:
    hs3sourcepath: 'websphere'
    hwsgroupgid: '405'
    hmwuserid: '404'
    hmwusergrpid: '405'  
    hdaresponse_file: 'xx'
    hibmagentpath: 'xxx'
    hbase_dir: &hbase_dir 'xx'
    hinstance_name: &hinstance_name 'WebSphere'
    prereq_packages:
      - 'xorg-x11-apps'
      - 'xorg-x11-utils' 
    hdmgr_servername: 'xxx'
  was_dmgr_data:
    esa-group-service:
      use_dmgr_profile: 'no'
      pptdmgrsrvsptpath: '/opt/was/ResponseFiles/ESG_DMGR_Creation.txt'
      hdmgr_profile: ESGTSTDMGR01
      hdmgr_cell: ESGTSTCELL01
      hcluster_name: ESGTSTCLUSTER
      hpptdmgrsrvport: xxx
      manage_jdbc_provider: 
        hscope: 'cluster'
        hdbtype: 'Oracle'
        hprovidertype: 'Oracle JDBC Driver'
        himplementation: 'Connection pool data source'
        hclasspath: '/opt/was/oracle/ojdbc6.jar'
   esa-user-profile-service:   
        use_dmgr_profile: 'yes'
        pptdmgrsrvsptpath: '/opt/was/ResponseFiles/ESG_DMGR_Creation.txt'
        hdmgr_profile: ESGTSTDMGR01
        hdmgr_cell: ESGTSTCELL01
        hcluster_name: EUPSTSTCLUSTER
        hpptdmgrsrvport: xxx

Now I iterate through the was_dmgr_data as given below

   if ! empty($was_dmgr_data) {
      $was_dmgr_data.map |$wasdatakey,$wasdatavalue| {
        glic_websphere::glic_dmgr::manage_dmgr { "DMGR Management for 
${wasdatakey}":
          *              => $wasdatavalue,
          base_dir       => $hbase_dir,
          instance_name  => $hinstance_name,
          wasdatakey     => $wasdatakey,       
        }      
      }      
    } 

Now if you see I have added additional has to the hash  as 
'manage_jdbc_provider' and will be adding one more hash 
'manage_jdbc_datasource'

I need to iterate to one more type if the 'manage_jdbc_provider' hash is 
present. I created a type as shown below 


   if ! empty($was_dmgr_data) {
      $was_dmgr_data.map |$wasdatakey,$wasdatavalue| {
        glic_websphere::glic_dmgr::manage_dmgr { "DMGR Management for 
${wasdatakey}":
          *              => $wasdatavalue,
          base_dir       => $hbase_dir,
          instance_name  => $hinstance_name,
          wasdatakey     => $wasdatakey,       
        }      
        if has_key($wasdatavalue, 'manage_jdbc_provider') {
        glic_websphere::glic_dmgr::manage_jdbc_provider {"JDBC Management 
for ${wasdatakey}":
            *              => $wasdatavalue,
            base_dir       => $hbase_dir,
            instance_name  => $hinstance_name,
            
          }
        }
      }      
    } 

But the problem here I need to have all the input parameters also define in 
manage_jdbc_provider that are in 'esa-group-service' . How can I pass only 
specific and require hash data or string data to the type. The hash name 
such as 'esa-group-service' or 'esa-user-profile-service'  is dynamic .

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" 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-dev/d428f965-35c8-4920-a570-60345ce79981%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to