|
19 | 19 | # Path to secret file containing temporary root password.
|
20 | 20 | # @param manage_config_file
|
21 | 21 | # Whether the MySQL configuration file should be managed. Valid values are `true`, `false`. Defaults to `true`.
|
| 22 | +# @param options |
| 23 | +# A hash of options structured like the override_options, but not merged with the default options. Use this if you don’t want your options merged with the default options. |
22 | 24 | # @param override_options
|
23 | 25 | # Specifies override options to pass into MySQL. Structured like a hash in the my.cnf file: See above for usage details.
|
24 | 26 | # @param package_ensure
|
|
52 | 54 | # @param create_root_my_cnf
|
53 | 55 | # Whether to create `/root/.my.cnf`. Valid values are `true`, `false`. Defaults to `true`. `create_root_my_cnf` allows creation of `/root/.my.cnf` independently of `create_root_user`. You can use this for a cluster setup with Galera where you want `/root/.my.cnf` to exist on all nodes.
|
54 | 56 | # @param users
|
55 |
| -# Optional hash of users to create, which are passed to [mysql_user](#mysql_user). |
| 57 | +# Optional hash of users to create, which are passed to [mysql_user](#mysql_user). |
56 | 58 | # @param grants
|
57 |
| -# Optional hash of grants, which are passed to [mysql_grant](#mysql_grant). |
| 59 | +# Optional hash of grants, which are passed to [mysql_grant](#mysql_grant). |
58 | 60 | # @param databases
|
59 |
| -# Optional hash of databases to create, which are passed to [mysql_database](#mysql_database). |
| 61 | +# Optional hash of databases to create, which are passed to [mysql_database](#mysql_database). |
60 | 62 | # @param enabled
|
61 | 63 | # _Deprecated_
|
62 | 64 | # @param manage_service
|
|
65 | 67 | # This parameter no longer does anything. It exists only for backwards compatibility. See the `root_password` parameter above for details on changing the root password.
|
66 | 68 | #
|
67 | 69 | class mysql::server (
|
68 |
| - $config_file = $mysql::params::config_file, |
69 |
| - $includedir = $mysql::params::includedir, |
70 |
| - $install_options = undef, |
71 |
| - $install_secret_file = $mysql::params::install_secret_file, |
72 |
| - $manage_config_file = $mysql::params::manage_config_file, |
73 |
| - $override_options = {}, |
74 |
| - $package_ensure = $mysql::params::server_package_ensure, |
75 |
| - $package_manage = $mysql::params::server_package_manage, |
76 |
| - $package_name = $mysql::params::server_package_name, |
77 |
| - $purge_conf_dir = $mysql::params::purge_conf_dir, |
78 |
| - $remove_default_accounts = false, |
79 |
| - $restart = $mysql::params::restart, |
80 |
| - $root_group = $mysql::params::root_group, |
81 |
| - $mysql_group = $mysql::params::mysql_group, |
82 |
| - $root_password = $mysql::params::root_password, |
83 |
| - $service_enabled = $mysql::params::server_service_enabled, |
84 |
| - $service_manage = $mysql::params::server_service_manage, |
85 |
| - $service_name = $mysql::params::server_service_name, |
86 |
| - $service_provider = $mysql::params::server_service_provider, |
87 |
| - $create_root_user = $mysql::params::create_root_user, |
88 |
| - $create_root_my_cnf = $mysql::params::create_root_my_cnf, |
89 |
| - $create_root_login_file = $mysql::params::create_root_login_file, |
90 |
| - $login_file = $mysql::params::login_file, |
91 |
| - $users = {}, |
92 |
| - $grants = {}, |
93 |
| - $databases = {}, |
| 70 | + $config_file = $mysql::params::config_file, |
| 71 | + $includedir = $mysql::params::includedir, |
| 72 | + $install_options = undef, |
| 73 | + $install_secret_file = $mysql::params::install_secret_file, |
| 74 | + $manage_config_file = $mysql::params::manage_config_file, |
| 75 | + Mysql::Options $options = {}, |
| 76 | + $override_options = {}, |
| 77 | + $package_ensure = $mysql::params::server_package_ensure, |
| 78 | + $package_manage = $mysql::params::server_package_manage, |
| 79 | + $package_name = $mysql::params::server_package_name, |
| 80 | + $purge_conf_dir = $mysql::params::purge_conf_dir, |
| 81 | + $remove_default_accounts = false, |
| 82 | + $restart = $mysql::params::restart, |
| 83 | + $root_group = $mysql::params::root_group, |
| 84 | + $mysql_group = $mysql::params::mysql_group, |
| 85 | + $root_password = $mysql::params::root_password, |
| 86 | + $service_enabled = $mysql::params::server_service_enabled, |
| 87 | + $service_manage = $mysql::params::server_service_manage, |
| 88 | + $service_name = $mysql::params::server_service_name, |
| 89 | + $service_provider = $mysql::params::server_service_provider, |
| 90 | + $create_root_user = $mysql::params::create_root_user, |
| 91 | + $create_root_my_cnf = $mysql::params::create_root_my_cnf, |
| 92 | + $create_root_login_file = $mysql::params::create_root_login_file, |
| 93 | + $login_file = $mysql::params::login_file, |
| 94 | + $users = {}, |
| 95 | + $grants = {}, |
| 96 | + $databases = {}, |
94 | 97 |
|
95 | 98 | # Deprecated parameters
|
96 | 99 | $enabled = undef,
|
|
115 | 118 | warning(translate('The `old_root_password` attribute is no longer used and will be removed in a future release.'))
|
116 | 119 | }
|
117 | 120 |
|
118 |
| - # Create a merged together set of options. Rightmost hashes win over left. |
119 |
| - $options = mysql::normalise_and_deepmerge($mysql::params::default_options, $override_options) |
| 121 | + if ! empty($options) and ! empty($override_options) { |
| 122 | + fail(translate('You can\'t specify $options and $override_options simultaneously, see the README section \'Customize server options\'!')) |
| 123 | + } |
| 124 | + |
| 125 | + # If override_options are set, create a merged together set of options. Rightmost hashes win over left. |
| 126 | + # If options are set, just use them. |
| 127 | + $_options = empty($options) ? { |
| 128 | + true => mysql::normalise_and_deepmerge($mysql::params::default_options, $override_options), |
| 129 | + false => $options, |
| 130 | + } |
120 | 131 |
|
121 | 132 | Class['mysql::server::root_password'] -> Mysql::Db <| |>
|
122 | 133 |
|
|
0 commit comments