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