2
# The abstract base class for client configuration storage.
5
extend Puppet::Util::Docs
6
extend Puppet::Util::ClassGen
8
@loader = Puppet::Util::Autoload.new(self, "puppet/config_stores")
11
# Add a new report type.
12
def self.newstore(name, options = {}, &block)
13
klass = genclass(name,
15
:prefix => "ConfigStore",
17
:attributes => options
21
# Remove a store; really only used for testing.
22
def self.rmstore(name)
23
rmclass(name, :hash => @stores)
28
name = symbolize(name)
29
unless @stores.include? name
31
unless @stores.include? name
33
"Loaded report file for %s but report was not defined" %
45
# Retrieve the config for a client.
47
raise Puppet::DevError, "%s has not overridden get" % self.class.name
50
# Store the config for a client.
51
def store(client, config)
52
raise Puppet::DevError, "%s has not overridden store" % self.class.name
55
def collect_exported(client, conditions)
56
raise Puppet::DevError, "%s has not overridden collect_exported" % self.class.name