Joe, Roles and profiles don't change your hiera usage much. In your profile just `include file_config` and in hiera keep the same keys you already have working. Hiera will do the legwork of automatic parameter lookup no matter how the class is included, so your results should be the same.
On Sat, Jan 14, 2017 at 10:18 PM Joe <09cic...@gmail.com> wrote: > Hello again, > > So I read up and watched the wonderful presentations suggested here. I am > certain this is the direction for our environment. > > I have a question regarding the functionality of the profiles in regards > to file resources using the "source" option that replaces a file if it has > changed.. When looking at the example on the official documentation on how > to use profiles to set module data it shows this. > > # > /etc/puppetlabs/code/environments/production/site/profile/manifests/jenkins/master.pp > > class profile::jenkins::master ( > > String $jenkins_port = '9091', > > String $java_dist = 'jdk', > > String $java_version = 'latest', > > ) { > > > > class { 'jenkins': > > configure_firewall => true, > > install_java => false, > > port => $jenkins_port, > > config_hash => { > > 'HTTP_PORT' => { 'value' => $jenkins_port }, > > 'JENKINS_PORT' => { 'value' => $jenkins_port }, > > }, > > It is clear that the profile::jenkins::master class is declaring the > jenkins class and setting the install_java param to false as well as > setting the configure_firewall to true. > > In my case I have a module let's call it "file_config" where I am > declaring 2 separate file resources where if they change, I will copy them > from the modules files directory. > > Here is an example. Both of these file resources are in the same manifest, > so init.pp of the file_config class. > > class file_config ( > $firstfile = undef, > $secondfile = undef, > ) { > file { '/etc/siteconf/file1': > ensure => file, > mode => '0644', > owner => 'root', > checksum => 'md5', > source => $firstfile, > } > > file { '/etc/siteconf/file2': > ensure => file, > mode => '0644', > owner => 'root', > checksum => 'md5', > source => $secondfile, > } > } > For both I store the values in Hiera and without profiles this works > exactly how I need it to. However with profiles while I am trying to > abstract this and I am having difficulty understanding how to configure the > profile so that each file resource "source" value should be set. Since the > values I am trying to set are both named "source" I am stuck. > > So for example. > ##PROFILE > class profiles::base::config1 { > > > > $source1 = hiera('profiles::base::config1::file1') ## file1 > '/etc/siteconf/file1': > > $source2 = hiera('profiles::base::config1::file2') ## file2 > '/etc/siteconf/file2': > ##both files are in 'puppet:///modules/file_config/' as file1 and file2, > they are set pulled into source1 and source2 above. > > > > ## And now trying to set the values through the profile for file1 and > file2...this is where i get lost since the values I am trying to set are > both named "source" > > class file_config: { > source => $source1 ## this would be for file1 declared file resource > in the file_config class/module > source => $source2 ## this would be for file2 declared file resource > in the file_config class/module > } > > I am trying to set the "source" value on both of these file resources > which seems impossible.. > Is the way to do this to put the file resources in their own classes like > file_config::file1 and file_config::file2 located in > modules/file_config/manifests/file1.pp and file2.pp? > > I hope this is clear and I am 99.9% sure I am approaching this > incorrectly. > > Thanks > > > On Thursday, January 12, 2017 at 11:23:33 AM UTC-7, Joe wrote: > > Thank you guys very much, will read up on this. > > > > On Wednesday, January 11, 2017 at 3:52:52 PM UTC-7, Joe wrote: > > Hello All, > > Does Puppet Community support Roles and Profiles? The Puppet Community > does section does not appear to have documentation on them, just looking > for confirmation. > > Thanks > > > > > > > > > > -- > > > 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 puppet-users+unsubscr...@googlegroups.com. > > > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/6605356c-6956-4be2-b354-58c58a95bc7e%40googlegroups.com > <https://groups.google.com/d/msgid/puppet-users/6605356c-6956-4be2-b354-58c58a95bc7e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > For more options, visit https://groups.google.com/d/optout. > > > -- Rob Nelson -- 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 puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAC76iT_L-kvkd4SxGBupqYTfUSShZzG57YZD0C4vowvimeDwGA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.