Sha256: 90c84b874605389602a9910abe1711ec13108cfecef29d8a4742bb1b538e7507

Contents?: true

Size: 830 Bytes

Versions: 4

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

# Test whether a given tag is set.  This functions as a big OR -- if any of the specified tags are unset, we return false.
Puppet::Parser::Functions::newfunction(:tagged, :type => :rvalue, :arity => -2, :doc => "A boolean function that
  tells you whether the current container is tagged with the specified tags.
  The tags are ANDed, so that all of the specified tags must be included for
  the function to return true.") do |vals|
  if Puppet[:tasks]
    raise Puppet::ParseErrorWithIssue.from_issue_and_stack(
      Puppet::Pops::Issues::CATALOG_OPERATION_NOT_SUPPORTED_WHEN_SCRIPTING,
      {:operation => 'tagged'})
  end

  retval = true
  vals.each do |val|
    unless compiler.catalog.tagged?(val) or resource.tagged?(val)
      retval = false
      break
    end
  end

  return retval
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-8.4.0 lib/puppet/parser/functions/tagged.rb
puppet-8.4.0-x86-mingw32 lib/puppet/parser/functions/tagged.rb
puppet-8.4.0-x64-mingw32 lib/puppet/parser/functions/tagged.rb
puppet-8.4.0-universal-darwin lib/puppet/parser/functions/tagged.rb