Method: Puppet::Transaction#initialize

Defined in:
lib/puppet/transaction.rb

#initialize(catalog, report, prioritizer) ⇒ Transaction

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Transaction.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/puppet/transaction.rb', line 41

def initialize(catalog, report, prioritizer)
  @catalog = catalog

  @persistence = Puppet::Transaction::Persistence.new

  @report = report || Puppet::Transaction::Report.new(catalog.version, catalog.environment)

  @prioritizer = prioritizer

  @report.add_times(:config_retrieval, @catalog.retrieval_duration || 0)

  @event_manager = Puppet::Transaction::EventManager.new(self)

  @resource_harness = Puppet::Transaction::ResourceHarness.new(self)

  @prefetched_providers = Hash.new { |h,k| h[k] = {} }

  @prefetch_failed_providers = Hash.new { |h,k| h[k] = {} }

  # With merge_dependency_warnings, notify and warn about class dependency failures ... just once per class. TJK 2019-09-09
  @merge_dependency_warnings = Puppet[:merge_dependency_warnings]
  @failed_dependencies_already_notified = Set.new()
  @failed_class_dependencies_already_notified = Set.new()
  @failed_class_dependencies_already_warned = Set.new()
end