summaryrefslogtreecommitdiffstats
path: root/plugins/puppet/provider/mysql_user/mysql.rb
diff options
context:
space:
mode:
authorroot <root@puppetmaster.black.co.at>2007-10-10 17:23:20 +0200
committerroot <root@puppetmaster.black.co.at>2007-10-10 17:23:20 +0200
commitd33c7aa10e3a4bd9e97e947c471ee3ed36e9d1e2 (patch)
treece6a9ac08f46ab845eda0c7a77d1a3f4dd670d86 /plugins/puppet/provider/mysql_user/mysql.rb
parent9a22e7d41a84ec2585b6b7200f8fd08c3b46a04c (diff)
downloadpuppet-mysql-d33c7aa10e3a4bd9e97e947c471ee3ed36e9d1e2.tar.gz
puppet-mysql-d33c7aa10e3a4bd9e97e947c471ee3ed36e9d1e2.tar.xz
puppet-mysql-d33c7aa10e3a4bd9e97e947c471ee3ed36e9d1e2.zip
mysql: implement native types and test them
Diffstat (limited to 'plugins/puppet/provider/mysql_user/mysql.rb')
-rw-r--r--plugins/puppet/provider/mysql_user/mysql.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/puppet/provider/mysql_user/mysql.rb b/plugins/puppet/provider/mysql_user/mysql.rb
new file mode 100644
index 0000000..a1c2896
--- /dev/null
+++ b/plugins/puppet/provider/mysql_user/mysql.rb
@@ -0,0 +1,19 @@
+Puppet::Type.type(:mysql_user).provide(:mysql) do
+ desc "Use mysql as database."
+ commands :mysql => '/usr/bin/mysql'
+
+ def create
+ mysql "mysql", "-e", "create user '%s@%s' identified by '%s'" % [ @resource[:name], @resource[:host], @resource[:password] ]
+ end
+ def destroy
+ mysql "mysql", "-e", "drop user '%s@%s'" % [ @resource[:name], @resource[:host] ]
+ end
+ def exists?
+ if /^#{@resource[:name]}@#{@resource[:host]}$/.match( mysql( "mysql", "-Be", 'SELECT CONCAT(user, "@", host) FROM user' ) )
+ true
+ else
+ false
+ end
+ end
+end
+