diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-01-31 19:38:02 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-01-31 19:38:02 +0000 |
| commit | c8f38b7fee12eefb2bed00681b4952ac7ad3f14f (patch) | |
| tree | 09af773e01670eb4ea6efbb1ca3c303711caf9d0 /lib/puppet/client/resource.rb | |
| parent | ea73cdbec49f9451d04902e69ad9fe4bf07a3c11 (diff) | |
Renaming "pelement" to "resource". The old name is a holdover from before we had settled on "resource" as a term.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2137 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/client/resource.rb')
| -rw-r--r-- | lib/puppet/client/resource.rb | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/puppet/client/resource.rb b/lib/puppet/client/resource.rb new file mode 100644 index 000000000..6081b2b66 --- /dev/null +++ b/lib/puppet/client/resource.rb @@ -0,0 +1,65 @@ +class Puppet::Client::Resource < Puppet::Client + @drivername = :ResourceServer + + @handler = Puppet::Server::Resource + + def apply(bucket) + + case bucket + when Puppet::TransObject + tmp = Puppet::TransBucket.new + tmp.push bucket + bucket = tmp + bucket.name = Facter["hostname"].value + bucket.type = "resource" + when Puppet::TransBucket + # nothing + else + raise Puppet::DevError, "You must pass a transportable object, not a %s" % + bucket.class + end + + unless @local + bucket = Base64.encode64(YAML::dump(bucket)) + end + report = @driver.apply(bucket, "yaml") + + return report + end + + def describe(type, name, retrieve = false, ignore = false) + Puppet.info "Describing %s[%s]" % [type.to_s.capitalize, name] + text = @driver.describe(type, name, retrieve, ignore, "yaml") + + object = nil + if @local + object = text + else + object = YAML::load(Base64.decode64(text)) + end + + return object + end + + def initialize(hash = {}) + if hash.include?(:ResourceServer) + unless hash[:ResourceServer].is_a?(Puppet::Server::Resource) + raise Puppet::DevError, "Must pass an actual PElement server object" + end + end + + super(hash) + end + + def list(type, ignore = false, base = false) + bucket = @driver.list(type, ignore, base, "yaml") + + unless @local + bucket = YAML::load(Base64.decode64(bucket)) + end + + return bucket + end +end + +# $Id$ |
