]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/neutron/manifests/services/fwaas.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / neutron / manifests / services / fwaas.pp
diff --git a/3rdparty/modules/neutron/manifests/services/fwaas.pp b/3rdparty/modules/neutron/manifests/services/fwaas.pp
new file mode 100644 (file)
index 0000000..090b079
--- /dev/null
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
+#
+# Author: Emilien Macchi <emilien.macchi@enovance.com>
+#
+# 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: neutron::services::fwaas
+#
+# Configure the Firewall as a Service Neutron Plugin
+#
+# === Parameters:
+#
+# [*enabled*]
+#   (required) Whether or not to enable the FWaaS neutron plugin Service
+#   true/false
+#
+# [*driver*]
+#   (optional) FWaaS Driver to use
+#   Defaults to 'neutron.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver'
+#
+# [*vpnaas_agent_package*]
+#   (optional) Use VPNaaS agent package instead of L3 agent package on debian platforms
+#   RedHat platforms won't take care of this parameter
+#   true/false
+#   Defaults to false
+#
+
+class neutron::services::fwaas (
+  $enabled              = true,
+  $driver               = 'neutron.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver',
+  $vpnaas_agent_package = false
+) {
+
+  include neutron::params
+
+  if ($::osfamily == 'Debian') {
+    # Debian platforms
+    if $vpnaas_agent_package {
+      ensure_resource( 'package', $::neutron::params::vpnaas_agent_package,
+        { 'ensure' => $neutron::package_ensure })
+      Package[$::neutron::params::vpnaas_agent_package] -> Neutron_fwaas_service_config<||>
+    }
+    else {
+      ensure_resource( 'package', $::neutron::params::l3_agent_package,
+        { 'ensure' => $neutron::package_ensure })
+      Package[$::neutron::params::l3_agent_package] -> Neutron_fwaas_service_config<||>
+    }
+  } elsif($::osfamily == 'Redhat') {
+    # RH platforms
+    ensure_resource( 'package', $::neutron::params::package_name,
+      { 'ensure' => $neutron::package_ensure })
+    Package[$::neutron::params::package_name] -> Neutron_fwaas_service_config<||>
+  }
+
+  neutron_fwaas_service_config {
+    'fwaas/enabled': value => $enabled;
+    'fwaas/driver':  value => $driver;
+  }
+}