60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require 'chef/provider/lwrp_base'
 | 
						|
require_relative 'helpers'
 | 
						|
 | 
						|
class Chef
 | 
						|
  class Provider
 | 
						|
    class MysqlConfig < Chef::Provider::LWRPBase
 | 
						|
      include MysqlCookbook::Helpers
 | 
						|
      provides :mysql_config if defined?(provides)
 | 
						|
 | 
						|
      use_inline_resources if defined?(use_inline_resources)
 | 
						|
 | 
						|
      def whyrun_supported?
 | 
						|
        true
 | 
						|
      end
 | 
						|
 | 
						|
      action :create do
 | 
						|
        group "#{new_resource.name} :create #{new_resource.group}" do
 | 
						|
          group_name new_resource.group
 | 
						|
          system true if new_resource.name == 'mysql'
 | 
						|
          action :create
 | 
						|
        end
 | 
						|
 | 
						|
        user "#{new_resource.name} :create #{new_resource.owner}" do
 | 
						|
          username new_resource.owner
 | 
						|
          gid new_resource.owner
 | 
						|
          system true if new_resource.name == 'mysql'
 | 
						|
          action :create
 | 
						|
        end
 | 
						|
 | 
						|
        directory "#{new_resource.name} :create #{include_dir}" do
 | 
						|
          path include_dir
 | 
						|
          owner new_resource.owner
 | 
						|
          group new_resource.group
 | 
						|
          mode '0750'
 | 
						|
          recursive true
 | 
						|
          action :create
 | 
						|
        end
 | 
						|
 | 
						|
        template "#{new_resource.name} :create #{include_dir}/#{new_resource.config_name}.cnf" do
 | 
						|
          path "#{include_dir}/#{new_resource.config_name}.cnf"
 | 
						|
          owner new_resource.owner
 | 
						|
          group new_resource.group
 | 
						|
          mode '0640'
 | 
						|
          variables(new_resource.variables)
 | 
						|
          source new_resource.source
 | 
						|
          cookbook new_resource.cookbook
 | 
						|
          action :create
 | 
						|
        end
 | 
						|
      end
 | 
						|
 | 
						|
      action :delete do
 | 
						|
        file "#{new_resource.name} :delete #{include_dir}/#{new_resource.config_name}.conf" do
 | 
						|
          path "#{include_dir}/#{new_resource.config_name}.conf"
 | 
						|
          action :delete
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |