|
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