dev/provisioning/modules/mysql/manifests/bindings.pp
changeset 28 b0b56e0f8c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/provisioning/modules/mysql/manifests/bindings.pp	Fri Jan 15 15:35:00 2016 +0100
@@ -0,0 +1,57 @@
+# See README.md.
+class mysql::bindings (
+  $install_options = undef,
+  # Boolean to determine if we should include the classes.
+  $java_enable     = false,
+  $perl_enable     = false,
+  $php_enable      = false,
+  $python_enable   = false,
+  $ruby_enable     = false,
+  $client_dev      = false,
+  $daemon_dev      = false,
+  # Settings for the various classes.
+  $java_package_ensure         = $mysql::params::java_package_ensure,
+  $java_package_name           = $mysql::params::java_package_name,
+  $java_package_provider       = $mysql::params::java_package_provider,
+  $perl_package_ensure         = $mysql::params::perl_package_ensure,
+  $perl_package_name           = $mysql::params::perl_package_name,
+  $perl_package_provider       = $mysql::params::perl_package_provider,
+  $php_package_ensure          = $mysql::params::php_package_ensure,
+  $php_package_name            = $mysql::params::php_package_name,
+  $php_package_provider        = $mysql::params::php_package_provider,
+  $python_package_ensure       = $mysql::params::python_package_ensure,
+  $python_package_name         = $mysql::params::python_package_name,
+  $python_package_provider     = $mysql::params::python_package_provider,
+  $ruby_package_ensure         = $mysql::params::ruby_package_ensure,
+  $ruby_package_name           = $mysql::params::ruby_package_name,
+  $ruby_package_provider       = $mysql::params::ruby_package_provider,
+  $client_dev_package_ensure   = $mysql::params::client_dev_package_ensure,
+  $client_dev_package_name     = $mysql::params::client_dev_package_name,
+  $client_dev_package_provider = $mysql::params::client_dev_package_provider,
+  $daemon_dev_package_ensure   = $mysql::params::daemon_dev_package_ensure,
+  $daemon_dev_package_name     = $mysql::params::daemon_dev_package_name,
+  $daemon_dev_package_provider = $mysql::params::daemon_dev_package_provider
+) inherits mysql::params {
+
+  case $::osfamily {
+    'Archlinux': {
+      if $java_enable   { fail("::mysql::bindings::java cannot be managed by puppet on ${::osfamily} as it is not in official repositories. Please disable java mysql binding.") }
+      if $perl_enable   { include '::mysql::bindings::perl' }
+      if $php_enable    { warning("::mysql::bindings::php does not need to be managed by puppet on ${::osfamily} as it is included in mysql package by default.") }
+      if $python_enable { include '::mysql::bindings::python' }
+      if $ruby_enable   { fail("::mysql::bindings::ruby cannot be managed by puppet on ${::osfamily} as it is not in official repositories. Please disable ruby mysql binding.") }
+    }
+
+    default: {
+      if $java_enable   { include '::mysql::bindings::java' }
+      if $perl_enable   { include '::mysql::bindings::perl' }
+      if $php_enable    { include '::mysql::bindings::php' }
+      if $python_enable { include '::mysql::bindings::python' }
+      if $ruby_enable   { include '::mysql::bindings::ruby' }
+    }
+  }
+
+  if $client_dev    { include '::mysql::bindings::client_dev' }
+  if $daemon_dev    { include '::mysql::bindings::daemon_dev' }
+
+}