diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs')
12 files changed, 3297 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-ATTGRP.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-ATTGRP.template.yaml new file mode 100644 index 0000000000..33518514a8 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-ATTGRP.template.yaml @@ -0,0 +1,352 @@ +heat_template_version: 2015-04-30 + +description: | + Generate group_info for a single VM type. + +parameters: + + vmtype_index: + type: number + description: Index of the VM type. + + vmtype_list: + type: comma_delimited_list + description: List of VM type tags. + + vm_info: + type: json + description: | + Provides keys into type-specific parameters and vnic info. + default: {} + + availability_zones: + type: comma_delimited_list + description: CDL of availability zones. + + flavors: + type: json + description: Maps VM type tags to the flavor ID for that type. + default: {} + + name_lists: + type: json + description: Maps VM type tags to the list of VM names for that type. + +outputs: + + # The approach used here limits the number of pairs per + # group that are possible but also limts the number of + # openstack resources used just to generate this data + # (vs. use of a per-pair resource group). + + vmtype_info: + description: Group_info for one VM group. + value: { + "defaults": { + "flavor": { + "0": {get_param: [flavors, {get_param: [vmtype_list, {get_param: vmtype_index}]}]}, + "1": {get_param: [flavors, {get_param: [vmtype_list, {get_param: vmtype_index}]}]}, + } + }, + "0": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "0", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_000"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "0", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_001"]]} + } + }, + "1": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "1", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_010"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "1", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_011"]]} + } + }, + "2": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "2", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_020"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "2", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_021"]]} + } + }, + "3": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "3", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_030"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "3", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_031"]]} + } + }, + "4": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "4", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_040"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "4", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_041"]]} + } + }, + "5": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "5", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_050"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "5", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_051"]]} + } + }, + "6": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "6", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_060"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "6", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_061"]]} + } + }, + "7": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "7", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_070"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "7", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_071"]]} + } + }, + "8": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "8", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_080"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "8", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_081"]]} + } + }, + "9": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "9", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_090"]]} + }, + "1": { + "name": {get_param: [name_lists, {ge: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "9", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_091"]]} + } + }, + "10": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "10", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_100"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "10", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_101"]]} + } + }, + "11": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "11", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_110"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "11", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_111"]]} + } + }, + "12": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "12", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_120"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "12", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_121"]]} + } + }, + "13": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "13", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_130"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "13", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_131"]]} + } + }, + "14": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "14", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_140"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "14", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_141"]]} + } + }, + "15": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "15", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_150"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "15", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_151"]]} + } + }, + "16": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "16", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_160"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "16", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_161"]]} + } + }, + "17": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "17", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_170"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "17", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_171"]]} + } + }, + "18": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "18", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_180"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "18", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_181"]]} + } + }, + "19": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "19", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_190"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "19", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_191"]]} + } + }, + "20": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "20", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_200"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "20", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_201"]]} + } + }, + "21": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "21", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_210"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "21", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_211"]]} + } + }, + "22": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "22", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_220"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "22", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_221"]]} + } + }, + "23": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "23", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_230"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "23", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_231"]]} + } + }, + "24": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "24", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_240"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "24", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_241"]]} + } + }, + "25": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "25", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_250"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "25", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_251"]]} + } + }, + "26": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "26", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_260"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "26", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_261"]]} + } + }, + "27": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "27", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_270"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "27", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_271"]]} + } + }, + "28": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "28", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_280"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "28", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_281"]]} + } + }, + "29": { + "0": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "29", "0", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_290"]]} + }, + "1": { + "name": {get_param: [name_lists, {get_param: [vmtype_list, {get_param: vmtype_index}]}, {get_param: [vm_info, {get_param: [vmtype_list, {get_param: vmtype_index}]}, "29", "1", "index"]}]}, + "storage_name": {list_join: ["", [{get_param: [vmtype_list, {get_param: vmtype_index}]}, "_volume_291"]]} + } + } + } + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Base.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Base.template.yaml new file mode 100644 index 0000000000..9e0f294840 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Base.template.yaml @@ -0,0 +1,382 @@ +heat_template_version: 2015-04-30 + +description: | + Base resources needed for all LCP based vNFs. + +parameters: + + default_prefix: + type: json + description: | + Default prefix for resources. The first key is the override + value from the ENV file. If it is empty the result will be + the default value. Otherwise the result will be empty. + + ext_net_info: + type: json + description: | + Maps the network strings used in this HOT file + to network info for the target cloud. + + ext_net_list: + type: comma_delimited_list + description: List of applicable subnet tags. + + int_net_count: + type: number + description: Number of internal networks. + constraints: + - allowed_values: [1, 2] + + # The value of this parameter should not be overridden. + int_net1_label: + type: json + description: | + Map the number of internal networks to an internal net1 label + or the empty string. + default: + {"1": "", "2": "INTERNALnet1"} + + # This parameter should always be defaulted. + int_net2key: + type: json + description: | + Maps the empty string to "default" and any other string to "". + default: {"": "default"} + + # This parameter should always be defaulted. + int_net2count: + type: json + description: | + Used to determine whether to create an internal network resource. + Key'd first by the number of internal networks. + Then by the internal network in question (0 or 1). + Then by int_net2key(the provided resource UUID value). + default: { + "0": {}, + "1": { + "0": {"": 0, "default": 1}, + "1": {"": 0, "default": 0} + }, + "2": { + "0": {"": 0, "default": 1}, + "1": {"": 0, "default": 1} + } + } + + # This parameter should always be defaulted. + sec_chk: + type: json + description: Used to determine how many security groups to create (0 or 1). + default: { + "step1": {"": "EMPTY"}, + "step2": {"EMPTY": 1, "": 0} + } + + security_group: + type: string + description: | + (optional) security group to use instead of generating one. + Because this is optional we can't use a constraint check to + verify that it is a security group ID ("" would fail that test). + default: "" + + total_vm_pairs: + type: string + description: | + This string will evaluate to the number of PairGroups in the VNF. + +resources: + + NOKIA-LCP-OpenSec: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [sec_chk, "step2", {get_param: [sec_chk, "step1", {get_param: security_group}]}]} + resource_def: + type: OS::Neutron::SecurityGroup + properties: + description: | + Open security settings. + This assumes that security is handled internal to the guest. + name: + str_replace: + template: $prefixOpenSecGroup + params: + $prefix: {get_param: [default_prefix, ""]} + rules: + - {direction: ingress, ethertype: IPv4} + - {direction: egress, ethertype: IPv4} + - {direction: ingress, ethertype: IPv6} + - {direction: egress, ethertype: IPv6} + + NOKIA-LCP-Keypair: + type: OS::Nova::KeyPair + properties: + name: + str_replace: + template: $prefixInternalKey + params: + $prefix: {get_param: [default_prefix, ""]} + save_private_key: True + + NOKIA-LCP-InternalNet0: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [int_net2count, {str_replace: {template: "$str", params: {$str: {get_param: int_net_count}}}}, "0", {get_param: [int_net2key, {get_param: [ext_net_info, "INTERNALnet0", "id"]}]}]} + resource_def: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $prefixIntNet0 + params: + $prefix: {get_param: [default_prefix, ""]} + admin_state_up: True + shared: False + + NOKIA-LCP-InternalNet1: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [int_net2count, {str_replace: {template: "$str", params: {$str: {get_param: int_net_count}}}}, "0", {get_param: [int_net2key, {get_param: [ext_net_info, "INTERNALnet1", "id"]}]}]} + resource_def: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $prefixIntNet1 + params: + $prefix: {get_param: [default_prefix, ""]} + admin_state_up: True + shared: False + + # The CIDR usage is really 169.254.0.0/16 but + # we don't want the cloud to choose any IP addresses + # that might also be assigned by the algorithms + # used by the vNF to determine internal IP addresses. + NOKIA-LCP-InternalSubNet0: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [int_net2count, {str_replace: {template: "$str", params: {$str: {get_param: int_net_count}}}}, "0", {get_param: [int_net2key, {get_param: [ext_net_info, "INTERNALnet0", "subnet_id"]}]}]} + resource_def: + type: OS::Neutron::Subnet + properties: + network: + str_replace: + template: $gen$prov + params: + $gen: {get_attr: [NOKIA-LCP-InternalNet0, refs, 0]} + $prov: {get_param: [ext_net_info, "INTERNALnet0", "id"]} + cidr: "169.254.5.0/24" + enable_dhcp: False + + NOKIA-LCP-InternalSubNet1: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [int_net2count, {str_replace: {template: "$str", params: {$str: {get_param: int_net_count}}}}, "0", {get_param: [int_net2key, {get_param: [ext_net_info, "INTERNALnet1", "subnet_id"]}]}]} + resource_def: + type: OS::Neutron::Subnet + properties: + network: + str_replace: + template: $gen$prov + params: + $gen: {get_attr: [NOKIA-LCP-InternalNet1, refs, 0]} + $prov: {get_param: [ext_net_info, "INTERNALnet1", "id"]} + cidr: "169.254.9.0/24" + enable_dhcp: False + +outputs: + + # Note that the generated and given security groups are mutually exclusive. + OpenSec: + description: Open security group. + value: + str_replace: + template: $gen$given + params: + $gen: {get_attr: [NOKIA-LCP-OpenSec, refs, 0]} + $given: {get_param: security_group} + + PrivateKey: + description: Private SSH key for pre-install intra-VM communication. + value: {get_attr: [NOKIA-LCP-Keypair, private_key]} + + PublicKey: + description: Public SSH key for pre-install intra-VM communication. + value: {get_attr: [NOKIA-LCP-Keypair, public_key]} + + TotalPairCount: + description: | + This string will evaluate to the number of PairGroups in the VNF. + value: {get_param: total_vm_pairs} + + IntNetInfo: + description: Internal network attributes. + value: { + "INTERNALnet0": { + "id": { + str_replace: { + template: "$gen$prov", + params: { + $gen: {get_attr: [NOKIA-LCP-InternalNet0, refs, 0]}, + $prov: {get_param: [ext_net_info, "INTERNALnet0", "id"]} + } + } + }, + "subnet_id": { + str_replace: { + template: "$gen$prov", + params: { + $gen: {get_attr: [NOKIA-LCP-InternalSubNet0, refs, 0]}, + $prov: {get_param: [ext_net_info, "INTERNALnet0", "subnet_id"]} + } + } + }, + "cidr": "169.254.0.0/16", + "default_gateway": "" + }, + "INTERNALnet1": { + "id": { + str_replace: { + template: "$gen$prov", + params: { + $gen: {get_attr: [NOKIA-LCP-InternalNet1, refs, 0]}, + $prov: {get_param: [ext_net_info, "INTERNALnet1", "id"]} + } + } + }, + "subnet_id": { + str_replace: { + template: "$gen$prov", + params: { + $gen: {get_attr: [NOKIA-LCP-InternalSubNet1, refs, 0]}, + $prov: {get_param: [ext_net_info, "INTERNALnet1", "subnet_id"]} + } + } + }, + "cidr": "169.254.0.0/16", + "default_gateway": "" + } + } + + NetInfoStr: + description: Per-subnet information in string format. + value: + str_replace: + template: | + { + "subnet_list": "INTERNALnet0 $intnet1 $tag00 $tag01 $tag02 $tag03 $tag04 $tag05 $tag06 $tag07 $tag08 $tag09 $tag10 $tag11", + "INTERNALnet0": { + "id": "$gennet0$provnet0", + "subnet_id": "$gensubnet0$provsubnet0", + "cidr": "169.254.0.0/16", + "default_gateway": "" + }, + "INTERNALnet1": { + "id": "$gennet1$provnet1", + "subnet_id": "$gensubnet1$provsubnet1", + "cidr": "169.254.0.0/16", + "default_gateway": "" + }, + "$tag00": { + "cidr": "$cidr00", + "default_gateway": "$gw00" + }, + "$tag01": { + "cidr": "$cidr01", + "default_gateway": "$gw01" + }, + "$tag02": { + "cidr": "$cidr02", + "default_gateway": "$gw02" + }, + "$tag03": { + "cidr": "$cidr03", + "default_gateway": "$gw03" + }, + "$tag04": { + "cidr": "$cidr04", + "default_gateway": "$gw04" + }, + "$tag05": { + "cidr": "$cidr05", + "default_gateway": "$gw05" + }, + "$tag06": { + "cidr": "$cidr06", + "default_gateway": "$gw06" + }, + "$tag07": { + "cidr": "$cidr07", + "default_gateway": "$gw07" + }, + "$tag08": { + "cidr": "$cidr08", + "default_gateway": "$gw08" + }, + "$tag09": { + "cidr": "$cidr09", + "default_gateway": "$gw09" + }, + "$tag10": { + "cidr": "$cidr10", + "default_gateway": "$gw10" + }, + "$tag11": { + "cidr": "$cidr11", + "default_gateway": "$gw11" + } + } + params: + $intnet1: {get_param: [int_net1_label, {str_replace: {template: "$val", params: {$val: {get_param: int_net_count}}}}]} + $gennet0: {get_attr: [NOKIA-LCP-InternalNet0, refs, 0]} + $provnet0: {get_param: [ext_net_info, "INTERNALnet0", "id"]} + $gensubnet0: {get_attr: [NOKIA-LCP-InternalSubNet0, refs, 0]} + $provsubnet0: {get_param: [ext_net_info, "INTERNALnet0", "subnet_id"]} + $gennet1: {get_attr: [NOKIA-LCP-InternalNet1, refs, 0]} + $provnet1: {get_param: [ext_net_info, "INTERNALnet1", "id"]} + $gensubnet1: {get_attr: [NOKIA-LCP-InternalSubNet1, refs, 0]} + $provsubnet1: {get_param: [ext_net_info, "INTERNALnet1", "subnet_id"]} + $tag00: {get_param: [ext_net_list, 0]} + $cidr00: {get_param: [ext_net_info, {get_param: [ext_net_list, 0]}, cidr]} + $gw00: {get_param: [ext_net_info, {get_param: [ext_net_list, 0]}, default_gateway]} + $tag01: {get_param: [ext_net_list, 1]} + $cidr01: {get_param: [ext_net_info, {get_param: [ext_net_list, 1]}, cidr]} + $gw01: {get_param: [ext_net_info, {get_param: [ext_net_list, 1]}, default_gateway]} + $tag02: {get_param: [ext_net_list, 2]} + $cidr02: {get_param: [ext_net_info, {get_param: [ext_net_list, 2]}, cidr]} + $gw02: {get_param: [ext_net_info, {get_param: [ext_net_list, 2]}, default_gateway]} + $tag03: {get_param: [ext_net_list, 3]} + $cidr03: {get_param: [ext_net_info, {get_param: [ext_net_list, 3]}, cidr]} + $gw03: {get_param: [ext_net_info, {get_param: [ext_net_list, 3]}, default_gateway]} + $tag04: {get_param: [ext_net_list, 4]} + $cidr04: {get_param: [ext_net_info, {get_param: [ext_net_list, 4]}, cidr]} + $gw04: {get_param: [ext_net_info, {get_param: [ext_net_list, 4]}, default_gateway]} + $tag05: {get_param: [ext_net_list, 5]} + $cidr05: {get_param: [ext_net_info, {get_param: [ext_net_list, 5]}, cidr]} + $gw05: {get_param: [ext_net_info, {get_param: [ext_net_list, 5]}, default_gateway]} + $tag06: {get_param: [ext_net_list, 6]} + $cidr06: {get_param: [ext_net_info, {get_param: [ext_net_list, 6]}, cidr]} + $gw06: {get_param: [ext_net_info, {get_param: [ext_net_list, 6]}, default_gateway]} + $tag07: {get_param: [ext_net_list, 7]} + $cidr07: {get_param: [ext_net_info, {get_param: [ext_net_list, 7]}, cidr]} + $gw07: {get_param: [ext_net_info, {get_param: [ext_net_list, 7]}, default_gateway]} + $tag08: {get_param: [ext_net_list, 8]} + $cidr08: {get_param: [ext_net_info, {get_param: [ext_net_list, 8]}, cidr]} + $gw08: {get_param: [ext_net_info, {get_param: [ext_net_list, 8]}, default_gateway]} + $tag09: {get_param: [ext_net_list, 9]} + $cidr09: {get_param: [ext_net_info, {get_param: [ext_net_list, 9]}, cidr]} + $gw09: {get_param: [ext_net_info, {get_param: [ext_net_list, 9]}, default_gateway]} + $tag10: {get_param: [ext_net_list, 10]} + $cidr10: {get_param: [ext_net_info, {get_param: [ext_net_list, 10]}, cidr]} + $gw10: {get_param: [ext_net_info, {get_param: [ext_net_list, 10]}, default_gateway]} + $tag11: {get_param: [ext_net_list, 11]} + $cidr11: {get_param: [ext_net_info, {get_param: [ext_net_list, 11]}, cidr]} + $gw11: {get_param: [ext_net_info, {get_param: [ext_net_list, 11]}, default_gateway]} + + Version: + description: | + Template file version number. This should be updated + each time a non-comment change is made to this file. + value: K1 + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-OPENECOMP.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-OPENECOMP.template.yaml new file mode 100644 index 0000000000..7ac9a58da6 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-OPENECOMP.template.yaml @@ -0,0 +1,364 @@ +heat_template_version: 2015-04-30 + +description: | + Template to take OPENECOMP input parameters and produce outputs + in the desired format for the underlying LCP HOT template files. + +parameters: + + backup_file: + type: string + description: | + <cURL path>/<backup file> + This is only used for restore (aka "disaster recovery"). + The value only needs to go to the OAM pair. + Note that there is a 255 character limit on this value. + + default_action: + type: string + description: | + Default action for all VMs. This may be overridden for + specific VM groups, pairs or VMs via the ENV file. + + cloud_name_delimiter: + type: string + description: | + Separator used between parts of a cloud resource name + (e.g. between the stack ID and the rest of the name). + + install_config: + type: string + description: JSON formatted string of install config values. + + int_vlan_id: + type: string + description: Optional VLAN ID associated with the internal network. + default: "" + + lcm_keypair: + type: string + description: Keypair used for lifecycle management access. + constraints: + - custom_constraint: nova.keypair + + ssh_access_key: + type: string + description: | + Optional SSH public key value for lifecycle management + administrative access. + + v4_dns_server: + type: string + description: (optional) IPV4 DNS server. + default: "" + + v6_dns_server: + type: string + description: (optional) IPV6 DNS server. + default: "" + + v4_enum_server: + type: string + description: (optional) IPV4 ENUM server. + default: "" + + v6_enum_server: + type: string + description: (optional) IPV6 ENUM server. + default: "" + + v4_ntp_server: + type: string + description: (optional) IPV4 NTP server. + default: "" + + v6_ntp_server: + type: string + description: (optional) IPV6 NTP server. + default: "" + + net_types: + type: comma_delimited_list + description: CDL of subnet tags. + default: [] + + vnf_id: + type: string + description: Unique ID for this VNF instance. + default: "" + + vnf_name: + type: string + description: Unique name for this VNF instance. + default: "" + + vnf_module_id: + type: string + description: Unique ID for this VNF Module instance. + default: "" + + vnf_module_name: + type: string + description: Unique name for this VNF module instance. + default: "" + + net_ids: + type: json + description: Map NET types to the list of NET IDs. + + subnet_ids: + type: json + description: Map NET types to the list of subnet IDs. + + cidrs: + type: json + description: Map NET types to the list of CIDR values. + + default_gateways: + type: json + description: Map NET types to the list of default gateways. + + vmtype_count: + type: number + description: Number of supported VM types. + default: 1 + + vmtype_list: + type: comma_delimited_list + description: List of VM type tags. + default: [] + + vm_counts: + type: json + description: | + Maps VM type tags to the number of pairs of that type. + default: {} + + vm_info: + type: json + description: Provides keys into type-specific parameters and vnic info. + default: {} + + availability_zones: + type: comma_delimited_list + description: CDL of availability zones. + + images: + type: json + description: Maps VM type tags to the image ID for that type. + default: {} + + flavors: + type: json + description: Maps VM type tags to the flavor ID for that type. + default: {} + + ip_lists: + type: json + description: Maps IP list parameter names to the list. + + name_lists: + type: json + description: Maps VM type tags to the list of VM names for that type. + + # This parameter should always be defaulted. + count_str_list: + type: comma_delimited_list + description: List of 2 digit list indexes. + default: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"] + + # This parameter should always be defaulted. + null2zero: + type: json + default: {"": "0"} + +resources: + + GROUPINFO: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: vmtype_count} + resource_def: + type: LCP-ATTGRP.template.yaml + properties: + vmtype_index: '%index%' + vmtype_list: {get_param: vmtype_list} + vm_info: {get_param: vm_info} + availability_zones: {get_param: availability_zones} + flavors: {get_param: flavors} + name_lists: {get_param: name_lists} + + GROUPXLATE: + depends_on: + - GROUPINFO + type: LCP-XlateL2J.template.yaml + properties: + info: {get_attr: [GROUPINFO, vmtype_info]} + +outputs: + + backup_file: + description: | + <cURL path>/<backup file> + This is only used for restore (aka "disaster recovery"). + The value only needs to go to the OAM pair. + Note that there is a 255 character limit on this value. + value: {get_param: backup_file} + + default_action: + description: | + Default action for all VMs. This may be overridden for + specific VM groups, pairs or VMs via the ENV file. + value: {get_param: default_action} + + install_config: + description: JSON formatted string of install config values. + value: {get_param: install_config} + + lcm_keypair: + description: Keypair used for lifecycle management access. + value: {get_param: lcm_keypair} + + ssh_access_key: + description: | + Optional SSH public key value for lifecycle management + administrative access. + value: {get_param: ssh_access_key} + + ext_net_info: + description: External network info. + value: + str_replace: + template: {str_replace: { template: "{ $val }", params: { + $val: {list_join: [',', {repeat: {template: "\"$tag<%idx%>\": { \"id\": \"$net<%idx%>\", \"subnet_id\": \"$subnet<%idx%>\", \"cidr\": \"$cidr<%idx%>\", \"default_gateway\": \"$defgw<%idx%>\" }", for_each: {<%idx%>: {get_param: count_str_list}}}}]} }}} + params: + $tag00: {get_param: [net_types, 0]} + $net00: {get_param: [net_ids, {get_param: [net_types, 0]}]} + $subnet00: {get_param: [subnet_ids, {get_param: [net_types, 0]}]} + $cidr00: {get_param: [cidrs, {get_param: [net_types, 0]}]} + $defgw00: {get_param: [default_gateways, {get_param: [net_types, 0]}]} + $tag01: {get_param: [net_types, 1]} + $net01: {get_param: [net_ids, {get_param: [net_types, 1]}]} + $subnet01: {get_param: [subnet_ids, {get_param: [net_types, 1]}]} + $cidr01: {get_param: [cidrs, {get_param: [net_types, 1]}]} + $defgw01: {get_param: [default_gateways, {get_param: [net_types, 1]}]} + $tag02: {get_param: [net_types, 2]} + $net02: {get_param: [net_ids, {get_param: [net_types, 2]}]} + $subnet02: {get_param: [subnet_ids, {get_param: [net_types, 2]}]} + $cidr02: {get_param: [cidrs, {get_param: [net_types, 2]}]} + $defgw02: {get_param: [default_gateways, {get_param: [net_types, 2]}]} + $tag03: {get_param: [net_types, 3]} + $net03: {get_param: [net_ids, {get_param: [net_types, 3]}]} + $subnet03: {get_param: [subnet_ids, {get_param: [net_types, 3]}]} + $cidr03: {get_param: [cidrs, {get_param: [net_types, 3]}]} + $defgw03: {get_param: [default_gateways, {get_param: [net_types, 3]}]} + $tag04: {get_param: [net_types, 4]} + $net04: {get_param: [net_ids, {get_param: [net_types, 4]}]} + $subnet04: {get_param: [subnet_ids, {get_param: [net_types, 4]}]} + $cidr04: {get_param: [cidrs, {get_param: [net_types, 4]}]} + $defgw04: {get_param: [default_gateways, {get_param: [net_types, 4]}]} + $tag05: {get_param: [net_types, 5]} + $net05: {get_param: [net_ids, {get_param: [net_types, 5]}]} + $subnet05: {get_param: [subnet_ids, {get_param: [net_types, 5]}]} + $cidr05: {get_param: [cidrs, {get_param: [net_types, 5]}]} + $defgw05: {get_param: [default_gateways, {get_param: [net_types, 5]}]} + + total_vm_pairs: + description: | + String that will evaluate to the total number of VM pairs. + value: + str_replace: + template: {list_join: ['+', {repeat: {template: "$v<%vidx%>$z<%vidx%>", +for_each: {<%vidx%>: {get_param: count_str_list}}}}]} + params: + $v00: {get_param: [vm_counts, {get_param: [vmtype_list, 0]}]} + $z00: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 0]}]}]} + $v01: {get_param: [vm_counts, {get_param: [vmtype_list, 1]}]} + $z01: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 1]}]}]} + $v02: {get_param: [vm_counts, {get_param: [vmtype_list, 2]}]} + $z02: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 2]}]}]} + $v03: {get_param: [vm_counts, {get_param: [vmtype_list, 3]}]} + $z03: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 3]}]}]} + $v04: {get_param: [vm_counts, {get_param: [vmtype_list, 4]}]} + $z04: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 4]}]}]} + $v05: {get_param: [vm_counts, {get_param: [vmtype_list, 5]}]} + $z05: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 5]}]}]} + $v06: {get_param: [vm_counts, {get_param: [vmtype_list, 6]}]} + $z06: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 6]}]}]} + $v07: {get_param: [vm_counts, {get_param: [vmtype_list, 7]}]} + $z07: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 7]}]}]} + $v08: {get_param: [vm_counts, {get_param: [vmtype_list, 8]}]} + $z08: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 8]}]}]} + $v09: {get_param: [vm_counts, {get_param: [vmtype_list, 9]}]} + $z09: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 9]}]}]} + $v10: {get_param: [vm_counts, {get_param: [vmtype_list, 10]}]} + $z10: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 10]}]}]} + $v11: {get_param: [vm_counts, {get_param: [vmtype_list, 11]}]} + $z11: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 11]}]}]} + $v12: {get_param: [vm_counts, {get_param: [vmtype_list, 12]}]} + $z12: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 12]}]}]} + $v13: {get_param: [vm_counts, {get_param: [vmtype_list, 13]}]} + $z13: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 13]}]}]} + $v14: {get_param: [vm_counts, {get_param: [vmtype_list, 14]}]} + $z14: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 14]}]}]} + $v15: {get_param: [vm_counts, {get_param: [vmtype_list, 15]}]} + $z15: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 15]}]}]} + $v16: {get_param: [vm_counts, {get_param: [vmtype_list, 16]}]} + $z16: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 16]}]}]} + $v17: {get_param: [vm_counts, {get_param: [vmtype_list, 17]}]} + $z17: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 17]}]}]} + $v18: {get_param: [vm_counts, {get_param: [vmtype_list, 18]}]} + $z18: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 18]}]}]} + $v19: {get_param: [vm_counts, {get_param: [vmtype_list, 19]}]} + $z19: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 19]}]}]} + $v20: {get_param: [vm_counts, {get_param: [vmtype_list, 20]}]} + $z20: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 20]}]}]} + $v21: {get_param: [vm_counts, {get_param: [vmtype_list, 21]}]} + $z21: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 21]}]}]} + $v22: {get_param: [vm_counts, {get_param: [vmtype_list, 22]}]} + $z22: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 22]}]}]} + $v23: {get_param: [vm_counts, {get_param: [vmtype_list, 23]}]} + $z23: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 23]}]}]} + $v24: {get_param: [vm_counts, {get_param: [vmtype_list, 24]}]} + $z24: {get_param: [null2zero, {get_param: [vm_counts, {get_param: [vmtype_list, 24]}]}]} + + vm_counts: + description: | + Maps VM type tags to the number of pairs of that type. + value: {get_param: vm_counts} + + usage_info: + description: Usage info JSON map. + value: { + "int_vlan_id": {get_param: int_vlan_id}, + "cloud_name_delimiter": {get_param: cloud_name_delimiter}, + "defaults": { + "image": { + "0": {get_param: [images, {get_param: [vmtype_list, 0]}]}, + "1": {get_param: [images, {get_param: [vmtype_list, 0]}]} + }, + availability_zone: { + "0": {get_param: [availability_zones, 0]}, + "1": {get_param: [availability_zones, 1]} + }, + storage_zone: { + "0": "nova", + "1": "nova" + }, + "binding_type": "normal" + }, + "v4_dns_server": {get_param: v4_dns_server}, + "v6_dns_server": {get_param: v6_dns_server}, + "v4_enum_server": {get_param: v4_enum_server}, + "v6_enum_server": {get_param: v6_enum_server}, + "v4_ntp_server": {get_param: v4_ntp_server}, + "v6_ntp_server": {get_param: v6_ntp_server}, + "vnf_id": {get_param: vnf_id}, + "vnf_name": {get_param: vnf_name}, + "vnf_module_id": {get_param: vnf_module_id}, + "vnf_module_name": {get_param: vnf_module_name}, + "ATT_ip_lists": {get_param: ip_lists}, + "ATT_vm_info": {get_param: vm_info}, + "group_info": {get_attr: [GROUPXLATE, jout]} + } + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-PairGroup.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-PairGroup.template.yaml new file mode 100644 index 0000000000..224165b9d8 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-PairGroup.template.yaml @@ -0,0 +1,687 @@ +heat_template_version: 2015-04-30 + +description: | + Template for a member of an elastic collection of VMgroups. + That is, this template creates the resources needed for one + VMgroup...one unit of elasticity of the specified type. + +parameters: + + backup_file: + type: string + description: | + <cURL path>/<backup file> + This is only used for restore (aka "disaster recovery") and + only referenced on OAM-A. + default: "" + + default_action: + type: string + description: | + Default action for all VMs. This can be overridden on a + per-VM group, pair or VM basis via the ENV file. + constraints: + - allowed_values: + - "install" + - "recreate" + - "scale-in" + - "scale-out" + - "scale-up" + - "scale-down" + - "heal" + - "update" + default: "install" + + # This parameter should always be defaulted. + chk4override: + type: json + description: | + Used to set a string value to either a default from a json + map (keyed by "default") or to a VM member_index keyed override + value in the same map. + default: {"": "defaults"} + + config_info: + type: json + description: Service configuration and network layout. + default: {} + + # This parameter should always be defaulted. + default_names: + type: json + description: | + Default names for resources. The first key is the override + value from the ENV file. If it is empty the result will be + the default value map. Otherwise the result will be empty. + default: { + "": { + "storage": { + "0": "STORAGE_VOL0", + "1": "STORAGE_VOL1" + }, + "drdb": { + "0": "DRBD_VOL0", + "1": "DRBD_VOL1", + }, + "vmname": { + "0": "VM0", + "1": "VM1" + } + } + } + + default_name_base: + type: json + description: | + Default name base for resources. The first key is the override + value from the ENV file. If it is empty the result will be + the default value. Otherwise the result will be empty. + + ext_net_info: + type: json + description: External network info. Keyed by subnet tag. + + group_id: + type: string + description: ID number of the elastic group this pair is a member of. + + group_index: + type: string + description: Index of the VM pair within the elastic group. + + group_tag: + type: string + description: Key into "usage_info" for members of this elastic group. + + install_config: + type: string + description: JSON formatted string of install config values. + + int_net_count: + type: string + description: Number of internal networks. + + # This parameter should always be defaulted. + int_net_map: + type: json + description: | + Maps the number of internal networks to the resource string + used to get the first external vnic IP addresses. + default: { + "1": "resource.1", + "2": "resource.2" + } + + int_net_info: + type: json + description: Internal network info. Keyed by INTERNALnet[0|1]. + + lcm_keypair: + type: string + description: Lifecycle management access key pair. + constraints: + - custom_constraint: nova.keypair + default: "" + + current_group_count: + type: string + description: | + Current VM pair count within the elastic group. + + certificate: + type: string + description: | + Certificate to use when accessing data from from secure URLs. + default: "" + + name_delimiter: + type: string + description: Flexname name prefix/suffix delimiter. + default: "-" + + net_info_str: + type: string + description: | + JSON formatted string with all network info. + This is redundant with int_net_info and ext_net_info except + in Kilo there is no way to convert json to string for + output as a personality file. + + role: + type: string + description: VM role during LCM activities. + constraints: + - allowed_values: ["oam", "other"] + default: "other" + + sec_group: + type: string + description: All-open security group UUID. + + ssh_public_key: + type: string + description: Public SSH key for VM to VM communication in this system. + + ssh_private_key: + type: string + description: Private SSH key for VM to VM communication in this system. + hidden: True + + ssh_access_key: + type: string + description: Public SSH key for external access. + default: "" + + stack: + type: string + description: Stack name. + constraints: + - allowed_pattern: "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" + + storage_size: + type: number + description: Size of /storage in GB. + default: 4 + + total_pair_count: + type: string + description: | + This string will evaluate to the number of PairGroups in the VNF. + + usage_info: + type: json + description: | + Per-VM/vNIC data for members of this elastic group. + + # This parameter should always be defaulted. + validation_info: + type: json + description: | + Dummy data to work around Oopenstack template validation issue + https://bugs.launchpad.net/heat/+bug/1559807 + The two layers of "defaults" keys supports use of + chk4override at two levels. + default: { + "defaults": { + "defaults": { + "image": "dummyImage", + } + } + } + +resources: + + NOKIA-LCP-RandomA: + type: OS::Heat::RandomString + properties: + length: 512 + + NOKIA-LCP-Block-StorageA: + type: OS::Cinder::Volume + properties: + description: Used for VM /storage partition. + name: + str_replace: + template: $stk$delim$base$override$default + params: + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "storage_name"]}]} + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "storage_name"]}, "storage", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "storage_name"]} + $delim: {get_param: name_delimiter} + $stk: {get_param: stack} + size: {get_param: storage_size} + availability_zone: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "storage_zone"]}]}, "storage_zone", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "storage_zone"]} + + NOKIA-LCP-BlockAttachA: + type: OS::Cinder::VolumeAttachment + depends_on: + - NOKIA-LCP-VMA + - NOKIA-LCP-Block-StorageA + properties: + instance_uuid: {get_resource: NOKIA-LCP-VMA} + volume_id: {get_resource: NOKIA-LCP-Block-StorageA} + + NOKIA-LCP-VMportGroupA: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [config_info, vnic_count]} + resource_def: + type: LCP-Port.template.yaml + properties: + default_name_base: + str_replace: + template: | + {"": "$base$vm"} + params: + $base: {get_param: [default_name_base, ""]} + $vm: {get_param: [default_names, "", "vmname", "0"]} + group_index: {get_param: group_index} + vm_index: "0" + vnic_index: '%index%' + config_info: {get_param: config_info} + ext_net_info: {get_param: ext_net_info} + int_net_info: {get_param: int_net_info} + group_tag: {get_param: group_tag} + group_id: {get_param: group_id} + name_delimiter: {get_param: name_delimiter} + open_sec_group: {get_param: sec_group} + stack: {get_param: stack} + usage_info: {get_param: usage_info} + + NOKIA-LCP-VMA: + type: OS::Nova::Server + depends_on: + - NOKIA-LCP-Block-StorageA + - NOKIA-LCP-RandomA + - NOKIA-LCP-VMportGroupA + properties: + name: + str_replace: + template: $stk$delim$base$override$default + params: + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "name"]}]} + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "name"]}, "vmname", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "name"]} + $delim: {get_param: name_delimiter} + $stk: {get_param: stack} + availability_zone: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "availability_zone"]}]}, "availability_zone", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "availability_zone"]} + image: + str_replace: + template: $override$default$validate + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "0"]}]}, "image", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "0"]} + $validate: {get_param: [validation_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "0"]}]}, {get_param: [chk4override, {get_param: [usage_info, "defaults", "image", "0"]}]}, "image"]} + image_update_policy: REBUILD + flavor: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "flavor"]}]}, "flavor", "0"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "flavor"]} + networks: [{get_attr: [NOKIA-LCP-VMportGroupA, PortEntry]}] + key_name: {get_param: lcm_keypair} + # Note that the flavor default and override values are included + # in CLDsetup.json to force a VM rebuild (instead of replace or resize) + # if the VM flavor is changed. + personality: { + /storage/cloud/.ssh/SSHpubkey: {get_param: ssh_public_key}, + /storage/cloud/.ssh/SSHprivkey: {get_param: ssh_private_key}, + /storage/cloud/CLDsetup_data.json: { + str_replace: { + template: "{\n + \t\"drbd_uuid\": \"\",\n + \t\"flavor_default\": \"$flavor_default\",\n + \t\"flavor_override\": \"$flavor_override\",\n + \t\"int_vlan_id\": \"$int_vlan_id\",\n + \t\"random\": \"$random\",\n + \t\"SSHpubkeyFile\": \"/storage/cloud/.ssh/SSHpubkey\",\n + \t\"SSHprivkeyFile\": \"/storage/cloud/.ssh/SSHprivkey\",\n + \t\"SSHaccessKey\": \"$acckey\",\n + \t\"stk\": \"$stk\",\n + \t\"uuid_storage\": \"$uuid_storage\"\n + }", + params: { + $acckey: {get_param: ssh_access_key}, + $flavor_default: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "flavor"]}]}, "flavor", "0"]}, + $flavor_override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "flavor"]}, + $int_vlan_id: {get_param: [usage_info, int_vlan_id]}, + $random: {get_resource: NOKIA-LCP-RandomA}, + $stk: {get_param: stack}, + $uuid_storage: {get_resource: NOKIA-LCP-Block-StorageA} + } + } + }, + /storage/cloud/discover/GlobalConfig.json: { + str_replace: { + template: " + { + \"v4_dns_server\": \"$v4dns\", + \"v6_dns_server\": \"$v6dns\", + \"v4_enum_server\": \"$v4enum\", + \"v6_enum_server\": \"$v6enum\", + \"v4_ntp_server\": \"$v4ntp\", + \"v6_ntp_server\": \"$v6ntp\", + $cfg + } + ", + params: { + $v4dns: {get_param: [usage_info, v4_dns_server]}, + $v6dns: {get_param: [usage_info, v6_dns_server]}, + $v4enum: {get_param: [usage_info, v4_enum_server]}, + $v6enum: {get_param: [usage_info, v6_enum_serve]}, + $v4ntp: {get_param: [usage_info, v4_ntp_server]}, + $v6ntp: {get_param: [usage_info, v6_ntp_server]}, + $cfg: {get_param: install_config} + } + } + }, + /storage/cloud/discover/VMinfo.json: { + str_replace: { + template: " + {\n + \"vm_suffix\": \"$base$override$default\",\n + \"service_config\": $servcfg,\n + \"v4_default_gateway\": \"$v4gateway\",\n + \"v6_default_gateway\": \"$v6gateway\",\n + \"v4_static_routes\": $v4static_routes,\n + \"v6_static_routes\": $v6static_routes,\n + \"IPinfo\": [\n$ipinfo\n],\n + \"Netinfo\": $netinfo\n + }\n + ", + params: { + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", name]}]}, + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", name]}, "vmname", "0"]}, + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", name]}, + $servcfg: {get_param: [config_info, poolinfo]}, + $v4gateway: {get_param: [config_info, v4_default_gateway]}, + $v6gateway: {get_param: [config_info, v6_default_gateway]}, + $v4static_routes: {get_param: [config_info, v4_static_routes]}, + $v6static_routes: {get_param: [config_info, v6_static_routes]}, + $ipinfo: {list_join: [',', {get_attr: [NOKIA-LCP-VMportGroupA, PortIpInfo]}]}, + $netinfo: {get_param: net_info_str} + } + } + }, + } + config_drive: "true" + metadata: { + action: { + str_replace: { + template: "$pairside$vm", + params: { + $pairside: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", "action"]}]}, "action", "0"]}, + $vm: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "0", action]} + } + } + }, + backup_file: {get_param: backup_file}, + default_action: {get_param: default_action}, + group_type: "pair", + group_index: {get_param: group_index}, + current_group_count: {get_param: current_group_count}, + certificate: {get_param: certificate}, + member_index: "0", + side_action: {get_param: [usage_info, defaults, action, "0"]}, + total_pair_count: {get_param: total_pair_count}, + vnf_id: {get_param: [usage_info, vnf_id]}, + vnf_name: {get_param: [usage_info, vnf_name]}, + vnf_module_id: {get_param: [usage_info, vnf_module_id]}, + vnf_module_name: {get_param: [usage_info, vnf_module_name]}, + vnf_role: {get_param: group_tag} + } + user_data: + str_replace: + template: | + #!/bin/bash + + tmp=$(/opt/LSS/sbin/CLDbase "pair" "$tag" "$grp_id" "$grp_index" "0" "$role") + ret=$? + + if (( ret != 0 )); then + echo "CLDbase failed, ret=${ret}: ${tmp}" + exit 1 + fi + exit 0 + params: + $grp_id: {get_param: group_id} + $grp_index: {get_param: group_index} + $role: {get_param: role} + $tag: {get_param: group_tag} + + NOKIA-LCP-RandomB: + type: OS::Heat::RandomString + properties: + length: 512 + + NOKIA-LCP-Block-StorageB: + type: OS::Cinder::Volume + properties: + description: Used for VM /storage partition. + name: + str_replace: + template: $stk$delim$base$override$default + params: + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "storage_name"]}]} + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "storage_name"]}, "storage", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "storage_name"]} + $delim: {get_param: name_delimiter} + $stk: {get_param: stack} + size: {get_param: storage_size} + availability_zone: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "storage_zone"]}]}, "storage_zone", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "storage_zone"]} + + NOKIA-LCP-BlockAttachB: + type: OS::Cinder::VolumeAttachment + depends_on: + - NOKIA-LCP-VMB + - NOKIA-LCP-Block-StorageB + properties: + instance_uuid: {get_resource: NOKIA-LCP-VMB} + volume_id: {get_resource: NOKIA-LCP-Block-StorageB} + + NOKIA-LCP-VMportGroupB: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: [config_info, vnic_count]} + resource_def: + type: LCP-Port.template.yaml + properties: + default_name_base: + str_replace: + template: | + {"": "$base$vm"} + params: + $base: {get_param: [default_name_base, ""]} + $vm: {get_param: [default_names, "", "vmname", "1"]} + group_index: {get_param: group_index} + vm_index: "1" + vnic_index: '%index%' + config_info: {get_param: config_info} + ext_net_info: {get_param: ext_net_info} + int_net_info: {get_param: int_net_info} + group_tag: {get_param: group_tag} + group_id: {get_param: group_id} + name_delimiter: {get_param: name_delimiter} + open_sec_group: {get_param: sec_group} + stack: {get_param: stack} + usage_info: {get_param: usage_info} + + NOKIA-LCP-VMB: + type: OS::Nova::Server + depends_on: + - NOKIA-LCP-Block-StorageB + - NOKIA-LCP-RandomB + - NOKIA-LCP-VMportGroupB + properties: + name: + str_replace: + template: $stk$delim$base$override$default + params: + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "name"]}]} + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "name"]}, "vmname", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "name"]} + $delim: {get_param: name_delimiter} + $stk: {get_param: stack} + availability_zone: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "availability_zone"]}]}, "availability_zone", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "availability_zone"]} + image: + str_replace: + template: $override$default$validate + params: + $default: {get_param: [usage_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "1"]}]}, "image", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "1"]} + $validate: {get_param: [validation_info, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, "overrides", "image", "1"]}]}, {get_param: [chk4override, {get_param: [usage_info, "defaults", "image", "1"]}]}, "image"]} + image_update_policy: REBUILD + flavor: + str_replace: + template: $override$default + params: + $default: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "flavor"]}]}, "flavor", "1"]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "flavor"]} + key_name: {get_param: lcm_keypair} + networks: [{get_attr: [NOKIA-LCP-VMportGroupB, PortEntry]}] + # Note that the flavor default and override values are included + # in CLDsetup.json to force a VM rebuild (instead of replace or resize) + # if the VM flavor is changed. + personality: { + /storage/cloud/.ssh/SSHpubkey: {get_param: ssh_public_key}, + /storage/cloud/.ssh/SSHprivkey: {get_param: ssh_private_key}, + /storage/cloud/CLDsetup_data.json: { + str_replace: { + template: "{\n + \t\"drbd_uuid\": \"\",\n + \t\"flavor_default\": \"$flavor_default\",\n + \t\"flavor_override\": \"$flavor_override\",\n + \t\"int_vlan_id\": \"$int_vlan_id\",\n + \t\"random\": \"$random\",\n + \t\"SSHpubkeyFile\": \"/storage/cloud/.ssh/SSHpubkey\",\n + \t\"SSHprivkeyFile\": \"/storage/cloud/.ssh/SSHprivkey\",\n + \t\"SSHaccessKey\": \"$acckey\",\n + \t\"stk\": \"$stk\",\n + \t\"uuid_storage\": \"$uuid_storage\"\n + }", + params: { + $acckey: {get_param: ssh_access_key}, + $flavor_default: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "flavor"]}]}, "flavor", "1"]}, + $flavor_override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "flavor"]}, + $int_vlan_id: {get_param: [usage_info, int_vlan_id]}, + $random: {get_resource: NOKIA-LCP-RandomB}, + $stk: {get_param: stack}, + $uuid_storage: {get_resource: NOKIA-LCP-Block-StorageB} + } + } + }, + /storage/cloud/discover/GlobalConfig.json: { + str_replace: { + template: " + { + \"v4_dns_server\": \"$v4dns\", + \"v6_dns_server\": \"$v6dns\", + \"v4_enum_server\": \"$v4enum\", + \"v6_enum_server\": \"$v6enum\", + \"v4_ntp_server\": \"$v4ntp\", + \"v6_ntp_server\": \"$v6ntp\", + $cfg + } + ", + params: { + $v4dns: {get_param: [usage_info, v4_dns_server]}, + $v6dns: {get_param: [usage_info, v6_dns_server]}, + $v4enum: {get_param: [usage_info, v4_enum_server]}, + $v6enum: {get_param: [usage_info, v6_enum_serve]}, + $v4ntp: {get_param: [usage_info, v4_ntp_server]}, + $v6ntp: {get_param: [usage_info, v6_ntp_server]}, + $cfg: {get_param: install_config} + } + } + }, + /storage/cloud/discover/VMinfo.json: { + str_replace: { + template: " + {\n + \"vm_suffix\": \"$base$override$default\", + \"service_config\": $servcfg,\n + \"v4_default_gateway\": \"$v4gateway\",\n + \"v6_default_gateway\": \"$v6gateway\",\n + \"v4_static_routes\": $v4static_routes,\n + \"v6_static_routes\": $v6static_routes,\n + \"IPinfo\": [\n$ipinfo\n],\n + \"Netinfo\": $netinfo\n + }\n + ", + params: { + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", name]}]}, + $default: {get_param: [default_names, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", name]}, "vmname", "1"]}, + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", name]}, + $servcfg: {get_param: [config_info, poolinfo]}, + $v4gateway: {get_param: [config_info, v4_default_gateway]}, + $v6gateway: {get_param: [config_info, v6_default_gateway]}, + $v4static_routes: {get_param: [config_info, v4_static_routes]}, + $v6static_routes: {get_param: [config_info, v6_static_routes]}, + $ipinfo: {list_join: [',', {get_attr: [NOKIA-LCP-VMportGroupB, PortIpInfo]}]}, + $netinfo: {get_param: net_info_str} + } + } + }, + } + config_drive: "true" + metadata: { + action: { + str_replace: { + template: "$pairside$vm", + params: { + $pairside: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: [chk4override, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", "action"]}]}, "action", "1"]}, + $vm: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, "1", action]} + } + } + }, + backup_file: {get_param: backup_file}, + default_action: {get_param: default_action}, + group_type: "pair", + group_index: {get_param: group_index}, + current_group_count: {get_param: current_group_count}, + certificate: {get_param: certificate}, + member_index: "1", + side_action: {get_param: [usage_info, defaults, action, "1"]}, + total_pair_count: {get_param: total_pair_count}, + vnf_id: {get_param: [usage_info, vnf_id]}, + vnf_name: {get_param: [usage_info, vnf_name]}, + vnf_module_id: {get_param: [usage_info, vnf_module_id]}, + vnf_module_name: {get_param: [usage_info, vnf_module_name]}, + vnf_role: {get_param: group_tag} + } + user_data: + str_replace: + template: | + #!/bin/bash + + tmp=$(/opt/LSS/sbin/CLDbase "pair" "$tag" "$grp_id" "$grp_index" "1" "$role") + ret=$? + + if (( ret != 0 )); then + echo "CLDbase failed, ret=${ret}: ${tmp}" + exit 1 + fi + exit 0 + params: + $grp_id: {get_param: group_id} + $grp_index: {get_param: group_index} + $role: {get_param: role} + $tag: {get_param: group_tag} + +outputs: + + Version: + description: | + Template file version number. This should be updated + each time a non-comment change is made to this file. + value: K1 + + VMA-EXT_IPS: + description: IP addresses assigned to the first external network. + value: {get_attr: [NOKIA-LCP-VMportGroupA, {get_param: [int_net_map, {get_param: int_net_count}]}, ASSIGNED_IPS]} + + VMB-EXT_IPS: + description: IP addresses assigned to the first external network. + value: {get_attr: [NOKIA-LCP-VMportGroupB, {get_param: [int_net_map, {get_param: int_net_count}]}, ASSIGNED_IPS]} + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Port.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Port.template.yaml new file mode 100644 index 0000000000..ebaadc444a --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Port.template.yaml @@ -0,0 +1,719 @@ +heat_template_version: 2015-04-30 + +description: | + Wrapper used to create an OS::Neutron::Port for a particular + vNIC for each VM in a group. + +parameters: + + # This parameter should not be overridden. + abe2ip: + type: json + description: | + Step 1 maps "anything but empty" (abe) to an empty string + and an empty string to "no_comma". + Step 2 maps an empty string to: "ip_address": " + (i.e. part of ip_address json entry). + Step 3 maps an empty string to the closing quote of the json entry. + default: { + "step1": {"": "no_comma"}, + "step2": {"": ", \"ip_address\": \""}, + "step3": {"": "\""} + } + + + # This parameter should not be overridden. + getkey: + type: json + description: | + Maps the empty string to "EMPTY" and anything else to "". + This is used in generating PortIpInfo where we only want + to produce output for lines in the ENV that are actually + populated (checking if subnet is set is good enough). + default: {"": "EMPTY"} + + # This parameter should not be overridden. + checkit: + type: json + description: | + Used to get the str_replace template lines for PortIpInfo. + Combined with getkey use of this map will result in only + including populated lines in the output. + default: { + "EMPTY": {}, + "": { + "0": '{"label":"$label00", "subnet":"$snet00", "ip":"$rip00$arip00"},', + "1": '{"label":"$label01", "subnet":"$snet01", "ip":"$rip01$arip01"},', + "2": '{"label":"$label02", "subnet":"$snet02", "ip":"$rip02$arip02"},', + "3": '{"label":"$label03", "subnet":"$snet03", "ip":"$rip03$arip03"},', + "4": '{"label":"$label04", "subnet":"$snet04", "ip":"$rip04$arip04"},', + "5": '{"label":"$label05", "subnet":"$snet05", "ip":"$rip05$arip05"},', + "6": '{"label":"$label06", "subnet":"$snet06", "ip":"$rip06$arip06"},', + "7": '{"label":"$label07", "subnet":"$snet07", "ip":"$rip07$arip07"},', + "8": '{"label":"$label08", "subnet":"$snet08", "ip":"$rip08$arip08"},', + "9": '{"label":"$label09", "subnet":"$snet09", "ip":"$rip09$arip09"},', + "10": '{"label":"$label10", "subnet":"$snet10", "ip":"$rip10$arip10"},', + "11": '{"label":"$label11", "subnet":"$snet11", "ip":"$rip11$arip11"},', + "12": '{"label":"$label12", "subnet":"$snet12", "ip":"$rip12$arip12"},', + "13": '{"label":"$label13", "subnet":"$snet13", "ip":"$rip13$arip13"},', + "14": '{"label":"$label14", "subnet":"$snet14", "ip":"$rip14$arip14"},', + "15": '{"label":"$label15", "subnet":"$snet15", "ip":"$rip15$arip15"},', + "16": '{"label":"$label16", "subnet":"$snet16", "ip":"$rip16$arip16"},', + "17": '{"label":"$label17", "subnet":"$snet17", "ip":"$rip17$arip17"},', + "18": '{"label":"$label18", "subnet":"$snet18", "ip":"$rip18$arip18"},', + "19": '{"label":"$label19", "subnet":"$snet19", "ip":"$rip19$arip19"},', + "20": '{"label":"$label20", "subnet":"$snet20", "ip":"$rip20$arip20"},', + "21": '{"label":"$label21", "subnet":"$snet21", "ip":"$rip21$arip21"},', + "22": '{"label":"$label22", "subnet":"$snet22", "ip":"$rip22$arip22"},', + "23": '{"label":"$label23", "subnet":"$snet23", "ip":"$rip23$arip23"},', + "24": '{"label":"$label24", "subnet":"$snet24", "ip":"$rip24$arip24"},', + "25": '{"label":"$label25", "subnet":"$snet25", "ip":"$rip25$arip25"},' + } + } + + config_info: + type: json + description: VM configuration info. + + # This parameter should not be overridden. + default_name: + type: json + description: | + Default port names. The first key is the override value from + the ENV file. The second key is the vnic index. + Note that if the override value is empty the default name is + found. If the override value is not empty the empty string is found. + default: { + "": { + "0": "eth0", "1": "eth1", "2": "eth2", "3": "eth3", "4": "eth4", + "5": "eth5", "6": "eth6", "7": "eth7", "8": "eth8", "9": "eth9", + "10": "eth10", "11": "eth11", "12": "eth12", "13": "eth13", + "14": "eth14", "15": "eth15" + } + } + + default_name_base: + type: json + description: | + Default base name for resources. The first key is the override + value from the ENV file. If it is empty the result will be + the default value. Otherwise the result will be empty. + + group_index: + type: string + description: Index of the VM pair within the elastic group. + + group_tag: + type: string + description: Key into "usage_info" for members of this elastic group. + + group_id: + type: string + description: ID number of the elastic group this pair is a member of. + + ext_net_info: + type: json + description: Information about all provider subnets. + + int_net_info: + type: json + description: Information about internal networks. + + name_delimiter: + type: string + description: Flexname name prefix/suffix delimiter. + + open_sec_group: + type: string + description: UUID of the open security group. + + override_chk: + type: json + description: Maps anything but empty to empty and empty to "defaults". + default: {"": "defaults"} + + # This parameter should not be overridden. + int_net_chk: + type: json + description: | + Index in with the subnet ID from the external network + and then with the desired subnet ID. If the internal networks + are provider networks then the result will be "". Otherwise + it will be the desired subnet ID which can be used to key + into int_net_info to get the UUID. + default: { + "": {"INTERNALnet0": "INTERNALnet0", "INTERNALnet1": "INTERNALnet1"}, + } + + stack: + type: string + description: Stack name. + constraints: + - allowed_pattern: "^[a-zA-Z0-9][a-zA-Z0-9_-]*$" + + usage_info: + type: json + description: Per-vnic/per-VM network usage info (e.g. IP address values). + + vm_index: + type: string + description: VM group member index. + + vnic_index: + type: string + description: VNIC number within the VM. + +resources: + + # When looking at access into the config_info per_VM vnic_info attribute, + # keep in mind that the 0th entry holds the count of requested IPs so + # the "0th" IP is in entry 1 and so on. + + # Get CIDRs of all subnets to generate the allowed_address_pairs list. + # + # Note that there will only be at most one internal subnet on + # any VNIC (and there won't be an external at the same time). + NOKIA-LCP-CIDRxlate: + type: LCP-Xlate.template.yaml + properties: + info: + str_replace: + template: | + { + "0": {"ip_address": "$int000$ext000"}, + "1": {"ip_address": "$ext001"}, + "2": {"ip_address": "$ext002"}, + "3": {"ip_address": "$ext003"}, + "4": {"ip_address": "$ext004"}, + "5": {"ip_address": "$ext005"}, + "6": {"ip_address": "$ext006"}, + "7": {"ip_address": "$ext007"}, + "8": {"ip_address": "$ext008"}, + "9": {"ip_address": "$ext009"}, + "10": {"ip_address": "$ext010"}, + "11": {"ip_address": "$ext011"}, + "12": {"ip_address": "$ext012"}, + "13": {"ip_address": "$ext013"}, + "14": {"ip_address": "$ext014"}, + "15": {"ip_address": "$ext015"}, + "16": {"ip_address": "$ext016"}, + "17": {"ip_address": "$ext017"}, + "18": {"ip_address": "$ext018"}, + "19": {"ip_address": "$ext019"}, + "20": {"ip_address": "$ext020"}, + "21": {"ip_address": "$ext021"}, + "22": {"ip_address": "$ext022"}, + "23": {"ip_address": "$ext023"}, + "24": {"ip_address": "$ext024"}, + "25": {"ip_address": "$ext025"} + } + params: + $int000: {get_param: [int_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 0]}, cidr]} + $ext000: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 0]}, cidr]} + $ext001: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 1]}, cidr]} + $ext002: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 2]}, cidr]} + $ext003: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 3]}, cidr]} + $ext004: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 4]}, cidr]} + $ext005: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 5]}, cidr]} + $ext006: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 6]}, cidr]} + $ext007: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 7]}, cidr]} + $ext008: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 8]}, cidr]} + $ext009: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 9]}, cidr]} + $ext010: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 10]}, cidr]} + $ext011: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 11]}, cidr]} + $ext012: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 12]}, cidr]} + $ext013: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 13]}, cidr]} + $ext014: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 14]}, cidr]} + $ext015: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 15]}, cidr]} + $ext016: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 16]}, cidr]} + $ext017: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 17]}, cidr]} + $ext018: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 18]}, cidr]} + $ext019: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 19]}, cidr]} + $ext020: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 20]}, cidr]} + $ext021: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 21]}, cidr]} + $ext022: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 22]}, cidr]} + $ext023: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 23]}, cidr]} + $ext024: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 24]}, cidr]} + $ext025: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, allowed_subnets, 25]}, cidr]} + + # Generate a JSON list keyed by "0", ..., "7" and then use + # the Xlate functionality to grab the VNIC-specific "count" + # entries in it to use as the fixed IP list for the port. + # + # Note that there will only be at most one internal IP on + # any VNIC (and there won't be an external at the same time). + NOKIA-LCP-IPxlate: + type: LCP-Xlate.template.yaml + properties: + info: + str_replace: + template: | + { + "0": {"subnet": "$sni$sn00" $com00$acom00$ip00$aip00$cq00$acq00}, + "1": {"subnet": "$sn01" $com01$acom01$ip01$aip01$cq01$acq01}, + "2": {"subnet": "$sn02" $com02$acom02$ip02$aip02$cq02$acq02}, + "3": {"subnet": "$sn03" $com03$acom03$ip03$aip03$cq03$acq03}, + "4": {"subnet": "$sn04" $com04$acom04$ip04$aip04$cq04$acq04}, + "5": {"subnet": "$sn05" $com05$acom05$ip05$aip05$cq05$acq05}, + "6": {"subnet": "$sn06" $com06$acom06$ip06$aip06$cq06$acq06}, + "7": {"subnet": "$sn07" $com07$acom07$ip07$aip07$cq07$acq07}, + "8": {"subnet": "$sn08" $com08$acom08$ip08$aip08$cq08$acq08}, + "9": {"subnet": "$sn09" $com09$acom09$ip09$aip09$cq09$acq09}, + "10": {"subnet": "$sn10" $com10$acom10$ip10$aip10$cq10$acq10}, + "11": {"subnet": "$sn11" $com11$acom11$ip11$aip11$cq11$acq11}, + "12": {"subnet": "$sn12" $com12$acom12$ip12$aip12$cq12$acq12}, + "13": {"subnet": "$sn13" $com13$acom13$ip13$aip13$cq13$acq13}, + "14": {"subnet": "$sn14" $com14$acom14$ip14$aip14$cq14$acq14}, + "15": {"subnet": "$sn15" $com15$acom15$ip15$aip15$cq15$acq15}, + "16": {"subnet": "$sn16" $com16$acom16$ip16$aip16$cq16$acq16}, + "17": {"subnet": "$sn17" $com17$acom17$ip17$aip17$cq17$acq17}, + "18": {"subnet": "$sn18" $com18$acom18$ip18$aip18$cq18$acq18}, + "19": {"subnet": "$sn19" $com19$acom19$ip19$aip19$cq19$acq19}, + "20": {"subnet": "$sn20" $com20$acom20$ip20$aip20$cq20$acq20}, + "21": {"subnet": "$sn21" $com21$acom21$ip21$aip21$cq21$acq21}, + "22": {"subnet": "$sn22" $com22$acom22$ip22$aip22$cq22$acq22}, + "23": {"subnet": "$sn23" $com23$acom23$ip23$aip23$cq23$acq23}, + "24": {"subnet": "$sn24" $com24$acom24$ip24$aip24$cq24$acq24}, + "25": {"subnet": "$sn25" $com25$acom25$ip25$aip25$cq25$acq25} + } + params: + $sni: {get_param: [int_net_info, {get_param: [int_net_chk, {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, "subnet"]}, subnet_id]}, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, "subnet"]}]}, subnet_id]} + $sn00: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "subnet"]}, subnet_id]} + $com00: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}]}]}]} + $acom00: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}, "source"]}]}]} + $ip00: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}]} + $aip00: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}, "index"]}]} + $cq00: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}]}]}]} + $acq00: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}]}]}]} + $sn01: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "subnet"]}, subnet_id]} + $com01: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}]}]}]} + $acom01: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}, "source"]}]}]} + $ip01: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}]} + $aip01: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}, "index"]}]} + $cq01: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}]}]}]} + $acq01: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}]}]}]} + $sn02: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "subnet"]}, subnet_id]} + $com02: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}]}]}]} + $acom02: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}, "source"]}]}]} + $ip02: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}]} + $aip02: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}, "index"]}]} + $cq02: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}]}]}]} + $acq02: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}]}]}]} + $sn03: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "subnet"]}, subnet_id]} + $com03: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}]}]}]} + $acom03: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}, "source"]}]}]} + $ip03: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}]} + $aip03: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}, "index"]}]} + $cq03: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}]}]}]} + $acq03: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}]}]}]} + $sn04: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "subnet"]}, subnet_id]} + $com04: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}]}]}]} + $acom04: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}, "source"]}]}]} + $ip04: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}]} + $aip04: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}, "index"]}]} + $cq04: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}]}]}]} + $acq04: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}]}]}]} + $sn05: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "subnet"]}, subnet_id]} + $com05: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}]}]}]} + $acom05: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}, "source"]}]}]} + $ip05: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}]} + $aip05: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}, "index"]}]} + $cq05: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}]}]}]} + $acq05: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}]}]}]} + $sn06: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "subnet"]}, subnet_id]} + $com06: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}]}]}]} + $acom06: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}, "source"]}]}]} + $ip06: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}]} + $aip06: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}, "index"]}]} + $cq06: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}]}]}]} + $acq06: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}]}]}]} + $sn07: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "subnet"]}, subnet_id]} + $com07: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}]}]}]} + $acom07: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}, "source"]}]}]} + $ip07: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}]} + $aip07: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}, "index"]}]} + $cq07: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}]}]}]} + $acq07: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}]}]}]} + $sn08: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "subnet"]}, subnet_id]} + $com08: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}]}]}]} + $acom08: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}, "source"]}]}]} + $ip08: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}]} + $aip08: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}, "index"]}]} + $cq08: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}]}]}]} + $acq08: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}]}]}]} + $sn09: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "subnet"]}, subnet_id]} + $com09: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}]}]}]} + $acom09: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}, "source"]}]}]} + $ip09: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}]} + $aip09: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}, "index"]}]} + $cq09: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}]}]}]} + $acq09: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}]}]}]} + $sn10: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "subnet"]}, subnet_id]} + $com10: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}]}]}]} + $acom10: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}, "source"]}]}]} + $ip10: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}]} + $aip10: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}, "index"]}]} + $cq10: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}]}]}]} + $acq10: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}]}]}]} + $sn11: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "subnet"]}, subnet_id]} + $com11: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}]}]}]} + $acom11: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}, "source"]}]}]} + $ip11: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}]} + $aip11: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}, "index"]}]} + $cq11: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}]}]}]} + $acq11: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}]}]}]} + $sn12: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "subnet"]}, subnet_id]} + $com12: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}]}]}]} + $acom12: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}, "source"]}]}]} + $ip12: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}]} + $aip12: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}, "index"]}]} + $cq12: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}]}]}]} + $acq12: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}]}]}]} + $sn13: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "subnet"]}, subnet_id]} + $com13: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}]}]}]} + $acom13: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}, "source"]}]}]} + $ip13: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}]} + $aip13: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}, "index"]}]} + $cq13: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}]}]}]} + $acq13: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}]}]}]} + $sn14: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "subnet"]}, subnet_id]} + $com14: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}]}]}]} + $acom14: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}, "source"]}]}]} + $ip14: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}]} + $aip14: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}, "index"]}]} + $cq14: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}]}]}]} + $acq14: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}]}]}]} + $sn15: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "subnet"]}, subnet_id]} + $com15: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}]}]}]} + $acom15: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}, "source"]}]}]} + $ip15: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}]} + $aip15: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}, "index"]}]} + $cq15: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}]}]}]} + $acq15: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}]}]}]} + $sn16: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "subnet"]}, subnet_id]} + $com16: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}]}]}]} + $acom16: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}, "source"]}]}]} + $ip16: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}]} + $aip16: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}, "index"]}]} + $cq16: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}]}]}]} + $acq16: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}]}]}]} + $sn17: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "subnet"]}, subnet_id]} + $com17: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}]}]}]} + $acom17: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}, "source"]}]}]} + $ip17: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}]} + $aip17: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}, "index"]}]} + $cq17: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}]}]}]} + $acq17: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}]}]}]} + $sn18: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "subnet"]}, subnet_id]} + $com18: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}]}]}]} + $acom18: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}, "source"]}]}]} + $ip18: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}]} + $aip18: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}, "index"]}]} + $cq18: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}]}]}]} + $acq18: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}]}]}]} + $sn19: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "subnet"]}, subnet_id]} + $com19: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}]}]}]} + $acom19: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}, "source"]}]}]} + $ip19: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}]} + $aip19: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}, "index"]}]} + $cq19: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}]}]}]} + $acq19: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}]}]}]} + $sn20: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "subnet"]}, subnet_id]} + $com20: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}]}]}]} + $acom20: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}, "source"]}]}]} + $ip20: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}]} + $aip20: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}, "index"]}]} + $cq20: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}]}]}]} + $acq20: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}]}]}]} + $sn21: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "subnet"]}, subnet_id]} + $com21: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}]}]}]} + $acom21: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}, "source"]}]}]} + $ip21: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}]} + $aip21: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}, "index"]}]} + $cq21: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}]}]}]} + $acq21: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}]}]}]} + $sn22: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "subnet"]}, subnet_id]} + $com22: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}]}]}]} + $acom22: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}, "source"]}]}]} + $ip22: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}]} + $aip22: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}, "index"]}]} + $cq22: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}]}]}]} + $acq22: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}]}]}]} + $sn23: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "subnet"]}, subnet_id]} + $com23: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}]}]}]} + $acom23: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}, "source"]}]}]} + $ip23: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}]} + $aip23: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}, "index"]}]} + $cq23: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}]}]}]} + $acq23: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}]}]}]} + $sn24: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "subnet"]}, subnet_id]} + $com24: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}]}]}]} + $acom24: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}, "source"]}]}]} + $ip24: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}]} + $aip24: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}, "index"]}]} + $cq24: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}]}]}]} + $acq24: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}]}]}]} + $sn25: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "subnet"]}, subnet_id]} + $com25: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}]}]}]} + $acom25: {get_param: [abe2ip, step2, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}, "source"]}]}]} + $ip25: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}]} + $aip25: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}, "source"]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}, "index"]}]} + $cq25: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, "set_ips", {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}]}]}]} + $acq25: {get_param: [abe2ip, step3, {get_param: [abe2ip, step1, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}]}]}]} + NOKIA-LCP-Port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $stk$delim$base$default$override + params: + $base: {get_param: [default_name_base, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, "portname"]}]} + $default: {get_param: [default_name, {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, "portname"]}, {get_param: vnic_index}]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, "portname"]} + $delim: {get_param: name_delimiter} + $stk: {get_param: stack} + # All entries for this port must be on the same network + # so it is sufficient to use the network ID from the first one. + network: + str_replace: + template: $int$ext + params: + $ext: {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, "subnet"]}, id]} + $int: {get_param: [int_net_info, {get_param: [int_net_chk, {get_param: [ext_net_info, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, "subnet"]}, id]}, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, "subnet"]}]}, id]} + replacement_policy: AUTO + binding:vnic_type: + str_replace: + template: $default$override + params: + $default: {get_param: [usage_info, {get_param: [override_chk, {get_param: [usage_info, "group_info", {get_param: group_id}, "binding_type", {get_param: vnic_index}]}]}, binding_type]} + $override: {get_param: [usage_info, "group_info", {get_param: group_id}, "binding_type", {get_param: vnic_index}]} + security_groups: [{get_param: open_sec_group}] + allowed_address_pairs: {get_attr: [NOKIA-LCP-CIDRxlate, by_count, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, "subnet_count"]}]} + fixed_ips: {get_attr: [NOKIA-LCP-IPxlate, by_count, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, "count"]}]} + +outputs: + + PortEntry: + description: Entry for VM networks list. + value: { + port: {get_resource: NOKIA-LCP-Port} + } + + PortIpInfo: + description: | + Data to facilitate mapping IPs assigned on this port to the IP + usage labels provided in the input. + value: + str_replace: + template: + str_replace: + template: | + { + "count": "$cnt", + "binding_type": "$bindtype", + "mac_address": "$macaddr", + "assigned_ips": ["$ip00", "$ip01", "$ip02", "$ip03", "$ip04", "$ip05", "$ip06", "$ip07", "$ip08", "$ip09", "$ip10", "$ip11", "$ip12", "$ip13", "$ip14", "$ip15", "$ip16", "$ip17", "$ip18", "$ip19", "$ip20", "$ip21", "$ip22", "$ip23", "$ip24", "$ip25"], + "label2info": [$line000 $line001 $line002 $line003 $line004 $line005 $line006 $line007 $line008 $line009 $line010 $line011 $line012 $line013 $line014 $line015 $line016 $line017 $line018 $line019 $line020 $line021 $line022 $line023 $line024 $line025 {"label":"connectivity_ip", "snet":"dummy", "ip":""}] + } + params: + $line000: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 1, subnet]}]}, "0"]} + $line001: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 2, subnet]}]}, "1"]} + $line002: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 3, subnet]}]}, "2"]} + $line003: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 4, subnet]}]}, "3"]} + $line004: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 5, subnet]}]}, "4"]} + $line005: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 6, subnet]}]}, "5"]} + $line006: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 7, subnet]}]}, "6"]} + $line007: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 8, subnet]}]}, "7"]} + $line008: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 9, subnet]}]}, "8"]} + $line009: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 10, subnet]}]}, "9"]} + $line010: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 11, subnet]}]}, "10"]} + $line011: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 12, subnet]}]}, "11"]} + $line012: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 13, subnet]}]}, "12"]} + $line013: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 14, subnet]}]}, "13"]} + $line014: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 15, subnet]}]}, "14"]} + $line015: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 16, subnet]}]}, "15"]} + $line016: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 17, subnet]}]}, "16"]} + $line017: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 18, subnet]}]}, "17"]} + $line018: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 19, subnet]}]}, "18"]} + $line019: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 20, subnet]}]}, "19"]} + $line020: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 21, subnet]}]}, "20"]} + $line021: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 22, subnet]}]}, "21"]} + $line022: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 23, subnet]}]}, "22"]} + $line023: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 24, subnet]}]}, "23"]} + $line024: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 25, subnet]}]}, "24"]} + $line025: {get_param: [checkit, {get_param: [getkey, {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 26, subnet]}]}, "25"]} + params: + $cnt: {get_param: [config_info, {get_param: vm_index}, vnic_info, {get_param: vnic_index}, 0, "count"]} + $bindtype: {str_replace: {template: $default$override, params: {$default: {get_param: [usage_info, {get_param: [override_chk, {get_param: [usage_info, "group_info", {get_param: group_id}, "binding_type", {get_param: vnic_index}]}]}, binding_type]}, $override: {get_param: [usage_info, "group_info", {get_param: group_id}, "binding_type", {get_param: vnic_index}]}}}} + $macaddr: {get_attr: [NOKIA-LCP-Port, mac_address]} + $ip00: {get_attr: [NOKIA-LCP-Port, fixed_ips, 0, ip_address]} + $ip01: {get_attr: [NOKIA-LCP-Port, fixed_ips, 1, ip_address]} + $ip02: {get_attr: [NOKIA-LCP-Port, fixed_ips, 2, ip_address]} + $ip03: {get_attr: [NOKIA-LCP-Port, fixed_ips, 3, ip_address]} + $ip04: {get_attr: [NOKIA-LCP-Port, fixed_ips, 4, ip_address]} + $ip05: {get_attr: [NOKIA-LCP-Port, fixed_ips, 5, ip_address]} + $ip06: {get_attr: [NOKIA-LCP-Port, fixed_ips, 6, ip_address]} + $ip07: {get_attr: [NOKIA-LCP-Port, fixed_ips, 7, ip_address]} + $ip08: {get_attr: [NOKIA-LCP-Port, fixed_ips, 8, ip_address]} + $ip09: {get_attr: [NOKIA-LCP-Port, fixed_ips, 9, ip_address]} + $ip10: {get_attr: [NOKIA-LCP-Port, fixed_ips, 10, ip_address]} + $ip11: {get_attr: [NOKIA-LCP-Port, fixed_ips, 11, ip_address]} + $ip12: {get_attr: [NOKIA-LCP-Port, fixed_ips, 12, ip_address]} + $ip13: {get_attr: [NOKIA-LCP-Port, fixed_ips, 13, ip_address]} + $ip14: {get_attr: [NOKIA-LCP-Port, fixed_ips, 14, ip_address]} + $ip15: {get_attr: [NOKIA-LCP-Port, fixed_ips, 15, ip_address]} + $ip16: {get_attr: [NOKIA-LCP-Port, fixed_ips, 16, ip_address]} + $ip17: {get_attr: [NOKIA-LCP-Port, fixed_ips, 17, ip_address]} + $ip18: {get_attr: [NOKIA-LCP-Port, fixed_ips, 18, ip_address]} + $ip19: {get_attr: [NOKIA-LCP-Port, fixed_ips, 19, ip_address]} + $ip20: {get_attr: [NOKIA-LCP-Port, fixed_ips, 20, ip_address]} + $ip21: {get_attr: [NOKIA-LCP-Port, fixed_ips, 21, ip_address]} + $ip22: {get_attr: [NOKIA-LCP-Port, fixed_ips, 22, ip_address]} + $ip23: {get_attr: [NOKIA-LCP-Port, fixed_ips, 23, ip_address]} + $ip24: {get_attr: [NOKIA-LCP-Port, fixed_ips, 24, ip_address]} + $ip25: {get_attr: [NOKIA-LCP-Port, fixed_ips, 25, ip_address]} + $rip00: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}]} + $arip00: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]}, "index"]}]} + $snet00: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "subnet"]} + $label00: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 1, "label"]} + $rip01: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}]} + $arip01: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]}, "index"]}]} + $snet01: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "subnet"]} + $label01: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 2, "label"]} + $rip02: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}]} + $arip02: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]}, "index"]}]} + $snet02: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "subnet"]} + $label02: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 3, "label"]} + $rip03: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}]} + $arip03: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]}, "index"]}]} + $snet03: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "subnet"]} + $label03: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 4, "label"]} + $rip04: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}]} + $arip04: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]}, "index"]}]} + $snet04: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "subnet"]} + $label04: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 5, "label"]} + $rip05: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}]} + $arip05: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]}, "index"]}]} + $snet05: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "subnet"]} + $label05: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 6, "label"]} + $rip06: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}]} + $arip06: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]}, "index"]}]} + $snet06: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "subnet"]} + $label06: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 7, "label"]} + $rip07: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}]} + $arip07: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]}, "index"]}]} + $snet07: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "subnet"]} + $label07: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 8, "label"]} + $rip08: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}]} + $arip08: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]}, "index"]}]} + $snet08: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "subnet"]} + $label08: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 9, "label"]} + $rip09: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}]} + $arip09: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]}, "index"]}]} + $snet09: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "subnet"]} + $label09: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 10, "label"]} + $rip10: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}]} + $arip10: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]}, "index"]}]} + $snet10: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "subnet"]} + $label10: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 11, "label"]} + $rip11: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}]} + $arip11: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]}, "index"]}]} + $snet11: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "subnet"]} + $label11: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 12, "label"]} + $rip12: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}]} + $arip12: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]}, "index"]}]} + $snet12: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "subnet"]} + $label12: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 13, "label"]} + $rip13: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}]} + $arip13: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]}, "index"]}]} + $snet13: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "subnet"]} + $label13: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 14, "label"]} + $rip14: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}]} + $arip14: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]}, "index"]}]} + $snet14: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "subnet"]} + $label14: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 15, "label"]} + $rip15: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}]} + $arip15: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]}, "index"]}]} + $snet15: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "subnet"]} + $label15: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 16, "label"]} + $rip16: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}]} + $arip16: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]}, "index"]}]} + $snet16: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "subnet"]} + $label16: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 17, "label"]} + $rip17: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}]} + $arip17: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]}, "index"]}]} + $snet17: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "subnet"]} + $label17: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 18, "label"]} + $rip18: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}]} + $arip18: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]}, "index"]}]} + $snet18: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "subnet"]} + $label18: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 19, "label"]} + $rip19: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}]} + $arip19: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]}, "index"]}]} + $snet19: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "subnet"]} + $label19: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 20, "label"]} + $rip20: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}]} + $arip20: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]}, "index"]}]} + $snet20: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "subnet"]} + $label20: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 21, "label"]} + $rip21: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}]} + $arip21: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]}, "index"]}]} + $snet21: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "subnet"]} + $label21: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 22, "label"]} + $rip22: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}]} + $arip22: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]}, "index"]}]} + $snet22: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "subnet"]} + $label22: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 23, "label"]} + $rip23: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}]} + $arip23: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]}, "index"]}]} + $snet23: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "subnet"]} + $label23: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 24, "label"]} + $rip24: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}]} + $arip24: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]}, "index"]}]} + $snet24: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "subnet"]} + $label24: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 25, "label"]} + $rip25: {get_param: [usage_info, "group_info", {get_param: group_id}, {get_param: group_index}, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, set_ips, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}]} + $arip25: {get_param: [usage_info, "ATT_ip_lists", {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}, source]}, {get_param: [usage_info, "ATT_vm_info", {get_param: group_tag}, {get_param: group_index}, {get_param: vm_index}, "label2ip", {get_param: vnic_index}, {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]}, "index"]}]} + $snet25: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "subnet"]} + $label25: {get_param: [config_info, {get_param: vm_index}, "vnic_info", {get_param: vnic_index}, 26, "label"]} + + Version: + description: | + Template file version number. This should be updated + each time a non-comment change is made to this file. + value: K1 + + ASSIGNED_IPS: + description: IP addresses assigned to this port. + value: + str_replace: + template: | + $ip00, $ip01, $ip02, $ip03, $ip04, $ip05, $ip06, $ip07, $ip08, $ip09, $ip10, $ip11, $ip12, $ip13, $ip14, $ip15, $ip16, $ip17, $ip18, $ip19, $ip20, $ip21, $ip22, $ip23, $ip24, $ip25 + params: + $ip00: {get_attr: [NOKIA-LCP-Port, fixed_ips, 0, ip_address]} + $ip01: {get_attr: [NOKIA-LCP-Port, fixed_ips, 1, ip_address]} + $ip02: {get_attr: [NOKIA-LCP-Port, fixed_ips, 2, ip_address]} + $ip03: {get_attr: [NOKIA-LCP-Port, fixed_ips, 3, ip_address]} + $ip04: {get_attr: [NOKIA-LCP-Port, fixed_ips, 4, ip_address]} + $ip05: {get_attr: [NOKIA-LCP-Port, fixed_ips, 5, ip_address]} + $ip06: {get_attr: [NOKIA-LCP-Port, fixed_ips, 6, ip_address]} + $ip07: {get_attr: [NOKIA-LCP-Port, fixed_ips, 7, ip_address]} + $ip08: {get_attr: [NOKIA-LCP-Port, fixed_ips, 8, ip_address]} + $ip09: {get_attr: [NOKIA-LCP-Port, fixed_ips, 9, ip_address]} + $ip10: {get_attr: [NOKIA-LCP-Port, fixed_ips, 10, ip_address]} + $ip11: {get_attr: [NOKIA-LCP-Port, fixed_ips, 11, ip_address]} + $ip12: {get_attr: [NOKIA-LCP-Port, fixed_ips, 12, ip_address]} + $ip13: {get_attr: [NOKIA-LCP-Port, fixed_ips, 13, ip_address]} + $ip14: {get_attr: [NOKIA-LCP-Port, fixed_ips, 14, ip_address]} + $ip15: {get_attr: [NOKIA-LCP-Port, fixed_ips, 15, ip_address]} + $ip16: {get_attr: [NOKIA-LCP-Port, fixed_ips, 16, ip_address]} + $ip17: {get_attr: [NOKIA-LCP-Port, fixed_ips, 17, ip_address]} + $ip18: {get_attr: [NOKIA-LCP-Port, fixed_ips, 18, ip_address]} + $ip19: {get_attr: [NOKIA-LCP-Port, fixed_ips, 19, ip_address]} + $ip20: {get_attr: [NOKIA-LCP-Port, fixed_ips, 20, ip_address]} + $ip21: {get_attr: [NOKIA-LCP-Port, fixed_ips, 21, ip_address]} + $ip22: {get_attr: [NOKIA-LCP-Port, fixed_ips, 22, ip_address]} + $ip23: {get_attr: [NOKIA-LCP-Port, fixed_ips, 23, ip_address]} + $ip24: {get_attr: [NOKIA-LCP-Port, fixed_ips, 24, ip_address]} + $ip25: {get_attr: [NOKIA-LCP-Port, fixed_ips, 25, ip_address]} + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Xlate.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Xlate.template.yaml new file mode 100644 index 0000000000..45974257a0 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-Xlate.template.yaml @@ -0,0 +1,15 @@ +heat_template_version: 2015-04-30 + +description: | + Translate a string in JSON format keyed by a resource group + member index into a map of lists such that the Nth entry + has a list of the first N entries from the input. + + In effect this lets the user get a list of variable length + based on the number of provided entries. + +parameters: + + info: + type: json + description: Information map. diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-XlateL2J.template.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-XlateL2J.template.yaml new file mode 100644 index 0000000000..e4118a3ad4 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/LCP-XlateL2J.template.yaml @@ -0,0 +1,50 @@ +heat_template_version: 2015-04-30 + +description: | + Translate a list of JSON entries to a JSON mapped keyed + by the string verison of the list index (i.e. 0-->"0"). + +parameters: + + info: + type: json + description: Information map. + +outputs: + + jout: + description: | + JSON map of list entries. + value: { + "0": {get_param: [info, 0]}, + "1": {get_param: [info, 1]}, + "2": {get_param: [info, 2]}, + "3": {get_param: [info, 3]}, + "4": {get_param: [info, 4]}, + "5": {get_param: [info, 5]}, + "6": {get_param: [info, 6]}, + "7": {get_param: [info, 7]}, + "8": {get_param: [info, 8]}, + "9": {get_param: [info, 9]}, + "10": {get_param: [info, 10]}, + "11": {get_param: [info, 11]}, + "12": {get_param: [info, 12]}, + "13": {get_param: [info, 13]}, + "14": {get_param: [info, 14]}, + "15": {get_param: [info, 15]}, + "16": {get_param: [info, 16]}, + "17": {get_param: [info, 17]}, + "18": {get_param: [info, 18]}, + "19": {get_param: [info, 19]}, + "20": {get_param: [info, 20]}, + "21": {get_param: [info, 21]}, + "22": {get_param: [info, 22]}, + "23": {get_param: [info, 23]}, + "24": {get_param: [info, 24]}, + "25": {get_param: [info, 25]}, + "26": {get_param: [info, 26]}, + "27": {get_param: [info, 27]}, + "28": {get_param: [info, 28]}, + "29": {get_param: [info, 29]} + } + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/MANIFEST.json new file mode 100644 index 0000000000..54114ad2f1 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/MANIFEST.json @@ -0,0 +1,52 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "LCP-Xlate.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "LCP-XlateL2J.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "base_mso.yml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_mso.env", + "type": "HEAT_ENV" + } + ] + }, + { + "file": "LCP-OPENECOMP.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "LCP-Base.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "LCP-PairGroup.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "LCP-Port.template.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "LCP-ATTGRP.template.yaml", + "type": "HEAT", + "isBase": "false" + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.env new file mode 100644 index 0000000000..1c28b72606 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.env @@ -0,0 +1,127 @@ + +parameters: + + # Pseudo-constant values. + + backup_file: "" + cloud_name_delimiter: "-" + default_action: "install" + ssh_access_key: "" + int_vlan_id: "" + lcm_keypair: "" + + install_config: ' + "application_name": "5450_isc", + "license_reference": "test_license", + "default_remote_dns_domain": "./default", + "default_remote_enum_domain": "e164.arpa/default", + "local_dns_domain": "drew2.lucentlab.com", + "local_enum_domain": "", + "naming_delimiter": "-", + "naming_parsing": "flexible", + "naming_type": "flexible3", + "other_remote_dns_domain": "", + "other_remote_enum_domain": "", + "remote_query_only": "", + "snmp_community": "public", + "subnet_info": { + "INTERNALnet0": { + "interface_label": "int0", + "redundancy_mode": "iipm", + "vlan_tag": "" + }, + "INTERNALnet1": { + "interface_label": "int1", + "redundancy_mode": "iipm", + "vlan_tag": "" + }, + "oam": { + "interface_label": "oam2", + "redundancy_mode": "eipm_arpndp", + "vlan_tag": "", + "connectivity_address": "", + "detect_multiplier": "3", + "desired_minimum_tx_interval": "300", + "required_minimum_rx_interval": "300" + }, + "access": { + "interface_label": "acc4", + "redundancy_mode": "eipm_arpndp", + "vlan_tag": "", + "connectivity_address": "", + "detect_multiplier": "3", + "desired_minimum_tx_interval": "300", + "required_minimum_rx_interval": "300" + } + }, + "system_name": "isc01", + "system_prefix": "isc01", + "time_zone": "UTC", + "use_sbpr": "yes" + ' + + # Site-specific values (supplied via the pre-load sheet). + + v4_dns_server: "127.0.0.1/.,127.0.0.1/." + v6_dns_server: "" + v4_enum_server: "" + v6_enum_server: "" + v4_ntp_server: "127.0.0.1" + v6_ntp_server: "" + + vnf_id: "MYvnf_id" + vnf_name: "MYvnf_name" + vnf_module_id: "MYvnf_module_id" + vnf_module_name: "base_module" + + vm_counts: { + "oam": "1", + "ims": "1" + } + + net_types: + - "oam" + - "access" + + oam_management_v4_source: "oam_oam_ips" + oam_management_v4_index: 1 + oam_management_v6_source: "" + oam_management_v6_index: 0 + + oam_net_id: 7410cc1d-c421-41b3-adef-d46cf79cb8d9 + oam_subnet_id: 37d36cb0-54b7-4fbf-bc45-4879da03a0db + oam_cidr: "127.0.0.1/27" + oam_default_gateway: "127.0.0.1" + + access_net_id: 870909b5-d933-4a95-9aff-df38523c37ed + access_subnet_id: 050ad34a-47a3-48a9-9761-12eff354fd4f + access_cidr: "37.9.0.32/27" + access_default_gateway: "37.9.0.62" + + availability_zone_0: zone2 + availability_zone_1: zone1 + + oam_names: + - "oam0" + - "oam1" + + ims_names: + - "ims0" + - "ims1" + + oam_image_name: "drew34.20" + ims_image_name: "drew34.20" + + oam_flavor_name: "LCP-2-4-25x2-4" + ims_flavor_name: "LCP-1-4-15x2-4" + + oam_oam_ips: + - "127.0.0.1" + - "127.0.0.1" + - "127.0.0.1" + - "127.0.0.1" + + ims_access_ips: + - "37.9.0.36" + - "37.9.0.61" + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.yml new file mode 100644 index 0000000000..520eb29349 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/base_mso.yml @@ -0,0 +1,490 @@ +heat_template_version: 2015-04-30 + +description: | + Example HOT file illustrating elasticity groups. + +parameters: + + backup_file: + type: string + description: | + <cURL path>/<backup file> + This is only used for restore (aka "disaster recovery"). + The value only needs to go to the OAM pair. + Note that there is a 255 character limit on this value. + + cloud_name_delimiter: + type: string + description: Separator for cloud resource naming. + + install_config: + type: string + description: JSON formatted string of install config values. + + lcm_keypair: + type: string + description: Keypair used for lifecycle management access. + constraints: + - custom_constraint: nova.keypair + + default_action: + type: string + description: | + Default action for all VMs. This may be overridden for + specific VM groups, pairs or VMs via the ENV file. + constraints: + - allowed_values: + - "install" + - "recreate" + - "scale-in" + - "scale-out" + - "heal" + - "update" + + int_vlan_id: + type: string + description: Optional VLAN associated with the (0th) internal network. + constraints: + - allowed_pattern: "[0-9]*" + description: VLAN Ids are expressed in base 10 digits. + + ssh_access_key: + type: string + description: | + Optional SSH public key value for lifecycle management + administrative access. + + v4_dns_server: + type: string + description: | + (optional) IPV4 DNS server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + v6_dns_server: + type: string + description: | + (optional) IPV6 DNS server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + v4_enum_server: + type: string + description: | + (optional) IPV4 ENUM server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + v6_enum_server: + type: string + description: | + (optional) IPV6 ENUM server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + v4_ntp_server: + type: string + description: | + (optional) IPV4 NTP server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + v6_ntp_server: + type: string + description: | + (optional) IPV6 NTP server list. + It is passed as a string instead of a CDL because + of how it is handled internally. + + vnf_id: + type: string + description: Unique ID for this VNF instance. + default: "" + + vnf_name: + type: string + description: Unique name for this VNF instance. + default: "" + + vnf_module_id: + type: string + description: Unique ID for this VNF Module instance. + default: "" + + vnf_module_name: + type: string + description: Unique name for this VNF module instance. + default: "" + + net_types: + type: comma_delimited_list + description: CDL of subnet tags. + + oam_management_v4_source: + type: string + description: Name of the OAM IP parameter to use. + + oam_management_v4_index: + type: number + description: Index to the V4 management IP address. + + oam_management_v6_source: + type: string + description: Name of the OAM IP parameter to use. + + oam_management_v6_index: + type: number + description: Index to the V6 management IP address. + + oam_net_id: + type: string + description: ID of the network associated with tag "oam". + constraints: + - custom_constraint: neutron.network + + oam_subnet_id: + type: string + description: ID of the subnet associated with tag "oam". + + oam_cidr: + type: string + description: CIDR associated with tag "oam". + constraints: + - custom_constraint: net_cidr + + oam_default_gateway: + type: string + description: Default gateway IP address associated with tag "oam". + + access_net_id: + type: string + description: ID of the network associated with tag "access". + constraints: + - custom_constraint: neutron.network + + access_subnet_id: + type: string + description: ID of the subnet associated with tag "access". + + access_cidr: + type: string + description: CIDR associated with tag "access". + constraints: + - custom_constraint: net_cidr + + access_default_gateway: + type: string + description: Default gateway IP address associated with tag "access". + + vm_counts: + type: json + description: | + Maps VM type tags to the number of pairs of that type. + + vm_info: + type: json + description: Provides keys into type-specific parameters and vnic info. + default: {} + + availability_zone_0: + type: string + description: Availability zone name. + + availability_zone_1: + type: string + description: Availability zone name. + + oam_names: + description: CDL of OAM VM names. + type: comma_delimited_list + + ims_names: + description: CDL of IMS VM names. + type: comma_delimited_list + + oam_image_name: + description: Image for this VMtype. + type: string + + ims_image_name: + description: Image for this VMtype. + type: string + + oam_flavor_name: + description: CDL of OAM flavor values. + type: string + constraints: + - custom_constraint: nova.flavor + + ims_flavor_name: + description: CDL of IMS flavor values. + type: string + constraints: + - custom_constraint: nova.flavor + + oam_oam_ips: + type: comma_delimited_list + description: List of IP addresses for this VMtype_NETtype combination. + + ims_access_ips: + type: comma_delimited_list + description: List of IP addresses for this VMtype_NETtype combination. + +resources: + + FORMATXLATE: + type: LCP-OPENECOMP.template.yaml + properties: + backup_file: {get_param: backup_file} + cloud_name_delimiter: {get_param: cloud_name_delimiter} + default_action: {get_param: default_action} + install_config: {get_param: install_config} + lcm_keypair: {get_param: lcm_keypair} + ssh_access_key: {get_param: ssh_access_key} + v4_dns_server: {get_param: v4_dns_server} + v6_dns_server: {get_param: v6_dns_server} + v4_enum_server: {get_param: v4_enum_server} + v6_enum_server: {get_param: v6_enum_server} + v4_ntp_server: {get_param: v4_ntp_server} + v6_ntp_server: {get_param: v6_ntp_server} + vnf_id: {get_param: vnf_id} + vnf_name: {get_param: vnf_name} + vnf_module_id: {get_param: vnf_module_id} + vnf_module_name: {get_param: vnf_module_name} + net_types: {get_param: net_types} + net_ids: { + "oam": {get_param: oam_net_id}, + "access": {get_param: access_net_id}, + "" + } + subnet_ids: { + "oam": {get_param: oam_subnet_id}, + "access": {get_param: access_subnet_id}, + "" + } + cidrs: { + "oam": {get_param: oam_cidr}, + "access": {get_param: access_cidr}, + "" + } + default_gateways: { + "oam": {get_param: oam_default_gateway}, + "access": {get_param: access_default_gateway}, + "" + } + # This list must be ordered by group ID. + vmtype_list: ["oam", "ims"] + vmtype_count: 2 + vm_counts: {get_param: vm_counts} + vm_info: {get_param: vm_info} + availability_zones: + - {get_param: availability_zone_0} + - {get_param: availability_zone_1} + images: { + "oam": {get_param: oam_image_name}, + "ims": {get_param: ims_image_name}, + "": "" + } + flavors: { + "oam": {get_param: oam_flavor_name}, + "ims": {get_param: ims_flavor_name}, + "": "" + } + ip_lists: { + "oam_oam_ips": {get_param: oam_oam_ips}, + "ims_access_ips": {get_param: ims_access_ips}, + "": [] + } + name_lists: { + "oam": {get_param: oam_names}, + "ims": {get_param: ims_names}, + "": [] + } + + NOKIA-LCP-Base: + depends_on: + - FORMATXLATE + type: LCP-Base.template.yaml + properties: + default_prefix: + str_replace: + template: | + {"": "$stk$delimiter"} + params: + $stk: {get_param: "OS::stack_name"} + $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]} + int_net_count: 2 + ext_net_list: ["oam", "access"] + ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]} + total_vm_pairs: {get_attr: [FORMATXLATE, total_vm_pairs]} + + OAM_RRG: + depends_on: + - NOKIA-LCP-Base + type: LCP-PairGroup.template.yaml + properties: + default_action: {get_attr: [FORMATXLATE, default_action]} + default_name_base: + str_replace: + template: | + {"": "oam$delimiter0$delimiter"} + params: + $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]} + group_id: "0" + group_tag: "oam" + group_index: '0' + current_group_count: {get_attr: [FORMATXLATE, vm_counts, "oam"]} + role: "oam" + lcm_keypair: {get_attr: [FORMATXLATE, lcm_keypair]} + total_pair_count: {get_attr: [NOKIA-LCP-Base, TotalPairCount]} + backup_file: {get_attr: [FORMATXLATE, backup_file]} + name_delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]} + int_net_count: 2 + install_config: {get_attr: [FORMATXLATE, install_config]} + net_info_str: {get_attr: [NOKIA-LCP-Base, NetInfoStr]} + sec_group: {get_attr: [NOKIA-LCP-Base, OpenSec]} + ssh_access_key: {get_attr: [FORMATXLATE, ssh_access_key]} + ssh_public_key: {get_attr: [NOKIA-LCP-Base, PublicKey]} + ssh_private_key: {get_attr: [NOKIA-LCP-Base, PrivateKey]} + stack: {get_param: "OS::stack_name"} + storage_size: 68 + int_net_info: {get_attr: [NOKIA-LCP-Base, IntNetInfo]} + ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]} + usage_info: {get_attr: [FORMATXLATE, usage_info]} + config_info: { + poolinfo: '["mi-0", "cnfg-0", "sns-0"]', + v4_static_routes: '{}', + v6_static_routes: '{}', + v4_default_gateway: "oam", + v6_default_gateway: "", + vnic_count: 3, + "0": { # VM member index. + vnic_info: { + "0": [ + {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]}, + {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"}, + ], + "1": [ + {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]}, + {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"}, + ], + "2": [ + {"count": "3", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["oam"]}, + {"label": "servicetype=cnfg-0;float;nitype=default;subnet=oam", "subnet": "oam"}, + {"label": "servicetype=mi-0;float;nitype=default;subnet=oam", "subnet": "oam"}, + {"label": "servicetype=mi-0;fixed;nitype=default;subnet=oam", "subnet": "oam"}, + ], + } + }, + "1": { + vnic_info: { + "0": [ + {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]}, + {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"}, + ], + "1": [ + {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]}, + {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"}, + ], + "2": [ + {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["oam"]}, + {"label": "servicetype=mi-0;fixed;nitype=default;subnet=oam", "subnet": "oam"}, + ], + } + } + } + + IMS_RRG: + type: OS::Heat::ResourceGroup + depends_on: + - NOKIA-LCP-Base + properties: + count: {get_attr: [FORMATXLATE, vm_counts, "ims"]} + resource_def: + type: LCP-PairGroup.template.yaml + properties: + default_action: {get_attr: [FORMATXLATE, default_action]} + default_name_base: + str_replace: + template: | + {"": "ims$delimiter%index%$delimiter"} + params: + $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]} + group_id: "1" + lcm_keypair: {get_attr: [FORMATXLATE, lcm_keypair]} + group_tag: "ims" + group_index: '%index%' + current_group_count: {get_attr: [FORMATXLATE, vm_counts, "ims"]} + total_pair_count: {get_attr: [NOKIA-LCP-Base, TotalPairCount]} + name_delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]} + net_info_str: {get_attr: [NOKIA-LCP-Base, NetInfoStr]} + sec_group: {get_attr: [NOKIA-LCP-Base, OpenSec]} + ssh_access_key: {get_attr: [FORMATXLATE, ssh_access_key]} + ssh_public_key: {get_attr: [NOKIA-LCP-Base, PublicKey]} + ssh_private_key: {get_attr: [NOKIA-LCP-Base, PrivateKey]} + stack: {get_param: "OS::stack_name"} + storage_size: 4 + install_config: {get_attr: [FORMATXLATE, install_config]} + int_net_count: 2 + int_net_info: {get_attr: [NOKIA-LCP-Base, IntNetInfo]} + ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]} + usage_info: {get_attr: [FORMATXLATE, usage_info]} + config_info: { + poolinfo: '["ims-0", "ims-1", "gos-0"]', + v4_static_routes: '{ + "ims-0": {"subnet": "access", "dest_subnet": "2.2.2.0", "mask": "255.255.255.0"}, + "ims-1": {"subnet": "access", "dest_subnet": "2.2.2.0", "mask": "255.255.255.0"} + }', + v6_static_routes: '{}', + v4_default_gateway: "access", + v6_default_gateway: "", + vnic_count: 3, + "0": { # VM member index. + vnic_info: { + "0": [ + {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]}, + {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"}, + ], + "1": [ + {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]}, + {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"}, + ], + "2": [ + {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["access"]}, + {"label": "servicetype=ims-0;float;nitype=published;subnet=access", "subnet": "access"}, + ], + } + }, + "1": { + vnic_info: { + "0": [ + {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]}, + {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"}, + ], + "1": [ + {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]}, + {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"}, + ], + "2": [ + {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["access"]}, + {"label": "servicetype=ims-1;float;nitype=published;subnet=access", "subnet": "access"}, + ], + } + } + } + +outputs: + + oam_management_v4_address: + description: IPV4 of the active MI service. + value: {get_param: [{get_param: oam_management_v4_source}, {get_param: oam_management_v4_index}]} + + oam_management_v6_address: + description: IPV6 of the active MI service. + value: {get_param: [{get_param: oam_management_v6_source}, {get_param: oam_management_v6_index}]} + + internal_net_info: + description: | + Internal network IDs, CIDR etc. for use by modular additions to + this stack. + value: {get_attr: [NOKIA-LCP-Base, IntNetInfo]} diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.env new file mode 100644 index 0000000000..ceffa1ddae --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.env @@ -0,0 +1,5 @@ +parameters: + pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002 + pd_image_name: MOG_BASE_8.0 + pd_flavor_name: m3.xlarge + availabilityzone_name: nova
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.yml new file mode 100644 index 0000000000..5e25e96923 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/inputs/hot-mog-0108-bs1271.yml @@ -0,0 +1,54 @@ +heat_template_version: 2013-05-23 + +description: heat template that creates MOG stack + +parameters: + pd_server_names: + type: comma_delimited_list + label: PD server names + description: name of the PD instance + pd_image_name: + type: string + label: image name + description: PD image name + pd_flavor_name: + type: string + label: PD flavor name + description: flavor name of PD instance + availabilityzone_name: + type: string + label: availabilityzone name + description: availabilityzone name + + +resources: + server_pd_01: + type: OS::Nova::Server + properties: + name: {get_param: [pd_server_names, 0]} + image: {get_param: pd_image_name} + flavor: {get_param: pd_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: pd01_port_0} + user_data_format: RAW_SERVER_PD_1 + server_pd_02: + type: OS::Nova::Server + properties: + name: {get_param: [pd_server_names, 1]} + image: {get_param: pd_image_name} + flavor: {get_param: pd_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: pd01_port_1} + user_data_format: RAW_SERVER_PD_2 + pd01_port_0: + type: OS::Neutron::Port + properties: + network: Network-0 + replacement_policy: AUTO_PORT_0 + pd01_port_1: + type: OS::Neutron::Port + properties: + network: Network-1 + replacement_policy: AUTO_PORT_1
\ No newline at end of file |