Puppet classes are defined as a collection of resources, which are grouped together in order to get a target node or machine in a desired state. These classes are defined inside Puppet manifest files which is located inside Puppet modules. The main purpose of using a class is to reduce the same code repetition inside any manifest file or any other Puppet code.
A class with no parameters
class puppet_user{
user { 'puppet_user':
ensure => present,
uid => 1001,
home => '/home/puppet_user'
}
}
node default{
include puppet_user
}
A class with parameters
class puppet_user($username){
user { $username:
ensure => present,
uid => 1001,
home => '/home/$username'
}
}
#invoke the class
node default{
class { puppet_user:
username => 'puppet_user',
}
}
Class example with if condition and multiple parameters
class user($username, $test) {
user { $username:
ensure => present,
managehome => true,
}
if $test =='testing' {
file { '/tmp/2.txt':
content => $test,
}
}
else
{
file { '/tmp/3.txt':
content => $test,
}
}
}
node default {
class { 'user':
username => 'raman',
test => 'notesting' ,
}
}
Comments
Post a Comment