--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/provisioning/modules/yum/manifests/group.pp Fri Jan 15 15:35:00 2016 +0100
@@ -0,0 +1,46 @@
+# Define: yum::group
+#
+# This definition installs or removes yum package group.
+#
+# Parameters:
+# [*ensure*] - specifies if package group should be
+# present (installed) or absent (purged)
+#
+# Actions:
+#
+# Requires:
+# RPM based system
+#
+# Sample usage:
+# yum::group { 'X Window System':
+# ensure => present,
+# }
+#
+define yum::group (
+ $ensure = present
+) {
+ Exec {
+ path => '/bin:/usr/bin:/sbin:/usr/sbin',
+ environment => 'LC_ALL=C'
+ }
+
+ case $ensure {
+ present,installed: {
+ exec { "yum-groupinstall-${name}":
+ command => "yum -y groupinstall '${name}'",
+ unless => "yum grouplist '${name}' | egrep -i '^Installed.+Groups:$'",
+ }
+ }
+
+ absent,purged: {
+ exec { "yum-groupremove-${name}":
+ command => "yum -y groupremove '${name}'",
+ onlyif => "yum grouplist '${name}' | egrep -i '^Installed.+Groups:$'",
+ }
+ }
+
+ default: {
+ fail("Invalid ensure state: ${ensure}")
+ }
+ }
+}