Mercurial > repos > other > Puppet
view modules/mysql/manifests/bindings.pp @ 442:2879e2d4148e
Configure test machine
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 03 Apr 2023 19:41:02 +0100 |
parents | 668df4711671 |
children | c6c9a2cfcfbd |
line wrap: on
line source
# @summary # Parent class for MySQL bindings. # # @example Install Ruby language bindings # class { 'mysql::bindings': # ruby_enable => true, # ruby_package_ensure => 'present', # ruby_package_name => 'ruby-mysql-2.7.1-1mdv2007.0.sparc.rpm', # ruby_package_provider => 'rpm', # } # @param install_options # Passes `install_options` array to managed package resources. You must pass the [appropriate options](https://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options) for the package manager(s). # @param java_enable # Specifies whether `::mysql::bindings::java` should be included. Valid values are `true`, `false`. # @param perl_enable # Specifies whether `mysql::bindings::perl` should be included. Valid values are `true`, `false`. # @param php_enable # Specifies whether `mysql::bindings::php` should be included. Valid values are `true`, `false`. # @param python_enable # Specifies whether `mysql::bindings::python` should be included. Valid values are `true`, `false`. # @param ruby_enable # Specifies whether `mysql::bindings::ruby` should be included. Valid values are `true`, `false`. # @param client_dev # Specifies whether `::mysql::bindings::client_dev` should be included. Valid values are `true`', `false`. # @param daemon_dev # Specifies whether `::mysql::bindings::daemon_dev` should be included. Valid values are `true`, `false`. # @param java_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `java_enable => true`. # @param java_package_name # The name of the Java package to install. Only applies if `java_enable => true`. # @param java_package_provider # The provider to use to install the Java package. Only applies if `java_enable => true`. # @param perl_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `perl_enable => true`. # @param perl_package_name # The name of the Perl package to install. Only applies if `perl_enable => true`. # @param perl_package_provider # The provider to use to install the Perl package. Only applies if `perl_enable => true`. # @param php_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `php_enable => true`. # @param php_package_name # The name of the PHP package to install. Only applies if `php_enable => true`. # @param php_package_provider # The provider to use to install the PHP package. Only applies if `php_enable => true`. # @param python_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `python_enable => true`. # @param python_package_name # The name of the Python package to install. Only applies if `python_enable => true`. # @param python_package_provider # The provider to use to install the Python package. Only applies if `python_enable => true`. # @param ruby_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `ruby_enable => true`. # @param ruby_package_name # The name of the Ruby package to install. Only applies if `ruby_enable => true`. # @param ruby_package_provider # What provider should be used to install the package. # @param client_dev_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `client_dev => true`. # @param client_dev_package_name # The name of the client_dev package to install. Only applies if `client_dev => true`. # @param client_dev_package_provider # The provider to use to install the client_dev package. Only applies if `client_dev => true`. # @param daemon_dev_package_ensure # Whether the package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'. Only applies if `daemon_dev => true`. # @param daemon_dev_package_name # The name of the daemon_dev package to install. Only applies if `daemon_dev => true`. # @param daemon_dev_package_provider # The provider to use to install the daemon_dev package. Only applies if `daemon_dev => true`. # 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 ${::facts['os']['family']} 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 ${::facts['os']['family']} 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 %{::facts['os']['family']} 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' } }