Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9696751
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
View Options
diff --git a/manifests/fragment.pp b/manifests/fragment.pp
index a3d42ef..fabc359 100644
--- a/manifests/fragment.pp
+++ b/manifests/fragment.pp
@@ -1,55 +1,55 @@
# == Define: concat::fragment
#
# Creates a file_fragment in the catalogue
#
# === Options:
#
# [*target*]
# The file that these fragments belong to
# [*content*]
# If present puts the content into the file
# [*source*]
# If content was not specified, use the source
# [*order*]
# By default all files gets a 10_ prefix in the directory you can set it to
# anything else using this to influence the order of the content in the file
#
define concat::fragment(
$target,
$ensure = undef,
$content = undef,
$source = undef,
$order = '10',
) {
validate_string($target)
if $ensure != undef {
warning('The $ensure parameter to concat::fragment is deprecated and has no effect.')
}
validate_string($content)
if !(is_string($source) or is_array($source)) {
fail('$source is not a string or an Array.')
}
if !(is_string($order) or is_integer($order)) {
fail('$order is not a string or integer.')
} elsif (is_string($order) and $order =~ /[:\n\/]/) {
fail("Order cannot contain '/', ':', or '\n'.")
}
if ! ($content or $source) {
crit('No content, source or symlink specified')
} elsif ($content and $source) {
fail("Can't use 'source' and 'content' at the same time")
}
- $safe_target_name = regsubst($target, '[/:\n\s\\]', '_', 'GM')
+ $safe_target_name = regsubst($target, '[/:\n\s]', '_', 'GM')
file_fragment { $name:
tag => $safe_target_name,
order => $order,
content => $content,
source => $source,
}
}
diff --git a/manifests/init.pp b/manifests/init.pp
index 69dc46e..981a5c2 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -1,123 +1,123 @@
# == Define: concat
#
# Sets up so that you can use fragments to build a final config file,
#
# === Options:
#
# [*ensure*]
# Present/Absent
# [*path*]
# The path to the final file. Use this in case you want to differentiate
# between the name of a resource and the file path. Note: Use the name you
# provided in the target of your fragments.
# [*owner*]
# Who will own the file
# [*group*]
# Who will own the file
# [*mode*]
# The mode of the final file
# [*warn_header*]
# Adds a normal shell style comment top of the file indicating that it is
# built by puppet
# [*backup*]
# Controls the filebucketing behavior of the final file and see File type
# reference for its use. Defaults to 'puppet'
# [*replace*]
# Whether to replace a file that already exists on the local system
# [*order*]
# Select whether to order associated fragments by 'alpha' or 'numeric'.
# Defaults to 'alpha'.
#
# === Actions:
# * Creates a file_concat resource from the electrical/puppet-lib-file_concat library.
# * Creates file_fragment resources from electrical/puppet-lib-file_concat
#
# === Aliases:
#
# * The exec can notified using Exec["concat_/path/to/file"] or
# Exec["concat_/path/to/directory"]
# * The final file can be referenced as File["/path/to/file"] or
# File["concat_/path/to/file"]
#
define concat(
$ensure = 'present',
$path = $name,
$owner = undef,
$group = undef,
$mode = '0644',
$warn = false,
$force = undef,
$backup = 'puppet',
$replace = true,
$order = 'alpha',
$validate_cmd = undef,
) {
validate_re($ensure, '^present$|^absent$')
validate_absolute_path($path)
validate_string($owner)
validate_string($group)
validate_string($mode)
if ! (is_string($warn) or $warn == true or $warn == false) {
fail('$warn is not a string or boolean')
}
if ! is_bool($backup) and ! is_string($backup) {
fail('$backup must be string or bool!')
}
validate_bool($replace)
validate_re($order, '^alpha$|^numeric$')
if $validate_cmd and ! is_string($validate_cmd) {
fail('$validate_cmd must be a string')
}
if $force != undef {
warning('The $force parameter to concat is deprecated and has no effect.')
}
- $safe_name = regsubst($name, '[/:\n\s\\]', '_', 'G')
+ $safe_name = regsubst($name, '[/:\n\s]', '_', 'G')
$default_warn_message = "# This file is managed by Puppet. DO NOT EDIT.\n"
case $warn {
true: {
$warn_message = $default_warn_message
$append_header = true
}
false: {
$warn_message = ''
}
default: {
$warn_message = $warn
$append_header = true
}
}
if $ensure == 'present' {
file_concat { $name:
tag => $safe_name,
path => $path,
owner => $owner,
group => $group,
mode => $mode,
replace => $replace,
backup => $backup,
order => $order,
validate_cmd => $validate_cmd,
}
if $append_header {
file_fragment { "#{$name}_header":
tag => $safe_name,
content => $warn_message,
order => '0',
}
}
} else {
file_concat { $name:
ensure => $ensure,
tag => $safe_name,
path => $path,
backup => $backup,
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Aug 18, 9:18 PM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3326621
Attached To
rSPCAT puppet-puppetlabs-concat
Event Timeline
Log In to Comment