Hi,

The testa::config manifests does not contain a class, but a defined resource 
types.
One can only access variables from included classes, but not from defined types.

Hth,
Martin


> On 14. Nov 2022, at 15:29, Jens Kuehnel <[email protected]> wrote:
> 
> Hi all,
> 
> I'm using puppet for quite some time - about 10 years - but now I have a 
> problem that I can not fix.
> I hope someone here can help me. I tried to google the problem, but the 
> solutions I found did not work.
> The things that I tried are still in as a comment.
> 
> I have created a puppet modul that should be updated to include a config 
> class (normaly called a params class).
> 
> I simplified my setup and attached it at the end.
> 
> In the class servicea  I tried to access the variable from the config class, 
> but I'm apparently not able to.
> 
> Can someone help me?
> 
> I case it is important I'm running Orcharhino 6.1. The Puppet-agent is 
> puppet-agent-6.28.0-1.el8.x86_64.
> 
> The output of puppet agent -t is:
> Notice: In Config the servertype is: Frontend-Server
> Notice: /Stage[main]/Testa/Testa::Config[config]/Notify[In Config the 
> servertype is: Frontend-Server]/message: defined 'message' as 'In Config the 
> servertype is: Frontend-Server'
> Notice: In Config the cluster_name is: mycluster
> Notice: /Stage[main]/Testa/Testa::Config[config]/Notify[In Config the 
> cluster_name is: mycluster]/message: defined 'message' as 'In Config the 
> cluster_name is: mycluster'
> Notice: In servicea the servertype is : Frontend-Server
> Notice: /Stage[main]/Testa::Servicea/Notify[In servicea the servertype is : 
> Frontend-Server]/message: defined 'message' as 'In servicea the servertype is 
> : Frontend-Server'
> Notice: in servicea the servicea_servicea are 1:
> Notice: /Stage[main]/Testa::Servicea/Notify[in servicea the servicea_servicea 
> are 1: ]/message: defined 'message' as 'in servicea the servicea_servicea are 
> 1: '
> Notice: in servicea the servicea_servicea are 2:
> Notice: /Stage[main]/Testa::Servicea/Notify[in servicea the servicea_servicea 
> are 2: ]/message: defined 'message' as 'in servicea the servicea_servicea are 
> 2: '
> Notice: in servicea the servicea_servicea are 3:
> Notice: /Stage[main]/Testa::Servicea/Notify[in servicea the servicea_servicea 
> are 3: ]/message: defined 'message' as 'in servicea the servicea_servicea are 
> 3: '
> Notice: in servicea the servicea_servicea are 4:
> Notice: /Stage[main]/Testa::Servicea/Notify[in servicea the servicea_servicea 
> are 4: ]/message: defined 'message' as 'in servicea the servicea_servicea are 
> 4: '
> Notice: Applied catalog in 10.88 seconds
> 
> So you see that the variable is available from the config class, but only the 
> variable from init.pp is still accessible from the serivea class. From the 
> config class the variable is not avilable.
> 
> Thanks for any hints in advanced
> Greetings from Frankfurt / Germany.
> CU
> Jens Kühnel
> 
> 
> 
> This are the classes
> 
> # File init.pp
> class testa (
>  $config                 = '',
>  $servertype             = '',
> ) {
>  create_resources(testa::config, $config)
> }
> 
> # File config.pp
> define testa::config (
>  $cluster_name                 = '',
> ) {
>  #  include testa
>  $servertype = $testa::servertype
>  notify{"In Config the servertype is: ${servertype}": }
>  notify{"In Config the cluster_name is: ${cluster_name}": }
>  include testa::servicea
> }
> 
> 
> # File servicea.pp
> class testa::servicea {
>  #include testa::config
>  #Class[testa::config] -> Class[testa::servicea]
>  $servicea_cluster_name = $testa::config::servicea_cluster_name
> 
>  notify{"In servicea the servertype is : ${testa::servertype}": }
> 
>  notify{"in servicea the servicea_servicea are 1: 
> ${::testa::config::servicea_servicea}": }
>  notify{"in servicea the servicea_servicea are 2: 
> ${testa::config::servicea_servicea}": }
>  notify{"in servicea the servicea_servicea are 3: 
> ${testa::servicea_servicea}": }
>  notify{"in servicea the servicea_servicea are 4: ${servicea_servicea}": }
> }
> 
> -- 
> 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/be575993-9f09-b142-8fd0-d533c8e6725b%40kuehnel.org.

-- 
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/69F21AFD-4B9A-4B82-BB28-E7F6FA0E4298%40gmail.com.

Reply via email to