summaryrefslogtreecommitdiffstats
path: root/manifests
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-07-03 17:01:07 -0400
committerDan Prince <dprince@redhat.com>2015-07-03 17:16:07 -0400
commite260543f903eea0d14c2b7ddd5e1480d9042759d (patch)
tree81d5ff0f474e57b695f159b15a14361158ca266c /manifests
parentd8b609878f3fe90a417faae251925cf5a8e54a23 (diff)
Add class to set noop on various puppet resources
This patch adds a new tripleo::noop class that can be used to help switch all resources of a given type to noop mode. The class does this via Puppet resource collectors to enable the noop metaparam on all resources of the specified type. When a resource is in noop mode no action will get taken (however puppet stdout will log information about what would happen if noop were removed). The motivation for this patch is to be able to do something like this and run puppet to configure select resources (like only config files): class {'tripleo::noop': file => false } It is important to note that when tripleo::noop is used all common resources default to noop mode. This could be used alongside docker containers to provide a mechanism to pre-configure all related config files for a set of docker containers ahead of time. Change-Id: I67f9dbbf33a2d6bcee5005ae0b6b1aa7091039ad
Diffstat (limited to 'manifests')
-rw-r--r--manifests/noop.pp68
1 files changed, 68 insertions, 0 deletions
diff --git a/manifests/noop.pp b/manifests/noop.pp
new file mode 100644
index 0000000..53da9b9
--- /dev/null
+++ b/manifests/noop.pp
@@ -0,0 +1,68 @@
+# Copyright 2015 Red Hat, Inc.
+# All Rights Reserved.
+#
+# 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.
+
+# == Class: tripleo::noop
+#
+# Enable noop mode for various Puppet resource types via collectors.
+#
+# === Parameters:
+# [*package*]
+# Whether Package resources should be noop.
+# Defaults to true
+#
+# [*file*]
+# Whether File resources should be noop.
+# Defaults to true
+#
+# [*service*]
+# Whether Service resources should be noop.
+# Defaults to true
+#
+# [*exec*]
+# Whether Exec resources should be noop.
+# Defaults to true
+#
+# [*user*]
+# Whether User resources should be noop.
+# Defaults to true
+#
+# [*group*]
+# Whether Group resources should be noop.
+# Defaults to true
+#
+# [*cron*]
+# Whether Cron resources should be noop.
+# Defaults to true
+#
+#
+class tripleo::noop (
+ $package = true,
+ $file = true,
+ $service = true,
+ $exec = true,
+ $user = true,
+ $group = true,
+ $cron = true,
+) {
+
+ Package <| |> { noop => $package}
+ File <| |> { noop => $file}
+ Service <| |> { noop => $service}
+ Exec <| |> { noop => $exec}
+ User <| |> { noop => $user}
+ Group <| |> { noop => $group}
+ Cron <| |> { noop => $cron}
+
+}