Sha256: 41b2badb565e6c8b193ce8090f032f913a74287d5c16bb41ae5d48b4ce1a6cd3
Contents?: true
Size: 1.21 KB
Versions: 71
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true require 'bolt/error' # Evaluates all `_plugin` references in a hash and returns the resolved reference data. Puppet::Functions.create_function(:resolve_references) do # Resolve references. # @param references A hash of reference data to resolve. # @return A hash of resolved reference data. # @example Resolve a hash of reference data # $references = { # "targets" => [ # "_plugin" => "terraform", # "dir" => "path/to/terraform/project", # "resource_type" => "aws_instance.web", # "uri" => "public_ip" # ] # } # # resolve_references($references) dispatch :resolve_references do param 'Data', :references return_type 'Data' end def resolve_references(references) unless Puppet[:tasks] raise Puppet::ParseErrorWithIssue .from_issue_and_stack( Bolt::PAL::Issues::PLAN_OPERATION_NOT_SUPPORTED_WHEN_COMPILING, action: 'resolve_references' ) end executor = Puppet.lookup(:bolt_executor) # Send Analytics Report executor.report_function_call(self.class.name) plugins = Puppet.lookup(:bolt_inventory).plugins plugins.resolve_references(references) end end
Version data entries
71 entries across 71 versions & 1 rubygems