diff options
author | mh <mh@immerda.ch> | 2010-07-21 07:04:11 +0200 |
---|---|---|
committer | mh <mh@immerda.ch> | 2010-07-21 07:04:11 +0200 |
commit | fd690bd339b1c299dff690b1a61fa9e267785beb (patch) | |
tree | a78a1ecf3fd3862d6fc6f31f3c531e2daeabea15 /lib/puppet/type | |
parent | 7bbe7a95a66b69e1c937f65801a450b414eeb9a2 (diff) |
some minor updates to the providers
Diffstat (limited to 'lib/puppet/type')
-rw-r--r-- | lib/puppet/type/mysql_database.rb | 15 | ||||
-rw-r--r-- | lib/puppet/type/mysql_grant.rb | 134 | ||||
-rw-r--r-- | lib/puppet/type/mysql_user.rb | 3 |
3 files changed, 80 insertions, 72 deletions
diff --git a/lib/puppet/type/mysql_database.rb b/lib/puppet/type/mysql_database.rb index bb25ffa..0ba929f 100644 --- a/lib/puppet/type/mysql_database.rb +++ b/lib/puppet/type/mysql_database.rb @@ -1,11 +1,14 @@ # This has to be a separate type to enable collecting Puppet::Type.newtype(:mysql_database) do - @doc = "Manage a database." - ensurable - newparam(:name) do - desc "The name of the database." + @doc = "Manage a database." - # TODO: only [[:alnum:]_] allowed - end + ensurable + autorequire(:service) { 'mysql' } + + newparam(:name) do + desc "The name of the database." + + # TODO: only [[:alnum:]_] allowed + end end diff --git a/lib/puppet/type/mysql_grant.rb b/lib/puppet/type/mysql_grant.rb index 415f5aa..6bc7533 100644 --- a/lib/puppet/type/mysql_grant.rb +++ b/lib/puppet/type/mysql_grant.rb @@ -1,77 +1,79 @@ # This has to be a separate type to enable collecting Puppet::Type.newtype(:mysql_grant) do - @doc = "Manage a database user's rights." - #ensurable + @doc = "Manage a database user's rights." - autorequire :mysql_db do - # puts "Starting db autoreq for %s" % self[:name] - reqs = [] - matches = self[:name].match(/^([^@]+)@([^\/]+)\/(.+)$/) - unless matches.nil? - reqs << matches[3] - end - # puts "Autoreq: '%s'" % reqs.join(" ") - reqs - end + #ensurable + autorequire(:service) { 'mysqld' } - autorequire :mysql_user do - # puts "Starting user autoreq for %s" % self[:name] - reqs = [] - matches = self[:name].match(/^([^@]+)@([^\/]+).*$/) - unless matches.nil? - reqs << "%s@%s" % [ matches[1], matches[2] ] - end - # puts "Autoreq: '%s'" % reqs.join(" ") - reqs - end + autorequire :mysql_db do + # puts "Starting db autoreq for %s" % self[:name] + reqs = [] + matches = self[:name].match(/^([^@]+)@([^\/]+)\/(.+)$/) + unless matches.nil? + reqs << matches[3] + end + # puts "Autoreq: '%s'" % reqs.join(" ") + reqs + end - newparam(:name) do - desc "The primary key: either user@host for global privilges or user@host/database for database specific privileges" - end - newproperty(:privileges, :array_matching => :all) do - desc "The privileges the user should have. The possible values are implementation dependent." - munge do |v| - symbolize(v) - end + autorequire :mysql_user do + # puts "Starting user autoreq for %s" % self[:name] + reqs = [] + matches = self[:name].match(/^([^@]+)@([^\/]+).*$/) + unless matches.nil? + reqs << "%s@%s" % [ matches[1], matches[2] ] + end + # puts "Autoreq: '%s'" % reqs.join(" ") + reqs + end - def should_to_s(newvalue = @should) - if newvalue - unless newvalue.is_a?(Array) - newvalue = [ newvalue ] - end - newvalue.collect do |v| v.to_s end.sort.join ", " - else - nil - end - end + newparam(:name) do + desc "The primary key: either user@host for global privilges or user@host/database for database specific privileges" + end + newproperty(:privileges, :array_matching => :all) do + desc "The privileges the user should have. The possible values are implementation dependent." + munge do |v| + symbolize(v) + end - def is_to_s(currentvalue = @is) - if currentvalue - unless currentvalue.is_a?(Array) - currentvalue = [ currentvalue ] - end - currentvalue.collect do |v| v.to_s end.sort.join ", " - else - nil - end - end + def should_to_s(newvalue = @should) + if newvalue + unless newvalue.is_a?(Array) + newvalue = [ newvalue ] + end + newvalue.collect do |v| v.to_s end.sort.join ", " + else + nil + end + end - # use the sorted outputs for comparison - def insync?(is) - if defined? @should and @should - case self.should_to_s - when "all" - self.provider.all_privs_set? - when self.is_to_s(is) - true - else - false - end - else - true - end - end + def is_to_s(currentvalue = @is) + if currentvalue + unless currentvalue.is_a?(Array) + currentvalue = [ currentvalue ] + end + currentvalue.collect do |v| v.to_s end.sort.join ", " + else + nil + end + end - end + # use the sorted outputs for comparison + def insync?(is) + if defined? @should and @should + case self.should_to_s + when "all" + self.provider.all_privs_set? + when self.is_to_s(is) + true + else + false + end + else + true + end + end + + end end diff --git a/lib/puppet/type/mysql_user.rb b/lib/puppet/type/mysql_user.rb index 55d97b6..0b7e9af 100644 --- a/lib/puppet/type/mysql_user.rb +++ b/lib/puppet/type/mysql_user.rb @@ -1,7 +1,10 @@ # This has to be a separate type to enable collecting Puppet::Type.newtype(:mysql_user) do @doc = "Manage a database user." + ensurable + autorequire(:service) { 'mysqld' } + newparam(:name) do desc "The name of the user. This uses the 'username@hostname' form." |