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 puppet-dev+unsubscr...@googlegroups.com.
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