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