Sha256: 1524b9ea71bb99c3877d267e49464ea860ce1c23d0a153f8beaa08a8e268c5d8

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

# Define a block where default logging is suppressed.
#
# Messages for actions within this block will be logged at `info` level instead
# of `notice`, so they will not be seen normally but # will still be present
# when `verbose` logging is requested.
#
# **NOTE:** Not available in apply block
Puppet::Functions.create_function(:without_default_logging) do
  # @param block The block where action logging is suppressed.
  # @return [Undef]
  # @example Suppress default logging for a series of functions
  #   without_default_logging() || {
  #     notice("Deploying on ${nodes}")
  #     get_targets($targets).each |$target| {
  #       run_task(deploy, $target)
  #     }
  #   }
  dispatch :without_default_logging do
    block_param 'Callable[0, 0]', :block
  end

  def without_default_logging
    unless Puppet[:tasks]
      raise Puppet::ParseErrorWithIssue
        .from_issue_and_stack(Bolt::PAL::Issues::PLAN_OPERATION_NOT_SUPPORTED_WHEN_COMPILING,
                              action: 'without_default_logging')
    end

    executor = Puppet.lookup(:bolt_executor)
    executor.report_function_call(self.class.name)

    executor.without_default_logging do
      yield
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bolt-1.49.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-1.48.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-1.47.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-1.45.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-1.44.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-1.43.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb