Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8396434
custom_config.pp
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
custom_config.pp
View Options
# @summary
# Adds a custom configuration file to the Apache server's `conf.d` directory.
#
# If the file is invalid and this defined type's `verify_config` parameter's value is
# `true`, Puppet throws an error during a Puppet run.
#
# @param ensure
# Specifies whether the configuration file should be present.
#
# @param confdir
# Sets the directory in which Puppet places configuration files.
#
# @param content
# Sets the configuration file's content. The `content` and `source` parameters are exclusive
# of each other.
#
# @param filename
# Sets the name of the file under `confdir` in which Puppet stores the configuration.
#
# @param priority
# Sets the configuration file's priority by prefixing its filename with this parameter's
# numeric value, as Apache processes configuration files in alphanumeric order.<br />
# To omit the priority prefix in the configuration file's name, set this parameter to `false`.
#
# @param source
# Points to the configuration file's source. The `content` and `source` parameters are
# exclusive of each other.
#
# @param verify_command
# Specifies the command Puppet uses to verify the configuration file. Use a fully qualified
# command.<br />
# This parameter is used only if the `verify_config` parameter's value is `true`. If the
# `verify_command` fails, the Puppet run deletes the configuration file and raises an error,
# but does not notify the Apache service.
#
# @param verify_config
# Specifies whether to validate the configuration file before notifying the Apache service.
#
# @param owner
# File owner of configuration file
#
# @param group
# File group of configuration file
#
# @param file_mode
# File mode of configuration file
#
# @param show_diff
# show_diff property for configuration file resource
#
define
apache
::
custom_config
(
Enum
[
'absent'
,
'present'
]
$ensure
=
'present'
,
$confdir
=
$apache::confd_dir,
$content
=
undef
,
$priority
=
'25'
,
$source
=
undef
,
$verify_command
=
$apache::params::verify_command,
Boolean
$verify_config
=
true
,
$filename
=
undef
,
$owner
=
undef
,
$group
=
undef
,
$file_mode
=
undef
,
Boolean
$show_diff
=
true
,
)
{
if
$content
and
$source
{
fail
(
'Only one of $content and $source can be specified.'
)
}
if
$ensure
==
'present'
and
!
$content
and
!
$source
{
fail
(
'One of $content and $source must be specified.'
)
}
if
$filename
{
$_filename
=
$filename
}
else
{
if
$priority
{
$priority_prefix
=
"${priority}-"
}
else
{
$priority_prefix
=
''
}
## Apache include does not always work with spaces in the filename
$filename_middle
=
regsubst
(
$name,
' '
,
'_'
,
'G'
)
$_filename
=
"${priority_prefix}${filename_middle}.conf"
}
if
!
$verify_config
or
$ensure
==
'absent'
{
$notifies
=
Class
[
'Apache::Service'
]
}
else
{
$notifies
=
undef
}
$_file_mode
=
pick
(
$file_mode,
$apache::file_mode)
file
{
"apache_${name}"
:
ensure
=>
$ensure,
path
=>
"${confdir}/${_filename}"
,
owner
=>
$owner,
group
=>
$group,
mode
=>
$_file_mode,
content
=>
$content,
source
=>
$source,
show_diff
=>
$show_diff,
require
=>
Package
[
'httpd'
],
notify
=>
$notifies,
}
if
$ensure
==
'present'
and
$verify_config
{
exec
{
"syntax verification for ${name}"
:
command
=>
$verify_command,
subscribe
=>
File
[
"apache_${name}"
],
refreshonly
=>
true
,
notify
=>
Class
[
'Apache::Service'
],
before
=>
Exec
[
"remove ${name} if invalid"
],
require
=>
Anchor
[
'::apache::modules_set_up'
],
}
exec
{
"remove ${name} if invalid"
:
command
=>
"/bin/rm ${confdir}/${_filename}"
,
unless
=>
$verify_command,
subscribe
=>
File
[
"apache_${name}"
],
refreshonly
=>
true
,
}
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jun 4 2025, 7:53 PM (13 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3383835
Attached To
rSPAPA puppet-puppetlabs-apache
Event Timeline
Log In to Comment