diff options
author | intrigeri <intrigeri@boum.org> | 2017-02-14 16:39:01 +0000 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2017-02-14 16:39:01 +0000 |
commit | be883a02b3126d9b934f14bcb721cfe716e57a41 (patch) | |
tree | e2b41c8a624cf1112bdcda0ed7f988938a7cc9fb /manifests | |
parent | 23355eeeffcd9663fb974a84602aeb999653f047 (diff) |
Import apt::dpkg_statoverride from https://github.com/example42/puppet-apt.
… at commit 714e393ca4b784b80006e39225d80179e109a8c3, and add copyright and
licensing information.
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/dpkg_statoverride.pp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/manifests/dpkg_statoverride.pp b/manifests/dpkg_statoverride.pp new file mode 100644 index 0000000..79ef4f1 --- /dev/null +++ b/manifests/dpkg_statoverride.pp @@ -0,0 +1,75 @@ +# = Define: apt::dpkg_statoverride +# +# Override ownership and mode of files +# +# +# == Parameters +# +# [*name*] +# Implicit parameter. +# File path. +# +# [*user*] +# User name (or user id if prepended with '#'). +# +# [*group*] +# Group name (or group id if prepended with '#'). +# +# [*mode*] +# File mode, in octal +# +# [*ensure*] +# Whether to add or delete this configuration +# +# +# == Examples +# +# Usage: +# apt::dpkg_statoverride { '/var/log/puppet': +# user => 'puppet', +# group => 'puppet', +# mode => '750', +# } +# +# == License +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# == Copyright +# +# Copyright 2014-2016 Mathieu Parent +# +define apt::dpkg_statoverride( + $user, + $group, + $mode, + $ensure = present +) { + case $ensure { + 'present': { + exec { "dpkg_statoverride_${name}-add": + command => "dpkg-statoverride --update --add '${user}' '${group}' '${mode}' '${name}'", + unless => "dpkg-statoverride --list '${name}' | grep '${user} ${group} ${mode} ${name}'", + } + } + 'absent': { + exec { "dpkg_statoverride_${name}-add": + command => "dpkg-statoverride --remove '${name}'", + onlyif => "dpkg-statoverride --list '${name}'", + } + } + default: { + fail("Unknown value for \$ensure: '${ensure}'") + } + } +} |