<div dir="ltr">Try this:<div><br></div><div>yaql:</div><div> expression:let(root => $) -> dict($root.data.service.items().select([$[0], $root.data.ip[$[1]]]))</div><div> data:</div><div> service: { get_param: ServiceNetMap }</div><div> ip: { get_param: NetIpMap}</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-15 12:25 GMT+03:00 Steven Hardy <span dir="ltr"><<a href="mailto:shardy@redhat.com" target="_blank">shardy@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I'm trying to figure out the cleanest way to do a replacement of values in<br>
a mapping (json parameter) in a heat template, e.g:<br>
<br>
ServiceNetMap:<br>
type: json<br>
default:<br>
IronicApiNetwork: internal_api<br>
CephPublicNetwork: storage<br>
<br>
NetIpMap:<br>
type: json<br>
default:<br>
storage: 192.0.2.2<br>
internal_api: 192.0.2.5<br>
<br>
How do I get<br>
OutputMap:<br>
IronicApiNetwork: 192.0.2.5<br>
CephPublicNetwork: 192.0.2.2<br>
<br>
It seems like something yaql should be able to do, but I've so far failed<br>
to figure out the syntax.<br>
<br>
The other (possibly simpler) possibility is to implement a new hot<br>
function, e.g something like:<br>
<br>
map_replace:<br>
template: {get_param: ServiceNetMap}<br>
value_replacements: {get_param: NetIpMap}<br>
<br>
The function could accept e.t value_replacements and key_replacements, and<br>
simply iterate over the map doing a key lookup and replacement on the<br>
key/value when they match.<br>
<br>
Anyone got any simpler ideas, or an example of what this would look like in<br>
yaql?<br>
<br>
Thanks!<br>
<br>
Steve<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Best regards,<br></div>Peter Razumovsky<br></div></div>
</div>