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