From d076eb610477e50c8e31bf4908b431ca969209b5 Mon Sep 17 00:00:00 2001
From: David Hollinger <david.hollinger@nttsecurity.com>
Date: Tue, 29 May 2018 17:09:27 -0500
Subject: [PATCH] Parse resource data into the keys that net-ip expect

---
 .../provider/network_route/network_route.rb   | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/lib/puppet/provider/network_route/network_route.rb b/lib/puppet/provider/network_route/network_route.rb
index 2848b9cf..eff3d65a 100644
--- a/lib/puppet/provider/network_route/network_route.rb
+++ b/lib/puppet/provider/network_route/network_route.rb
@@ -37,4 +37,24 @@ def get(_context)
       }.compact!
     end
   end
+
+  def puppet_munge(should)
+    should.delete(:ensure)
+    if should[:default_route]
+      should[:prefix] = 'default'
+      should.delete(:default_route)
+      should.delete(:prefix)
+    else
+      should[:prefix] = should.delete(:prefix)
+    end
+    should[:via] = should.delete(:gateway) if should[:gateway]
+    should[:dev] = should.delete(:interface) if should[:interface]
+    should[:metric] = should.delete(:metric)
+    should[:table] = should.delete(:table)
+    should[:src] = should.delete(:source) if should[:source]
+    should[:scope] = should.delete(:scope)
+    should[:proto] = should.delete(:protocol)
+    should[:mtu] = should.delete(:mtu) if should[:mtu]
+    should
+  end
 end