[openstack-dev] [heat][yaql] Heat map replacement options
Steven Hardy
shardy at redhat.com
Fri Jul 15 09:25:39 UTC 2016
Hi all,
I'm trying to figure out the cleanest way to do a replacement of values in
a mapping (json parameter) in a heat template, e.g:
ServiceNetMap:
type: json
default:
IronicApiNetwork: internal_api
CephPublicNetwork: storage
NetIpMap:
type: json
default:
storage: 192.0.2.2
internal_api: 192.0.2.5
How do I get
OutputMap:
IronicApiNetwork: 192.0.2.5
CephPublicNetwork: 192.0.2.2
It seems like something yaql should be able to do, but I've so far failed
to figure out the syntax.
The other (possibly simpler) possibility is to implement a new hot
function, e.g something like:
map_replace:
template: {get_param: ServiceNetMap}
value_replacements: {get_param: NetIpMap}
The function could accept e.t value_replacements and key_replacements, and
simply iterate over the map doing a key lookup and replacement on the
key/value when they match.
Anyone got any simpler ideas, or an example of what this would look like in
yaql?
Thanks!
Steve
More information about the OpenStack-dev
mailing list