Sha256: e20004996ea9dca8930aceface92c2f799955ab4d53cec551130658bd603910f

Contents?: true

Size: 781 Bytes

Versions: 3

Compression:

Stored size: 781 Bytes

Contents

# Returns a ResultSet with canary/skipped-node errors for each Target provided.
#
# This function takes a single parameter:
# * List of nodes (Array[Variant[Target,String]])
#
# Returns a ResultSet.
Puppet::Functions.create_function(:'canary::skip') do
  dispatch :skip_result do
    param 'Array[Variant[Target,String]]', :nodes
  end

  def skip_result(nodes)
    results = nodes.map do |node|
      node = Bolt::Target.new(node) unless node.is_a? Bolt::Target
      Bolt::Result.new(node, value: { '_error' => {
                         'msg' => "Skipped #{node.name} because of a previous failure",
                         'kind' => 'canary/skipped-node',
                         'details' => {}
                       } })
    end
    Bolt::ResultSet.new(results)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bolt-0.17.2 modules/canary/lib/puppet/functions/canary/skip.rb
bolt-0.17.1 modules/canary/lib/puppet/functions/canary/skip.rb
bolt-0.17.0 modules/canary/lib/puppet/functions/canary/skip.rb