diff options
| author | drebs <drebs@riseup.net> | 2011-03-27 19:01:59 -0300 | 
|---|---|---|
| committer | drebs <drebs@riseup.net> | 2011-03-27 19:01:59 -0300 | 
| commit | e5c203465c6a250367a535a372e066924a5c48e1 (patch) | |
| tree | 9402b862a5e7ae846b205aaca66c7a1dc9e3c870 /lib/puppet/provider/mysql_database | |
| parent | b436e0428e8efc2addbfe0866eb255a6700fb011 (diff) | |
| download | puppet-mysql-e5c203465c6a250367a535a372e066924a5c48e1.tar.gz puppet-mysql-e5c203465c6a250367a535a372e066924a5c48e1.tar.bz2 | |
rollback provider dir change
Diffstat (limited to 'lib/puppet/provider/mysql_database')
| -rw-r--r-- | lib/puppet/provider/mysql_database/mysql.rb | 55 | 
1 files changed, 55 insertions, 0 deletions
| diff --git a/lib/puppet/provider/mysql_database/mysql.rb b/lib/puppet/provider/mysql_database/mysql.rb new file mode 100644 index 0000000..2b70e04 --- /dev/null +++ b/lib/puppet/provider/mysql_database/mysql.rb @@ -0,0 +1,55 @@ +require 'puppet/provider/package' + +Puppet::Type.type(:mysql_database).provide(:mysql, +		:parent => Puppet::Provider::Package) do + +	desc "Use mysql as database." +	commands :mysqladmin => '/usr/bin/mysqladmin' +	commands :mysql => '/usr/bin/mysql' + +	# retrieve the current set of mysql users +	def self.instances +		dbs = [] + +		cmd = "#{command(:mysql)} mysql -NBe 'show databases'" +		execpipe(cmd) do |process| +			process.each do |line| +				dbs << new( { :ensure => :present, :name => line.chomp } ) +			end +		end +		return dbs +	end + +	def query +		result = { +			:name => @resource[:name], +			:ensure => :absent +		} + +		cmd = "#{command(:mysql)} mysql -NBe 'show databases'" +		execpipe(cmd) do |process| +			process.each do |line| +				if line.chomp.eql?(@resource[:name]) +					result[:ensure] = :present +				end +			end +		end +		result +	end + +	def create +		mysqladmin "create", @resource[:name] +	end +	def destroy +		mysqladmin "-f", "drop", @resource[:name] +	end + +	def exists? +		if mysql("mysql", "-NBe", "show databases").match(/^#{@resource[:name]}$/) +			true +		else +			false +		end +	end +end + | 
