summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Bode <dan@bodepd.com>2010-03-16 06:47:41 -0500
committerDan Bode <dan@bodepd.com>2010-03-16 06:47:41 -0500
commitbfbb6ecf855baf308ad23657c6001daccc3f98d8 (patch)
tree5143ce045eb2ff7666c9711714cf4ff725009bf3
parent4acbdb2b3c91d9e7aa1c1c6e3c9c66b0f788088e (diff)
last commits before ALPHA release
-rw-r--r--README13
-rw-r--r--lib/puppet/provider/sudoers/parsed.rb10
-rw-r--r--lib/puppet/type/sudoers.rb1
3 files changed, 14 insertions, 10 deletions
diff --git a/README b/README
index 4f8dc86..586b74d 100644
--- a/README
+++ b/README
@@ -2,14 +2,17 @@ This is a type and a provider for managing sudoers file.
It still has a lot of issues open, but it should be in a consumable state.
+lots of examples of usage can be found in the tests directory. The type also has rdocs.
+
TODO(stuff that I will fix before 0.1 release)
- 1. A userspec record that starts with Defaults will be parsed as a default. (this may not be possible)
- 2. I still need to verify combinations of properties that work together and throw exceptions for mismatches.
- 3. I can probably set up autorequires on aliases in User Spec line, but this order would only be followed if both records were created.
- 4. If an alias is created with the same name as a previously defined user spec, it does not create it, or throw any errors.
- 5 Should not print out flush or to_line because of performance issue.
+ 1. A userspec record that starts with Defaults will be parsed as a default. (this may not be resonable to fix)
+ 2. I can probably set up autorequires on aliases in User Spec line, but this order would only be followed if both records were created.
+ 3. A namevar cannot switch between types
+ this wound up being too hard to implement.
+ - only uses properties from the parsedrecord
+ 4 Can't log flush or to_line events because they occur too often (working on this per issue with parsedfile).
LIMITATIONS (things I will not fix soon):
diff --git a/lib/puppet/provider/sudoers/parsed.rb b/lib/puppet/provider/sudoers/parsed.rb
index e18b220..85e9fe1 100644
--- a/lib/puppet/provider/sudoers/parsed.rb
+++ b/lib/puppet/provider/sudoers/parsed.rb
@@ -141,16 +141,16 @@ Puppet::Type.type(:sudoers).provide(
# overriding how lines are written to the file
def self.to_line(hash)
- puts "\nEntering self.to_line for #{hash[:name]}"
- puts "\n#{hash.to_yaml}\n"
+ #puts "\nEntering self.to_line for #{hash[:name]}"
+ #puts "\n#{hash.to_yaml}\n"
# # dynamically call a function based on the value of hash[:type]
if(hash[:record_type] == :blank || hash[:record_type] == :comment)
hash[:line]
- elsif(hash[:sudo_alias])
+ elsif(hash[:type] == 'alias')
self.alias_to_line(hash)
- elsif(hash[:commands])
+ elsif(hash[:type] == 'user_spec')
self.spec_to_line(hash)
- elsif(hash[:parameters])
+ elsif(hash[:type] == 'default')
self.default_to_line(hash)
else
raise Puppet::Error, "dont understand how to write out record \n|#{hash.to_yaml}\n|"
diff --git a/lib/puppet/type/sudoers.rb b/lib/puppet/type/sudoers.rb
index 64d66e0..dcb4cfe 100644
--- a/lib/puppet/type/sudoers.rb
+++ b/lib/puppet/type/sudoers.rb
@@ -140,6 +140,7 @@ Defaults@host x=y,one=1,two=2
self[:type] = 'alias'
checkprops(SUDOERS_DEFAULT, SUDOERS_SPEC)
elsif self[:parameters]
+ self[:type] = 'default'
checkprops(SUDOERS_ALIAS, SUDOERS_SPEC)
elsif self[:users]
self[:type] = 'user_spec'