diff --git a/zuul/executor/client.py b/zuul/executor/client.py
index 40ad860..64b635d 100644
--- a/zuul/executor/client.py
+++ b/zuul/executor/client.py
@@ -221,16 +221,9 @@
         nodeset = item.current_build_set.getJobNodeSet(job.name)
         nodes = []
         for node in nodeset.getNodes():
-            nodes.append(dict(name=node.name, label=node.label,
-                              az=node.az,
-                              cloud=node.cloud,
-                              host_keys=node.host_keys,
-                              provider=node.provider,
-                              region=node.region,
-                              ssh_port=node.ssh_port,
-                              interface_ip=node.interface_ip,
-                              public_ipv6=node.public_ipv6,
-                              public_ipv4=node.public_ipv4))
+            n = node.toDict()
+            n.update(dict(name=node.name, label=node.label))
+            nodes.append(n)
         params['nodes'] = nodes
         params['groups'] = [group.toDict() for group in nodeset.getGroups()]
         params['vars'] = copy.deepcopy(job.variables)
