-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexamples.pp
More file actions
94 lines (79 loc) · 1.63 KB
/
examples.pp
File metadata and controls
94 lines (79 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
notify { 'hostname1': }
notify { 'hostname2':
message => 'Hostname: $hostname',
}
notify { 'hostname3':
message => "Hostname: $hostname",
}
file { '/home/extcja01/demo.txt':
ensure => file,
content => "Hostname: $hostname\n",
}
host { 'demohost.local':
ensure => present,
ip => '127.0.0.1',
comment => 'demohost',
}
package { 'nload':
ensure => latest,
}
# templates
file { 'templateexample1':
path => '/home/extcja01/demotpl.txt',
ensure => file,
content => template('/home/extcja01/Coding/puppet-training/template1.erb'),
}
# if
if $memorysize_mb*1 > 1024 {
notify { 'memory1':
message => 'Memory > 1024',
}
}
else {
notify { 'memory1':
message => 'Memory < 1024',
}
}
# unless - inverse if
unless $memorysize_mb*1 < 1024 {
notify { 'memory2':
message => 'Memory > 1024',
}
}
# case statements
case $operatingsystem {
'Solaris': { notify{ 'OS': message => 'Solaris', }}
'Fedora': { notify{ 'OS': message => 'Fedora', }}
default: { notify{ 'OS': message => 'unknown', }}
}
# selectors
$rootgroup = $osfamily ? {
'Solaris' => 'wheel',
/(Darwin|FreeBSD)/ => 'wheel',
default => 'root',
}
notify { 'passwd_owner':
message => $rootgroup,
}
# parameter handling
$a = ['vim', 'emacs']
$x = 'vim'
notice case $x {
$a : { 'an array with both vim and emacs' }
*$a : { 'vim or emacs'}
default : { 'no match' }
}
# iterations
$a.each |Integer $index, String $value| {
notice("$value")
}
# attributes from hash
$ownership = {
'owner' => 'root',
'group' => $rootgroup,
'mode' => '0644',
}
file { '/home/extcja01/demoperm.txt':
ensure => file,
* => $ownership,
}