Skip to content

Instantly share code, notes, and snippets.

@tuxmea
Last active April 22, 2016 14:24
Show Gist options
  • Save tuxmea/120a4b990e498f7c6e64018cb3465e37 to your computer and use it in GitHub Desktop.
Save tuxmea/120a4b990e498f7c6e64018cb3465e37 to your computer and use it in GitHub Desktop.
# static rsource declaration
class company_users::sysadmin {
user {'a':
groups => 'sysadmin',
}
user { 'c':
groups => 'sysadmin',
}
}
class company_users::dbadmins {
user { 'b':
groups => 'dbadmin',
}
user { 'c':
groups => 'dbadmin',
}
}
class profile::webserver {
include company_users::sysadmins
}
class profile::dbserver {
include company_users::dbadmins
}
class role::all_in_one { # error - duplicate declaration of user c
include profile::webserver
include profile::dbserver
}
# virtual resource declaration
class company_users {
@user {'a':
groups => 'sysadmin',
}
@user { 'b':
groups => 'dbadmin',
}
@user { 'c':
groups => ['sysadmin', 'dbadmin']
}
}
class profile::webserver {
include company_users
User <| groups == 'sysadmin' |>
}
class profile::dbserver {
include company_users
User <| groups == 'dbadmin' |>
}
class role::all_in_one { # no duplicate resource declaration
include profile::webserver
include profile::dbserver
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment