aboutsummaryrefslogtreecommitdiffstats
path: root/puppet-barometer/manifests/policy.pp
diff options
context:
space:
mode:
Diffstat (limited to 'puppet-barometer/manifests/policy.pp')
-rw-r--r--puppet-barometer/manifests/policy.pp41
1 files changed, 41 insertions, 0 deletions
diff --git a/puppet-barometer/manifests/policy.pp b/puppet-barometer/manifests/policy.pp
new file mode 100644
index 00000000..f2011dea
--- /dev/null
+++ b/puppet-barometer/manifests/policy.pp
@@ -0,0 +1,41 @@
+# == Class: barometer::policy
+#
+# Configure the barometer policies
+#
+# === Parameters
+#
+# [*policies*]
+# (optional) Set of policies to configure for barometer
+# Example :
+# {
+# 'barometer-context_is_admin' => {
+# 'key' => 'context_is_admin',
+# 'value' => 'true'
+# },
+# 'barometer-default' => {
+# 'key' => 'default',
+# 'value' => 'rule:admin_or_owner'
+# }
+# }
+# Defaults to empty hash.
+#
+# [*policy_path*]
+# (optional) Path to the nova policy.json file
+# Defaults to /etc/barometer/policy.json
+#
+class barometer::policy (
+ $policies = {},
+ $policy_path = '/etc/barometer/policy.json',
+) {
+
+ validate_hash($policies)
+
+ Openstacklib::Policy::Base {
+ file_path => $policy_path,
+ }
+
+ create_resources('openstacklib::policy::base', $policies)
+
+ oslo::policy { 'barometer_config': policy_file => $policy_path }
+
+}