Sha256: 83ae9a45d2187d4ce922afe63142acb92f07510eb11360aa056a24065d0bf196

Contents?: true

Size: 1.2 KB

Versions: 19

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

19 entries across 19 versions & 1 rubygems

Version Path
bolt-2.15.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.14.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.13.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.12.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.11.1 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.11.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.10.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.9.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.8.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.7.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.6.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.5.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.4.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.3.1 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.3.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.2.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.1.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.0.1 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb
bolt-2.0.0 bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb