Class: Puppet::Configurer::Downloader

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/configurer/downloader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, path, source, ignore = nil, environment = nil, source_permissions = :ignore) ⇒ Downloader

Returns a new instance of Downloader.

 42 43 44 45 46 47 48 49
# File 'lib/puppet/configurer/downloader.rb', line 42 def initialize(name, path, source, ignore = nil, environment = nil, source_permissions = :ignore) @name = name @path = path @source = source @ignore = ignore @environment = environment @source_permissions = source_permissions end

Instance Attribute Details

#ignoreObject (readonly)

Returns the value of attribute ignore.

 7 8 9
# File 'lib/puppet/configurer/downloader.rb', line 7 def ignore @ignore end

#nameObject (readonly)

Returns the value of attribute name.

 7 8 9
# File 'lib/puppet/configurer/downloader.rb', line 7 def name @name end

#pathObject (readonly)

Returns the value of attribute path.

 7 8 9
# File 'lib/puppet/configurer/downloader.rb', line 7 def path @path end

#sourceObject (readonly)

Returns the value of attribute source.

 7 8 9
# File 'lib/puppet/configurer/downloader.rb', line 7 def source @source end

Instance Method Details

#catalogObject

 60 61 62 63 64 65 66 67
# File 'lib/puppet/configurer/downloader.rb', line 60 def catalog unless @catalog @catalog = Puppet::Resource::Catalog.new("PluginSync", @environment) @catalog.host_config = false @catalog.add_resource(file) end @catalog end

#evaluateObject

Evaluate our download, returning the list of changed values.

 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
# File 'lib/puppet/configurer/downloader.rb', line 10 def evaluate Puppet.info _("Retrieving %{name}") % { name: name } files = [] begin catalog.apply do |trans| unless Puppet[:ignore_plugin_errors] # Propagate the first failure associated with the transaction. The any_failed?  # method returns the first resource status that failed or nil, not a boolean.  first_failure = trans.any_failed? if first_failure event = (first_failure.events || []).first detail = event ? event.message : 'unknown' raise Puppet::Error, _("Failed to retrieve %{name}: %{detail}") % { name: name, detail: detail } end end trans.changed?.each do |resource| yield resource if block_given? files << resource[:path] end end rescue Puppet::Error => detail if Puppet[:ignore_plugin_errors] Puppet.log_exception(detail, _("Could not retrieve %{name}: %{detail}") % { name: name, detail: detail }) else raise detail end end files end

#fileObject

 51 52 53 54 55 56 57 58
# File 'lib/puppet/configurer/downloader.rb', line 51 def file unless @file args = default_arguments.merge(:path => path, :source => source) args[:ignore] = ignore.split if ignore @file = Puppet::Type.type(:file).new(args) end @file end