1 import {HttpClientTestingModule} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {VFModuleModelInfo} from "./vfModule.model.info";
5 import {DynamicInputsService} from "../../dynamicInputs.service";
6 import {SharedTreeService} from "../../shared.tree.service";
7 import {VfModulePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
8 import {DialogService} from "ng2-bootstrap-modal";
9 import {NgRedux} from "@angular-redux/store";
10 import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service";
11 import {MessageBoxService} from "../../../../../shared/components/messageBox/messageBox.service";
12 import {DrawingBoardModes} from "../../../drawing-board.modes";
13 import {IframeService} from "../../../../../shared/utils/iframe.service";
14 import {ComponentInfoService} from "../../../component-info/component-info.service";
15 import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
16 import {AaiService} from "../../../../../shared/services/aaiService/aai.service";
17 import {HttpClient, HttpHandler} from "@angular/common/http";
18 import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service";
19 import {VfModuleUpgradePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
20 import {instance, mock, when} from "ts-mockito";
21 import each from "jest-each";
22 import {VfModule} from "../../../../../shared/models/vfModule";
24 class MockAppStore<T> {
28 'drawingBoardStatus': DrawingBoardModes.CREATE
34 describe('VFModule Model Info', () => {
36 let _dynamicInputsService : DynamicInputsService;
37 let _sharedTreeService : SharedTreeService;
38 let vfModuleModel: VFModuleModelInfo;
39 let _dialogService : DialogService;
40 let _vfModulePopupService : VfModulePopupService;
41 let _vfModuleUpgradePopupService : VfModuleUpgradePopupService;
42 let _iframeService : IframeService;
43 let _componentInfoService : ComponentInfoService;
44 let mockFeatureFlagsService: FeatureFlagsService = mock(FeatureFlagsService);
45 let mockFeatureFlagsServiceInstance: FeatureFlagsService = instance(mockFeatureFlagsService);
48 beforeAll(done => (async () => {
49 TestBed.configureTestingModule({
50 imports: [HttpClientTestingModule, NgReduxTestingModule],
55 VfModuleUpgradePopupService,
58 {provide: NgRedux, useClass: MockAppStore},
63 {provide: FeatureFlagsService, useValue: mockFeatureFlagsServiceInstance},
67 await TestBed.compileComponents();
69 injector = getTestBed();
70 _sharedTreeService = injector.get(SharedTreeService);
71 _componentInfoService = injector.get(ComponentInfoService);
72 vfModuleModel = new VFModuleModelInfo(_dynamicInputsService, _sharedTreeService, _dialogService, _vfModulePopupService, _vfModuleUpgradePopupService,
73 _iframeService, mockFeatureFlagsServiceInstance, MockNgRedux.getInstance(),_componentInfoService);
75 })().then(done).catch(done.fail));
79 test('VFModuleModelInfo should be defined', () => {
80 expect(VFModuleModelInfo).toBeDefined();
83 test('VnfModelInfo should defined extra details', () => {
84 expect(vfModuleModel.name).toEqual('vfModules');
85 expect(vfModuleModel.type).toEqual('Module');
88 test('isEcompGeneratedNaming should return true if vnf has isEcompGeneratedNaming is "true" ', () => {
89 let isEcompGeneratedNaming : boolean = vfModuleModel.isEcompGeneratedNaming({}, {
91 ecomp_generated_naming: 'true'
94 expect(isEcompGeneratedNaming).toBeTruthy();
97 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is "false"', () => {
98 let isEcompGeneratedNaming : boolean = vfModuleModel.isEcompGeneratedNaming({}, {
100 ecomp_generated_naming: 'false'
103 expect(isEcompGeneratedNaming).toBeFalsy();
106 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is not defined', () => {
107 let isEcompGeneratedNaming : boolean = vfModuleModel.isEcompGeneratedNaming({}, {
111 expect(isEcompGeneratedNaming).toBeFalsy();
115 test('getTooltip should return "VFModule"', () => {
116 let tooltip: string = vfModuleModel.getTooltip();
117 expect(tooltip).toEqual('VFmodule');
120 test('getType should return "VFModule"', () => {
121 let tooltip: string = vfModuleModel.getType();
122 expect(tooltip).toEqual('VFmodule');
125 test('getNextLevelObject should return null', () => {
126 let nextLevel = vfModuleModel.getNextLevelObject();
127 expect(nextLevel).toBeNull();
130 test('getModel should return Module model', () => {
131 let model = vfModuleModel.getModel('2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1',null, getServiceHierarchy());
132 expect(model.uuid).toEqual('25284168-24bb-4698-8cb4-3f509146eca5');
133 expect(model.min).toBe(2);
134 expect(model.max).toBe(3);
135 expect(model.baseModule).toBeFalsy();
136 expect(model.inputs).toEqual(
137 {"vnf_config_template_version": {
140 expect(model.volumeGroupAllowed).toBeTruthy();
143 test('showNodeIcons should return false false if reachLimit of max', ()=>{
144 let serviceId : string = 'servicedId';
157 _sharedTreeService.setSelectedVNF({
160 name : 'VfModuleName'
163 jest.spyOn(vfModuleModel, 'getOptionalVNFs').mockReturnValue([]);
164 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
180 'existingVNFCounterMap' : {
193 let result = vfModuleModel.showNodeIcons(<any>node, serviceId);
194 expect(result).toEqual(new AvailableNodeIcons(false , false));
197 test('showNodeIcons should return true, false if reachLimit of max', ()=>{
201 modelUniqueId : 'vfModuleCustomizationId'
206 modelUniqueId : 'vnfCustomizationId'
210 jest.spyOn(_sharedTreeService, 'getSelectedVNF').mockReturnValue('vnfName');
211 jest.spyOn(_sharedTreeService, 'modelUniqueId').mockReturnValue('vnfCustomizationId');
212 jest.spyOn(vfModuleModel, 'getOptionalVNFs').mockReturnValue([{vnfStoreKey: 'vnfName'}]);
213 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
221 modelCustomizationId: 'vnfCustomizationId'
231 modelCustomizationId: 'vfModuleCustomizationId'
234 maxCountInstances : 2
242 'existingVNFCounterMap' : {
259 let result = vfModuleModel.showNodeIcons(<any>node, 'servicedId');
260 expect(result).toEqual(new AvailableNodeIcons(true , false));
264 test('getOptionalVNFs should instance if exist', ()=>{
265 let serviceId : string = 'servicedId';
266 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
281 maxCountInstances : 2
289 'existingVNFCounterMap' : {
294 'originalName' : 'vnfName',
310 name : 'vfModuleName'
319 let result = vfModuleModel.getOptionalVNFs(serviceId , 'vnfName');
320 expect(result.length).toEqual(1);
323 test('getNodeCount should return number of nodes', ()=>{
324 let serviceId : string = 'servicedId';
325 let vfModuleModelUniqueId = 'vfModuleCustomizationId';
326 jest.spyOn(_sharedTreeService, 'modelUniqueId').mockReturnValue(vfModuleModelUniqueId);
327 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
335 modelCustomizationId: 'vnfCustomizationId'
345 modelCustomizationId: vfModuleModelUniqueId
348 maxCountInstances : 2
356 'existingVNFCounterMap' : {
362 'originalName' : 'vnfName',
365 'vnfModuleName_111': {
368 modelCustomizationId : vfModuleModelUniqueId
371 'vnfModuleName_111_1': {
374 modelCustomizationId : vfModuleModelUniqueId
382 'originalName' : 'vnfName',
385 'vnfModuleName_111': {
388 modelCustomizationId : vfModuleModelUniqueId
391 'vnfModuleName_111_1': {
394 modelCustomizationId : vfModuleModelUniqueId
409 modelUniqueId: vfModuleModelUniqueId,
415 modelUniqueId: 'vnfCustomizationId',
420 let result = vfModuleModel.getNodeCount(<any>node , serviceId);
421 expect(result).toEqual(2);
425 test('getNodeCount should return number of nodes : there is selectedVNF', ()=>{
426 let serviceId : string = 'servicedId';
427 let vfModuleModelUniqueId = 'vfModuleCustomizationId';
428 jest.spyOn(_sharedTreeService, 'modelUniqueId').mockReturnValue(vfModuleModelUniqueId);
429 jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue({
444 maxCountInstances : 2
452 'existingVNFCounterMap' : {
458 'originalName' : 'vnfName',
461 'vnfModuleName_111': {
464 modelCustomizationId : vfModuleModelUniqueId
467 'vnfModuleName_111_1': {
470 modelCustomizationId : vfModuleModelUniqueId
478 'originalName' : 'vnfName',
481 'vnfModuleName_111': {
484 modelCustomizationId: vfModuleModelUniqueId
495 jest.spyOn(_sharedTreeService, 'getSelectedVNF').mockReturnValue('vnfName_1');
500 modelUniqueId: vfModuleModelUniqueId,
506 modelUniqueId: 'vnfCustomizationId',
511 let result = vfModuleModel.getNodeCount(<any>node , serviceId);
512 expect(result).toEqual(1);
516 test('onClickAdd should open message box if no vnfStoreKey', ()=>{
517 jest.spyOn(_sharedTreeService, 'getSelectedVNF').mockReturnValue(null);
518 jest.spyOn(vfModuleModel, 'getDefaultVNF').mockReturnValue(null);
519 jest.spyOn(MessageBoxService.openModal, 'next');
520 vfModuleModel.onClickAdd(<any>{}, 'serviceId');
521 expect(MessageBoxService.openModal.next).toHaveBeenCalled();
524 test('getMenuAction: showAuditInfoVfModule', ()=>{
525 jest.spyOn(_sharedTreeService, 'isRetryMode').mockReturnValue(true);
529 "modelId": "6b528779-44a3-4472-bdff-9cd15ec93450",
534 let serviceModelId = "6b528779-44a3-4472-bdff-9cd15ec93450";
535 let result = vfModuleModel.getMenuAction(<any>node, serviceModelId);
536 spyOn(result['showAuditInfo'], 'method');
537 expect(result['showAuditInfo']).toBeDefined();
538 expect(result['showAuditInfo'].visible(node)).toBeTruthy();
539 expect(result['showAuditInfo'].enable(node)).toBeTruthy();
540 result['showAuditInfo']['method'](node, serviceModelId);
541 expect(result['showAuditInfo']['method']).toHaveBeenCalledWith(node, serviceModelId);
544 test('Info for vfModule should be correct', () => {
545 const model = getVFModule();
546 const instance = getVFModuleInstance();
547 let actualVNFInfo = vfModuleModel.getInfo(model,instance);
548 let expectedVNFInfo = [
549 ModelInformationItem.createInstance('Base module', false),
550 ModelInformationItem.createInstance('Min instances', "0"),
551 ModelInformationItem.createInstance("Max instances", 'Unlimited (default)'),
552 ModelInformationItem.createInstance('Initial instances count',"0")
554 expect(actualVNFInfo).toEqual(expectedVNFInfo);
558 ["maxCountInstances 3, currentNodeCount 1, flag on",{maxCountInstances:3}, 1, {FLAG_2002_UNLIMITED_MAX: true}, false],
559 ["maxCountInstances 3, currentNodeCount 3, flag on",{maxCountInstances:3}, 3, {FLAG_2002_UNLIMITED_MAX: true}, true],
560 ["no maxCountInstances, currentNodeCount 0, flag off",{}, 0, {FLAG_2002_UNLIMITED_MAX: false}, false],
561 ["no maxCountInstances, currentNodeCount 1, flag off",{}, 1, {FLAG_2002_UNLIMITED_MAX: false}, true],
562 ["no maxCountInstances, currentNodeCount 1, no flags",{}, 1, null, true],
563 ["no maxCountInstances, currentNodeCount 0, flag on",{}, 0, {FLAG_2002_UNLIMITED_MAX: true}, false],
564 ["no maxCountInstances, currentNodeCount 1, flag on",{}, 1, {FLAG_2002_UNLIMITED_MAX: true}, false],
565 ["no maxCountInstances, currentNodeCount 1000, flag on",{}, 1000, {FLAG_2002_UNLIMITED_MAX: true}, false],
566 ]).test('isVFModuleReachedLimit: %s', (desc, properties, currentNodeCount, flags, expected) => {
568 const node = { data: {
569 name : 'vfModuleName'
572 const serviceHierarchy = {
579 when(mockFeatureFlagsService.getAllFlags()).thenReturn(flags);
581 expect(vfModuleModel.isVFModuleReachedLimit(node, serviceHierarchy, 'servicedId', currentNodeCount)).toEqual(expected);
584 function getVFModule(): Partial<VfModule>{
586 "uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830",
587 "invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b",
588 "customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091",
590 "name":"VfVgeraldine..vflorence_vlc..module-1",
592 "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1",
598 "volumeGroupAllowed":false
602 function getVFModuleInstance() {
605 "instanceName":"ss820f_0918_db",
606 "instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280",
607 "orchStatus":"deleted",
608 "productFamilyId":null,
609 "lcpCloudRegionId":null,
612 "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1",
613 "modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9",
614 "modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750",
615 "modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830",
616 "modelType":"vfModule"
621 "uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830",
622 "originalName":"VfVgeraldine..vflorence_vlc..module-1",
624 "lineOfBusiness":null,
626 "trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008",
628 "volumeGroupName":null
633 function getServiceHierarchy(){
636 "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450",
637 "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0",
638 "name": "action-data",
640 "toscaModelURL": null,
645 "serviceEcompNaming": "false",
646 "instantiationType": "Macro",
648 "2017488_pasqualevpe0_ASN": {
650 "description": "AV/PE",
651 "entry_schema": null,
652 "inputProperties": null,
659 "instantiationUI": "legacy",
660 "modelCategory": "other"
664 "2017-388_PASQUALE-vPE 1": {
665 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
666 "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
667 "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",
668 "name": "2017-388_PASQUALE-vPE",
670 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
672 "vnf_config_template_version": {
674 "description": "VPE Software Version",
675 "entry_schema": null,
676 "inputProperties": null,
683 "description": "Units of bandwidth",
684 "entry_schema": null,
685 "inputProperties": null,
692 "description": "Requested VPE bandwidth",
693 "entry_schema": null,
694 "inputProperties": null,
701 "description": "AIC Site CLLI",
702 "entry_schema": null,
703 "inputProperties": null,
706 "default": "ATLMY8GA"
710 "description": "AV/PE",
711 "entry_schema": null,
712 "inputProperties": null,
717 "vnf_instance_name": {
719 "description": "The hostname assigned to the vpe.",
720 "entry_schema": null,
721 "inputProperties": null,
724 "default": "mtnj309me6"
728 "vnf_config_template_version": {
729 "displayName": "vnf_config_template_version",
730 "command": "get_input",
731 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
734 "displayName": "bandwidth_units",
735 "command": "get_input",
736 "inputName": "pasqualevpe0_bandwidth_units"
739 "displayName": "bandwidth",
740 "command": "get_input",
741 "inputName": "pasqualevpe0_bandwidth"
744 "displayName": "AIC_CLLI",
745 "command": "get_input",
746 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
749 "displayName": "ASN",
750 "command": "get_input",
751 "inputName": "2017488_pasqualevpe0_ASN"
753 "vnf_instance_name": {
754 "displayName": "vnf_instance_name",
755 "command": "get_input",
756 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
760 "vmxvre_retype": "RE-VMX",
761 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
762 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
763 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
764 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
765 "int_ctl_net_name": "VMX-INTXI",
766 "vmx_int_ctl_prefix": "10.0.0.10",
767 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
768 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
769 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
771 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
772 "is_AVPN_service": "false",
773 "vmx_RSG_name": "vREXI-affinity",
774 "vmx_int_ctl_forwarding": "l2",
775 "vmxvre_oam_ip_0": "10.0.0.10",
776 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
777 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
778 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
779 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
780 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
781 "vmxvre_instance": "0",
782 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
783 "vmxvre_flavor_name": "ns.c1r16d32.v5",
784 "vmxvpfe_volume_size_0": "40.0",
785 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
786 "nf_naming": "{ecomp_generated_naming=false}",
787 "nf_naming_code": "Navneet",
788 "vmxvre_name_0": "vREXI",
789 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
790 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
791 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
792 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
793 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
794 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
795 "vmxvre_console": "vidconsole",
796 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
797 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
798 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
799 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
800 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
801 "vf_module_id": "123",
802 "nf_function": "JAI",
803 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
804 "vmxvre_int_ctl_ip_0": "10.0.0.10",
805 "ecomp_generated_naming": "false",
806 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
807 "vnf_name": "mtnj309me6vre",
808 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
809 "vmxvre_volume_type_1": "HITACHI",
810 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
811 "vmxvre_volume_type_0": "HITACHI",
812 "vmxvpfe_volume_type_0": "HITACHI",
813 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
814 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
816 "vmxvre_oam_prefix": "24",
817 "availability_zone_0": "mtpocfo-kvm-az01",
818 "ASN": "get_input:2017488_pasqualevpe0_ASN",
819 "vmxvre_chassis_i2cid": "161",
820 "vmxvpfe_name_0": "vPFEXI",
821 "bandwidth": "get_input:pasqualevpe0_bandwidth",
822 "availability_zone_max_count": "1",
823 "vmxvre_volume_size_0": "45.0",
824 "vmxvre_volume_size_1": "50.0",
825 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
826 "vmxvre_oam_gateway": "10.0.0.10",
827 "vmxvre_volume_name_1": "vREXI_FAVolume",
828 "vmxvre_ore_present": "0",
829 "vmxvre_volume_name_0": "vREXI_FBVolume",
831 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
832 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
833 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
834 "vmx_int_ctl_len": "24",
835 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
836 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
837 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
838 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
839 "nf_role": "Testing",
840 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
841 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
842 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
845 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
848 "vfcInstanceGroups": {}
850 "2017-388_PASQUALE-vPE 0": {
851 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
852 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
853 "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",
854 "name": "2017-388_PASQUALE-vPE",
856 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
858 "vnf_config_template_version": {
860 "description": "VPE Software Version",
861 "entry_schema": null,
862 "inputProperties": null,
869 "description": "Units of bandwidth",
870 "entry_schema": null,
871 "inputProperties": null,
878 "description": "Requested VPE bandwidth",
879 "entry_schema": null,
880 "inputProperties": null,
887 "description": "AIC Site CLLI",
888 "entry_schema": null,
889 "inputProperties": null,
892 "default": "ATLMY8GA"
896 "description": "AV/PE",
897 "entry_schema": null,
898 "inputProperties": null,
903 "vnf_instance_name": {
905 "description": "The hostname assigned to the vpe.",
906 "entry_schema": null,
907 "inputProperties": null,
910 "default": "mtnj309me6"
914 "vnf_config_template_version": {
915 "displayName": "vnf_config_template_version",
916 "command": "get_input",
917 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
920 "displayName": "bandwidth_units",
921 "command": "get_input",
922 "inputName": "pasqualevpe0_bandwidth_units"
925 "displayName": "bandwidth",
926 "command": "get_input",
927 "inputName": "pasqualevpe0_bandwidth"
930 "displayName": "AIC_CLLI",
931 "command": "get_input",
932 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
935 "displayName": "ASN",
936 "command": "get_input",
937 "inputName": "2017488_pasqualevpe0_ASN"
939 "vnf_instance_name": {
940 "displayName": "vnf_instance_name",
941 "command": "get_input",
942 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
946 "vmxvre_retype": "RE-VMX",
947 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
948 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
949 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
950 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
951 "int_ctl_net_name": "VMX-INTXI",
952 "vmx_int_ctl_prefix": "10.0.0.10",
953 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
954 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
955 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
957 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
958 "is_AVPN_service": "false",
959 "vmx_RSG_name": "vREXI-affinity",
960 "vmx_int_ctl_forwarding": "l2",
961 "vmxvre_oam_ip_0": "10.0.0.10",
962 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
963 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
964 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
965 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
966 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
967 "vmxvre_instance": "0",
968 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
969 "vmxvre_flavor_name": "ns.c1r16d32.v5",
970 "vmxvpfe_volume_size_0": "40.0",
971 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
972 "nf_naming": "{ecomp_generated_naming=false}",
973 "nf_naming_code": "Navneet",
974 "vmxvre_name_0": "vREXI",
975 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
976 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
977 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
978 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
979 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
980 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
981 "vmxvre_console": "vidconsole",
982 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
983 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
984 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
985 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
986 "min_instances": "1",
987 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
988 "vf_module_id": "123",
989 "nf_function": "JAI",
990 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
991 "vmxvre_int_ctl_ip_0": "10.0.0.10",
992 "ecomp_generated_naming": "false",
993 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
994 "vnf_name": "mtnj309me6vre",
995 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
996 "vmxvre_volume_type_1": "HITACHI",
997 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
998 "vmxvre_volume_type_0": "HITACHI",
999 "vmxvpfe_volume_type_0": "HITACHI",
1000 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
1001 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
1003 "vmxvre_oam_prefix": "24",
1004 "availability_zone_0": "mtpocfo-kvm-az01",
1005 "ASN": "get_input:2017488_pasqualevpe0_ASN",
1006 "vmxvre_chassis_i2cid": "161",
1007 "vmxvpfe_name_0": "vPFEXI",
1008 "bandwidth": "get_input:pasqualevpe0_bandwidth",
1009 "availability_zone_max_count": "1",
1010 "vmxvre_volume_size_0": "45.0",
1011 "vmxvre_volume_size_1": "50.0",
1012 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
1013 "vmxvre_oam_gateway": "10.0.0.10",
1014 "vmxvre_volume_name_1": "vREXI_FAVolume",
1015 "vmxvre_ore_present": "0",
1016 "vmxvre_volume_name_0": "vREXI_FBVolume",
1018 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
1019 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
1020 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
1021 "vmx_int_ctl_len": "24",
1022 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
1023 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
1024 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
1025 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
1026 "nf_role": "Testing",
1027 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
1028 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
1029 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
1032 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
1035 "vfcInstanceGroups": {}
1037 "2017-488_PASQUALE-vPE 0": {
1038 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1039 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1040 "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",
1041 "name": "2017-488_PASQUALE-vPE",
1043 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
1045 "vnf_config_template_version": {
1047 "description": "VPE Software Version",
1048 "entry_schema": null,
1049 "inputProperties": null,
1054 "bandwidth_units": {
1056 "description": "Units of bandwidth",
1057 "entry_schema": null,
1058 "inputProperties": null,
1065 "description": "Requested VPE bandwidth",
1066 "entry_schema": null,
1067 "inputProperties": null,
1074 "description": "AIC Site CLLI",
1075 "entry_schema": null,
1076 "inputProperties": null,
1079 "default": "ATLMY8GA"
1083 "description": "AV/PE",
1084 "entry_schema": null,
1085 "inputProperties": null,
1090 "vnf_instance_name": {
1092 "description": "The hostname assigned to the vpe.",
1093 "entry_schema": null,
1094 "inputProperties": null,
1097 "default": "mtnj309me6"
1101 "vnf_config_template_version": {
1102 "displayName": "vnf_config_template_version",
1103 "command": "get_input",
1104 "inputName": "2017488_pasqualevpe0_vnf_config_template_version"
1106 "bandwidth_units": {
1107 "displayName": "bandwidth_units",
1108 "command": "get_input",
1109 "inputName": "pasqualevpe0_bandwidth_units"
1112 "displayName": "bandwidth",
1113 "command": "get_input",
1114 "inputName": "pasqualevpe0_bandwidth"
1117 "displayName": "AIC_CLLI",
1118 "command": "get_input",
1119 "inputName": "2017488_pasqualevpe0_AIC_CLLI"
1122 "displayName": "ASN",
1123 "command": "get_input",
1124 "inputName": "2017488_pasqualevpe0_ASN"
1126 "vnf_instance_name": {
1127 "displayName": "vnf_instance_name",
1128 "command": "get_input",
1129 "inputName": "2017488_pasqualevpe0_vnf_instance_name"
1133 "vmxvre_retype": "RE-VMX",
1134 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
1135 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
1136 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
1137 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
1138 "int_ctl_net_name": "VMX-INTXI",
1139 "vmx_int_ctl_prefix": "10.0.0.10",
1140 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
1141 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
1142 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
1144 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
1145 "is_AVPN_service": "false",
1146 "vmx_RSG_name": "vREXI-affinity",
1147 "vmx_int_ctl_forwarding": "l2",
1148 "vmxvre_oam_ip_0": "10.0.0.10",
1149 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
1150 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
1151 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
1152 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
1153 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
1154 "vmxvre_instance": "0",
1155 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
1156 "vmxvre_flavor_name": "ns.c1r16d32.v5",
1157 "vmxvpfe_volume_size_0": "40.0",
1158 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
1159 "nf_naming": "{ecomp_generated_naming=false}",
1160 "nf_naming_code": "Navneet",
1161 "vmxvre_name_0": "vREXI",
1162 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
1163 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
1164 "max_instances": "3",
1165 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
1166 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
1167 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
1168 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
1169 "vmxvre_console": "vidconsole",
1170 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
1171 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
1172 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
1173 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
1174 "min_instances": "1",
1175 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
1176 "vf_module_id": "123",
1177 "nf_function": "JAI",
1178 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
1179 "vmxvre_int_ctl_ip_0": "10.0.0.10",
1180 "ecomp_generated_naming": "false",
1181 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
1182 "vnf_name": "mtnj309me6vre",
1183 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
1184 "vmxvre_volume_type_1": "HITACHI",
1185 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
1186 "vmxvre_volume_type_0": "HITACHI",
1187 "vmxvpfe_volume_type_0": "HITACHI",
1188 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
1189 "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units",
1191 "vmxvre_oam_prefix": "24",
1192 "availability_zone_0": "mtpocfo-kvm-az01",
1193 "ASN": "get_input:2017488_pasqualevpe0_ASN",
1194 "vmxvre_chassis_i2cid": "161",
1195 "vmxvpfe_name_0": "vPFEXI",
1196 "bandwidth": "get_input:pasqualevpe0_bandwidth",
1197 "availability_zone_max_count": "1",
1198 "vmxvre_volume_size_0": "45.0",
1199 "vmxvre_volume_size_1": "50.0",
1200 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
1201 "vmxvre_oam_gateway": "10.0.0.10",
1202 "vmxvre_volume_name_1": "vREXI_FAVolume",
1203 "vmxvre_ore_present": "0",
1204 "vmxvre_volume_name_0": "vREXI_FBVolume",
1206 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
1207 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
1208 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
1209 "vmx_int_ctl_len": "24",
1210 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
1211 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
1212 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
1213 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
1214 "nf_role": "Testing",
1215 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
1216 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
1217 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
1220 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
1222 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1":{
1223 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1224 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1225 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1226 "description": null,
1227 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1229 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1231 "minCountInstances": 2,
1232 "maxCountInstances": 3,
1234 "vfModuleLabel": "PASQUALE_vRE_BV",
1238 "vnf_config_template_version": {
1242 "volumeGroupAllowed": true
1244 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1245 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1246 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1247 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1248 "description": null,
1249 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1251 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1253 "minCountInstances": 1,
1254 "maxCountInstances": 1,
1256 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1260 "volumeGroupAllowed": false
1262 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1263 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1264 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1265 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1266 "description": null,
1267 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1269 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1271 "minCountInstances": 0,
1272 "maxCountInstances": null,
1274 "vfModuleLabel": "PASQUALE_vPFE_BV",
1278 "volumeGroupAllowed": true
1282 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1283 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1284 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1285 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1286 "description": null,
1287 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1289 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1291 "minCountInstances": 0,
1292 "maxCountInstances": null,
1294 "vfModuleLabel": "PASQUALE_vRE_BV",
1298 "vnf_config_template_version": {
1300 "description": "VPE Software Version",
1301 "entry_schema": null,
1302 "inputProperties": {
1303 "sourceType": "HEAT",
1304 "vfModuleLabel": "PASQUALE_vRE_BV",
1305 "paramName": "vnf_config_template_version"
1307 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1308 "constraints": null,
1312 "bandwidth_units": {
1314 "description": "Units of bandwidth",
1315 "entry_schema": null,
1316 "inputProperties": {
1317 "sourceType": "HEAT",
1318 "vfModuleLabel": "PASQUALE_vRE_BV",
1319 "paramName": "bandwidth_units"
1321 "fromInputName": "pasqualevpe0_bandwidth_units",
1322 "constraints": null,
1328 "description": "Requested VPE bandwidth",
1329 "entry_schema": null,
1330 "inputProperties": {
1331 "sourceType": "HEAT",
1332 "vfModuleLabel": "PASQUALE_vRE_BV",
1333 "paramName": "bandwidth"
1335 "fromInputName": "pasqualevpe0_bandwidth",
1336 "constraints": null,
1342 "description": "AIC Site CLLI",
1343 "entry_schema": null,
1344 "inputProperties": {
1345 "sourceType": "HEAT",
1346 "vfModuleLabel": "PASQUALE_vRE_BV",
1347 "paramName": "AIC_CLLI"
1349 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1350 "constraints": null,
1352 "default": "ATLMY8GA"
1354 "vnf_instance_name": {
1356 "description": "The hostname assigned to the vpe.",
1357 "entry_schema": null,
1358 "inputProperties": {
1359 "sourceType": "HEAT",
1360 "vfModuleLabel": "PASQUALE_vRE_BV",
1361 "paramName": "vnf_instance_name"
1363 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1364 "constraints": null,
1366 "default": "mtnj309me6"
1370 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1371 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1372 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1373 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1374 "description": null,
1375 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1377 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1379 "minCountInstances": 0,
1380 "maxCountInstances": null,
1382 "vfModuleLabel": "PASQUALE_vPFE_BV",
1388 "vfcInstanceGroups": {}
1392 "collectionResources": {},
1393 "configurations": {},
1394 "fabricConfigurations": {},
1395 "serviceProxies": {},
1397 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1398 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1399 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1400 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1401 "description": null,
1402 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1404 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1406 "minCountInstances": 2,
1407 "maxCountInstances": 3,
1409 "vfModuleLabel": "PASQUALE_vRE_BV",
1413 "vnf_config_template_version": {
1417 "volumeGroupAllowed": true
1419 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1420 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1421 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1422 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1423 "description": null,
1424 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1426 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1428 "minCountInstances": 1,
1429 "maxCountInstances": 1,
1431 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1435 "volumeGroupAllowed": false
1437 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1438 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1439 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1440 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1441 "description": null,
1442 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1444 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1446 "minCountInstances": 0,
1447 "maxCountInstances": null,
1449 "vfModuleLabel": "PASQUALE_vPFE_BV",
1453 "volumeGroupAllowed": true
1457 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1458 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1459 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1460 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1461 "description": null,
1462 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1464 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1466 "minCountInstances": 0,
1467 "maxCountInstances": null,
1469 "vfModuleLabel": "PASQUALE_vRE_BV",
1473 "vnf_config_template_version": {
1475 "description": "VPE Software Version",
1476 "entry_schema": null,
1477 "inputProperties": {
1478 "sourceType": "HEAT",
1479 "vfModuleLabel": "PASQUALE_vRE_BV",
1480 "paramName": "vnf_config_template_version"
1482 "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version",
1483 "constraints": null,
1487 "bandwidth_units": {
1489 "description": "Units of bandwidth",
1490 "entry_schema": null,
1491 "inputProperties": {
1492 "sourceType": "HEAT",
1493 "vfModuleLabel": "PASQUALE_vRE_BV",
1494 "paramName": "bandwidth_units"
1496 "fromInputName": "pasqualevpe0_bandwidth_units",
1497 "constraints": null,
1503 "description": "Requested VPE bandwidth",
1504 "entry_schema": null,
1505 "inputProperties": {
1506 "sourceType": "HEAT",
1507 "vfModuleLabel": "PASQUALE_vRE_BV",
1508 "paramName": "bandwidth"
1510 "fromInputName": "pasqualevpe0_bandwidth",
1511 "constraints": null,
1517 "description": "AIC Site CLLI",
1518 "entry_schema": null,
1519 "inputProperties": {
1520 "sourceType": "HEAT",
1521 "vfModuleLabel": "PASQUALE_vRE_BV",
1522 "paramName": "AIC_CLLI"
1524 "fromInputName": "2017488_pasqualevpe0_AIC_CLLI",
1525 "constraints": null,
1527 "default": "ATLMY8GA"
1529 "vnf_instance_name": {
1531 "description": "The hostname assigned to the vpe.",
1532 "entry_schema": null,
1533 "inputProperties": {
1534 "sourceType": "HEAT",
1535 "vfModuleLabel": "PASQUALE_vRE_BV",
1536 "paramName": "vnf_instance_name"
1538 "fromInputName": "2017488_pasqualevpe0_vnf_instance_name",
1539 "constraints": null,
1541 "default": "mtnj309me6"
1545 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1546 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1547 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1548 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1549 "description": null,
1550 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1552 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1554 "minCountInstances": 0,
1555 "maxCountInstances": null,
1557 "vfModuleLabel": "PASQUALE_vPFE_BV",