def save(request)
profile("facts#save", [:puppetdb, :facts, :save, request.key]) do
payload = profile("Encode facts command submission payload",
[:puppetdb, :facts, :encode]) do
facts = request.instance.dup
facts.values = facts.strip_internal.dup
if ! Puppet::Util::Puppetdb.puppet3compat? || Puppet[:trusted_node_data]
facts.values[:trusted] = get_trusted_info(request.node)
end
{
"name" => facts.name,
"values" => facts.values,
"environment" => request.options[:environment] || request.environment.to_s,
"producer-timestamp" => request.options[:producer_timestamp] || Time.now.iso8601,
}
end
submit_command(request.key, payload, CommandReplaceFacts, 3)
end
end