10c13661ff6ad0386d76313b3ef89993aba0334a
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / models / network / network.model.info.spec.ts
1 import {HttpClientTestingModule} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {NetworkModelInfo} from "./network.model.info";
5 import {DynamicInputsService} from "../../dynamicInputs.service";
6 import {SharedTreeService} from "../../shared.tree.service";
7 import {NgRedux} from "@angular-redux/store";
8 import {NetworkPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service";
9 import {DialogService} from "ng2-bootstrap-modal";
10 import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service";
11 import {DrawingBoardModes} from "../../../drawing-board.modes";
12 import {IframeService} from "../../../../../shared/utils/iframe.service";
13 import {DuplicateService} from "../../../duplicate/duplicate.service";
14 import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
15
16 class MockAppStore<T> {
17   getState() {
18     return {
19       global: {
20         'drawingBoardStatus': DrawingBoardModes.CREATE
21       },
22       service : {
23         serviceHierarchy : {
24           'servicedId' : {
25             'networks' : {
26               'networkName' : {
27                 'properties' : {
28                   'max_instances' : 1
29                 }
30               }
31             }
32           }
33         },
34         serviceInstance : {
35           'servicedId' : {
36             'existingNetworksCounterMap' : {
37               'networkId' : 1
38             },
39             'networks' : {
40               'networkName' :{
41                 'action': 'Create',
42                 'originalName' : 'networkName'
43               }
44             }
45           }
46         }
47       }
48     }
49   }
50 }
51 describe('Network Model Info', () => {
52   let injector;
53   let  _dynamicInputsService : DynamicInputsService;
54   let  _sharedTreeService : SharedTreeService;
55   let networkModel: NetworkModelInfo;
56   let _dialogService : DialogService;
57   let _networkPopupService :  NetworkPopupService;
58   let _duplicateService : DuplicateService;
59   let _iframeService : IframeService;
60
61   beforeAll(done => (async () => {
62     TestBed.configureTestingModule({
63       imports: [HttpClientTestingModule, NgReduxTestingModule],
64       providers: [
65         DynamicInputsService,
66         SharedTreeService,
67         DialogService,
68         NetworkPopupService,
69         IframeService,
70         DuplicateService,
71         {provide: NgRedux, useClass: MockAppStore},
72         MockNgRedux]
73     });
74     await TestBed.compileComponents();
75
76     injector = getTestBed();
77     _sharedTreeService = injector.get(SharedTreeService);
78     networkModel = new NetworkModelInfo(_dynamicInputsService, _sharedTreeService, _dialogService, _networkPopupService, _duplicateService, null, _iframeService, MockNgRedux.getInstance());
79   })().then(done).catch(done.fail));
80
81   test('NetworkModelInfo should be defined', () => {
82     expect(NetworkModelInfo).toBeDefined();
83   });
84
85   test('NetworkModelInfo should defined extra details', () => {
86     expect(networkModel.name).toEqual('networks');
87     expect(networkModel.type).toEqual('Network');
88   });
89
90   test('isEcompGeneratedNaming should return true if = isEcompGeneratedNaming is "true" ', () => {
91     let isEcompGeneratedNaming: boolean = networkModel.isEcompGeneratedNaming({
92       properties: {
93         ecomp_generated_naming: 'true'
94       }
95     });
96     expect(isEcompGeneratedNaming).toBeTruthy();
97   });
98
99   test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is "false"', () => {
100     let isEcompGeneratedNaming: boolean = networkModel.isEcompGeneratedNaming({
101       properties: {
102         ecomp_generated_naming: 'false'
103       }
104     });
105     expect(isEcompGeneratedNaming).toBeFalsy();
106   });
107
108   test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is not defined', () => {
109     let isEcompGeneratedNaming: boolean = networkModel.isEcompGeneratedNaming({
110       properties: {}
111     });
112     expect(isEcompGeneratedNaming).toBeFalsy();
113   });
114
115   test('getTooltip should return "VF"', () => {
116     let tooltip: string = networkModel.getTooltip();
117     expect(tooltip).toEqual('Network');
118   });
119
120   test('getType should return "VF"', () => {
121     let tooltip: string = networkModel.getType();
122     expect(tooltip).toEqual('Network');
123   });
124
125   test('getNextLevelObject should return null', () => {
126     let nextLevel = networkModel.getNextLevelObject();
127     expect(nextLevel).toBeNull();
128   });
129
130   test('updateDynamicInputsDataFromModel should return empty array', () => {
131     let dynamicInputs = networkModel.updateDynamicInputsDataFromModel({});
132     expect(dynamicInputs).toEqual([]);
133   });
134
135   test('getModel should return Network model', () => {
136     let model = networkModel.getModel('2017-388_PASQUALE-vPE 1_1', <any>{}, getServiceHierarchy());
137     expect(model.type).toEqual('VL');
138   });
139
140   test('showNodeIcons should return false if reachLimit of max', ()=>{
141     let serviceId : string = 'servicedId';
142     let node = {
143       data : {
144         id : 'networkId',
145         name : 'networkName',
146         modelCustomizationId : 'modelCustomizationId'
147       }
148     };
149     jest.spyOn(_sharedTreeService, 'getExistingInstancesWithDeleteMode').mockReturnValue(0);
150     jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
151       global : {},
152       service : {
153         serviceHierarchy : {
154           'servicedId' : {
155             'networks' : {
156               'networkName' : {
157                 'properties' : {
158                   'max_instances' : 1
159                 }
160               }
161             }
162           }
163         },
164         serviceInstance : {
165           'servicedId' : {
166             'existingNetworksCounterMap' : {
167               'modelCustomizationId' : 1
168             },
169             'networks' : {
170               'networkName' :{
171
172               }
173             }
174           }
175         }
176       }
177     });
178
179     let result = networkModel.showNodeIcons(<any>node, serviceId);
180     expect(result).toEqual(new AvailableNodeIcons(true , false));
181   });
182
183   test('showNodeIcons should return true if not reachLimit of max', ()=>{
184     let serviceId : string = 'servicedId';
185     let node = {
186       data : {
187         id : 'networkId',
188         name : 'networkName'
189       }
190     };
191     jest.spyOn(_sharedTreeService, 'getExistingInstancesWithDeleteMode').mockReturnValue(0);
192     jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
193       global : {},
194       service : {
195         serviceHierarchy : {
196           'servicedId' : {
197             'networks' : {
198               'networkName' : {
199                 'properties' : {
200                   'max_instances' : 2
201                 }
202               }
203             }
204           }
205         },
206         serviceInstance : {
207           'servicedId' : {
208             'existingNetworksCounterMap' : {
209               'networkId' : 1
210             },
211             'networks' : {
212               'networkName' :{
213
214               }
215             }
216           }
217         }
218       }
219     });
220
221     let result = networkModel.showNodeIcons(<any>node, serviceId);
222     expect(result).toEqual(new AvailableNodeIcons(true , false));
223   });
224
225   test('getNodeCount should return number of nodes', ()=>{
226     let serviceId : string = 'servicedId';
227     jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
228       global : {},
229       service : {
230         serviceHierarchy : {
231           'servicedId' : {
232             'networks' : {
233               'networkName' : {
234                 'properties' : {
235                   'max_instances' : 1
236                 }
237               }
238             }
239           }
240         },
241         serviceInstance : {
242           'servicedId' : {
243             'existingNetworksCounterMap' : {
244               'modelCustomizationId' : 1
245             },
246             'networks' : {
247               'networkName' :{
248                 'action': 'Create',
249                 'originalName' : 'networkName'
250               }
251             }
252           }
253         }
254       }
255     });
256
257     let node = {
258       data : {
259         id : 'networkId',
260         name : 'networkName',
261         action: 'Create',
262         modelCustomizationId : "modelCustomizationId",
263         modelUniqueId: "modelCustomizationId"
264       }
265     };
266     let result = networkModel.getNodeCount(<any>node , serviceId);
267     expect(result).toEqual(1);
268
269     node.data.modelCustomizationId = 'networkId_notExist';
270     node.data.modelUniqueId = 'networkId_notExist';
271     result = networkModel.getNodeCount(<any>node , serviceId);
272     expect(result).toEqual(0);
273   });
274
275   test('getMenuAction: showAuditInfoNetwork', ()=>{
276
277     jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
278       global: {
279         "drawingBoardStatus": DrawingBoardModes.RETRY
280       }
281     });
282     jest.spyOn(_sharedTreeService, 'isRetryMode').mockReturnValue(true);
283     let node = {
284       data : {
285         "modelId": "6b528779-44a3-4472-bdff-9cd15ec93450",
286         "action": "Create",
287         "isFailed": true,
288       }
289     };
290     let serviceModelId = "6b528779-44a3-4472-bdff-9cd15ec93450";
291     let result = networkModel.getMenuAction(<any>node, serviceModelId);
292     spyOn(result['showAuditInfo'], 'method');
293     expect(result['showAuditInfo']).toBeDefined();
294     expect(result['showAuditInfo'].visible(node)).toBeTruthy();
295     expect(result['showAuditInfo'].enable(node)).toBeTruthy();
296     result['showAuditInfo']['method'](node, serviceModelId);
297     expect(result['showAuditInfo']['method']).toHaveBeenCalledWith(node, serviceModelId);
298   });
299
300   test('Info for network should be correct', () => {
301     const model = getNetworkModel();
302     const instance = getNetworkInstance();
303     let actualNetworkInfo = networkModel.getInfo(model,instance);
304     let expectedNetworkInfo = [
305       ModelInformationItem.createInstance('Network role', "network role 1, network role 2"),
306       ModelInformationItem.createInstance("Route target id", null),
307       ModelInformationItem.createInstance("Route target role", null)
308     ];
309     expect(actualNetworkInfo).toEqual(expectedNetworkInfo);
310   });
311
312   function getNetworkModel(){
313     return {
314       "customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f",
315       "name":"ExtVL",
316       "version":"37.0",
317       "description":"ECOMP generic virtual link (network) base type for all other service-level and global networks",
318       "uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986",
319       "invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c",
320       "max":1,
321       "min":0,
322       "isEcompGeneratedNaming":false,
323       "type":"VL",
324       "modelCustomizationName":"ExtVL 0",
325       "roles":["network role 1"," network role 2"],
326       "properties":{
327         "network_role":"network role 1, network role 2",
328         "network_assignments":
329           "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}",
330         "exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}",
331         "network_homing":"{ecomp_selected_instance_node_target=false}"
332       }
333     };
334
335   }
336
337   function getNetworkInstance() {
338     return {
339       "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
340       "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
341       "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
342       "missingData": true,
343       "id": "NETWORK4_INSTANCE_ID",
344       "action": "None",
345       "orchStatus": "Created",
346       "provStatus": "preprov",
347       "inMaint": false,
348       "instanceId": "NETWORK4_INSTANCE_ID",
349       "instanceType": "CONTRAIL30_HIMELGUARD",
350       "instanceName": "NETWORK4_INSTANCE_NAME",
351       "name": "NETWORK4_INSTANCE_NAME",
352       "modelName": "ExtVL 0",
353       "type": "VL",
354       "isEcompGeneratedNaming": false,
355       "networkStoreKey": "NETWORK4_INSTANCE_ID",
356       "typeName": "N",
357       "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}},
358       "isFailed": false,
359       "statusMessage": "",
360       "statusProperties": [{"key": "Prov Status:", "value": "preprov", "testId": "provStatus"}, {
361         "key": "Orch Status:",
362         "value": "Created",
363         "testId": "orchStatus"
364       }],
365       "trackById": "1wvr73xl999",
366       "parentType": "",
367       "componentInfoType": "Network",
368       "errors": {}
369     };
370   }
371
372
373
374
375   function getServiceHierarchy(){
376     return {
377       "service": {
378         "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450",
379         "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0",
380         "name": "action-data",
381         "version": "1.0",
382         "toscaModelURL": null,
383         "category": "",
384         "serviceType": "",
385         "serviceRole": "",
386         "description": "",
387         "serviceEcompNaming": "false",
388         "instantiationType": "Macro",
389         "inputs": {
390           "2017488_pasqualevpe0_ASN": {
391             "type": "string",
392             "description": "AV/PE",
393             "entry_schema": null,
394             "inputProperties": null,
395             "constraints": [],
396             "required": true,
397             "default": "AV_vPE"
398           }
399         },
400         "vidNotions": {
401           "instantiationUI": "legacy",
402           "modelCategory": "other"
403         }
404       },
405       "vnfs": {
406         "2017-388_PASQUALE-vPE 1": {
407           "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
408           "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
409           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
410           "name": "2017-388_PASQUALE-vPE",
411           "version": "1.0",
412           "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
413           "inputs": {
414             "vnf_config_template_version": {
415               "type": "string",
416               "description": "VPE Software Version",
417               "entry_schema": null,
418               "inputProperties": null,
419               "constraints": [],
420               "required": true,
421               "default": "17.2"
422             },
423             "bandwidth_units": {
424               "type": "string",
425               "description": "Units of bandwidth",
426               "entry_schema": null,
427               "inputProperties": null,
428               "constraints": [],
429               "required": true,
430               "default": "Gbps"
431             },
432             "bandwidth": {
433               "type": "string",
434               "description": "Requested VPE bandwidth",
435               "entry_schema": null,
436               "inputProperties": null,
437               "constraints": [],
438               "required": true,
439               "default": "10"
440             },
441             "AIC_CLLI": {
442               "type": "string",
443               "description": "AIC Site CLLI",
444               "entry_schema": null,
445               "inputProperties": null,
446               "constraints": [],
447               "required": true,
448               "default": "ATLMY8GA"
449             },
450             "ASN": {
451               "type": "string",
452               "description": "AV/PE",
453               "entry_schema": null,
454               "inputProperties": null,
455               "constraints": [],
456               "required": true,
457               "default": "AV_vPE"
458             },
459             "vnf_instance_name": {
460               "type": "string",
461               "description": "The hostname assigned to the vpe.",
462               "entry_schema": null,
463               "inputProperties": null,
464               "constraints": [],
465               "required": true,
466               "default": "mtnj309me6"
467             }
468           },
469           "commands": {
470             "vnf_config_template_version": {
471               "displayName": "vnf_config_template_version",
472               "command": "get_input",
473               "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
474             },
475             "bandwidth_units": {
476               "displayName": "bandwidth_units",
477               "command": "get_input",
478               "inputName": "pasqualevpe0_bandwidth_units"
479             },
480             "bandwidth": {
481               "displayName": "bandwidth",
482               "command": "get_input",
483               "inputName": "pasqualevpe0_bandwidth"
484             },
485             "AIC_CLLI": {
486               "displayName": "AIC_CLLI",
487               "command": "get_input",
488               "inputName": "2017488_pasqualevpe0_AIC_CLLI"
489             },
490             "ASN": {
491               "displayName": "ASN",
492               "command": "get_input",
493               "inputName": "2017488_pasqualevpe0_ASN"
494             },
495             "vnf_instance_name": {
496               "displayName": "vnf_instance_name",
497               "command": "get_input",
498               "inputName": "2017488_pasqualevpe0_vnf_instance_name"
499             }
500           },
501           "properties": {
502             "vmxvre_retype": "RE-VMX",
503             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
504             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
505             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
506             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
507             "int_ctl_net_name": "VMX-INTXI",
508             "vmx_int_ctl_prefix": "10.0.0.10",
509             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
510             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
511             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
512             "nf_type": "vPE",
513             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
514             "is_AVPN_service": "false",
515             "vmx_RSG_name": "vREXI-affinity",
516             "vmx_int_ctl_forwarding": "l2",
517             "vmxvre_oam_ip_0": "10.0.0.10",
518             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
519             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
520             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
521             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
522             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
523             "vmxvre_instance": "0",
524             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
525             "vmxvre_flavor_name": "ns.c1r16d32.v5",
526             "vmxvpfe_volume_size_0": "40.0",
527             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
528             "nf_naming": "{ecomp_generated_naming=false}",
529             "nf_naming_code": "Navneet",
530             "vmxvre_name_0": "vREXI",
531             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
532             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
533             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
534             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
535             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
536             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
537             "vmxvre_console": "vidconsole",
538             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
539             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
540             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
541             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
542             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
543             "vf_module_id": "123",
544             "nf_function": "JAI",
545             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
546             "vmxvre_int_ctl_ip_0": "10.0.0.10",
547             "ecomp_generated_naming": "false",
548             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
549             "vnf_name": "mtnj309me6vre",
550             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
551             "vmxvre_volume_type_1": "HITACHI",
552             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
553             "vmxvre_volume_type_0": "HITACHI",
554             "vmxvpfe_volume_type_0": "HITACHI",
555             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
556             "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
557             "vnf_id": "123",
558             "vmxvre_oam_prefix": "24",
559             "availability_zone_0": "mtpocfo-kvm-az01",
560             "ASN": "get_input:2017488_pasqualevpe0_ASN",
561             "vmxvre_chassis_i2cid": "161",
562             "vmxvpfe_name_0": "vPFEXI",
563             "bandwidth": "get_input:pasqualevpe0_bandwidth",
564             "availability_zone_max_count": "1",
565             "vmxvre_volume_size_0": "45.0",
566             "vmxvre_volume_size_1": "50.0",
567             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
568             "vmxvre_oam_gateway": "10.0.0.10",
569             "vmxvre_volume_name_1": "vREXI_FAVolume",
570             "vmxvre_ore_present": "0",
571             "vmxvre_volume_name_0": "vREXI_FBVolume",
572             "vmxvre_type": "0",
573             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
574             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
575             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
576             "vmx_int_ctl_len": "24",
577             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
578             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
579             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
580             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
581             "nf_role": "Testing",
582             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
583             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
584             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
585           },
586           "type": "VF",
587           "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
588           "vfModules": {},
589           "volumeGroups": {},
590           "vfcInstanceGroups": {}
591         },
592         "2017-388_PASQUALE-vPE 0": {
593           "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
594           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
595           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
596           "name": "2017-388_PASQUALE-vPE",
597           "version": "4.0",
598           "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
599           "inputs": {
600             "vnf_config_template_version": {
601               "type": "string",
602               "description": "VPE Software Version",
603               "entry_schema": null,
604               "inputProperties": null,
605               "constraints": [],
606               "required": true,
607               "default": "17.2"
608             },
609             "bandwidth_units": {
610               "type": "string",
611               "description": "Units of bandwidth",
612               "entry_schema": null,
613               "inputProperties": null,
614               "constraints": [],
615               "required": true,
616               "default": "Gbps"
617             },
618             "bandwidth": {
619               "type": "string",
620               "description": "Requested VPE bandwidth",
621               "entry_schema": null,
622               "inputProperties": null,
623               "constraints": [],
624               "required": true,
625               "default": "10"
626             },
627             "AIC_CLLI": {
628               "type": "string",
629               "description": "AIC Site CLLI",
630               "entry_schema": null,
631               "inputProperties": null,
632               "constraints": [],
633               "required": true,
634               "default": "ATLMY8GA"
635             },
636             "ASN": {
637               "type": "string",
638               "description": "AV/PE",
639               "entry_schema": null,
640               "inputProperties": null,
641               "constraints": [],
642               "required": true,
643               "default": "AV_vPE"
644             },
645             "vnf_instance_name": {
646               "type": "string",
647               "description": "The hostname assigned to the vpe.",
648               "entry_schema": null,
649               "inputProperties": null,
650               "constraints": [],
651               "required": true,
652               "default": "mtnj309me6"
653             }
654           },
655           "commands": {
656             "vnf_config_template_version": {
657               "displayName": "vnf_config_template_version",
658               "command": "get_input",
659               "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
660             },
661             "bandwidth_units": {
662               "displayName": "bandwidth_units",
663               "command": "get_input",
664               "inputName": "pasqualevpe0_bandwidth_units"
665             },
666             "bandwidth": {
667               "displayName": "bandwidth",
668               "command": "get_input",
669               "inputName": "pasqualevpe0_bandwidth"
670             },
671             "AIC_CLLI": {
672               "displayName": "AIC_CLLI",
673               "command": "get_input",
674               "inputName": "2017488_pasqualevpe0_AIC_CLLI"
675             },
676             "ASN": {
677               "displayName": "ASN",
678               "command": "get_input",
679               "inputName": "2017488_pasqualevpe0_ASN"
680             },
681             "vnf_instance_name": {
682               "displayName": "vnf_instance_name",
683               "command": "get_input",
684               "inputName": "2017488_pasqualevpe0_vnf_instance_name"
685             }
686           },
687           "properties": {
688             "vmxvre_retype": "RE-VMX",
689             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
690             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
691             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
692             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
693             "int_ctl_net_name": "VMX-INTXI",
694             "vmx_int_ctl_prefix": "10.0.0.10",
695             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
696             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
697             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
698             "nf_type": "vPE",
699             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
700             "is_AVPN_service": "false",
701             "vmx_RSG_name": "vREXI-affinity",
702             "vmx_int_ctl_forwarding": "l2",
703             "vmxvre_oam_ip_0": "10.0.0.10",
704             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
705             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
706             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
707             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
708             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
709             "vmxvre_instance": "0",
710             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
711             "vmxvre_flavor_name": "ns.c1r16d32.v5",
712             "vmxvpfe_volume_size_0": "40.0",
713             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
714             "nf_naming": "{ecomp_generated_naming=false}",
715             "nf_naming_code": "Navneet",
716             "vmxvre_name_0": "vREXI",
717             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
718             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
719             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
720             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
721             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
722             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
723             "vmxvre_console": "vidconsole",
724             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
725             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
726             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
727             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
728             "min_instances": "1",
729             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
730             "vf_module_id": "123",
731             "nf_function": "JAI",
732             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
733             "vmxvre_int_ctl_ip_0": "10.0.0.10",
734             "ecomp_generated_naming": "false",
735             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
736             "vnf_name": "mtnj309me6vre",
737             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
738             "vmxvre_volume_type_1": "HITACHI",
739             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
740             "vmxvre_volume_type_0": "HITACHI",
741             "vmxvpfe_volume_type_0": "HITACHI",
742             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
743             "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
744             "vnf_id": "123",
745             "vmxvre_oam_prefix": "24",
746             "availability_zone_0": "mtpocfo-kvm-az01",
747             "ASN": "get_input:2017488_pasqualevpe0_ASN",
748             "vmxvre_chassis_i2cid": "161",
749             "vmxvpfe_name_0": "vPFEXI",
750             "bandwidth": "get_input:pasqualevpe0_bandwidth",
751             "availability_zone_max_count": "1",
752             "vmxvre_volume_size_0": "45.0",
753             "vmxvre_volume_size_1": "50.0",
754             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
755             "vmxvre_oam_gateway": "10.0.0.10",
756             "vmxvre_volume_name_1": "vREXI_FAVolume",
757             "vmxvre_ore_present": "0",
758             "vmxvre_volume_name_0": "vREXI_FBVolume",
759             "vmxvre_type": "0",
760             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
761             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
762             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
763             "vmx_int_ctl_len": "24",
764             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
765             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
766             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
767             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
768             "nf_role": "Testing",
769             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
770             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
771             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
772           },
773           "type": "VF",
774           "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
775           "vfModules": {},
776           "volumeGroups": {},
777           "vfcInstanceGroups": {}
778         },
779         "2017-488_PASQUALE-vPE 0": {
780           "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
781           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
782           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
783           "name": "2017-488_PASQUALE-vPE",
784           "version": "5.0",
785           "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
786           "inputs": {
787             "vnf_config_template_version": {
788               "type": "string",
789               "description": "VPE Software Version",
790               "entry_schema": null,
791               "inputProperties": null,
792               "constraints": [],
793               "required": true,
794               "default": "17.2"
795             },
796             "bandwidth_units": {
797               "type": "string",
798               "description": "Units of bandwidth",
799               "entry_schema": null,
800               "inputProperties": null,
801               "constraints": [],
802               "required": true,
803               "default": "Gbps"
804             },
805             "bandwidth": {
806               "type": "string",
807               "description": "Requested VPE bandwidth",
808               "entry_schema": null,
809               "inputProperties": null,
810               "constraints": [],
811               "required": true,
812               "default": "10"
813             },
814             "AIC_CLLI": {
815               "type": "string",
816               "description": "AIC Site CLLI",
817               "entry_schema": null,
818               "inputProperties": null,
819               "constraints": [],
820               "required": true,
821               "default": "ATLMY8GA"
822             },
823             "ASN": {
824               "type": "string",
825               "description": "AV/PE",
826               "entry_schema": null,
827               "inputProperties": null,
828               "constraints": [],
829               "required": true,
830               "default": "AV_vPE"
831             },
832             "vnf_instance_name": {
833               "type": "string",
834               "description": "The hostname assigned to the vpe.",
835               "entry_schema": null,
836               "inputProperties": null,
837               "constraints": [],
838               "required": true,
839               "default": "mtnj309me6"
840             }
841           },
842           "commands": {
843             "vnf_config_template_version": {
844               "displayName": "vnf_config_template_version",
845               "command": "get_input",
846               "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
847             },
848             "bandwidth_units": {
849               "displayName": "bandwidth_units",
850               "command": "get_input",
851               "inputName": "pasqualevpe0_bandwidth_units"
852             },
853             "bandwidth": {
854               "displayName": "bandwidth",
855               "command": "get_input",
856               "inputName": "pasqualevpe0_bandwidth"
857             },
858             "AIC_CLLI": {
859               "displayName": "AIC_CLLI",
860               "command": "get_input",
861               "inputName": "2017488_pasqualevpe0_AIC_CLLI"
862             },
863             "ASN": {
864               "displayName": "ASN",
865               "command": "get_input",
866               "inputName": "2017488_pasqualevpe0_ASN"
867             },
868             "vnf_instance_name": {
869               "displayName": "vnf_instance_name",
870               "command": "get_input",
871               "inputName": "2017488_pasqualevpe0_vnf_instance_name"
872             }
873           },
874           "properties": {
875             "vmxvre_retype": "RE-VMX",
876             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
877             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
878             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
879             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
880             "int_ctl_net_name": "VMX-INTXI",
881             "vmx_int_ctl_prefix": "10.0.0.10",
882             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
883             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
884             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
885             "nf_type": "vPE",
886             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
887             "is_AVPN_service": "false",
888             "vmx_RSG_name": "vREXI-affinity",
889             "vmx_int_ctl_forwarding": "l2",
890             "vmxvre_oam_ip_0": "10.0.0.10",
891             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
892             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
893             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
894             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
895             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
896             "vmxvre_instance": "0",
897             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
898             "vmxvre_flavor_name": "ns.c1r16d32.v5",
899             "vmxvpfe_volume_size_0": "40.0",
900             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
901             "nf_naming": "{ecomp_generated_naming=false}",
902             "nf_naming_code": "Navneet",
903             "vmxvre_name_0": "vREXI",
904             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
905             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
906             "max_instances": "3",
907             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
908             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
909             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
910             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
911             "vmxvre_console": "vidconsole",
912             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
913             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
914             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
915             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
916             "min_instances": "1",
917             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
918             "vf_module_id": "123",
919             "nf_function": "JAI",
920             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
921             "vmxvre_int_ctl_ip_0": "10.0.0.10",
922             "ecomp_generated_naming": "false",
923             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
924             "vnf_name": "mtnj309me6vre",
925             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
926             "vmxvre_volume_type_1": "HITACHI",
927             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
928             "vmxvre_volume_type_0": "HITACHI",
929             "vmxvpfe_volume_type_0": "HITACHI",
930             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
931             "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
932             "vnf_id": "123",
933             "vmxvre_oam_prefix": "24",
934             "availability_zone_0": "mtpocfo-kvm-az01",
935             "ASN": "get_input:2017488_pasqualevpe0_ASN",
936             "vmxvre_chassis_i2cid": "161",
937             "vmxvpfe_name_0": "vPFEXI",
938             "bandwidth": "get_input:pasqualevpe0_bandwidth",
939             "availability_zone_max_count": "1",
940             "vmxvre_volume_size_0": "45.0",
941             "vmxvre_volume_size_1": "50.0",
942             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
943             "vmxvre_oam_gateway": "10.0.0.10",
944             "vmxvre_volume_name_1": "vREXI_FAVolume",
945             "vmxvre_ore_present": "0",
946             "vmxvre_volume_name_0": "vREXI_FBVolume",
947             "vmxvre_type": "0",
948             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
949             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
950             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
951             "vmx_int_ctl_len": "24",
952             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
953             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
954             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
955             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
956             "nf_role": "Testing",
957             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
958             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
959             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
960           },
961           "type": "VF",
962           "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
963           "vfModules": {
964             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
965               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
966               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
967               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
968               "description": null,
969               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
970               "version": "6",
971               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
972               "properties": {
973                 "minCountInstances": 0,
974                 "maxCountInstances": null,
975                 "initialCount": 0,
976                 "vfModuleLabel": "PASQUALE_vRE_BV",
977                 "baseModule": false
978               },
979               "inputs": {
980                 "vnf_config_template_version": {
981                   "type": "string",
982                   "description": "VPE Software Version",
983                   "entry_schema": null,
984                   "inputProperties": {
985                     "sourceType": "HEAT",
986                     "vfModuleLabel": "PASQUALE_vRE_BV",
987                     "paramName": "vnf_config_template_version"
988                   },
989                   "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
990                   "constraints": null,
991                   "required": true,
992                   "default": "17.2"
993                 },
994                 "bandwidth_units": {
995                   "type": "string",
996                   "description": "Units of bandwidth",
997                   "entry_schema": null,
998                   "inputProperties": {
999                     "sourceType": "HEAT",
1000                     "vfModuleLabel": "PASQUALE_vRE_BV",
1001                     "paramName": "bandwidth_units"
1002                   },
1003                   "fromInputName": "pasqualevpe0_bandwidth_units",
1004                   "constraints": null,
1005                   "required": true,
1006                   "default": "Gbps"
1007                 },
1008                 "bandwidth": {
1009                   "type": "string",
1010                   "description": "Requested VPE bandwidth",
1011                   "entry_schema": null,
1012                   "inputProperties": {
1013                     "sourceType": "HEAT",
1014                     "vfModuleLabel": "PASQUALE_vRE_BV",
1015                     "paramName": "bandwidth"
1016                   },
1017                   "fromInputName": "pasqualevpe0_bandwidth",
1018                   "constraints": null,
1019                   "required": true,
1020                   "default": "10"
1021                 },
1022                 "AIC_CLLI": {
1023                   "type": "string",
1024                   "description": "AIC Site CLLI",
1025                   "entry_schema": null,
1026                   "inputProperties": {
1027                     "sourceType": "HEAT",
1028                     "vfModuleLabel": "PASQUALE_vRE_BV",
1029                     "paramName": "AIC_CLLI"
1030                   },
1031                   "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1032                   "constraints": null,
1033                   "required": true,
1034                   "default": "ATLMY8GA"
1035                 },
1036                 "vnf_instance_name": {
1037                   "type": "string",
1038                   "description": "The hostname assigned to the vpe.",
1039                   "entry_schema": null,
1040                   "inputProperties": {
1041                     "sourceType": "HEAT",
1042                     "vfModuleLabel": "PASQUALE_vRE_BV",
1043                     "paramName": "vnf_instance_name"
1044                   },
1045                   "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1046                   "constraints": null,
1047                   "required": true,
1048                   "default": "mtnj309me6"
1049                 }
1050               },
1051               "volumeGroupAllowed": true
1052             },
1053             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1054               "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1055               "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1056               "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1057               "description": null,
1058               "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1059               "version": "5",
1060               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1061               "properties": {
1062                 "minCountInstances": 1,
1063                 "maxCountInstances": 1,
1064                 "initialCount": 1,
1065                 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1066                 "baseModule": true
1067               },
1068               "inputs": {},
1069               "volumeGroupAllowed": false
1070             },
1071             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1072               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1073               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1074               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1075               "description": null,
1076               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1077               "version": "6",
1078               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1079               "properties": {
1080                 "minCountInstances": 0,
1081                 "maxCountInstances": null,
1082                 "initialCount": 0,
1083                 "vfModuleLabel": "PASQUALE_vPFE_BV",
1084                 "baseModule": false
1085               },
1086               "inputs": {},
1087               "volumeGroupAllowed": true
1088             }
1089           },
1090           "volumeGroups": {
1091             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1092               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1093               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1094               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1095               "description": null,
1096               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1097               "version": "6",
1098               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1099               "properties": {
1100                 "minCountInstances": 0,
1101                 "maxCountInstances": null,
1102                 "initialCount": 0,
1103                 "vfModuleLabel": "PASQUALE_vRE_BV",
1104                 "baseModule": false
1105               },
1106               "inputs": {
1107                 "vnf_config_template_version": {
1108                   "type": "string",
1109                   "description": "VPE Software Version",
1110                   "entry_schema": null,
1111                   "inputProperties": {
1112                     "sourceType": "HEAT",
1113                     "vfModuleLabel": "PASQUALE_vRE_BV",
1114                     "paramName": "vnf_config_template_version"
1115                   },
1116                   "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1117                   "constraints": null,
1118                   "required": true,
1119                   "default": "17.2"
1120                 },
1121                 "bandwidth_units": {
1122                   "type": "string",
1123                   "description": "Units of bandwidth",
1124                   "entry_schema": null,
1125                   "inputProperties": {
1126                     "sourceType": "HEAT",
1127                     "vfModuleLabel": "PASQUALE_vRE_BV",
1128                     "paramName": "bandwidth_units"
1129                   },
1130                   "fromInputName": "pasqualevpe0_bandwidth_units",
1131                   "constraints": null,
1132                   "required": true,
1133                   "default": "Gbps"
1134                 },
1135                 "bandwidth": {
1136                   "type": "string",
1137                   "description": "Requested VPE bandwidth",
1138                   "entry_schema": null,
1139                   "inputProperties": {
1140                     "sourceType": "HEAT",
1141                     "vfModuleLabel": "PASQUALE_vRE_BV",
1142                     "paramName": "bandwidth"
1143                   },
1144                   "fromInputName": "pasqualevpe0_bandwidth",
1145                   "constraints": null,
1146                   "required": true,
1147                   "default": "10"
1148                 },
1149                 "AIC_CLLI": {
1150                   "type": "string",
1151                   "description": "AIC Site CLLI",
1152                   "entry_schema": null,
1153                   "inputProperties": {
1154                     "sourceType": "HEAT",
1155                     "vfModuleLabel": "PASQUALE_vRE_BV",
1156                     "paramName": "AIC_CLLI"
1157                   },
1158                   "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1159                   "constraints": null,
1160                   "required": true,
1161                   "default": "ATLMY8GA"
1162                 },
1163                 "vnf_instance_name": {
1164                   "type": "string",
1165                   "description": "The hostname assigned to the vpe.",
1166                   "entry_schema": null,
1167                   "inputProperties": {
1168                     "sourceType": "HEAT",
1169                     "vfModuleLabel": "PASQUALE_vRE_BV",
1170                     "paramName": "vnf_instance_name"
1171                   },
1172                   "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1173                   "constraints": null,
1174                   "required": true,
1175                   "default": "mtnj309me6"
1176                 }
1177               }
1178             },
1179             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1180               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1181               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1182               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1183               "description": null,
1184               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1185               "version": "6",
1186               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1187               "properties": {
1188                 "minCountInstances": 0,
1189                 "maxCountInstances": null,
1190                 "initialCount": 0,
1191                 "vfModuleLabel": "PASQUALE_vPFE_BV",
1192                 "baseModule": false
1193               },
1194               "inputs": {}
1195             }
1196           },
1197           "vfcInstanceGroups": {}
1198         }
1199       },
1200       "networks": {
1201         "2017-388_PASQUALE-vPE 1_1": {
1202           "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
1203           "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
1204           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
1205           "name": "2017-388_PASQUALE-vPE",
1206           "version": "1.0",
1207           "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
1208           "inputs": {
1209             "vnf_config_template_version": {
1210               "type": "string",
1211               "description": "VPE Software Version",
1212               "entry_schema": null,
1213               "inputProperties": null,
1214               "constraints": [],
1215               "required": true,
1216               "default": "17.2"
1217             },
1218             "bandwidth_units": {
1219               "type": "string",
1220               "description": "Units of bandwidth",
1221               "entry_schema": null,
1222               "inputProperties": null,
1223               "constraints": [],
1224               "required": true,
1225               "default": "Gbps"
1226             },
1227             "bandwidth": {
1228               "type": "string",
1229               "description": "Requested VPE bandwidth",
1230               "entry_schema": null,
1231               "inputProperties": null,
1232               "constraints": [],
1233               "required": true,
1234               "default": "10"
1235             },
1236             "AIC_CLLI": {
1237               "type": "string",
1238               "description": "AIC Site CLLI",
1239               "entry_schema": null,
1240               "inputProperties": null,
1241               "constraints": [],
1242               "required": true,
1243               "default": "ATLMY8GA"
1244             },
1245             "ASN": {
1246               "type": "string",
1247               "description": "AV/PE",
1248               "entry_schema": null,
1249               "inputProperties": null,
1250               "constraints": [],
1251               "required": true,
1252               "default": "AV_vPE"
1253             },
1254             "vnf_instance_name": {
1255               "type": "string",
1256               "description": "The hostname assigned to the vpe.",
1257               "entry_schema": null,
1258               "inputProperties": null,
1259               "constraints": [],
1260               "required": true,
1261               "default": "mtnj309me6"
1262             }
1263           },
1264           "commands": {
1265             "vnf_config_template_version": {
1266               "displayName": "vnf_config_template_version",
1267               "command": "get_input",
1268               "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
1269             },
1270             "bandwidth_units": {
1271               "displayName": "bandwidth_units",
1272               "command": "get_input",
1273               "inputName": "pasqualevpe0_bandwidth_units"
1274             },
1275             "bandwidth": {
1276               "displayName": "bandwidth",
1277               "command": "get_input",
1278               "inputName": "pasqualevpe0_bandwidth"
1279             },
1280             "AIC_CLLI": {
1281               "displayName": "AIC_CLLI",
1282               "command": "get_input",
1283               "inputName": "2017488_pasqualevpe0_AIC_CLLI"
1284             },
1285             "ASN": {
1286               "displayName": "ASN",
1287               "command": "get_input",
1288               "inputName": "2017488_pasqualevpe0_ASN"
1289             },
1290             "vnf_instance_name": {
1291               "displayName": "vnf_instance_name",
1292               "command": "get_input",
1293               "inputName": "2017488_pasqualevpe0_vnf_instance_name"
1294             }
1295           },
1296           "properties": {
1297             "vmxvre_retype": "RE-VMX",
1298             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
1299             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
1300             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
1301             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
1302             "int_ctl_net_name": "VMX-INTXI",
1303             "vmx_int_ctl_prefix": "10.0.0.10",
1304             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
1305             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
1306             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
1307             "nf_type": "vPE",
1308             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
1309             "is_AVPN_service": "false",
1310             "vmx_RSG_name": "vREXI-affinity",
1311             "vmx_int_ctl_forwarding": "l2",
1312             "vmxvre_oam_ip_0": "10.0.0.10",
1313             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
1314             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
1315             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
1316             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
1317             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
1318             "vmxvre_instance": "0",
1319             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
1320             "vmxvre_flavor_name": "ns.c1r16d32.v5",
1321             "vmxvpfe_volume_size_0": "40.0",
1322             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
1323             "nf_naming": "{ecomp_generated_naming=false}",
1324             "nf_naming_code": "Navneet",
1325             "vmxvre_name_0": "vREXI",
1326             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
1327             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
1328             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
1329             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
1330             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
1331             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
1332             "vmxvre_console": "vidconsole",
1333             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
1334             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
1335             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
1336             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
1337             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
1338             "vf_module_id": "123",
1339             "nf_function": "JAI",
1340             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
1341             "vmxvre_int_ctl_ip_0": "10.0.0.10",
1342             "ecomp_generated_naming": "false",
1343             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
1344             "vnf_name": "mtnj309me6vre",
1345             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
1346             "vmxvre_volume_type_1": "HITACHI",
1347             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
1348             "vmxvre_volume_type_0": "HITACHI",
1349             "vmxvpfe_volume_type_0": "HITACHI",
1350             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
1351             "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
1352             "vnf_id": "123",
1353             "vmxvre_oam_prefix": "24",
1354             "availability_zone_0": "mtpocfo-kvm-az01",
1355             "ASN": "get_input:2017488_pasqualevpe0_ASN",
1356             "vmxvre_chassis_i2cid": "161",
1357             "vmxvpfe_name_0": "vPFEXI",
1358             "bandwidth": "get_input:pasqualevpe0_bandwidth",
1359             "availability_zone_max_count": "1",
1360             "vmxvre_volume_size_0": "45.0",
1361             "vmxvre_volume_size_1": "50.0",
1362             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
1363             "vmxvre_oam_gateway": "10.0.0.10",
1364             "vmxvre_volume_name_1": "vREXI_FAVolume",
1365             "vmxvre_ore_present": "0",
1366             "vmxvre_volume_name_0": "vREXI_FBVolume",
1367             "vmxvre_type": "0",
1368             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
1369             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
1370             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
1371             "vmx_int_ctl_len": "24",
1372             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
1373             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
1374             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
1375             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
1376             "nf_role": "Testing",
1377             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
1378             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
1379             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
1380           },
1381           "type": "VL",
1382           "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
1383           "vfModules": {},
1384           "volumeGroups": {},
1385           "vfcInstanceGroups": {}
1386         }
1387       },
1388       "collectionResources": {},
1389       "configurations": {},
1390       "fabricConfigurations": {},
1391       "serviceProxies": {},
1392       "vfModules": {
1393         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1394           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1395           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1396           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1397           "description": null,
1398           "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1399           "version": "6",
1400           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1401           "properties": {
1402             "minCountInstances": 0,
1403             "maxCountInstances": null,
1404             "initialCount": 0,
1405             "vfModuleLabel": "PASQUALE_vRE_BV",
1406             "baseModule": false
1407           },
1408           "inputs": {
1409             "vnf_config_template_version": {
1410               "type": "string",
1411               "description": "VPE Software Version",
1412               "entry_schema": null,
1413               "inputProperties": {
1414                 "sourceType": "HEAT",
1415                 "vfModuleLabel": "PASQUALE_vRE_BV",
1416                 "paramName": "vnf_config_template_version"
1417               },
1418               "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1419               "constraints": null,
1420               "required": true,
1421               "default": "17.2"
1422             },
1423             "bandwidth_units": {
1424               "type": "string",
1425               "description": "Units of bandwidth",
1426               "entry_schema": null,
1427               "inputProperties": {
1428                 "sourceType": "HEAT",
1429                 "vfModuleLabel": "PASQUALE_vRE_BV",
1430                 "paramName": "bandwidth_units"
1431               },
1432               "fromInputName": "pasqualevpe0_bandwidth_units",
1433               "constraints": null,
1434               "required": true,
1435               "default": "Gbps"
1436             },
1437             "bandwidth": {
1438               "type": "string",
1439               "description": "Requested VPE bandwidth",
1440               "entry_schema": null,
1441               "inputProperties": {
1442                 "sourceType": "HEAT",
1443                 "vfModuleLabel": "PASQUALE_vRE_BV",
1444                 "paramName": "bandwidth"
1445               },
1446               "fromInputName": "pasqualevpe0_bandwidth",
1447               "constraints": null,
1448               "required": true,
1449               "default": "10"
1450             },
1451             "AIC_CLLI": {
1452               "type": "string",
1453               "description": "AIC Site CLLI",
1454               "entry_schema": null,
1455               "inputProperties": {
1456                 "sourceType": "HEAT",
1457                 "vfModuleLabel": "PASQUALE_vRE_BV",
1458                 "paramName": "AIC_CLLI"
1459               },
1460               "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1461               "constraints": null,
1462               "required": true,
1463               "default": "ATLMY8GA"
1464             },
1465             "vnf_instance_name": {
1466               "type": "string",
1467               "description": "The hostname assigned to the vpe.",
1468               "entry_schema": null,
1469               "inputProperties": {
1470                 "sourceType": "HEAT",
1471                 "vfModuleLabel": "PASQUALE_vRE_BV",
1472                 "paramName": "vnf_instance_name"
1473               },
1474               "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1475               "constraints": null,
1476               "required": true,
1477               "default": "mtnj309me6"
1478             }
1479           },
1480           "volumeGroupAllowed": true
1481         },
1482         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1483           "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1484           "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1485           "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1486           "description": null,
1487           "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1488           "version": "5",
1489           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1490           "properties": {
1491             "minCountInstances": 1,
1492             "maxCountInstances": 1,
1493             "initialCount": 1,
1494             "vfModuleLabel": "PASQUALE_base_vPE_BV",
1495             "baseModule": true
1496           },
1497           "inputs": {},
1498           "volumeGroupAllowed": false
1499         },
1500         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1501           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1502           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1503           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1504           "description": null,
1505           "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1506           "version": "6",
1507           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1508           "properties": {
1509             "minCountInstances": 0,
1510             "maxCountInstances": null,
1511             "initialCount": 0,
1512             "vfModuleLabel": "PASQUALE_vPFE_BV",
1513             "baseModule": false
1514           },
1515           "inputs": {},
1516           "volumeGroupAllowed": true
1517         }
1518       },
1519       "volumeGroups": {
1520         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1521           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1522           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1523           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1524           "description": null,
1525           "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1526           "version": "6",
1527           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1528           "properties": {
1529             "minCountInstances": 0,
1530             "maxCountInstances": null,
1531             "initialCount": 0,
1532             "vfModuleLabel": "PASQUALE_vRE_BV",
1533             "baseModule": false
1534           },
1535           "inputs": {
1536             "vnf_config_template_version": {
1537               "type": "string",
1538               "description": "VPE Software Version",
1539               "entry_schema": null,
1540               "inputProperties": {
1541                 "sourceType": "HEAT",
1542                 "vfModuleLabel": "PASQUALE_vRE_BV",
1543                 "paramName": "vnf_config_template_version"
1544               },
1545               "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1546               "constraints": null,
1547               "required": true,
1548               "default": "17.2"
1549             },
1550             "bandwidth_units": {
1551               "type": "string",
1552               "description": "Units of bandwidth",
1553               "entry_schema": null,
1554               "inputProperties": {
1555                 "sourceType": "HEAT",
1556                 "vfModuleLabel": "PASQUALE_vRE_BV",
1557                 "paramName": "bandwidth_units"
1558               },
1559               "fromInputName": "pasqualevpe0_bandwidth_units",
1560               "constraints": null,
1561               "required": true,
1562               "default": "Gbps"
1563             },
1564             "bandwidth": {
1565               "type": "string",
1566               "description": "Requested VPE bandwidth",
1567               "entry_schema": null,
1568               "inputProperties": {
1569                 "sourceType": "HEAT",
1570                 "vfModuleLabel": "PASQUALE_vRE_BV",
1571                 "paramName": "bandwidth"
1572               },
1573               "fromInputName": "pasqualevpe0_bandwidth",
1574               "constraints": null,
1575               "required": true,
1576               "default": "10"
1577             },
1578             "AIC_CLLI": {
1579               "type": "string",
1580               "description": "AIC Site CLLI",
1581               "entry_schema": null,
1582               "inputProperties": {
1583                 "sourceType": "HEAT",
1584                 "vfModuleLabel": "PASQUALE_vRE_BV",
1585                 "paramName": "AIC_CLLI"
1586               },
1587               "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1588               "constraints": null,
1589               "required": true,
1590               "default": "ATLMY8GA"
1591             },
1592             "vnf_instance_name": {
1593               "type": "string",
1594               "description": "The hostname assigned to the vpe.",
1595               "entry_schema": null,
1596               "inputProperties": {
1597                 "sourceType": "HEAT",
1598                 "vfModuleLabel": "PASQUALE_vRE_BV",
1599                 "paramName": "vnf_instance_name"
1600               },
1601               "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1602               "constraints": null,
1603               "required": true,
1604               "default": "mtnj309me6"
1605             }
1606           }
1607         },
1608         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1609           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1610           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1611           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1612           "description": null,
1613           "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1614           "version": "6",
1615           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1616           "properties": {
1617             "minCountInstances": 0,
1618             "maxCountInstances": null,
1619             "initialCount": 0,
1620             "vfModuleLabel": "PASQUALE_vPFE_BV",
1621             "baseModule": false
1622           },
1623           "inputs": {}
1624         }
1625       },
1626       "pnfs": {}
1627     }
1628   }
1629 });