46 lines
2.0 KiB
Ruby
46 lines
2.0 KiB
Ruby
|
|
begin
|
|
require 'chef/platform/provider_priority_map'
|
|
rescue LoadError # rubocop: disable Lint/HandleExceptions
|
|
end
|
|
|
|
require_relative 'provider_mysql_service_smf'
|
|
require_relative 'provider_mysql_service_systemd'
|
|
require_relative 'provider_mysql_service_sysvinit'
|
|
require_relative 'provider_mysql_service_upstart'
|
|
require_relative 'provider_mysql_config'
|
|
require_relative 'provider_mysql_client'
|
|
|
|
if defined? Chef::Platform::ProviderPriorityMap
|
|
Chef::Platform::ProviderPriorityMap.instance.priority(
|
|
:mysql_service,
|
|
[Chef::Provider::MysqlServiceSystemd, Chef::Provider::MysqlServiceUpstart, Chef::Provider::MysqlServiceSysvinit],
|
|
os: 'linux'
|
|
)
|
|
else
|
|
# provider mappings for Chef 11
|
|
|
|
# systemd service
|
|
Chef::Platform.set platform: :fedora, version: '>= 19', resource: :mysql_service, provider: Chef::Provider::MysqlServiceSystemd
|
|
Chef::Platform.set platform: :redhat, version: '>= 7.0', resource: :mysql_service, provider: Chef::Provider::MysqlServiceSystemd
|
|
Chef::Platform.set platform: :centos, version: '>= 7.0', resource: :mysql_service, provider: Chef::Provider::MysqlServiceSystemd
|
|
Chef::Platform.set platform: :scientific, version: '>= 7.0', resource: :mysql_service, provider: Chef::Provider::MysqlServiceSystemd
|
|
Chef::Platform.set platform: :oracle, version: '>= 7.0', resource: :mysql_service, provider: Chef::Provider::MysqlServiceSystemd
|
|
|
|
# smf service
|
|
Chef::Platform.set platform: :omnios, resource: :mysql_service, provider: Chef::Provider::MysqlServiceSmf
|
|
Chef::Platform.set platform: :smartos, resource: :mysql_service, provider: Chef::Provider::MysqlServiceSmf
|
|
|
|
# upstart service
|
|
Chef::Platform.set platform: :ubuntu, resource: :mysql_service, provider: Chef::Provider::MysqlServiceUpstart
|
|
|
|
# default service
|
|
Chef::Platform.set resource: :mysql_service, provider: Chef::Provider::MysqlServiceSysvinit
|
|
|
|
# config
|
|
Chef::Platform.set resource: :mysql_config, provider: Chef::Provider::MysqlConfig
|
|
|
|
# client
|
|
Chef::Platform.set resource: :mysql_client, provider: Chef::Provider::MysqlClient
|
|
end
|