diff options
| author | Luke Kanies <luke@reductivelabs.com> | 2010-01-21 22:00:10 -0800 |
|---|---|---|
| committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
| commit | c8e89cc1a69ff5827ad40439a2c903c24ae42aba (patch) | |
| tree | dafcbf3de176245cf4728b5a7c54bca4ea8e5e42 /lib | |
| parent | b7ea1806703df2976d5cd6fade5503c008332526 (diff) | |
| download | puppet-c8e89cc1a69ff5827ad40439a2c903c24ae42aba.tar.gz puppet-c8e89cc1a69ff5827ad40439a2c903c24ae42aba.tar.xz puppet-c8e89cc1a69ff5827ad40439a2c903c24ae42aba.zip | |
Changing the interface of Puppet::Resource
We need the ability to set the namespace and
environment at initialization so the resource
can look up qualified types.
Signed-off-by: Luke Kanies <luke@reductivelabs.com>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/resource.rb | 12 | ||||
| -rw-r--r-- | lib/puppet/transportable.rb | 2 | ||||
| -rw-r--r-- | lib/puppet/util/settings.rb | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb index bdd11fcc5..e47501791 100644 --- a/lib/puppet/resource.rb +++ b/lib/puppet/resource.rb @@ -116,14 +116,20 @@ class Puppet::Resource end # Create our resource. - def initialize(type, title, parameters = {}) - @reference = Puppet::Resource::Reference.new(type, title) + def initialize(type, title, attributes = {}) @parameters = {} - parameters.each do |param, value| + (attributes[:parameters] || {}).each do |param, value| self[param] = value end + attributes.each do |attr, value| + next if attr == :parameters + send(attr.to_s + "=", value) + end + + @reference = Puppet::Resource::Reference.new(type, title) + tag(@reference.type) tag(@reference.title) if valid_tag?(@reference.title) end diff --git a/lib/puppet/transportable.rb b/lib/puppet/transportable.rb index 85a75d453..68977dca0 100644 --- a/lib/puppet/transportable.rb +++ b/lib/puppet/transportable.rb @@ -80,7 +80,7 @@ module Puppet # Create a normalized resource from our TransObject. def to_resource - result = Puppet::Resource.new(type, name, @params.dup) + result = Puppet::Resource.new(type, name, :parameters => @params.dup) result.tag(*tags) result diff --git a/lib/puppet/util/settings.rb b/lib/puppet/util/settings.rb index ad1b947b3..308abc2f9 100644 --- a/lib/puppet/util/settings.rb +++ b/lib/puppet/util/settings.rb @@ -815,14 +815,14 @@ Generated on #{Time.now}. next unless sections.nil? or sections.include?(setting.section) if user = setting.owner and user != "root" and catalog.resource(:user, user).nil? - resource = Puppet::Resource.new(:user, user, :ensure => :present) + resource = Puppet::Resource.new(:user, user, :parameters => {:ensure => :present}) if self[:group] resource[:gid] = self[:group] end catalog.add_resource resource end if group = setting.group and ! %w{root wheel}.include?(group) and catalog.resource(:group, group).nil? - catalog.add_resource Puppet::Resource.new(:group, group, :ensure => :present) + catalog.add_resource Puppet::Resource.new(:group, group, :parameters => {:ensure => :present}) end end end |
