f608b8ffd8
This change uses the anchor relationship from the puppetlabs-stdlib module to contain all of the module classes within the main "ntp" class. Without this change, end users of the module may have difficulty ordering things correctly since they will have to peek inside the module and figure out it's internal workings to identify all classes that require relationship edges.
56 lines
1.2 KiB
Puppet
56 lines
1.2 KiB
Puppet
# Class: nginx
|
|
#
|
|
# This module manages NGINX.
|
|
#
|
|
# Parameters:
|
|
#
|
|
# There are no default parameters for this class. All module parameters are managed
|
|
# via the nginx::params class
|
|
#
|
|
# Actions:
|
|
#
|
|
# Requires:
|
|
# puppetlabs-stdlib - https://github.com/puppetlabs/puppetlabs-stdlib
|
|
#
|
|
# Packaged NGINX
|
|
# - RHEL: EPEL or custom package
|
|
# - Debian/Ubuntu: Default Install or custom package
|
|
# - SuSE: Default Install or custom package
|
|
#
|
|
# stdlib
|
|
# - puppetlabs-stdlib module >= 0.1.6
|
|
# - plugin sync enabled to obtain the anchor type
|
|
#
|
|
# Sample Usage:
|
|
#
|
|
# The module works with sensible defaults:
|
|
#
|
|
# node default {
|
|
# include nginx
|
|
# }
|
|
class nginx {
|
|
|
|
class { 'stdlib': }
|
|
|
|
class { 'nginx::package':
|
|
notify => Class['nginx::service'],
|
|
}
|
|
|
|
class { 'nginx::config':
|
|
require => Class['nginx::package'],
|
|
notify => Class['nginx::service'],
|
|
}
|
|
|
|
class { 'nginx::service': }
|
|
|
|
# Allow the end user to establish relationships to the "main" class
|
|
# and preserve the relationship to the implementation classes through
|
|
# a transitive relationship to the composite class.
|
|
anchor{ 'nginx::begin':
|
|
before => Class['nginx::package'],
|
|
notify => Class['nginx::service'],
|
|
}
|
|
anchor { 'nginx::end':
|
|
require => Class['nginx::service'],
|
|
}
|
|
}
|