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