dev/provisioning/modules/mysql/manifests/bindings.pp
changeset 28 b0b56e0f8c7f
equal deleted inserted replaced
27:a2342f26c9de 28:b0b56e0f8c7f
       
     1 # See README.md.
       
     2 class mysql::bindings (
       
     3   $install_options = undef,
       
     4   # Boolean to determine if we should include the classes.
       
     5   $java_enable     = false,
       
     6   $perl_enable     = false,
       
     7   $php_enable      = false,
       
     8   $python_enable   = false,
       
     9   $ruby_enable     = false,
       
    10   $client_dev      = false,
       
    11   $daemon_dev      = false,
       
    12   # Settings for the various classes.
       
    13   $java_package_ensure         = $mysql::params::java_package_ensure,
       
    14   $java_package_name           = $mysql::params::java_package_name,
       
    15   $java_package_provider       = $mysql::params::java_package_provider,
       
    16   $perl_package_ensure         = $mysql::params::perl_package_ensure,
       
    17   $perl_package_name           = $mysql::params::perl_package_name,
       
    18   $perl_package_provider       = $mysql::params::perl_package_provider,
       
    19   $php_package_ensure          = $mysql::params::php_package_ensure,
       
    20   $php_package_name            = $mysql::params::php_package_name,
       
    21   $php_package_provider        = $mysql::params::php_package_provider,
       
    22   $python_package_ensure       = $mysql::params::python_package_ensure,
       
    23   $python_package_name         = $mysql::params::python_package_name,
       
    24   $python_package_provider     = $mysql::params::python_package_provider,
       
    25   $ruby_package_ensure         = $mysql::params::ruby_package_ensure,
       
    26   $ruby_package_name           = $mysql::params::ruby_package_name,
       
    27   $ruby_package_provider       = $mysql::params::ruby_package_provider,
       
    28   $client_dev_package_ensure   = $mysql::params::client_dev_package_ensure,
       
    29   $client_dev_package_name     = $mysql::params::client_dev_package_name,
       
    30   $client_dev_package_provider = $mysql::params::client_dev_package_provider,
       
    31   $daemon_dev_package_ensure   = $mysql::params::daemon_dev_package_ensure,
       
    32   $daemon_dev_package_name     = $mysql::params::daemon_dev_package_name,
       
    33   $daemon_dev_package_provider = $mysql::params::daemon_dev_package_provider
       
    34 ) inherits mysql::params {
       
    35 
       
    36   case $::osfamily {
       
    37     'Archlinux': {
       
    38       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.") }
       
    39       if $perl_enable   { include '::mysql::bindings::perl' }
       
    40       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.") }
       
    41       if $python_enable { include '::mysql::bindings::python' }
       
    42       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.") }
       
    43     }
       
    44 
       
    45     default: {
       
    46       if $java_enable   { include '::mysql::bindings::java' }
       
    47       if $perl_enable   { include '::mysql::bindings::perl' }
       
    48       if $php_enable    { include '::mysql::bindings::php' }
       
    49       if $python_enable { include '::mysql::bindings::python' }
       
    50       if $ruby_enable   { include '::mysql::bindings::ruby' }
       
    51     }
       
    52   }
       
    53 
       
    54   if $client_dev    { include '::mysql::bindings::client_dev' }
       
    55   if $daemon_dev    { include '::mysql::bindings::daemon_dev' }
       
    56 
       
    57 }