diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-08 23:52:58 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-08 23:52:58 +0000 |
commit | 4080077639321884cc633928915664e6e1391c2e (patch) | |
tree | 15bece5b17737c145813c77c4d801978528c2a28 /lib/puppet | |
parent | 07f05195da27a9e3124d6b987a808c087dce334b (diff) | |
download | puppet-4080077639321884cc633928915664e6e1391c2e.tar.gz puppet-4080077639321884cc633928915664e6e1391c2e.tar.xz puppet-4080077639321884cc633928915664e6e1391c2e.zip |
The parser now throws an error when a resource reference is created for an unknown type. Also, resource references look up defined types and translate their type accordingly.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2660 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/parser/ast/resourceref.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/puppet/parser/ast/resourceref.rb b/lib/puppet/parser/ast/resourceref.rb index b0fe5f6d7..e6d486902 100644 --- a/lib/puppet/parser/ast/resourceref.rb +++ b/lib/puppet/parser/ast/resourceref.rb @@ -20,6 +20,14 @@ class Puppet::Parser::AST # We want a lower-case type. objtype = @type.downcase + if scope.builtintype?(objtype) + # nothing + elsif dtype = scope.finddefine(objtype) + objtype = dtype.classname + else + raise Puppet::ParseError, "Could not find type %s" % objtype + end + title = @title.safeevaluate(:scope => scope) return Puppet::Parser::Resource::Reference.new( |