Add vf-module-generate-heat-parameters DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vf-module-generate-heat-parameters.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-generate-heat-parameters.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-generate-heat-parameters.xml
new file mode 100755 (executable)
index 0000000..0324511
--- /dev/null
@@ -0,0 +1,926 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
+    <method rpc='vf-module-generate-heat-parameters' mode='sync'>\r
+        <block atomic="true">\r
+            <set>\r
+                <parameter name='const.sub-int' value='subint' />\r
+                <parameter name='const.subnet-id' value='_subnet_id' />\r
+                <parameter name='const.v6-subnet-id' value='_v6_subnet_id' />\r
+                <parameter name='const.port' value='port' />\r
+                <parameter name='const.sub-int-count' value='_subintcount' />\r
+                <parameter name='const.vlan-ids' value='_vlan_ids' />\r
+                <parameter name='const.net-names' value='_net_names' />\r
+                <parameter name='const.net-ids' value='_net_ids' />\r
+                <parameter name='const.ip' value='_ip' />\r
+                <parameter name='const.v6-ip' value='_v6_ip' />\r
+                <parameter name='const.floating-ip' value='_floating_ip' />\r
+                <parameter name='const.floating-v6-ip' value='_floating_v6_ip' />\r
+                <parameter name='const.underscore' value='_' />\r
+            </set>\r
+            <set>\r
+                <parameter name='output-index' value='0' />\r
+            </set>\r
+            <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+                <block>\r
+                    <for silentFailure='true' index='vm-name-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length`' >\r
+                        <block>\r
+                            <set>\r
+                                <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + '_name_'\r
+    + $vm-name-index`" />\r
+                                <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-name-index]`" />\r
+                            </set>\r
+                            <switch test='`$vm-name-index &gt; 0`'>\r
+                                <outcome value='true'>\r
+                                    <set>\r
+                                        <parameter name='cdl' value="`$cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-name-index]`" />\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value='false'>\r
+                                    <set>\r
+                                        <parameter name='cdl' value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-name-index]`" />\r
+                                    </set>\r
+                                </outcome>\r
+                            </switch>\r
+                            <set>\r
+                                <parameter name='output-index' value='`$output-index + 1`' />\r
+                            </set>\r
+                        </block>\r
+                    </for>\r
+                    <set>\r
+                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + '_names'`" />\r
+                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$cdl`" />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                    </set>\r
+                    <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
+                        <block>\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag`'>\r
+                                <outcome value=''>\r
+                                    <set>\r
+                                        <parameter name='network-key' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role`' />\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <set>\r
+                                        <parameter name='network-key' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag`' />\r
+                                    </set>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].floating-ips.floating-ip-v4`'>\r
+                                <outcome value=''>\r
+                                    <block></block>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + $const.floating-ip`" />\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].floating-ips.floating-ip-v4`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                        </set>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].floating-ips.floating-ip-v6`'>\r
+                                <outcome value=''>\r
+                                    <block></block>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + $const.floating-v6-ip`" />\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].floating-ips.floating-ip-v6`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                        </set>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].interface-route-prefixes.interface-route-prefix_length &gt; 0`'>\r
+                                <outcome value='true'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='cdl' value='[' />\r
+                                        </set>\r
+                                        <for index='interface-route-prefix-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].interface-route-prefixes.interface-route-prefix_length`' >\r
+                                            <block>\r
+                                                <switch test='`$interface-route-prefix-index &gt; 0`'>\r
+                                                    <outcome value='true'>\r
+                                                        <set>\r
+                                                            <parameter name='cdl' value="`$cdl + ','`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                                <set>\r
+                                                    <parameter name='cdl' value="`$cdl\r
+  + '{\&quot;interface_route_table_routes_route_prefix\&quot;:\&quot;'\r
+  + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].interface-route-prefixes.interface-route-prefix[$interface-route-prefix-index]\r
+  + '\&quot;}'`" />\r
+                                                </set>\r
+                                            </block>\r
+                                        </for>\r
+                                        <set>\r
+                                            <parameter name='cdl' value="`$cdl + ']'`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_route_prefixes'`" />\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$cdl`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                        </set>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\r
+                                <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].ip-version`'>\r
+                                    <outcome value='ipv4'>\r
+                                        <block>\r
+                                            <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip_length`' >\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + $const.ip\r
+    + $const.underscore\r
+    + $address-index`" />\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                    </set>\r
+                                                    <switch test='`$address-index &gt; 0`'>\r
+                                                        <outcome value='true'>\r
+                                                            <set>\r
+                                                                <parameter name='cdl' value="`$cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='false'>\r
+                                                            <set>\r
+                                                                <parameter name='cdl' value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </for>\r
+                                            <set>\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_ips'`" />\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$cdl`" />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='output-index' value='`$output-index + 1`' />\r
+                                            </set>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='ipv6'>\r
+                                        <block>\r
+                                            <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip_length`' >\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + $const.v6-ip\r
+    + $const.underscore\r
+    + $address-index`" />\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                    </set>\r
+                                                    <switch test='`$address-index &gt; 0`'>\r
+                                                        <outcome value='true'>\r
+                                                            <set>\r
+                                                                <parameter name='cdl' value="`$cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='false'>\r
+                                                            <set>\r
+                                                                <parameter name='cdl' value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$address-family-index].network-ips.network-ip[$address-index]`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </for>\r
+                                            <set>\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_v6_ips'`" />\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$cdl`" />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='output-index' value='`$output-index + 1`' />\r
+                                            </set>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </for>\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length &gt; 0`'>\r
+                                <outcome value='true'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_vlan_filter'`" />\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='public-cdl' value='' />\r
+                                            <parameter name='private-cdl' value='' />\r
+                                            <parameter name='all-cdl' value='' />\r
+                                        </set>\r
+                                        <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\r
+                                            <block>\r
+                                                <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.is-private`'>\r
+                                                    <outcome value='true'>\r
+                                                        <switch test='`$private-cdl`'>\r
+                                                            <outcome value=''>\r
+                                                                <set>\r
+                                                                    <parameter name='private-cdl'\r
+  value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='Other'>\r
+                                                                <set>\r
+                                                                    <parameter name='private-cdl'\r
+  value="',' + `$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </outcome>\r
+                                                    <outcome value='false'>\r
+                                                        <switch test='`$public-cdl`'>\r
+                                                            <outcome value=''>\r
+                                                                <set>\r
+                                                                    <parameter name='public-cdl'\r
+  value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='Other'>\r
+                                                                <set>\r
+                                                                    <parameter name='public-cdl'\r
+  value="',' + `$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                                <switch test='`$all-cdl`'>\r
+                                                    <outcome value=''>\r
+                                                        <set>\r
+                                                            <parameter name='all-cdl'\r
+  value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`' />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <set>\r
+                                                            <parameter name='all-cdl'\r
+  value="',' + `$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.upper-tag-id`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </block>\r
+                                        </for>\r
+                                        <switch test='`$private-cdl`'>\r
+                                            <outcome value=''>\r
+                                                <block></block>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_private_vlans'`" />\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$private-cdl`" />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </switch>\r
+                                        <switch test='`$public-cdl`'>\r
+                                            <outcome value=''>\r
+                                                <block></block>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_public_vlans'`" />\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$public-cdl`" />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </switch>\r
+                                        <set>\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
+    + $const.underscore\r
+    + $network-key\r
+    + '_guest_vlans'`" />\r
+                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$all-cdl`" />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                        </set>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </block>\r
+                    </for>\r
+                    <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
+                        <block>\r
+                            <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\r
+                                <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type`'>\r
+                                    <outcome value=''>\r
+                                        <block></block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='port-index' value='0' />\r
+                                            </set>\r
+                                            <for silentFailure='true' index='vnfc-port-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port_length`' >\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_subintcount'`" />\r
+                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data_length`" />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                    </set>\r
+                                                    <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[0].floating-ips.floating-ip-v4`'>\r
+                                                        <outcome value=''>\r
+                                                            <block></block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_floating_ip'`" />\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[0].floating-ips.floating-ip-v4`" />\r
+                                                                </set>\r
+                                                                <set>\r
+                                                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[0].floating-ips.floating-ip-v6`'>\r
+                                                        <outcome value=''>\r
+                                                            <block></block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_floating_v6_ip'`" />\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[0].floating-ips.floating-ip-v6`" />\r
+                                                                </set>\r
+                                                                <set>\r
+                                                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <set>\r
+                                                        <parameter name='vlan-cdl' value='' />\r
+                                                        <parameter name='net-names-cdl' value='' />\r
+                                                        <parameter name='net-id-cdl' value='' />\r
+                                                        <parameter name='ipv4-ips-cdl' value='' />\r
+                                                        <parameter name='ipv6-ips-cdl' value='' />\r
+                                                    </set>\r
+                                                    <for silentFailure='true' index='vnic-sub-interface-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data_length`' >\r
+                                                        <block>\r
+                                                            <switch test='`$vlan-cdl`'>\r
+                                                                <outcome value=''>\r
+                                                                    <set>\r
+                                                                        <parameter name='vlan-cdl' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].vlan-tag-id`' />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='Other'>\r
+                                                                    <set>\r
+                                                                        <parameter name='vlan-cdl' value="`$vlan-cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].vlan-tag-id`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                            <switch test='`$net-names-cdl`'>\r
+                                                                <outcome value=''>\r
+                                                                    <set>\r
+                                                                        <parameter name='net-names-cdl' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-name`' />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='Other'>\r
+                                                                    <set>\r
+                                                                        <parameter name='net-names-cdl' value="`$net-names-cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-name`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                            <switch test='`$net-id-cdl`'>\r
+                                                                <outcome value=''>\r
+                                                                    <set>\r
+                                                                        <parameter name='net-id-cdl' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-id`' />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='Other'>\r
+                                                                    <set>\r
+                                                                        <parameter name='net-id-cdl' value="`$net-id-cdl + ',' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-id`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                            <for silentFailure='true' index='nii-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item_length`' >\r
+                                                                <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item[$nii-index].ip-version`'>\r
+                                                                    <outcome value='ipv4'>\r
+                                                                        <block>\r
+                                                                            <for silentFailure='true' index='ip-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item[$nii-index].network-ips.network-ip_length`' >\r
+                                                                                <block>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + $const.underscore\r
+    + $vnfc-network-index\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_ip_'\r
+    + $ip-index`" />\r
+                                                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item[$nii-index].network-ips.network-ip[$ip-index]`" />\r
+                                                                                    </set>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                                    </set>\r
+                                                                                </block>\r
+                                                                            </for>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='ipv6'>\r
+                                                                        <block>\r
+                                                                            <for silentFailure='true' index='ip-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item[$nii-index].network-ips.network-ip_length`' >\r
+                                                                                <block>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + $const.underscore\r
+    + $vnfc-network-index\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_v6_ip_'\r
+    + $ip-index`" />\r
+                                                                                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.sub-interface-network-data[$vnic-sub-interface-index].network-information-items.network-information-item[$nii-index].network-ips.network-ip[$ip-index]`" />\r
+                                                                                    </set>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                                    </set>\r
+                                                                                </block>\r
+                                                                            </for>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </for>\r
+                                                    <switch test='`$vlan-cdl`'>\r
+                                                        <outcome value=''>\r
+                                                            <block></block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + $const.underscore\r
+    + $vnfc-network-index\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_vlan_ids'`" />\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$vlan-cdl`" />\r
+                                                                </set>\r
+                                                                <set>\r
+                                                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <switch test='`$net-names-cdl`'>\r
+                                                        <outcome value=''>\r
+                                                            <block></block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + $const.underscore\r
+    + $vnfc-network-index\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_net_names'`" />\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$net-names-cdl`" />\r
+                                                                </set>\r
+                                                                <set>\r
+                                                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <switch test='`$net-id-cdl`'>\r
+                                                        <outcome value=''>\r
+                                                            <block></block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-type\r
+    + $const.underscore\r
+    + $vnfc-network-index\r
+    + '_subint_'\r
+    + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role\r
+    + '_port_'\r
+    + $port-index\r
+    + '_net_ids'`" />\r
+                                                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$net-id-cdl`" />\r
+                                                                </set>\r
+                                                                <set>\r
+                                                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                                </set>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                    <set>\r
+                                                        <parameter name='port-index' value='`$port-index + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </for>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </for>\r
+                        </block>\r
+                    </for>\r
+                </block>\r
+            </for>\r
+            <for silentFailure='true' index='az-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length`' >\r
+                <block>\r
+                    <set>\r
+                        <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`'availability_zone_'\r
+    + $az-index`" />\r
+                        <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$az-index]`" />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                    </set>\r
+                </block>\r
+            </for>\r
+            <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
+                <block>\r
+                    <set>\r
+                        <parameter name='network-key' value='' />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='network-role' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`' />\r
+                    </set>\r
+                    <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+                        <block>\r
+                            <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
+                                <switch test='`$network-role ==\r
+  $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role`'>\r
+                                    <outcome value='true'>\r
+                                        <block>\r
+                                            <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag`'>\r
+                                                <outcome value=''>\r
+                                                    <set>\r
+                                                        <parameter name='network-key' value='`network-role`' />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='Other'>\r
+                                                    <set>\r
+                                                        <parameter name='network-key' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag`' />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                            <break/>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </for>\r
+                            <switch test='`$network-key`'>\r
+                                <outcome value=''>\r
+                                    <block></block>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <break/>\r
+                                </outcome>\r
+                            </switch>\r
+                        </block>\r
+                    </for>\r
+                    <switch test='`$network-key`'>\r
+                        <outcome value=''>\r
+                            <block></block>\r
+                        </outcome>\r
+                        <outcome value='Other'>\r
+                            <block>\r
+                                <set>\r
+                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$network-key\r
+    + '_net_id'`" />\r
+                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].neutron-id`" />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$network-key\r
+    + '_net_name'`" />\r
+                                    <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-name`" />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='output-index' value='`$output-index + 1`' />\r
+                                </set>\r
+                                <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].contrail-network-fqdn`'>\r
+                                    <outcome value=''>\r
+                                        <block></block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$network-key\r
+    + '_net_fqdn'`" />\r
+                                                <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].contrail-network-fqdn\r
+`" />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='output-index' value='`$output-index + 1`' />\r
+                                            </set>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                    </switch>\r
+                    <set>\r
+                        <parameter name='found-ipv4' value='false' />\r
+                        <parameter name='found-ipv6' value='false' />\r
+                    </set>\r
+                    <for silentFailure='true' index='subnet-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\r
+                        <block>\r
+                            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].ip-version`'>\r
+                                <outcome value='ipv4'>\r
+                                    <switch test='`$found-ipv4`'>\r
+                                        <outcome value='false'>\r
+                                            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id`'>\r
+                                                <outcome value=''>\r
+                                                    <block></block>\r
+                                                </outcome>\r
+                                                <outcome value='Other'>\r
+                                                    <block>\r
+                                                        <set>\r
+                                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$network-key\r
+    + $const.subnet-id`" />\r
+                                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id`" />\r
+                                                        </set>\r
+                                                        <set>\r
+                                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                        </set>\r
+                                                        <set>\r
+                                                            <parameter name='found-ipv4' value='true' />\r
+                                                        </set>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </outcome>\r
+                                <outcome value='ipv6'>\r
+                                    <switch test='`$found-ipv6`'>\r
+                                        <outcome value='false'>\r
+                                            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id`'>\r
+                                                <outcome value=''>\r
+                                                    <block></block>\r
+                                                </outcome>\r
+                                                <outcome value='Other'>\r
+                                                    <block>\r
+                                                        <set>\r
+                                                            <parameter name='tmp.vf-module-parameters.param[$output-index].name'\r
+  value="`$network-key\r
+    + $const.v6-subnet-id`" />\r
+                                                            <parameter name='tmp.vf-module-parameters.param[$output-index].value'\r
+  value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id`" />\r
+                                                        </set>\r
+                                                        <set>\r
+                                                            <parameter name='output-index' value='`$output-index + 1`' />\r
+                                                        </set>\r
+                                                        <set>\r
+                                                            <parameter name='found-ipv6' value='true' />\r
+                                                        </set>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </outcome>\r
+                            </switch>\r
+                        </block>\r
+                    </for>\r
+                </block>\r
+            </for>\r
+            <block>\r
+                <switch test='`$tmp.vf-module-topology.vf-module-parameters.param_length`'>\r
+                    <outcome value='0'>\r
+                        <block></block>\r
+                    </outcome>\r
+                    <outcome value=''>\r
+                        <block></block>\r
+                    </outcome>\r
+                    <outcome value='Other'>\r
+                        <set>\r
+                            <parameter name='tmp.preload-parameters.' value='`$tmp.vf-module-topology.vf-module-parameters.`' />\r
+                        </set>\r
+                    </outcome>\r
+                </switch>\r
+                <set>\r
+                    <parameter name='tmp.vf-module-topology.vf-module-parameters.' value='`$tmp.vf-module-parameters.`' />\r
+                </set>\r
+                <for silentFailure='true' index='preload-index' start='0' end='`$tmp.preload-parameters.param_length`' >\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='found-match' value='false' />\r
+                        </set>\r
+                        <for index='cur-index' start='0' end='`$output-index`' >\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-parameters.param[$cur-index].name\r
+  == $tmp.preload-parameters.param[$preload-index].name`'>\r
+                                <outcome value='true'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='$tmp.vf-module-topology.vf-module-parameters.param[$cur-index].value' value='`$tmp.preload-parameters.param[$preload-index].value`' />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='found-match' value='true' />\r
+                                        </set>\r
+                                        <break/>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </for>\r
+                        <switch test='`$found-match`'>\r
+                            <outcome value='false'>\r
+                                <block>\r
+                                    <set>\r
+                                        <parameter name='tmp.vf-module-topology.vf-module-parameters.param[$output-index].name'\r
+  value="`$tmp.preload-parameters.param[$preload-index].name`" />\r
+                                        <parameter name='tmp.vf-module-topology.vf-module-parameters.param[$output-index].value'\r
+  value="`$tmp.preload-parameters.param[$preload-index].value`" />\r
+                                    </set>\r
+                                    <set>\r
+                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                    </set>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </for>\r
+                <for silentFailure='true' index='input-index' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='found-match' value='false' />\r
+                        </set>\r
+                        <for index='cur-index' start='0' end='`$output-index`' >\r
+                            <switch test='`$tmp.vf-module-topology.vf-module-parameters.param[$cur-index].name\r
+  == $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$input-index].name`'>\r
+                                <outcome value='true'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='$tmp.vf-module-topology.vf-module-parameters.param[$cur-index].value'\r
+  value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$input-index].value`' />\r
+                                        </set>\r
+                                        <set>\r
+                                            <parameter name='found-match' value='true' />\r
+                                        </set>\r
+                                        <break/>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </for>\r
+                        <switch test='`$found-match`'>\r
+                            <outcome value='false'>\r
+                                <block>\r
+                                    <set>\r
+                                        <parameter name='tmp.vf-module-topology.vf-module-parameters.param[$output-index].name'\r
+  value="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$input-index].name`" />\r
+                                        <parameter name='tmp.vf-module-topology.vf-module-parameters.param[$output-index].value'\r
+  value="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$input-index].value`" />\r
+                                    </set>\r
+                                    <set>\r
+                                        <parameter name='output-index' value='`$output-index + 1`' />\r
+                                    </set>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </for>\r
+                <set>\r
+                    <parameter name='$tmp.vf-module-topology.vf-module-parameters.param_length' value='`$output-index`' />\r
+                </set>\r
+                <set>\r
+                    <parameter name='tmp.vf-module-topology.sdnc-generated-cloud-resources' value='true' />\r
+                </set>\r
+            </block>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file