1 import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {VnfModelInfo} from "./vnf.model.info";
5 import {DynamicInputsService} from "../../dynamicInputs.service";
6 import {VFModuleModelInfo} from "../vfModule/vfModule.model.info";
7 import {VNFModel} from "../../../../../shared/models/vnfModel";
8 import {SharedTreeService} from "../../shared.tree.service";
9 import {NgRedux} from "@angular-redux/store";
10 import {AppState} from "../../../../../shared/store/reducers";
11 import {DefaultDataGeneratorService} from "../../../../../shared/services/defaultDataServiceGenerator/default.data.generator.service";
12 import {DialogService} from "ng2-bootstrap-modal";
13 import {VfModulePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
14 import {VnfPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service";
15 import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service";
16 import {DuplicateService} from "../../../duplicate/duplicate.service";
17 import {IframeService} from "../../../../../shared/utils/iframe.service";
18 import {ServiceInfoService} from "../../../../../shared/server/serviceInfo/serviceInfo.service";
19 import {AuditInfoModalComponent} from "../../../../../shared/components/auditInfoModal/auditInfoModal.component";
20 import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
21 import {ComponentInfoService} from "../../../component-info/component-info.service";
22 import {AaiService} from "../../../../../shared/services/aaiService/aai.service";
23 import {HttpClient, HttpHandler} from "@angular/common/http";
24 import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service";
25 import {VfModuleUpgradePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
27 class MockFeatureFlagsService extends FeatureFlagsService{
28 getAllFlags(): { [p: string]: boolean } {
33 describe('Vnf Model Info', () => {
35 let httpMock: HttpTestingController;
36 let _dynamicInputsService : DynamicInputsService;
37 let _sharedTreeService : SharedTreeService;
38 let _serviceInfoService: ServiceInfoService;
39 let _defaultDataGeneratorService : DefaultDataGeneratorService;
40 let _dialogService : DialogService;
41 let _vfModulePopupService : VfModulePopupService;
42 let _vfModuleUpgradePopupService : VfModuleUpgradePopupService;
43 let _vnfPopupService : VnfPopupService;
44 let _duplicateService : DuplicateService;
45 let _iframeService : IframeService;
46 let _componentInfoService : ComponentInfoService;
47 let _featureFlagsService : FeatureFlagsService;
49 let _store : NgRedux<AppState>;
50 let vnfModel: VnfModelInfo;
52 TestBed.configureTestingModule({
53 imports: [HttpClientTestingModule, NgReduxTestingModule],
59 VfModuleUpgradePopupService,
61 DefaultDataGeneratorService,
67 {provide: FeatureFlagsService, useClass: MockFeatureFlagsService},
70 }).compileComponents();
72 injector = getTestBed();
73 _sharedTreeService = injector.get(SharedTreeService);
74 _store = injector.get(NgRedux);
75 _featureFlagsService = injector.get(FeatureFlagsService);
77 vnfModel = new VnfModelInfo(
78 _dynamicInputsService,
80 _defaultDataGeneratorService,
83 _vfModulePopupService,
84 _vfModuleUpgradePopupService,
88 _componentInfoService,
95 test('VnfModelInfo should be defined', () => {
96 expect(VnfModelInfo).toBeDefined();
99 test('VnfModelInfo should defined extra details', () => {
100 expect(vnfModel.name).toEqual('vnfs');
101 expect(vnfModel.type).toEqual('VNF');
102 expect(vnfModel.childNames).toEqual(['vfModules']);
105 test('isEcompGeneratedNaming should return true if isEcompGeneratedNaming is "true" ', () => {
106 let isEcompGeneratedNaming: boolean = vnfModel.isEcompGeneratedNaming(<any>{
108 ecomp_generated_naming: 'true'
111 expect(isEcompGeneratedNaming).toBeTruthy();
114 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is "false"', () => {
115 let isEcompGeneratedNaming: boolean = vnfModel.isEcompGeneratedNaming({
117 ecomp_generated_naming: 'false'
120 expect(isEcompGeneratedNaming).toBeFalsy();
123 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is not defined', () => {
124 let isEcompGeneratedNaming: boolean = vnfModel.isEcompGeneratedNaming({
128 expect(isEcompGeneratedNaming).toBeFalsy();
132 test('getTooltip should return "VF"', () => {
133 let tooltip: string = vnfModel.getTooltip();
134 expect(tooltip).toEqual('VF');
137 test('getType should return "VF"', () => {
138 let tooltip: string = vnfModel.getType();
139 expect(tooltip).toEqual('VF');
142 test('getNextLevelObject should vfModule level object', () => {
143 let nextLevel: VFModuleModelInfo = vnfModel.getNextLevelObject();
144 expect(nextLevel.type).toEqual('Module');
147 test('getModel should return VNF model', () => {
148 let model: VNFModel = vnfModel.getModel('2017-388_PASQUALE-vPE 1', <any>{
149 originalName : '2017-388_PASQUALE-vPE 1'
150 }, getServiceHierarchy());
151 expect(model.type).toEqual('VF');
154 test('showNodeIcons should return false if reachLimit of max', ()=>{
155 let serviceId : string = 'servicedId';
160 modelCustomizationId : "modelCustomizationId",
161 modelUniqueId: "modelCustomizationId"
164 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
170 modelCustomizationId : "modelCustomizationId",
172 modelCustomizationId : "modelCustomizationId"
184 'existingVNFCounterMap' : {
185 'modelCustomizationId' : 1
197 let result = vnfModel.showNodeIcons(<any>node, serviceId);
198 expect(result).toEqual(new AvailableNodeIcons(false , true));
201 test('showNodeIcons should return true if not reachLimit of max', ()=>{
202 let serviceId : string = 'servicedId';
209 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
211 drawingBoardStatus: "EDIT"
227 'existingVNFCounterMap' : {
240 let result = vnfModel.showNodeIcons(<any>node, serviceId);
241 expect(result).toEqual(new AvailableNodeIcons(true , false));
244 test('getNodeCount should return number of nodes', ()=>{
245 let serviceId : string = 'servicedId';
246 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
262 'existingVNFCounterMap' : {
263 'modelCustomizationId' : 1
267 'originalName' : 'vnfName'
279 modelCustomizationId : "modelCustomizationId",
280 modelUniqueId: "modelCustomizationId"
283 let result = vnfModel.getNodeCount(<any>node , serviceId);
284 expect(result).toEqual(1);
286 node.data.modelCustomizationId = 'vnfId_notExist';
287 node.data.modelUniqueId = 'vnfId_notExist';
288 result = vnfModel.getNodeCount(<any>node , serviceId);
289 expect(result).toEqual(0);
291 result = vnfModel.getNodeCount(<any>node , serviceId + '_notExist');
292 expect(result).toEqual(0);
295 test('getMenuAction: edit', ()=>{
296 let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vGeraldine 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vGeraldine 0:004","vnfStoreKey":"VF_vGeraldine 0:004","typeName":"VNF"};
297 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
298 let result = vnfModel.getMenuAction(<any>node, serviceModelId);
299 spyOn(result['edit'], 'method');
300 expect(result['edit']).toBeDefined();
301 expect(result['edit'].visible).toBeTruthy();
302 expect(result['edit'].enable).toBeTruthy();
303 result['edit']['method'](node, serviceModelId);
304 expect(result['edit']['method']).toHaveBeenCalledWith(node, serviceModelId);
307 test('member should defined edit method', () => {
310 "modelId": "d6557200-ecf2-4641-8094-5393ae3aae60",
314 "name": "jlfBwIks283yKlCD8",
315 "modelName": "VF_vGeraldine 0",
317 "userProvidedNaming": false,
318 "networkStoreKey": "VF_vGeraldine 0:004",
319 "vnfStoreKey": "VF_vGeraldine 0:004",
325 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
327 let menuActions = vnfModel.getMenuAction(<any>node, serviceModelId);
328 spyOn(menuActions['edit'], 'method');
329 expect(menuActions['edit']).toBeDefined();
330 expect(menuActions['edit'].visible(node)).toBeFalsy();
331 menuActions['edit']['method'](node, serviceModelId);
332 expect(menuActions['edit']['method']).toHaveBeenCalledWith(node, serviceModelId);
335 test('getMenuAction: duplicate', ()=>{
336 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
339 "type": "UPDATE_DRAWING_BOARD_STATUS",
340 "drawingBoardStatus": "CREATE"
345 "modelId": "d6557200-ecf2-4641-8094-5393ae3aae60",
349 "name": "jlfBwIks283yKlCD8",
350 "modelName": "VF_vGeraldine 0",
352 "isEcompGeneratedNaming":true,
353 "networkStoreKey": "VF_vGeraldine 0:004",
354 "vnfStoreKey": "VF_vGeraldine 0:004",
360 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
361 let menuActions = vnfModel.getMenuAction(<any>node, serviceModelId);
362 spyOn(menuActions['duplicate'], 'method');
363 expect(menuActions['duplicate']).toBeDefined();
364 expect(menuActions['duplicate'].visible(node)).toBeFalsy();
365 menuActions['duplicate']['method'](node, serviceModelId);
366 expect(menuActions['duplicate']['method']).toHaveBeenCalledWith(node, serviceModelId);
369 test('getMenuAction: remove', ()=>{
372 "modelId": "d6557200-ecf2-4641-8094-5393ae3aae60",
376 "name": "jlfBwIks283yKlCD8",
377 "modelName": "VF_vGeraldine 0",
379 "isEcompGeneratedNaming":true,
380 "networkStoreKey": "VF_vGeraldine 0:004",
381 "vnfStoreKey": "VF_vGeraldine 0:004",
387 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
389 let menuActions = vnfModel.getMenuAction(<any>node, serviceModelId);
390 spyOn(menuActions['remove'], 'method');
391 expect(menuActions['remove']).toBeDefined();
392 expect(menuActions['remove'].visible(node)).toBeFalsy();
393 menuActions['remove']['method'](node, serviceModelId);
394 expect(menuActions['remove']['method']).toHaveBeenCalledWith(node, serviceModelId);
397 test('getMenuAction: delete', ()=>{
398 let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vGeraldine 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vGeraldine 0:004","vnfStoreKey":"VF_vGeraldine 0:004","typeName":"VNF"};
399 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
400 let result = vnfModel.getMenuAction(<any>node, serviceModelId);
401 spyOn(result['delete'], 'method');
402 expect(result['delete']).toBeDefined();
403 expect(result['delete'].visible).toBeTruthy();
404 expect(result['delete'].enable).toBeTruthy();
405 result['delete']['method'](node, serviceModelId);
406 expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId);
410 test('getMenuAction: undoDelete', ()=>{
411 let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vGeraldine 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vGeraldine 0:004","vnfStoreKey":"VF_vGeraldine 0:004","typeName":"VNF"};
412 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
413 let result = vnfModel.getMenuAction(<any>node, serviceModelId);
414 spyOn(result['undoDelete'], 'method');
415 expect(result['undoDelete']).toBeDefined();
416 expect(result['undoDelete'].visible).toBeDefined();
417 expect(result['undoDelete'].enable).toBeDefined();
418 result['undoDelete']['method'](node, serviceModelId);
419 expect(result['undoDelete']['method']).toHaveBeenCalledWith(node, serviceModelId);
422 test('getMenuAction: showAuditInfo', ()=>{
423 jest.spyOn(_sharedTreeService, 'isRetryMode').mockReturnValue(true);
425 jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next');
428 "modelId": "6b528779-44a3-4472-bdff-9cd15ec93450",
431 "vnfStoreKey": "MSOTEST103a",
438 let serviceModelId = "6b528779-44a3-4472-bdff-9cd15ec93450";
439 let result = vnfModel.getMenuAction(<any>node, serviceModelId);
440 spyOn(result['showAuditInfo'], 'method');
441 expect(result['showAuditInfo']).toBeDefined();
442 expect(result['showAuditInfo'].visible(node)).toBeTruthy();
443 expect(result['showAuditInfo'].enable(node)).toBeTruthy();
444 result['showAuditInfo']['method'](node, serviceModelId);
448 test('Info for vnf should be correct', () => {
449 const model = getVNFModel();
450 const instance = getVNFInstance();
451 let actualVNFInfo = vnfModel.getInfo(model,instance);
452 let expectedVNFInfo = [
453 ModelInformationItem.createInstance('Min instances', "0"),
454 ModelInformationItem.createInstance('Max instances',"1"),
455 ModelInformationItem.createInstance('NF type',undefined),
456 ModelInformationItem.createInstance('NF role',undefined)
458 expect(actualVNFInfo).toEqual(expectedVNFInfo);
461 test('Info for vnf in left side - model only - should be correct', () => {
462 const model = getVNFModel();
463 let actualVNFInfo = vnfModel.getInfo(model,null);
464 let expectedVNFInfo = [
465 ModelInformationItem.createInstance('Min instances', "0"),
466 ModelInformationItem.createInstance('Max instances',"1")
468 expect(actualVNFInfo).toEqual(expectedVNFInfo);
471 test('When there is no max Max instances text is: Unlimited (default)', () => {
472 let actualVNFInfo = vnfModel.getInfo({just:"not empty"},null);
473 const maxInstancesItem = actualVNFInfo.find((item)=> item.label == 'Max instances');
474 expect(maxInstancesItem.values[0]).toEqual('Unlimited (default)');
477 function getVNFModel(){
479 "name":"VF_vGeraldine",
481 "description":"VSP_vGeraldine",
482 "uuid":"d6557200-ecf2-4641-8094-5393ae3aae60",
483 "invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e",
486 "customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9",
487 "isEcompGeneratedNaming":true,
489 "modelCustomizationName":"VF_vGeraldine 0",
490 "vfcInstanceGroups":{},
492 "gpb2_Internal2_mac":"00:11:22:EF:AC:DF",
493 "sctp-a-ipv6-egress_rule_application":"any",
494 "sctp-b-ipv6-egress_src_start_port":"0",
495 "Internal2_allow_transit":"true",
496 "sctp-b-IPv6_ethertype":"IPv6",
497 "ncb2_Internal1_mac":"00:11:22:EF:AC:DF",
498 "sctp-b-ingress_rule_protocol":"icmp","sctp-b-ingress_action":"pass",
499 "sctp-a-egress_rule_application":"any",
500 "sctp-b-ipv6-ingress-src_start_port":"0.0",
501 "ncb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_src_addresses":"local",
502 "fsb_volume_size_0":"320.0",
503 "sctp-a-ipv6-ingress-dst_start_port":"0",
504 "sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress_rule_application":"any",
505 "domain_name":"default-domain",
506 "sctp-a-egress_src_addresses":"local",
507 "sctp-b-egress-src_start_port":"0.0",
508 "sctp-a-ingress_rule_protocol":"icmp",
509 "sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group",
510 "sctp-b-ipv6-ingress-dst_end_port":"65535",
511 "sctp-a-ingress_ethertype":"IPv4",
512 "sctp-a-egress-src_start_port":"0.0",
513 "sctp-b-dst_subnet_prefix_v6":"::",
514 "nf_naming":"{ecomp_generated_naming=true}",
515 "sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0"
521 function getVNFInstance(){
524 "instanceName":"4O61SmpFAdCm1oVEs",
525 "instanceId":"66cbb3b5-c823-470c-9520-4e0b85112250",
527 "productFamilyId":null,
528 "lcpCloudRegionId":null,
531 "modelCustomizationName":"VF_vGeraldine 0",
532 "modelInvariantId":"vnf-instance-model-invariant-id",
533 "modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60",
536 "instanceType":"7538ifdSoTccmbEkr",
539 "uuid":"d6557200-ecf2-4641-8094-5393ae3aae60",
540 "originalName":"VF_vGeraldine 0",
542 "lineOfBusiness":null,
544 "trackById":"VF_vGeraldine 0:004",
546 "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{
547 "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008":{
549 "instanceName":"ss820f_0918_db",
550 "instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280",
551 "orchStatus":"deleted",
552 "productFamilyId":null,
553 "lcpCloudRegionId":null,
556 "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1",
557 "modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9",
558 "modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750",
559 "modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830",
560 "modelType":"vfModule"
565 "uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830",
566 "originalName":"VfVgeraldine..vflorence_vlc..module-1",
568 "lineOfBusiness":null,
570 "trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008",
572 "volumeGroupName":null
575 "dc229cd8-c132-4455-8517-5c1787c18b14":{
576 "dc229cd8-c132-4455-8517-5c1787c18b14:009":{
578 "instanceName":"ss820f_0918_base",
579 "instanceId":"3ef042c4-259f-45e0-9aba-0989bd8d1cc5",
580 "orchStatus":"Assigned",
581 "productFamilyId":null,
582 "lcpCloudRegionId":null,
585 "modelCustomizationId":"8ad8670b-0541-4499-8101-275bbd0e8b6a",
586 "modelInvariantId":"1e463c9c-404d-4056-ba56-28fd102608de",
587 "modelVersionId":"dc229cd8-c132-4455-8517-5c1787c18b14",
588 "modelType":"vfModule"
593 "uuid":"dc229cd8-c132-4455-8517-5c1787c18b14",
596 "lineOfBusiness":null,
598 "trackById":"dc229cd8-c132-4455-8517-5c1787c18b14:009",
600 "volumeGroupName":null
610 function getServiceHierarchy(){
613 "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450",
614 "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0",
615 "name": "action-data",
617 "toscaModelURL": null,
622 "serviceEcompNaming": "false",
623 "instantiationType": "Macro",
625 "2017488_pasqualevpe0_ASN": {
627 "description": "AV/PE",
628 "entry_schema": null,
629 "inputProperties": null,
636 "instantiationUI": "legacy",
637 "modelCategory": "other"
641 "2017-388_PASQUALE-vPE 1": {
642 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
643 "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
644 "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",
645 "name": "2017-388_PASQUALE-vPE",
647 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
649 "vnf_config_template_version": {
651 "description": "VPE Software Version",
652 "entry_schema": null,
653 "inputProperties": null,
660 "description": "Units of bandwidth",
661 "entry_schema": null,
662 "inputProperties": null,
669 "description": "Requested VPE bandwidth",
670 "entry_schema": null,
671 "inputProperties": null,
678 "description": "AIC Site CLLI",
679 "entry_schema": null,
680 "inputProperties": null,
683 "default": "ATLMY8GA"
687 "description": "AV/PE",
688 "entry_schema": null,
689 "inputProperties": null,
694 "vnf_instance_name": {
696 "description": "The hostname assigned to the vpe.",
697 "entry_schema": null,
698 "inputProperties": null,
701 "default": "mtnj309me6"
705 "vnf_config_template_version": {
706 "displayName": "vnf_config_template_version",
707 "command": "get_input",
708 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
711 "displayName": "bandwidth_units",
712 "command": "get_input",
713 "inputName": "pasqualevpe0_bandwidth_units"
716 "displayName": "bandwidth",
717 "command": "get_input",
718 "inputName": "pasqualevpe0_bandwidth"
721 "displayName": "AIC_CLLI",
722 "command": "get_input",
723 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
726 "displayName": "ASN",
727 "command": "get_input",
728 "inputName": "2017488_pasqualevpe0_ASN"
730 "vnf_instance_name": {
731 "displayName": "vnf_instance_name",
732 "command": "get_input",
733 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
737 "vmxvre_retype": "RE-VMX",
738 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
739 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
740 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
741 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
742 "int_ctl_net_name": "VMX-INTXI",
743 "vmx_int_ctl_prefix": "10.0.0.10",
744 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
745 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
746 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
748 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
749 "is_AVPN_service": "false",
750 "vmx_RSG_name": "vREXI-affinity",
751 "vmx_int_ctl_forwarding": "l2",
752 "vmxvre_oam_ip_0": "10.0.0.10",
753 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
754 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
755 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
756 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
757 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
758 "vmxvre_instance": "0",
759 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
760 "vmxvre_flavor_name": "ns.c1r16d32.v5",
761 "vmxvpfe_volume_size_0": "40.0",
762 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
763 "nf_naming": "{ecomp_generated_naming=false}",
764 "nf_naming_code": "Navneet",
765 "vmxvre_name_0": "vREXI",
766 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
767 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
768 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
769 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
770 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
771 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
772 "vmxvre_console": "vidconsole",
773 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
774 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
775 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
776 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
777 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
778 "vf_module_id": "123",
779 "nf_function": "JAI",
780 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
781 "vmxvre_int_ctl_ip_0": "10.0.0.10",
782 "ecomp_generated_naming": "false",
783 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
784 "vnf_name": "mtnj309me6vre",
785 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
786 "vmxvre_volume_type_1": "HITACHI",
787 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
788 "vmxvre_volume_type_0": "HITACHI",
789 "vmxvpfe_volume_type_0": "HITACHI",
790 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
791 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
793 "vmxvre_oam_prefix": "24",
794 "availability_zone_0": "mtpocfo-kvm-az01",
795 "ASN": "get_input:2017488_pasqualevpe0_ASN",
796 "vmxvre_chassis_i2cid": "161",
797 "vmxvpfe_name_0": "vPFEXI",
798 "bandwidth": "get_input:pasqualevpe0_bandwidth",
799 "availability_zone_max_count": "1",
800 "vmxvre_volume_size_0": "45.0",
801 "vmxvre_volume_size_1": "50.0",
802 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
803 "vmxvre_oam_gateway": "10.0.0.10",
804 "vmxvre_volume_name_1": "vREXI_FAVolume",
805 "vmxvre_ore_present": "0",
806 "vmxvre_volume_name_0": "vREXI_FBVolume",
808 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
809 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
810 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
811 "vmx_int_ctl_len": "24",
812 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
813 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
814 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
815 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
816 "nf_role": "Testing",
817 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
818 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
819 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
822 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
825 "vfcInstanceGroups": {}
827 "2017-388_PASQUALE-vPE 0": {
828 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
829 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
830 "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",
831 "name": "2017-388_PASQUALE-vPE",
833 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
835 "vnf_config_template_version": {
837 "description": "VPE Software Version",
838 "entry_schema": null,
839 "inputProperties": null,
846 "description": "Units of bandwidth",
847 "entry_schema": null,
848 "inputProperties": null,
855 "description": "Requested VPE bandwidth",
856 "entry_schema": null,
857 "inputProperties": null,
864 "description": "AIC Site CLLI",
865 "entry_schema": null,
866 "inputProperties": null,
869 "default": "ATLMY8GA"
873 "description": "AV/PE",
874 "entry_schema": null,
875 "inputProperties": null,
880 "vnf_instance_name": {
882 "description": "The hostname assigned to the vpe.",
883 "entry_schema": null,
884 "inputProperties": null,
887 "default": "mtnj309me6"
891 "vnf_config_template_version": {
892 "displayName": "vnf_config_template_version",
893 "command": "get_input",
894 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
897 "displayName": "bandwidth_units",
898 "command": "get_input",
899 "inputName": "pasqualevpe0_bandwidth_units"
902 "displayName": "bandwidth",
903 "command": "get_input",
904 "inputName": "pasqualevpe0_bandwidth"
907 "displayName": "AIC_CLLI",
908 "command": "get_input",
909 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
912 "displayName": "ASN",
913 "command": "get_input",
914 "inputName": "2017488_pasqualevpe0_ASN"
916 "vnf_instance_name": {
917 "displayName": "vnf_instance_name",
918 "command": "get_input",
919 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
923 "vmxvre_retype": "RE-VMX",
924 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
925 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
926 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
927 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
928 "int_ctl_net_name": "VMX-INTXI",
929 "vmx_int_ctl_prefix": "10.0.0.10",
930 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
931 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
932 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
934 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
935 "is_AVPN_service": "false",
936 "vmx_RSG_name": "vREXI-affinity",
937 "vmx_int_ctl_forwarding": "l2",
938 "vmxvre_oam_ip_0": "10.0.0.10",
939 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
940 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
941 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
942 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
943 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
944 "vmxvre_instance": "0",
945 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
946 "vmxvre_flavor_name": "ns.c1r16d32.v5",
947 "vmxvpfe_volume_size_0": "40.0",
948 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
949 "nf_naming": "{ecomp_generated_naming=false}",
950 "nf_naming_code": "Navneet",
951 "vmxvre_name_0": "vREXI",
952 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
953 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
954 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
955 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
956 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
957 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
958 "vmxvre_console": "vidconsole",
959 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
960 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
961 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
962 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
963 "min_instances": "1",
964 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
965 "vf_module_id": "123",
966 "nf_function": "JAI",
967 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
968 "vmxvre_int_ctl_ip_0": "10.0.0.10",
969 "ecomp_generated_naming": "false",
970 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
971 "vnf_name": "mtnj309me6vre",
972 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
973 "vmxvre_volume_type_1": "HITACHI",
974 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
975 "vmxvre_volume_type_0": "HITACHI",
976 "vmxvpfe_volume_type_0": "HITACHI",
977 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
978 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
980 "vmxvre_oam_prefix": "24",
981 "availability_zone_0": "mtpocfo-kvm-az01",
982 "ASN": "get_input:2017488_pasqualevpe0_ASN",
983 "vmxvre_chassis_i2cid": "161",
984 "vmxvpfe_name_0": "vPFEXI",
985 "bandwidth": "get_input:pasqualevpe0_bandwidth",
986 "availability_zone_max_count": "1",
987 "vmxvre_volume_size_0": "45.0",
988 "vmxvre_volume_size_1": "50.0",
989 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
990 "vmxvre_oam_gateway": "10.0.0.10",
991 "vmxvre_volume_name_1": "vREXI_FAVolume",
992 "vmxvre_ore_present": "0",
993 "vmxvre_volume_name_0": "vREXI_FBVolume",
995 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
996 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
997 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
998 "vmx_int_ctl_len": "24",
999 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
1000 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
1001 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
1002 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
1003 "nf_role": "Testing",
1004 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
1005 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
1006 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
1009 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
1012 "vfcInstanceGroups": {}
1014 "2017-488_PASQUALE-vPE 0": {
1015 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1016 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1017 "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",
1018 "name": "2017-488_PASQUALE-vPE",
1020 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
1022 "vnf_config_template_version": {
1024 "description": "VPE Software Version",
1025 "entry_schema": null,
1026 "inputProperties": null,
1031 "bandwidth_units": {
1033 "description": "Units of bandwidth",
1034 "entry_schema": null,
1035 "inputProperties": null,
1042 "description": "Requested VPE bandwidth",
1043 "entry_schema": null,
1044 "inputProperties": null,
1051 "description": "AIC Site CLLI",
1052 "entry_schema": null,
1053 "inputProperties": null,
1056 "default": "ATLMY8GA"
1060 "description": "AV/PE",
1061 "entry_schema": null,
1062 "inputProperties": null,
1067 "vnf_instance_name": {
1069 "description": "The hostname assigned to the vpe.",
1070 "entry_schema": null,
1071 "inputProperties": null,
1074 "default": "mtnj309me6"
1078 "vnf_config_template_version": {
1079 "displayName": "vnf_config_template_version",
1080 "command": "get_input",
1081 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
1083 "bandwidth_units": {
1084 "displayName": "bandwidth_units",
1085 "command": "get_input",
1086 "inputName": "pasqualevpe0_bandwidth_units"
1089 "displayName": "bandwidth",
1090 "command": "get_input",
1091 "inputName": "pasqualevpe0_bandwidth"
1094 "displayName": "AIC_CLLI",
1095 "command": "get_input",
1096 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
1099 "displayName": "ASN",
1100 "command": "get_input",
1101 "inputName": "2017488_pasqualevpe0_ASN"
1103 "vnf_instance_name": {
1104 "displayName": "vnf_instance_name",
1105 "command": "get_input",
1106 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
1110 "vmxvre_retype": "RE-VMX",
1111 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
1112 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
1113 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
1114 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
1115 "int_ctl_net_name": "VMX-INTXI",
1116 "vmx_int_ctl_prefix": "10.0.0.10",
1117 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
1118 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
1119 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
1121 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
1122 "is_AVPN_service": "false",
1123 "vmx_RSG_name": "vREXI-affinity",
1124 "vmx_int_ctl_forwarding": "l2",
1125 "vmxvre_oam_ip_0": "10.0.0.10",
1126 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
1127 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
1128 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
1129 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
1130 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
1131 "vmxvre_instance": "0",
1132 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
1133 "vmxvre_flavor_name": "ns.c1r16d32.v5",
1134 "vmxvpfe_volume_size_0": "40.0",
1135 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
1136 "nf_naming": "{ecomp_generated_naming=false}",
1137 "nf_naming_code": "Navneet",
1138 "vmxvre_name_0": "vREXI",
1139 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
1140 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
1141 "max_instances": "3",
1142 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
1143 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
1144 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
1145 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
1146 "vmxvre_console": "vidconsole",
1147 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
1148 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
1149 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
1150 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
1151 "min_instances": "1",
1152 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
1153 "vf_module_id": "123",
1154 "nf_function": "JAI",
1155 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
1156 "vmxvre_int_ctl_ip_0": "10.0.0.10",
1157 "ecomp_generated_naming": "false",
1158 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
1159 "vnf_name": "mtnj309me6vre",
1160 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
1161 "vmxvre_volume_type_1": "HITACHI",
1162 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
1163 "vmxvre_volume_type_0": "HITACHI",
1164 "vmxvpfe_volume_type_0": "HITACHI",
1165 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
1166 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
1168 "vmxvre_oam_prefix": "24",
1169 "availability_zone_0": "mtpocfo-kvm-az01",
1170 "ASN": "get_input:2017488_pasqualevpe0_ASN",
1171 "vmxvre_chassis_i2cid": "161",
1172 "vmxvpfe_name_0": "vPFEXI",
1173 "bandwidth": "get_input:pasqualevpe0_bandwidth",
1174 "availability_zone_max_count": "1",
1175 "vmxvre_volume_size_0": "45.0",
1176 "vmxvre_volume_size_1": "50.0",
1177 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
1178 "vmxvre_oam_gateway": "10.0.0.10",
1179 "vmxvre_volume_name_1": "vREXI_FAVolume",
1180 "vmxvre_ore_present": "0",
1181 "vmxvre_volume_name_0": "vREXI_FBVolume",
1183 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
1184 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
1185 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
1186 "vmx_int_ctl_len": "24",
1187 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
1188 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
1189 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
1190 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
1191 "nf_role": "Testing",
1192 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
1193 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
1194 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
1197 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
1199 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1200 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1201 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1202 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1203 "description": null,
1204 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1206 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1208 "minCountInstances": 0,
1209 "maxCountInstances": null,
1211 "vfModuleLabel": "PASQUALE_vRE_BV",
1215 "vnf_config_template_version": {
1217 "description": "VPE Software Version",
1218 "entry_schema": null,
1219 "inputProperties": {
1220 "sourceType": "HEAT",
1221 "vfModuleLabel": "PASQUALE_vRE_BV",
1222 "paramName": "vnf_config_template_version"
1224 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1225 "constraints": null,
1229 "bandwidth_units": {
1231 "description": "Units of bandwidth",
1232 "entry_schema": null,
1233 "inputProperties": {
1234 "sourceType": "HEAT",
1235 "vfModuleLabel": "PASQUALE_vRE_BV",
1236 "paramName": "bandwidth_units"
1238 "fromInputName": "pasqualevpe0_bandwidth_units",
1239 "constraints": null,
1245 "description": "Requested VPE bandwidth",
1246 "entry_schema": null,
1247 "inputProperties": {
1248 "sourceType": "HEAT",
1249 "vfModuleLabel": "PASQUALE_vRE_BV",
1250 "paramName": "bandwidth"
1252 "fromInputName": "pasqualevpe0_bandwidth",
1253 "constraints": null,
1259 "description": "AIC Site CLLI",
1260 "entry_schema": null,
1261 "inputProperties": {
1262 "sourceType": "HEAT",
1263 "vfModuleLabel": "PASQUALE_vRE_BV",
1264 "paramName": "AIC_CLLI"
1266 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1267 "constraints": null,
1269 "default": "ATLMY8GA"
1271 "vnf_instance_name": {
1273 "description": "The hostname assigned to the vpe.",
1274 "entry_schema": null,
1275 "inputProperties": {
1276 "sourceType": "HEAT",
1277 "vfModuleLabel": "PASQUALE_vRE_BV",
1278 "paramName": "vnf_instance_name"
1280 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1281 "constraints": null,
1283 "default": "mtnj309me6"
1286 "volumeGroupAllowed": true
1288 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1289 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1290 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1291 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1292 "description": null,
1293 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1295 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1297 "minCountInstances": 1,
1298 "maxCountInstances": 1,
1300 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1304 "volumeGroupAllowed": false
1306 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1307 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1308 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1309 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1310 "description": null,
1311 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1313 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1315 "minCountInstances": 0,
1316 "maxCountInstances": null,
1318 "vfModuleLabel": "PASQUALE_vPFE_BV",
1322 "volumeGroupAllowed": true
1326 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1327 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1328 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1329 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1330 "description": null,
1331 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1333 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1335 "minCountInstances": 0,
1336 "maxCountInstances": null,
1338 "vfModuleLabel": "PASQUALE_vRE_BV",
1342 "vnf_config_template_version": {
1344 "description": "VPE Software Version",
1345 "entry_schema": null,
1346 "inputProperties": {
1347 "sourceType": "HEAT",
1348 "vfModuleLabel": "PASQUALE_vRE_BV",
1349 "paramName": "vnf_config_template_version"
1351 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1352 "constraints": null,
1356 "bandwidth_units": {
1358 "description": "Units of bandwidth",
1359 "entry_schema": null,
1360 "inputProperties": {
1361 "sourceType": "HEAT",
1362 "vfModuleLabel": "PASQUALE_vRE_BV",
1363 "paramName": "bandwidth_units"
1365 "fromInputName": "pasqualevpe0_bandwidth_units",
1366 "constraints": null,
1372 "description": "Requested VPE bandwidth",
1373 "entry_schema": null,
1374 "inputProperties": {
1375 "sourceType": "HEAT",
1376 "vfModuleLabel": "PASQUALE_vRE_BV",
1377 "paramName": "bandwidth"
1379 "fromInputName": "pasqualevpe0_bandwidth",
1380 "constraints": null,
1386 "description": "AIC Site CLLI",
1387 "entry_schema": null,
1388 "inputProperties": {
1389 "sourceType": "HEAT",
1390 "vfModuleLabel": "PASQUALE_vRE_BV",
1391 "paramName": "AIC_CLLI"
1393 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1394 "constraints": null,
1396 "default": "ATLMY8GA"
1398 "vnf_instance_name": {
1400 "description": "The hostname assigned to the vpe.",
1401 "entry_schema": null,
1402 "inputProperties": {
1403 "sourceType": "HEAT",
1404 "vfModuleLabel": "PASQUALE_vRE_BV",
1405 "paramName": "vnf_instance_name"
1407 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1408 "constraints": null,
1410 "default": "mtnj309me6"
1414 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1415 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1416 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1417 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1418 "description": null,
1419 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1421 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1423 "minCountInstances": 0,
1424 "maxCountInstances": null,
1426 "vfModuleLabel": "PASQUALE_vPFE_BV",
1432 "vfcInstanceGroups": {}
1436 "collectionResources": {},
1437 "configurations": {},
1438 "fabricConfigurations": {},
1439 "serviceProxies": {},
1441 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1442 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1443 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1444 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1445 "description": null,
1446 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1448 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1450 "minCountInstances": 0,
1451 "maxCountInstances": null,
1453 "vfModuleLabel": "PASQUALE_vRE_BV",
1457 "vnf_config_template_version": {
1459 "description": "VPE Software Version",
1460 "entry_schema": null,
1461 "inputProperties": {
1462 "sourceType": "HEAT",
1463 "vfModuleLabel": "PASQUALE_vRE_BV",
1464 "paramName": "vnf_config_template_version"
1466 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1467 "constraints": null,
1471 "bandwidth_units": {
1473 "description": "Units of bandwidth",
1474 "entry_schema": null,
1475 "inputProperties": {
1476 "sourceType": "HEAT",
1477 "vfModuleLabel": "PASQUALE_vRE_BV",
1478 "paramName": "bandwidth_units"
1480 "fromInputName": "pasqualevpe0_bandwidth_units",
1481 "constraints": null,
1487 "description": "Requested VPE bandwidth",
1488 "entry_schema": null,
1489 "inputProperties": {
1490 "sourceType": "HEAT",
1491 "vfModuleLabel": "PASQUALE_vRE_BV",
1492 "paramName": "bandwidth"
1494 "fromInputName": "pasqualevpe0_bandwidth",
1495 "constraints": null,
1501 "description": "AIC Site CLLI",
1502 "entry_schema": null,
1503 "inputProperties": {
1504 "sourceType": "HEAT",
1505 "vfModuleLabel": "PASQUALE_vRE_BV",
1506 "paramName": "AIC_CLLI"
1508 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1509 "constraints": null,
1511 "default": "ATLMY8GA"
1513 "vnf_instance_name": {
1515 "description": "The hostname assigned to the vpe.",
1516 "entry_schema": null,
1517 "inputProperties": {
1518 "sourceType": "HEAT",
1519 "vfModuleLabel": "PASQUALE_vRE_BV",
1520 "paramName": "vnf_instance_name"
1522 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1523 "constraints": null,
1525 "default": "mtnj309me6"
1528 "volumeGroupAllowed": true
1530 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1531 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1532 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1533 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1534 "description": null,
1535 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1537 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1539 "minCountInstances": 1,
1540 "maxCountInstances": 1,
1542 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1546 "volumeGroupAllowed": false
1548 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1549 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1550 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1551 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1552 "description": null,
1553 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1555 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1557 "minCountInstances": 0,
1558 "maxCountInstances": null,
1560 "vfModuleLabel": "PASQUALE_vPFE_BV",
1564 "volumeGroupAllowed": true
1568 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1569 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1570 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1571 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1572 "description": null,
1573 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1575 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1577 "minCountInstances": 0,
1578 "maxCountInstances": null,
1580 "vfModuleLabel": "PASQUALE_vRE_BV",
1584 "vnf_config_template_version": {
1586 "description": "VPE Software Version",
1587 "entry_schema": null,
1588 "inputProperties": {
1589 "sourceType": "HEAT",
1590 "vfModuleLabel": "PASQUALE_vRE_BV",
1591 "paramName": "vnf_config_template_version"
1593 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1594 "constraints": null,
1598 "bandwidth_units": {
1600 "description": "Units of bandwidth",
1601 "entry_schema": null,
1602 "inputProperties": {
1603 "sourceType": "HEAT",
1604 "vfModuleLabel": "PASQUALE_vRE_BV",
1605 "paramName": "bandwidth_units"
1607 "fromInputName": "pasqualevpe0_bandwidth_units",
1608 "constraints": null,
1614 "description": "Requested VPE bandwidth",
1615 "entry_schema": null,
1616 "inputProperties": {
1617 "sourceType": "HEAT",
1618 "vfModuleLabel": "PASQUALE_vRE_BV",
1619 "paramName": "bandwidth"
1621 "fromInputName": "pasqualevpe0_bandwidth",
1622 "constraints": null,
1628 "description": "AIC Site CLLI",
1629 "entry_schema": null,
1630 "inputProperties": {
1631 "sourceType": "HEAT",
1632 "vfModuleLabel": "PASQUALE_vRE_BV",
1633 "paramName": "AIC_CLLI"
1635 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1636 "constraints": null,
1638 "default": "ATLMY8GA"
1640 "vnf_instance_name": {
1642 "description": "The hostname assigned to the vpe.",
1643 "entry_schema": null,
1644 "inputProperties": {
1645 "sourceType": "HEAT",
1646 "vfModuleLabel": "PASQUALE_vRE_BV",
1647 "paramName": "vnf_instance_name"
1649 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1650 "constraints": null,
1652 "default": "mtnj309me6"
1656 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1657 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1658 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1659 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1660 "description": null,
1661 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1663 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1665 "minCountInstances": 0,
1666 "maxCountInstances": null,
1668 "vfModuleLabel": "PASQUALE_vPFE_BV",